From 5d76f1ecafaf0854d454751056742c31deaedd00 Mon Sep 17 00:00:00 2001 From: CIP-RIU Date: Thu, 21 Jun 2018 18:26:00 +0000 Subject: [PATCH] hidap-agrofims v.0.0.17 21-06-2018 --- inst/hidap_agrofims/app.R | 48 +-- inst/hidap_agrofims/reports/.gitignore | 4 - inst/hidap_agrofims/reports/2fcrd.Rmd | 76 +++++ inst/hidap_agrofims/reports/2frcbd.Rmd | 77 +++++ inst/hidap_agrofims/reports/a01d.Rmd | 5 +- inst/hidap_agrofims/reports/abd.Rmd | 5 +- inst/hidap_agrofims/reports/aov.Rmd | 31 ++ inst/hidap_agrofims/reports/aovmet.Rmd | 71 ++++ inst/hidap_agrofims/reports/child_2f.Rmd | 59 ++++ inst/hidap_agrofims/reports/child_2f_fail.Rmd | 22 ++ inst/hidap_agrofims/reports/child_a01d.Rmd | 21 +- inst/hidap_agrofims/reports/child_abd.Rmd | 2 +- .../hidap_agrofims/reports/child_abd_fail.Rmd | 4 +- inst/hidap_agrofims/reports/child_crd.Rmd | 0 inst/hidap_agrofims/reports/child_lxt.Rmd | 42 +++ inst/hidap_agrofims/reports/child_met.Rmd | 131 +++---- .../hidap_agrofims/reports/child_met_fail.Rmd | 22 ++ inst/hidap_agrofims/reports/child_nc.Rmd | 26 ++ inst/hidap_agrofims/reports/child_rcbd.Rmd | 26 +- .../reports/child_rcbd2_old.Rmd | 74 ---- .../reports/child_rcbd_fail.Rmd | 20 ++ inst/hidap_agrofims/reports/crd.Rmd | 7 +- inst/hidap_agrofims/reports/df.Rmd | 27 ++ inst/hidap_agrofims/reports/elston.Rmd | 41 +++ inst/hidap_agrofims/reports/lxt.Rmd | 47 +++ inst/hidap_agrofims/reports/met.Rmd | 20 +- inst/hidap_agrofims/reports/na.Rmd | 18 + inst/hidap_agrofims/reports/nc.Rmd | 53 +++ inst/hidap_agrofims/reports/nt.Rmd | 60 ++++ inst/hidap_agrofims/reports/pesekbaker.Rmd | 74 ++++ inst/hidap_agrofims/reports/pvs1.Rmd | 219 ++++++++++++ inst/hidap_agrofims/reports/pvs23.Rmd | 319 ++++++++++++++++++ inst/hidap_agrofims/reports/pvs67.Rmd | 133 ++++++++ inst/hidap_agrofims/reports/pvs9.Rmd | 133 ++++++++ inst/hidap_agrofims/reports/pvssg.Rmd | 59 ++++ inst/hidap_agrofims/reports/rcbd.Rmd | 20 +- inst/hidap_agrofims/reports/report_anova.Rmd | 189 ----------- .../reports/report_location.Rmd | 34 -- .../20180621143935-MGcd2VArN5MOQoU-rcbd.docx | Bin 0 -> 12358 bytes .../20180621144100-r1KmzUfd4sE2gUw-rcbd.docx | Bin 0 -> 60680 bytes .../20180621180638-IpfvTHE4vgVOaA5-rcbd.docx | Bin 0 -> 60762 bytes .../20180621181850-jHhmkBzwpm7ZjZm-rcbd.docx | Bin 0 -> 10380 bytes .../www/internal_files/2fcrd.Rmd | 76 +++++ .../www/internal_files/2frcbd.Rmd | 77 +++++ .../www/internal_files/a01d.Rmd | 65 ++++ .../hidap_agrofims/www/internal_files/abd.Rmd | 71 ++++ .../hidap_agrofims/www/internal_files/aov.Rmd | 31 ++ .../www/internal_files/aovmet.Rmd | 71 ++++ .../www/internal_files/child_2f.Rmd | 59 ++++ .../www/internal_files/child_2f_fail.Rmd | 22 ++ .../www/internal_files/child_a01d.Rmd | 43 +++ .../www/internal_files/child_abd.Rmd | 62 ++++ .../www/internal_files/child_abd_fail.Rmd | 5 + .../www/internal_files/child_crd.Rmd | 69 ++++ .../www/internal_files/child_lxt.Rmd | 42 +++ .../www/internal_files/child_met.Rmd | 242 +++++++++++++ .../www/internal_files/child_met_fail.Rmd | 22 ++ .../www/internal_files/child_nc.Rmd | 26 ++ .../www/internal_files/child_rcbd.Rmd | 86 +++++ .../www/internal_files/child_rcbd_fail.Rmd | 20 ++ .../hidap_agrofims/www/internal_files/crd.Rmd | 61 ++++ inst/hidap_agrofims/www/internal_files/df.Rmd | 27 ++ .../www/internal_files/elston.Rmd | 41 +++ .../hidap_agrofims/www/internal_files/lxt.Rmd | 47 +++ .../hidap_agrofims/www/internal_files/met.Rmd | 75 ++++ inst/hidap_agrofims/www/internal_files/na.Rmd | 18 + inst/hidap_agrofims/www/internal_files/nc.Rmd | 53 +++ inst/hidap_agrofims/www/internal_files/nt.Rmd | 60 ++++ .../www/internal_files/pesekbaker.Rmd | 74 ++++ .../www/internal_files/pvs1.Rmd | 219 ++++++++++++ .../www/internal_files/pvs23.Rmd | 319 ++++++++++++++++++ .../www/internal_files/pvs67.Rmd | 133 ++++++++ .../www/internal_files/pvs9.Rmd | 133 ++++++++ .../www/internal_files/pvssg.Rmd | 59 ++++ .../www/internal_files/rcbd.Rmd | 71 ++++ .../www/internal_files/rcbd.docx | Bin 0 -> 10380 bytes inst/hidap_agrofims/www/loginModule/login.R | 17 + inst/hidap_sbase/app.R | 3 + inst/hidap_sbase/index.html | 119 +++++++ .../20180531215741-xZOcEq6MJTz2AS6-crd.Rmd | 61 ++++ .../20180531221025-ncBsFJsR2aLGyES-crd.docx | Bin 0 -> 41847 bytes .../20180531221218-mMUDxEuAVaSuwJ2-crd.docx | Bin 0 -> 38361 bytes .../20180604192231-PvuET3tjr4HrnyM-crd.docx | Bin 0 -> 50095 bytes inst/hidap_sbase/www/internal_files/crd.docx | Bin 0 -> 50095 bytes .../www/internal_files/fbappdatapath.rds | Bin 89 -> 90 bytes .../internal_files/hot_fieldbook_sbase.rds | Bin 1086 -> 1397 bytes inst/rmd/.gitignore | 4 - inst/rmd/report_aov.Rmd | 34 -- inst/rmd/report_descriptive.Rmd | 50 --- inst/rmd/report_location.Rmd | 36 -- 90 files changed, 4491 insertions(+), 531 deletions(-) delete mode 100755 inst/hidap_agrofims/reports/.gitignore create mode 100644 inst/hidap_agrofims/reports/2fcrd.Rmd create mode 100644 inst/hidap_agrofims/reports/2frcbd.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/a01d.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/abd.Rmd create mode 100644 inst/hidap_agrofims/reports/aov.Rmd create mode 100644 inst/hidap_agrofims/reports/aovmet.Rmd create mode 100644 inst/hidap_agrofims/reports/child_2f.Rmd create mode 100644 inst/hidap_agrofims/reports/child_2f_fail.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_a01d.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_abd.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_abd_fail.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_crd.Rmd create mode 100644 inst/hidap_agrofims/reports/child_lxt.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_met.Rmd create mode 100644 inst/hidap_agrofims/reports/child_met_fail.Rmd create mode 100644 inst/hidap_agrofims/reports/child_nc.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/child_rcbd.Rmd delete mode 100755 inst/hidap_agrofims/reports/child_rcbd2_old.Rmd create mode 100644 inst/hidap_agrofims/reports/child_rcbd_fail.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/crd.Rmd create mode 100644 inst/hidap_agrofims/reports/df.Rmd create mode 100644 inst/hidap_agrofims/reports/elston.Rmd create mode 100644 inst/hidap_agrofims/reports/lxt.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/met.Rmd create mode 100644 inst/hidap_agrofims/reports/na.Rmd create mode 100644 inst/hidap_agrofims/reports/nc.Rmd create mode 100644 inst/hidap_agrofims/reports/nt.Rmd create mode 100644 inst/hidap_agrofims/reports/pesekbaker.Rmd create mode 100644 inst/hidap_agrofims/reports/pvs1.Rmd create mode 100644 inst/hidap_agrofims/reports/pvs23.Rmd create mode 100644 inst/hidap_agrofims/reports/pvs67.Rmd create mode 100644 inst/hidap_agrofims/reports/pvs9.Rmd create mode 100644 inst/hidap_agrofims/reports/pvssg.Rmd mode change 100755 => 100644 inst/hidap_agrofims/reports/rcbd.Rmd delete mode 100755 inst/hidap_agrofims/reports/report_anova.Rmd delete mode 100755 inst/hidap_agrofims/reports/report_location.Rmd create mode 100755 inst/hidap_agrofims/www/internal_files/20180621143935-MGcd2VArN5MOQoU-rcbd.docx create mode 100755 inst/hidap_agrofims/www/internal_files/20180621144100-r1KmzUfd4sE2gUw-rcbd.docx create mode 100755 inst/hidap_agrofims/www/internal_files/20180621180638-IpfvTHE4vgVOaA5-rcbd.docx create mode 100755 inst/hidap_agrofims/www/internal_files/20180621181850-jHhmkBzwpm7ZjZm-rcbd.docx create mode 100644 inst/hidap_agrofims/www/internal_files/2fcrd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/2frcbd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/a01d.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/abd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/aov.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/aovmet.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_2f.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_2f_fail.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_a01d.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_abd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_abd_fail.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_crd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_lxt.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_met.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_met_fail.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_nc.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_rcbd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/child_rcbd_fail.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/crd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/df.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/elston.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/lxt.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/met.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/na.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/nc.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/nt.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pesekbaker.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pvs1.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pvs23.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pvs67.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pvs9.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/pvssg.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/rcbd.Rmd create mode 100644 inst/hidap_agrofims/www/internal_files/rcbd.docx create mode 100644 inst/hidap_sbase/index.html create mode 100755 inst/hidap_sbase/www/internal_files/20180531215741-xZOcEq6MJTz2AS6-crd.Rmd create mode 100755 inst/hidap_sbase/www/internal_files/20180531221025-ncBsFJsR2aLGyES-crd.docx create mode 100755 inst/hidap_sbase/www/internal_files/20180531221218-mMUDxEuAVaSuwJ2-crd.docx create mode 100755 inst/hidap_sbase/www/internal_files/20180604192231-PvuET3tjr4HrnyM-crd.docx create mode 100755 inst/hidap_sbase/www/internal_files/crd.docx delete mode 100755 inst/rmd/.gitignore delete mode 100755 inst/rmd/report_aov.Rmd delete mode 100755 inst/rmd/report_descriptive.Rmd delete mode 100755 inst/rmd/report_location.Rmd diff --git a/inst/hidap_agrofims/app.R b/inst/hidap_agrofims/app.R index 92b141a..ebe921a 100755 --- a/inst/hidap_agrofims/app.R +++ b/inst/hidap_agrofims/app.R @@ -134,12 +134,12 @@ ui <- dashboardPage( br(), - sidebarMenuOutput("menu") #menu is render in login.R when users logs in + sidebarMenuOutput("menu")#, #menu is render in login.R when users logs in # menuItem("Site information", tabName = "trialSite", icon = icon("map-marker")), # menuItem("Fieldbook", icon = icon("book"), # #menuSubItem("New fieldbook", tabName = "newFieldbook", icon = icon("file")), # menuSubItem("Create fieldbook", tabName = "newFieldbookAgrofims", icon = icon("file")), - # + # # menuSubItem("Open fieldbook", tabName = "openFieldbook", icon = icon("file-o")), # menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser"))#, # # menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o")) @@ -161,22 +161,22 @@ ui <- dashboardPage( # #menuSubItem("Distribution Data", tabName = "distributionDB", icon = icon("database")) # ), # - # menuItem("Fieldbook management", - # #menuSubItem("New fieldbook", tabName = "newFieldbook", icon = icon("file")), - # menuSubItem("Create fieldbook", tabName = "newFieldbookAgrofims", icon = icon("file")), - # - # menuSubItem("Open fieldbook", tabName = "openFieldbook", icon = icon("file-o")), - # menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser"))#, - # # menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o")) - # )#, - # - # # menuItem("Single Trial Analysis", - # # #menuSubItem("Single trial graph",tabName = "SingleChart", icon = icon("calculator")), - # # menuSubItem("Single report", tabName = "singleAnalysisReport", icon = icon("file-text-o")), - # # menuSubItem("Genetic report", tabName = "geneticAnalysisReport", icon = icon("file-text-o")) - # # - # # #menuSubItem("Data Transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o")) - # # ), + # menuItem("Fieldbook management", + # #menuSubItem("New fieldbook", tabName = "newFieldbook", icon = icon("file")), + # menuSubItem("Create fieldbook", tabName = "newFieldbookAgrofims", icon = icon("file")), + # + # menuSubItem("Open fieldbook", tabName = "openFieldbook", icon = icon("file-o")), + # menuSubItem("Check fieldbook", tabName = "checkFieldbook", icon = icon("eraser"))#, + # # menuSubItem("Data transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o")) + # ), + + # menuItem("Single Trial Analysis", + # #menuSubItem("Single trial graph",tabName = "SingleChart", icon = icon("calculator")), + # menuSubItem("Single report", tabName = "singleAnalysisReport", icon = icon("file-text-o"))#, + # #menuSubItem("Genetic report", tabName = "geneticAnalysisReport", icon = icon("file-text-o")) + # + # #menuSubItem("Data Transformation", tabName = "singleAnalysisTrans", icon = icon("file-text-o")) + # )#, # # # # menuItem("PVS Trial Analysis", # # menuSubItem("PVS report", tabName = "singlePVS", icon = icon("calculator"))#, @@ -214,7 +214,7 @@ ui <- dashboardPage( # # menuSubItem("Check updates", tabName = "updateHidap",icon = icon("refresh"))#, # ), # - # menuItem("About", tabName = "dashboard", icon = icon("dashboard"), selected = TRUE) + #menuItem("About", tabName = "dashboard", icon = icon("dashboard"), selected = TRUE) ) @@ -419,7 +419,7 @@ ui <- dashboardPage( br(), br(), - h2("HIDAP AgroFIMS v0.0.16"), + h2("HIDAP AgroFIMS v0.0.17"), p(class = "text-muted", style="text-align:justify", #paste("HiDAP is a Highly Interactive Data Analysis Platform originally meant to support clonal crop breeders at the International Potato Center. It is part of a continuous institutional effort to improve data collection, data quality, data analysis and open access publication. The recent iteration simultaneously also represents efforts to unify best practices from experiences in breeding data management of over 10 years, specifically with DataCollector and CloneSelector for potato and sweetpotato breeding, to address new demands for open access publishing and continue to improve integration with both corporate and community databases (such as biomart and sweetpotatobase) and platforms such as the Global Trial Data Management System (GTDMS) at CIP.
One of the main new characteristics of the current software development platform established over the last two years is the web-based interface which provides also a highly interactive environment. It could be used both online and offline and on desktop as well as tablets and laptops. Key features include support for data capture, creation of field books, upload field books from and to accudatalogger, data access from breeding databases (e.g., CIP BioMart, sweetpotatobase via breeding API), data quality checks, single and multi-environmental data analysis, selection indices, and report generations. For users of DataCollector or CloneSelector many of the features are known but have been improved upon. Novel features include list management of breeding families, connection with the institutional pedigree database, interactive and linked graphs as well as reproducible reports. With the first full release by end of November 2016 we will include all characteristics from both DataCollector and CloneSelector. HIDAP, with additional support from GT4SP, RTB, USAID, and SASHA, is aimed to support the broader research community working on all aspects with primary focus on breeding, genetics, biotechnology, physiology and agronomy.") shiny::includeHTML("www/about_hidap.txt") @@ -488,8 +488,8 @@ ui <- dashboardPage( # # Material List Module ---------------------------------------------------- # # fbmlist::generate_ui(name = "generateList"), - fbmlist::managerlist_ui_agrofims(name ="manageListAgrofims"), - fbmlist::generate_ui_agrofims(name = "generateListAgrofims") + #fbmlist::managerlist_ui_agrofims(name ="manageListAgrofims"), + #fbmlist::generate_ui_agrofims(name = "generateListAgrofims") # fbmlist::managerlist_ui(name = "manageList"), # fbmlist::createlist_ui(name = "createList"), @@ -498,7 +498,7 @@ ui <- dashboardPage( # #brapps::fbasingle_ui("SingleChart"), # - # fbanalysis::single_ui(name="singleAnalysisReport"), + fbanalysis::single_hdagrofims_ui(name="singleAnalysisReportAgrofims")#, # fbanalysis::genetic_ui(name="geneticAnalysisReport"), # # @@ -610,7 +610,7 @@ sv <- function(input, output, session) ({ fbdesign::server_design_agrofims(input, output, session, values) # fbdesign::server_design_big(input, output, session, values) # fbopenbooks::fbopenbooks_server(input, output, session, values) - # fbanalysis::single_server(input, output, session, values) + fbanalysis::single_hdagrofims_server(input, output, session, values) # fbanalysis::dtr_server(input, output, session, values) # # fbanalysis::met_server(input, output, session, values) diff --git a/inst/hidap_agrofims/reports/.gitignore b/inst/hidap_agrofims/reports/.gitignore deleted file mode 100755 index c930958..0000000 --- a/inst/hidap_agrofims/reports/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -report_location.html -report_anova.docx -report_anova.html -report_anova.pdf diff --git a/inst/hidap_agrofims/reports/2fcrd.Rmd b/inst/hidap_agrofims/reports/2fcrd.Rmd new file mode 100644 index 0000000..e631877 --- /dev/null +++ b/inst/hidap_agrofims/reports/2fcrd.Rmd @@ -0,0 +1,76 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + traits: "no data" + A: "no data" + B: "no data" + rep: "no data" + design: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +A <- params$A +B <- params$B +rep <- params$rep +design <- params$design +data <- params$data +maxp <- params$maxp + +data[, A] <- as.character(data[, A]) +data[, B] <- as.character(data[, B]) +data[, rep] <- as.character(data[, rep]) +``` + +# 1. Model specification and data description + +The data frame has two factors with `r nlevels(as.factor(data[, A]))` and `r nlevels(as.factor(data[, B]))` levels. The experimental design is a completely randomized design with `r nlevels(as.factor(data[, rep]))` replications. The statistical model is +$$ +y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \epsilon_{ijk} +$$ +where + +* $y_{ijk}$ is the observed response with level $i$ of factor A, level $j$ of factor B, and replication $k$. +* $\mu$ is the mean response over all levels of factor A, factor B, and replications. +* $\alpha_i$ is the effect for level $i$ of factor A. +* $\beta_j$ is the effect for level $j$ of factor B. +* $(\alpha\beta)_{ij}$ is the interaction effect between level $i$ of factor A and level $j$ of factor B. +* $\epsilon_{ijk}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ijk} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) { + lc <- check.2f(traits[i], A, B, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_2f.Rmd')) + else + out <- c(out, knit_expand('child_2f_fail.Rmd')) +} +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/2frcbd.Rmd b/inst/hidap_agrofims/reports/2frcbd.Rmd new file mode 100644 index 0000000..1f02ae2 --- /dev/null +++ b/inst/hidap_agrofims/reports/2frcbd.Rmd @@ -0,0 +1,77 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + traits: "no data" + A: "no data" + B: "no data" + rep: "no data" + design: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +A <- params$A +B <- params$B +rep <- params$rep +design <- params$design +data <- params$data +maxp <- params$maxp + +data[, A] <- as.character(data[, A]) +data[, B] <- as.character(data[, B]) +data[, rep] <- as.character(data[, rep]) +``` + +# 1. Model specification and data description + +The data frame has two factors with `r nlevels(as.factor(data[, A]))` and `r nlevels(as.factor(data[, B]))` levels. The experimental design is a randomized complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is +$$ +y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \gamma_k + \epsilon_{ijk} +$$ +where + +* $y_{ijk}$ is the observed response with level $i$ of factor A, level $j$ of factor B, and block $k$. +* $\mu$ is the mean response over all levels of factor A, factor B, and blocks. +* $\alpha_i$ is the effect for level $i$ of factor A. +* $\beta_j$ is the effect for level $j$ of factor B. +* $(\alpha\beta)_{ij}$ is the interaction effect between level $i$ of factor A and level $j$ of factor B. +* $\gamma_k$ is the effect of block $k$. +* $\epsilon_{ijk}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ijk} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) { + lc <- check.2f(traits[i], A, B, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_2f.Rmd')) + else + out <- c(out, knit_expand('child_2f_fail.Rmd')) +} +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/a01d.Rmd b/inst/hidap_agrofims/reports/a01d.Rmd old mode 100755 new mode 100644 index cbfb32a..b17a30e --- a/inst/hidap_agrofims/reports/a01d.Rmd +++ b/inst/hidap_agrofims/reports/a01d.Rmd @@ -1,5 +1,6 @@ --- -title: "Automatic report for an alpha (0,1) design" +title: "`r params$title`" +subtitle: '`r params$subtitle`' author: '`r params$author`' date: '`r format(Sys.time(), "%B %d, %Y")`' output: @@ -22,6 +23,8 @@ params: block: "no data" k: "no data" data: "no data" + title: "no data" + subtitle: "no data" author: "no data" --- diff --git a/inst/hidap_agrofims/reports/abd.Rmd b/inst/hidap_agrofims/reports/abd.Rmd old mode 100755 new mode 100644 index edf9da1..b5690c1 --- a/inst/hidap_agrofims/reports/abd.Rmd +++ b/inst/hidap_agrofims/reports/abd.Rmd @@ -1,5 +1,6 @@ --- -title: "Automatic report for an Augmented Block Design (ABD)" +title: "`r params$title`" +subtitle: '`r params$subtitle`' author: '`r params$author`' date: '`r format(Sys.time(), "%B %d, %Y")`' output: @@ -20,6 +21,8 @@ params: geno: "no data" rep: "no data" data: "no data" + title: "no data" + subtitle: "no data" author: "no data" --- diff --git a/inst/hidap_agrofims/reports/aov.Rmd b/inst/hidap_agrofims/reports/aov.Rmd new file mode 100644 index 0000000..d1d2492 --- /dev/null +++ b/inst/hidap_agrofims/reports/aov.Rmd @@ -0,0 +1,31 @@ +--- +title: "Report for an aov or lm object" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +Congratulations! You have fitted a linear model. The ANOVA table for your model is +```{r, echo = FALSE} +anova(params$x) +noterms <- dim(anova(params$x))[1] - 1 +pvalues <- anova(params$x)[1:noterms, 5] +``` + +`r if(noterms == 1 & sum(pvalues < 0.05) > 0) {"Your model has 1 term and it is significant. That is really good! Have you checked your assumptions?"}` + +`r if(noterms > 1 & sum(pvalues < 0.05) > 0) {paste("Your model has", noterms, "terms and some of them are significant. That is really good! Have you checked your assumptions?")}` + +`r if(noterms == 1 & sum(pvalues < 0.05) == 0) {"Your model has 1 term but it is not significant. I am really sorry, but don't forget that p-values are a function of sample size, so maybe you can try with more replications or a larger sample size next time."}` + +`r if(noterms > 1 & sum(pvalues < 0.05) == 0) {paste("Your model has", noterms, "terms but none of them are significant. I am really sorry, but don't forget that p-values are a function of sample size, so maybe you can try with more replications or a larger sample size next time.")}` diff --git a/inst/hidap_agrofims/reports/aovmet.Rmd b/inst/hidap_agrofims/reports/aovmet.Rmd new file mode 100644 index 0000000..ef9ca92 --- /dev/null +++ b/inst/hidap_agrofims/reports/aovmet.Rmd @@ -0,0 +1,71 @@ +--- +title: "ANOVA for a MET with a RCBD" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + trait: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + maxp: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +trait <- params$trait +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +maxp <- params$maxp + +lc <- check.2f(trait, geno, env, rep, data) +at <- suppressWarnings(aov.met(trait, geno, env, rep, data, maxp)) +if (lc$c4 == 0) + data[, trait] <- mve.met(trait, geno, env, rep, data, maxp)[, 5] +model <- aov(data[, trait] ~ data[, geno] + data[, env] + + data[, rep] %in% data[, env] + data[, geno]:data[, env]) +``` + +`r if(lc$c1 == 1 & lc$c2 == 1) {"You have fitted a linear model for a multi environment trial (MET) with a RCBD in each environment. The ANOVA table for your model is:"}` + +```{r, echo = FALSE} +at +``` + +`r if(lc$c4 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.")` + +The p-values for your model are: + +- `r format(at[1, 5], digits = 4)` for genotypes `r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` +- `r format(at[2, 5], digits = 4)` for environments `r if(at[2, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` +- `r format(at[4, 5], digits = 4)` for the genotypes by environments interaction `r if(at[4, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` + +`r if(at[4, 5] < 0.05) {"Because interaction is significant you should want to run a stability analysis. Keep also in mind that a significant interaction means that the differences in response of the genotypes are not the same in all the environments. Therefore, on an individual analysis you could find significant differences among genotypes for some environments and non-significant differences for some others, and the difference for any pair of genotypes could be in different directions and magnitudes depending on the environment."}` + +Below you can see a table of means for genotypes, environments, and interaction: + +```{r, echo = FALSE} +tapply(data[, trait], data[, geno], mean) +tapply(data[, trait], data[, env], mean) +tapply(data[, trait], list(data[, geno], data[, env]), mean) +``` + +Don't forget the assumptions of the model. It is supposed that the error has a normal distribution with the same variance for all the genotypes and evironments. The following plots must help you evaluate this: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +par(mfrow = c(1, 2)) +plot(model, which = 1) +plot(model, which = 2) +``` + +Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. diff --git a/inst/hidap_agrofims/reports/child_2f.Rmd b/inst/hidap_agrofims/reports/child_2f.Rmd new file mode 100644 index 0000000..4a7940f --- /dev/null +++ b/inst/hidap_agrofims/reports/child_2f.Rmd @@ -0,0 +1,59 @@ +`r i = {{i}}` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], A, B, rep, data) +if (lc$c4 == 0) + data$est <- mve.2f(traits[i], A, B, rep, design, data, maxp)[, 5] else + data$est <- data[, traits[i]] +``` + +# {{i+1}}. Analysis for trait `r traits[i]` + +`r if (lc$c4 == 1) {"There are no missing values for this trait; the design is balanced."}` + +`r if (lc$c4 == 0) paste("There are some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated for the descriptive statistics and ANOVA.", sep = "")` + +## {{i+1}}.1. Descriptive statistics + +### {{i+1}}.1.1. Means by factor A levels + +```{r, echo = FALSE} +tapply(data$est, data[, A], mean) +``` + +### {{i+1}}.1.2. Means by factor B levels + +```{r, echo = FALSE} +tapply(data$est, data[, B], mean) +``` + +### {{i+1}}.1.3. Means by factor A and factor B levels + +```{r, echo = FALSE} +tapply(data$est, list(data[, A], data[, B]), mean) +``` + +## {{i+1}}.2. ANOVA + +### {{i+1}}.2.1. Checking assumptions + +As it was stated in section 1, it is supposed that the error has a normal distribution with the same variance for all the combinations among the levels of both factors. The following plots help to evaluate this assumptions: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +if (design == "crd") + model <- aov(data[, traits[i]] ~ data[, A] * data[, B]) +if (design == "rcbd") + model <- aov(data[, traits[i]] ~ data[, A] * data[, B] + data[, rep]) +par(mfrow = c(1, 2)) +suppressWarnings(plot(model, which = 1)) +suppressWarnings(plot(model, which = 2)) +``` + +Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. + +### {{i+1}}.2.2. ANOVA table + +```{r, echo = FALSE} +at <- suppressWarnings(aov.2f(traits[i], A, B, rep, design, data, maxp)) +at +``` diff --git a/inst/hidap_agrofims/reports/child_2f_fail.Rmd b/inst/hidap_agrofims/reports/child_2f_fail.Rmd new file mode 100644 index 0000000..31e7871 --- /dev/null +++ b/inst/hidap_agrofims/reports/child_2f_fail.Rmd @@ -0,0 +1,22 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], A, B, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least on combination of the factors in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each combination of the levels of the factors in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one combination of the factors without data. The table below shows the frequencies of valid data for each combination of the levels of the factors. The analysis cannot be produced if there are combinations of the factors without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each combination of the levels of the factors. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1 & lc$c3 == 1) + lc$tfreq +if (lc$c2 == 1 & lc$c3 == 0) + lc$tfreqr +``` diff --git a/inst/hidap_agrofims/reports/child_a01d.Rmd b/inst/hidap_agrofims/reports/child_a01d.Rmd old mode 100755 new mode 100644 index f899e66..13fb0a4 --- a/inst/hidap_agrofims/reports/child_a01d.Rmd +++ b/inst/hidap_agrofims/reports/child_a01d.Rmd @@ -4,8 +4,19 @@ ```{r, echo = FALSE, results = 'hide'} y <- data[, traits[i]] -model <- agricolae::PBIB.test(factor(data[, block]), factor(data[, geno]), - factor(data[, rep]), y, k) +n_geno <- length(unique(data[, geno])) + +data[, block] <- factor(data[, block]) +data[, geno] <- factor(data[, geno]) +data[, rep] <- factor(data[, rep]) + + + +if(n_geno>=50){ + model <- pepa::PBIB.test.mod(data[, block], data[, geno], data[, rep], y, k, method = "VC") +} else { + model <- agricolae::PBIB.test(data[, block], data[, geno], data[, rep], y, k, method = "VC") +} ``` ## {{i+1}}.1. ANOVA @@ -24,5 +35,9 @@ model$means ## {{i+1}}.3. LSD test ```{r, echo = FALSE} -model$groups +if(n_geno>= 50){ + model$groups[,-3] +} else { + model$groups +} ``` diff --git a/inst/hidap_agrofims/reports/child_abd.Rmd b/inst/hidap_agrofims/reports/child_abd.Rmd old mode 100755 new mode 100644 index b9ddc81..3116cf8 --- a/inst/hidap_agrofims/reports/child_abd.Rmd +++ b/inst/hidap_agrofims/reports/child_abd.Rmd @@ -19,7 +19,7 @@ if (lc$nt.check.1 > 0){ } y <- temp[, traits[i]] -model <- agricolae::DAU.test(factor(temp[, rep]), factor(temp[, geno]), y) +model <- agricolae::DAU.test(temp[, rep], temp[, geno], y) ``` ## {{i+1}}.1. General setting diff --git a/inst/hidap_agrofims/reports/child_abd_fail.Rmd b/inst/hidap_agrofims/reports/child_abd_fail.Rmd old mode 100755 new mode 100644 index 580a9b0..6b60199 --- a/inst/hidap_agrofims/reports/child_abd_fail.Rmd +++ b/inst/hidap_agrofims/reports/child_abd_fail.Rmd @@ -2,6 +2,4 @@ # {{i+1}}. Analysis for trait `r traits[i]` -```{r, echo = FALSE} -warning("You need at least two checks with at least two valid replications to run ABD.") -``` +You need at least two checks with at least two valid replications to run ABD. diff --git a/inst/hidap_agrofims/reports/child_crd.Rmd b/inst/hidap_agrofims/reports/child_crd.Rmd old mode 100755 new mode 100644 diff --git a/inst/hidap_agrofims/reports/child_lxt.Rmd b/inst/hidap_agrofims/reports/child_lxt.Rmd new file mode 100644 index 0000000..dff3fe7 --- /dev/null +++ b/inst/hidap_agrofims/reports/child_lxt.Rmd @@ -0,0 +1,42 @@ +`r i = {{i}}` + +# {{i}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +model <- aov.lxt(traits[i], lines, testers, rep, data) +``` + +#### GCA effects for lines plot + +```{r, echo = FALSE} +barplot(model$GCA.le[, 1], col = "lightblue", las = 2, cex.names = 0.8, + ylab = "GCA effects") +``` + +#### Mid parent heterosis increment plot + +```{r, echo = FALSE} +# Means + +means <- docomp('mean', traits[i], c(lines, testers), data = data) +hhh <- means[!is.na(means[, lines]) & !is.na(means[, testers]), ] +line.means <- means[!is.na(means[, lines]) & is.na(means[, testers]), ] +test.means <- means[is.na(means[, lines]) & !is.na(means[, testers]), ] + +# Colnames + +colnames(line.means)[3] <- paste(lines, 'means', sep = "_") +colnames(test.means)[3] <- paste(testers, 'means', sep = "_") + +# Merge data frames + +hhh <- merge(hhh, line.means[, -2], by = lines) +hhh <- merge(hhh, test.means[, -1], by = testers) +hhh$het <- hhh[, 3] / (hhh[, 4] + hhh[, 5]) * 200 - 100 + +# Graph + +barplot(hhh$het, col = "lightblue", las = 2, cex.names = 0.8, + ylab = "Heterosis increment (%)", + names.arg = paste(hhh[, lines], hhh[, testers], sep = "-")) +``` diff --git a/inst/hidap_agrofims/reports/child_met.Rmd b/inst/hidap_agrofims/reports/child_met.Rmd old mode 100755 new mode 100644 index 4295add..3709251 --- a/inst/hidap_agrofims/reports/child_met.Rmd +++ b/inst/hidap_agrofims/reports/child_met.Rmd @@ -1,17 +1,17 @@ `r i = {{i}}` ```{r, echo = FALSE} -lc <- check.met(traits[i], geno, env, rep, data) -if (lc$c3 == 0) - data$est <- mvemet(traits[i], geno, env, rep, data, maxp)[, 5] else +lc <- check.2f(traits[i], geno, env, rep, data) +if (lc$c4 == 0) + data$est <- mve.met(traits[i], geno, env, rep, data, maxp)[, 5] else data$est <- data[, traits[i]] ``` # {{i+1}}. Analysis for trait `r traits[i]` -`r if(lc$c3 == 1) {"There are no missing values for this trait; the design es balanced."}` +`r if (lc$c4 == 1) {"There are no missing values for this trait; the design is balanced."}` -`r if(lc$c3 == 0) paste("There are some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated for the descriptive statistics, ANOVA, regression stability analysis and Tai sections.")` +`r if (lc$c4 == 0) paste("There are some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated for the descriptive statistics, ANOVA, regression stability analysis and Tai sections.", sep = "")` ## {{i+1}}.1. Descriptive statistics @@ -37,7 +37,7 @@ tapply(data$est, list(data[, geno], data[, env]), mean) ### {{i+1}}.2.1. Checking assumptions -As it was stated in section 1, it is supposed that the error has a normal distribution with the same variance for all the genotypes and evironments. The following plots help to evaluate this assumptions: +As it was stated in section 1, it is supposed that the error has a normal distribution with the same variance for all the genotypes and environments. The following plots help to evaluate this assumptions: ```{r, echo = FALSE, fig.height = 5, fig.width = 10} model <- aov(data[, traits[i]] ~ data[, geno] + data[, env] @@ -54,18 +54,29 @@ Funnel shapes for the first plot may suggest heterogeneity of variances while de For this analysis it is assumed that genotypes and environments have fixed effects and that the blocks are random. ```{r, echo = FALSE} -at <- suppressWarnings(aovmet(traits[i], geno, env, rep, data, maxp)) +at <- suppressWarnings(aov.met(traits[i], geno, env, rep, data, maxp)) at ``` -The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. -The p-values for the model are: +The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. The p-values for the model are: `r format(at[1, 5], digits = 4)` for genotypes `r if (at[1, 5] < 0.05) {" which is significant at the 5% level, "} else {" which is not significant at the 5% level, "}` `r format(at[2, 5], digits = 4)` for environments `r if (at[2, 5] < 0.05) {" which is significant at the 5% level,"} else {" which is not significant at the 5% level,"}` and `r format(at[4, 5], digits = 4)` for the genotypes by environments interaction `r if (at[4, 5] < 0.05) {" which is significant at the 5% level."} else {" which is not significant at the 5% level."}` -- `r format(at[1, 5], digits = 4)` for genotypes `r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` -- `r format(at[2, 5], digits = 4)` for environments `r if(at[2, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` -- `r format(at[4, 5], digits = 4)` for the genotypes by environments interaction `r if(at[4, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` +`r if(at[1, 5] < 0.05) {"In the next two sections the least significance difference method and the multiple comparisons method of Tukey are used to evaluate differences among genotypes, both at the 5% level. However take into account that differences among genotypes can be obscured by the interaction effects, and that in the case of strong interaction, differences among genotypes must depend on the specific environments."} else {"Because the effect of genotypes was not significant in the ANOVA, multiple comparison tests are not presented."}` -### {{i+1}}.2.3. Variance components estimation +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.3. LSD test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::LSD.test(data[, traits[i]], data[, geno], at[5, 1], at[5, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.4. Tukey test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::HSD.test(data[, traits[i]], data[, geno], at[5, 1], at[5, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.5. Variance components estimation", sep = "")} else {paste("### ", {{i+1}}, ".2.3. Variance components estimation", sep = "")}` Under the assumption that all the factors (genotypes, environments, and blocks) have random effects, below it is shown the variance components estimation. Here the model is estimated by REML (Restricted Maximum Likelihood) and the original data without the estimation of missing values is used. @@ -87,7 +98,7 @@ vc[vc[, 1] == "fr:fe", 1] <- paste(rep, "(", env, ")", sep = "") rownames(vc) <- vc[, 1] vc <- vc[, c(4, 5)] colnames(vc) <- c("Variance", "Std.Dev.") -h2 <- vg / (vg + vgxe / lc$ne + vr / lc$ne / lc$nr) * 100 +h2 <- vg / (vg + vgxe / lc$nb + vr / lc$nb / lc$nr) * 100 vc ``` @@ -95,105 +106,109 @@ With these variance estimates, the broad sense heritability results `r paste(for ## {{i+1}}.3. Stability analysis -`r if(at[4, 5] > 0.05) {"Because interaction is non significant a stability analysis is not presented."}` -`r if(at[4, 5] < 0.05) {"Because interaction is significant a stability analysis is presented."}` +`r if (at[4, 5] > 0.05 | lc$nb <= 2) {"This analysis is not shown because:"}` + +`r if (at[4, 5] > 0.05) {"- Interaction is non significant."}` +`r if (lc$nb <= 2) {"- There are only 2 environments. At least 3 are needed."}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"Because interaction is significant a stability analysis is presented."}` -`r if(at[4, 5] < 0.05) {paste("### ", {{i+1}}, ".3.1. AMMI", sep = "")}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.1. AMMI", sep = "")}` -`r if(at[4, 5] < 0.05) {"#### AMMI biplots"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### AMMI biplots"}` -```{r, echo = FALSE, fig.align = 'center', fig.width = 7, fig.height = 7} -if(at[4, 5] < 0.05) { +```{r, echo = FALSE, fig.align = 'center', fig.width = 8, fig.height = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { ammimodel <- suppressWarnings(ammi(traits[i], geno, env, rep, data)) plot(ammimodel, biplot = 1) } ``` -```{r, echo = FALSE, fig.align = 'center', fig.height = 7, fig.width = 7} -if(at[4, 5] < 0.05) { +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { plot(ammimodel, biplot = 2) } ``` -`r if(at[4, 5] < 0.05) {"#### Interaction effects"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Interaction effects"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ammimodel$Interaction_effects +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$Interaction_effects ``` -`r if(at[4, 5] < 0.05) {"#### PC-values for genotypes"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for genotypes"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ammimodel$PC_values_genotypes +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$PC_values_genotypes ``` -`r if(at[4, 5] < 0.05) {"#### PC-values for environments"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for environments"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ammimodel$PC_values_environments +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$PC_values_environments ``` -`r if(at[4, 5] < 0.05) {"#### PC contributions"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC contributions"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ammimodel$Contribution_PCs +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$Contribution_PCs ``` -`r if(at[4, 5] < 0.05) {paste("### ", {{i+1}}, ".3.2. GGE", sep = "")}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.2. GGE", sep = "")}` -`r if(at[4, 5] < 0.05) {"#### GGE biplots"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### GGE biplots"}` -```{r, echo = FALSE, fig.align = 'center', fig.height = 7, fig.width = 7} -if(at[4, 5] < 0.05) { - ggemodel <- suppressWarnings(ammi(traits[i], geno, env, rep, data, method = "GGE")) +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + ggemodel <- suppressWarnings(ammi(traits[i], geno, env, rep, data, method = "gge")) plot(ggemodel, biplot = 1) } ``` -```{r, echo = FALSE, fig.align = 'center', fig.height = 7, fig.width = 7} -if(at[4, 5] < 0.05) { +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { plot(ggemodel, biplot = 2) } ``` -`r if(at[4, 5] < 0.05) {"#### PC-values for genotypes"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for genotypes"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ggemodel$PC_values_genotypes +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$PC_values_genotypes ``` -`r if(at[4, 5] < 0.05) {"#### PC-values for environments"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for environments"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ggemodel$PC_values_environments +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$PC_values_environments ``` -`r if(at[4, 5] < 0.05) {"#### PC contributions"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC contributions"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) ggemodel$Contribution_PCs +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$Contribution_PCs ``` -`r if(at[4, 5] < 0.05) {paste("### ", {{i+1}}, ".3.3. Regression Stability Analysis", sep = "")}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.3. Regression Stability Analysis", sep = "")}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) { +if (at[4, 5] < 0.05 & lc$nb > 2) { rsamodel <- suppressWarnings(rsa(traits[i], geno, env, rep, data)) } ``` -`r if(at[4, 5] < 0.05) {"#### ANOVA"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### ANOVA"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) rsamodel$ANOVA +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$ANOVA ``` -`r if(at[4, 5] < 0.05) {"#### Stability measures for genotypes"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Stability measures for genotypes"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) rsamodel$Stability_for_genotypes +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$Stability_for_genotypes ``` -`r if(at[4, 5] < 0.05) {"Here: \n +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"Here: \n - a is the linear regression intercept, \n - b is the linear regression slope, \n - se is the slope standard error, \n @@ -202,26 +217,26 @@ if(at[4, 5] < 0.05) rsamodel$Stability_for_genotypes - MSinter is the variance of the interaction effects. \n The same is shown in the next section for each environment."}` -`r if(at[4, 5] < 0.05) {"#### Stability measures for environments"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Stability measures for environments"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) rsamodel$Stability_for_environments +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$Stability_for_environments ``` -`r if(at[4, 5] < 0.05) {paste("### ", {{i+1}}, ".3.4. Tai stability analysis", sep = "")}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.4. Tai stability analysis", sep = "")}` -`r if(at[4, 5] < 0.05) {"#### Tai plot"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Tai plot"}` -```{r, echo = FALSE, fig.align = 'center', fig.height = 7, fig.width = 7} -if(at[4, 5] < 0.05) { +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { taimodel <- suppressWarnings(tai(traits[i], geno, env, rep, data)) plot(taimodel) } ``` -`r if(at[4, 5] < 0.05) {"#### Tai alpha and lambda values"}` +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Tai alpha and lambda values"}` ```{r, echo = FALSE} -if(at[4, 5] < 0.05) +if (at[4, 5] < 0.05 & lc$nb > 2) taimodel$Tai_values ``` diff --git a/inst/hidap_agrofims/reports/child_met_fail.Rmd b/inst/hidap_agrofims/reports/child_met_fail.Rmd new file mode 100644 index 0000000..9cc64b2 --- /dev/null +++ b/inst/hidap_agrofims/reports/child_met_fail.Rmd @@ -0,0 +1,22 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], geno, env, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least one combination of the genotypes and environments in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each genotype and environment in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one genotype without data in at least one environment. The table below shows the frequencies of valid data for each genotype in each environment. A MET analysis cannot be produced if there are combination of genotypes and environments without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each genotype in each environment. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1 & lc$c3 == 1) + lc$tfreq +if (lc$c2 == 1 & lc$c3 == 0) + lc$tfreqr +``` diff --git a/inst/hidap_agrofims/reports/child_nc.Rmd b/inst/hidap_agrofims/reports/child_nc.Rmd new file mode 100644 index 0000000..f9a3262 --- /dev/null +++ b/inst/hidap_agrofims/reports/child_nc.Rmd @@ -0,0 +1,26 @@ +`r i = {{i}}` + +# {{i}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +if (model == 1) { + ddd <- data.frame ( + set = data[, set], + male = data[, male], + female = data[, female], + progeny = data[, progeny], + rep = data[, rep], + yield = data[, traits[i]]) +} + +if (model == 2 | model == 3) { + ddd <- data.frame ( + set = data[, set], + male = data[, male], + female = data[, female], + rep = data[, rep], + yield = data[, traits[i]]) +} + +agricolae::carolina(model, ddd) +``` diff --git a/inst/hidap_agrofims/reports/child_rcbd.Rmd b/inst/hidap_agrofims/reports/child_rcbd.Rmd old mode 100755 new mode 100644 index 63a13cb..34fa04a --- a/inst/hidap_agrofims/reports/child_rcbd.Rmd +++ b/inst/hidap_agrofims/reports/child_rcbd.Rmd @@ -4,19 +4,19 @@ ```{r, echo = FALSE} lc <- check.rcbd(traits[i], geno, rep, data) -at <- suppressWarnings(rcbd(traits[i], geno, rep, data, maxp)) +at <- suppressWarnings(aov.rcbd(traits[i], geno, rep, data, maxp)) model <- aov(data[, traits[i]] ~ data[, geno] + data[, rep]) ``` ## {{i+1}}.1. ANOVA -`r if(lc$c1 == 1 & lc$c2 == 1) {"You have fitted a linear model for a RCBD. The ANOVA table for your model is:"}` +You have fitted a linear model for a RCBD. The ANOVA table for your model is: ```{r, echo = FALSE} at ``` -`r if(lc$c3 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.")` +`r if(lc$c4 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.", sep = "")` The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. The p-value for genotypes is `r format(at[1, 5], digits = 4)` @@ -28,6 +28,7 @@ Don't forget the assumptions of the model. It is supposed that the errors are in ```{r, echo = FALSE, fig.height = 5, fig.width = 10} par(mfrow = c(1, 2)) + plot(model, which = 1) plot(model, which = 2) ``` @@ -36,14 +37,29 @@ Any trend in the residuals in the left plot would violate the assumption of inde ## {{i+1}}.3. Genotype means -`r if(at[1, 5] < 0.05) {"Below are the sorted means for each genotype with letters indicating if there are significant differences using the multiple comparisons method of Tukey at the 5% level."} else {"The means of your genotypes are:"}` +`r if(at[1, 5] < 0.05) {"Below are the sorted means for each genotype with letters indicating if there are significant differences using the least significance difference method and the multiple comparisons method of Tukey, both at the 5% level."} else {"Because the effect of genotypes was not significant in the ANOVA, multiple comparison tests are not presented. The means of your genotypes are:"}` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.1. LSD test", sep = "")}` ```{r, echo = FALSE} if (at[1, 5] < 0.05) - agricolae::HSD.test(data[, traits[i]], data[, geno], at[3, 1], at[3, 3])$groups else + agricolae::LSD.test(data[, traits[i]], data[, geno], at[3, 1], at[3, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.2. Tukey test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::HSD.test(data[, traits[i]], data[, geno], at[3, 1], at[3, 3])$groups +``` + +```{r, echo = FALSE} +if (at[1, 5] > 0.05) tapply(data[, traits[i]], data[, geno], mean) ``` +`r if (lc$nt < 10 & at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.3. Plot of means", sep = "")}` + `r if(lc$nt < 10) {"It is always good to have some visualization of the data. Because the number of genotypes in your experiment is not so big, we can plot the data for each genotype:"}` ```{r, echo = FALSE} diff --git a/inst/hidap_agrofims/reports/child_rcbd2_old.Rmd b/inst/hidap_agrofims/reports/child_rcbd2_old.Rmd deleted file mode 100755 index 8290490..0000000 --- a/inst/hidap_agrofims/reports/child_rcbd2_old.Rmd +++ /dev/null @@ -1,74 +0,0 @@ -```{r, echo = FALSE} -i = {{k}} -``` - -### Analysis of **`r trts[i]`** - -```{r , echo = FALSE, message=FALSE, warning=FALSE, error=FALSE} - at <- suppressWarnings(st4gi::rcbd(trts[i], treat, rep, tbl, maxp)) - - model <- aov(tbl[, trts[i]] ~ tbl[, treat] + tbl[, rep]) - -``` - -`r if(lc$c1 == 1 & lc$c2 == 1 ) {"You have fitted a linear model for a RCBD. The ANOVA table for your model is:"}` - -```{r, echo=FALSE, comment = NA, results = 'asis',message=FALSE, warning=FALSE, error=FALSE} -pander::pandoc.table(at, justify = "lrrrrr", digits = 6) -``` - -`r if(lc$c3 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.")` - -```{r , echo = FALSE} -if (at[1, 5] < 0.05 ) { - txt = paste("The p-value for treatments is", - format(at[1, 5], digits = 6, scientific = FALSE), - "which is significant at the 5% level.") -} else { - txt = "" -} - -``` - -`r txt` - -The means of your treatments are: -```{r, echo=FALSE, comment = NA, results = 'asis'} - -x <- tapply(tbl[, trts[i]], tbl[, treat], mean) -x <- as.data.frame(x) -x <- cbind(row.names(x), x) -names(x) <- c(treat, trts[i]) -row.names(x) = 1:nrow(x) -x[, 2] <- format(x[, 2], digits = 3) -x[, 2] <- as.numeric(x[, 2]) -pander::pandoc.table(x, digits = 3, justify = "lr") - -``` - -```{r, echo = FALSE, fig.height = 8, fig.width = 10} - - #z=x[order(x[traits[i]]), ] - z=x[order(x[2]), ] - dotchart(z[,2], labels = z[,1]) - -``` - -`r if(lc$nt < 10 ) {"It is always good to have some visualization of the data. Because the number of treatments in your experiment is not so big, we can plot the data for each treatment:"}` - -```{r, echo = FALSE} -if (lc$nt < 10 ) msdplot(trts[i], treat, tbl, conf = 1) -``` - - -Do not forget the assumptions of the model. It is supposed that the error has a normal distribution with the same variance for all the treatments. The following plots must help you evaluate this: - -```{r, echo = FALSE, fig.height = 5, fig.width = 10} - - par(mfrow = c(1, 2)) - plot(model, which = 1) - plot(model, which = 2) - -``` - -Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. diff --git a/inst/hidap_agrofims/reports/child_rcbd_fail.Rmd b/inst/hidap_agrofims/reports/child_rcbd_fail.Rmd new file mode 100644 index 0000000..dd3ab3f --- /dev/null +++ b/inst/hidap_agrofims/reports/child_rcbd_fail.Rmd @@ -0,0 +1,20 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.rcbd(traits[i], geno, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least one genotype in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each genotype in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one genotype without data. The table below shows the frequencies of valid data for each genotype in each replication. The analysis cannot be produced if there are genotypes without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each genotype in each replication. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1) + lc$tfreq +``` diff --git a/inst/hidap_agrofims/reports/crd.Rmd b/inst/hidap_agrofims/reports/crd.Rmd old mode 100755 new mode 100644 index 3ee0b4b..9e2d0ed --- a/inst/hidap_agrofims/reports/crd.Rmd +++ b/inst/hidap_agrofims/reports/crd.Rmd @@ -1,5 +1,6 @@ --- -title: "Automatic report for a Completely Randomized Design (CRD)" +title: "`r params$title`" +subtitle: '`r params$subtitle`' author: '`r params$author`' date: '`r format(Sys.time(), "%B %d, %Y")`' output: @@ -20,6 +21,8 @@ params: geno: "no data" data: "no data" maxp: "no data" + title: "no data" + subtitle: "no data" author: "no data" --- @@ -30,6 +33,8 @@ traits <- params$traits geno <- params$geno data <- params$data maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) ``` # 1. Model specification and data description diff --git a/inst/hidap_agrofims/reports/df.Rmd b/inst/hidap_agrofims/reports/df.Rmd new file mode 100644 index 0000000..6a055ef --- /dev/null +++ b/inst/hidap_agrofims/reports/df.Rmd @@ -0,0 +1,27 @@ +--- +title: "Report for a data table" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +You have a nice data table with `r dim(params$x)[1]` rows and `r dim(params$x)[2]` columns. The first six rows are shown below: +```{r, echo = FALSE} +head(params$x) +``` +Remember that the table is the standard format for data analysis; it is the kind of data structure that any statistical package prefers. In a table you have: + +* one row for each observation (e.g. a plot, a pot or a plant) and +* one column for each variable (e.g. a trait like root yield or a factor like genotypes). + +Maybe you would like to read [this](https://github.com/reyzaguirre/MoreStats/tree/master/GoodDataPractices). diff --git a/inst/hidap_agrofims/reports/elston.Rmd b/inst/hidap_agrofims/reports/elston.Rmd new file mode 100644 index 0000000..f2193de --- /dev/null +++ b/inst/hidap_agrofims/reports/elston.Rmd @@ -0,0 +1,41 @@ +--- +title: "Elston index" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + traits: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + means: "no data" + lb: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +traits <- params$traits +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +means <- params$means +lb <- params$lb + +eindex <- elston(traits, geno, env, rep, data, means, lb) +``` + +### The Elston index + +The Elston index for each genotype is shown below. As you see, genotype `r (eindex[sort(eindex$E.Index, decreasing = T, index.return = T)$ix, ])[1,1]` is the one with the highest value. +```{r, echo = FALSE} +eindex[sort(eindex$E.Index, decreasing = T, index.return = T)$ix, ] +``` diff --git a/inst/hidap_agrofims/reports/lxt.Rmd b/inst/hidap_agrofims/reports/lxt.Rmd new file mode 100644 index 0000000..ad24aee --- /dev/null +++ b/inst/hidap_agrofims/reports/lxt.Rmd @@ -0,0 +1,47 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + lines: "no data" + testers: "no data" + rep: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +lines <- params$lines +testers <- params$testers +rep <- params$rep +data <- params$data +``` + +```{r, include = FALSE} +out <- NULL + +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_lxt.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/met.Rmd b/inst/hidap_agrofims/reports/met.Rmd old mode 100755 new mode 100644 index 8b301ef..286379a --- a/inst/hidap_agrofims/reports/met.Rmd +++ b/inst/hidap_agrofims/reports/met.Rmd @@ -1,5 +1,6 @@ --- -title: "Automatic report for a MET with a RCBD" +title: "`r params$title`" +subtitle: '`r params$subtitle`' author: '`r params$author`' date: '`r format(Sys.time(), "%B %d, %Y")`' output: @@ -22,6 +23,8 @@ params: rep: "no data" data: "no data" maxp: "no data" + title: "no data" + subtitle: "no data" author: "no data" --- @@ -34,11 +37,15 @@ env <- params$env rep <- params$rep data <- params$data maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) +data[, env] <- as.character(data[, env]) +data[, rep] <- as.character(data[, rep]) ``` # 1. Model specification and data description -There is data from `r nlevels(as.factor(data[, env]))` environments and `r nlevels(as.factor(data[, geno]))` genotypes. In each environment the genotypes were evaluated using a randomized complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is +The data frame has `r nlevels(as.factor(data[, env]))` environments and `r nlevels(as.factor(data[, geno]))` genotypes. In each environment the genotypes were evaluated using a randomized complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is $$ y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \gamma_{k(j)} + \epsilon_{ijk} $$ @@ -56,8 +63,13 @@ In this model we assume that the errors are independent and have a normal distri ```{r, include = FALSE} out <- NULL -for (i in 1:length(traits)) - out <- c(out, knit_expand('child_met.Rmd')) +for (i in 1:length(traits)) { + lc <- check.2f(traits[i], geno, env, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_met.Rmd')) + else + out <- c(out, knit_expand('child_met_fail.Rmd')) +} ``` `r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/na.Rmd b/inst/hidap_agrofims/reports/na.Rmd new file mode 100644 index 0000000..bb59225 --- /dev/null +++ b/inst/hidap_agrofims/reports/na.Rmd @@ -0,0 +1,18 @@ +--- +title: "Report for unknown object" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +I am sorry, this object is not in my list. diff --git a/inst/hidap_agrofims/reports/nc.Rmd b/inst/hidap_agrofims/reports/nc.Rmd new file mode 100644 index 0000000..cba2fea --- /dev/null +++ b/inst/hidap_agrofims/reports/nc.Rmd @@ -0,0 +1,53 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + set: "no data" + male: "no data" + female: "no data" + progeny: "no data" + rep: "no data" + model: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +set <- params$set +male <- params$male +female <- params$female +progeny <- params$progeny +rep <- params$rep +model <- params$model +data <- params$data +``` + +```{r, include = FALSE} +out <- NULL + +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_nc.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/nt.Rmd b/inst/hidap_agrofims/reports/nt.Rmd new file mode 100644 index 0000000..ab5c3a9 --- /dev/null +++ b/inst/hidap_agrofims/reports/nt.Rmd @@ -0,0 +1,60 @@ +--- +title: "Report for a numeric trait" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +# Some parameters +p1 <- length(params$x) +p2 <- max(table(params$x)) +p3 <- length(table(params$x)) +``` + +It looks like you have a numeric trait. You can see a descriptive summary below: +```{r, echo = FALSE} +output <- summary(params$x) +output +``` + +```{r, echo = FALSE} +sk <- 3*(mean(params$x) - median(params$x))/sd(params$x) +``` + +`r if(sk > 0.5) {"It looks like you have some positive skewness because your mean is quite larger than your median. Watch out with this if you want to fit a model that assumes normality." }` + +`r if(sk < -0.5) {"It looks like you have some negative skewness because your mean is quite smaller than your median. Watch out with this if you want to fit a model that assumes normality." }` + +`r if(p1 > 25 & (p1/p3 <= 2 | (p1/p3 > 2 & p3 > 20))) {"A boxplot could be a suitable plot for these data:"}` + +```{r, echo = FALSE} +if(p1 > 25 & (p1/p3 <= 2 | (p1/p3 > 2 & p3 > 20))) boxplot(params$x) +``` +`r if(p1 > 25 & p1/p3 > 2 & p3 <= 20) {"For this trait a frequency table could produce a good display of the data:"}` + +```{r, echo = FALSE} +if(p1 > 25 & p1/p3 > 2 & p3 <= 20) table(params$x) +``` + +`r if(p1 <= 25) {"A dotplot could be a suitable plot for these data:"}` + +```{r, echo = FALSE} +if(p1 <= 25) stripchart(params$x) +``` + +`r if(p1 > 25 & p1/p3 < 2 & p2/p1 > 0.05) {"Although your trait seems to be on a continuous scale, there are some values with a very high frequency. What out with this if you plan to fit a model that assumes normality. You can see these values and their frequency below:"}` + +```{r, echo = FALSE} +if(p1 > 25 & p1/p3 < 2 & p2/p1 > 0.05) table(params$x)[table(params$x)/p1 > 0.05] +``` diff --git a/inst/hidap_agrofims/reports/pesekbaker.Rmd b/inst/hidap_agrofims/reports/pesekbaker.Rmd new file mode 100644 index 0000000..a36a674 --- /dev/null +++ b/inst/hidap_agrofims/reports/pesekbaker.Rmd @@ -0,0 +1,74 @@ +--- +title: "Pesek Baker index" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + traits: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + means: "no data" + dgg: "no data" + units: "no data" + sf: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +traits <- params$traits +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +means <- params$means +dgg <- params$dgg +units <- params$units +sf <- params$sf + +pbindex <- pesekbaker(traits, geno, env, rep, data, means, dgg, units, sf) +``` + +### Desired genetic gains +You have computed the Pesek-Baker index for traits `r traits` with the following desired genetic gains in actual units: +```{r, echo = FALSE} +pbindex$Desired.Genetic.Gains +``` + +### Standard deviation +The estimated genotypic standard deviations for these traits are: +```{r, echo = FALSE} +pbindex$Standard.Deviations +``` + +### The Pesek-Baker index + +The index coefficients for the Pesek-Baker index are: +```{r, echo = FALSE} +pbindex$Index.Coefficients +``` + +With this, the Pesek-Baker index for each genotype is shown below. As you see, genotype `r (pbindex$Pesek.Baker.Index[sort(pbindex$Pesek.Baker.Index$PB.Index, decreasing = T, index.return = T)$ix, ])[1,1]` is the one with the highest value. +```{r, echo = FALSE} +pbindex$Pesek.Baker.Index[sort(pbindex$Pesek.Baker.Index$PB.Index, decreasing = T, + index.return = T)$ix, ] +``` + +### The response to selection + +For a selection fraction of `r sf`, the responses to selection in actual units are: +```{r, echo = FALSE} +pbindex$Response.to.Selection +``` +and in standardized units: +```{r, echo = FALSE} +pbindex$Std.Response.to.Selection +``` diff --git a/inst/hidap_agrofims/reports/pvs1.Rmd b/inst/hidap_agrofims/reports/pvs1.Rmd new file mode 100644 index 0000000..43abd78 --- /dev/null +++ b/inst/hidap_agrofims/reports/pvs1.Rmd @@ -0,0 +1,219 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +data <- data[, c("PHASE", "IDENTIFIED_CRITERIA", "SCORE_MEN", "SCORE_WOMEN", "SCORE_GLOBAL")] +data$IDENTIFIED_CRITERIA <- as.character(data$IDENTIFIED_CRITERIA) +colnames(data) <- c("phase", "Criteria", "Men", "Women", "Global") +data <- tidyr::gather(data, group, value, Men:Global) + +## Split by phase + +flow <- data[data$phase == "Flowering", ] +harv <- data[data$phase == "Harvest", ] +stor <- data[data$phase == "Storage", ] + +## Sort by number of votes + +temp <- flow[flow$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +flow$Criteria <- factor(flow$Criteria, levels = orden) + +temp <- harv[harv$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +harv$Criteria <- factor(harv$Criteria, levels = orden) + +temp <- stor[stor$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +stor$Criteria <- factor(stor$Criteria, levels = orden) + +## Count number of votes + +nvmflow <- sum(flow[flow$group == "Men", "value"], na.rm = T) +nvmharv <- sum(harv[harv$group == "Men", "value"], na.rm = T) +nvmstor <- sum(stor[stor$group == "Men", "value"], na.rm = T) + +nvwflow <- sum(flow[flow$group == "Women", "value"], na.rm = T) +nvwharv <- sum(harv[harv$group == "Women", "value"], na.rm = T) +nvwstor <- sum(stor[stor$group == "Women", "value"], na.rm = T) + +## Count number of voters + +nmflow <- round(nvmflow / 6) +nmharv <- round(nvmharv / 6) +nmstor <- round(nvmstor / 6) + +nwflow <- round(nvwflow / 6) +nwharv <- round(nvwharv / 6) +nwstor <- round(nvwstor / 6) + +## Compute percentage adjusted by gender + +flowp <- flow[flow$group == "Global", ] +flowp$value <- flowp$value / (nvmflow + nvwflow) +temp <- flow[flow$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmflow / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwflow / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +flowp <- rbind(flowp, temp) +flowp$value <- round(flowp$value * 100, 1) + +harvp <- harv[harv$group == "Global", ] +harvp$value <- harvp$value / (nvmharv + nvwharv) +temp <- harv[harv$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmharv / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwharv / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +harvp <- rbind(harvp, temp) +harvp$value <- round(harvp$value * 100, 1) + +storp <- stor[stor$group == "Global", ] +storp$value <- storp$value / (nvmstor + nvwstor) +temp <- stor[stor$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmstor / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwstor / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +storp <- rbind(storp, temp) +storp$value <- round(storp$value * 100, 1) + +``` + +# 1. Identification of selection criteria and voting process + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked: What do you look for in a new variety of potato when the crop is at the flowering/harvest/post-harvest stage? In other words: When do you say that a variety is good or bad, when evaluating at this stage? + +A list is compiled of all the criteria mentioned by the different participants (i.e. free listing). Each criterium is listed and written on a paper bag (or card with accompanying container). Then, in order to select the most important traits for farmers a voting process is conducted. + +Farmers are requested to select the three criteria that each considers the most important with the following scheme. They can give: + +- Three votes for the most important characteristic. +- Two votes for the second most important characteristic. +- One vote for the third most important characteristic. + +Votes are recorded for men and women. + +# 2. Selection criteria at flowering + +`r if (nrow(flow) == 0) {"There were no data for selection criteria at flowering."}` +`r if (all(is.na(flow$Criteria))) {"There were no data for selection criteria at flowering."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ){ + ggplot(flow, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at flowering stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + + + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ) { + ggplot(flowp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at flowering stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 3. Selection criteria at harvest + +`r if (nrow(harv) == 0) {"There were no data for selection criteria at harvest."}` +`r if (all(is.na(harv$Criteria))) {"There were no data for selection criteria at harvest."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) { + ggplot(harv, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) { + ggplot(harvp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 4. Selection criteria at post-harvest (storage) + +`r if (nrow(stor) == 0) {"There were no data for selection criteria at post-harvest."}` +`r if (all(is.na(stor$Criteria))) {"There were no data for selection criteria at post-harvest."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) { + ggplot(stor, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at post-harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) { + ggplot(storp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at post-harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` diff --git a/inst/hidap_agrofims/reports/pvs23.Rmd b/inst/hidap_agrofims/reports/pvs23.Rmd new file mode 100644 index 0000000..6361aba --- /dev/null +++ b/inst/hidap_agrofims/reports/pvs23.Rmd @@ -0,0 +1,319 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo = FALSE} + +## Form + +if (params$form == 2) stage <- "flowering" +if (params$form == 3) stage <- "harvest" + +## Data + +data <- params$data +temp <- data[!is.na(data$MSGLO), ] +nrm <- nlevels(factor(temp$REP)) +temp <- data[!is.na(data$BSGLO), ] +nrb <- nlevels(factor(temp$REP)) +ds <- docomp("sum", c("MSM", "MSWM", "MSGLO", "BSM", "BSWM", "BSGLO"), "INSTN", data = data) +ds <- tidyr::gather(ds, group, value, MSM:BSGLO) +ds[ds$group %in% c("MSM", "MSWM", "MSGLO"), "trial"] <- "mother" +ds[ds$group %in% c("BSM", "BSWM", "BSGLO"), "trial"] <- "baby" +ds[ds$group %in% c("MSM", "BSM"), "group"] <- "Men" +ds[ds$group %in% c("MSWM", "BSWM"), "group"] <- "Women" +ds[ds$group %in% c("MSGLO", "BSGLO"), "group"] <- "Global" + +## Split by trial + +moth <- ds[ds$trial == "mother", -4] +baby <- ds[ds$trial == "baby", -4] +both <- docomp("sum", "value", c("INSTN", "group"), data = ds) + +## Sort by number of votes + +temp <- moth[moth$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +moth$INSTN <- factor(moth$INSTN, levels = orden) + +temp <- baby[baby$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +baby$INSTN <- factor(baby$INSTN, levels = orden) + +temp <- both[both$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +both$INSTN <- factor(both$INSTN, levels = orden) + +## Count number of votes + +nvmmoth <- sum(moth[moth$group == "Men", "value"], na.rm = T) +nvmbaby <- sum(baby[baby$group == "Men", "value"], na.rm = T) +nvmboth <- nvmmoth + nvmbaby + +nvwmoth <- sum(moth[moth$group == "Women", "value"], na.rm = T) +nvwbaby <- sum(baby[baby$group == "Women", "value"], na.rm = T) +nvwboth <- nvwmoth + nvwbaby + +## Count number of voters + +nmmoth <- round(nvmmoth / 6 / nrm) +nmbaby <- round(nvmbaby / 6 / nrb) + +nwmoth <- round(nvwmoth / 6 / nrm) +nwbaby <- round(nvwbaby / 6 / nrb) + +## Compute percentage adjusted by gender + +mothp <- moth[moth$group == "Global", ] +mothp$value <- mothp$value / (nvmmoth + nvwmoth) +temp <- moth[moth$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmmoth / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwmoth / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +mothp <- rbind(mothp, temp) +mothp$value <- round(mothp$value * 100, 1) + +babyp <- baby[baby$group == "Global", ] +babyp$value <- babyp$value / (nvmbaby + nvwbaby) +temp <- baby[baby$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmbaby / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwbaby / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +babyp <- rbind(babyp, temp) +babyp$value <- round(babyp$value * 100, 1) + +bothp <- both[both$group == "Global", ] +bothp$value <- bothp$value / (nvmboth + nvwboth) +temp <- both[both$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmboth / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwboth / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +bothp <- rbind(bothp, temp) +bothp$value <- round(bothp$value * 100, 1) + +``` + +# 1. Voting process for the identification of best genotypes at `r stage` + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked to identify their three personal favorite genotypes. Then, they are requested to vote by giving: + +- Three votes for the best genotype. +- Two votes for the second. +- One vote for the third. + +Votes are recorded for men and women. + +# 2. Best genotypes at the mother plot + +`r if (nrm == 0) {"There were no data for the mother plot."}` +`r if (nrm > 0) paste("The genotypes have been planted following a randomized complete block design with", nrm, "blocks. A group of men and women voted independently for the best genotypes at each block, so each men and women voted", nrm, "times.")` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrm > 0) { + ggplot(moth, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother plot"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrm > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrm > 0) { + ggplot(mothp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother plot"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 3. Best genotypes at the baby plots + +`r if (nrb == 0) {"There were no data for baby plots."}` +`r if (nrb > 0) paste("The genotypes have been planted in", nrb, "baby plots. At each baby plot the complete set of genotypes is planted. A group of men and women voted independently for the best genotypes at each baby plot.")` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0) { + ggplot(baby, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the baby plots"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrb > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0) { + ggplot(babyp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the baby plots"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 4. Best genotypes at both, mother and baby plots + +`r if (nrm == 0) {"There were no data for the mother plot."}` +`r if (nrb == 0) {"There were no data for baby plots."}` + +`r if (nrb > 0 & nrm > 0) {"Here all the votes on the mother and baby plots are pooled together."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0 & nrm > 0) { + ggplot(both, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother and baby plots"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrb > 0 & nrm > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0 & nrm > 0) { + ggplot(bothp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother and baby plots"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 5. Friedman test for genotypes + +## 5.1. Men's votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for men on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.2. Women's votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSWM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSWM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSWM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for women on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.3. Total votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSGLO", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSGLO, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSGLO, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.4. Men's votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for men on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.5. Women's votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSWM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSWM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSWM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for women on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.6. Total votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSGLO", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSGLO, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSGLO, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` diff --git a/inst/hidap_agrofims/reports/pvs67.Rmd b/inst/hidap_agrofims/reports/pvs67.Rmd new file mode 100644 index 0000000..20136cf --- /dev/null +++ b/inst/hidap_agrofims/reports/pvs67.Rmd @@ -0,0 +1,133 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +colnames(data)[2:4] <- c("Appe", "Tast", "Text") + +## Count number of men and women + +temp <- data[data$Sex == "M" | data$Sex == "Male", ] +nm <- nlevels(factor(temp$PanelNo)) +temp <- data[data$Sex == "F" | data$Sex == "Female", ] +nw <- nlevels(factor(temp$PanelNo)) + +## Aggregate data for principal components + +adg <- docomp("sum", c("Appe", "Tast", "Text"), "INSTN", data = data) +temp <- docomp("sum", c("Appe", "Tast", "Text"), c("INSTN", "Sex"), data = data) +adm <- temp[temp$Sex == "M" | temp$Sex == "Male", ] +adf <- temp[temp$Sex == "F" | temp$Sex == "Female", ] +colnames(adm)[3:5] <- c("Appe-M", "Tast-M", "Text-M") +colnames(adf)[3:5] <- c("Appe-F", "Tast-F", "Text-F") +ads <- cbind(adm[, c(1, 3:5)], adf[, 3:5]) + +rownames(ads) <- ads$INSTN +rownames(adg) <- adg$INSTN + +ads <- ads[, -1] +adg <- adg[, -1] + +``` + +# 1. Gathering of data + +Samples of all genotypes are boiled and presented on plates. Each genotype is evaluated about appearance and taste with the options: + +- 5 excellent, +- 3 fair, +- 1 poor, + +and about texture with: + +- 5 mealy or floury, +- 3 intermediate, +- 1 soggy or watery. + +For the graphs below, the following abbreviations are used: + +- `Appe`: Appearance. +- `Tast`: Taste. +- `Text`: Texture. +- `Appe-M`: Men opinion on appearance. +- `Tast-M`: Men opinion on taste. +- `Text-M`: Men opinion on texture. +- `Appe-W`: Women opinion on appearance. +- `Tast-W`: Women opinion on taste. +- `Text-W`: Women opinion on texture. + +# 2. Results + +A principal components analysis is shown to see the associations among the genotypes and the attributes, first with all the panelists together and then with panelists opinions differentiated by gender. + +```{r echo = FALSE, fig.height = 6, fig.width = 6} +princip <- prcomp(adg, center = T, scale. = T) +summary(princip) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes") +``` + +```{r echo = FALSE, fig.height = 6, fig.width = 6} +princip <- prcomp(ads, center = T, scale. = T) +summary(princip) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes by gender") +``` + +# 3. Friedman test for genotypes + +## 3.1. Analysis for appearance + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Appe, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Appe, group = F)) +ft$comparison +``` + +## 3.2. Analysis for taste + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Tast, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Tast, group = F)) +ft$comparison +``` + +## 3.3. Analysis for texture + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Text, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Text, group = F)) +ft$comparison +``` diff --git a/inst/hidap_agrofims/reports/pvs9.Rmd b/inst/hidap_agrofims/reports/pvs9.Rmd new file mode 100644 index 0000000..7b97b02 --- /dev/null +++ b/inst/hidap_agrofims/reports/pvs9.Rmd @@ -0,0 +1,133 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +data <- data[, c("REP","INSTN", "STYPE", "SCORE_MEN","SCORE_WOMEN" ,"SCORE_GLOBAL")] +colnames(data)[4:6] <- c("Men", "Women", "Global") +nr <- nlevels(factor(data$REP)) +ds <- docomp("sum", c("Men", "Women", "Global"), "INSTN", data = data) +ds <- tidyr::gather(ds, group, value, Men:Global) + +## Sort by number of votes + +temp <- ds[ds$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +ds$INSTN <- factor(ds$INSTN, levels = orden) + +## Count number of votes + +nvm <- sum(ds[ds$group == "Men", "value"], na.rm = T) +nvw <- sum(ds[ds$group == "Women", "value"], na.rm = T) + +## Count number of voters + +nm <- round(nvm / 6 / nr) +nw <- round(nvw / 6 / nr) + +## Compute percentage adjusted by gender + +dsp <- ds[ds$group == "Global", ] +dsp$value <- dsp$value / (nvm + nvw) +temp <- ds[ds$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvm / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvw / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +dsp <- rbind(dsp, temp) +dsp$value <- round(dsp$value * 100, 1) + +``` + +# 1. Voting process for the identification of best genotypes at post-harvest stage + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked to identify their three personal favorite genotypes. Then, they are requested to vote by giving: + +- Three votes for the best genotype. +- Two votes for the second. +- One vote for the third. + +Votes are recorded for men and women. + +# 2. Best genotypes + +The genotypes have been planted following a randomized complete block design with `r nr` blocks. A group of men and women voted independently for the best genotypes at each block, so each men and women voted `r nr` times. + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +ggplot(ds, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for best genotypes at post-harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +``` + +Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample. + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +ggplot(dsp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for best genotypes at post-harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +``` + +# 3. Friedman test for genotypes + +## 3.1. Men's votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Men, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Men, group = F)) +ft$comparison +``` + +## 3.2. Women's votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Women, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Women, group = F)) +ft$comparison +``` + +## 3.3. Total votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Global, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Global, group = F)) +ft$comparison +``` diff --git a/inst/hidap_agrofims/reports/pvssg.Rmd b/inst/hidap_agrofims/reports/pvssg.Rmd new file mode 100644 index 0000000..430b185 --- /dev/null +++ b/inst/hidap_agrofims/reports/pvssg.Rmd @@ -0,0 +1,59 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + traits: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +traits <- params$traits +data <- params$data +rownames(data) <- data[, "INSTN"] +data <- data[, traits] + +## Determine traits with missing values + +lit <- map(data, anyNA) %>% unlist() +lgc_lit <- lit %>% as.vector() +lgc_val <- any(lgc_lit == TRUE) +names_trait <- names(lit[lgc_lit]) +msg <- paste(names_trait, collapse = ", ") %>% paste("The next traits have missing values: ",., sep = "") +``` + +`r if(lgc_val) {"There are missing values in some traits. For this reason, we could not perform a principal components analysis"}` +```{r conditional, echo = FALSE, eval= lgc_val, echo = FALSE} +cat(msg) +``` + +`r if(!lgc_val) { "A principal components analysis is shown to see the associations among the genotypes and some attributes."} ` + + +```{r echo = FALSE, eval= !lgc_val , fig.height = 6, fig.width = 6} +princip <- prcomp(data, center = T, scale = T) +summary(princip) +print(princip$x) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes") +``` diff --git a/inst/hidap_agrofims/reports/rcbd.Rmd b/inst/hidap_agrofims/reports/rcbd.Rmd old mode 100755 new mode 100644 index 71fa009..0a8b300 --- a/inst/hidap_agrofims/reports/rcbd.Rmd +++ b/inst/hidap_agrofims/reports/rcbd.Rmd @@ -1,5 +1,6 @@ --- -title: "Automatic report for a Randomized Complete Block Design (RCBD)" +title: "`r params$title`" +subtitle: '`r params$subtitle`' author: '`r params$author`' date: '`r format(Sys.time(), "%B %d, %Y")`' output: @@ -21,6 +22,8 @@ params: rep: "no data" data: "no data" maxp: "no data" + title: "no data" + subtitle: "no data" author: "no data" --- @@ -33,12 +36,13 @@ rep <- params$rep data <- params$data maxp <- params$maxp -lc <- check.rcbd(traits[1], geno, rep, data) +data[, geno] <- as.character(data[, geno]) +data[, rep] <- as.character(data[, rep]) ``` # 1. Model specification and data description -There are data from `r lc$nt` genotypes evaluated using a randomize complete block design with `r lc$nr` blocks. The statistical model is +There are data from `r nlevels(as.factor(data[, geno]))` genotypes evaluated using a randomize complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is $$ y_{ij} = \mu + \tau_i + \beta_j + \epsilon_{ij} $$ @@ -54,8 +58,14 @@ In this model we assume that the errors are independent and have a normal distri ```{r, include = FALSE} out <- NULL -for (i in 1:length(traits)) - out <- c(out, knit_expand('child_rcbd.Rmd')) +for (i in 1:length(traits)) { + lc <- check.rcbd(traits[i], geno, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_rcbd.Rmd')) + else + out <- c(out, knit_expand('child_rcbd_fail.Rmd')) +} + ``` `r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/reports/report_anova.Rmd b/inst/hidap_agrofims/reports/report_anova.Rmd deleted file mode 100755 index f298f5d..0000000 --- a/inst/hidap_agrofims/reports/report_anova.Rmd +++ /dev/null @@ -1,189 +0,0 @@ ---- -title: "ANOVA for a RCBD trial: `r params$meta$title`" -author: '`r params$author`' -date: '`r format(Sys.time(), "%B %d, %Y, %H:%Mh")`' -output: - html_document: - toc: true - toc_depth: 4 - pdf_document: - toc_depth: 4 - toc: true - word_document: - toc_depth: 4 - toc: true - highlight: "tango" -params: - meta: "no data" - trait: "no data" - treat: "no data" - rep: "no data" - data: "no data" - maxp: "no data" - author: "no data" - formats: TRUE - host: "unknown" ---- - -```{r, echo = FALSE} -library(knitr) -library(st4gi) -#library(rmdformats) - - -traits <- params$trait -treat <- params$treat -rep <- params$rep -data <- params$data -maxp <- params$maxp -meta <- params$meta -host <- params$host - -geno <- treat - -``` - - -```{r} -# This is an automatedly created report. - -# See more details in section on materials. -``` - -# Abstract - -```{r , echo = FALSE, results='hide'} - phs_lbl = "Advanced Trial" - ttl <- stringr::str_sub(meta$title, 1, 2) - if (stringr::str_detect(ttl, "PT")) {phs_lbl = "Preliminary Trial"} - if (stringr::str_detect(ttl, "OT")) {phs_lbl = "Observation Trial"} - brp_lbl = "Yield Breeding Program" -``` - -This trial has the identifier `r meta$title`. It was conducted under the supervision of `r meta$contact` as a `r phs_lbl` as part of a `r brp_lbl` in `r meta$site`, `r meta$country` in `r meta$year`. A total of `r length(unique(data[, treat]))` clones (including reference clones) were evaluated for `r length(params$trait)` traits. - - -# Materials and Methods -## Model specification and data description - -There is data from `r length(unique(data[, treat]))` treatments, evaluated using a randomize complete block design with `r unique(data[, rep])` blocks. The statistical model is -$$ -y_{ij} = \mu + \tau_i + \beta_j + \epsilon_{ij} -$$ -where - -* $y_{ij}$ is the observed response with treatment $i$ and block $j$. -* $\mu$ is the mean response over all treatments and blocks. -* $\tau_i$ is the effect for treatment $i$. -* $\beta_j$ is the effect for block $j$. -* $\epsilon_{ij}$ is the error term. - -In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ij} \sim N(0,\sigma_{\epsilon}^2)$. - -The following traits are analyzed: **`r paste(params$trait, collapse = ", ")`**. - -```{r , echo = FALSE, results='hide'} -gid = unique(data$germplasmDbId) -gnm = unique(data$germplasmName) - - - path = "/stock/" - - #TODO change for genotypes - out = paste0("",gnm,"") - txt = paste0("") # TODO make trait choosable - out = paste( out, collapse = ", ") - gidOut = paste(txt, out) -``` - -The following germplasm was analyzed: `r paste(gidOut)`. - -## Computational tools -```{r, results = 'hide', echo=FALSE} -s <- sessionInfo() -``` - -This report was created using `r s$R.version` on a `r s$platform` running `r s$running` in `r s$locacel`. The following base packages were loaded: -**`r paste(unlist(s$basePkgs), collapse = ", ")`** and the following additional packages: -**`r paste(names(s$otherPkgs), collapse = ", ")`**. - -# Results -## Raw data -## Trait summaries -## Trait analyses {.tabset} - -```{r , echo = FALSE, results='hide'} - - data = data[, c(treat, "REP", traits)] - # - data[, treat] <- as.factor(data[, treat]) - -# exclude the response variable and empty variable for RF imputation - datas <- names(data)[!names(data) %in% c(treat, "PED1")] # TODO replace "PED1" by a search - #datas <- names(data)[!names(data) %in% c(treat)] - - x <- data[, datas] - - # x <- data[, trait] - for(i in 1:ncol(x)){ - x[, i] <- as.numeric(x[, i]) - } - # - y <- data[, treat] - - # determine which traits are having more than 10% missing values - - mval = 0.1 - n = ncol(data) - m = nrow(data) - off = round(mval * m, 0) - mval = logical(n) - mvan = numeric(n) - - # Remove all complete NA first - # for(i in 1:n) { - # #mvan[i] = nrow(data[is.na(data[, i]), ]) - # mval[i] = nrow(data[is.na(data[, i]), ]) == nrow(data) - # } - - - for(i in 1:n) { - mvan[i] = nrow(data[is.na(data[, i]), ]) - mval[i] = nrow(data[is.na(data[, i]), ]) / m * 100 <= off - } - mvnm = names(data)[!mval] - dat = data - if (any(is.na(x))){ - #capture.output({ - dat <- randomForest::rfImpute(x = x, y = y ) - names(dat)[1] <- treat - dat = dat[, mval] - } - #names(data)[1] <- "REP" - # xnm = names(dat) - trts = names(dat)[-c(1,2)] - dat[, treat] <- as.character(dat[, treat]) - #lc <- st4gi::checkdata01(trts, treat, rep, dat) - tbl = dat - -``` - - -The following traits were not analyzed since they had too many missing values (>= 10%): `r paste(mvnm)`. For the remaining traits missing values were imputed using all available information. - -Valid traits: **`r paste(names(dat)[-c(1,2)])`**. - -```{r, include = FALSE} -out <- NULL -for (k in 1:length(trts)) { - lc <- st4gi::checkdata01(trts[k], treat, rep, tbl) - out <- c(out, knit_expand('child_rcbd2_old.Rmd')) -} -``` - -`r paste(knit(text = out), collapse = '\n')` - diff --git a/inst/hidap_agrofims/reports/report_location.Rmd b/inst/hidap_agrofims/reports/report_location.Rmd deleted file mode 100755 index 5582c57..0000000 --- a/inst/hidap_agrofims/reports/report_location.Rmd +++ /dev/null @@ -1,34 +0,0 @@ ---- -title: "Location report" -author: "Reinhard Simon" -date: '`r format(Sys.time(), "%B %d, %Y, %H:%Mh")`' -output: - html_document: - theme: united -params: - locs: "no data" ---- - - - -```{r, echo=FALSE} -locs = params$locs - -locs = locs[!is.na(locs$lat), ] - -n = nrow(locs) -``` - -There are a total of **`r n`** locations in your view. -Latitude range is **`r min(locs$lat)` to `r max(locs$lat)`**. - - -You can also embed plots, for example: - -```{r, echo=FALSE} -data <- locs$altitude - n = length(data) - data <- as.numeric(data) - if(n < 1) return("no data") - hist(data, main = "Elevation", xlim = c(0,3600)) -``` diff --git a/inst/hidap_agrofims/www/internal_files/20180621143935-MGcd2VArN5MOQoU-rcbd.docx b/inst/hidap_agrofims/www/internal_files/20180621143935-MGcd2VArN5MOQoU-rcbd.docx new file mode 100755 index 0000000000000000000000000000000000000000..9a9dc8e7721074124a0b97b3a2cd134eeb5cfd0f GIT binary patch literal 12358 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 A`v3p{ literal 0 HcmV?d00001 diff --git a/inst/hidap_agrofims/www/internal_files/20180621144100-r1KmzUfd4sE2gUw-rcbd.docx b/inst/hidap_agrofims/www/internal_files/20180621144100-r1KmzUfd4sE2gUw-rcbd.docx new file mode 100755 index 0000000000000000000000000000000000000000..e3a52db512f75dce8b3efadc40e2afc591231979 GIT binary patch literal 60680 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

=tqPTVNsU}IY$A)vBwD;C9W zmsMBGI;&MbUaX|Tk6P-y7_mnm4Gs=UMl$DaX$I)+7OC%~Rmwu%KR#YwU+bQr8{9W> zPSaE_ls2-UAbY*cZ_{yV`Vb^YnH!6TBk$?lE#(p8q~OISR5U(DR9(feL1om}GoBQR znVXxtHaB;-QBqO{1O()yp2&iLfD8`i&N+zFQ?il&;gI&ULqbN*Os_ik#Ovu$y>##d zh_bOXL=qoT%1R=+#PN(<-AO3XsVc9Y77}|ovfx>nKkSuEdQ|)`~tX^ruIDXzEw3u3(vxac~yGqDX^EICu z_Rb(s9ksPcbd|UyOH*C^_^l@m&RAe%Seu!lrHOH~)gd6M=@9Y8D*T?9o4XTUEc@39 z5#>1{rm}eWZo&u}9yt!bztwJabrqk_mt?@k#yiaE(wAWaEl^}dT@gC>?NdWUkI%)^ zmq6+Jp+wF_%+DUH2>TR0AFuJHyW3`n&}3*4@v*%$z%&S%&-3xr#<<&b$R*xvCTD0A z?wQH*VAz%6^*j22Qloo^06|ntY(%l+idm9#2!zLCiGjWJ{?S6osi9B#Z`78d8+R-& zu#To9BQ6gQ58Dg0hQ?aWIciE`X=$mvN1C&}qIu3vPRRvkecjN|5ChO;1kV#|LshrB zaCgsvjU~(2S|+_P@+bi~EHrnvM&)%gf8kyjiv#%#dl< z);BLFpRN8)@BMw&<8|Yw0}mZ_vxXsu{*@D6JR1=Aa1u{2Ffg5$s}ylGV~NPWHPw}m z@G#t{h;0IuA6lmLDnuZW{1wY8M_LHZ#>&cz5aab(<8A}?o!adEAsrjI3rU;3UwJKU0l6s zl!B7d!kio3SM-6yMt?c|==eB81#?(ZCm`|X55qMF9}fxA+N;iui>LnY28P<{AJx|F zht6Ze+WzwvBV3pJxY_Up%+^FOLd3a+McyTE*!McuLL~I>;M!XHMCI4qf2knr>xq~T znDO!PWGx3rp&#!MJVnAs!^r+SiO zx~7M(<`uV-^)F6RLRjDK1C$r~ecX6SX_IDyMQ&RbRK z6E<5u#U%H<<2uh#QT=k##h+H+z#tpXw!Extj<-1)Ia$3u<>qOrANjpkQdMom%BUbA zVd67`pJ#d8+5Pp27wyb!M%c+LD>Pn44sr0vw~>X7t);<8Yj6im+GhhjHG%3jBPSU( zlQ{95DHyELsMKzm>k+CFSHa*<=YsJ|YHFdpOKU z(qB`#nsQD+#BND`A<{z)V7)Xl13{3J%IQ{?ML$OuZ@@wOC>BzdWSkb%$HVHk3UK2S z@(+C@z2?c8Wl^c!dBxNo5EUGD)AgRQ@$vHVax5B#Z5~%Y7U(IykCWJo@A1#`a%NLK zJGwR8cocXPD`zNO1FMS~K)`Gx6VoR#KOlZjhr_`>lX)sCoyDcX5+f`_ymV3s&)baW z5&^>4ztO8Ta8-0q|G+>&SyZ{S}@AO`O_4@pR*14gH( zr|;!m(9c@7S{;JWvltKC7LKZ1i$lj05Ret2eLFz4Ie`%n-TEe?9u^J{jpYIJI7wt0 z!H{HET`-f4$A@w!U+4PEyL`W}axeQHwZ#TE#?U5UI55*2s>lLoa``&0YP{iKvvu{% z_GE0qw$=5twCdeJ*$DEEy9T0&2}zd#6Vx;{$H&Gf@dO9%tEP~;Wow$5xn*=3HnXN* zg0!`EhHR#luzxg#y!qf_k-g|)BMAyuYDOmirJGM}0ibokhqq&&O*TB-+kR>rg?pVW zG?ac!y^pDebK&X6wY0pfXS_+n>4UQGi=8_zEV|ujT57xctj%)JFEBCIx{SN=$%IIW z)q%}HnA_{wS(@h|BbCR>ed>0FHbjW#bBRU3sBeP~^ShLQUwG@Hn`N|K(kkGMwGsJ2 zs%MVZKyt$dpByqJW~8L3YI0VQ{T%Y`tQH{NwuFu= zP%TQFh=?^N0>cTQDk;iSD3&m=;3g6m%kR+8;+cBrT|Pr#zK~SX(MWJ=3k7e38XB1z zAPS{VHa`#ERwLwa@S?Tm28*ca>gvkN=Ve9kxB7ENu)pFJxV{kBG8(=-#^rzYkTHMK z?bQ10G+=xjO{6gWFsViScv=w(pYB_Ey!Bt-m2~a;ncC6PGcCM6U1YV`DV$j;buq-< z;D!y4jD&?k8Ii$LQ(1X2_I_eX^Rro4S@^s^j+Ju7I8YN31rB_TV%@@dQ&L^%!VP1q z151$FTUuR!2Sv|>%&oVvvrAT<&$O{~BtLNTJFBRu2z&xyZ{#Haz6=$;B8JP0qS=U1 zOHUR#Sy-I;ff3bD<#+jT)g#=AKm3d${8r?>EIrbYjaT2NHe)73fvXKVHO zaGh2{3GSNOkX7~b^V4W@(x?0fgUPw0i#$z~91{cQ=;(N=Vy_F%)d6v*o6t5i)Zum` z>hsRb$cZI9eWy!{Y!>aWYHwq5v{nHQ52zn(wFVI3pY8Vi3=|ZUZw&_r@8{Prr&ooB ziVhxB1)kvbiLw2_xw-R0{W8H&k_XUR&2!ldB7JFeVEZQ{Zm5ancD?OXEAP)l=2>{2;aQrX#>e`mbaCRC76eo!{dIc1^r5gO# z>m3&Ji46+DY~OS9PZ<1Fc6J$6U-7heb#-;`_-kvcoA(JCTHGLPonWtv-FimH_x(N! zQ2vqf-ybqa!)k^sUCsmzo!?ErgB~9<6~!;=D8qa`la-aq0-Ft4l|(2CQ(kwsDup+u zU;oU+*t-mC7o-okTDPMf26p0{c0>g&)T2|qE}tZdBEdsazluexB^5L^vG{pqV;CY6 z<^jT8fO3@t+F3`dI>Nw>p_rH&gaKPdYw01%SJ%4HLJ-}K0x%XOVKey<1e^UAGkkwM zWw;5B$0DqN{ZqacO5^}%`~!h`eL<{%kp3Dk`I-_2(nBiHF>vx>v;@8f2n&N9RJw2t z7BQW0Udg4JDo%A2ZytET4wOKMlI*$?P%;C5!x@aa#Rb{YvIrwU^(VM#CKc&Gi)bk| zEco+i4v+Q+n#kkEKNpMKDA3p#+1;oCbUI(f>UZ(^0<1fCd*3!xTvS^}e+{kGY111u z&fUn_ZF4KAk(aoo=WO!w2BiRQ4gcFsy6ln_b!E29Qg0q0^N08s`UuHTT3IRGu}D%` zu#cdPl_(o(kk_`>vUdb7rR3xD?_|a%v+3Gz$?|Q%|ou0C{L|@b!mhS41Nn*jQOfX}He>#7 zmK#_kd>Kd-9K;17x>}LVt3WB=pI>&jDJ-Pz#nIN*20-9nz%r>(NlNAe1$Ciu9vU7Q z5_lNr3ionr;HvzTd~DzKcoa7&T0M8m-q-`<s3^DhM{MANw?Nk4uR_Ar(Nvfl_;~S?mR*(%p8f23Tn%fRCj4I^OxR&1WH<|hBSJHg}Vj@ zT=H7hhT5=VowoZTqZPSXx50)i6L6 zQTQ2xV$bOr@M^-O#NwX0)Msg^`vKN+oYF!V7-<8O0&Ueujf1kgGg#GRJ7u>gWJSeqCMtbrvddnE-eE1?j&f{gnii7~Al9 zz-0kMa1w8%LNxm(y|?5lbW(a!pn1@w2|9vXuS{&j+^qOIfPzu)o9($q_`b0{vP=z7 z6CZBM%;~l7+H0*;l3&KZ+}#>&eRc2UW@W+;Y6LyKMq!=hSZ-Lqi$|=tTESbLZW7v9 zI&E-(&gc1=Wfmem^#vJn{`vkYxp9DO+9v{SGn`QaOUEE8;PYAM;%YuPsMua#$CBhm zOXpBEqX1|!DVHw_u?C_m;(+LUsdsV=9K-9@X%nC+tf=_d#d^=eNC00XY67U5&@H%L~(jQZlo(g)3*t>mMCeS5^kO z*rJP#asGNu{yS!=9bKYrQ~Zy}9#NH84|{z*I=0z#7epV+j_YNr?X?%8zJ6UyZ0Rcd z4I%s)UOr}Hngtipjp`3`ZPt zpM?PUrs^UK&jgN)jARbH-h8iWExdM|F@#m@#Pq&lV2q3)ial9WLkO=^>Gkl<5CoKg zm6;OEUN3)S6!*`qSgTYhZW0?F?v2WsIKtZ57diBu=J(Eno&vR) zpE*hBq@f#o1wrBR!98y#LkxX$lPw8;;7vLZ^X68=MC(D>v9#)t;11jGBkM5DNoWRKOH%VKA=;n>J zc-Y%x88AXZ9Y{z>3yTIl4JdjFQ`e9lwNo40i$jvbR?$$LVA7t6X&mFs^mNRliV4l1 z@8sC;Z*_O~hmGk(6*yBB?afVNNh|a1m&;4nK8cT%tGx}4!XMv`+5&uD7P{NwO6ycM zC@gkc*<~K0n$p9iFh6)Dr4)j@Vqw5uVc&3cEhd?WYp(BK1Ir&3#M*hs=pY8Kd6zid zH=pn1=H^OZ9JkkOIy(IQ_E5rKf=2S34y+v5&>5Mrel|8{rKALEIcFxXUS;gP4PGKu zMhGdW%ZY{cauB{TGO~5NKA<1yYmi5X@ZID4#Thh8OGd`Z%2NdoUis}Fpu{Jdod9_c7K}vr)u4R1|e1}KYe=p(WB2T zdhtSD2`gF%M6b@+*jP`Z5UClspoQI?gvdx$7Z;wWPU70V)17%~pbADUTvldgW=2LE zJ3Bjj`?a+?1F8Z@K+&M6q{PH5x^*>>Y92p+eDh{fUY_~L*H_AmsF1rUIE;P|lTOubJ`{0$lmpCe^{(F^VV^XE?}3isWv$0Q^q78}+2ZNVUN8JU?^uUz>xJbagd z0S0{d<1kZiJ1de3217d+PmHC9X&kGVRhG_tCp8XrL@~`BSWce286QYgwu(f`Z@y8C+xtNdr(0Kz7#vYM99S7?Vp3B1c;3(A zsX#-}ouH5~xbiDJ`bHIb2#q2e@oo_V18Ul}1|X@C}ygaggY zXFV;fudff?q##gnwczj7;ot=9?d`R;iqq56znX;#;9VZ30cNkToP=@#Vmfvgr1KR= zE=dqI9~Un##UUArJqkE2EHIHky721XQPLObI;^{Rk7~AebZqbJ=FAXdVXshngZlAhvHa>*zuMXcPg#R7BpcE2X*@jM0+f@Wn7v`2nk z9&;BzVrv7Er@FE-r{x6q1l!Tj1DvY}L}`0Z4;$nFdiwNbq|T0vyzuh!TFylEc2dyM z*_fXfbHF}+&xEY#W$2#q!pVbwJqrN3n3tPNWD&>jV%v65{Hh6qmNpT(CN?I9mzx{2 zKn=t^FE0;7z}R?ke|6Z&JOt4zrBmmA3>b)mg9A{PQ_?Q*w_DzK89|e3RXgS{=isv? z!T34Y+3{)kzrZEM$9L%!VbbyP^3u@IJbCgYfCuYX>nQ3V^2$4r0`PHk4<)ndSyM>>x9+3U_ z2|z|zwW~@2V0^C$2nayMIXO8|QpQ3Czxb7{q@0O{AXkKSJlc8%t$p|IUF9BXOyr!$ zF|x9f{2YfwtD~;YXo3q>2w~Ya{2x|42&4q`lzR5;wW)>v-@{KF4IzS=U0Ap|SzVEu zdVBCm6~*7F5LZ)+>M|k{0d2iFS!HXu-3*y|C_lFJt|~SG!J=*DI%ASLv#PkbxU`uI zzYb(`IF)lDB;TJuWu&F0A+yNK%jeA6Klw)yfF1e=2G9?;TAG_5M9Z+S-n73c35)r$?Jo;*RJ zGuW7@1f{5UT!(B5hB#Vm81N|~kcvm~hXAVZDmPUyWTIN+Auy<3#m+B@4r0d5%X@Ns zOeg|N3OWF^uAr@bK5kV{PDb_|^d{?5R1^@Vnx>|-Ludg3^7|%I`%FIVxvh_td3z(C zRbhB%z-KdLqW^A7!tXpqdic+gB7IGbeK?U62i9MT4CHjX;*Hc_%ZYCf^_nrE)^bW} z*bIuiSy@@9zS+#?YgU+W#$;wL*0}8M?eAyfqa$uIT~V^eR8dtGblwt{lImz_NpCuJ z-Ilpt7~JM^uqskkH^%&K-577frz%A|3O?7 zx!9BF_x^o1*iF;vbs26v1p9}cMKu)_FnN!^aO|?#E{dY9s;a81%k~1|fu)Iwq^vA8 zr^z+CIjFpbh6d>R^`fGn7%P&<7+6NTiho0E+GGU^b*jWz zzU=@Lv2G7>9H0XKQj=hvjtITCH>aj5mDE&V1$B!$(1#)hoAle1- z{YpH~UCqo^@r8=3tKDF3{AfuKQyQwOL(utHbja<=loWGqEDx{tAB#GFBfl8({z_Is z0g1MXf%+~C}0>epo(+t1cL0)n3&e8TP^^_VofQiYykT$aeo*9^kpr9b? zDMm!8Z|6L?JC4!YtJodSPz1a#+-Gbd`$ul$J({r_P{~dE0|FgD>FW1<4DYe_CO_Nr}D(YbvG-M5z630#s2$ zgV*MdXtp0JB2?ijK2;JgDne4l&~P3A;r#5(^>9Phf#jyBIQA0ZZSm65XHrtjKq~#X zXvl49C74kNs(Q$+-D}RW49KivqU1&s1M$L?@eT@NIjgWx2nx5ly1KHGC&xJY)>ZU9 z09I%IDR6^qd{l&RdQ}zgjIE=iqm-0?dV0FQzm$v1vC!pNYD&tVnVBcA_z_FiV0b|L z`4fH!ryeo~vC?f`HTJ)cWG$FuD9L27<8~x$$N;4B6wox}`xR)maERkF5b; z1t%9*f}n@1v>DI}K;py`Sgw1!P>30+bo=}Ji2`ooQZ$IA7s$Qkg9Cfs_?4Tzw?W`kU6i@8flPU@+3v+%fOrLgPHy!| z)Gh<|;e1Ue=!>&6cfmw?%;Y{3XgMIopx|IGPR=ymn+Wf`ql0m)rp87n7Y3OxFZJ{q z^@_qHA|O)7eEA{?naSA=Rsi@drO!n9>YMToQIz*8)_XQzX`y>$n+uqQQ-ZS%y$L_@=ym76zFAXN_Z_d`8Tmbx|m5tm9 zxj74ZSWv(U$#pv3_uadPWVks>-Ug5bVR8xz3M@@692_1Q^&of@H8pdQ>Wgg>J8_-} zPFPV=Qth&v0e~YtUTVvVj)=B}8o~D?x^csIMV$ub2FiexlG4o7l*fGJLD7G2!F;-c zW+Eh*SP!%aqE(lbCHdq@!|D#jiB{w-a2{p1630FS#^_5RZNDt&?<2zF=_hK65w@teh5arzdn9An5%|`g@uNJ3qJ84nsKmiT8K@zZtZvd zC8%&Bze`GXwhLef1k$;=IrGutcPl0q0YO2;ng~SY?$Nfs$cOawdB|#TRaWx<4|adH zt~?2~fqLR|TsvA!^tytk_=uB}gjMT>ipoBeNV}Nf!NrG=5L$>$(6Z=k5bB`4%q%RZ z$;n4^)!1H_l<7i&KYi+By|>$!Dp68g?C$Q4K|mv8@c?0>t)enmSbqVs@C>9!ja@;Q z2x-8#{vKKQs9Ri?lU4IGGjxu8$Va&}T{sz@|A7yD1e35(fQ%{Vegq0WpXGgVG#dgl zNp$@>CY{-Ef%Z3Rx_CL=N?Suk#p@U~DD4caQPQb>oSd8xQso^;mJsZRcSH~_&5OI$ z4n&vZqN#n&3B*@F&F&t{8oRFo&`cl8?)+KkiiJkH&fM14#`fZC60r5HTYCE|gYlCN zHa6Rk@7JNB^qM~a*pag7*gJ+Gv=OmgQ&kRTo}Pk(Pm-FFyfKy#P@={fq9duJwV;o|s2wJ3Bkb8(FsV&(ze0!^6YzH*X}ZZtw4xm6vDmqT7?H zlQ*K=91aW$x_#>wDk`eu+Q=&_D*)Te*$^RyJ9m&9sLB#PkKOkN)!-T-!r3i$gGzLC zb;Un2Qxz8eewEf;*ntzv#LNum#}KFhCHVR1D51zVElVWX9jg2%5D-tCA@^~or>E1U zqc%p0QkzcELkXdNAd$N7ErnH99)o8>a@80;`WejuV+Xgiw6vt7qk}ZPGMKxuu>l_W z7VCOa=XYWg@8E4HGMO08j^SZ72?+@`wL|C!wL+a1PRHWb-rlXTGBa{=a-ay1C1i{2 z?@v}aFb!7T0lh18Ki)y!9ssPmcTckSXu81%()_y~I`jT1c_ffu`1 zZ+L6mm5Z}>bnNczEUBnqV`HObH)sdhikU11{eVo|8Obs*G{p7j(fRRW;^f2x)Eogx zKstoU`H`FG-%#;-AKtie!w3|@Y={|tker;H^`Tyi{YPWtA8-vV)(X%jl|K9u zt;b#;!qUN z;;zolxD=dOkmK|yy>`1ELuy;>jwhNR*c~-aY-vLtcj@V+_#R7&1=P;GQ3P|z!Xj(0@|TZP zjP0?7c^D!_?a30-(+zEGieB6fX>&W?F@!XHg)JyBQ1J514!j;jtiNB8Q51dItjIgV zI_3@ljJCLVD~KexS+&FJ!E^(fh@`zelA8ExQUk1F_+5&vRUqh?nj-fP_-d38>MxCq zB4cBjhK_oKE-`TolR#MJyKCqE6mSlVPr(!t5VboEgSEE;o*i-(*fFMZ1cVpWnUF7i+dPNJ&wV*J&dzCkOegTNXA!e0~e6#sk^w0WIMR zoKgrxZw6R}uGhKB+DsG%28IlS(hn(oYToAAZP7M|(zLw1wVnA+mi&2ZZYuoDr>Q9R z2pIb5;pXK|C!33l3s9DJl|8h4_6V2T;l`uKk7)t3^z{A!dtKQT_Bxz&0(KG*dujrd_7J-`cWfjT%ott@`%u2$Y0HfIYrx=GV}Wqdl)T zes8VYArNxuXS}nsGheiLAmMvdn<(0v0qCWlGNn)v-i{Q!_DjH%=jZ2xzkXd|0l^qA zx7a;6h_nrdaJ>Ur*nD|u3E+FAUjuSJE;0JCEhHp32nYx!7>+z&&#Dv1W=gI6d;k+t zPRyi=OZMRV)RZ7M_m|Fj%klE{AD@{Zp9?r|CH*^dw!Z}qBng;bSP*x(mK1oz>A12k zEcG0LxMpo@TLrBFG4`9wt`X!Ei*YVAG@sH^PDu4~>lOdSkutay-iNAEQdqHFstO9^ zk1eV0ryNEf5if}akSK&hGmZ6(jvfQj!zDA5NGmBtG`zIe(UoDa13A1apYXG%hZI*Y zYtE*R*tPaP; zQL(WVe*B1SWwp6I+lG^%+@n`iTwKg$HC5wvdBLPsu(vT;t;B(7#}p8#jpi`cs}T(4 zY7<67c*`g#C>$?mCZ-)&yfQFID=OMvAFt^8`LkJ-n1tly^c22_>r@NNn-v)rz~$e( zc>`9ImGC4f2=!#D*6m+AIp#fqVld}Y0KV{5!=)+fxTdD2)lQq1bZzwPbG$L{jhJZ!aOMDSix}hxSX)i`ug7xgja7tgJ*1 zss6pc=kywZ$k}qPfm8ExbHDg|$4-&@s)2NX@zlS!aC(>bpy6X5TZxN_k&}^eYAV7| zf5}9%(+dfC9c|6n^G+_wQcp$wuWs)_JoIM%=DNS~+v_qY6HBB-qXreS%P4r}!SaCL zwUo?EV@RtT8 zdE+_jF(&>4Dz8KkeEpxhT+%GK-kf+e{4bt7K|$x_%xyt7(u=Kk@4(><4bzhzGBY#Z zzyIu6A0mm~(9qzIs0b#Hb11*7=*Hx2Km0JaLrI&5MP>B(_{|M(xOoV#Ue$a3%t3X@ z8Hg!DLl>3}6cemo=Gn6!-Q7k-FMO|2Q&STVgd`;;NkuUD3s~U@Po2YvfY4$enMJ1D zV$kp=DLe9e`aian3L#q%iXby_iJ<^>WYH{_d`N>hlYX#t9HrZyF5TQ$RO@DH7V*TV zJ?Y71*$vYAg3N*b_7I_PKLYuZvmQ&)63QNFt^K(_!!DrX`p`}9!Omym}f zCM1%N0muVjR@?2KhlK_5nd}0cT5#a$g#{8~V(>HxhkGXCMn(&fESfa@&M#lTrhvBU zUn?77&BzP%eMcxJX1mMKH{_Z5H2TXmA|iIZ=GCa6pgG{FYSH+3*_~bg&x2n3rLmL` zxjX|rDJUtO)<$fW`{}u2*Voplh=~m?EidFcP!PNni9J>(CP@R!kPwo1aoUNnFxs8g zSE4%%z&d^n4A^zY@jws-cCoXz<_7x-2*80-sf9Y;hxe~4&^EsL_4)Ii$595x5rMe2%hxNNLO3~V9?qr8 z)20+mohU$KqwjLbfJ8`3Gttwx3=ZxC5t5-{Ac}q3W~sTYze7KdkH@Ys-!umMX$z(v z@6Q3l%(rWN&d9*Pz|6chZdFfQvv+XdXlEBI=mG4+Th<_~3`qc@4+lFtTpXPV7C!#L z&dxI#nYepjKBuhm*nbce56{=^kf4>yZrhmj&tq`{HhV9P)s8w3AtO zm+)g9G`RcL^qcT-MYY;nZYO)od3nrzk$_v3c8igpKH0aHU`?-U)i~SCwTCsXL|;ou zOXJjU4IIdncWOY5X`(ACnrp_|Io*Vw{&7bSExS@{XK#7cjfhSAmeARj>o32p>t(g) z(F2)I=Vv8L4*@4q^7G@PqnB4!o;7GLU598fHnFg`JfJ9vdUF%7DLp@b60+X}JEm1; z3+f3tq8B{h1e&OZZf|QmGDD(-q`?!l+)K zaOW-&gWXst-Q)8!=b^Rc^sE@IgGoN0U#rF)$PRJw@fGHy zdiwfA#KdK<2Xj<%RmH@_Mn^`>r)ow!I+icaPpPM}zd+@5CkRw$Wl3&<-Pw+nnj&xC z=j6OLcEVdd7 zLUX@3UL<0W0XH))8O>GAFD@@<*xxtkqUf(+JN|vy9>*i9@Yd_Q&%J-PA!%u8`$j3D zI$s+aioLpz7~O;9jYG(t&#^br5^=R*POU^H)dWaJPfk}Y_pbY1Ke9n}Mzt6-}Qc@BS9DK05OEmtzZFU`s2WsN@_;_JqA%a1cg3~0lyu5s* z^veAFJn~PHpqio2si>*-_4M8o(6Y8vpxPFKFnxc6rie51zu5p(#6i1>M?e!Q;MQKC z-8>MHr!8GmD;4GWypPg#|JGtpgnnE5H=8^6KICbSKPvbptpq`^uI{4Pu+#Hs#_#0B zl{bE4dD-Q7XC5S6ks2?l| zJ3|H9W}s8i(UmT{3($rz4FQ6<8^^ngVD*sFpfvmY`=3cm$8uR{K%^zrb*I~}K;L=B zP$x3^7XU-1D-H4S@j)MauW`l3Ly%Tho?BZB=-~|VXS8hRr-U@Nl&y-NkL&`U_iz1`~cR0k5BVKX5oK4i^f|n zfiUgtye)Jt>bS`uCueYC&u&R2jv!)TDYm(dg+<3<9NsKi?7*}<8nGf{EB-)RV2}}! zMn_L?xZIzf!qVE>igpzr`RwVt9yvKFDRLptn(5Xrf*vQh)V#`1p3nh;($kBTde=d@ zg$P~TbA_gnzI!)wZ_gfg&fD?&C9&L~==r~~GTz1-@ng$*ZpRS5zS1GUeFy7!mF?|# zO*1Z)Bv`vLS-h6V^EjyV^IU891NlQSzTD~{Vn@9b#1G1D?TCueAQIAB9XSNHdxl!cxjs!9A2bIF&i zL?Cp}qc_cM5wu=+uHuJ6X&&#+_0!v~l2qFH%`HYWiZtpGo;~szA|?(q?34_lF=)Zw z*>0O#Rw{OVl(V?Nct6}_w|#$g?!@8Gh8(MQ3U6qhG-QYeFNHllFTmP~Z``;N#7|=d z3-=2HZHd3TyE}?am&78wuuxuF+Rny?a55t+t9`etI>PJn+^NsvN-Rk3hjL{#wam;+ zr+01xPc$^nu2-h}pPZka@t&Ga>HV{Hz#yM6u@K2mvpHH~+$drG;nf4OkC&dN-Sf6Q zRQU07Rz{UYVcmLRC$5(Iv#awzo)x6r$}Er6(UH5)REdpEC77u5LULv0+sO%)tSm2` zs9Kbn`Ok;!DFZ=UiH84r7GN3P&MoZe8%Q-XBN7lOh$N9viYQ1Q6t91=LD4D0a6ZIR z?8J6B#L}H6wKrz~IPV(Eb-7l%*r}>IcjmHDq#s8wy%azi@rA6QUdXR4l|L3&u)w@8 zMGS1X{%l7Yq||qoTU%S(>v*2@wGWDY0`gf`a`xu2G2T0Oe6Q{7%y+WYpV@9rH@sa$ zz?_u4VD|F5+^jogWo5MliO9*xp~5#F$dE<;Ee0^TC_$O^jEJtTE)GrrbeafeL`NKy zD0qmhjLbb3vzsA+sD{QV7ysH1;eGU|>@#_4Q&Uq=VBi&}yv6zXq8H4hq)|qZqvlcb zoy+#FQ%!!CWfi4ypIdVB?ECtXOGaH(RG3AyE{^@W4WI&wKYh|FH&0$%Ttr7Nay@kP z_fOt+cHuBChSxlH@8vQV@yNdS4?8ikWtzQS$j&V>;fx{>N~0tzjl}C@{}vbD<$Byd z-%ahRp^@N&);TpbKdifaapA(G`ZXs<%XL46=oS&ryy0kvf7vS^X(=p^`5!fIhc6Nm zSkW+g2Y=oB$>nxnE|~Z`*|^N+%9wuCW)D@`-|=LdY#C ztfo6Ano8A*3yd`35l9D zs4RR$`yqcfsvNP2iBnQU#?D+nG|?FvUY>u7iYR8^`Gd}Q&p9lLPwiyUyfB)c6$!yP4GkY4-qlYMaA*OwRQg@uK`%PnFnDjt_LAkx0K zBaaW)8s}}jPS+~{yuMXe2WaaL_4b;`D;Og8%U_SFKS`EG?)|<_xfmPM;EI*S?CbA; z?HXY|oS7wwi|3#GYFtxQIW&r`qciIA^DjfgxeE_PRdJoVv%+_s9;uBaOy9(qth62z z=j7dqjt2g=UBs{Shy__)Tl-MWN6zm1Gf{qR{UKVs^8Tj0T>LGk&AK`qyCG(FWBlX8 zi<85FkHkzExMVM_tZ1pIe$LxgSd2R&aYa56;&mthOuv$*W^QWgZAYJ*-u9)cS0(LI zJQ*S?AuUDRm0ws~#1a48Yr@IIlv||VCN3dCS)Q5X{@djBby?Z|Ts6wr!NIVd9V77& ze)pr+CBm8Bupx<%FEQ7{3V&ANbHy4MoynVnbtN zf%D*c2lh}}5&eA!?>HG{ekK0LedLA@^dtdLXk|bu=ck9dmA2^sGx0IWoq7*G_)CpH zm1wU|Ep2&kxVTvVP^-EouGgfCpp(RmlRbR-4PHyjo!dUht(3LLtq()Uo-B0T4h|;M zV@+jd>1Yi?`Xv@tnw2iQE2nzR7xyE&!J>PRirr@#-@Sj2K@tEx(eb^0d%AWTR1y09 z{p@zSFyl6=hPL)(clX9ZS1j_s&#|rq|F?+l*6rItK|xl(>nx0n7|L_Le(nAJTZo-~ z=j?cwdYthCQE*aeIyMbH&)jA6%}7d z?(FIkbbPb(yC!mSK+nnw0LZNQemQzRFquxhJn(1qQ!a~JK39pXtgaJ1HCSe-?_OA4 zUH$W?Sg!@!(9m#()c)POcOdjl+1IOT5(L~JW@&Px@gnG(age*YSVo1Kr6ys&L?C#q zPt{hN?#p04{2LW)m?8$=l$x4c!wV{>t<=)JY@G~!+gSDO%S82IYksJqp{Qo{@xxJ9 z*UO-hp*~YLjQ2mDDLxlY5V(zwp7u4A-{ZtJImz3^4Gp; zVYMh`UAdH$_F!s*Jrl?b>ZKomUL2TBzkv%uY7`f5?Msy?D=obeG&nd&%Bq#bMJBw+ z$jT~cJJ$}_3O{)+fHn_97#Vp{gwFU}Rn>An$I-!|%)FazU}VG@_yuwd3k!>t)#l#^ z2P7kVm)9wH8y5q5SZ^JHzRaq&7qh1%ZTxh-Dx;oVNl_8fG$c`oaZaCN zWBH7Jl7VRh~HRSv5Ra&aa`Mo8f>?2M%5wniMrx5ohOCnep4+JUeA=a0e1M@Faw-M`g7btA_G z1&w~_la>)K;PxS&nw&cn02B*%EvBOOdVjsw<=);Nd>F=~ZiHq;pn4E*io&40Gn~L3&Kbk9uo5!F2aeiQ6 zAS~GoxvRb0`)FG;DK&NX zbhBQm5Pt6C;{#T0+!ZrFH}|VwQ&0?q3d#$)?^x|*Wq~}_0r>(cAG0zrWE2z>Xmcg! z?yP^j7M_qGS8Hi* zo>uUUlE>D7NxSNkS=$9UFY>S7s&0FirWScwZe!Z3tCKtQZgfQ4MMp<3G3wHLKnByA zK|?dX@kM4KketKl=NG!*&lS~g-@b(v<{~E>pO`q?Umdm=dwY2Q-aRq_SNjNY4i1j9 zw6te7Hbn&mtgH3I8he0iU%!U-EPC~0?qOg+N-5Sumy%=fBOv1A)3cDxkiAXBa80a5 zzKeyL47U{)6Ewx9~YL)lI))LyeA(-lUeiVj_B;7Q<;|Wb|h=Ur`LQZdTTZ&Ux&|M#jdg%gbfs zyRqgL9l_Lh?)tfJqx0DM?kzn5R!mDP?fF5^%Es0+F`@O%aA&Rq4yZvs?J&exR6)T8 zsN%95N^c4Y&eBYiU!iXO#rHR8VPRpgG|EW33ana5t@l-b@xsK^bbYc~tyfV=sl;)8 z3}~N1>4_Z*3JUykOH0e!NXo~S6SZ!`ot*)#%DuiZF=NQv?iOQrOiWEojy9?{$1Vw; zDTH0Y2=9#QX!2|R?j6TJ+PxZefRu-ahhx$KYc@1Y%MqK3|K2%u-CrfgoFh9t0+fbNpMW`^=AQZ2Zx6_ zqGg`ULXADVaywnEP=}F`5n0x)Zv<`r_}116OeRkYM6&%K)xBj@Ro&Y+x&Q?f1e8WX zq(n-P5~Ni`LJ0wB0j0Z5xUOHUHRm<;#hrf+N}TM^^c84;EtUAa6P2HTbu2xN9Wn~|0R0iF|1q^7_zD51QK6mssP@E?>^{-RQr9x z+ga|j82b3cF~^5EJR*V`W~9Y>@6n+#N5#hG?lbX>O-T_=ltePN#Ad9o{3faZQJozSznp!upJ-6o-U0hs%Il!%e zC{qQw5(0w|b0VvUg*b}C#h^1kTIF!zF1BP|VPVLtSJn1&_Z~is2?_b}@kzUaff!&Xvp5Vqu1b7S6;qX(kZT8 z?{VXWJhoZ?^!ddY4vkP6fn^9-z+vB3)sf+0RyH>Is}~VK>_T+E|Mo(sgy&)O=PBbS zPjo>YKn8-fa5VAf&V2XI5|buHOn(!fh$!^sOH5DC#hb3S+daLMJbI-d=K1-9U%rH& z)q@#Jlk)op0sZhJIg2vk*7kA9YPULYl18szd3G~2}I7sxb? z3N%6QPriTu;27Ol#J-%+;vZgFS;-&Shxb6cYncLq$VV{iL0uQH;1i zqc}y_&d}8KionwBEWhi#4+M!-wkXf@a^_+dp5SMUb7d06*u> zk<%Zve)%#x+32TTVV%WG?kKRix#=+f{k%1Nkg|%(Jw-+GQglxY^!9-msWcxSADCFu z3m3HXV=5|K9zJ~N>|E~p5yvARk^sDWp>{?6vtLRWus)!x#SFjT2c5z}e15fm|DM@W zLYiGzn4FX(FHgUic$I@gfS*5+AH0ydni@XqM7`&TF|~}$=QE_N55h#OJs;B0&@>fb zhhK#dPZG4cCof-8T1rSnG{5Ou0aM)z zUsqq2qBMT|*zVVw?o=$~O=)Q(a+*jRN{)olP096X{2eqs`CTbbxyyW&?6 zCMG86qEIJFL|p6j>C%{(hlYlRsp6h*-@b(wq3b;XC}6a9*T%FX4`5P*&RrCIBlfHu zf&|b6U1|0C^XIYAQE6#uLF>`GF8qtq6kJ-Rj!WG;JC5cbA=9s1`P$klyT9`iQ1@#D zQ^U#O%0g%A$j}gEFvy=Q`8aO9T20r7z~%=2n%TpI=*hGp-$mftX(N93q(!M9OAvVNtAIvDV7qJ!@aZNzvZe z$jHdp*xVejW{L^eKR5t4UR_lMT}k@!bfUp~Vqm}p=)9>NbSdaLm~_SXYmXsEz%rqa z!w3j0_*ji3C6U0-)O^M-v$C>kYd!4kx4s0CR#*;Q9-_l0X*?n@6;FjE2LA6bxCRrH zosj{Srq1(d@8!#vzP{M#u8bXfC-j=zJ^+;n!%B$jw{{Cd{^QLJhbI3skde9h`5(*6 z1^M|cKYm(o_yg~>w>lCBS7c<<(-J%)+WqmFZ!m!bgoGX&lTsiU%E|-;YUzA>&9x*Q zszw190N;x9^Y6*XFmZBnUb(Ue%+T1_2z`P%4-O5@X1RhOB+?Lnv0U2aFpMzFxPIw* zd2%k77rO^7ojG#E(bZbeKQmm51O3Sen{yRUf#`$2`?u9_d}L% z=$|X)EuCKkIieJQjZsiAHW6TRp(%hM`OO=MgxuWRE1Rwef>8s)O1Z$d*mhuXAT{80CgLYj~;MyZ^nIK zLp3$E#Za6}cND`U0psxX$L{~eGPSUf=O;suQp@2|Gg_k7A3qe8l#1E}Fp4Snu`coI zaQ}ix1xcPQitoc*YeE(}P^>TUY%kayqE8XO?Z*%DQWA7A1T!fSq$5mArYQEOKMzc# zH97m=-hMqht96l{GOfq8lgE8qc^MlU+n?>gqn?Ts3z00iCeD2~EHN<=-hOywMElXB zboUoU8B6Q#0EApOfO^tC=M@)Ml$Ft4GeE|q5axWdzq=E(>=DH0Zpux!NSGXLZI02G z1)`FC`yMCgj+~vPjH05GA(PZDIy}j4+w#*$n%|VIFwjy^P|y#Ppc)_UD^~_V9)MJ* zCVb)N_ZbGQvgeuen< ze*5}$u*^b3QSls1fGKN;Y?|FGl1wQzwO$x4^uAw)EU`4Y;(WF(3jBe3q1J5|{(T1S zI8iX%U~yVoTid^VyCAKUD!w{1v%N7TBPJ$R-4i4)CG|WnkDc+>qell|JJrzbdSLdh z)`x5z90L#*YL!9Hg3LE}caz1Q?Hz0{G*>8x3%+{w3VpQv;6a)wKJp`T8ow0AHr4w? zuFh+7I^bX74gGqLgp?F|8X7>s*RnW1vsU0(foIfq74W+T2Erf?f`h+EndaHAjo!e) z@dMmd>ATKoJpCo;wB_g@v*Cqt!6X%pm4`yi}AWXUG`uqIY#7BQJn%m}&uI0llen+kR1`hS70% zug=IYifUn$d6Aiw)fFkr_kxhx9(Yq4y+xq`UALe6wy|L=At6CbOl)Tf;+;o8KtNO! z&|2f+!!w=vxw#M2)hSxBiYk!pEMWc-=QRcz2A0$<)%+6!26< zMdd9o6+c)q9UYy~%n!A-wGJ9izz1$_ZvNqDu?er=?tn0TeSKhKYn)dvw9dzJKDzAc zxzb+HQigT8*ftD!OQ^XE_a>DO=HPQWZ5{aSBu-MlcsD0&R8YgqjvpNzO12F62!2#7Hcbw`)G(j~ z8w(4|&6^&LzNbCJC%U>eyE0^{*458i4VShxH$VBcHYRbrAp_|>-;sQggyd4aZ{(f- zsfv?F{P2kL3km?`K@5YOzm%2v)~AJCI$Q}-Uc1~fUG%g^d|+T;{90<%)u#KaO7ij? zSFeK90i(eKdimtI3Vc9aU7bG@orG8IhY#mFiPsfeZ|Xr{#l=xVqGl$lkzs^y<0BhV z;Oo=%V7#~Ww(CtYOtQ@F+ow}IHB?mz@bS|`34BVU zUOoN^@Vg3HMp{NDAWSGJKAsjdGDO4$r3(xUe+KluZ)LjC)s9RPT8tnA+*Ru0tO-(9Ic6_~gkP81P9( zcEqX|>#XUU%cl^Mr{?C>CY|&U`BSpQCp$g&r|T!Gv$J2gW4{Hi$R&1A0x%*bwlTBT z)lHsEn7yP9N}Ge7otKaAE&cc-RaIc)1W2u&#jXsw-R}$A+gn?}e7(KBre_H*)rm-A z(J?TD1+w8F_~?^kFvP$Fa1FrV^6)f(UIThZ_b-J0Ag7?P9{M=fcN@m@PaT)!?b z#Jol=oZ96OLpfX=)G#PfN6i5rhAbaG>~oeUT#t%~_+UHL^ySMfF0R7v?rxig-_F1f z5HcbnA}?ONXp-OhTbBdAyvol0P)$u!Q`2&yeyp+adC@GQl8Zxzv66t9!;mYy5e9a9 z2H=GjfsAW^@f`c=b6ONCCx5tsQL&^NT6n9 z78G>;9?uI-D9V!1`tqwDRnaC5q18F59UYIgh=0o`&PdgoM2Gbg8oaqoY4)vyV4EL$tCaUzF66lgAq4&cR35 z8_n`gHo+Kh^6*Sp2Vo(LEe6;41q7O_gFvU#-E@8LhTfCr=hvxo-+lL}Zl+zhFQ zZeoZpEib1Rww;8jkBW*)BEzW3apk741CzMjy5;Zx5!>+;z<9*~yR?$OkWg-1md6cm63 zg04@)*yg2b0ex&2-!^Y!4O!Q{kj4@9ssRs;dDEJ&U%!Gk)YR4n55k+E@WC1_iUPu) zS3m$2o_s6AWft)5=H4EK1!77GUJxwl5txME$H%z@UI39rI#nO-W?ER~(S5W)mk_Z{ ze$`)ET3*eZedZG?fAwE_nbv@;gz!UeM_w50FSi=GdGjV{LqbBr!(Z$7LrhzyY*oM` zZEqJA7P9==p&$X}Tb7hGk}eZCXt_7t{CZ`186u^`xD73}tg70>N&w(wJzBZB-6=5v zx@u$UGmz~?I=VWO&J<^fDlAO8+-pO6jg0{!0ptb{=iJYXWKJ$-#K-{=3Y8-58tq(rATT|a*O z*psc8QDlHt7zeR8vUP{&@5P&gv-s&BDkDDSBOjl%`<^E7I+&vr6&0;6@!1h^m16BKIgtKG5KF>0iHj1ltq?eA|e=>n0g8{cy4-Jl=R5V z^1(%X1cyI9As9O^c@Mn3UZw5h?o2sHJgmi8<3*wkFIu9&MuX96r`KzjKtj_=>gv*k zwHlQS5m0hR51z|LbSXk5aS+G5_fu}Ref?^>#VmbBXRPsQ3Hr>*%#3~QoYV-|J~|Mo zfS^tHC9sf9^xyzYqpdJ414HVUFJI)=js+*qHGW%@I2hP#L&`{ci#HUF59?ukL z^H|8X?9x(H0drEUK(`@Rb*mlCfD|UQRb<%IH8fl{r<-5BIxCnIvP>-*nYn|{uXG+8 zDPCLZ=Y~6{7!}s{C_uWTWNqd^S2dnnW7R+41qQ@slS@p*WbiyJl!{ORlco z-dS5=f0BP&Lsdhns;c<-7Q1WwMP1g=5mN?I>XA!ii1n|38xy%)L%jZ@gZVmW@hH$2_yMv(C7>12{dy< zbv699(Lj-|qbv^ZxAt}v%PQ?=9336en|poe;{QbhTtcdAAdAoy6~TY6+3f?=FY8=F zZ!h+C(jlgS1oHsFR5CK3;f)C@u2BVpTal5GslNPtA4C>8x{$lJuI}0H@@*Gd=RBGzPG44ln!|!)rrFnp9$d3%s)5tL%H%#6l;mN@Q1EgZLs^k&)+&5sy$Jmic z3AC_-BjMEFtJeaRwNfiU@Kri%AO;jw`Atnc#Qy-ReEaq-G&D3f1uK&TE$<)tcw@40 zd!duf-~Yu6ugzvkKuF(5oD}Vl$Pi#VS$=z8{?_x$4OGPTAw$c$Vt6a7(CfT3{4OXE z+r~RN(W$A$fWztOQ>&|rE)|%m20hL9b(8CoCC;=3GY9iBjr{*to~s@z4b7Q)6<63)YPD? zt7ni;fm1Z-05IOT;WpJ2;M*1-PX&Sp^3c@W{DL$nKuEzV^S-Nx*iEwe@7~e!8ROGq z&S9QU;-jCuG5_PDk&#j3Y+r%K*w|PeDop3*cDLr_6W=zrPHwsaVWV{~x-tS|V#vqr z5Xn<$r3w*T!6aQ}WvRN3_V)J9P8UZ%a{1)=Gx<+J+2oX2YxcQo=$~PsyTv2?i;!)y~skIc{xjosyKq zac~pk40Hgb08*$@pCpa+Z^>H2);W7sRaNc8k-@<$ZP!YLpY6RvZ@aT2X`X3lVcHM! zN=ka~4W#59K)M8ejxeSVn%Z;)Q?a$R1(GgXlmIEcNQOanEG#W`N==n5Eq?+Ol$DnH z`uScB<}naSg9fxawum-~L8n?E7tm-`BA#;REk)R0J2fX_EfEiEmjdhStkxgnD? zvvYHR^~I&7(SXvIoI$s_fKLJF$f^QW0P;D?m>!Ws3kb}#h7G)XB%>(E&mT-DTK@6l z7HG>HAu8nMEnQttuno{WAX4N*)GKWFe*&z^c~xus5oEr0$7Tz zmP2m=lEBvH=DNbPLSloq!qA;V#D7AA*zTuz{92=P+Qdb3^Frn{%_6#b#nlzSjhc#T zXMG}-=3MmWsm$!``Go~-ZEfgc%vvyFxYMVhub3pbS~1}zuc+wc=(w}Hn`i0k?KTg4_ zzGTLZmi7`Mk(HHw^5ltHC!!mrHhOEY8pafIIU3#>L4a-9?Ck9PNnqSjh?zkUG4NYr zXnl^J>@Kw2m=75_`3+Ig9{Ad{AB%hHWmuSvrDZ1258|i`Vu_Zhb#QPH0DM;3{XV0ROYu1Hzb`ewz_&I(~xdiHy zm*tetJoHyrQ`7b2*sWR>K_my7=Int?@y^jO*DEr!uz(emmy^rWDAohjYj1ClM@(P( z@#Ep-MYo&dK%Qu2=*daU;NbpToIcFyGmxj3`zDZ$E>MXbZEa>xtmWi_GJVlnlBK2m zbdZQ#g^xeK2(sa5Zf-Ve2@VPk-Ggw^3Z)lYUR_O&jm>`hw)^mzkmX=_WMpJYN)fm! ze9#XG!ghwPuKQ?V|N2kJrArV?fLUYb;f?VbnK?L6!*PL1d>7O_T6F$Dg>E4ETAG`o z4+SwopwZR<4PaFM-dOAJKY=FepqmeH?!Ex|%}HSa4BM3a@;yXI>z6Ng1>wydZ@^$c zx3jaeVen%<$*81Ac#FGkOtOaf;hy^jdh~ZlR#p}vZbn=9C9rMzMMXuqxep#bv|30* zFv0M)@UZ|}uPM0P*GDTWh0&)9m(+o9(Te!X1;xyJFQo(o%Dn&lu8=c=p_;6;m;bjH z0D%8>^96p;o`9!dS<1a1Af|V&t_i*`DFFdS4`hL)t)R;TSQR5@r?f%q#>dA4r=QUR zlmn_>nwjZ2ya=M|1rc4f&4l<=3kZhlnwsn2*Njj5{E2+Ugeg!jOyoCHL7xlTFwjeQ zd3bu(p^#C69t^|Gtfrv>45g63mjw>hk?m0JCjEMEo@!fLn*wXk(2yHojw72dcY1a< zD=%-?j~_oUmey+-qRdKoL@UnVJIfp{+dvY6ZyH$!QlYh1A|IzyFoiCw{cjE+gx+&;=55@-pBQ z^hT}bhs(UYn-C`ex)$vh0p61n6Nh1FUcP);s9ixrO`VmUJss+S1W7$Ui)p-d>lQyh z|4sLumxrzPU2ktID=VYRWZ^gQ89_Qtcx?XwdkRvxsi}!o>CIi2@ocd8v@|q{QBg*Q zhM*ah!GlTPeeeL|e}=Rl;GC<(a_A#Z{k|bU{rU6fOJ4+JL#jLf9F!8P{oL627_`^$ z@UUax;oZKzK8PJXJ-wZljUDtleklYzQT|~V*T^3mL2jShll;x8|KgZtO4NySuxoX>MVmm9p~r zx-$|Tpc0glMQ*#CMHX{2OMP&CVgWi6;^Xlv9^hy}6dD^Fqop*#EkU2Sxw)ZR-GaV~ zckkW>iYYF(0kZ|Db8Gc0yuYK9Q<6@L6=)kBo$m|VOJ~mh$pOA>pHnH03u z5Lf0J2Mf#X?gOosIeQ=jH8nM30|Ow&3a~ujGo)V@6&dx~ zp0r_GMNL8R6nMzM0F!f{K~=Q}2oq+Pg_X6XwN*nyqlc<2=x=Ev?~~&Lz}QiU$Ci+b z(1^d}L`)nO9!}D@IS+(S&Y=$RM_D=_@Fy40CNJ+pSsA%CS}75)+TX8pVWQfppzRDT z;uCf$OX&Q^AygP@YiV_(cb+-5N*9MpOo05ifBgcDhOTt5vRY;EK9<6N%$H!&@#fKc zgXbwJDFFe^(d?>MIXIR&jwB#D{lj5;mlqdFq$xNx-vh|(t_+Y$@2!oAT8|3j;RSX| z{HX=X0cTYPtr=Ct-+^!fHNfKke&}a@{?#e8s4+M#{<#ZMphf{@UcLGjOnn{vBa-|) zngRow3KTL-T=*UMva72LFa`uC=r`?h%Y?A7Far{9dHHsLC6!{?U@FFk8SE=dOTbBW zF6iT`e>&23eO!!%B}*od=!S^MJz@G%tHSp zUAM3|WCEJPM@jk~fhl5|4B;FVwG^G1$qZIT`fI)CQFl)d_)U&Y)4~L>Q2mA4fkbp# z8X6TA14SS{@SpNh1xGN+hSJ`MY;nbmf_e>Ld#I*%su(cr_3PJYo$Ad8Zo zSpK{rLl(cFk#Ti%a}%HhMoURa2_pHSippEjE^kW!EQkQ`c`)cvZ1?r5>{-TwCUHi` z#xx*uJR zc+WeEGc)}=7cNp$cY#k7VGKs^3NS1|dt}4tvqW#J7V9?@6%_RJ^lWc#HflN{mxxef zHp!$2vU|AH%rR#_46tW#P}BUS9fI&Svd|*PM#S{Y3|h2QX_En@8EBaF7KKv?2`Nf& z8xc3f#6~Ka!&<@0Ka_Wn_?@r{ZC&U{PU1Dfy=Q`iBY%0&IVdRTx=DwnnKgLdu-2pK zT}pCt=tOXvvDdeI2r`V8SVTNB|DV;5_bs2p!$XtKlyg+q3?@H4XV`Rx!1qhSN83+M zK>=)?(t^R&XNO!N_7)pQZN;-^rJ^Z-@pF^LGRd%AZI?E zN9(jH!@O`f$ltriOzsZ^Q0sB<5x_;i!HbjPwfWBWb`2!@)?9l=Mh5r=2L}gjcO8$T ztH4Sf9fH@d_w@Hue7Pv*z5@ysJ+cp2=3sw+XLZEolMmJfd>kY)5IvJb%h=rfp35m| z{2O-DU*O$hz!{T~=>cLGw_R{>*p`c81z+Y5S76}L;o$}8YL|8HHD=JNDDU{;5yMdE z)w=RJE@D8+qgyBc8)PAV{(&qnFE5ZcxeGm#cKUAxy7RA_X+#{aJWLV%1u+1$X=k#( zJD@KkEe!%rUU%^gz}tlj(qoQa{|7pP#9LfnZ*bdw3fhI2B`-gphS%_m?`eXLR0$pq z4sCsXhV$pa<{T_`F_~XFkL$;%DGV5^z>D}eqtTRh`~N0{&X8dM-B2MTY-`}<<>ln$ zRIFF$wLgW&!BG&yp#dIa``{Q|73I2-R#eo{+RDbsX$i<>cn`e~)98l>xe%Xd%$G3X z`D;w#&oSx6i=u8@#{aN2z~6tg#)U^*e7vRQ&fi8<29coSZDJxjW91eNW~Z{U5;O(m z*f;cfFZdM5MF)HPT;r-3b1fNetsgq`oo9HPPJKCbKrRLT2Qk~BXG~K5s_@NJ%z?g zW^wWQ?Cj3?asmn1@Y&ff&o0f6)wt+;|K5F$gNM)PyL?@?b<^9+Iu*cx~ra;ZqS1{)jO>u`z9{5gQ{-cnC1q)( zLnVRZcgd)!6N>9mkzW5+6d%E$HFlA^5fwHQ`MJ3}Dzz0=Xv{oT&fka;Hn2MN~_#)iMT93B(nWNT|sGPGK$ z1l$FINrLXJ@9pawvHO7_(|=EXGVRZhCGP!!V4gb`$_sbAxe*l^xn;Mm2vWGSQ$tbiHT32eAdWT^U~9&VERF7WQpE=2HLTEV4$MBJX`c@U`%Xm zH(mO+{Qdg_U0v)P9HgahL|v3_-wtRrz{J0Do|~KFq>xuuj##_om=AU&Hy6|2pDl|2 zLu5i@MAmhCJ|rnAX+vU!f3Gt+-`;!-wB`C(4cn;H>sfHVy(PvYLgaOTWN68PHur^{ z9Y+F!*Bv``+N!FmIy#o<4fyaqHFfpu%*$GL6KKho0j+WsNrh?m|2Dvg?s4lRmV?S~0!o%x{o zj>ztd)I0G%$J>*W29VR$ek8sY|BmXq<@=wryH5S*?5*h-62QM+hOG4x$koJP_9q^6n$nl z`kXl`CT7*Rp%IiPgmv<}QBE$dRbyiG);!EF4GoPWp4olCy_@v+!F#S-G>7JehK34R zkA}M{bd}bt8npyJ=D+T`VUXBV-iGI`0I0IFu>s+%uB`l_q(szi`V<}S?Vi|VdpkR2 zpgRo>z(;#8FL63vsb!rSXDfhw(Df>6YW&x)gF6|A{}zc@%&eBGML)o|3Q2;BGBPrt zBHG(I#Ke-*sLq}=Mmp9KK0$lzag;+3iZ z86_1J6}7d;*@{V*FJHE_vU>gM6*H}hTH$){D{>CQ03d%-={q4bESvGr(J*>(kHx8} z#wlB{jOR&7Gjei-oR)imXynCn?rKfsiMp(TsCipnj-nqJObAM}auM(gb1G@(4}eMr z39p-;hdThi3h~z%!Gkn5rhohxxu$cWFLphnBfq|W9AF#L7_>L|MoFLrcmt5LOC2oA zx(Ae!@zHy@9{W7>VX}2EgM*ppTwl7|~m5{LDwE3fI+~oy(z9O#uXEclXXf zyI9qW^?n#!19{IJ@zbcRUba1!%jg;vy4=qg3_(OhL|j~)zs#%r-Q=yUE#MB1qdhJG zR8Zjhou{Ygo(jJdz{khu&lW}}dIx`~!COMt&6H7vXP^!AA&K;b3m0FZLP1fnnP!O;8VcG3S`A^0qn4>t$%Mv+1*?jg*WS)e=Bv!_?IedF2QyXViJ7Zh*^fOub=pWka`@W%X) zMsAcGP=VyUckdoV@Jvexx)fQoBd6MFB{n9e?}JfmaB#5klP8J_3V=@i&rihm)4+nv z&Chql^ZKn_N=2&}DzG|$c>sY1e*a*zl>zm}wo}s84xW+K)glzHSw=7O@T4Xt-qWBD z*8=VBAC85Ci=jKk%*@60qq|$B@(HL@5SQq}^V`_$j4XA}Y3q{KZ6PP-J5wbr2d@D` z9sOFjff)W8&KO272JR?Bbhwq{3VLZ)SnHaa<^~0|K@j-)`Bmwxff`y2?H4yRG>ndp zKK}iCiD*miU11^UOSFWD&4jr0%eQZ*gGkvjkMq}vKfZro>9Ve8WW?l@mIWG7RI~6bM%HE97ft5cu|cLL0XK79B9VNCb? z@SOBla17LhEmaN+cf#mb=jNO?CZ)h00atY;uS9)M6tDo9gGWS*85j@}5;EaS7#|-8 z8c-}+@#$EFhAd0_o7h#2LTrhr>AH9(Y7=*ONfqU_UO94TkSx5IyflEQn08SL5Qi)wE(<=f)t}c-F9ML z$CciHPMTuS%D6>3RZUa2B0ECgeoc6z>z3kp^vxj`R#wmhPTSgo)*f6^1~U(cYB{c_ zp&|6R$saOXK92hwt?+}bM&`UM;`H{9rKOhkwpRrN%E0wiRu))9HjSrUSGyYtD&o>j z^f(1yUu--)yy~se*U+;I(r7h(DR~bMk6&wJFt$?qxqA_yxmNlM&3dw(cD(KJ8LO+S z+1c5fgfPr3EFXp}8%ZeW;(UFZe6Vl`2?-%~0d?kKPF*gCUlB}NW%f6>G&POC>9z$^ z(wQteK#tq!xgLm#IXF0|^ZKo|akm()lIZW>l_A@cbk>wHxehB-QmA=hJ5RZkUcyTO z|6rxKp|q@QcW37X5#2p}Ag->zvg~QeP+MEu(cbEHKEBA42ok^;<%~O3)z!GCPtPqZ zfZa|Nak|ROYuA|~rs8#~dN=tkt%&2x&IOm~6(OyO4Dcb%A_YD^K2{^;ipe5QJ=uzoiVz4_uU>`e$r6pb{JXRULh~Yad?T7q?46t*s;U}& z&{S7fM{5>ZT4oAeyBowR6R$k~BT3eUJLu3L6;nk{P7Y0f2=Ae++yyz$#TD{Dc-mk? zw9B^Puiltu?ORyz^J)JM3njt&|Md%Ljo{j-e&|%%KK?g@y?kfRoSB-M zYFalRzkJoj#f5<(_5LFnho%H9WLOu}_BN3!TH)c}-M{7K?&O_67ULQf@)8G)F(8b7 zw6@BE{%ST%_*+)IGBb0QRA~54;W}SEs|d@DY8=UdGNV=^PfyRr*-y`L92^{uc2{H- zS(%xCg02P_^gW$efgq0VXV0ER&%0>@yOpm|tOrP(!wMg7_O0*jyr&Z+?rG1Oc*~J; zE@9!p@o_I`JrFLWtg^DQot+(Y0_53+mFzQ$HH16TSm#R7#}Dt{lUScQi(YRzh!G#M z$e5VqYma>m>;WPU4-cETBEQVpKjMtdUBBQmae|(Nr(OPiV&V@d7*u71Z_c#dPZb~Q z?|0ssZTq!8VRDUXdgSog)XKY_&n&c;Zl7AHqTtdZqoL7KR+dW6;OFPJ9G9+RVPR?R z?7RBF`Y@W3a-iGU$jFGA@Xoz^uWV;>l{0`6&oJiY z<*8;Xpha-w;)KAi?v2=h^%<{8`Sj_NlppSy3PJ{PkMHrkzHRE=_3pdo&@2EhPKx$V zpA6t-;54h_QS@<`nVFfjwKe20;5mpvvXnk|4Y#H4EJm3Zz|tV@q5I;VhicbeR|}(N zZEtT6Myau}v9Nff&eJK%f=We2<-d<7$K>2kegFPie%)%a6)DKcv1+H05)D#w^M1eAO zu~AW^YZlVdXlapjnZVq)>Y#i;i^~x(&cd+E1QL~%mLAW==?_}&@iZJygW-qy85|zI zAPo^LXx7cFuRrni>(|Ig^ej~vd5^szlOIw0hlile=*8R}fz8$A?d&!oY`u;*Wu?CY z27;XX{rk6ofIvw}$>*jfP|>a{{anhwDt1drSrsPjtI++8DJgm&cAH;Qt}HL#8astJ zJ^~YUQOH{7!2=9@7J6b>00HIRa-YTQ*N9n}x38#$fF)>&WXjZVbWo{W~WgUpEGWo+IMxN69cSv~>W) zamvKR1k?g+39HhZO0VCCV02vF-Muz&jwkzX&~|_ky3EAH#mR{-`rY@JsBCZAxQ%h! zz+&dUdNsdoJ-x0@EVXl@(k>%1@{8x#yo33cZ+LqvS z*5u@5U>tDJxosmAHl*kRtciBSEH%wWK%2wP5mA88+eZ`=2%2Md;_aXyWRFjc}kB@r?JHBW+8Gy+5J z8fG>&6Cjxm58cgC5(VA5Hd@tW0a2a5F|Vcnc)MP!GS$(^sc&F_vbKV}(6PKJ7l#-4 z$xM6&6qtWFC`Og2{|dOZ@j4F8Ps77n8)qu&+nb6vZ)40RFA$~ufY>Vfor<1>dAJ9u z0(v=wK|&9lt~rWJ77G zc@6zjQs@~o>+8Kh_(HbF$SSVyUh~A^_?Ny8DCqyLiAAiu) z)6?ssS`HD9X(>H8Ej}hr!GcpDO=MDP`g-FYF`ehevE} zPnv%BTYLM;%8JX{=t0kYi8C~AH|fJ#nNXcvWdJ_>4I5;{QmkecPWr2V!C@i#UE%gtFt`%xmtOYW7X;#_- z_fJhXzmDU4bh(=qN#jseRV6JVd&Ei6r&u-=5f#b&U zcjUB0fvq#tR8+MtYpqV@pdTy+MM35tynFM8Ry=j0d;Zp#NYW1qy_7cN>DOr-GFa#6 zVj!vCy+hALMUPCIcM#y`*W^@pbE~p7dh{qEF>(0WK#RdOY#f{ln~8c5g-o)cS2#Gp zB*rE>?JRbkCZOQdsSHo7_5R}}A2B;Ocaet1UwgdXQ{L*sZmB;B4vrt_3F*7$=F87< z@O=IJLV|wn z{TmGiM@ICk9p&D8C@FPpFLY`TO_!SWK%dbi&uC5Qi$Z{n5hP6u+u$t%+SkzYO-gZ% zjAkIDr0{fARJMK&m6T_agMRu0GxSlD^Gy?u&;0@S1t$13*Nw@+K~1UFn53j5(A@<3 zC5+u?+m76Auqa;7{ru^1ypNtE&RTM7*)mD9+R@C)YW4VF`@o|mdT~nf3YTE5}*GryS%(ScU%qdyR57%cuo$Ef_X0O3Tr2O^hy-6Nr{M1HZx;) z`tC!cU<9nebSD`9+__{4?~^1U8}wv#9-fJB6wiLGS=rb$*w1|f(F}>F8bXNs`SWKc z5s~4}&SHqm9Dq5GeOq~pcwxI~kcsNWdUUk3I%;aArd^j=quAp|?hS)xKy~T2Xm)_$ z*ocT5o`;T}o^>@f&uTm(5lnO0_(SW#_l=Mn+no}CM<*Z@`-}C9Gc%c8AGFK9d+(;t zbv*v^<;%yPUkr_ms0M13eEf(W`UZd=Au_@WuD|K?XN`B75lKm+7X6%DT!r9gS4Ysj z*I!y%VBS?;mv!Iv{?-p@Y<0W{W7LRo!((!M*n5R`X=zDuIKbwiwW%ro*|Xify~fw5 zaB*?ht){jQ;Ac^+irxMFYyE{u&!0Cgc4eTC_%x^TRC5k@mU;@cK?#(IJ=;U?=wvAi zU#W3kz3h)q+}gOX{rc6bhGwk(ih%kn~MLW@=;z^^^ zV=7wzw&nuyUjdrP&nKehoBf_}{jGNqf;lMTKN|>uZQGtH7nR!;a;4BEhLT4w^Qr{+ zotc@a*x3GWi4v7fAjYD+wx&J@_D-e)0(u_qoFOL88NLm%Qv)*ytvIb=x3fMW0m0D5 zSLg`%T(^6_a#zK zTwj>w84dx{8NxqeIg1N`&M zPDXa;6&cCfuFIa(;JTIE~QlubS?tk@L3%ij|1JOtxBYqZrQC?X&;=;=9IgNhRDlx>| z-roM~o?_6d0IJU2j7(Clm4kS_)*XxZq_MGaV`GDyocvuNs&<`?zOu4%+f08?&q{n^ zO3GY$09PPB$zqoA@sbwyv)pdOTYcQwur^W;F|?BY=f1P({ZZ&gV^`6!Z7;(b%; z-+FgWB2ei9({cGJ8AV>>oPXP>siwxPUHP}YU0hSMPCl7OxAs%PMfdeavTc3P=Eg=O zg~-C6KYzx?oc;!5MNx>D5pL8i`kb7cjE;^vIyt3qnn$WJmehVV^tmz}%6P-W!?Wi? z^4e}`xh)9Kyx#R-;cp0zx3@P820J@FrN$14jUDZZrcz87)}K{X)zN8u{~OWVe3MvH zj3vQ#rkdf!i(h?xa*~okLVjRuHCB_Q9+L@Z-A^aYN(WCp7xh zgalsqV-rtL&(EU2Is#&9EKgK0%5KI5T=(_PmFF9sRlUYAL~egY&Q4Evn^Y33iYLlv z-s(biW@`e}+a4vIEqET-$MV=N^r360t4ELvHFij}wY8aYBpzEC85yl?ZfaVmv9{jE zSY>oL+ju=m*IZ#o>3wCG>)VDbW7@X}=NBb!%p`t-h_tHI_eb+v42M7V7Q&N#qn2H_3ZpANy1I zVhd>0zfa?$J>6<-E380BjgI~;Pb}cVEKqOOPi#}JS!NK1|7vHljDok)XfolTbL*0E?;{`9=q z_eVl2^fbj|AR0>Lcc#qx`&Vo|K`%Q2ZR_7k@Uqghw|=_Od6&nyBb-IQkzP1Hx#~lX z=jj%^)kJZAetx!O6r*90M30DGw`N&c8LL30P_6!xZxUkR&x$V!N`i-eo)WpQZIitaJk+OQZ_D#>W zK(v2$QFl>i)E;W-$XM#QN|HZpp6=Z-K#Gsw!PW;FSXK-lA79Mm{reZO-S_u5wk}8& zT76`P1r_gTCcV%1ruUYDD15piw{~_W=6@QAmT6Z7e)v&X$S5En;36g|xp{rIi`teV z;2N0>+ncW1GuGGBo5E@zq*u*TFhxd2CHxg>m;C($VS$>Co?c3Pe8(%;NRBKkl+we) zWACXaW?&ncVtzjuZ|wczIc#>ChCtX1789&+Ib~{{sI5QQH;_R zlB=WRYEoHou?e9BZ7c(lp|MQs*@SLrKhwWWBkN5qO_o9`zq(b6acAVXL?LX45lo;v zd;%Hk(UU$9wnKq@`CJ~p^z`ie!9GWExV2?*E@5M{KM!?{GrXUwFrFrX&DL!S3+cCb zHPl|IFF@$%>4Tf?_viQmKMbS^$%?IZM)9(-(Z70icQPmfG^~GMX?M3M#*wPZtl!AC z{Ki|1I!;DbRyNM-a@Mw0UhHk=(ENNV+0n&??QHEUEFfo*$t4*Xe!=7-K7HQgpe>1A z3x-@5y*tqz(g`0U{?3(8_Bh}BXk?UCRAgmh^0zr`YQ1SMwETd#Ky7DbWo3Px+hMJ1 zy*I(I#Y@}Juyr2~_1UxSyNCKsU{c{E#V!hg%|6CUzdlnApNy`4{``3!H=LBOaz7Mp zV#%3W-S+VI){8~EBb=yhUoccGYtqnHpC(7-dW&lRTz1?e`WQp=eq6xg)IwihpYj@v zahh}r>dGomP)kK!jPxngW1Iw3<5qY$>OQ~4xvHa&k1+3eM@Jyk+RCbTULz&XrlX@H zRJ!w3IoN80@@o;qQw3bjF!+IyEHpZYp=|*VE7gZ$4};bmOyO%A=oWW3CL|)VzmuiL zwn=Gr%QXOd$j!~&vv#?N2-efrpC-|JYyZ61HQ8=fke1eL-K#olymT%7aH7y~7CSiAGXwA-|NX1E7j z@0vl6?z`C8v0)`9Cp%IprU@?Fn46nB*5Pdy=qf8mub@-aiL!VY{G36;-QLs^H2qMQD-h)W4!|UtOl*+$8qSa$!bT$N7nZkOSt&> z4(VgG3MoJ0;@a8d<_$FpUBzeWY}4c8UDmpyO?%_TB_-=Vjs}t$w)zNp4vSk)4K@`M zN4+sOHMQp?ARwTlq1oQqK__I(h%_yf_McQI+aPbY<3LH{cr$`$xy>-n zYCn#4jEuzGu}oJOcTSbD1-BcqbXtx2jqGeJEiLWs^(_dy?ETpFjf;<8X!T7G=HTRH zVq%(}Uhq1RKUchqrjjI9<>%$qWX8WZSbWHi5}v8Gp6yTOonB=Va{}w$!K|(P_U&77 zad9ALt`lE_dwP5EqOf`PrV==I^gCw^uo)MZ0EW()p8%6nQ&-1QHZ@%zNEImRpS~RF znY3JMi}O0GL_#O++AlR|_K1VB#LL2n8Cn?(c1rYZwVF=})Xn;nz-TMKeECvc&9%Q( z6&X1Y|4O&s7z-Hh-pg_zdlf;5K!SZwx0GFWkSV-=rR{R^@=i`pnolmbVTh3OJLPLJ zqobh#3Q{Y+yuUd}7jPZ;``6@RfBuuWzW%(2NO*oZg1DY2XccTMlD~jNa8LpU(}axa zoVQ1EW_TiqI z=0GY54vr&$Ohw_VpX|=SEBBX{hU#n$>FDS$R`Cy1JU0S_G$K!pka&2x4{XKfc{Eu{#pR{ijbq_2xKAI@AMP_KWp?_s%*3SG&o0{NiQ-&s#u zMvO_b)WkfQ$6BXG8aVx$jpO7jV=LtxU!SFyx3}RfxxDpGOJ8YaWy~Fa_Lu{G_f?WhFW_D9@kkw)%JjI05T{XO4*y0Cj=QRGBNb`rLsj5~Bo` z=MHcQ1fWLW2cPy)RggnGS0i`<6k6V>Ge%3D0z-kL{_o#!G&Lt@XFX?YtwR^z7e}Lz zxK&WJ*U`J`+ADQ)er46wdGr_&!85|#&8@zSkiX;O&HzY57xygvKwyX>;T`Dh1&KjMQnItFD<7DtYyykCoLupZCii#O z{keub#q{gTOFN3M+;WM|#W0%8W3`aMmcPHqK=_^+^JoY{Jn=1^@8!InolZ9`+zx|Q( ze*Vm_nFDomb8%p6V`F1&O@@Vabg}4LR71)o4n9knrOMC%M4E)(X$!Cbs2|QxQ|0$} zH$?{`72&N~q~zqnHgomW)z!(owt-*2K1M<^XmV4QU(X2fsJZWD@|)??aW!7;D0vr% z`r)7jKp%*hoaO^fPTMj3J@Sj+0aOkD`Xze459Svn_l<$n@ehKav;!sNEhBo;5V2)c$*DXb3P+bAA0(SC>@HI!BcQitM@`f0aZy z;n9SyZTGrECT6|-eZNegWR;kf-H{(Dn*0~vp*Cx zaAvo|Q1uewf2?Z)HPxm0Q&F-dksmm^xf%ITXipQ^#A#kPM>d{Oqy! zGBY?he}#eOJo6T}kTE;{zyc})*?ZH*)cXO`-CN9oD3wfHaWGa-Li!QCNPwJRmuquv z@}n1j$hn$Eni8-TS>d{u3qX}?U}l6Oz&{)y(S^(NO~%w_+?F)#|fpsqTX-Kj?V!SI!9YhIPr_Tyay(?Me(1?eYFa{{Im;|c zi@R3Of7MxHM0ZoKA(XkF?QRi~F1{x_z4~6<82fQ{h5{*r@2Q2G`m^>m{@lPL{AFU> zCmCk1|04X`^sg9;Cd9=7|FwWVhd^Gf%8C-;;dz7T?c?Kv^v?zmIX*rfbe^=7)R2o6 z1TynG%nwAU%&4eA5Q_mLrlzF)HL3t*FDm*AgeQ>v*nkTJeyESwKk&mm=`29HmNvn2^w4dyc6A)l9~ zrUD4s^|^u7_4V~V!=VMav&=9m-S@GdCOT`We`$U`8ylMvDLWSzbyic8Aiz^!--oFw ztyeWjI`QAXJ1zftlBu+Ha6o~HnK7ZGQgE7J=+oeH*H}_w4QyAZ_ESMmPQuSoTe2=6 z$d&DbYxyNP%{k3GUKGB}9-SH~Sy=&xH7N~^_`JN$q0D!1aBDcFYEjdc``y`<@dT@T z{TQz|;oj$cYTD9tSGQq!Dw}v*jirjZy7S@EZ-7?-vc7%$27JB%nuT;|gfTNYdC|+- z%FM`UbkMVY46y7kh(jPCHur9DH>sq>Ng<;VucaOkMi&ya+RnHnpA zd}%Q;S=rfD-Zw6+tYy6ktVNZ6UEk8~XyWk`TT76Yi)>2ql*yws-0A|c=Fm0Z6K%ZUk5C~aVyAg1J<+h;K`|I7kwBAb7 z-l+l{TDh&+I@{GE5b3OEstb;K5#;Ny+P@yU;Ls@m&M`s$sj~fp9Rv%bF=hFrmc{ws zb^w6qq+DETgMvCU-vy~@(;lGUn0N2J*wA|6m_c(A##H71BO4+7G?B5WDZlV`%Bunj z^)xf1ZJua@GIJDZ2ZzOK|O&=>uEsw@MtgomR=cEcv)$SEwaKJJ&2P;Wr zyW{Pht3dWPkWf%i0QC9Z9!bVAFU-yg(9np}gn4K;J+%NqKV3xR{Vxb7C+DL_{s3gG z7n%~2oz{EefWz^&JVtDMRv@KsY?PmzkdXKK66oOb=g%ATN{<~vJVmxACYolJKxm?( zqEgoj>D@|2M9bl9V^d!rM&KvmwJGKy#l>~HJp7=JAA`>(*?8X^_!!Zn_R5{VO7(ny zo(VrpU0e2djlBMxK3QQi8#;wBc>m9sbu0D^cYD;NV9*Z#T=%29y1b-s_!dj2C?O^` z##8h2C$)%3>&yPn9qaht33tN!`}^^bVK5koQDLE>faKM5_m@{wCKSe_INjXbigoK0 zY680Ef*K#h^8N%z$Cf@hn^80}#!JZW7IBvYa9D^|Ycqch{JoHwiYF)IQNgn^X)&6P zYyP#?2)T5Mr|9VD@!ci>-ue0Y3yY=1#4sFtbekvMzQCkM_i%GFF)_(+iVr-Z$xx@H zr{7v=_NA z1=Oi53N#W5hzQarTerz$yXM$3YI^HWYI9GGbaL|YFvtb9;!M}@zTd_N$xDmV#A&K+ z>;Dk*j_DeT3%Z~D1-Fk0=BNb{Jvvwsl2Zsv1+Fe+!W}V9gc><}x`2njEh}FL5)8=KZ_l=Cb-+zuC zEvUsPY@~J#1yIMIzE1O@P;jVuDF1EYn+lj!(DOW;gwJ_r40P!ie}8q2cLs0rB!{x! zEtFWx$%j+5@@`IOGR7$+adi(4Dw@{Z7qwYQAbx&7S*kx5tj4Hc`zbLrUD(Qkq9Ykz zYN%tp9vVxg4TjRRbrTAFj7@JrJ(jl z^GDmx^P>C(N+*M zc8wnw7w-ZO&+X+E>x(9HjSEMYDy1fVWu{6;*ZN#Zw*i}*$j{$DXO)ho4oz4Y?d)ac;!)+Z)r=UF7B;`4 zb>aFt?k*iHEG!2HNAhaFmnH0kc^2Z3qmD%IM{9dD=8^*!s)4Q5;kEaoQly*KpZAjH zeg{UUWIbQvmR$8S1X}WJTN{)K`UOh>5!7K@WsxT{^N8Y-9*dprtZ(-Hi47$=dvP=L zjAJs;W8_2%Pi#8`OwO|S_J3$y3q^unbxJ7*2S7xFXI?%zA>myLadVSP;&hHwL%A#A zIAcTt(}}~McxRWFAC4BEG7l5i5YbId&m><`5fh|+q+WXSzISycR?D*Q`h*vcyY73C zQ8Ap9GK0sE4NL!e2?C~nXr$q*Il^bOGtU$ zO^sEke1ePv@lIb^7PjqdH@yfgw;?|*XXh?n4xusK9lns zYt%9K8#epfASeYo9IJTmG7H~YK%fSZ!sQ~E$X%XPlD@oR7Xzoetu_iXRk^v45s`&p zP7$i|V@|{A{j)hgNlFv}eCwJ$0YMM{JDoY_${ws6ZCy83foC7^Xm4-PMtN!3J`DZU z?QQGelQaPItJf(iU$x+6a}T22m3kK#mlt>a>sAJ(DDpr~Zm38Em(P3nqj;Xcw{Njb z>)=CXl{OhMSoHKh+Ki-&R{*tZ$$AP!^o!mT%c`sD2l5++=j#Djc2YXC=YI z+F@kT@_()Q$eAfLIM#+Dxy`)Jbwwv+qKBLCL&g_RNpuEac~DjN^<58EgzEFNmXR@a z*_^v;L)>tsJ>PS4M~-?i_M;qyLD}>T5K~f{g)eCLVtSol{f4yGR@<18@^k(Ma%5&+ zI_Ppww6clcBIlQ8|j=ggu){hy}7gHn!mb_9x8BS#&WwI<%; z$zfL*tZgy482q&oiuXBsHH)EhLZ2UIS4kLp)#qq!Y{YAy=xSVBqR{iZoZ{mhEs{4^ujp`b*m;4=Ly|ul0Rr1?*Z$jlG zeM_&A5JYxf^5^Z1Q<(M$^0xrJr0jWApF0lBA+T6{ye_&G)4O;Qe`yJ!-BT#4&@N9! zb({!pPB2UD95$n`adB&NGdOBiN5ji4%i7~olpPVYbX1(LZ784`{U^%0Sp#UjyC!d} z$|cZX7E%&17(_gQlxLQ7v6GT~BUAp-CJD*U5OVz|r&2g`g8D!tw1S-4enbT<+z}_v zjmc5)D7ZU@4h8nfbQHk}TSCytK-Ohc-pGhj3-K}DL;_Dp)NJ*AZU!wA0N2J*VA$Z` zmF?X>ZyIi7xHgLZc=(tM^+52fx!ESFSQfuCmmZeqa|cz*0A(m192;A~NJa+n{GI1@ zoy?5ph62|d#sFw7YDE31Rfgx9Xn<)w^9xqG9(;tk_O4L8Ua~72aI_EGD ziE!&>H>j}=5{`i;3_alNO~mO9L-$S2Q1H`u$v-1!@-Vvd0*e(daB#+ zF0!bJ*OXKVM3uEKxcZHkSq zo0B~&;Flt4U?;Tm85q4`rRrJhD##SbuehCUR)T^3%x@bn0@ZLr!2sOV+k1j6X0 z5ulocfAZR&dpVBp-cjzFthyQJVPUVjT|M$4!!GW3NK4ci(XZ8~*P3p7 zn(;F6%MRU6{`zgSoarY4PU4=-bi7Pvq^^gPj0nR_UY7ZU?y%tLPsthwCO#4C(^*if zvfDbjV2__!UvLI57_PkGo>rn`>Fk)<$V0#1L~`<5GC3Y+9N$wjZM+!O+J>FCP(90Q z^08+%q3dW$d>);)8gqsK5|emD1Ly+q_=?0~vmcbq4zF*QQ6Dr4a&lCWKm=?-&g zFR#3sr|fdj9T@VZ=5GDgA?Mz9gB%_Z>n9+%+W_H)FMQ#&9@`y8OUr5g;eDxvd()YM zK@y6kWN%dN<2U_xQ|lIu=Y27&K0IN2%iZIdQj1QO0~`WVjIcNh%UPt z>z$o#+clLR@bDO$IG6LWoZ*5~!v@ukK^23}EwIE9dm#p>c(FgS{h_Y)FW^?;oR4F} z2Bpxj-%Fha_K~xs-?WF{4`u}ziAUT8Isjj=1}rKtLTk0BihfS}O#Ej`bm=*2Anx<; zOQ@(aFmPj2Wo2K#R>hQ!b$XdQpxg$Wv6Z3quG!|xxs1$oP3UnS;F#K`x-~fRY@7#w}qSHL9 zWVE6fXu#~7WftMT>sMK zva*JpMT*BAkO=&UbRONZZXj$CHqT7=9hmA&+yo3BzZaF%WxTIO%wM^K!Tq7O&Z4XI(a&{xR~m-A;k6xkPD&`%~bb zdL*W&rG*uQ`u1+iKd4(pPP;PrC_@8(sUpIof~=Yc&VF+mOG~SA^Wdf5_+8fZTo=|X zkL}ozyj{=0;2==k-Se}8_-B$OVPM?I)aWQ3%*zS@=FM5!m?xi7NS@ z05WVl4=svjt)|miJ-h2dX3dmj1ABV_iSaNv*mi^vIe(QkGzCA}rS4(0D{>#Xh__0-DU0;p9@NJ+tfpU8N8g|LH27wKtxkv1kjuwTweRu4FM=q)legZzYVs4MNp zT-!M{!B@=$FEQ|PPs1xTtzQ6defxWWBH5gom%eR^pU!`rW~2Rd>cYjPVy5cGJOJX? z%g5H%AkPo!(hC4JL7_LDEm`7h832x3)*l-QKm0teJI=Xcg}m-w{CcvM-T zaBhsbzpAH?v|JZmxK%6oYTZ=Mxt#;DeMeq{bc3albA*GylL2LyKd#6ouDJ|HUMq{q2_31;oG{FP<(QUhT(s(dBH~$t0+7GL{}UUf$qAzsC&q z4*6j;vxcPN*Sxcvqi#+z8wW8bNW0MY9zTiMDZ_rD+`L^7wQiJH%?za_d=NnHni_&o zcpi7Cla`hSvd>&s?dMf{(zqN#LIOa&+noty?GrdO*2C8GcE8YM#%a+E>p`q9CU!hi zMkd%<3Z1l=n&ya};mrsn*YF`;ZRBZ1PP~XhpB*vx`i3VM#Zg9@HN7n9-Cb!J_JMCg$abfuX}g+i5MJ+N<#OFF_NyVGU(_ zMlw*u^oj<`j*jTnd3~Dnq>0sQCpD-w37voVUZ>I{+~1(M0Kq1s|827qE!loQOAp0y z;j5E*UE|;qDp#nsHEk8KoWWbPDIP@J4-76XFGE2>g2`wMFi0il3YP98!m}ulMEMmP z4fIv0f@U|LnDjQ|66+|w3b9q!Dp|N3bwws)bweFl_;@tnkapkS1KB`(Sqv`GWS}3j zo*~lXk2=>TdbmVB#`WkE<&{^k$ioRfH5udl*pn~Z(4Al&eBfIX??4fn3A-o!^ZE`d ziLf)nh=PKOc2;C2Liqu0u3Als{?t9EF{iCJ>3t>)1}XT1cKk+Pyqn6lCO@^Yqr3nzudXT1FI zj3st$6+M2*1neJE<%GsS4OH5PKq-D*@w3P4YtHCmxpygM!TN+bIYZ6({9kFUtgZ7! zq>ta$1z77vbkn-US<8k7#;fR9^s`7G$DC)B@L82&&mnc24+w1hz`l?mOm#7k0lGSeiSHj0LW`6k_j z843!DqoX4ZHmrcaaQ`4b_VT85o|kp!;k&Kc+OXuo`VzWMt*ak4(|51*EHuNM@VP&F zdqcbfN84Cp2tFtF&1=~!D$2YcG%MuCqy<{z#X`;tn%?cyjXo>u%lG7Otgly2@N?66 ztmdWRwzft`ZH2ikE;HkE`sEnr+J_F-Lr25dv2E&KcQmA>B2A62LRTS|KLCVZpXlnA znT9Ws18N5fy9EPr&ou(y#!)RO0c6xYRcxo^CTm~be*WI!2^=h}x5FOul(hpJZMcS+ z*{i+#4=&!&>xCq5R@5#Xlp;}@y%gKj{g@jG8Lj6$n(6$46^O}+r4d@R_~M1DKC8FBfSCXeEJmv$gVX2GgIe)URy?+gchla%hNB{Z zI-;XihbQq6kX)jp_qp(V6T89zD^TKiIjG{+v}I?1>M6JPOW@Zd$iC@3`2CoyuUP1w zPI8iyd!{zbC~)ZNIva@)R1fb;P02Ok;4{CiAL315mqW>WQ9$$8cCTTwcU;w%ad$fcJ!pA z>&DOeQwxx<2|DLuRZWD}@6fB7jZf06-)$D?^Z;w<5OMwe=b5^P2MGBO`}=TbKO*lG^iy*P>+V96 zZ>d~QCstbx{dL0e#y&PtCs&R03*y!dSZU+k>a)o2_ z2$r6vlYTxj3p3Xm(Dz);$O~-lN}4()?%m)f$u>2DB_ZcbuDW`DyRCsd_Ufu;*EWg= z`@rYu79?owr()2c?E$;Bkd@Z~b)*86^26M5rrg+sbX^k?6Sl9>9ZYbu;lV`_QIXUk z9Uz6Ty46~y92+{ty4Z4k1ewRLJh(_kJx|k6=b6}~FJNfIISX?C_bCz&K0o*=MuC$1 zdKc%?2cR@ya&qzk@@BP-; zi61UM03i<@A08Fxi(Gt}JjR^2(5JxHWq&n!AzT`M$x=A>4r#K)f6hXM@>akyT z+ud}`&dwqsBV|X1b{hh^MHWoo)S5KUsD8gTy2#w$8c56|9s*npVwW3Do`t+`1fiH? ze5J;=!WqMF2rFb$I7ZKGh4Or^Q6hRhsG0iB+%5dkzFn|4 zUcTxHp~m`GAauUmVq07s4l^mQk4HGBn)H5H%JaDdpMD=6_t!jJaJBv_52t1zWjH2s zgm34!Z;S6)eG!&(2^F>Oj~;__fbUOw8GTJ2UY;@;(Ik*~U1X&6xSeC*Yi41g(-rXm zrt3alt)Is2V%chJH|lz7$sXK={T?BnkVQvq<;gPKg zboGL)=3`@nfL!+f%Au9!n2Q|NO3mdd<=dX-7Rt6I{dpw7+4=nE(BMPIgg059-LFtx zQ$p_-6|fr`$Kt7WtZ2OdckLJSrkx24Mk&02P9gj`dt`2Nb3*l>+l`IABeqqeBb#)C z_?t>5KD7Q$i6AH6eyjG?4QX#W%AlJ~uBIjd=uZo)t542d`nSKwaa70D=a%-9+JIXU zG`!s$hSUQK%PeZ>u;{m~W2dUjH^=pZ4hWoBt9G)@8_7_K!v*bbGnYU^KOOUOzcYA{Os|OpLM*V zg3dQ>0~7N?H9&vzBJb0_GEi^gduCTKFa!h~rKQ;}F7TVmt^1(OsI9CzZj6Jsh#!Qm zG#`YYAn((ZOXR$0i7{R{g@uJCHP-}$u3*a0zsSu& zN{GE}@<9+gp910e@q?>#|4k4@pGV9kN9)gj0#taM$3`0!9{)@F}<>mWX zyjkUVm$O;@US^SI7@*`GKU64W@2;{P(i|j(Okvo(DMtI}@Q4960bZEN3R09sAba-3 zJ6?>->-Yu%4L*6C>WxGMe(J9G!uiUxwG9YV;8MT{O~q1>xL4j00Z*Mxin-(xXuTi( z6E%6+vIR9IR8mB4en<1K1f&_yFIGkeK-!Yf{&;7{TtQ6p1#0-KJox7O0*9H|dD%TS z$*B(!&+fs&Wl;sC{_PLph|?c$!4nJfS|7$nM!EQ^zb3iAzP=D-WHg2KkKFUx^9n@o zbg-{mtKDm;WZBvprH_j(kx`S{>tN%9j@{ipc(`o!ZbQWb3AioK>M>j#xsmQh9z&P{ zTy8B>!WjX$Bwohj2c_+Asl})12iw6v*hXN+?d(3%iN#x5SPcB6E%txS)T#(>PpY) zkf&=lXX5+#p!G!qXbI8NQvCpZ;Q19Y9kSH}-R~68ZvK1I8RT1!L%vyUr7Sz%kBQp+ zyKe|cgKB7C;!^L9uHznHkxFeAoD1w)59De%GNb$y6O9l#_Lx{nTT=>LAyRYLluTz-e z?SY1AOLwP=P1Bw&fBb;3lYvX{7f68t83fR8j70}Xz2lwF%VljhB3Fj-y@4h&T~?;6^2K^Gx~#07+4r09+D1sl$4*7bJo~pqm^Og~b z?7S&708~GWvP&S^A6K^*E!Oou^!Fq|!%|2Y>KZCNt~kcD+}tMm$6VNIyx;`0kTyh) z{j>_%orEh>I zp}}IfWC#ux6&9MBRK&j<*)WydIO|1t28qLB;InZtkGY>Qv~VPrAWOkST&1S!(Al#7 z($liKw3xuk4ws5~o{anc>dRO=IccMkuXnwruS#LD%9ZTO=H~h#^LFTtx<0E(kNkI! zo2%<1Knl_5%K5BbP6N3jvr@1qR|t^fnkY}T$_V)R;u?2_Y9S-KxjMh^)P#?51)37| zc5o?;XppCH4vf<53q>k(%bG9i>Vmd=sA%*vGd8!k0b>5~;08To!H+A!z3Q{GbkQ*c zAtUR;d1k(sDvf_ccF}_G9Y~)=0{H#;l;w2!uJZjZ&|^}^vV~ZJ^P$9G2_c#r71<1N zb-M8k-$asaNYIjm=PdnQF|PS)f~WqZHP+SDwY9ZX9@_Z$@QJDmEZ2{Wyd>w;e=&b! zF@~HOMLY@$xt`rvrmHCDV5e>Dm|2|1BE;9z)q+W5VrR$5_{ktG{Ut1qn|dan zl@gv!h!i**lpPQQaK&-JRJwDAfVag^t~z>FpntT=1nQZtA<#n#?*xy7 zj6>fCHE?~`Tkt(IajMI)+ud=?|0UY`E<}(&Yy$~Rc|iB+qpzi3c64y?Vl&*`3`Nki zBSJ66R`?icKa^2+UM?382Natky-dWnU5{CP@t(ENAj|HDvkezIwdrX^RQkdIcSJgQ zBXzLdJ0a7x7*`^sU@%+%O2|+)ktBx8USHi{E-3{W3@i*=1EHss#zZ`X*z^7$iv&n6 z=^tf+tw@6chsIo^(Cw&1-!h|^S|1^+ug-1e%+^W9?2n+oL9W}w&%N=?Vp4I|w~9cV zL`4>Xt{sEER#mN{#3v>OeOuG>y#I}47M2&^;j?~JKBpOwG;cltFkc>?{J?y_mHvUY z3H+GTYh}19aUm+#&d*y8k647<6=Z9QKD)S~5{5if935+*rPXqTos*GKF1fKd`&AtA zwUUt~$m!b?%Uzv%;(W`4gEh%trGJG31L7*I9T1gNA?JkMWGsqJKWd z8%QO%l!sc32sZhv`n`3wn!!#2#iJMDBe|}tY8VUj`&Nc5Z`uV6(UVGS5u#%$| zp4GphN%uQqLg{8)w-)^R;@&U}j+o1LtNz%+V zWlT~NF92(>EmqaX2|UAVE<1A3C9?CYk-sppcd(G(&d0!V^>RiHx}lfBj8Gmzp3&={kJMd4+k?# z*N=|Y|7lWZzo6@v;6NZeMGy!O_+MKH;G%!|#LeBu{=Y2vr$a$yQiu4!;EGWH96S>5 z-@<>J!9V4%IMC!Y0r^P4{eNGOX?zd}aHFcLld~I(xs$8qf3h9ILRs1Z5T66Y(f*g^ zAdm*IKL1zT)YPu>L0f8~Ep6Gk3SKbg*Rk*OBc%sqkBq<Hc*A{L_6Agqo8% zfaSx${ulAW|7`4Z{}%VMG}HM1Xvhu;TM7#XfzlHHsR2a)Zw>!L$mc2P1fD&X4%5CEVG3;+Nb002Nkz{c9q$l6gy(aqM#L5tee%Ca$O z-8_I7A^7?oWzT9>3W!VAzU2haeI6{GyT{mtQDPIgJz;*`WkFaRl0wS<_sPV^_wjT^ zvFx0zachjpeEF^ZHNN12MIVtiK^ypxzpCF6K_eWD z68$-oNZTWugQn*#&Wb5*i%}mINC0Fq)~(|Q2&N7?2G{k8-KE67-Gl0Ll5#>ShYDG5 z+*n0fT|oeD_zZn3-5tF4T|n}j;Uco~SkQUEAcxRyQlRM+SC^fXyQM{^p@ynA0O26g zob%f6Z07Mq0JA~$c~NyJb{o(@UiUUppD>q%)JARp;;nlJ#<@+DU46a4EiwE{yoKf6 zQJf^nW)opJ=q{?A51K8}X8D#WFWg8IX;hzsMeYw>h?4WvNM%2lq(|T{Ts6h$CSy2}S)7Wr^Zwe8XQifMNxWD5vK93za zBU;4}+08aB zlks5A;L%PFIpJfofY*DCd%|(R1~hx7TsZ8MhzNg(E7FgSto2$Tgk-e{sh6r#@>*|(8j>Y>L+9WN!3dY9h-GlB%f{>zLpjJ^$4Qzu&jZ~ zdeitXv1+M+!u360AaM13E9Ur;_{3k&W`3O^9^J+7Sl}D$UcsH$GcxuJh5tOVwz_uS zUkRvz@(p7W+`k(m@OBHYVka0ZNkJViJ?V1J)ECbi$a(5w&eP>}bg}5o`qIBI$AQ9! zRxgNb8e8&IqJV9h)x;$O3XG<37@kNhyM#<%gr#k?jSY!eBo8713q%DtyUaiRWPv`d!9iYn0+>AU#EcZdZe4y9 zPbgy7>QAtp;sW;TBdBS?TsWE|;wZnEh{Hn0-3}Z|Zqk$?`4(9xaMWoYPg77MFl}KK z#PEycP@#G{S70x$A^FS{< zfJ@6oiz@4}#Ao8kP^Bt@IF2oZV~#?O(`HEFsXoTL;q0tPc356wG{VyWWDj`>_zUF zDfjde%0}6+J{C%e=U-crjU}?j@RV#7k0y#|ESoV&&Bu)4sW>Up>CSu}`6AIEB^$QsYXWxVA=0Ije4rU*lkX7tQa99-&jQ$Yfnh}1%XF^P z#Q=s`?f0-Mu0IGf-G@Uu#W~%M-VCFh2GB9j6s0kC7s;-MyZz!;DxUaq?JPArlzJOI zcQR)AKHRRq|91W3fwuhpdOl}4eQXm4=kt0D^ozPIHi+nBc?@ibQmQYbt{PRk4^g_0 zm=r``66<8+oJh@*l5dZQ>g?sweK*;aF*5wZy;ptfY|T;qTQjxfV_grlDimz_ciRyc zk!)xoq6)_zswQ}@ae4m?ne^{lK{am{~c_knX zV0JjPmHS=56i6W-U^dsIh9H<(#Es|zB+E!S$?K1I#YW^;-1ce#-Yx)t@q5MVsjGc6>Wjjc9xy_#BomJ|z2a7qQ4hYkE4Me;Ibxo$=E)3&6j6J+|UXI#u6BHk8|IA zpL^2&{M1TtA;mq+#ZO(As_98sZC4L8Z2}_T78%R%`uW-A{cr)eiqe>!solZV7Swh>SF?Z){ub)YrBz6FD_+Su%O;SwqYp%S=OAy@Rw^^q8Ef+2GGtE=gN>7%;+u zP4q_!LorD~NxfTdn!df62&6jWm?o>9&~?U8GPeI_G@6{Akwn>1X#juF`WR|F}91R9UL9ObTDmp8sE34 zIox1hV8s?J)Owe-?W?RfT>&UBJeu|d06GJ6AsG#&fulTwIxo+BLMEJt+X4=?sRPwzUFTndaz9I-3O zMAw*`3VPQVSM#uJyc&m(-s&Di@2?oYRU&=M*+TmII>)1Xr?5X=q)U0Dg*K_5M*4V8QAZ+eMANAnCHAwU_wndHUElWY1)x^iQ>~2 z>u@-{!IEjDf?Nxayp?;($T9y@-))(<3rLI=Qvd};H6fH$SKe|dwCFWP%xkdo&Cud$ zR}?+;RFb;MJ!;^p1F;p;BP>u#BX$g3B%+8ZI-uYMO5!a>CQk)j+Cq*#2ZI}^G&Ck6 z+rqvt{TA}I>C2&gDTqSa&Kw3rWJ!STp2SmMIGs}e&V0BdQXsYZPeDjb zC-Zly*c*4mGL&CQZnKFZuMr`Y_H0V(=JTq7EJkLFE}5(en0rbjQ_ZPC_tb~P1}nG$ z!+^^Mp21YL3fYLY+01YOk%DMJh9g3Tn}UnWdF2_bG&ce@bAlK~>4erDiYX$RG0@wr zr`JEYCUP8<@+XqCpb(q^@EQ@ubSxJ|)1-SE#kC4>UJ}aIhN@Vxh3Cd`*cB1@IJoZk zV+GO^6eEW%efpE!JS|kycnj}7bZfjQ1nPgY1)}CrQd_Bq6M=X%=KMyZ z6xTLnypmTkQv|xDP}zBSHBqO+Wj(yL zPnIa-{yhqyH)56p_|+?UdHN^gmeAkP%?CP0peI2!M0gyY9X!Em@_DXaA^}D}ie5bS%GMfT`@GFQERqT-D0YKmiAN z^}Oy_MyH!z%E0={46t)1&toDu11Xqh8qTx1wtM-` zOY~*^eNx#%0E228l9n|xhrX5^=IC9L6RZa2tsaBQQr_3}ToA=_j=bRbu4S6$7)OQ8 z3LU+@6Fj>D+UOU$u_Q-9Mw!S~XOK~?B3QDVhc)r&uQ|Aho2LNyp5%zZ@YR+8Ws|JJ zE$kPWf-8^NzItmHBou8jV{=mMnk|{pCd$%HXEtJ{W?)^hW7_-9#2Q1Wkax%pNmZ~u zIaUY}2 zPawU1&R_oysIiTWqqU8rk;6Y$;Xe_TisXX>B7hNk&h~e_M$y7B2u{lar*-!QqeKYd zC!@pFNv8JM^6=5_c4NS^P7h~gl|+MypqVD>?cMj@%+b?wzK>!#6PQgcOP>v85A9rr z&VL(8bEHTzid8X7drSSJOZ;8bBw^4G{xVDpg`fF25F7ho`)gDiquW8qk|WZGIa!OTLXhE3b?A!wf=Y#>OA@O%ime_{7bKNL(j#w< zt;C;d=7(&igYq1gQKX_p$~B_PoVcgdKkbf}K+&_8AFN7QgZ+)^`b8PH1$=T&m1L|^ z5bU8v7)e?$4WWsLx$7V5<~BY4Dy&@vH@>-z)tiNZxz?y$b7c)o<4meubH0=Tc|l^F zDLt{WQqE-HVU5gS&0_4?y%f3cDm4MaPFFCk{{2!QJl(wR>IVRQJkiVzMnkke4v08G@R;nI{5uP-H$iGvzySa-B>@27|C&|PeC|=hpuD4r2NAe@) zYoLV{hEf@ZP-fXdh`B?_obfpEuWxal{mk*LYzQWEoG4~^M3)Xtg}=u~Q*30StvLC| z5PFZ3-ip-+eOCw-0*{ZA+HY?RitjGZLukeshH|V%VDzF_F}bR#SY4*el#Ku60T+8&;R_apqyL^=nW@-=ZFvG`zjm*{WHr6`LO=W`RKH5s~tp@q(?#Q@^0W`#g@ zU+src0s#Wt=L+^k(j0*oAJFHN+Z0id(~x?c{6aO3>EW(UopiG7c_@Ls;p8Xya%B;Z zW{_h-?95gH_+&jJPJfY?dLf`HZLZ{RPK^)Y+S zjX?zs}vvAhafj(V_@*t!V}xT zsL)0BVlNO9?U3^WR1`M!cSi-JBgoYdA=6l8-NL*MtTVVmlaUkB2}uSk+__?C zAe4s52BeYwtZ>?<j0L_qg;j&6`^>{!Dt$ln@si6%q2>#B%F4Nsv1bY@Zz3P! zW4;H7A0HMR(lllXYWNuBTfuQW zeg!EvRP*LXd4@4>5vRwMyi&{U21-jm&5^6-PyXE8{<&$oua%!>a;_G}44rIBsgqyn z5@t-aMin3^*QRJ4)^tz2=AB|HoL@;V+CW8ku|D8F(mES|Q$$(mWo@Y~9vWU=o7i^N z7}IInW~ z>EN1xt79Q9W|~a`o?MPC+utk&6E)~^iXD0YpAit&K{5;HMs+*+d^E&rY7%p6c0``D zQu_LPOyz4sBe)s_WIu=7ufaEH6JYI0Ce|C-AK9hf#ft%Z%2ijT+R6S8X`sWN_k%Q?#$eOk z5s8fT`GA-5GNA3FKxmJazv=)bNvYPt2D9SHApaqaY-{%2pUBBCdDR1pwi}BUO7MyM z))zDm2lBJe>{bz`=0XDH55pDKY>xr-R%+;p$iFq~eRk)9P;C0HEtLEMa7O0aPW4!N)=_p9lqgA&zHT06*`Q-BKOdDDl{=sd~NxTI&m zam|NV0&YqpjCooyG2;BPwLCw)X3Sb{<%f4~28q{s&eJQc6<-cV&0sjCnYnyUty>>+ zUdW%;oIE^jm4BZ~Tsm8ZU-|s9E?=9c!(C4o8#qfW~$J;6x6xC{iV?*qNb?z^ixrRT`rI4zVo{ z^I56_`V*?56ZxVp^apHg%+eIOM`=Pow_?H&Yy?m_UP3?Q4mz7Q$2X@&!5;b?es?iY zOV%PMczGlU4X7zv8;siGK{zv9P)dwecnqu8G}Jx%9L?wuYmAOGQ!Sv5zSCZlKdJl_ zYBg?s)&)f5tFFRbAT&>4Z$7QDjme>z5g9czIH()x;+v#~9(x=MC*$To$n}|)#C^`} z!HO1+>0KiMtZ=5e_eB_|KgrNwr-c(*vY*THv>{_)Ed2@slhBQ;KoSf|RqZtl7_@i* zEu`r0QAb>$#23;2P!Ni3es&n-1wuNSrCK{^y=}S|{OX4|8!__CxwKmsk6mb*v7VS; zb;j_Ypxtd!xpC@<6wa`7J3Gx(SIt)KqMm>wRpd;|-Ve}YepenqFWKu8wGXH9dnj-p zDG`QQ`kQspp)0__bOswBcWg}$W<@+NgB^ryTVv0r7x6_(a~PaH7)BSVQK;>~ z01rCUepLI+LE^W8uCM>EunkZwbcXeVf|9`hgM$CU)vWkl>3&+6;A>8yB#)G6VE)B5 zEfQ@2S6?!zWl<@d)hi$ynWaYBBEK?i9JQzK&$_J5ul~o?QGB(Vq!nwZILzw2+Ar0x z=jN0TwTtr*Eh-Iwr=H-t!W+dQamR_g#CS)O%zRjoeT7O;$8d#k5lp}g-&|NZpf+u8 zw7~?&F?Tw>4J4R`%Eco9ciW+Rm|g4O9d(FwZM*bLc5KrkK4P$k!@#kuMF@~T$5@(f zd6Lr=te?fKt=?A=>-vE29Sv%E$&yRC;XV~Cs-6C^ikv&ou5=Z;AKah2@+gmsGGqFq zIlYSf0Vd}mw@B3_WQs6k@~g~AWWrLc;G7}tlW7$$_Li{*)gN}P=c3KjuTMk4XnEC0 zW!?WD{_~XLwJQBYGWe%Y@=uH4$3)56+t@nL7}(ew{lnCM<8>tZX;B8ZKT+~z-e&%8 z8b;1JwM6^n(mLk9pv|>YSG)??n-u44HE3`QcD|;1OuZ5x$2&U5qP_y02P)6w;|c-- z4muGivcYOEjoTtk)RiY@1X@5-mcy!|?1WB}r`R&UHieSpE!_SQJp$Xx>u8x(rhgF8 zknewqPT~!bV=O|7MTNn%^36L9>xERi!8LnoG6w`Lmh}S(iXI9`&F+LyZj10!e%(z3 z;(^s{aMr)(W}U@8Z^K7Sk+EJg4Z(dz5sx9s_qs>&m#c)&9vY@`@+yg@fK!Q5IW9?< zhnS6Vo_Y3lZk{_D*eB&W4oAaf?3_%eB887Ra!(8+s$Z`onpBKY+Is&v_>s~FO#J&d z^B&#+T=UBS>xufCZ;Zok-EN4tZw1xFt3#l?U-nwZO1J3 z*OXc-ZDOd$8&hwKPk;w3@lnZa&6J$kLWm8-oMy%q2`*#JJTHufn42b8qU3D%7d7Ci z>jyo(r*?h^%;(1RnX1A?k3WCtC|sg$revQ_`+DmuqkIgCWDOibng|H36eS=snhX85 z0-EXq%)gfXRcTj!+LllS>V@$xHS^MG7dvq4U!O;KK@oUNAVE~d#+@lu(|N&UC2(nD z7~CJ6v$HjdMa(dY8yU|1N`n4C4a%kxaLdY%#7QllWVakKx=A7$q>?2E;zLhVng^e( z%q>6AG{^m%8ATSQ%Z@E;GkYN8CsBMk)oWsAF(1Gxvb%Dzr##okW0K{a6hba>x>95L#DO@^bXk(Ck6 ze@43hxJ@-Fn{{T4u4@&9w&prZN+*AIp^KHvr6O3QW`URnK?zGTIs8+iF4#-E9$&r9 zntrH@rv92rUg(Rt&veUQO>ieV7($~+Mha00P3z%I;39?D$DcMGh14?~c7X|b^n2$aV`{u)%oZ@A z&hc1JdARqz`g#b6v?R`MPiG;1K|>>q1bNOjVx3I`Jslaf>mtetEQJa@vXCCZeCL*i zQemJ=nyhGdH)xrg8e=8<1@z|f*ouci0dmQ>pHum*_ealD7Mhn_*r~a9?=r7JgGdQj zgw<@FKW;oy_AgvMiYCYvOFJ4zGLH_t+4MG^2%IZdR2q;t}96YMt z`H5t53R-0GD$LtoVb>^)vVE47bM%0tQhYq+p*%FI@S9F=7RgZE&hd|_XG&!F)cdN*@_TQ(YpE)wPoUE3hKmD|&3E@cl@1;gx{hLPm#l1+}xb z$}u|e>PmY^4jyUC@LkA=xyB}Fm4%4J(6@#&z13XvwuZ7FmOo3MlhL$-Vg8L`@U477=FG)D@-LuF}i5RZlD z{xFxPdTKo-rbDd|)R#aR0pVffvEct@cg(Ti)5mC+iZuB9zpEIV07Q5eL8~}t+QD5d$n>`!*schgZukvmSd@;*^nyI z!l0IG83;YYK8GH!8=K1wTY6tBaq06t`J;=t+h(*{^^lTfukLy6El(XX(p+W*S#qQ+ z711%EylV3A=9jE=nI9o4=^IgEjDr`dZcnZ|SY&uiEyS}xswh{qJmQU}a}OVXYloO> zW8dN+ip29`rp5*dF;4ieGn4zuF{XNiLSevVrAB$g@-ho8cP%IBU`@H4{iPEJoyzGY zeTro;-_vKXDRl;x1dmvJo+xi>z3i;!RPy4yVv0a+`bi6J_R3~th381;jyzSCWCJT2 z8fqjJk)0BY%66$`AY93|B|+S@1A|0SKh8_CSP;AAJHexaQwfLO)5r8Tdo1h9X;fm! zeSPdZ+JaJ*L39ecQ~r6Y;=Qd%_@bw}{9l#P_tk59G{zWGBqPX742QHnBE>+ppEEo_ z2J}WAvg%t?WfQ}iS0IzGzN7Ru$DpcOL$CB|A8RB!+_6Li6XRV4D!joe(?N*lg{vmZ z7(UWE>NYdz&)*jk>Roq^Yj=yV;?~zN{teRYXhwvEb$G-CPr;J75Q+3=7_k-tja2d8 z--x$9L>BZ4+ z)v=!s?|gEOB7I$3xPe*j)1EmENha^)Or`{_jbR@S_n-3%A3O%J^CbL1~;Eq*hMdrc#*MTHP9+Z#M~L z2Wl~;o1^W2|4TeJMA1;#IAM2X zPsI5&Xv$Sf6;sMoVvT;I`?)6-t|^r6b}WvO+-5sFo0F|LYiirg*s5esG8}cmQ4jQ{Gfq2v?@cNRSINPj1ngXCjm|`Zzi;{%~31q}+ zK_s+vP_0(va8o`eoo&3dT9q7f<%d{}p=4w5f@@R6@J~C8xuqj@gPC022p^)D zzj)Ob?gU?eOyoqcCDmP!yqf5&3uE!L>HX@FcVJ-zymmHuCN*a9ntT4= zM=CZ%FIp|mq2B;!y|#KskG-7vpDwf_T(s~>3AEU~uS^r*YGlGnLG|zlusspZzorMvjg@_2>T- z$+MKT9P(*@s*lyWuG*9@eq*K_pcD(8nWr5mV0l@+2_2%MtyaM1703l4Z&BJlZ!17Oc(*V&a$zmveFw-WBgJo z_@UO2!buDCOn)eZ$mSE}Sif3Cg3?{OJ_6NcKldHGa8>WA0x z1k!fP6AzZ`b#l^BTKje_9AhkNgKLarIT_5Ep(vnO1oO+a6N}NQ+&5RhMlw7CjJw4% zgpa*^m@~7FJY2G78$8m#r@nPpGM+<1T^`(H7=mtffgX3f5; z&Yyjpu^BW_9jW^4$(5FOY^kaXe#4y&!x}-_U7?O5mFN)ksa6(K)f?08D8Kl}FxN7f zHKsS91>S>Bh5c3NdjtnR+?gcc8oejYPj&*)PEasu;g9 zH}X^MfWl}i6~0@^tBkBcCx8(v)U5QtV|YuI+f+js{&1AOVdI3)#jAb%rA|Ob_rF(7 z5RT$h<_|;<|C}iQg=rTfeTDy7I9kyhaDB80g72Aq_A-`a2;p~#QYVCkJ%EyRM9G#m z2aQP4)BJpVZ1)es3d}Uu15j~P!QxjAe?S8PMX-y+w`?x2h%(qIflu`VMBvHk2zr%s z{ny2($o~Y%GfwQl9=7o6z73p6?O~8M>fxk>0wdI3WU-riDQ>OcpG$^bx7fioTeu*e zsYI>lolQcSoUJ;{sDtBamvwVIV*h(K8GZpP0lokL$ua*k8!ID2Gd&u6F++MLYFlfQ ziw-A6rOUPNb^tys#8V_x6mn2OEJ1m3b#=4Cb^$&_GuhZHYBMu41hZ3w!uIy5M$fIz z?fa|y_bj_F&izP+Vb`bnCx52pj_dcfuI=gP?1bU()=UswW>97zzn+A66eU6YnXcam zWb>&dH&Y!t0{|b;d|Vcc@g(Ha?!?s5Ue9myl9W zeRQUmY3D9|x$A^J%&p#9k5MXbwqY%QE_*f79mcbj`e#Cz08z13K3{L6pDkz~BRQ_# zqRKSBXrXVv&>Kbaa54P39802<7$5f<_h4_V(%;*2np!8nRq4# zeSJ*8r#%!j19)<2zXJ&Ml(R>2a&k>5M#&CvI%;xP-u(Q$hQ^Y)dB0A#cM!{)qL1h7)!jgYx3sb8Hul~i<>TOCG2vEw49(uM z#TP*H4h{(^CMEbo9269yqO9oHp?#|%BV&_C8aJsl8{f~vwJ9rMvG)tkZ1a}?Vk6Tp zW%;jMP^;(5^L1ZcotCM}Ege&in1qO+AR`k~RJ*3w)M%@ZY)(Q3WzkT+wk5!$7#|-Z zKjnd&b3R-OKMsI^8MjB3q}?m z;2&<(=cPMd!CG1Ap`c!@kfEW?k>UeB^|aKj z&r<@}DE1H07Ns*F=T%bOX%fq>AW7VRT~Ew&d386`-O=G;Lq|-hl#g*|?C)$6z*W|W zUKmh<=>P)*8=<0-S(k^|=`Jgom__#Lnd3ft~Sw4nJ{x%Z)?YPl8T=xLY0Y;twh62dWRg@CF0b1o(1 zjgGG>VsnA;GGS5rPgT*wmyRSjeZGNyO-8zgI>z;8JD<3^UDzwL;9EjY&UR>#bd&=k z%2RxFMbXghxB)agax7k7i_OZ)3LcL)QNNXyXNbdvH{Cj#ztFO(Jao?MhnkQMkCVGM zzQWgiv5b?5k1bXq_6d3(Zo_j|m(?JF(cl8&LtBZTaR4%p`@@NqVVCisQ=G|k_TUKI z6NCBwkTc!OSL8mqTGuu{g0P6luzdR^qd5B@2$$I+9c#(mgPDRueXn9v#HPLrXUs2P zEp>bPUtC;VEYHwtYOB>}sL2T>B_*Yfu**nG=OU+nKrEo3KuCxT z4TlMODzpx3W~)ImdG1?}1Ot(wB~Td&Xv%smA2@BfzrH<&^UP|&aE8lc%qj4A^2ec1 zl+mJLP_0(xaXJwzDFw$V&4}{x^=dA9YIt}|4aZcvNh)FqfSQPsu~ zGIDY=Q%-bm;d?eK-KDg{qoZ^s%pq|tzl3iJx+^vwE+VAW7p-e2cU?LLoSLa`<(94c zjwAh=zO!b7Uru+iGokaCEeT)*h_mwx+>4&DZ?(<^Na$aIH8r#eiZ3~TQ$W_%5-{&E zFb@a_)OGZd>^j?0Dd{qNMTW9!I`8eBn zRR>SSBX&FUZ>+eG5a|69mSk2&R#sMG!yY_{}w-w7ZlYFA)qP@Z1f;~REEIrQeOr?SEa zY?f@YQO;TWRj$3f>cxbUFSV|oUKXx(S!wAkcT*&Cl4@J>_2Xh6@>`F%vdXfBL4JJv z_(wV~*V34y>&qiI+NsI3po2+faGaD3;=rMI0}~5NbG?Daz&4ts*E)JiJmpP#b`omF z?}YtRf;Sg^WRu3sOq}|>4wZ{pesqy$FRUhK=Q7J<9{>4@VP?D)b&c+lXOz&C-+wz$ zq%Zf6kKtoNU59~?K?5G{j12UQ!C(zWB$g`ewz92xEp%lr$S0;qCW;~Q5HT3qLScpz zql{&$%h&-CyTo|~h!50&by7+6_(6^&ddu>R0(aXI@iK~M6$AIF@3jeVSzF&gXG z(5(K7LxD%JaD>vbv!!J?UnNhyiQ8NT zZk6l(@P@7#Ze3}S_Fj8gAY!B|7Cn|G+ZThE_CNxAROXg-4gX98F>uFzKtv?zH!?Lf zbtmhDe%id*Vi$m(Nq^8fe^}{U6g(=2fGiK~-43eB4vc{4(mNh;KYwswC<~a&P9)U; zh9te>gqdVGHkdQHUe7bJ6>tDKfA=iZ%|zhM87hN#Z}9!_$6Q?Fk2)rLAMK z`?Do!OI1fhqs|4C1wZ$wvp?cD0r4VWyo$Q|*yt!ZE`R@BkmzXP>YzUkSg9WVioN;~Kl^Ts%QwJ`+{Y{1Ic<6bRe`)i*HK zLlj7xXnGpBsY1wR<3?-A2^3P%*4CDl&CLwsZSiFfV|~HRcYemVrq_Rdh|T-#CSm-b z*{<>0uE%&k98YHWW>5+HcDEo9JlV5wd+ocrE$-a$F}9(mWte|?JkM;lkvp|e=%kCi z{uMGbJRA}XWk3Q?MQPzd-}8Yb$;)D9VdnMrFj~S9ZAV2w=->Z2f^`GuNltmL4L5|X z3M@u!Yi@B49uPSlG`rTy$|_!QHr>j~mUPd_>!_rp#PmL+G%BN9efT_NPJAYceLM+ zDbRgURiDlGXhE3S;hW%JA;2=*X444?8Rz17z%R38nbyp;ks28lF)y#8qph(I&eG!b z?mVS{64*JpF0Jh2QUo^5I2WL&itC~YMDoI5-r#<-Wy`lo0 zv^=P>u@TA7FfcK(*hk&gK2)|#q3iJ$@Fu3xYEnYNA~?|R{p;MzeOo4nM}SxLzKwGc zbSCno2h`y=ehod#cOi=lWa#zFCN?oUJ5~q$5fC089*oma(;Q2K$ceqaJw3N(YkAxX z$Sqy=bXZbQ(Bac%ajam~XId6}%Ic=jP*y4i6g!b8dN~xjxeEN} z%Pkh;u@wsbOz%_EcL@AtR#quxZ_$)zRaI5b*h@=`i{~*KTI>L9Eq{-b&02c<*WDfp zP~M?p)HeyFeidD&Hha99*3Yir0k`+*@}g%|lp&t(iHZtEzK#0K3PKdQNsrqbrGjhY z&%Y)jteyHb^OE}2s*x!k7ms3v;ow0jpGCq|;&SThSiIcQ(RAVQ za{!@EKsgG0ZOkK;?IGZXPz((9f`H8E7S& zQk?ilqhS`nzR92S#WH}?zW%`6-XIo0NKuB1-o^y}w2*Q%bnHAB&HitGf`VZC6;2!j zg$&2+moh2F@{{dF8~Yxx{lyT%L_5y-yaC##yu>sc9Oo9kdeeo{piG^CwLK+J7 z^S)f_LnD3uMzX)+o{EI7<^EV1*j%dsbU0qd=yvjW1FSiAdEV5QpI2E%eh#kIYSJ1s z%wEgbY;nq|kQTe7Wp8kE2P6Y-4*lIpyy%n`c4josRBh@f@rC#s`~XQ;Qc)q`PrC^#QkKPpd}msYe50%&hDOf+$hFtO)7bgD4#U7lbTX$CMPgukkD|E zh6`9Yd?`o-9K<;Rx=Nwd3ttHj#Sgn%6%eTHgg@XJ^lY0P&AZL^14;e&CElLM{kN(2*D& zvj-cLkZ1>Xwy?CM`mcZ|NYrVQhG@|aOR`$rWBwJ z^7F&(+f)ND)5Yk}DF=$kRrGu8#B>XjuF-;nGN3hAT-B-3#8+|?5-4%G3ew;S7VZid zaM5E)ontmokvBf*(38XwM)#+2Vy+E0aL16|-@BEKdZcG@M2?NUUYBDQI1xyO$<|uh z+R8D*0}d_{H}>-lqNb+yJ&S<9!G)ASK}Ek;m+|=?C;>Tw0Jjx6zG%|S*Y%d3Vvu|! zH}EAc0vuIXV^JVa^BeLW~P?rdzncT+naRT7$)A{ z`Iox}zI#AWYXk>B>j@4HU#8;N!4#uKqrDv<>1Ac*$5|-FW&qss=BNFX^q1pNqOC*c z0GId>!HGPP3eapDbzYMy(TQn^f#yIH$7%3yJTkBmb28&<0rE#YueW9!;Cn}RNix(x zjl4L?Gp1I*YOXX=h<+IVVrO%t<;As!lbHc8paJyc3Wa%wZK;0kHV(1QVi|X3s!?El z@uc1kI*;pnhEag{#2aML@%!tu_}UJ#agPwRRexFqEDeJ&pT}#BgQIDGzkF+L4NII8 zEsagtgbbk3s7$sn$P$RAkPV{axz54fe-yV%tCjChL3#Q64%S;HRsuQ$h@En!4NE&N zzWb;R0XA27}BM68UFjCR&Gr-XY@k$)7O>T$=l!A%1HC!1}Zr{j=s-hyu z`6f+FwBzSXQq-uqW@NFZRncEUTSVpGI@oJ#kugoiJ0QAPHXP5BtuH+gb#-eZB8!(< zuLz+}@UqeCQ%t`QT_`DFb2!aJz0ZpC?4U}j+jQ*)Gnm>N9#m{>Y!niv$E3=OVOB^G z?tYB6R}~WN%se(0c1njX+A9JM&c!k5?T4F9x+2JpkTMGi&~0&TX{r499IOWv_7nS2d3vW9esEhVa)M@3PNbDQjeQ=IzONk ztkfib)>_#Ey{K@2n4Q)XM(Tw&Kr6^hGovx2btMyq zh+5w0Xw^0r&0H^cyEgJ1GO`FmNrhMj2kH`p;~X7a3T&E$Rc`dE8>q;baCrmv208}1 z(XlD#8GRvFJb4jE{QZ9X-~6n=M`#1}Wo>Qu50u$Jo`O6G)cnML+kd}@F%th0A(P~D zq2tIi`{`)$_t_khG@@`b7p@RNq(1}%Lg*=Hj6sUN;g5r#@1p`zaOGF5koXCih7w)4 zvKQQp{y>|_dX8VVay^34wMK-Ok z#=+hkNr4d%XhA|knwiz>s6o+^89N7ctDIO_pC1q%vM#7id&d&Jzrcn_lmtIU+%7}6?}WQ*W}}IGtt}>RamC5 zKw+_3OD}N|R+k(shWNlMC?w1xmDhEd{nipNIvkRWltbT@DTy$3yBHUU+{s+b;d5@1gMAUjWmOS> zUpn&aY#PvC5%>8YJH3JxouRO>T*Ze3P>aX${{a3#0l%pOb5v1L0Yz0-Qo8M1181K2 zW&^wpW)YvDdBv|uL0Op!V)W^QKb4Hp0AGmp%)C7J-38e`5}FV-B_(}hV+oZz&_3-T zu>2NdoUis}Fpu{Jdod9_c7K}vr)u4R1|e1}KYe=p(WB2T zdhtSD2`gF%M6b@+*jP`Z5UClspoQI?gvdx$7Z;wWPU70V)17%~pbADUTvldgW=2LE zJ3Bjj`?a+?1F8Z@K+&M6q{PH5x^*>>Y92p+eDh{fUY_~L*H_AmsF1rUIE;P|lTOubJ`{0$lmpCe^{(F^VV^XE?}3isWv$0Q^q78}+2ZNVUN8JU?^uUz>xJbagd z0S0{d<1kZiJ1de3217d+PmHC9X&kGVRhG_tCp8XrL@~`BSWce286QYgwu(f`Z@y8C+xtNdr(0Kz7#vYM99S7?Vp3B1c;3(A zsX#-}ouH5~xbiDJ`bHIb2#q2e@oo_V18Ul}1|X@C}ygaggY zXFV;fudff?q##gnwczj7;ot=9?d`R;iqq56znX;#;9VZ30cNkToP=@#Vmfvgr1KR= zE=dqI9~Un##UUArJqkE2EHIHky721XQPLObI;^{Rk7~AebZqbJ=FAXdVXshngZlAhvHa>*zuMXcPg#R7BpcE2X*@jM0+f@Wn7v`2nk z9&;BzVrv7Er@FE-r{x6q1l!Tj1DvY}L}`0Z4;$nFdiwNbq|T0vyzuh!TFylEc2dyM z*_fXfbHF}+&xEY#W$2#q!pVbwJqrN3n3tPNWD&>jV%v65{Hh6qmNpT(CN?I9mzx{2 zKn=t^FE0;7z}R?ke|6Z&JOt4zrBmmA3>b)mg9A{PQ_?Q*w_DzK89|e3RXgS{=isv? z!T34Y+3{)kzrZEM$9L%!VbbyP^3u@IJbCgYfCuYX>nQ3V^2$4r0`PHk4<)ndSyM>>x9+3U_ z2|z|zwW~@2V0^C$2nayMIXO8|QpQ3Czxb7{q@0O{AXkKSJlc8%t$p|IUF9BXOyr!$ zF|x9f{2YfwtD~;YXo3q>2w~Ya{2x|42&4q`lzR5;wW)>v-@{KF4IzS=U0Ap|SzVEu zdVBCm6~*7F5LZ)+>M|k{0d2iFS!HXu-3*y|C_lFJt|~SG!J=*DI%ASLv#PkbxU`uI zzYb(`IF)lDB;TJuWu&F0A+yNK%jeA6Klw)yfF1e=2G9?;TAG_5M9Z+S-n73c35)r$?Jo;*RJ zGuW7@1f{5UT!(B5hB#Vm81N|~kcvm~hXAVZDmPUyWTIN+Auy<3#m+B@4r0d5%X@Ns zOeg|N3OWF^uAr@bK5kV{PDb_|^d{?5R1^@Vnx>|-Ludg3^7|%I`%FIVxvh_td3z(C zRbhB%z-KdLqW^A7!tXpqdic+gB7IGbeK?U62i9MT4CHjX;*Hc_%ZYCf^_nrE)^bW} z*bIuiSy@@9zS+#?YgU+W#$;wL*0}8M?eAyfqa$uIT~V^eR8dtGblwt{lImz_NpCuJ z-Ilpt7~JM^uqskkH^%&K-577frz%A|3O?7 zx!9BF_x^o1*iF;vbs26v1p9}cMKu)_FnN!^aO|?#E{dY9s;a81%k~1|fu)Iwq^vA8 zr^z+CIjFpbh6d>R^`fGn7%P&<7+6NTiho0E+GGU^b*jWz zzU=@Lv2G7>9H0XKQj=hvjtITCH>aj5mDE&V1$B!$(1#)hoAle1- z{YpH~UCqo^@r8=3tKDF3{AfuKQyQwOL(utHbja<=loWGqEDx{tAB#GFBfl8({z_Is z0g1MXf%+~C}0>epo(+t1cL0)n3&e8TP^^_VofQiYykT$aeo*9^kpr9b? zDMm!8Z|6L?JC4!YtJodSPz1a#+-Gbd`$ul$J({r_P{~dE0|FgD>FW1<4DYe_CO_Nr}D(YbvG-M5z630#s2$ zgV*MdXtp0JB2?ijK2;JgDne4l&~P3A;r#5(^>9Phf#jyBIQA0ZZSm65XHrtjKq~#X zXvl49C74kNs(Q$+-D}RW49KivqU1&s1M$L?@eT@NIjgWx2nx5ly1KHGC&xJY)>ZU9 z09I%IDR6^qd{l&RdQ}zgjIE=iqm-0?dV0FQzm$v1vC!pNYD&tVnVBcA_z_FiV0b|L z`4fH!ryeo~vC?f`HTJ)cWG$FuD9L27<8~x$$N;4B6wox}`xR)maERkF5b; z1t%9*f}n@1v>DI}K;py`Sgw1!P>30+bo=}Ji2`ooQZ$IA7s$Qkg9Cfs_?4Tzw?W`kU6i@8flPU@+3v+%fOrLgPHy!| z)Gh<|;e1Ue=!>&6cfmw?%;Y{3XgMIopx|IGPR=ymn+Wf`ql0m)rp87n7Y3OxFZJ{q z^@_qHA|O)7eEA{?naSA=Rsi@drO!n9>YMToQIz*8)_XQzX`y>$n+uqQQ-ZS%y$L_@=ym76zFAXN_Z_d`8Tmbx|m5tm9 zxj74ZSWv(U$#pv3_uadPWVks>-Ug5bVR8xz3M@@692_1Q^&of@H8pdQ>Wgg>J8_-} zPFPV=Qth&v0e~YtUTVvVj)=B}8o~D?x^csIMV$ub2FiexlG4o7l*fGJLD7G2!F;-c zW+Eh*SP!%aqE(lbCHdq@!|D#jiB{w-a2{p1630FS#^_5RZNDt&?<2zF=_hK65w@teh5arzdn9An5%|`g@uNJ3qJ84nsKmiT8K@zZtZvd zC8%&Bze`GXwhLef1k$;=IrGutcPl0q0YO2;ng~SY?$Nfs$cOawdB|#TRaWx<4|adH zt~?2~fqLR|TsvA!^tytk_=uB}gjMT>ipoBeNV}Nf!NrG=5L$>$(6Z=k5bB`4%q%RZ z$;n4^)!1H_l<7i&KYi+By|>$!Dp68g?C$Q4K|mv8@c?0>t)enmSbqVs@C>9!ja@;Q z2x-8#{vKKQs9Ri?lU4IGGjxu8$Va&}T{sz@|A7yD1e35(fQ%{Vegq0WpXGgVG#dgl zNp$@>CY{-Ef%Z3Rx_CL=N?Suk#p@U~DD4caQPQb>oSd8xQso^;mJsZRcSH~_&5OI$ z4n&vZqN#n&3B*@F&F&t{8oRFo&`cl8?)+KkiiJkH&fM14#`fZC60r5HTYCE|gYlCN zHa6Rk@7JNB^qM~a*pag7*gJ+Gv=OmgQ&kRTo}Pk(Pm-FFyfKy#P@={fq9duJwV;o|s2wJ3Bkb8(FsV&(ze0!^6YzH*X}ZZtw4xm6vDmqT7?H zlQ*K=91aW$x_#>wDk`eu+Q=&_D*)Te*$^RyJ9m&9sLB#PkKOkN)!-T-!r3i$gGzLC zb;Un2Qxz8eewEf;*ntzv#LNum#}KFhCHVR1D51zVElVWX9jg2%5D-tCA@^~or>E1U zqc%p0QkzcELkXdNAd$N7ErnH99)o8>a@80;`WejuV+Xgiw6vt7qk}ZPGMKxuu>l_W z7VCOa=XYWg@8E4HGMO08j^SZ72?+@`wL|C!wL+a1PRHWb-rlXTGBa{=a-ay1C1i{2 z?@v}aFb!7T0lh18Ki)y!9ssPmcTckSXu81%()_y~I`jT1c_ffu`1 zZ+L6mm5Z}>bnNczEUBnqV`HObH)sdhikU11{eVo|8Obs*G{p7j(fRRW;^f2x)Eogx zKstoU`H`FG-%#;-AKtie!w3|@Y={|tker;H^`Tyi{YPWtA8-vV)(X%jl|K9u zt;b#;!qUN z;;zolxD=dOkmK|yy>`1ELuy;>jwhNR*c~-aY-vLtcj@V+_#R7&1=P;GQ3P|z!Xj(0@|TZP zjP0?7c^D!_?a30-(+zEGieB6fX>&W?F@!XHg)JyBQ1J514!j;jtiNB8Q51dItjIgV zI_3@ljJCLVD~KexS+&FJ!E^(fh@`zelA8ExQUk1F_+5&vRUqh?nj-fP_-d38>MxCq zB4cBjhK_oKE-`TolR#MJyKCqE6mSlVPr(!t5VboEgSEE;o*i-(*fFMZ1cVpWnUF7i+dPNJ&wV*J&dzCkOegTNXA!e0~e6#sk^w0WIMR zoKgrxZw6R}uGhKB+DsG%28IlS(hn(oYToAAZP7M|(zLw1wVnA+mi&2ZZYuoDr>Q9R z2pIb5;pXK|C!33l3s9DJl|8h4_6V2T;l`uKk7)t3^z{A!dtKQT_Bxz&0(KG*dujrd_7J-`cWfjT%ott@`%u2$Y0HfIYrx=GV}Wqdl)T zes8VYArNxuXS}nsGheiLAmMvdn<(0v0qCWlGNn)v-i{Q!_DjH%=jZ2xzkXd|0l^qA zx7a;6h_nrdaJ>Ur*nD|u3E+FAUjuSJE;0JCEhHp32nYx!7>+z&&#Dv1W=gI6d;k+t zPRyi=OZMRV)RZ7M_m|Fj%klE{AD@{Zp9?r|CH*^dw!Z}qBng;bSP*x(mK1oz>A12k zEcG0LxMpo@TLrBFG4`9wt`X!Ei*YVAG@sH^PDu4~>lOdSkutay-iNAEQdqHFstO9^ zk1eV0ryNEf5if}akSK&hGmZ6(jvfQj!zDA5NGmBtG`zIe(UoDa13A1apYXG%hZI*Y zYtE*R*tPaP; zQL(WVe*B1SWwp6I+lG^%+@n`iTwKg$HC5wvdBLPsu(vT;t;B(7#}p8#jpi`cs}T(4 zY7<67c*`g#C>$?mCZ-)&yfQFID=OMvAFt^8`LkJ-n1tly^c22_>r@NNn-v)rz~$e( zc>`9ImGC4f2=!#D*6m+AIp#fqVld}Y0KV{5!=)+fxTdD2)lQq1bZzwPbG$L{jhJZ!aOMDSix}hxSX)i`ug7xgja7tgJ*1 zss6pc=kywZ$k}qPfm8ExbHDg|$4-&@s)2NX@zlS!aC(>bpy6X5TZxN_k&}^eYAV7| zf5}9%(+dfC9c|6n^G+_wQcp$wuWs)_JoIM%=DNS~+v_qY6HBB-qXreS%P4r}!SaCL zwUo?EV@RtT8 zdE+_jF(&>4Dz8KkeEpxhT+%GK-kf+e{4bt7K|$x_%xyt7(u=Kk@4(><4bzhzGBY#Z zzyIu6A0mm~(9qzIs0b#Hb11*7=*Hx2Km0JaLrI&5MP>B(_{|M(xOoV#Ue$a3%t3X@ z8Hg!DLl>3}6cemo=Gn6!-Q7k-FMO|2Q&STVgd`;;NkuUD3s~U@Po2YvfY4$enMJ1D zV$kp=DLe9e`aian3L#q%iXby_iJ<^>WYH{_d`N>hlYX#t9HrZyF5TQ$RO@DH7V*TV zJ?Y71*$vYAg3N*b_7I_PKLYuZvmQ&)63QNFt^K(_!!DrX`p`}9!Omym}f zCM1%N0muVjR@?2KhlK_5nd}0cT5#a$g#{8~V(>HxhkGXCMn(&fESfa@&M#lTrhvBU zUn?77&BzP%eMcxJX1mMKH{_Z5H2TXmA|iIZ=GCa6pgG{FYSH+3*_~bg&x2n3rLmL` zxjX|rDJUtO)<$fW`{}u2*Voplh=~m?EidFcP!PNni9J>(CP@R!kPwo1aoUNnFxs8g zSE4%%z&d^n4A^zY@jws-cCoXz<_7x-2*80-sf9Y;hxe~4&^EsL_4)Ii$595x5rMe2%hxNNLO3~V9?qr8 z)20+mohU$KqwjLbfJ8`3Gttwx3=ZxC5t5-{Ac}q3W~sTYze7KdkH@Ys-!umMX$z(v z@6Q3l%(rWN&d9*Pz|6chZdFfQvv+XdXlEBI=mG4+Th<_~3`qc@4+lFtTpXPV7C!#L z&dxI#nYepjKBuhm*nbce56{=^kf4>yZrhmj&tq`{HhV9P)s8w3AtO zm+)g9G`RcL^qcT-MYY;nZYO)od3nrzk$_v3c8igpKH0aHU`?-U)i~SCwTCsXL|;ou zOXJjU4IIdncWOY5X`(ACnrp_|Io*Vw{&7bSExS@{XK#7cjfhSAmeARj>o32p>t(g) z(F2)I=Vv8L4*@4q^7G@PqnB4!o;7GLU598fHnFg`JfJ9vdUF%7DLp@b60+X}JEm1; z3+f3tq8B{h1e&OZZf|QmGDD(-q`?!l+)K zaOW-&gWXst-Q)8!=b^Rc^sE@IgGoN0U#rF)$PRJw@fGHy zdiwfA#KdK<2Xj<%RmH@_Mn^`>r)ow!I+icaPpPM}zd+@5CkRw$Wl3&<-Pw+nnj&xC z=j6OLcEVdd7 zLUX@3UL<0W0XH))8O>GAFD@@<*xxtkqUf(+JN|vy9>*i9@Yd_Q&%J-PA!%u8`$j3D zI$s+aioLpz7~O;9jYG(t&#^br5^=R*POU^H)dWaJPfk}Y_pbY1Ke9n}Mzt6-}Qc@BS9DK05OEmtzZFU`s2WsN@_;_JqA%a1cg3~0lyu5s* z^veAFJn~PHpqio2si>*-_4M8o(6Y8vpxPFKFnxc6rie51zu5p(#6i1>M?e!Q;MQKC z-8>MHr!8GmD;4GWypPg#|JGtpgnnE5H=8^6KICbSKPvbptpq`^uI{4Pu+#Hs#_#0B zl{bE4dD-Q7XC5S6ks2?l| zJ3|H9W}s8i(UmT{3($rz4FQ6<8^^ngVD*sFpfvmY`=3cm$8uR{K%^zrb*I~}K;L=B zP$x3^7XU-1D-H4S@j)MauW`l3Ly%Tho?BZB=-~|VXS8hRr-U@Nl&y-NkL&`U_iz1`~cR0k5BVKX5oK4i^f|n zfiUgtye)Jt>bS`uCueYC&u&R2jv!)TDYm(dg+<3<9NsKi?7*}<8nGf{EB-)RV2}}! zMn_L?xZIzf!qVE>igpzr`RwVt9yvKFDRLptn(5Xrf*vQh)V#`1p3nh;($kBTde=d@ zg$P~TbA_gnzI!)wZ_gfg&fD?&C9&L~==r~~GTz1-@ng$*ZpRS5zS1GUeFy7!mF?|# zO*1Z)Bv`vLS-h6V^EjyV^IU891NlQSzTD~{Vn@9b#1G1D?TCueAQIAB9XSNHdxl!cxjs!9A2bIF&i zL?Cp}qc_cM5wu=+uHuJ6X&&#+_0!v~l2qFH%`HYWiZtpGo;~szA|?(q?34_lF=)Zw z*>0O#Rw{OVl(V?Nct6}_w|#$g?!@8Gh8(MQ3U6qhG-QYeFNHllFTmP~Z``;N#7|=d z3-=2HZHd3TyE}?am&78wuuxuF+Rny?a55t+t9`etI>PJn+^NsvN-Rk3hjL{#wam;+ zr+01xPc$^nu2-h}pPZka@t&Ga>HV{Hz#yM6u@K2mvpHH~+$drG;nf4OkC&dN-Sf6Q zRQU07Rz{UYVcmLRC$5(Iv#awzo)x6r$}Er6(UH5)REdpEC77u5LULv0+sO%)tSm2` zs9Kbn`Ok;!DFZ=UiH84r7GN3P&MoZe8%Q-XBN7lOh$N9viYQ1Q6t91=LD4D0a6ZIR z?8J6B#L}H6wKrz~IPV(Eb-7l%*r}>IcjmHDq#s8wy%azi@rA6QUdXR4l|L3&u)w@8 zMGS1X{%l7Yq||qoTU%S(>v*2@wGWDY0`gf`a`xu2G2T0Oe6Q{7%y+WYpV@9rH@sa$ zz?_u4VD|F5+^jogWo5MliO9*xp~5#F$dE<;Ee0^TC_$O^jEJtTE)GrrbeafeL`NKy zD0qmhjLbb3vzsA+sD{QV7ysH1;eGU|>@#_4Q&Uq=VBi&}yv6zXq8H4hq)|qZqvlcb zoy+#FQ%!!CWfi4ypIdVB?ECtXOGaH(RG3AyE{^@W4WI&wKYh|FH&0$%Ttr7Nay@kP z_fOt+cHuBChSxlH@8vQV@yNdS4?8ikWtzQS$j&V>;fx{>N~0tzjl}C@{}vbD<$Byd z-%ahRp^@N&);TpbKdifaapA(G`ZXs<%XL46=oS&ryy0kvf7vS^X(=p^`5!fIhc6Nm zSkW+g2Y=oB$>nxnE|~Z`*|^N+%9wuCW)D@`-|=LdY#C ztfo6Ano8A*3yd`35l9D zs4RR$`yqcfsvNP2iBnQU#?D+nG|?FvUY>u7iYR8^`Gd}Q&p9lLPwiyUyfB)c6$!yP4GkY4-qlYMaA*OwRQg@uK`%PnFnDjt_LAkx0K zBaaW)8s}}jPS+~{yuMXe2WaaL_4b;`D;Og8%U_SFKS`EG?)|<_xfmPM;EI*S?CbA; z?HXY|oS7wwi|3#GYFtxQIW&r`qciIA^DjfgxeE_PRdJoVv%+_s9;uBaOy9(qth62z z=j7dqjt2g=UBs{Shy__)Tl-MWN6zm1Gf{qR{UKVs^8Tj0T>LGk&AK`qyCG(FWBlX8 zi<85FkHkzExMVM_tZ1pIe$LxgSd2R&aYa56;&mthOuv$*W^QWgZAYJ*-u9)cS0(LI zJQ*S?AuUDRm0ws~#1a48Yr@IIlv||VCN3dCS)Q5X{@djBby?Z|Ts6wr!NIVd9V77& ze)pr+CBm8Bupx<%FEQ7{3V&ANbHy4MoynVnbtN zf%D*c2lh}}5&eA!?>HG{ekK0LedLA@^dtdLXk|bu=ck9dmA2^sGx0IWoq7*G_)CpH zm1wU|Ep2&kxVTvVP^-EouGgfCpp(RmlRbR-4PHyjo!dUht(3LLtq()Uo-B0T4h|;M zV@+jd>1Yi?`Xv@tnw2iQE2nzR7xyE&!J>PRirr@#-@Sj2K@tEx(eb^0d%AWTR1y09 z{p@zSFyl6=hPL)(clX9ZS1j_s&#|rq|F?+l*6rItK|xl(>nx0n7|L_Le(nAJTZo-~ z=j?cwdYthCQE*aeIyMbH&)jA6%}7d z?(FIkbbPb(yC!mSK+nnw0LZNQemQzRFquxhJn(1qQ!a~JK39pXtgaJ1HCSe-?_OA4 zUH$W?Sg!@!(9m#()c)POcOdjl+1IOT5(L~JW@&Px@gnG(age*YSVo1Kr6ys&L?C#q zPt{hN?#p04{2LW)m?8$=l$x4c!wV{>t<=)JY@G~!+gSDO%S82IYksJqp{Qo{@xxJ9 z*UO-hp*~YLjQ2mDDLxlY5V(zwp7u4A-{ZtJImz3^4Gp; zVYMh`UAdH$_F!s*Jrl?b>ZKomUL2TBzkv%uY7`f5?Msy?D=obeG&nd&%Bq#bMJBw+ z$jT~cJJ$}_3O{)+fHn_97#Vp{gwFU}Rn>An$I-!|%)FazU}VG@_yuwd3k!>t)#l#^ z2P7kVm)9wH8y5q5SZ^JHzRaq&7qh1%ZTxh-Dx;oVNl_8fG$c`oaZaCN zWBH7Jl7VRh~HRSv5Ra&aa`Mo8f>?2M%5wniMrx5ohOCnep4+JUeA=a0e1M@Faw-M`g7btA_G z1&w~_la>)K;PxS&nw&cn02B*%EvBOOdVjsw<=);Nd>F=~ZiHq;pn4E*io&40Gn~L3&Kbk9uo5!F2aeiQ6 zAS~GoxvRb0`)FG;DK&NX zbhBQm5Pt6C;{#T0+!ZrFH}|VwQ&0?q3d#$)?^x|*Wq~}_0r>(cAG0zrWE2z>Xmcg! z?yP^j7M_qGS8Hi* zo>uUUlE>D7NxSNkS=$9UFY>S7s&0FirWScwZe!Z3tCKtQZgfQ4MMp<3G3wHLKnByA zK|?dX@kM4KketKl=NG!*&lS~g-@b(v<{~E>pO`q?Umdm=dwY2Q-aRq_SNjNY4i1j9 zw6te7Hbn&mtgH3I8he0iU%!U-EPC~0?qOg+N-5Sumy%=fBOv1A)3cDxkiAXBa80a5 zzKeyL47U{)6Ewx9~YL)lI))LyeA(-lUeiVj_B;7Q<;|Wb|h=Ur`LQZdTTZ&Ux&|M#jdg%gbfs zyRqgL9l_Lh?)tfJqx0DM?kzn5R!mDP?fF5^%Es0+F`@O%aA&Rq4yZvs?J&exR6)T8 zsN%95N^c4Y&eBYiU!iXO#rHR8VPRpgG|EW33ana5t@l-b@xsK^bbYc~tyfV=sl;)8 z3}~N1>4_Z*3JUykOH0e!NXo~S6SZ!`ot*)#%DuiZF=NQv?iOQrOiWEojy9?{$1Vw; zDTH0Y2=9#QX!2|R?j6TJ+PxZefRu-ahhx$KYc@1Y%MqK3|K2%u-CrfgoFh9t0+fbNpMW`^=AQZ2Zx6_ zqGg`ULXADVaywnEP=}F`5n0x)Zv<`r_}116OeRkYM6&%K)xBj@Ro&Y+x&Q?f1e8WX zq(n-P5~Ni`LJ0wB0j0Z5xUOHUHRm<;#hrf+N}TM^^c84;EtUAa6P2HTbu2xN9Wn~|0R0iF|1q^7_zD51QK6mssP@E?>^{-RQr9x z+ga|j82b3cF~^5EJR*V`W~9Y>@6n+#N5#hG?lbX>O-T_=ltePN#Ad9o{3faZQJozSznp!upJ-6o-U0hs%Il!%e zC{qQw5(0w|b0VvUg*b}C#h^1kTIF!zF1BP|VPVLtSJn1&_Z~is2?_b}@kzUaff!&Xvp5Vqu1b7S6;qX(kZT8 z?{VXWJhoZ?^!ddY4vkP6fn^9-z+vB3)sf+0RyH>Is}~VK>_T+E|Mo(sgy&)O=PBbS zPjo>YKn8-fa5VAf&V2XI5|buHOn(!fh$!^sOH5DC#hb3S+daLMJbI-d=K1-9U%rH& z)q@#Jlk)op0sZhJIg2vk*7kA9YPULYl18szd3G~2}I7sxb? z3N%6QPriTu;27Ol#J-%+;vZgFS;-&Shxb6cYncLq$VV{iL0uQH;1i zqc}y_&d}8KionwBEWhi#4+M!-wkXf@a^_+dp5SMUb7d06*u> zk<%Zve)%#x+32TTVV%WG?kKRix#=+f{k%1Nkg|%(Jw-+GQglxY^!9-msWcxSADCFu z3m3HXV=5|K9zJ~N>|E~p5yvARk^sDWp>{?6vtLRWus)!x#SFjT2c5z}e15fm|DM@W zLYiGzn4FX(FHgUic$I@gfS*5+AH0ydni@XqM7`&TF|~}$=QE_N55h#OJs;B0&@>fb zhhK#dPZG4cCof-8T1rSnG{5Ou0aM)z zUsqq2qBMT|*zVVw?o=$~O=)Q(a+*jRN{)olP096X{2eqs`CTbbxyyW&?6 zCMG86qEIJFL|p6j>C%{(hlYlRsp6h*-@b(wq3b;XC}6a9*T%FX4`5P*&RrCIBlfHu zf&|b6U1|0C^XIYAQE6#uLF>`GF8qtq6kJ-Rj!WG;JC5cbA=9s1`P$klyT9`iQ1@#D zQ^U#O%0g%A$j}gEFvy=Q`8aO9T20r7z~%=2n%TpI=*hGp-$mftX(N93q(!M9OAvVNtAIvDV7qJ!@aZNzvZe z$jHdp*xVejW{L^eKR5t4UR_lMT}k@!bfUp~Vqm}p=)9>NbSdaLm~_SXYmXsEz%rqa z!w3j0_*ji3C6U0-)O^M-v$C>kYd!4kx4s0CR#*;Q9-_l0X*?n@6;FjE2LA6bxCRrH zosj{Srq1(d@8!#vzP{M#u8bXfC-j=zJ^+;n!%B$jw{{Cd{^QLJhbI3skde9h`5(*6 z1^M|cKYm(o_yg~>w>lCBS7c<<(-J%)+WqmFZ!m!bgoGX&lTsiU%E|-;YUzA>&9x*Q zszw190N;x9^Y6*XFmZBnUb(Ue%+T1_2z`P%4-O5@X1RhOB+?Lnv0U2aFpMzFxPIw* zd2%k77rO^7ojG#E(bZbeKQmm51O3Sen{yRUf#`$2`?u9_d}L% z=$|X)EuCKkIieJQjZsiAHW6TRp(%hM`OO=MgxuWRE1Rwef>8s)O1Z$d*mhuXAT{80CgLYj~;MyZ^nIK zLp3$E#Za6}cND`U0psxX$L{~eGPSUf=O;suQp@2|Gg_k7A3qe8l#1E}Fp4Snu`coI zaQ}ix1xcPQitoc*YeE(}P^>TUY%kayqE8XO?Z*%DQWA7A1T!fSq$5mArYQEOKMzc# zH97m=-hMqht96l{GOfq8lgE8qc^MlU+n?>gqn?Ts3z00iCeD2~EHN<=-hOywMElXB zboUoU8B6Q#0EApOfO^tC=M@)Ml$Ft4GeE|q5axWdzq=E(>=DH0Zpux!NSGXLZI02G z1)`FC`yMCgj+~vPjH05GA(PZDIy}j4+w#*$n%|VIFwjy^P|y#Ppc)_UD^~_V9)MJ* zCVb)N_ZbGQvgeuen< ze*5}$u*^b3QSls1fGKN;Y?|FGl1wQzwO$x4^uAw)EU`4Y;(WF(3jBe3q1J5|{(T1S zI8iX%U~yVoTid^VyCAKUD!w{1v%N7TBPJ$R-4i4)CG|WnkDc+>qell|JJrzbdSLdh z)`x5z90L#*YL!9Hg3LE}caz1Q?Hz0{G*>8x3%+{w3VpQv;6a)wKJp`T8ow0AHr4w? zuFh+7I^bX74gGqLgp?F|8X7>s*RnW1vsU0(foIfq74W+T2Erf?f`h+EndaHAjo!e) z@dMmd>ATKoJpCo;wB_g@v*Cqt!6X%pm4`yi}AWXUG`uqIY#7BQJn%m}&uI0llen+kR1`hS70% zug=IYifUn$d6Aiw)fFkr_kxhx9(Yq4y+xq`UALe6wy|L=At6CbOl)Tf;+;o8KtNO! z&|2f+!!w=vxw#M2)hSxBiYk!pEMWc-=QRcz2A0$<)%+6!26< zMdd9o6+c)q9UYy~%n!A-wGJ9izz1$_ZvNqDu?er=?tn0TeSKhKYn)dvw9dzJKDzAc zxzb+HQigT8*ftD!OQ^XE_a>DO=HPQWZ5{aSBu-MlcsD0&R8YgqjvpNzO12F62!2#7Hcbw`)G(j~ z8w(4|&6^&LzNbCJC%U>eyE0^{*458i4VShxH$VBcHYRbrAp_|>-;sQggyd4aZ{(f- zsfv?F{P2kL3km?`K@5YOzm%2v)~AJCI$Q}-Uc1~fUG%g^d|+T;{90<%)u#KaO7ij? zSFeK90i(eKdimtI3Vc9aU7bG@orG8IhY#mFiPsfeZ|Xr{#l=xVqGl$lkzs^y<0BhV z;Oo=%V7#~Ww(CtYOtQ@F+ow}IHB?mz@bS|`34BVU zUOoN^@Vg3HMp{NDAWSGJKAsjdGDO4$r3(xUe+KluZ)LjC)s9RPT8tnA+*Ru0tO-(9Ic6_~gkP81P9( zcEqX|>#XUU%cl^Mr{?C>CY|&U`BSpQCp$g&r|T!Gv$J2gW4{Hi$R&1A0x%*bwlTBT z)lHsEn7yP9N}Ge7otKaAE&cc-RaIc)1W2u&#jXsw-R}$A+gn?}e7(KBre_H*)rm-A z(J?TD1+w8F_~?^kFvP$Fa1FrV^6)f(UIThZ_b-J0Ag7?P9{M=fcN@m@PaT)!?b z#Jol=oZ96OLpfX=)G#PfN6i5rhAbaG>~oeUT#t%~_+UHL^ySMfF0R7v?rxig-_F1f z5HcbnA}?ONXp-OhTbBdAyvol0P)$u!Q`2&yeyp+adC@GQl8Zxzv66t9!;mYy5e9a9 z2H=GjfsAW^@f`c=b6ONCCx5tsQL&^NT6n9 z78G>;9?uI-D9V!1`tqwDRnaC5q18F59UYIgh=0o`&PdgoM2Gbg8oaqoY4)vyV4EL$tCaUzF66lgAq4&cR35 z8_n`gHo+Kh^6*Sp2Vo(LEe6;41q7O_gFvU#-E@8LhTfCr=hvxo-+lL}Zl+zhFQ zZeoZpEib1Rww;8jkBW*)BEzW3apk741CzMjy5;Zx5!>+;z<9*~yR?$OkWg-1md6cm63 zg04@)*yg2b0ex&2-!^Y!4O!Q{kj4@9ssRs;dDEJ&U%!Gk)YR4n55k+E@WC1_iUPu) zS3m$2o_s6AWft)5=H4EK1!77GUJxwl5txME$H%z@UI39rI#nO-W?ER~(S5W)mk_Z{ ze$`)ET3*eZedZG?fAwE_nbv@;gz!UeM_w50FSi=GdGjV{LqbBr!(Z$7LrhzyY*oM` zZEqJA7P9==p&$X}Tb7hGk}eZCXt_7t{CZ`186u^`xD73}tg70>N&w(wJzBZB-6=5v zx@u$UGmz~?I=VWO&J<^fDlAO8+-pO6jg0{!0ptb{=iJYXWKJ$-#K-{=3Y8-58tq(rATT|a*O z*psc8QDlHt7zeR8vUP{&@5P&gv-s&BDkDDSBOjl%`<^E7I+&vr6&0;6@!1h^m16BKIgtKG5KF>0iHj1ltq?eA|e=>n0g8{cy4-Jl=R5V z^1(%X1cyI9As9O^c@Mn3UZw5h?o2sHJgmi8<3*wkFIu9&MuX96r`KzjKtj_=>gv*k zwHlQS5m0hR51z|LbSXk5aS+G5_fu}Ref?^>#VmbBXRPsQ3Hr>*%#3~QoYV-|J~|Mo zfS^tHC9sf9^xyzYqpdJ414HVUFJI)=js+*qHGW%@I2hP#L&`{ci#HUF59?ukL z^H|8X?9x(H0drEUK(`@Rb*mlCfD|UQRb<%IH8fl{r<-5BIxCnIvP>-*nYn|{uXG+8 zDPCLZ=Y~6{7!}s{C_uWTWNqd^S2dnnW7R+41qQ@slS@p*WbiyJl!{ORlco z-dS5=f0BP&Lsdhns;c<-7Q1WwMP1g=5mN?I>XA!ii1n|38xy%)L%jZ@gZVmW@hH$2_yMv(C7>12{dy< zbv699(Lj-|qbv^ZxAt}v%PQ?=9336en|poe;{QbhTtcdAAdAoy6~TY6+3f?=FY8=F zZ!h+C(jlgS1oHsFR5CK3;f)C@u2BVpTal5GslNPtA4C>8x{$lJuI}0H@@*Gd=RBGzPG44ln!|!)rrFnp9$d3%s)5tL%H%#6l;mN@Q1EgZLs^k&)+&5sy$Jmic z3AC_-BjMEFtJeaRwNfiU@Kri%AO;jw`Atnc#Qy-ReEaq-G&D3f1uK&TE$<)tcw@40 zd!duf-~Yu6ugzvkKuF(5oD}Vl$Pi#VS$=z8{?_x$4OGPTAw$c$Vt6a7(CfT3{4OXE z+r~RN(W$A$fWztOQ>&|rE)|%m20hL9b(8CoCC;=3GY9iBjr{*to~s@z4b7Q)6<63)YPD? zt7ni;fm1Z-05IOT;WpJ2;M*1-PX&Sp^3c@W{DL$nKuEzV^S-Nx*iEwe@7~e!8ROGq z&S9QU;-jCuG5_PDk&#j3Y+r%K*w|PeDop3*cDLr_6W=zrPHwsaVWV{~x-tS|V#vqr z5Xn<$r3w*T!6aQ}WvRN3_V)J9P8UZ%a{1)=Gx<+J+2oX2YxcQo=$~PsyTv2?i;!)y~skIc{xjosyKq zac~pk40Hgb08*$@pCpa+Z^>H2);W7sRaNc8k-@<$ZP!YLpY6RvZ@aT2X`X3lVcHM! zN=ka~4W#59K)M8ejxeSVn%Z;)Q?a$R1(GgXlmIEcNQOanEG#W`N==n5Eq?+Ol$DnH z`uScB<}naSg9fxawum-~L8n?E7tm-`BA#;REk)R0J2fX_EfEiEmjdhStkxgnD? zvvYHR^~I&7(SXvIoI$s_fKLJF$f^QW0P;D?m>!Ws3kb}#h7G)XB%>(E&mT-DTK@6l z7HG>HAu8nMEnQttuno{WAX4N*)GKWFe*&z^c~xus5oEr0$7Tz zmP2m=lEBvH=DNbPLSloq!qA;V#D7AA*zTuz{92=P+Qdb3^Frn{%_6#b#nlzSjhc#T zXMG}-=3MmWsm$!``Go~-ZEfgc%vvyFxYMVhub3pbS~1}zuc+wc=(w}Hn`i0k?KTg4_ zzGTLZmi7`Mk(HHw^5ltHC!!mrHhOEY8pafIIU3#>L4a-9?Ck9PNnqSjh?zkUG4NYr zXnl^J>@Kw2m=75_`3+Ig9{Ad{AB%hHWmuSvrDZ1258|i`Vu_Zhb#QPH0DM;3{XV0ROYu1Hzb`ewz_&I(~xdiHy zm*tetJoHyrQ`7b2*sWR>K_my7=Int?@y^jO*DEr!uz(emmy^rWDAohjYj1ClM@(P( z@#Ep-MYo&dK%Qu2=*daU;NbpToIcFyGmxj3`zDZ$E>MXbZEa>xtmWi_GJVlnlBK2m zbdZQ#g^xeK2(sa5Zf-Ve2@VPk-Ggw^3Z)lYUR_O&jm>`hw)^mzkmX=_WMpJYN)fm! ze9#XG!ghwPuKQ?V|N2kJrArV?fLUYb;f?VbnK?L6!*PL1d>7O_T6F$Dg>E4ETAG`o z4+SwopwZR<4PaFM-dOAJKY=FepqmeH?!Ex|%}HSa4BM3a@;yXI>z6Ng1>wydZ@^$c zx3jaeVen%<$*81Ac#FGkOtOaf;hy^jdh~ZlR#p}vZbn=9C9rMzMMXuqxep#bv|30* zFv0M)@UZ|}uPM0P*GDTWh0&)9m(+o9(Te!X1;xyJFQo(o%Dn&lu8=c=p_;6;m;bjH z0D%8>^96p;o`9!dS<1a1Af|V&t_i*`DFFdS4`hL)t)R;TSQR5@r?f%q#>dA4r=QUR zlmn_>nwjZ2ya=M|1rc4f&4l<=3kZhlnwsn2*Njj5{E2+Ugeg!jOyoCHL7xlTFwjeQ zd3bu(p^#C69t^|Gtfrv>45g63mjw>hk?m0JCjEMEo@!fLn*wXk(2yHojw72dcY1a< zD=%-?j~_oUmey+-qRdKoL@UnVJIfp{+dvY6ZyH$!QlYh1A|IzyFoiCw{cjE+gx+&;=55@-pBQ z^hT}bhs(UYn-C`ex)$vh0p61n6Nh1FUcP);s9ixrO`VmUJss+S1W7$Ui)p-d>lQyh z|4sLumxrzPU2ktID=VYRWZ^gQ89_Qtcx?XwdkRvxsi}!o>CIi2@ocd8v@|q{QBg*Q zhM*ah!GlTPeeeL|e}=Rl;GC<(a_A#Z{k|bU{rU6fOJ4+JL#jLf9F!8P{oL627_`^$ z@UUax;oZKzK8PJXJ-wZljUDtleklYzQT|~V*T^3mL2jShll;x8|KgZtO4NySuxoX>MVmm9p~r zx-$|Tpc0glMQ*#CMHX{2OMP&CVgWi6;^Xlv9^hy}6dD^Fqop*#EkU2Sxw)ZR-GaV~ zckkW>iYYF(0kZ|Db8Gc0yuYK9Q<6@L6=)kBo$m|VOJ~mh$pOA>pHnH03u z5Lf0J2Mf#X?gOosIeQ=jH8nM30|Ow&3a~ujGo)V@6&dx~ zp0r_GMNL8R6nMzM0F!f{K~=Q}2oq+Pg_X6XwN*nyqlc<2=x=Ev?~~&Lz}QiU$Ci+b z(1^d}L`)nO9!}D@IS+(S&Y=$RM_D=_@Fy40CNJ+pSsA%CS}75)+TX8pVWQfppzRDT z;uCf$OX&Q^AygP@YiV_(cb+-5N*9MpOo05ifBgcDhOTt5vRY;EK9<6N%$H!&@#fKc zgXbwJDFFe^(d?>MIXIR&jwB#D{lj5;mlqdFq$xNx-vh|(t_+Y$@2!oAT8|3j;RSX| z{HX=X0cTYPtr=Ct-+^!fHNfKke&}a@{?#e8s4+M#{<#ZMphf{@UcLGjOnn{vBa-|) zngRow3KTL-T=*UMva72LFa`uC=r`?h%Y?A7Far{9dHHsLC6!{?U@FFk8SE=dOTbBW zF6iT`e>&23eO!!%B}*od=!S^MJz@G%tHSp zUAM3|WCEJPM@jk~fhl5|4B;FVwG^G1$qZIT`fI)CQFl)d_)U&Y)4~L>Q2mA4fkbp# z8X6TA14SS{@SpNh1xGN+hSJ`MY;nbmf_e>Ld#I*%su(cr_3PJYo$Ad8Zo zSpK{rLl(cFk#Ti%a}%HhMoURa2_pHSippEjE^kW!EQkQ`c`)cvZ1?r5>{-TwCUHi` z#xx*uJR zc+WeEGc)}=7cNp$cY#k7VGKs^3NS1|dt}4tvqW#J7V9?@6%_RJ^lWc#HflN{mxxef zHp!$2vU|AH%rR#_46tW#P}BUS9fI&Svd|*PM#S{Y3|h2QX_En@8EBaF7KKv?2`Nf& z8xc3f#6~Ka!&<@0Ka_Wn_?@r{ZC&U{PU1Dfy=Q`iBY%0&IVdRTx=DwnnKgLdu-2pK zT}pCt=tOXvvDdeI2r`V8SVTNB|DV;5_bs2p!$XtKlyg+q3?@H4XV`Rx!1qhSN83+M zK>=)?(t^R&XNO!N_7)pQZN;-^rJ^Z-@pF^LGRd%AZI?E zN9(jH!@O`f$ltriOzsZ^Q0sB<5x_;i!HbjPwfWBWb`2!@)?9l=Mh5r=2L}gjcO8$T ztH4Sf9fH@d_w@Hue7Pv*z5@ysJ+cp2=3sw+XLZEolMmJfd>kY)5IvJb%h=rfp35m| z{2O-DU*O$hz!{T~=>cLGw_R{>*p`c81z+Y5S76}L;o$}8YL|8HHD=JNDDU{;5yMdE z)w=RJE@D8+qgyBc8)PAV{(&qnFE5ZcxeGm#cKUAxy7RA_X+#{aJWLV%1u+1$X=k#( zJD@KkEe!%rUU%^gz}tlj(qoQa{|7pP#9LfnZ*bdw3fhI2B`-gphS%_m?`eXLR0$pq z4sCsXhV$pa<{T_`F_~XFkL$;%DGV5^z>D}eqtTRh`~N0{&X8dM-B2MTY-`}<<>ln$ zRIFF$wLgW&!BG&yp#dIa``{Q|73I2-R#eo{+RDbsX$i<>cn`e~)98l>xe%Xd%$G3X z`D;w#&oSx6i=u8@#{aN2z~6tg#)U^*e7vRQ&fi8<29coSZDJxjW91eNW~Z{U5;O(m z*f;cfFZdM5MF)HPT;r-3b1fNetsgq`oo9HPPJKCbKrRLT2Qk~BXG~K5s_@NJ%z?g zW^wWQ?Cj3?asmn1@Y&ff&o0f6)wt+;|K5F$gNM)PyL?@?b<^9+Iu*cx~ra;ZqS1{)jO>u`z9{5gQ{-cnC1q)( zLnVRZcgd)!6N>9mkzW5+6d%E$HFlA^5fwHQ`MJ3}Dzz0=Xv{oT&fka;Hn2MN~_#)iMT93B(nWNT|sGPGK$ z1l$FINrLXJ@9pawvHO7_(|=EXGVRZhCGP!!V4gb`$_sbAxe*l^xn;Mm2vWGSQ$tbiHT32eAdWT^U~9&VERF7WQpE=2HLTEV4$MBJX`c@U`%Xm zH(mO+{Qdg_U0v)P9HgahL|v3_-wtRrz{J0Do|~KFq>xuuj##_om=AU&Hy6|2pDl|2 zLu5i@MAmhCJ|rnAX+vU!f3Gt+-`;!-wB`C(4cn;H>sfHVy(PvYLgaOTWN68PHur^{ z9Y+F!*Bv``+N!FmIy#o<4fyaqHFfpu%*$GL6KKho0j+WsNrh?m|2Dvg?s4lRmV?S~0!o%x{o zj>ztd)I0G%$J>*W29VR$ek8sY|BmXq<@=wryH5S*?5*h-62QM+hOG4x$koJP_9q^6n$nl z`kXl`CT7*Rp%IiPgmv<}QBE$dRbyiG);!EF4GoPWp4olCy_@v+!F#S-G>7JehK34R zkA}M{bd}bt8npyJ=D+T`VUXBV-iGI`0I0IFu>s+%uB`l_q(szi`V<}S?Vi|VdpkR2 zpgRo>z(;#8FL63vsb!rSXDfhw(Df>6YW&x)gF6|A{}zc@%&eBGML)o|3Q2;BGBPrt zBHG(I#Ke-*sLq}=Mmp9KK0$lzag;+3iZ z86_1J6}7d;*@{V*FJHE_vU>gM6*H}hTH$){D{>CQ03d%-={q4bESvGr(J*>(kHx8} z#wlB{jOR&7Gjei-oR)imXynCn?rKfsiMp(TsCipnj-nqJObAM}auM(gb1G@(4}eMr z39p-;hdThi3h~z%!Gkn5rhohxxu$cWFLphnBfq|W9AF#L7_>L|MoFLrcmt5LOC2oA zx(Ae!@zHy@9{W7>VX}2EgM*ppTwl7|~m5{LDwE3fI+~oy(z9O#uXEclXXf zyI9qW^?n#!19{IJ@zbcRUba1!%jg;vy4=qg3_(OhL|j~)zs#%r-Q=yUE#MB1qdhJG zR8Zjhou{Ygo(jJdz{khu&lW}}dIx`~!COMt&6H7vXP^!AA&K;b3m0FZLP1fnnP!O;8VcG3S`A^0qn4>t$%Mv+1*?jg*WS)e=Bv!_?IedF2QyXViJ7Zh*^fOub=pWka`@W%X) zMsAcGP=VyUckdoV@Jvexx)fQoBd6MFB{n9e?}JfmaB#5klP8J_3V=@i&rihm)4+nv z&Chql^ZKn_N=2&}DzG|$c>sY1e*a*zl>zm}wo}s84xW+K)glzHSw=7O@T4Xt-qWBD z*8=VBAC85Ci=jKk%*@60qq|$B@(HL@5SQq}^V`_$j4XA}Y3q{KZ6PP-J5wbr2d@D` z9sOFjff)W8&KO272JR?Bbhwq{3VLZ)SnHaa<^~0|K@j-)`Bmwxff`y2?H4yRG>ndp zKK}iCiD*miU11^UOSFWD&4jr0%eQZ*gGkvjkMq}vKfZro>9Ve8WW?l@mIWG7RI~6bM%HE97ft5cu|cLL0XK79B9VNCb? z@SOBla17LhEmaN+cf#mb=jNO?CZ)h00atY;uS9)M6tDo9gGWS*85j@}5;EaS7#|-8 z8c-}+@#$EFhAd0_o7h#2LTrhr>AH9(Y7=*ONfqU_UO94TkSx5IyflEQn08SL5Qi)wE(<=f)t}c-F9ML z$CciHPMTuS%D6>3RZUa2B0ECgeoc6z>z3kp^vxj`R#wmhPTSgo)*f6^1~U(cYB{c_ zp&|6R$saOXK92hwt?+}bM&`UM;`H{9rKOhkwpRrN%E0wiRu))9HjSrUSGyYtD&o>j z^f(1yUu--)yy~se*U+;I(r7h(DR~bMk6&wJFt$?qxqA_yxmNlM&3dw(cD(KJ8LO+S z+1c5fgfPr3EFXp}8%ZeW;(UFZe6Vl`2?-%~0d?kKPF*gCUlB}NW%f6>G&POC>9z$^ z(wQteK#tq!xgLm#IXF0|^ZKo|akm()lIZW>l_A@cbk>wHxehB-QmA=hJ5RZkUcyTO z|6rxKp|q@QcW37X5#2p}Ag->zvg~QeP+MEu(cbEHKEBA42ok^;<%~O3)z!GCPtPqZ zfZa|Nak|ROYuA|~rs8#~dN=tkt%&2x&IOm~6(OyO4Dcb%A_YD^K2{^;ipe5QJ=uzoiVz4_uU>`e$r6pb{JXRULh~Yad?T7q?46t*s;U}& z&{S7fM{5>ZT4oAeyBowR6R$k~BT3eUJLu3L6;nk{P7Y0f2=Ae++yyz$#TD{Dc-mk? zw9B^Puiltu?ORyz^J)JM3njt&|Md%Ljo{j-e&|%%KK?g@y?kfRoSB-M zYFalRzkJoj#f5<(_5LFnho%H9WLOu}_BN3!TH)c}-M{7K?&O_67ULQf@)8G)F(8b7 zw6@BE{%ST%_*+)IGBb0QRA~54;W}SEs|d@DY8=UdGNV=^PfyRr*-y`L92^{uc2{H- zS(%xCg02P_^gW$efgq0VXV0ER&%0>@yOpm|tOrP(!wMg7_O0*jyr&Z+?rG1Oc*~J; zE@9!p@o_I`JrFLWtg^DQot+(Y0_53+mFzQ$HH16TSm#R7#}Dt{lUScQi(YRzh!G#M z$e5VqYma>m>;WPU4-cETBEQVpKjMtdUBBQmae|(Nr(OPiV&V@d7*u71Z_c#dPZb~Q z?|0ssZTq!8VRDUXdgSog)XKY_&n&c;Zl7AHqTtdZqoL7KR+dW6;OFPJ9G9+RVPR?R z?7RBF`Y@W3a-iGU$jFGA@Xoz^uWV;>l{0`6&oJiY z<*8;Xpha-w;)KAi?v2=h^%<{8`Sj_NlppSy3PJ{PkMHrkzHRE=_3pdo&@2EhPKx$V zpA6t-;54h_QS@<`nVFfjwKe20;5mpvvXnk|4Y#H4EJm3Zz|tV@q5I;VhicbeR|}(N zZEtT6Myau}v9Nff&eJK%f=We2<-d<7$K>2kegFPie%)%a6)DKcv1+H05)D#w^M1eAO zu~AW^YZlVdXlapjnZVq)>Y#i;i^~x(&cd+E1QL~%mLAW==?_}&@iZJygW-qy85|zI zAPo^LXx7cFuRrni>(|Ig^ej~vd5^szlOIw0hlile=*8R}fz8$A?d&!oY`u;*Wu?CY z27;XX{rk6ofIvw}$>*jfP|>a{{anhwDt1drSrsPjtI++8DJgm&cAH;Qt}HL#8astJ zJ^~YUQOH{7!2=9@7J6b>00HIRa-YTQ*N9n}x38#$fF)>&WXjZVbWo{W~WgUpEGWo+IMxN69cSv~>W) zamvKR1k?g+39HhZO0VCCV02vF-Muz&jwkzX&~|_ky3EAH#mR{-`rY@JsBCZAxQ%h! zz+&dUdNsdoJ-x0@EVXl@(k>%1@{8x#yo33cZ+LqvS z*5u@5U>tDJxosmAHl*kRtciBSEH%wWK%2wP5mA88+eZ`=2%2Md;_aXyWRFjc}kB@r?JHBW+8Gy+5J z8fG>&6Cjxm58cgC5(VA5Hd@tW0a2a5F|Vcnc)MP!GS$(^sc&F_vbKV}(6PKJ7l#-4 z$xM6&6qtWFC`Og2{|dOZ@j4F8Ps77n8)qu&+nb6vZ)40RFA$~ufY>Vfor<1>dAJ9u z0(v=wK|&9lt~rWJ77G zc@6zjQs@~o>+8Kh_(HbF$SSVyUh~A^_?Ny8DCqyLiAAiu) z)6?ssS`HD9X(>H8Ej}hr!GcpDO=MDP`g-FYF`ehevE} zPnv%BTYLM;%8JX{=t0kYi8C~AH|fJ#nNXcvWdJ_>4I5;{QmkecPWr2V!C@i#UE%gtFt`%xmtOYW7X;#_- z_fJhXzmDU4bh(=qN#jseRV6JVd&Ei6r&u-=5f#b&U zcjUB0fvq#tR8+MtYpqV@pdTy+MM35tynFM8Ry=j0d;Zp#NYW1qy_7cN>DOr-GFa#6 zVj!vCy+hALMUPCIcM#y`*W^@pbE~p7dh{qEF>(0WK#RdOY#f{ln~8c5g-o)cS2#Gp zB*rE>?JRbkCZOQdsSHo7_5R}}A2B;Ocaet1UwgdXQ{L*sZmB;B4vrt_3F*7$=F87< z@O=IJLV|wn z{TmGiM@ICk9p&D8C@FPpFLY`TO_!SWK%dbi&uC5Qi$Z{n5hP6u+u$t%+SkzYO-gZ% zjAkIDr0{fARJMK&m6T_agMRu0GxSlD^Gy?u&;0@S1t$13*Nw@+K~1UFn53j5(A@<3 zC5+u?+m76Auqa;7{ru^1ypNtE&RTM7*)mD9+R@C)YW4VF`@o|mdT~nf3YTE5}*GryS%(ScU%qdyR57%cuo$Ef_X0O3Tr2O^hy-6Nr{M1HZx;) z`tC!cU<9nebSD`9+__{4?~^1U8}wv#9-fJB6wiLGS=rb$*w1|f(F}>F8bXNs`SWKc z5s~4}&SHqm9Dq5GeOq~pcwxI~kcsNWdUUk3I%;aArd^j=quAp|?hS)xKy~T2Xm)_$ z*ocT5o`;T}o^>@f&uTm(5lnO0_(SW#_l=Mn+no}CM<*Z@`-}C9Gc%c8AGFK9d+(;t zbv*v^<;%yPUkr_ms0M13eEf(W`UZd=Au_@WuD|K?XN`B75lKm+7X6%DT!r9gS4Ysj z*I!y%VBS?;mv!Iv{?-p@Y<0W{W7LRo!((!M*n5R`X=zDuIKbwiwW%ro*|Xify~fw5 zaB*?ht){jQ;Ac^+irxMFYyE{u&!0Cgc4eTC_%x^TRC5k@mU;@cK?#(IJ=;U?=wvAi zU#W3kz3h)q+}gOX{rc6bhGwk(ih%kn~MLW@=;z^^^ zV=7wzw&nuyUjdrP&nKehoBf_}{jGNqf;lMTKN|>uZQGtH7nR!;a;4BEhLT4w^Qr{+ zotc@a*x3GWi4v7fAjYD+wx&J@_D-e)0(u_qoFOL88NLm%Qv)*ytvIb=x3fMW0m0D5 zSLg`%T(^6_a#z3P^`iM?g}Lk}d%O>5>rXR-{FKNJ)ouO6LIu>FzFRICS@Yc;9(v z-I+Ca=B`=mKX=YrpdJqAyZ5u7Po2HL1}Ml$;N2vRIqLSEDOThFI( zAA{+J6_GlYO37eZ*p#_vC70yb_IPyk=Oyjjd>5x zxM_<(0&2qtM=lq$G{+MQQ=8Sa>}-xv3~%rGqM>VZf>-tJ5z(jDvWpBCHt9fIjaBk9Zdc7|#sH}|V zbZ;Lus?4Z8`?&Wx!=dwl)h`3uJ5nN7kKgB~hqoU*+Zt5YwVbT7-fccI}&r1*Ln>aXT!V%89ivlitnR*nW%E>8* z?=VSD+t4S=EVY!C`_InKBtj^q(v+y%Iy))&?3O=bUjL`Jl#JJQz9p1~ds2KiDmt21 z|IZETw(jnzOYCPhGicmgNj{=_)eh^=1q7_8YMj@{N_|UDV*Zg%TUb~)IXQ{3nvcj@ z78w7hk>jSMq~y%vbh$MZ|M##kPJ^afRuf}mRV5`V2a3JDy_ndyeijwo2@oS8A^G_6 zqgJ_9gmfB8#nbar^YlK#>OsSkwV^zNP0iP@iAYJizdvo5n$lq*aa`#$YW_-5q-wa7 z+v{LJ<}|v{9yNO3&dx4D$g>OoU~M>r;%v8DXfza_FQ)PE@UXYfJgQPxQRzq&nr>~C zl90%7KRwVYdzW?Cs#$7Ie7H3+F%fW=J|;Fc_WSpmb_wTQVm6g@hcucw;K$mE$i!nu5jg@4XbSI>zr)z3zqR>mWwzj4{PV=Vr7oIz9 zd9g+%CbFB9)m>i1`orkbj=mX1L_`!Krd-zY$mC1hc7_!%WJFiU7~4U_xSi}Px6bWPoKWgwkpF8?`m&9-De<>Nb2d08nf=?Z6g+CSE->a%CjJ5QE>gj7hyBCL(C=j7xxf4Q%0 z@uR^PFHDj)upj`C5EZ2!?5vjmrj=V^jSo@#F-lcc^*%Xy@$OG~DOJ^o&`?5t4w$q< z8B}Qao|%m>)b<({*5G$~I=Yt^VU1WNg@x~<*t89)#`CqSbv=&Lnw%rDlrwBYpb4z& z&K>fQ?ia^P6Yu=4psd^$HZ>Y)zG+!y?1uJ z8^FN9p|t&YcvTfs^MbF;;ppw&BNDL^2|(3fmt-FM59D_H%yQ921mT)WMvoVf~kZODBhI4yN?*D zcHAteJ<0aGyqIYDgoS(0ceK=ESY6k>5zpgnyLsCE5K!&zxZLw-l=~4iD{G#=zdy_i zy7(uJe&I82?$Rda7Y^~{)53Wb2G3ySSsR|H7w9ZdQW6mS>M}4gYW(_u-yt_2pIFzi z>{7467srQPZt3LcsKv9W!i$bNS>fKDJ4$m%b3HvmN=hqh>u$@AloaZNLZP!QO#aM_ z33Zm~Kd3&jJ>h-*c2O|}uWc$2)9zCDC6w)8bNaGhUg-Gbq-b|!WaOvkrH+|+ zMcA0G+jb+B=h^mJL0uO>rMcMzI(x)7pFcOGYVREV*$0?Q^f)nda&mg}ChqT56E_gM?Yp?R6w$~;u^CAu z2)bvdr8VNyJ%0SuJ~fa!R`hpy+25;L8{hLCFSvE|N8T~-m{7A&sA~HojGPb%dDrn*p7dF#GH6oZl3FT zaqQ>c(a}+1X!cVbZ`oy7vFi%g6OD~N7PZ;gfqM4>#Hh*Lf*H@d_%~a43Y_vZ882+G zbdjj>NPifX+K*!Z&d|NA!kip{?tEUJ(`&|AK2u*k!%bsD!{^RBpOFGq6VEnoJBf*1 zbEQEb4grdR?4D;w+o)iXkbhx^<78Mb3 zettL|5DVR# z@_6quF+E-9_oerTM0>%=TRa^Jr338l?(U^;MiUk9QC&aE$__vqBa~b=CMqY^)wB0G z0QW~Zjve2h!sW&G4yQefc?l>eI_0w0Zs6pg$EN7)`>GmX@^N!VRO82-55y%VcFUHQ zl`UG0kBr!q8!d%)x3oy|tW;oubPeqjEbu(caXs8Xi7bJXz+Vc{*Ecse*Vkpmpqc_7 z7H{#>lP(17nVPojvy%i>zCZXI?E)eb{r&sT^3h2IwXK7Lv9%3OBkRv8%X-UQv;K71 zgy+W{(VV3^7`lpz+u6)T4(pl+jWnT>R+Cl4l)K^usR zQHM%iBnGQb5(Q==a>>Yh0HX_5*Riqhghof-N9^paC~r78IPf@XIZz%41_c>8-mAp2 z?cL>oSKl1C0tBJuxw{(}VTVZTq#M zLQ?GkpYx9P?EQOoYHB2i4^mQ6qN1O^e(eG*EwCtylhu3$E-Koj7)AJ?V$*)7;oZ7L zrk0}?DD>vHI(rcR^HLbz$jIvhg&7XzY26J)mE(ZH&{0p$(<(1QSWQ&?UZ1IP(~tVG zhi&-2x(Ss$1u~)qEI<92-vM>+lo&fy^3Q^kHkpFvAPR+gKtVA&4!-5XMFDU{a|qR4 zMPp-QRaIjC@p0?A&WkJ|+j&U?>7~WRK(Q21wT^gx$MG^t$BhZSkOqQYxF}h%p$53M zyv)q4!^5Sn7y?CS=Sq}fy)VV7k{ELB_3*#wqod=?>APBk=C44U)Y;kDW0fCFf_cex zHMcc`-6}p6=nN%^c#ljDk|V5ah8u0Ow3!HM|`4ivUq-`{UAtapGKZScEI z8X)%j_irmJt0H2di=(*@OI_d#HpfbX@-lz?P~P+-e9ZGO2zPm6;tjRFcLmHyH2G&{ zrhokW?5v`J&|f1whCJ;44EaPscRs?#KYxCb4w93R3A!C^fhFDE-VP#V-{{W>DK0L) zvd#MEsN(K)+1P`l?K$h(BU{yOuF|=~#>NJnbeCSvP)oq|;2nVX{Ok-s(wIjm z!Ps5;sg&%}MqCGpiW?gnn`;WzD%8g!OiN8A2u({{_~+4!`I6+Lbf>}cva_Eq3pvkp zjE#)!=UWIzkHJDUG&ESmM_1p9CMF?KGw`(>FME24Bsp4Wz-o_TkMh(n0qqi}4!uW4 zX3KfG)6R}^0@bPfJz8wiE|{91)4!(eIC?zFURMYZT(Dy}6(_d(r#c~qzk%&^1qDDr zCB-pI1(>#edyIM)8XC$?heyWcU)`x~opTguv-HGbYj4l(*p#&SULILOt>K)TNSKf04kHjQz9G#6r&F;vBO z)9NN~w*h8-_9MS%C8edZuU?Inm~q-I_W)iW)6?I+_e9tMJ6YifdV75eSq)|>GBOg1 z20ib7vUj{ctb4dVPVees4)MVnxgS|tYOh@>S%5 zFMQ-z`*};Pc;$GJ_sxVyZi9X15Ya{~p8MgE52c9XhDsV*SzUnefE6(Ypiy}oJ>nnl zOOuIW(ddJ?Q}`O%;yGB-QELb8Up3CVbg#bm6dFhXg|V`-zIf39YRdNd=R-k3or?l< z29SymSKRIBxFmQZCz|?y!`B;md3HfTkG60|hyaicAdm%p{koW-yAY{XqeerOKa&$R zm?lFyTJXMAsP?y#n{rK`mX^nBobQ)9w9R+dh6_v(nLa*^U^=)a@wuEiO}fBUj)HwG zeft|j_7Ec}lkU>B2Q5&c4c!!t+oGjA7=w%VaAUIH4i~N9mg`k|ZR|IIKfDC~f038} zyO)-5PkNn*iHieCNcU@_3E%yZkwHpMZed{XBb@#E+qdUnA^2V?88cdvmm2J`Eb1 z@Z4Dma#?#jGXkM5zCdZD=Hl#ZzuYt17Qwu-vchTH;RHzmT%ZYYgg4#l{t0^lnt4P- zSe=V?TfE=pYYh#;(Bk6VBBS=U_I8Mar$BEniHVmsJE8^8gMh~h9U&S`L6Ffwx`>O3 zEiW%;rciTEUe}F05=)-*I#vfC-(t(4A7td+(HIONxR^woQ zvA2k3eZ1V!#-`%^9QMWds~N5wudeRyI@<+lZRHQPwt$2FI!{mgvTL%RQnNK#vYjjB zB_t%MLo+k=Rk?R}5{jgmMU@9~F~&MOEg>M<%T88)$bdM{clt3sMT>q|zP82n;;a&N zIsJf?bZK@rIXf_K|0@Om!NIuo2O3y^SopP(!XJT5qROAcKBLXA8uItF^Ko%;(a?DN zrz)+m*PVg;8OzLMAXbedH$H}3{y}1XW4aC$vqfI;_)kxdf;e$9qq!QO1FuXld$-&~ zfX{CEt)5E}syb@4cnOk!JcM2qmHGL3T7nxY+JrF=u5taUgBoAu^sd0g ze?3-nZ^+*GD)K*vA1CdI^q#EbaE}=wZ{qIdch3YSQj-(VE--afJ`StST1pE^MoY9> zBXCLs{FxFI-E`aPgF>zoJRk>8STLdrdc_sjEP(k!=HwEXrt!{*JE@vvlEshs6^_XI{W zR?5(H0B!6GIw@a-RJBBvBZr5&g>5>RKlS<(d5K@;DHADZ*eCMA68#Jp9j|~n**~s%kYmdB z`DTM4^Jr%pN;ZG&HiNC@+xv3ur@RO%3Ejc-Y(9v$C*=ii&=v z6v$o~LPO*7CPhD=Z@ug2c*tIRM9t4X{`pm43bbsoGj_N@x6bUYMy8)6-QC?GBp$HE4sU5zx-p*yBc?`xE5Kq7=BOi)NcG&;$yK%y zcUHj5fq=)x$7^e9@|kqSd3kw3j$+L7Qh0@7DIJtvJWHELP0i#i){L1+8(pG$vBTyf z2U#%i%NG_FmX6L&_f6#C%dZcP&yGJB4fXIOrBvHJ_iDRnZEs(js8l}sUg$_=B2Yk- ztGOHI?cHEqcb?v1d#TD8`h^_9MokUNTwPJ&1a1~+%-PvFJ13Lw*6lb!cTL(m8n0h} zA>%ejjTC|-r%Um{B`s2>myH>KRc%s#%EdKNVx~M7g=wzfV4w9Pub0a6?00Z#Mh3j! zpXTPA)G49UI+q+vNl8g(XI_2b5_cPx$?L7rRl`oo5>zsE2g< z^vW8k9Zc*wY>D@h_AgF1)m2psF<~{q-UomAqGBA;hOy|6DE9t79WRP~eKnwzjg{6o zgj?CBxTfa$lP3zgx|fjo+j3iYhg{|6j|gdAwg|d|In>kBlh$wpe+k3R4;M!=>0IM# zc(T-;NClk(eOp`WQEoNKV?EU&TjjF93W`Uri-A7*`N5k@ourHx!N0-fA@_&0n6eJL zJxsLDLD*Zq3V2>j{P~lblq4MOQ}JbrQ9+rH^Ht+6wSmCZhsPAJ+%S?+kfgqWO>Cr76D%2>tezcYjKPnkJ342ERLD zfo%2WD_L2i>+2{K?H$OP0imHgWCYO)zb8JBwSctTO0qE(`EXAHTabsJ&y<-9UaDoUwzl zX|kVevGz?}_pQ33IZY};>+9={+9QK0_|?RT8@y4_FYFQ0l~bkeEwlKvnV z&y%t$OG6wFSp(|*LUeNrRG5MT1F2I$*wZ3T3$|uOxD#r@$R7Z!HZA$mW#FJhOpJ{w zeSHN`TS5AN~<WwBnGRDckO5*6o{}eR!<)=bTpMRzG4ZdB!1~oO5M)Sx?w&e9$57;if8QD?TQZ zN7MU9VrrZU4K*iUTaXKj*1&4JNMxJnt3tY3XUb4J_C@B^v`GIAtLkI0wo9Jx>!vbq zO%jx_zJ>+}DRZ6uMMrb~|&+8eDRT(`wux>3O3uZ{-UTV=x{xqrYpn1_2_ij8fbkAbyGt3*OQWJt#$7Tb!Bo5Q6g z80eW({4in;WyA5ESVjCc`G=i&<}xWSU=yz;4Yb!N zsbP$fxNLVtiu!x{-xqJS;K@)^rKdrpWpwFsNtsb9k5_-q;JVkHeQ(pAz>CQHiCdE% z3^T8&$XKUs9{wXXc57opQeGai7{|&Xx7Q)NA`#iEi}9%Hni0>s^RYS2e?9j!8f~)1 z*T`7j?77gW!zmj0!ilOroKeaB#;uQTvZ%|%g6wM2_(WFBk*|_F?4$4NTep`7&(hfb zvex%*YM1%WH_qUk5$*Wus9@2?N?Kkr{I`vi%1R7oN=3xe2=!>{(C4C;vffv1_X>Hx z1;)+6YYHbVvBd~#(IW!-@QsCiH%|Jy43a37=5$h9+uIMudMEAGZAFzpVJ)XV%L6OS|ilXhh@a}$Xbo_?$vh$DIE7;uNVOi(};U9wed3;o*0JD#u&Lqw_ zy8ckI+YU;JiNhU!-3q2ML^uB=IVFSoS~BG&wy%A>MdTS~zSyo=LrL=TC|XV2Cl&ue z=QK6dOloLI{g|Z`^Id*!PVCwa23ANo4L29l(b*Y#PGfLjj-n-L=j7>Y*v6oGlU0~< z&l-YSAC714=VR;j7w~_L7Ldzc4OU^K2<)L{N-yk47rRk9_$uL6jah1eCo=A4^9VkT7NcDZrn6qImrK}EevP{?Py@En*u^W+bN4KkxSw7%7; zTWkIPby9(lbiE#*5MKx~w|}gW-8P%iT4P*NR%TOob3|bZ(CkMKyKSOv)3-Zm1+40h zn@|_eY8W1u*Drg>_*dbC?a9d(774_dnV4NQk=Q(J#)Miij2Wq)@V)=ggD6o4ZkH^? z_vFzLnen97@08sqQe03Mqcs&f#h2Vzyjbwz;u)*a7&%T~?TmZdufZZOET^sa;x8nW z%TUpffXT;q>p__dCS}zl-fbsI3`MfH9?E0IlnwpxONa5IL=`LXrbieG?EOa{N<#PqaCI>1p0-`!)Cotb0kgrV{zX;x;UpOW0n>(P;Z zQKW>UPI*SO)xBYQ`!rc5$+Z~z?Dz%vec6iI1ZGupG-X|(+DBT>G7%w}d^YIsgh?SJ zoWf*H!&M<-`SOcKUD|P>kx!P@?V-xuU1Ckm!g4KFYV5X9J+SWQSCeT^@l3EKdFtGVZr^yUOdwh!URTBAu6M4pd zxy_R^z@)LiU`Y2aQ1~j5E;_=l-V7blHi+8g`**`qTZ>AL$`w_`A5A3(B@-|55uD$n zHmtS$;*k>8KGwd{hL9Mnh@Ydvt<-XVbgy=)xM(cUN3nZd#7+8k9zK``-CO?X734X` zESv06g8-WFPcfzJb#hGFOPLdxgg>9SIG(qB@s|$Y>R*#UWLK;T|JjmOWohLjr>Xg9 zY{D9{B~B1CdgP(#7re{g=+uD#ar@@S7GieBC5P9$!ClO0xVLu)1>l^_J%RO z?_vFrNMX z>Nzl}`D#oRv+~nxp6@721w!e8irCstjAOdzD6dKrDBcv@udkd??-6p{e!G`yW=?m{ zVx1&;(HRW2l`{6=G~+50&k47{bw3t6Wy~teZ2heQ-Klx&+((j<3-Z>$^qtb`myo6Y zw(fP(me*lu5}&5m1N5I@u5(_8x!Oq~>8F>?+b=3AJRvKk#&sz6}e#^(@PcQ(;g1-O$>4Gyd82 zb!>Fy?xb!yxODaH&W?dyg|1PtxmAm@`NY%ZaGS87pwg5GRxIUha}9~0<;WZUWR~5@ zG}45x!7+|U7Q+{86ciN0Mah$MbMYESizT{s&?Fz`KO{|Hsm7bHxD<$uO*x{l=kLDM zefXyARL!bm>RmKSu98S?1*f&67U+U$#$lcD$Clnkt|6i7YKdW7M_-nJ#r!(K9yb z<0twK>99H@^DD3mAQj4z`Lr0~5ldrn4-b-nMtyIeWv8nE#I#UfD$La1)r_I*M*p-a zyBf340>Tx%tt;?FwsB67)u3tp8K_zVioyf#t2Ya@4bO{zZj>vauIY{A5jVvdqVs<8 zu{z+3tGt1SyjEF9p4iQ^j(WUUbZt6Rs2w!i;ra_m+WuM2$5g?{7){8cYhZr-b91yg zTwl)tkg|@);&{xSTaLTygrlG4+>VKB59Z}PO3aJk^gitq*Eer+j>^i0FM&s~C=9}` zE-zK?MsULS=ACCGrbsvoaP{bDY1;sagY-fPG=2N!U!VDZ>&MRF4?HYMG&N|tHnDQv z83!}&5;lWvrIM=SOgA2zuD1tgoRL}+hC_4a5jrrvy90Q);~8areE9E;&O?efo*+n1R+ z4)S}z62=Z~Dfki5#@wm${(c>G^SuySDssb%SS}keonM+_D%Y{lFq49gmUN6fEnX0i ze1N(t)JbX}c(G$camOVoZB^HyJ!4e8d)J|#l&)p!oxm&sm09!pA-@}a@OFbNm0$zn?V zx?274LG`%#@q^9hK!Oq2NYbY~ET>gT)ltP^Q~WccB}~>tEQI*SXNKh%ZveT@X;yVrGl$b1PZ&NoH5EmF!Y z=(p9J#L7MCk_|dh!V3=WCDdRy%`vXtTSyZ+q1lgoP){qdslRvM@#@n8Jf9A~SbkAaY3j9a z2c|Aq-eTwByYq7Vxp?}Tkvgmb6;i{hd4ixam(bJ0rPiC8`gndU*+~wt&bQL66r>VT z-F%4^A~CruzPZfmV>LYM`+9~c>#DcBp`g*&!?g>>oO2LCF4G-s8Gu+sqoSUvw z;8dTV21;%{ans0;!L&18e>8th2sLvJ5JZTd=p2hOjZ`-L>-)GA^G(Fzr{T_1Ca#P$i*!eS zTir56p27BRGH0Q(kz#pDmqcvsrAMgpuD}%~woA9i&6%)#^=KJ3a94@$)Wck*(9WmF zhJ=JYyn+;5)y86Z41{snZSwit@dlg2T%d{i{OnCgNEq(M=6Lz80=YQ)?4HR)L)|tj zi4$&z*OTd8N4a)NOBWTxx2UaJo2b+6_B`K5*u?`5Cfi?5$%Ul!8(3FRA)uZzI?|f-|cjWh)Oh98D%qk-no7o?Dd!dU-_D2I-0j;Yy3#UB7Cma z$<4;zZ7$e>7}-Awqb7c0UK_+T_`y|oTXd&vKWV(6SA2u~l}Iw zFc{oK^?jnXxcycoA}72eO;qOe3i+w!5;DQaVs^oq4PGqoE_wbZir||M&~mYFYH<Sk7qUv zwZ6g&lW-`>?E}46zbnwbs;UroBH;w;UW2-XG|Mii@?Y*Mvyn;^66vt_C_~Hw^()juB(q zk)c}R-HhAc?7T@sk|~~srsqFf=O6MiKOWU#XfkKgc5OG`Vp&WCe0Qts{kc7BJGRJfmNP(c@c>oj(o53r&o z1B&yXqD5piy@PflMgmPdC&yduYn%&R6^&=OD+F~JkSskGqy)E zHxV3AV*DDyq~P1t{hgPO4^N`1HDuCh=d?ChOq_@Lj`ydtN-NV%;RTDaaG(8d(~)Q< z6!a0d=NJ7WZM;OmSAcp5KWUvdOnD9iUiKF4QRwF-WHwt>F)iQEMjQ7s$?l~iYr{4A zR)8(a$GxIVmVFd;;5Oa)l|hIEeaE6oFAd8#qK{G)+#MGer&8Z4E_7{CtNSxENM*&i zi#KgEkfo+)8LW-7lt%VZ045Ai^K&}yK^3y_ks?%|)eN(YOlnAb%{NylR>N7kVTJ;r z)9W_Is%q*^sAyx80Q}gnM6rUN7U1GSL`7wchhfvJe8X$9YSfQ^bhek9@B>0cDS? z>B&1yI@S&}+Rett4R%^jPnYuY@;rE{)LLFzNR0jN09;p^j5%a- z*wx7ig_uQvl!PP?%_ixW8$~4uSWcHw+g=sD0$JH8v_SY3`Xh~{YCuQ8 zi|L;11aaU@WbLg{OUAzG=$URDNW`?83xp$JH<} zG7311n4PjRx3Yq`$7-9B5OCxVFKRxEiBpqvb9VWM%;qUI6*(>VlhbFBSPhfhjMA zBDI0to7vU7{BQ6XApq77>-wr+=v?7|k;M>xQ3WzlG-S7UrA+4TNyquQb)~_~C-`v|qEH7bUO&lCp z`=;*is2R*lf$0M4<73NASv7d@yPu6|84FkM{N98;Kig?AN(CvnKsVWrK5;bAg|(Yf zGcb5L6FWRvx~dLrjld^jZ;FcHQI?K&_=_&nd4>o?$dZn{lKBds2l(<~qQ`_PvrSEP zWU(H(=~&BW@O$5u3Ui5!opIm*dR#w9d-w|kPXZYP6>Kr9ZA%@uSe1$z8u+|B{_3_3*(&$VZ{EnLC9jrdvw36tY&Kr(8o<2sMBQ?|M25J#R1HDE;Q0$OhVilX zHElKGI_1Zf+ex2#(&5ELLJ&FmB+7-HxLm&ZPCPz0ce93@a96Kfs#3y=TN34z$=dC+ z=N_Ex(dR85J_A@%0Us1=yx#H@ze+j5_c6}S!cX*-aeyR3hxj%^$#={CfGMTN1FgFN z&iETg0GE1uwq}KW$a(wnqmXCG0$!i*<5j&wWYD*Loc$Y>$Sa$ny*0QM-5~u_m}$d{9DawWGJrj~LY5_E}Hr_~qp~xLX{INmqPe zDQ=}lcLH|=KO<9Gik;e5p$8%LM}nbOR8Z23NdBPJ<(3&w?)}aXm49ow>|46a(h2MZ z;{;8<=e2o#(ojuqDT4qf=S`kMNU6Nexp`4=bG75^WK66Go>!m?K^Z9#Q6T|98-fUamp6!8s;8W@vET^7MG2f8ZXmd8qgYqng49GxZY(#Te zne6MKO8XQrNUHoPURiecEO{z$xh9`p;GR5*57kS+x83DrahwYny?fW3o<**Jz2)h| zz(BIKrIp3cU`OZS^DMQ9+enlgYrJuMOq@!2LS<0X!lkrdwgY8B#mp=p!Clfyv>l$# z4^x_)TugV##retkxk6trmT6a{0_`WUB1P63geUE|OvW?Sh2s;!>!q;x123pEnC``m z0EKG(1ane01FyZo6mC4v93o^qBkVmhGXt>V!0OzR=668w^-HWQdeezs9`YYm&st=# zwa;Nz?W&wR&=ZU)YluX)DgtcmKD8D(K-*u-xizD{{Ag@Db63`c`W-2XKXKnM_gq^@ zyeVX>M@mJt`?9(!K?5sd_lohLbT}d71}S;O5e{NXb-^$M_8%Ro!pw48w<99e>o*oDL}SggoSmUXLWX81avMl^4r=F92j z?cE73$jdJ-EQziEdMgL@Q7`RqZstQy=76-c@+TJGS07KL10;FVcwLXdVuwqq$ZZR9 z4s)~4wTc`C^@9C5q(j`qgsGaQ`uR3v2J=FJpAV`tg^)ezpQ%XJL<9I>N~9`=Ma=ei%00spO``tG7&=uFkUV2M_a=ESB9p~2f&Gw7%@)WlK@?c5Q7j-rOjE;QGylfiRWXx3#tP-p>4Lw#L?-g2CEa z3JQI#dR0DA9&tVw?NBH42@(YyDyJB5%K&$Uy3~h>$?^(c9ygOji9TQ+&B9$@Z?2r zxS?NWcx@2g$0UiEu^ON?8Iy8-dy5PAdvQ@}cwofgd~#Y^2Sq<6y4iDDTwEOfU0tOH zJOh$6FI)R~&G3byo2hqNKwK>s{)}_>nDX6bXc(eBCo3y!ak ziRJe5#aMvP2F6#3))?mMFbT(iZ81H9050ux>*Z)Q0$eG5m^8psvtswQ2o31tLgu$yBA{N?- zhJvPbJ5gkyphzjkQX)b+8tB||sg8zbje_!GU|JW)IHuU zo-QCok?_+X8_2CN!CEm(>hLwD*Ja}8VMH|;m22ZxONQCOz$t??_eZI6WNKp~MxOZ* zD$Y!-f3l>Y10cT7`c>@CJ+ai{zJUu+e~fqLoZljYVjr!#yK#mMTYw^EmLLOpHc;r3 zJ2n%-AtokC#H~QfUb{OXS?H5yb@|YKnmkv>H*Z}F`$qiq=IE?rW};JKo9o&(*b%07 z8U6cPprvMuhQ`LE3_UOZ$AFazWxdm`;pxW*b4Q~tLt|m%D8!6ZUJj|F6t=hZE_EVB zy_Lj`abt37+|BtRZz@f)v(~GIbkWO*`JoH^hkM)HYbr!)j(wuP?K(HN0hoC@GR}MM?*3LF-*9&~o;5;| zQ*!E9g#urzRbNkxa5(&piX=ttBmeL4NUc?(*u8*ATD5PDFS zYzA5~1=&2+Hh9#|To3o>rE5<8db^D-N^=GpUzNUURo9r3rf3#bm~3;(s<)T>9-=t7 zMS>chni?M`*Mj**D2#P+wu;F7v?KE!K(kdYxhz8~w<^#^x3RHdYv9pgo0t&S`ZKnr zu!R@L<09KX!igBXe)z)w!+t=sT#)XkbT=pZ&o?zzmK|;BLfd{WZzQ3t;8X25QpqxW z!m?^O6dyXfySw{LhaDDIm@!5_oo%Sr4z^bqdy$mwJ#@e3k(tl_@Z+$THF`4gA%EIr zLWJx6vuWfZH|CZl^zptT(6^sfrMPwCp<`mA)7NfLQQcJr7aJQG0D*5%-t>a1KX5abl+zey)C+<64FTN!pxqKB_U3DJj?^`cdph z)|JmHs4xW4$5dJp5)uU#$N5oWne{Qh>ycv%T*pz>9X)eHczHbRyNRNu=r@08G>eu) zEG^@ly=2cbKO@#iN->k3O1J*BOj?$1g`}4vtd=tdKrhNqMd#8H^I{4IvM)bNy)=*w zk5V=}Fyb1Pxpb&NLeB0OB&A+g-=DvW?3sT^^ok z_GxJuQ`m4`R{e8cRa&==mq&ZCQ%8{%`xD}@x=K$~r`W2yy}e&?;9I0rJvdDGq&smb zq>h+U39`t*%z{wdesOFklIDqoH`QpRNBy56JF}{IW_tiWz#4z+Jq3x}?FdKueP}Rk zpuULx^t8SSpY6~0;fD2*Ff6=Ul=(F@*vPNQnGQ5$M3NJaIx^Ku3SlKSLtZP~z?21> z(o{D9y;%2@Kk^?!Yv-(+*GnxO9UspzHqyUf`C@^AfnjZZY_ui!i~{0BM3hu#-^1Mh z4%A7~(@C8Rw>uf0h*3h-@=l6!xalN}y3LOCX#FQZo{dP_ zI_1NN`3aN_b<$9TX`=dk8;5rLXW%v$S?*) zMWJ2h?ES7Mn`UW3qYbGbo#%oU!Qb;W>%;z~5%uDb-9Lzwxwa|9R}Y<&@?K5mw!v<# zIhe@`v;#bemz9+zhNdS{<>!xIA65*K8c{l|uzVT~agp^pZH4)ktgjQaXr$kATToO) zQ;eH-bXy~^FDQoN|Jv(``ns1`u9uAk$0xh<%IA6`5S}UdefaxMc>DA98c0DJ3i>ak z`G4cjvmyguU7nXX|8Q>!h#ZZf^qCWpcBz{-=YeV@!f&z)Apc zi~Kk1Lcp!Qqlq<`ndz_he;U%-nS10Sfj}`_AP~mi49fsl|H8q4wKI0M0ha$y>n^*x z8sGsdaKnK>#D6pQL;bh;e=YvMo&3i@BKNx3?Enwnz>DN>o+i=$=E>B~&dJu!$prjY zJpa+vXH9sEIUp!oAeESZbLENtZ&$X?Hby3n7Pe;pX;Wt_u$2q&AP|8J2m~1Xugf1u z(Z6y6c5=7=uL%B`P*8#BAtA8149q_l4i3m|NLv`PUa>yCd~hOXZ=quJeMW7Q-A>45&yY=wh#Yz|F%vlhDO%^aRW?k>3;A) z?&J{ux&LR%|4zP%lM`@s|GEMGnZ96Rm9bPH@_yj;7n8&PTpwxwZSHDfr2PN!km4V> z5axFr;%;ef3Fbz;CDEC|GY I@YkpR15Y|(YXATM literal 0 HcmV?d00001 diff --git a/inst/hidap_agrofims/www/internal_files/20180621181850-jHhmkBzwpm7ZjZm-rcbd.docx b/inst/hidap_agrofims/www/internal_files/20180621181850-jHhmkBzwpm7ZjZm-rcbd.docx new file mode 100755 index 0000000000000000000000000000000000000000..e59ddd4f8788fda7dc06bc1fc7a2086859b63ce0 GIT binary patch literal 10380 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 1) { + out <- c(out, knit_expand('child_abd.Rmd')) + } else { + out <- c(out, knit_expand('child_abd_fail.Rmd')) + } +} +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/aov.Rmd b/inst/hidap_agrofims/www/internal_files/aov.Rmd new file mode 100644 index 0000000..d1d2492 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/aov.Rmd @@ -0,0 +1,31 @@ +--- +title: "Report for an aov or lm object" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +Congratulations! You have fitted a linear model. The ANOVA table for your model is +```{r, echo = FALSE} +anova(params$x) +noterms <- dim(anova(params$x))[1] - 1 +pvalues <- anova(params$x)[1:noterms, 5] +``` + +`r if(noterms == 1 & sum(pvalues < 0.05) > 0) {"Your model has 1 term and it is significant. That is really good! Have you checked your assumptions?"}` + +`r if(noterms > 1 & sum(pvalues < 0.05) > 0) {paste("Your model has", noterms, "terms and some of them are significant. That is really good! Have you checked your assumptions?")}` + +`r if(noterms == 1 & sum(pvalues < 0.05) == 0) {"Your model has 1 term but it is not significant. I am really sorry, but don't forget that p-values are a function of sample size, so maybe you can try with more replications or a larger sample size next time."}` + +`r if(noterms > 1 & sum(pvalues < 0.05) == 0) {paste("Your model has", noterms, "terms but none of them are significant. I am really sorry, but don't forget that p-values are a function of sample size, so maybe you can try with more replications or a larger sample size next time.")}` diff --git a/inst/hidap_agrofims/www/internal_files/aovmet.Rmd b/inst/hidap_agrofims/www/internal_files/aovmet.Rmd new file mode 100644 index 0000000..ef9ca92 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/aovmet.Rmd @@ -0,0 +1,71 @@ +--- +title: "ANOVA for a MET with a RCBD" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + trait: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + maxp: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +trait <- params$trait +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +maxp <- params$maxp + +lc <- check.2f(trait, geno, env, rep, data) +at <- suppressWarnings(aov.met(trait, geno, env, rep, data, maxp)) +if (lc$c4 == 0) + data[, trait] <- mve.met(trait, geno, env, rep, data, maxp)[, 5] +model <- aov(data[, trait] ~ data[, geno] + data[, env] + + data[, rep] %in% data[, env] + data[, geno]:data[, env]) +``` + +`r if(lc$c1 == 1 & lc$c2 == 1) {"You have fitted a linear model for a multi environment trial (MET) with a RCBD in each environment. The ANOVA table for your model is:"}` + +```{r, echo = FALSE} +at +``` + +`r if(lc$c4 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.")` + +The p-values for your model are: + +- `r format(at[1, 5], digits = 4)` for genotypes `r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` +- `r format(at[2, 5], digits = 4)` for environments `r if(at[2, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` +- `r format(at[4, 5], digits = 4)` for the genotypes by environments interaction `r if(at[4, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` + +`r if(at[4, 5] < 0.05) {"Because interaction is significant you should want to run a stability analysis. Keep also in mind that a significant interaction means that the differences in response of the genotypes are not the same in all the environments. Therefore, on an individual analysis you could find significant differences among genotypes for some environments and non-significant differences for some others, and the difference for any pair of genotypes could be in different directions and magnitudes depending on the environment."}` + +Below you can see a table of means for genotypes, environments, and interaction: + +```{r, echo = FALSE} +tapply(data[, trait], data[, geno], mean) +tapply(data[, trait], data[, env], mean) +tapply(data[, trait], list(data[, geno], data[, env]), mean) +``` + +Don't forget the assumptions of the model. It is supposed that the error has a normal distribution with the same variance for all the genotypes and evironments. The following plots must help you evaluate this: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +par(mfrow = c(1, 2)) +plot(model, which = 1) +plot(model, which = 2) +``` + +Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. diff --git a/inst/hidap_agrofims/www/internal_files/child_2f.Rmd b/inst/hidap_agrofims/www/internal_files/child_2f.Rmd new file mode 100644 index 0000000..4a7940f --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_2f.Rmd @@ -0,0 +1,59 @@ +`r i = {{i}}` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], A, B, rep, data) +if (lc$c4 == 0) + data$est <- mve.2f(traits[i], A, B, rep, design, data, maxp)[, 5] else + data$est <- data[, traits[i]] +``` + +# {{i+1}}. Analysis for trait `r traits[i]` + +`r if (lc$c4 == 1) {"There are no missing values for this trait; the design is balanced."}` + +`r if (lc$c4 == 0) paste("There are some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated for the descriptive statistics and ANOVA.", sep = "")` + +## {{i+1}}.1. Descriptive statistics + +### {{i+1}}.1.1. Means by factor A levels + +```{r, echo = FALSE} +tapply(data$est, data[, A], mean) +``` + +### {{i+1}}.1.2. Means by factor B levels + +```{r, echo = FALSE} +tapply(data$est, data[, B], mean) +``` + +### {{i+1}}.1.3. Means by factor A and factor B levels + +```{r, echo = FALSE} +tapply(data$est, list(data[, A], data[, B]), mean) +``` + +## {{i+1}}.2. ANOVA + +### {{i+1}}.2.1. Checking assumptions + +As it was stated in section 1, it is supposed that the error has a normal distribution with the same variance for all the combinations among the levels of both factors. The following plots help to evaluate this assumptions: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +if (design == "crd") + model <- aov(data[, traits[i]] ~ data[, A] * data[, B]) +if (design == "rcbd") + model <- aov(data[, traits[i]] ~ data[, A] * data[, B] + data[, rep]) +par(mfrow = c(1, 2)) +suppressWarnings(plot(model, which = 1)) +suppressWarnings(plot(model, which = 2)) +``` + +Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. + +### {{i+1}}.2.2. ANOVA table + +```{r, echo = FALSE} +at <- suppressWarnings(aov.2f(traits[i], A, B, rep, design, data, maxp)) +at +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_2f_fail.Rmd b/inst/hidap_agrofims/www/internal_files/child_2f_fail.Rmd new file mode 100644 index 0000000..31e7871 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_2f_fail.Rmd @@ -0,0 +1,22 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], A, B, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least on combination of the factors in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each combination of the levels of the factors in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one combination of the factors without data. The table below shows the frequencies of valid data for each combination of the levels of the factors. The analysis cannot be produced if there are combinations of the factors without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each combination of the levels of the factors. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1 & lc$c3 == 1) + lc$tfreq +if (lc$c2 == 1 & lc$c3 == 0) + lc$tfreqr +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_a01d.Rmd b/inst/hidap_agrofims/www/internal_files/child_a01d.Rmd new file mode 100644 index 0000000..13fb0a4 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_a01d.Rmd @@ -0,0 +1,43 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE, results = 'hide'} +y <- data[, traits[i]] +n_geno <- length(unique(data[, geno])) + +data[, block] <- factor(data[, block]) +data[, geno] <- factor(data[, geno]) +data[, rep] <- factor(data[, rep]) + + + +if(n_geno>=50){ + model <- pepa::PBIB.test.mod(data[, block], data[, geno], data[, rep], y, k, method = "VC") +} else { + model <- agricolae::PBIB.test(data[, block], data[, geno], data[, rep], y, k, method = "VC") +} +``` + +## {{i+1}}.1. ANOVA + +```{r, echo = FALSE} +model$ANOVA +model$statistics +``` + +## {{i+1}}.2. Adjusted means + +```{r, echo = FALSE} +model$means +``` + +## {{i+1}}.3. LSD test + +```{r, echo = FALSE} +if(n_geno>= 50){ + model$groups[,-3] +} else { + model$groups +} +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_abd.Rmd b/inst/hidap_agrofims/www/internal_files/child_abd.Rmd new file mode 100644 index 0000000..3116cf8 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_abd.Rmd @@ -0,0 +1,62 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.abd(traits[i], geno, rep, data) + +if (lc$nt.check.0 > 0) { + cond <- !(data[, geno] %in% lc$check.0) & !is.na(data[, traits[i]]) + temp <- subset(data, cond) + } else { + cond <- !is.na(data[, traits[i]]) + temp <- subset(data, cond) + } + +if (lc$nt.check.1 > 0){ + cond <- !(temp[, geno] %in% lc$check.1) + temp <- subset(temp, cond) +} + +y <- temp[, traits[i]] +model <- agricolae::DAU.test(temp[, rep], temp[, geno], y) +``` + +## {{i+1}}.1. General setting + +`r if(lc$nmis.new == 0 & lc$nmis.check == 0) {"For this trait there is no missing values."}` +`r if(lc$nmis.new == 1) {"There is one genotype with missing value. This genotype has been removed."}` +`r if(lc$nmis.new > 1) paste("There are", lc$nmis.new, "genotypes with missing values. These genotypes have been removed.")` +`r if(lc$nmis.new > 0) paste("Therefore, there are", lc$nt.new - lc$nmis.new, "genotypes included in the analysis.")` + +`r if(lc$nt.check.0 == 1) paste("There is one check without data: ", lc$check.0, ". This check has been removed.", sep = "")` +`r if(lc$nt.check.0 > 1) paste("There are ", lc$nt.check.0, " checks without data: ", sep = "")` +```{r, echo = FALSE} +if(lc$nt.check.0 > 1) lc$check.0 +``` +`r if(lc$nt.check.0 > 1) {"These checks have been removed."}` + +`r if(lc$nt.check.1 == 1) paste("There is one check with data in only one block: ", lc$check.1, ". Checks need at least two replications so this check has been removed.", sep = "")` +`r if(lc$nt.check.1 > 1) paste("There are ", lc$nt.check.1, " checks with data in only one block: ", sep = "")` +```{r, echo = FALSE} +if(lc$nt.check.1 > 1) lc$check.1 +``` +`r if(lc$nt.check.1 > 1) {"Checks need at least two replications so these checks have been removed."}` + +## {{i+1}}.2. Adjusted means + +```{r, echo = FALSE} +model$means +``` + +## {{i+1}}.3. Overall mean and CV + +```{r, echo = FALSE} +model$statistics +``` + +## {{i+1}}.4. LSD test + +```{r, echo = FALSE} +model$groups +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_abd_fail.Rmd b/inst/hidap_agrofims/www/internal_files/child_abd_fail.Rmd new file mode 100644 index 0000000..6b60199 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_abd_fail.Rmd @@ -0,0 +1,5 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +You need at least two checks with at least two valid replications to run ABD. diff --git a/inst/hidap_agrofims/www/internal_files/child_crd.Rmd b/inst/hidap_agrofims/www/internal_files/child_crd.Rmd new file mode 100644 index 0000000..ad23992 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_crd.Rmd @@ -0,0 +1,69 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +nt <- nlevels(as.factor(data[, geno])) +model <- aov(data[, traits[i]] ~ data[, geno]) +model$terms[[2]] <- traits[i] +at <- anova(model) +rownames(at)[1] <- geno +``` + +## {{i+1}}.1. ANOVA + +You have fitted a linear model for a CRD. The ANOVA table for your model is: + +```{r, echo = FALSE} +at +``` + +The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. +The p-value for genotypes is `r format(at[1, 5], digits = 4)` +`r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` + +## {{i+1}}.2. Assumptions + +Don't forget the assumptions of the model. It is supposed that the errors are independent with a normal distribution and with the same variance for all the genotypes. The following residuals plots must help you evaluate this: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +par(mfrow = c(1, 2)) +plot(model, which = 1) +plot(model, which = 2) +``` + +Any trend in the residuals in the left plot would violate the assumption of independence while a trend in the variability of the residuals --for instance a funnel shape-- suggests heterogeneity of variances. Departures from the theoretical normal line on the right plot are symptoms of lack of normality. + +## {{i+1}}.3. Genotype means + +`r if(at[1, 5] < 0.05) {"Below are the sorted means for each genotype with letters indicating if there are significant differences using the multiple comparisons method of Tukey at the 5% level."} else {"The means of your genotypes are:"}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::HSD.test(data[, traits[i]], data[, geno], at[2, 1], at[2, 3])$groups else + tapply(data[, traits[i]], data[, geno], mean, na.rm = TRUE) +``` + +`r if(nt < 10) {"It is always good to have some visualization of the data. Because the number of genotypes in your experiment is not so big, we can plot the data for each genotypes:"}` + +```{r, echo = FALSE} +if (nt < 10) msdplot(traits[i], geno, data, conf = 1) +``` + +## {{i+1}}.4. Variance components + +Below are the variance components for this model, under the assumption that genotypes are random. Here the model is fitted using REML. + +```{r, echo = FALSE} +y <- data[, traits[i]] +fg <- data[, geno] +ff <- as.formula(y ~ (1|fg)) +model <- lme4::lmer(ff) +vc <- data.frame(lme4::VarCorr(model)) +vc[1, 1] <- geno +rownames(vc) <- vc[, 1] +vc <- vc[, c(4, 5)] +colnames(vc) <- c("Variance", "Std.Dev.") +vc +``` + diff --git a/inst/hidap_agrofims/www/internal_files/child_lxt.Rmd b/inst/hidap_agrofims/www/internal_files/child_lxt.Rmd new file mode 100644 index 0000000..dff3fe7 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_lxt.Rmd @@ -0,0 +1,42 @@ +`r i = {{i}}` + +# {{i}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +model <- aov.lxt(traits[i], lines, testers, rep, data) +``` + +#### GCA effects for lines plot + +```{r, echo = FALSE} +barplot(model$GCA.le[, 1], col = "lightblue", las = 2, cex.names = 0.8, + ylab = "GCA effects") +``` + +#### Mid parent heterosis increment plot + +```{r, echo = FALSE} +# Means + +means <- docomp('mean', traits[i], c(lines, testers), data = data) +hhh <- means[!is.na(means[, lines]) & !is.na(means[, testers]), ] +line.means <- means[!is.na(means[, lines]) & is.na(means[, testers]), ] +test.means <- means[is.na(means[, lines]) & !is.na(means[, testers]), ] + +# Colnames + +colnames(line.means)[3] <- paste(lines, 'means', sep = "_") +colnames(test.means)[3] <- paste(testers, 'means', sep = "_") + +# Merge data frames + +hhh <- merge(hhh, line.means[, -2], by = lines) +hhh <- merge(hhh, test.means[, -1], by = testers) +hhh$het <- hhh[, 3] / (hhh[, 4] + hhh[, 5]) * 200 - 100 + +# Graph + +barplot(hhh$het, col = "lightblue", las = 2, cex.names = 0.8, + ylab = "Heterosis increment (%)", + names.arg = paste(hhh[, lines], hhh[, testers], sep = "-")) +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_met.Rmd b/inst/hidap_agrofims/www/internal_files/child_met.Rmd new file mode 100644 index 0000000..3709251 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_met.Rmd @@ -0,0 +1,242 @@ +`r i = {{i}}` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], geno, env, rep, data) +if (lc$c4 == 0) + data$est <- mve.met(traits[i], geno, env, rep, data, maxp)[, 5] else + data$est <- data[, traits[i]] +``` + +# {{i+1}}. Analysis for trait `r traits[i]` + +`r if (lc$c4 == 1) {"There are no missing values for this trait; the design is balanced."}` + +`r if (lc$c4 == 0) paste("There are some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated for the descriptive statistics, ANOVA, regression stability analysis and Tai sections.", sep = "")` + +## {{i+1}}.1. Descriptive statistics + +### {{i+1}}.1.1. Means by genotypes + +```{r, echo = FALSE} +tapply(data$est, data[, geno], mean) +``` + +### {{i+1}}.1.2. Means by environments + +```{r, echo = FALSE} +tapply(data$est, data[, env], mean) +``` + +### {{i+1}}.1.3. Means by genotypes and environments + +```{r, echo = FALSE} +tapply(data$est, list(data[, geno], data[, env]), mean) +``` + +## {{i+1}}.2. ANOVA + +### {{i+1}}.2.1. Checking assumptions + +As it was stated in section 1, it is supposed that the error has a normal distribution with the same variance for all the genotypes and environments. The following plots help to evaluate this assumptions: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +model <- aov(data[, traits[i]] ~ data[, geno] + data[, env] + + data[, rep] %in% data[, env] + data[, geno]:data[, env]) +par(mfrow = c(1, 2)) +suppressWarnings(plot(model, which = 1)) +suppressWarnings(plot(model, which = 2)) +``` + +Funnel shapes for the first plot may suggest heterogeneity of variances while departures from the theoretical normal line are symptoms of lack of normality. + +### {{i+1}}.2.2. ANOVA table + +For this analysis it is assumed that genotypes and environments have fixed effects and that the blocks are random. + +```{r, echo = FALSE} +at <- suppressWarnings(aov.met(traits[i], geno, env, rep, data, maxp)) +at +``` + +The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. The p-values for the model are: `r format(at[1, 5], digits = 4)` for genotypes `r if (at[1, 5] < 0.05) {" which is significant at the 5% level, "} else {" which is not significant at the 5% level, "}` `r format(at[2, 5], digits = 4)` for environments `r if (at[2, 5] < 0.05) {" which is significant at the 5% level,"} else {" which is not significant at the 5% level,"}` and `r format(at[4, 5], digits = 4)` for the genotypes by environments interaction `r if (at[4, 5] < 0.05) {" which is significant at the 5% level."} else {" which is not significant at the 5% level."}` + +`r if(at[1, 5] < 0.05) {"In the next two sections the least significance difference method and the multiple comparisons method of Tukey are used to evaluate differences among genotypes, both at the 5% level. However take into account that differences among genotypes can be obscured by the interaction effects, and that in the case of strong interaction, differences among genotypes must depend on the specific environments."} else {"Because the effect of genotypes was not significant in the ANOVA, multiple comparison tests are not presented."}` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.3. LSD test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::LSD.test(data[, traits[i]], data[, geno], at[5, 1], at[5, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.4. Tukey test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::HSD.test(data[, traits[i]], data[, geno], at[5, 1], at[5, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".2.5. Variance components estimation", sep = "")} else {paste("### ", {{i+1}}, ".2.3. Variance components estimation", sep = "")}` + +Under the assumption that all the factors (genotypes, environments, and blocks) have random effects, below it is shown the variance components estimation. Here the model is estimated by REML (Restricted Maximum Likelihood) and the original data without the estimation of missing values is used. + +```{r, echo = FALSE} +y <- data[, traits[i]] +fg <- data[, geno] +fe <- data[, env] +fr <- data[, rep] +ff <- as.formula(y ~ (1|fg) + (1|fg:fe) + (1|fe/fr)) +model.reml <- lme4::lmer(ff) +vc <- data.frame(lme4::VarCorr(model.reml)) +vg <- vc[vc[, 1] == "fg", 4] +vgxe <- vc[vc[, 1] == "fg:fe", 4] +vr <- vc[vc[, 1] == "Residual", 4] +vc[vc[, 1] == "fg", 1] <- geno +vc[vc[, 1] == "fe", 1] <- env +vc[vc[, 1] == "fg:fe", 1] <- paste(geno, ":", env, sep = "") +vc[vc[, 1] == "fr:fe", 1] <- paste(rep, "(", env, ")", sep = "") +rownames(vc) <- vc[, 1] +vc <- vc[, c(4, 5)] +colnames(vc) <- c("Variance", "Std.Dev.") +h2 <- vg / (vg + vgxe / lc$nb + vr / lc$nb / lc$nr) * 100 +vc +``` + +With these variance estimates, the broad sense heritability results `r paste(format(h2, digits = 4), "%", sep = "")`. + +## {{i+1}}.3. Stability analysis + +`r if (at[4, 5] > 0.05 | lc$nb <= 2) {"This analysis is not shown because:"}` + +`r if (at[4, 5] > 0.05) {"- Interaction is non significant."}` +`r if (lc$nb <= 2) {"- There are only 2 environments. At least 3 are needed."}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"Because interaction is significant a stability analysis is presented."}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.1. AMMI", sep = "")}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### AMMI biplots"}` + +```{r, echo = FALSE, fig.align = 'center', fig.width = 8, fig.height = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + ammimodel <- suppressWarnings(ammi(traits[i], geno, env, rep, data)) + plot(ammimodel, biplot = 1) +} +``` + +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + plot(ammimodel, biplot = 2) +} +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Interaction effects"}` +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$Interaction_effects +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for genotypes"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$PC_values_genotypes +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for environments"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$PC_values_environments +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC contributions"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ammimodel$Contribution_PCs +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.2. GGE", sep = "")}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### GGE biplots"}` + +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + ggemodel <- suppressWarnings(ammi(traits[i], geno, env, rep, data, method = "gge")) + plot(ggemodel, biplot = 1) +} +``` + +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + plot(ggemodel, biplot = 2) +} +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for genotypes"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$PC_values_genotypes +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC-values for environments"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$PC_values_environments +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### PC contributions"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) ggemodel$Contribution_PCs +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.3. Regression Stability Analysis", sep = "")}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) { + rsamodel <- suppressWarnings(rsa(traits[i], geno, env, rep, data)) +} +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### ANOVA"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$ANOVA +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Stability measures for genotypes"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$Stability_for_genotypes +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"Here: \n +- a is the linear regression intercept, \n +- b is the linear regression slope, \n +- se is the slope standard error, \n +- MSe is the error mean square, \n +- MSentry is the variance of the means, and \n +- MSinter is the variance of the interaction effects. \n +The same is shown in the next section for each environment."}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Stability measures for environments"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) rsamodel$Stability_for_environments +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {paste("### ", {{i+1}}, ".3.4. Tai stability analysis", sep = "")}` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Tai plot"}` + +```{r, echo = FALSE, fig.align = 'center', fig.height = 8, fig.width = 8} +if (at[4, 5] < 0.05 & lc$nb > 2) { + taimodel <- suppressWarnings(tai(traits[i], geno, env, rep, data)) + plot(taimodel) +} +``` + +`r if (at[4, 5] < 0.05 & lc$nb > 2) {"#### Tai alpha and lambda values"}` + +```{r, echo = FALSE} +if (at[4, 5] < 0.05 & lc$nb > 2) + taimodel$Tai_values +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_met_fail.Rmd b/inst/hidap_agrofims/www/internal_files/child_met_fail.Rmd new file mode 100644 index 0000000..9cc64b2 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_met_fail.Rmd @@ -0,0 +1,22 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.2f(traits[i], geno, env, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least one combination of the genotypes and environments in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each genotype and environment in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one genotype without data in at least one environment. The table below shows the frequencies of valid data for each genotype in each environment. A MET analysis cannot be produced if there are combination of genotypes and environments without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each genotype in each environment. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1 & lc$c3 == 1) + lc$tfreq +if (lc$c2 == 1 & lc$c3 == 0) + lc$tfreqr +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_nc.Rmd b/inst/hidap_agrofims/www/internal_files/child_nc.Rmd new file mode 100644 index 0000000..f9a3262 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_nc.Rmd @@ -0,0 +1,26 @@ +`r i = {{i}}` + +# {{i}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +if (model == 1) { + ddd <- data.frame ( + set = data[, set], + male = data[, male], + female = data[, female], + progeny = data[, progeny], + rep = data[, rep], + yield = data[, traits[i]]) +} + +if (model == 2 | model == 3) { + ddd <- data.frame ( + set = data[, set], + male = data[, male], + female = data[, female], + rep = data[, rep], + yield = data[, traits[i]]) +} + +agricolae::carolina(model, ddd) +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_rcbd.Rmd b/inst/hidap_agrofims/www/internal_files/child_rcbd.Rmd new file mode 100644 index 0000000..34fa04a --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_rcbd.Rmd @@ -0,0 +1,86 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.rcbd(traits[i], geno, rep, data) +at <- suppressWarnings(aov.rcbd(traits[i], geno, rep, data, maxp)) +model <- aov(data[, traits[i]] ~ data[, geno] + data[, rep]) +``` + +## {{i+1}}.1. ANOVA + +You have fitted a linear model for a RCBD. The ANOVA table for your model is: + +```{r, echo = FALSE} +at +``` + +`r if(lc$c4 == 0) paste("You have some missing values (", format(lc$pmis * 100, digits = 3), "%) and they have been estimated before running ANOVA.", sep = "")` + +The coefficient of variation for this experiment is `r format(agricolae::cv.model(model), digits = 4)`%. +The p-value for genotypes is `r format(at[1, 5], digits = 4)` +`r if(at[1, 5] < 0.05) {"which is significant at the 5% level."} else {"which is not significant at the 5% level."}` + +## {{i+1}}.2. Assumptions + +Don't forget the assumptions of the model. It is supposed that the errors are independent with a normal distribution and with the same variance for all the genotypes. The following plots must help you evaluate this: + +```{r, echo = FALSE, fig.height = 5, fig.width = 10} +par(mfrow = c(1, 2)) + +plot(model, which = 1) +plot(model, which = 2) +``` + +Any trend in the residuals in the left plot would violate the assumption of independence while a trend in the variability of the residuals --for instance a funnel shape-- suggests heterogeneity of variances. Departures from the theoretical normal line on the right plot are symptoms of lack of normality. + +## {{i+1}}.3. Genotype means + +`r if(at[1, 5] < 0.05) {"Below are the sorted means for each genotype with letters indicating if there are significant differences using the least significance difference method and the multiple comparisons method of Tukey, both at the 5% level."} else {"Because the effect of genotypes was not significant in the ANOVA, multiple comparison tests are not presented. The means of your genotypes are:"}` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.1. LSD test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::LSD.test(data[, traits[i]], data[, geno], at[3, 1], at[3, 3])$groups +``` + +`r if (at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.2. Tukey test", sep = "")}` + +```{r, echo = FALSE} +if (at[1, 5] < 0.05) + agricolae::HSD.test(data[, traits[i]], data[, geno], at[3, 1], at[3, 3])$groups +``` + +```{r, echo = FALSE} +if (at[1, 5] > 0.05) + tapply(data[, traits[i]], data[, geno], mean) +``` + +`r if (lc$nt < 10 & at[1, 5] < 0.05) {paste("### ", {{i+1}}, ".3.3. Plot of means", sep = "")}` + +`r if(lc$nt < 10) {"It is always good to have some visualization of the data. Because the number of genotypes in your experiment is not so big, we can plot the data for each genotype:"}` + +```{r, echo = FALSE} +if (lc$nt < 10) msdplot(traits[i], geno, data, conf = 1) +``` + +## {{i+1}}.4. Variance components + +Below are the variance components for this model, under the assumption that genotypes and blocks are random. Here the model is fitted using REML and missing values are not estimated. + +```{r, echo = FALSE} +y <- data[, traits[i]] +fg <- data[, geno] +fr <- data[, rep] +ff <- as.formula(y ~ (1|fg) + (1|fr)) +model <- lme4::lmer(ff) +vc <- data.frame(lme4::VarCorr(model)) +vc[vc[, 1] == "fg", 1] <- geno +vc[vc[, 1] == "fr", 1] <- rep +rownames(vc) <- vc[, 1] +vc <- vc[, c(4, 5)] +colnames(vc) <- c("Variance", "Std.Dev.") +vc +``` diff --git a/inst/hidap_agrofims/www/internal_files/child_rcbd_fail.Rmd b/inst/hidap_agrofims/www/internal_files/child_rcbd_fail.Rmd new file mode 100644 index 0000000..dd3ab3f --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/child_rcbd_fail.Rmd @@ -0,0 +1,20 @@ +`r i = {{i}}` + +# {{i+1}}. Analysis for trait `r traits[i]` + +```{r, echo = FALSE} +lc <- check.rcbd(traits[i], geno, rep, data) +``` + +`r if (lc$c2 == 0) {"There is only one replication. Analysis is not possible with one replication."}` + +`r if (lc$c2 == 1 & lc$c3 == 0) {"There is more than one datum for at least one genotype in at least one replication. This could be the result of a mislabeling for the levels of the factors. The table below shows the frequencies of valid data for each genotype in each replication. Solve this to proceed."}` + +`r if (lc$c1 == 0 & lc$c2 == 1 & lc$c3 == 1) {"There is at least one genotype without data. The table below shows the frequencies of valid data for each genotype in each replication. The analysis cannot be produced if there are genotypes without data. Solve this to proceed."}` + +`r if (lc$pmis > maxp & lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1) paste("There are too many missing values (", format(lc$pmis * 100, digits = 3), "%). The table below shows the frequencies of valid data for each genotype in each replication. This procedure estimates up to 10%. Solve this to proceed.", sep = "")` + +```{r, echo = FALSE} +if (lc$c2 == 1) + lc$tfreq +``` diff --git a/inst/hidap_agrofims/www/internal_files/crd.Rmd b/inst/hidap_agrofims/www/internal_files/crd.Rmd new file mode 100644 index 0000000..9e2d0ed --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/crd.Rmd @@ -0,0 +1,61 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + geno: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +geno <- params$geno +data <- params$data +maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) +``` + +# 1. Model specification and data description + +There are data from `r nlevels(as.factor(data[, geno]))` genotypes, evaluated using a completely randomized design. The statistical model is +$$ +y_{ij} = \mu + \tau_i + \epsilon_{ij} +$$ +where + +* $y_{ij}$ is the observed response with genotype $i$ and replication $j$. +* $\mu$ is the mean response over all genotypes and replications. +* $\tau_i$ is the effect for genotype $i$. +* $\epsilon_{ij}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ij} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_crd.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/df.Rmd b/inst/hidap_agrofims/www/internal_files/df.Rmd new file mode 100644 index 0000000..6a055ef --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/df.Rmd @@ -0,0 +1,27 @@ +--- +title: "Report for a data table" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +You have a nice data table with `r dim(params$x)[1]` rows and `r dim(params$x)[2]` columns. The first six rows are shown below: +```{r, echo = FALSE} +head(params$x) +``` +Remember that the table is the standard format for data analysis; it is the kind of data structure that any statistical package prefers. In a table you have: + +* one row for each observation (e.g. a plot, a pot or a plant) and +* one column for each variable (e.g. a trait like root yield or a factor like genotypes). + +Maybe you would like to read [this](https://github.com/reyzaguirre/MoreStats/tree/master/GoodDataPractices). diff --git a/inst/hidap_agrofims/www/internal_files/elston.Rmd b/inst/hidap_agrofims/www/internal_files/elston.Rmd new file mode 100644 index 0000000..f2193de --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/elston.Rmd @@ -0,0 +1,41 @@ +--- +title: "Elston index" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + traits: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + means: "no data" + lb: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +traits <- params$traits +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +means <- params$means +lb <- params$lb + +eindex <- elston(traits, geno, env, rep, data, means, lb) +``` + +### The Elston index + +The Elston index for each genotype is shown below. As you see, genotype `r (eindex[sort(eindex$E.Index, decreasing = T, index.return = T)$ix, ])[1,1]` is the one with the highest value. +```{r, echo = FALSE} +eindex[sort(eindex$E.Index, decreasing = T, index.return = T)$ix, ] +``` diff --git a/inst/hidap_agrofims/www/internal_files/lxt.Rmd b/inst/hidap_agrofims/www/internal_files/lxt.Rmd new file mode 100644 index 0000000..ad24aee --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/lxt.Rmd @@ -0,0 +1,47 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + lines: "no data" + testers: "no data" + rep: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +lines <- params$lines +testers <- params$testers +rep <- params$rep +data <- params$data +``` + +```{r, include = FALSE} +out <- NULL + +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_lxt.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/met.Rmd b/inst/hidap_agrofims/www/internal_files/met.Rmd new file mode 100644 index 0000000..286379a --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/met.Rmd @@ -0,0 +1,75 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + traits: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) +data[, env] <- as.character(data[, env]) +data[, rep] <- as.character(data[, rep]) +``` + +# 1. Model specification and data description + +The data frame has `r nlevels(as.factor(data[, env]))` environments and `r nlevels(as.factor(data[, geno]))` genotypes. In each environment the genotypes were evaluated using a randomized complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is +$$ +y_{ijk} = \mu + \alpha_i + \beta_j + (\alpha\beta)_{ij} + \gamma_{k(j)} + \epsilon_{ijk} +$$ +where + +* $y_{ijk}$ is the observed response with genotype $i$, environment $j$, and block $k$ nested in environment $j$. +* $\mu$ is the mean response over all genotypes, environments and blocks. +* $\alpha_i$ is the effect for genotype $i$. +* $\beta_j$ is the effect for environment $j$. +* $(\alpha\beta)_{ij}$ is the interaction effect between genotype $i$ and environment $j$. +* $\gamma_{k(j)}$ is the effect of block $k$ nested in environment $j$. +* $\epsilon_{ijk}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ijk} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) { + lc <- check.2f(traits[i], geno, env, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_met.Rmd')) + else + out <- c(out, knit_expand('child_met_fail.Rmd')) +} +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/na.Rmd b/inst/hidap_agrofims/www/internal_files/na.Rmd new file mode 100644 index 0000000..bb59225 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/na.Rmd @@ -0,0 +1,18 @@ +--- +title: "Report for unknown object" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +I am sorry, this object is not in my list. diff --git a/inst/hidap_agrofims/www/internal_files/nc.Rmd b/inst/hidap_agrofims/www/internal_files/nc.Rmd new file mode 100644 index 0000000..cba2fea --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/nc.Rmd @@ -0,0 +1,53 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + set: "no data" + male: "no data" + female: "no data" + progeny: "no data" + rep: "no data" + model: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +set <- params$set +male <- params$male +female <- params$female +progeny <- params$progeny +rep <- params$rep +model <- params$model +data <- params$data +``` + +```{r, include = FALSE} +out <- NULL + +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_nc.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/nt.Rmd b/inst/hidap_agrofims/www/internal_files/nt.Rmd new file mode 100644 index 0000000..ab5c3a9 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/nt.Rmd @@ -0,0 +1,60 @@ +--- +title: "Report for a numeric trait" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + x: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +# Some parameters +p1 <- length(params$x) +p2 <- max(table(params$x)) +p3 <- length(table(params$x)) +``` + +It looks like you have a numeric trait. You can see a descriptive summary below: +```{r, echo = FALSE} +output <- summary(params$x) +output +``` + +```{r, echo = FALSE} +sk <- 3*(mean(params$x) - median(params$x))/sd(params$x) +``` + +`r if(sk > 0.5) {"It looks like you have some positive skewness because your mean is quite larger than your median. Watch out with this if you want to fit a model that assumes normality." }` + +`r if(sk < -0.5) {"It looks like you have some negative skewness because your mean is quite smaller than your median. Watch out with this if you want to fit a model that assumes normality." }` + +`r if(p1 > 25 & (p1/p3 <= 2 | (p1/p3 > 2 & p3 > 20))) {"A boxplot could be a suitable plot for these data:"}` + +```{r, echo = FALSE} +if(p1 > 25 & (p1/p3 <= 2 | (p1/p3 > 2 & p3 > 20))) boxplot(params$x) +``` +`r if(p1 > 25 & p1/p3 > 2 & p3 <= 20) {"For this trait a frequency table could produce a good display of the data:"}` + +```{r, echo = FALSE} +if(p1 > 25 & p1/p3 > 2 & p3 <= 20) table(params$x) +``` + +`r if(p1 <= 25) {"A dotplot could be a suitable plot for these data:"}` + +```{r, echo = FALSE} +if(p1 <= 25) stripchart(params$x) +``` + +`r if(p1 > 25 & p1/p3 < 2 & p2/p1 > 0.05) {"Although your trait seems to be on a continuous scale, there are some values with a very high frequency. What out with this if you plan to fit a model that assumes normality. You can see these values and their frequency below:"}` + +```{r, echo = FALSE} +if(p1 > 25 & p1/p3 < 2 & p2/p1 > 0.05) table(params$x)[table(params$x)/p1 > 0.05] +``` diff --git a/inst/hidap_agrofims/www/internal_files/pesekbaker.Rmd b/inst/hidap_agrofims/www/internal_files/pesekbaker.Rmd new file mode 100644 index 0000000..a36a674 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pesekbaker.Rmd @@ -0,0 +1,74 @@ +--- +title: "Pesek Baker index" +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + pdf_document: + toc: true + highlight: zenburn + word_document: + highlight: "tango" +params: + traits: "no data" + geno: "no data" + env: "no data" + rep: "no data" + data: "no data" + means: "no data" + dgg: "no data" + units: "no data" + sf: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +traits <- params$traits +geno <- params$geno +env <- params$env +rep <- params$rep +data <- params$data +means <- params$means +dgg <- params$dgg +units <- params$units +sf <- params$sf + +pbindex <- pesekbaker(traits, geno, env, rep, data, means, dgg, units, sf) +``` + +### Desired genetic gains +You have computed the Pesek-Baker index for traits `r traits` with the following desired genetic gains in actual units: +```{r, echo = FALSE} +pbindex$Desired.Genetic.Gains +``` + +### Standard deviation +The estimated genotypic standard deviations for these traits are: +```{r, echo = FALSE} +pbindex$Standard.Deviations +``` + +### The Pesek-Baker index + +The index coefficients for the Pesek-Baker index are: +```{r, echo = FALSE} +pbindex$Index.Coefficients +``` + +With this, the Pesek-Baker index for each genotype is shown below. As you see, genotype `r (pbindex$Pesek.Baker.Index[sort(pbindex$Pesek.Baker.Index$PB.Index, decreasing = T, index.return = T)$ix, ])[1,1]` is the one with the highest value. +```{r, echo = FALSE} +pbindex$Pesek.Baker.Index[sort(pbindex$Pesek.Baker.Index$PB.Index, decreasing = T, + index.return = T)$ix, ] +``` + +### The response to selection + +For a selection fraction of `r sf`, the responses to selection in actual units are: +```{r, echo = FALSE} +pbindex$Response.to.Selection +``` +and in standardized units: +```{r, echo = FALSE} +pbindex$Std.Response.to.Selection +``` diff --git a/inst/hidap_agrofims/www/internal_files/pvs1.Rmd b/inst/hidap_agrofims/www/internal_files/pvs1.Rmd new file mode 100644 index 0000000..43abd78 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pvs1.Rmd @@ -0,0 +1,219 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +data <- data[, c("PHASE", "IDENTIFIED_CRITERIA", "SCORE_MEN", "SCORE_WOMEN", "SCORE_GLOBAL")] +data$IDENTIFIED_CRITERIA <- as.character(data$IDENTIFIED_CRITERIA) +colnames(data) <- c("phase", "Criteria", "Men", "Women", "Global") +data <- tidyr::gather(data, group, value, Men:Global) + +## Split by phase + +flow <- data[data$phase == "Flowering", ] +harv <- data[data$phase == "Harvest", ] +stor <- data[data$phase == "Storage", ] + +## Sort by number of votes + +temp <- flow[flow$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +flow$Criteria <- factor(flow$Criteria, levels = orden) + +temp <- harv[harv$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +harv$Criteria <- factor(harv$Criteria, levels = orden) + +temp <- stor[stor$group == "Global", c("Criteria", "value")] +orden <- temp$Criteria[sort(temp$value, decreasing = T, index.return = T)$ix] +stor$Criteria <- factor(stor$Criteria, levels = orden) + +## Count number of votes + +nvmflow <- sum(flow[flow$group == "Men", "value"], na.rm = T) +nvmharv <- sum(harv[harv$group == "Men", "value"], na.rm = T) +nvmstor <- sum(stor[stor$group == "Men", "value"], na.rm = T) + +nvwflow <- sum(flow[flow$group == "Women", "value"], na.rm = T) +nvwharv <- sum(harv[harv$group == "Women", "value"], na.rm = T) +nvwstor <- sum(stor[stor$group == "Women", "value"], na.rm = T) + +## Count number of voters + +nmflow <- round(nvmflow / 6) +nmharv <- round(nvmharv / 6) +nmstor <- round(nvmstor / 6) + +nwflow <- round(nvwflow / 6) +nwharv <- round(nvwharv / 6) +nwstor <- round(nvwstor / 6) + +## Compute percentage adjusted by gender + +flowp <- flow[flow$group == "Global", ] +flowp$value <- flowp$value / (nvmflow + nvwflow) +temp <- flow[flow$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmflow / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwflow / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +flowp <- rbind(flowp, temp) +flowp$value <- round(flowp$value * 100, 1) + +harvp <- harv[harv$group == "Global", ] +harvp$value <- harvp$value / (nvmharv + nvwharv) +temp <- harv[harv$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmharv / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwharv / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +harvp <- rbind(harvp, temp) +harvp$value <- round(harvp$value * 100, 1) + +storp <- stor[stor$group == "Global", ] +storp$value <- storp$value / (nvmstor + nvwstor) +temp <- stor[stor$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmstor / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwstor / 2 +temp <- docomp("sum", "value", "Criteria", "phase", temp) +temp$group <- "Global adjusted" +storp <- rbind(storp, temp) +storp$value <- round(storp$value * 100, 1) + +``` + +# 1. Identification of selection criteria and voting process + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked: What do you look for in a new variety of potato when the crop is at the flowering/harvest/post-harvest stage? In other words: When do you say that a variety is good or bad, when evaluating at this stage? + +A list is compiled of all the criteria mentioned by the different participants (i.e. free listing). Each criterium is listed and written on a paper bag (or card with accompanying container). Then, in order to select the most important traits for farmers a voting process is conducted. + +Farmers are requested to select the three criteria that each considers the most important with the following scheme. They can give: + +- Three votes for the most important characteristic. +- Two votes for the second most important characteristic. +- One vote for the third most important characteristic. + +Votes are recorded for men and women. + +# 2. Selection criteria at flowering + +`r if (nrow(flow) == 0) {"There were no data for selection criteria at flowering."}` +`r if (all(is.na(flow$Criteria))) {"There were no data for selection criteria at flowering."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ){ + ggplot(flow, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at flowering stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + + + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(flow) > 0 && !all(is.na(flow$Criteria)) ) { + ggplot(flowp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at flowering stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 3. Selection criteria at harvest + +`r if (nrow(harv) == 0) {"There were no data for selection criteria at harvest."}` +`r if (all(is.na(harv$Criteria))) {"There were no data for selection criteria at harvest."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) { + ggplot(harv, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(harv) > 0 && !all(is.na(harv$Criteria)) ) { + ggplot(harvp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 4. Selection criteria at post-harvest (storage) + +`r if (nrow(stor) == 0) {"There were no data for selection criteria at post-harvest."}` +`r if (all(is.na(stor$Criteria))) {"There were no data for selection criteria at post-harvest."}` + + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) { + ggplot(stor, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at post-harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrow(stor) > 0 && !all(is.na(stor$Criteria)) ) { + ggplot(storp, aes(x = group, y = value, fill = Criteria)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for selection criteria of new varieties at post-harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` diff --git a/inst/hidap_agrofims/www/internal_files/pvs23.Rmd b/inst/hidap_agrofims/www/internal_files/pvs23.Rmd new file mode 100644 index 0000000..6361aba --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pvs23.Rmd @@ -0,0 +1,319 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo = FALSE} + +## Form + +if (params$form == 2) stage <- "flowering" +if (params$form == 3) stage <- "harvest" + +## Data + +data <- params$data +temp <- data[!is.na(data$MSGLO), ] +nrm <- nlevels(factor(temp$REP)) +temp <- data[!is.na(data$BSGLO), ] +nrb <- nlevels(factor(temp$REP)) +ds <- docomp("sum", c("MSM", "MSWM", "MSGLO", "BSM", "BSWM", "BSGLO"), "INSTN", data = data) +ds <- tidyr::gather(ds, group, value, MSM:BSGLO) +ds[ds$group %in% c("MSM", "MSWM", "MSGLO"), "trial"] <- "mother" +ds[ds$group %in% c("BSM", "BSWM", "BSGLO"), "trial"] <- "baby" +ds[ds$group %in% c("MSM", "BSM"), "group"] <- "Men" +ds[ds$group %in% c("MSWM", "BSWM"), "group"] <- "Women" +ds[ds$group %in% c("MSGLO", "BSGLO"), "group"] <- "Global" + +## Split by trial + +moth <- ds[ds$trial == "mother", -4] +baby <- ds[ds$trial == "baby", -4] +both <- docomp("sum", "value", c("INSTN", "group"), data = ds) + +## Sort by number of votes + +temp <- moth[moth$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +moth$INSTN <- factor(moth$INSTN, levels = orden) + +temp <- baby[baby$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +baby$INSTN <- factor(baby$INSTN, levels = orden) + +temp <- both[both$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +both$INSTN <- factor(both$INSTN, levels = orden) + +## Count number of votes + +nvmmoth <- sum(moth[moth$group == "Men", "value"], na.rm = T) +nvmbaby <- sum(baby[baby$group == "Men", "value"], na.rm = T) +nvmboth <- nvmmoth + nvmbaby + +nvwmoth <- sum(moth[moth$group == "Women", "value"], na.rm = T) +nvwbaby <- sum(baby[baby$group == "Women", "value"], na.rm = T) +nvwboth <- nvwmoth + nvwbaby + +## Count number of voters + +nmmoth <- round(nvmmoth / 6 / nrm) +nmbaby <- round(nvmbaby / 6 / nrb) + +nwmoth <- round(nvwmoth / 6 / nrm) +nwbaby <- round(nvwbaby / 6 / nrb) + +## Compute percentage adjusted by gender + +mothp <- moth[moth$group == "Global", ] +mothp$value <- mothp$value / (nvmmoth + nvwmoth) +temp <- moth[moth$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmmoth / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwmoth / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +mothp <- rbind(mothp, temp) +mothp$value <- round(mothp$value * 100, 1) + +babyp <- baby[baby$group == "Global", ] +babyp$value <- babyp$value / (nvmbaby + nvwbaby) +temp <- baby[baby$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmbaby / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwbaby / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +babyp <- rbind(babyp, temp) +babyp$value <- round(babyp$value * 100, 1) + +bothp <- both[both$group == "Global", ] +bothp$value <- bothp$value / (nvmboth + nvwboth) +temp <- both[both$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvmboth / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvwboth / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +bothp <- rbind(bothp, temp) +bothp$value <- round(bothp$value * 100, 1) + +``` + +# 1. Voting process for the identification of best genotypes at `r stage` + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked to identify their three personal favorite genotypes. Then, they are requested to vote by giving: + +- Three votes for the best genotype. +- Two votes for the second. +- One vote for the third. + +Votes are recorded for men and women. + +# 2. Best genotypes at the mother plot + +`r if (nrm == 0) {"There were no data for the mother plot."}` +`r if (nrm > 0) paste("The genotypes have been planted following a randomized complete block design with", nrm, "blocks. A group of men and women voted independently for the best genotypes at each block, so each men and women voted", nrm, "times.")` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrm > 0) { + ggplot(moth, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother plot"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrm > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrm > 0) { + ggplot(mothp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother plot"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 3. Best genotypes at the baby plots + +`r if (nrb == 0) {"There were no data for baby plots."}` +`r if (nrb > 0) paste("The genotypes have been planted in", nrb, "baby plots. At each baby plot the complete set of genotypes is planted. A group of men and women voted independently for the best genotypes at each baby plot.")` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0) { + ggplot(baby, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the baby plots"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrb > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0) { + ggplot(babyp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the baby plots"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 4. Best genotypes at both, mother and baby plots + +`r if (nrm == 0) {"There were no data for the mother plot."}` +`r if (nrb == 0) {"There were no data for baby plots."}` + +`r if (nrb > 0 & nrm > 0) {"Here all the votes on the mother and baby plots are pooled together."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0 & nrm > 0) { + ggplot(both, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother and baby plots"), + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +`r if (nrb > 0 & nrm > 0) {"Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample."}` + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +if (nrb > 0 & nrm > 0) { + ggplot(bothp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = paste("Voting for best genotypes at", stage, "stage in the mother and baby plots"), + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +} +``` + +# 5. Friedman test for genotypes + +## 5.1. Men's votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for men on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.2. Women's votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSWM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSWM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSWM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for women on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.3. Total votes at mother trial + +```{r echo = FALSE} +check <- st4gi::check.rcbd("MSGLO", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, MSGLO, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, MSGLO, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data on the mother plot."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.4. Men's votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for men on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.5. Women's votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSWM", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSWM, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSWM, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data for women on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` + +## 5.6. Total votes at baby trials + +```{r echo = FALSE} +check <- st4gi::check.rcbd("BSGLO", "INSTN", "REP", data) +if (max(check$tfreq) > 0 & check$c4 == 1) { + ft <- with(data, friedman(REP, INSTN, BSGLO, group = T)) + ft$statistics + ft$groups + ft <- with(data, friedman(REP, INSTN, BSGLO, group = F)) + ft$comparison +} +``` + +`r if (max(check$tfreq) == 0) {"There were no data on the baby plots."}` +`r if (max(check$tfreq) > 0 & check$c4 == 0) {"There are some missing values. The design must be balanced to run the Friedman test."}` diff --git a/inst/hidap_agrofims/www/internal_files/pvs67.Rmd b/inst/hidap_agrofims/www/internal_files/pvs67.Rmd new file mode 100644 index 0000000..20136cf --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pvs67.Rmd @@ -0,0 +1,133 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +colnames(data)[2:4] <- c("Appe", "Tast", "Text") + +## Count number of men and women + +temp <- data[data$Sex == "M" | data$Sex == "Male", ] +nm <- nlevels(factor(temp$PanelNo)) +temp <- data[data$Sex == "F" | data$Sex == "Female", ] +nw <- nlevels(factor(temp$PanelNo)) + +## Aggregate data for principal components + +adg <- docomp("sum", c("Appe", "Tast", "Text"), "INSTN", data = data) +temp <- docomp("sum", c("Appe", "Tast", "Text"), c("INSTN", "Sex"), data = data) +adm <- temp[temp$Sex == "M" | temp$Sex == "Male", ] +adf <- temp[temp$Sex == "F" | temp$Sex == "Female", ] +colnames(adm)[3:5] <- c("Appe-M", "Tast-M", "Text-M") +colnames(adf)[3:5] <- c("Appe-F", "Tast-F", "Text-F") +ads <- cbind(adm[, c(1, 3:5)], adf[, 3:5]) + +rownames(ads) <- ads$INSTN +rownames(adg) <- adg$INSTN + +ads <- ads[, -1] +adg <- adg[, -1] + +``` + +# 1. Gathering of data + +Samples of all genotypes are boiled and presented on plates. Each genotype is evaluated about appearance and taste with the options: + +- 5 excellent, +- 3 fair, +- 1 poor, + +and about texture with: + +- 5 mealy or floury, +- 3 intermediate, +- 1 soggy or watery. + +For the graphs below, the following abbreviations are used: + +- `Appe`: Appearance. +- `Tast`: Taste. +- `Text`: Texture. +- `Appe-M`: Men opinion on appearance. +- `Tast-M`: Men opinion on taste. +- `Text-M`: Men opinion on texture. +- `Appe-W`: Women opinion on appearance. +- `Tast-W`: Women opinion on taste. +- `Text-W`: Women opinion on texture. + +# 2. Results + +A principal components analysis is shown to see the associations among the genotypes and the attributes, first with all the panelists together and then with panelists opinions differentiated by gender. + +```{r echo = FALSE, fig.height = 6, fig.width = 6} +princip <- prcomp(adg, center = T, scale. = T) +summary(princip) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes") +``` + +```{r echo = FALSE, fig.height = 6, fig.width = 6} +princip <- prcomp(ads, center = T, scale. = T) +summary(princip) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes by gender") +``` + +# 3. Friedman test for genotypes + +## 3.1. Analysis for appearance + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Appe, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Appe, group = F)) +ft$comparison +``` + +## 3.2. Analysis for taste + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Tast, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Tast, group = F)) +ft$comparison +``` + +## 3.3. Analysis for texture + +```{r echo = FALSE} +ft <- with(data, friedman(PanelNo, INSTN, Text, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(PanelNo, INSTN, Text, group = F)) +ft$comparison +``` diff --git a/inst/hidap_agrofims/www/internal_files/pvs9.Rmd b/inst/hidap_agrofims/www/internal_files/pvs9.Rmd new file mode 100644 index 0000000..7b97b02 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pvs9.Rmd @@ -0,0 +1,133 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + data: "no data" + form: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +data <- params$data +data <- data[, c("REP","INSTN", "STYPE", "SCORE_MEN","SCORE_WOMEN" ,"SCORE_GLOBAL")] +colnames(data)[4:6] <- c("Men", "Women", "Global") +nr <- nlevels(factor(data$REP)) +ds <- docomp("sum", c("Men", "Women", "Global"), "INSTN", data = data) +ds <- tidyr::gather(ds, group, value, Men:Global) + +## Sort by number of votes + +temp <- ds[ds$group == "Global", c("INSTN", "value")] +orden <- temp$INSTN[sort(temp$value, decreasing = T, index.return = T)$ix] +ds$INSTN <- factor(ds$INSTN, levels = orden) + +## Count number of votes + +nvm <- sum(ds[ds$group == "Men", "value"], na.rm = T) +nvw <- sum(ds[ds$group == "Women", "value"], na.rm = T) + +## Count number of voters + +nm <- round(nvm / 6 / nr) +nw <- round(nvw / 6 / nr) + +## Compute percentage adjusted by gender + +dsp <- ds[ds$group == "Global", ] +dsp$value <- dsp$value / (nvm + nvw) +temp <- ds[ds$group != "Global", ] +temp[temp$group == "Men", "value"] <- temp[temp$group == "Men", "value"] / nvm / 2 +temp[temp$group == "Women", "value"] <- temp[temp$group == "Women", "value"] / nvw / 2 +temp <- docomp("sum", "value", "INSTN", data = temp) +temp$group <- "Global adjusted" +dsp <- rbind(dsp, temp) +dsp$value <- round(dsp$value * 100, 1) + +``` + +# 1. Voting process for the identification of best genotypes at post-harvest stage + +A group of farmers, men and women, and other stakeholders are gathered and, after explanation of the overall objectives of the trial, they are asked to identify their three personal favorite genotypes. Then, they are requested to vote by giving: + +- Three votes for the best genotype. +- Two votes for the second. +- One vote for the third. + +Votes are recorded for men and women. + +# 2. Best genotypes + +The genotypes have been planted following a randomized complete block design with `r nr` blocks. A group of men and women voted independently for the best genotypes at each block, so each men and women voted `r nr` times. + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +ggplot(ds, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for best genotypes at post-harvest stage", + x = "Group", y = "Number of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +``` + +Below a percentage graph is shown. On the right panel the percentages are adjusted by gender, thus trying to reflect what would have been obtained if the number of men and women would be the same in the sample. + +```{r echo = FALSE, fig.height = 5, fig.width = 8} +ggplot(dsp, aes(x = group, y = value, fill = INSTN)) + + geom_bar(stat = "identity", position = "dodge", color = "black") + + labs(title = "Voting for best genotypes at post-harvest stage", + subtitle = "Percentages unadjusted and adjusted by gender", + x = "Group", y = "Percentage of votes") + + geom_text(aes(label = value), vjust = 1.6, color = "white", + position = position_dodge(0.9), size = 3) +``` + +# 3. Friedman test for genotypes + +## 3.1. Men's votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Men, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Men, group = F)) +ft$comparison +``` + +## 3.2. Women's votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Women, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Women, group = F)) +ft$comparison +``` + +## 3.3. Total votes + +```{r echo = FALSE} +ft <- with(data, friedman(REP, INSTN, Global, group = T)) +ft$statistics +ft$groups +ft <- with(data, friedman(REP, INSTN, Global, group = F)) +ft$comparison +``` diff --git a/inst/hidap_agrofims/www/internal_files/pvssg.Rmd b/inst/hidap_agrofims/www/internal_files/pvssg.Rmd new file mode 100644 index 0000000..430b185 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/pvssg.Rmd @@ -0,0 +1,59 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + toc: true + toc_depth: 3 + highlight: "tango" +params: + traits: "no data" + data: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r echo=FALSE} + +## Data + +traits <- params$traits +data <- params$data +rownames(data) <- data[, "INSTN"] +data <- data[, traits] + +## Determine traits with missing values + +lit <- map(data, anyNA) %>% unlist() +lgc_lit <- lit %>% as.vector() +lgc_val <- any(lgc_lit == TRUE) +names_trait <- names(lit[lgc_lit]) +msg <- paste(names_trait, collapse = ", ") %>% paste("The next traits have missing values: ",., sep = "") +``` + +`r if(lgc_val) {"There are missing values in some traits. For this reason, we could not perform a principal components analysis"}` +```{r conditional, echo = FALSE, eval= lgc_val, echo = FALSE} +cat(msg) +``` + +`r if(!lgc_val) { "A principal components analysis is shown to see the associations among the genotypes and some attributes."} ` + + +```{r echo = FALSE, eval= !lgc_val , fig.height = 6, fig.width = 6} +princip <- prcomp(data, center = T, scale = T) +summary(princip) +print(princip$x) +factoextra::fviz_pca(princip, repel = T, + title = "Biplot of genotypes and attributes") +``` diff --git a/inst/hidap_agrofims/www/internal_files/rcbd.Rmd b/inst/hidap_agrofims/www/internal_files/rcbd.Rmd new file mode 100644 index 0000000..0a8b300 --- /dev/null +++ b/inst/hidap_agrofims/www/internal_files/rcbd.Rmd @@ -0,0 +1,71 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + geno: "no data" + rep: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +geno <- params$geno +rep <- params$rep +data <- params$data +maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) +data[, rep] <- as.character(data[, rep]) +``` + +# 1. Model specification and data description + +There are data from `r nlevels(as.factor(data[, geno]))` genotypes evaluated using a randomize complete block design with `r nlevels(as.factor(data[, rep]))` blocks. The statistical model is +$$ +y_{ij} = \mu + \tau_i + \beta_j + \epsilon_{ij} +$$ +where + +* $y_{ij}$ is the observed response with genotype $i$ and block $j$. +* $\mu$ is the mean response over all genotypes and blocks. +* $\tau_i$ is the effect for genotype $i$. +* $\beta_j$ is the effect for block $j$. +* $\epsilon_{ij}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ij} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) { + lc <- check.rcbd(traits[i], geno, rep, data) + if (lc$c1 == 1 & lc$c2 == 1 & lc$c3 == 1 & lc$pmis <= maxp) + out <- c(out, knit_expand('child_rcbd.Rmd')) + else + out <- c(out, knit_expand('child_rcbd_fail.Rmd')) +} + +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_agrofims/www/internal_files/rcbd.docx b/inst/hidap_agrofims/www/internal_files/rcbd.docx new file mode 100644 index 0000000000000000000000000000000000000000..e59ddd4f8788fda7dc06bc1fc7a2086859b63ce0 GIT binary patch literal 10380 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 + + + + Interfacing R and Google maps + + + + + + + + + + + + + + + +

Interfacing R with Google maps

+ + + + + + + + + + + + + +
+ +
+
+

Instructions

+

The map is not zoomable. This is because otherwise you won't be able to click on the invisible markers.
+To use the app just select one of the two available maps from the buttons below the title. Click on one of the pixels to update the ID field, and then click "enter" twice to submit the change and update the plot

+ + \ No newline at end of file diff --git a/inst/hidap_sbase/www/internal_files/20180531215741-xZOcEq6MJTz2AS6-crd.Rmd b/inst/hidap_sbase/www/internal_files/20180531215741-xZOcEq6MJTz2AS6-crd.Rmd new file mode 100755 index 0000000..9e2d0ed --- /dev/null +++ b/inst/hidap_sbase/www/internal_files/20180531215741-xZOcEq6MJTz2AS6-crd.Rmd @@ -0,0 +1,61 @@ +--- +title: "`r params$title`" +subtitle: '`r params$subtitle`' +author: '`r params$author`' +date: '`r format(Sys.time(), "%B %d, %Y")`' +output: + html_document: + theme: united + toc: true + toc_depth: 3 + pdf_document: + toc: true + toc_depth: 3 + highlight: zenburn + word_document: + highlight: "tango" + toc: true + toc_depth: 3 +params: + traits: "no data" + geno: "no data" + data: "no data" + maxp: "no data" + title: "no data" + subtitle: "no data" + author: "no data" +--- + +```{r, echo = FALSE} +library(knitr) + +traits <- params$traits +geno <- params$geno +data <- params$data +maxp <- params$maxp + +data[, geno] <- as.character(data[, geno]) +``` + +# 1. Model specification and data description + +There are data from `r nlevels(as.factor(data[, geno]))` genotypes, evaluated using a completely randomized design. The statistical model is +$$ +y_{ij} = \mu + \tau_i + \epsilon_{ij} +$$ +where + +* $y_{ij}$ is the observed response with genotype $i$ and replication $j$. +* $\mu$ is the mean response over all genotypes and replications. +* $\tau_i$ is the effect for genotype $i$. +* $\epsilon_{ij}$ is the error term. + +In this model we assume that the errors are independent and have a normal distribution with common variance, that is, $\epsilon_{ij} \sim N(0,\sigma_{\epsilon}^2)$. + +```{r, include = FALSE} +out <- NULL +for (i in 1:length(traits)) + out <- c(out, knit_expand('child_crd.Rmd')) +``` + +`r paste(knit(text = out), collapse = '\n')` diff --git a/inst/hidap_sbase/www/internal_files/20180531221025-ncBsFJsR2aLGyES-crd.docx b/inst/hidap_sbase/www/internal_files/20180531221025-ncBsFJsR2aLGyES-crd.docx new file mode 100755 index 0000000000000000000000000000000000000000..741b482bd88979f865ab9c4012b0808518d10c26 GIT binary patch literal 41847 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�OVVqx4paGdS5>kJ-;di)$# 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 literal 0 HcmV?d00001 diff --git a/inst/hidap_sbase/www/internal_files/20180531221218-mMUDxEuAVaSuwJ2-crd.docx b/inst/hidap_sbase/www/internal_files/20180531221218-mMUDxEuAVaSuwJ2-crd.docx new file mode 100755 index 0000000000000000000000000000000000000000..7912294715d5c7a9a6aa295e965b7dfe898f7cfb GIT binary patch literal 38361 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 literal 0 HcmV?d00001 diff --git a/inst/hidap_sbase/www/internal_files/20180604192231-PvuET3tjr4HrnyM-crd.docx b/inst/hidap_sbase/www/internal_files/20180604192231-PvuET3tjr4HrnyM-crd.docx new file mode 100755 index 0000000000000000000000000000000000000000..84caaf3759d2b6a1952d2c3953bb2080591988f4 GIT binary patch literal 50095 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 literal 0 HcmV?d00001 diff --git a/inst/hidap_sbase/www/internal_files/crd.docx b/inst/hidap_sbase/www/internal_files/crd.docx new file mode 100755 index 0000000000000000000000000000000000000000..84caaf3759d2b6a1952d2c3953bb2080591988f4 GIT binary patch literal 50095 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 literal 0 HcmV?d00001 diff --git a/inst/hidap_sbase/www/internal_files/fbappdatapath.rds b/inst/hidap_sbase/www/internal_files/fbappdatapath.rds index dd7d9d8648a5f2b78c998df2d166099352952491..4085409ef6913004ea78c4ccdf52f018eaa49554 100755 GIT binary patch delta 52 zcmV-40L%YbT97L*i2$eK+^R%%3 delta 51 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 E06