Last updated: 2026-04-06

Checks: 6 1

Knit directory: Integrating-nir-genomic-kernel/

This reproducible R Markdown analysis was created with workflowr (version 1.7.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


The R Markdown file has unstaged changes. To know which version of the R Markdown file created these results, you’ll want to first commit it to the Git repo. If you’re still working on the analysis, you can ignore this warning. When you’re finished, you can run wflow_publish to commit the R Markdown file and build the HTML.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20250829) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.

The results in this page were generated with repository version f8e4484. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Ignored files:
    Ignored:    .Rhistory
    Ignored:    .Rproj.user/
    Ignored:    analysis/analysis.Rmd
    Ignored:    data/Article_documents/
    Ignored:    data/Maize-NIRS-GBS-main/
    Ignored:    output/Matrizes/Geno.all.rds
    Ignored:    output/Matrizes/NIR.all.rds
    Ignored:    output/Matrizes/figures/
    Ignored:    output/adjust_models.rar
    Ignored:    output/climate_results/additional_climate_plots.tiff
    Ignored:    output/climate_results/combined_additional_climate_plots.tiff
    Ignored:    output/climate_results/combined_climate_plot.tiff
    Ignored:    output/cv-schemes.tiff
    Ignored:    output/results/
    Ignored:    output/variance_components/figures/variance_components_article.tiff
    Ignored:    output/variance_components/rep_1/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_1/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_1/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_10/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_10/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_2/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_2/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_3/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_3/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_4/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_4/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_5/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_5/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_6/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_6/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_7/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_7/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_8/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_8/Eta18/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta01/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta01/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta01/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta01/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta01/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta01/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta01/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta01/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta01/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta01/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta02/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta02/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta02/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta02/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta02/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta02/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta02/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta02/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta02/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta02/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta03/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta03/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta03/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta03/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta03/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta03/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta03/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta03/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta03/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta03/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta04/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta04/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta04/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta04/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta04/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta04/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta04/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta04/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta04/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta04/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta05/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta05/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta05/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta05/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta05/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta05/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta05/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta05/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta05/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta05/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta06/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta06/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta06/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta06/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta06/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta06/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta06/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta06/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta06/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta06/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta07/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta07/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta08/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta08/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta09/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta09/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta10/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta10/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta11/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta11/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_GW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_PW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta12/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_GE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_GW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_G_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_PE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_PW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_P_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta12/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta13/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta13/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta14/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta14/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta15/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_GGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_GGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_GGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_PGKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_PGKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_PGK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta15/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta16/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta16/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta17/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta17/KWvarE.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYmu.dat
    Ignored:    output/variance_components/rep_9/Eta18/GYvarE.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_E_varB.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_GAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_GAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_GAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_PAKE_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_PAKW_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_PAK_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWETA_W_varU.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWmu.dat
    Ignored:    output/variance_components/rep_9/Eta18/KWvarE.dat

Untracked files:
    Untracked:  analysis/run_cv0_cv00_only.R
    Untracked:  analysis/run_cv1_cv2_only.R

Unstaged changes:
    Modified:   analysis/climate_data_pt.Rmd
    Modified:   analysis/matrizes.Rmd
    Modified:   analysis/matrizes_pt.Rmd

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the repository in which changes were made to the R Markdown (analysis/matrizes_pt.Rmd) and HTML (docs/matrizes_pt.html) files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view the files as they were in that past version.

File Version Author Date Message
html a7d077a WevertonGomesCosta 2026-04-03 update
Rmd b3df8b2 WevertonGomesCosta 2026-04-03 update
html f6d5560 WevertonGomesCosta 2026-04-03 update files
html 005c393 WevertonGomesCosta 2026-04-02 update
Rmd 9d11ebc WevertonGomesCosta 2026-04-02 update
html d54afd7 WevertonGomesCosta 2026-04-01 update
Rmd 00ef3ef WevertonGomesCosta 2026-04-01 update
html 00ef3ef WevertonGomesCosta 2026-04-01 update
Rmd 1915912 WevertonGomesCosta 2026-03-31 update
Rmd 218576b WevertonGomesCosta 2026-03-31 update
Rmd 013c1f5 WevertonGomesCosta 2026-03-31 update
Rmd ca77d34 WevertonGomesCosta 2026-03-31 update
html 74c0c6f WevertonGomesCosta 2026-03-31 update htmls
html b366d30 WevertonGomesCosta 2026-03-30 update
Rmd de11f3e WevertonGomesCosta 2026-03-30 update
Rmd 98c260d WevertonGomesCosta 2026-03-30 update
html 98c260d WevertonGomesCosta 2026-03-30 update
Rmd 3ff4037 WevertonGomesCosta 2026-03-30 update
html 3ff4037 WevertonGomesCosta 2026-03-30 update

Language / Idioma: English | Português

As opções de renderização abaixo mantêm código, mensagens e figuras sob um único padrão de apresentação.

1. Introdução

Este tutorial documenta como o projeto constrói os kernels centrais usados nas análises de predição genômica. O objetivo não é simplesmente ler arquivos e calcular matrizes. O objetivo é transformar fontes heterogêneas de informação em objetos científicos alinhados que possam ser usados em modelos de predição multiambientes.

O script integra quatro camadas de dados:

  1. Registros fenotípicos (Pheno): produtividade de grãos (GY) e peso de grãos (KW) por genótipo e ambiente.
  2. Marcadores genômicos (Geno): SNPs processados em formato numérico.
  3. Espectros NIR (NIR): medições fenômicas usadas para construir um kernel de similaridade espectral.
  4. Covariáveis derivadas do clima (W): descritores meteorológicos gerados no tutorial climático.

As saídas finais desta etapa são as matrizes usadas depois nos modelos de predição:

  • Kernels lineares: ZG, ZP, ZEZE, ZW
  • Kernels de interação: ZGZE, ZPZE, ZGZW, ZPZW
  • Kernels Gaussianos não lineares: GGK, PGK, GGKE, PGKE, GGKW, PGKW
  • Kernels arc-cosine não lineares: GAK, PAK, GAKE, PAKE, GAKW, PAKW

No conjunto reduzido final de 18 modelos, o kernel climático (ZW) e seus termos de interação são usados principalmente nos modelos Eta10-Eta18. Os modelos iniciais (Eta1-Eta9) usam o efeito categórico de ambiente (E) em conjunto com kernels genômicos e/ou fenômicos, mas não incluem o kernel climático.

Um objetivo prático central deste tutorial é garantir que todas as matrizes sejam construídas na mesma ordem de observações. Se os kernels não estiverem perfeitamente alinhados, as análises preditivas posteriores se tornam inválidas.

Entradas, saídas e próxima etapa

Entradas desta etapa - dados fenotípicos, genômicos e fenômicos - covariáveis derivadas do clima produzidas por climate_data.Rmd

Saídas desta etapa - objetos observacionais alinhados - estruturas de desenho ambiental e climático - kernels lineares e não lineares - kernels de interação usados nas etapas seguintes

Próxima etapa - os objetos gerados aqui são consumidos diretamente por variance_components_pt.Rmd e analysis_prediction_pt.Rmd.

2. Ambiente em R e dependências

Primeiro carregamos os pacotes necessários para manipulação de dados, construção de kernels, visualização e gerenciamento de memória.

  • tidyverse: organização dos dados e gráficos.
  • data.table: leitura rápida de arquivos grandes.
  • BGLR: estrutura Bayesiana de predição genômica usada depois.
  • parallel e doParallel: suporte para tarefas computacionalmente intensivas.
  • MASS: utilidades estatísticas adicionais.
  • patchwork: composição de figuras em múltiplos painéis para gráficos diagnósticos.

Os pacotes abaixo dão suporte à construção de matrizes, manipulação de dados, cálculo de kernels, otimização e visualização.

suppressPackageStartupMessages({
  library(tidyverse)
  library(data.table)
  library(BGLR)
  library(parallel)
  library(doParallel)
  library(MASS)
  library(gridExtra)
  library(grid)
  library(knitr)
  library(kableExtra)
  library(tools)
  library(patchwork)
})

dir.create("output/Matrizes", recursive = TRUE, showWarnings = FALSE)
dir.create("output/Matrizes/figures", recursive = TRUE, showWarnings = FALSE)

2.1 Uma nota sobre o estilo de código usado neste tutorial

Neste tutorial, evitamos pequenos helpers de conveniência para gráficos e checagens de matrizes. Em vez disso, o código é escrito de forma mais explícita e linear. Isso torna o script mais longo, mas também torna cada operação mais fácil de acompanhar para leitores que ainda estão aprendendo R e fluxos de modelagem baseados em matrizes.

As únicas funções mantidas mais adiante no script são as funções matemáticas estritamente necessárias para estimar os kernels Gaussianos e arc-cosine. Essas funções fazem parte do próprio procedimento de modelagem, e não apenas de atalhos de programação.

3. Carregar os dados brutos

A próxima seção lê as entradas brutas usadas no pipeline de construção de kernels. Neste estágio, o objetivo é apenas importar os dados e inspecionar a estrutura básica de cada fonte.

3.1 Carregar os registros NIR e os fenótipos

O arquivo NIR.csv contém identificadores, ambientes, caracteres fenotípicos e as bandas espectrais usadas depois para construir o kernel fenômico.

O código abaixo lê os dados NIR e prepara a entrada fenômica que depois será alinhada aos registros fenotípicos e genômicos.

NIR <- fread("data/NIR.csv") %>% as.data.frame()

head(NIR[, 1:7])
unique(NIR$Env)

3.2 Carregar os marcadores genômicos

O arquivo genotípico contém uma linha por genótipo e uma coluna por marcador. A primeira coluna (taxa) é o identificador do genótipo usado para alinhar a informação genômica e fenotípica.

O código abaixo lê os dados de marcadores genômicos que formam a base dos kernels genômicos usados no pipeline.

Geno <- fread("data/GAPIT.Genotype.Numerical.txt") %>% as.data.frame()

head(Geno[, 1:5])

3.3 Construir a tabela fenotípica usada depois

Os scripts de modelagem posteriores exigem uma tabela fenotípica limpa contendo apenas os identificadores e os caracteres-alvo. Extraímos essas colunas diretamente do arquivo NIR para garantir que a tabela fenotípica permaneça sincronizada com os registros espectrais em nível de observação.

Também criamos um identificador de observação (ObsID) combinando ambiente e genótipo. Isso é útil porque o mesmo genótipo pode aparecer em mais de um ambiente, e rótulos únicos de observação melhoram muito a rastreabilidade e as checagens de alinhamento.

O código abaixo monta a tabela fenotípica que funciona como espinha dorsal, em nível de observação, para as matrizes alinhadas.

Pheno <- NIR %>%
  dplyr::select(Pedigree, Env, GY, KW) %>%
  arrange(Env, Pedigree) %>%
  mutate(ObsID = paste(Env, Pedigree, sep = "__"))

head(Pheno)

4. Harmonizar os IDs de genótipos entre as fontes de dados

Esta é uma etapa crítica de validação. O arquivo genômico e o arquivo NIR/fenotípico devem se referir aos mesmos genótipos. Se os IDs não forem harmonizados antes da construção das matrizes, todo kernel posterior ficará desalinhado.

O código abaixo harmoniza os identificadores de genótipo entre as diferentes fontes para garantir que as mesmas unidades sejam comparadas corretamente.

Pedigree <- intersect(Geno$taxa, NIR$Pedigree)

NIR <- NIR[NIR$Pedigree %in% Pedigree, ] %>%
  arrange(Env, Pedigree) %>%
  mutate(ObsID = paste(Env, Pedigree, sep = "__"))

Geno <- Geno[Geno$taxa %in% Pedigree, ] %>%
  arrange(taxa)

Pheno <- Pheno[Pheno$Pedigree %in% Pedigree, ] %>%
  arrange(Env, Pedigree) %>%
  mutate(ObsID = paste(Env, Pedigree, sep = "__"))

cat("Shared genotypes in NIR :", length(unique(NIR$Pedigree)), "\n")
cat("Shared genotypes in Geno:", nrow(Geno), "\n")
cat("Shared genotypes in Pheno:", length(unique(Pheno$Pedigree)), "\n")

5. Separar as observações NIR por ambiente

O estudo possui quatro ambientes:

  • CS11_WS
  • CS11_WW
  • CS12_WS
  • CS12_WW

A construção dos kernels usa depois blocos específicos por ambiente. Por isso, separamos as observações NIR em quatro data frames específicos de ambiente preservando os identificadores de observação.

O código abaixo organiza os dados harmonizados por ambiente, preparando as verificações posteriores de balanceamento, sobreposição e construção dos kernels.

a <- NIR %>% filter(Env == "CS11_WS") %>% arrange(Pedigree)
b <- NIR %>% filter(Env == "CS11_WW") %>% arrange(Pedigree)
c <- NIR %>% filter(Env == "CS12_WS") %>% arrange(Pedigree)
d <- NIR %>% filter(Env == "CS12_WW") %>% arrange(Pedigree)

rownames(a) <- a$ObsID
rownames(b) <- b$ObsID
rownames(c) <- c$ObsID
rownames(d) <- d$ObsID

5.1 Identificar genótipos observados em todos os ambientes

Este objeto é informativo para checagens de dados balanceados e para interpretar a sobreposição entre ensaios.

O código abaixo identifica os genótipos compartilhados entre ambientes, passo importante para a estabilidade do alinhamento entre ambientes.

Pedigree_communs <- Reduce(
  intersect,
  list(Geno$taxa, a$Pedigree, b$Pedigree, c$Pedigree, d$Pedigree)
)

length(Pedigree_communs)

6. Construir o kernel genômico linear (K_G armazenado como ZG)

O kernel genômico mede a similaridade entre observações com base nos marcadores SNP.

O pipeline legado usado neste projeto padroniza os valores dos marcadores dentro de cada bloco de observações específico de ambiente antes de empilhar os dados. Embora essa não seja a única estratégia possível, nós a preservamos aqui para manter compatibilidade com as análises posteriores já desenvolvidas para o artigo.

As etapas práticas são:

  1. Ordenar a matriz genotípica e remover a coluna de ID.
  2. Subconjuntar a matriz genotípica de acordo com os genótipos observados em cada ambiente.
  3. Padronizar os marcadores dentro de cada bloco.
  4. Empilhar as matrizes específicas de ambiente na mesma ordem usada pela tabela de observações.
  5. Calcular o kernel linear pelo produto cruzado da matriz padronizada de marcadores.

O código abaixo constrói o kernel genômico linear que representa a relação genômica básica entre as observações.

Geno <- Geno[order(Geno$taxa), ]
rownames(Geno) <- Geno$taxa
Geno <- Geno[, -1, drop = FALSE]

Geno.a <- scale(Geno[a$Pedigree, , drop = FALSE], center = TRUE, scale = TRUE)
Geno.b <- scale(Geno[b$Pedigree, , drop = FALSE], center = TRUE, scale = TRUE)
Geno.c <- scale(Geno[c$Pedigree, , drop = FALSE], center = TRUE, scale = TRUE)
Geno.d <- scale(Geno[d$Pedigree, , drop = FALSE], center = TRUE, scale = TRUE)

rownames(Geno.a) <- a$ObsID
rownames(Geno.b) <- b$ObsID
rownames(Geno.c) <- c$ObsID
rownames(Geno.d) <- d$ObsID

Geno.all <- rbind(Geno.a, Geno.b, Geno.c, Geno.d)

ZG <- tcrossprod(as.matrix(Geno.all)) / ncol(Geno.all)
rownames(ZG) <- rownames(Geno.all)
colnames(ZG) <- rownames(Geno.all)

dim(ZG)
ZG[1:5, 1:5]

7. Construir o kernel fenômico linear (K_P armazenado como ZP)

O kernel fenômico usa as bandas espectrais NIR. A mesma lógica em blocos é usada aqui para manter a ordem das observações sincronizada com os kernels genômico, categórico de ambiente e climático.

Esse kernel é útil porque resume a similaridade espectral entre observações. Ao mesmo tempo, deve ser interpretado com cautela. Os espectros NIR podem refletir respostas fisiológicas fortes às condições de campo, de modo que o kernel fenômico pode capturar parte do sinal ambiental além de informação relacionada ao genótipo.

O código abaixo constrói o kernel fenômico linear a partir dos dados NIR para compará-lo às estruturas genômicas e climáticas.

# Identify spectral variables defensively: keep only numeric columns and remove
# metadata/trait columns that should not enter the phenomic kernel.
metadata_cols <- c("Pedigree", "Env", "GY", "KW", "ObsID")

nir_feature_cols <- setdiff(colnames(NIR), metadata_cols)
nir_feature_cols <- nir_feature_cols[
  vapply(NIR[, nir_feature_cols, drop = FALSE], is.numeric, logical(1))
]

if (length(nir_feature_cols) == 0) {
  stop("No numeric NIR feature columns were found after filtering metadata columns.")
}

excluded_non_numeric <- setdiff(setdiff(colnames(NIR), metadata_cols), nir_feature_cols)

cat("Number of NIR feature columns used in ZP:", length(nir_feature_cols), "\n")
if (length(excluded_non_numeric) > 0) {
  cat("Excluded non-numeric columns:", paste(excluded_non_numeric, collapse = ", "), "\n")
}

NIR.a <- scale(as.matrix(a[, nir_feature_cols, drop = FALSE]), center = TRUE, scale = TRUE)
NIR.b <- scale(as.matrix(b[, nir_feature_cols, drop = FALSE]), center = TRUE, scale = TRUE)
NIR.c <- scale(as.matrix(c[, nir_feature_cols, drop = FALSE]), center = TRUE, scale = TRUE)
NIR.d <- scale(as.matrix(d[, nir_feature_cols, drop = FALSE]), center = TRUE, scale = TRUE)

rownames(NIR.a) <- a$ObsID
rownames(NIR.b) <- b$ObsID
rownames(NIR.c) <- c$ObsID
rownames(NIR.d) <- d$ObsID

NIR.all <- rbind(NIR.a, NIR.b, NIR.c, NIR.d)

ZP <- tcrossprod(NIR.all) / ncol(NIR.all)
rownames(ZP) <- rownames(NIR.all)
colnames(ZP) <- rownames(NIR.all)

dim(ZP)
ZP[1:5, 1:5]

8. Construir o kernel categórico de ambiente (K_E)

A representação ambiental mais simples trata cada ambiente como um fator categórico. Primeiro construímos a matriz de incidência ZE, depois a convertemos em um kernel (ZEZE) por meio do produto cruzado.

Esse kernel atribui similaridade ambiental completa a observações do mesmo ambiente e similaridade zero a observações de ambientes diferentes. Nos modelos finais, ZEZE representa o efeito categórico de ambiente. Ele não é o mesmo que o kernel climático. Em termos práticos, ZEZE mantém a distinção entre os quatro macroambientes, enquanto ZW descreve depois a similaridade entre observações com base em covariáveis meteorológicas.

O código abaixo constrói a matriz categórica de ambiente, separando explicitamente o efeito macroambiental da informação derivada do clima.

Pheno <- Pheno %>% arrange(match(ObsID, rownames(ZG)))

ZE <- model.matrix(~ as.factor(Pheno$Env) - 1)
rownames(ZE) <- Pheno$ObsID
colnames(ZE) <- gsub("^as.factor\\(Pheno\\$Env\\)", "", colnames(ZE))

ZEZE <- tcrossprod(ZE)
rownames(ZEZE) <- rownames(ZE)
colnames(ZEZE) <- rownames(ZE)

cat("Dimensions of ZE   :", dim(ZE), "\n")
cat("Dimensions of ZEZE :", dim(ZEZE), "\n")

ZEZE[1:5, 1:5]

9. Construir o kernel climático (K_W armazenado como ZW)

O kernel climático usa as saídas climáticas criadas no tutorial climate_data. O fluxo climático atualizado exporta dois arquivos:

  1. environmental_covariates.csv: uma linha por ano com resumos climáticos agregados.
  2. environmental_covariates_expanded.csv: registros diários ligados a esses resumos anuais.

Este script usa ambos os arquivos:

  • O arquivo anual fornece os resumos derivados do clima.
  • O arquivo expandido fornece as trajetórias climáticas diárias usadas para descrever a assinatura intrassazonal de cada ano.

No pipeline reduzido final, ZW é usado principalmente nos modelos Eta10-Eta18, junto com interações como GW, PW, GGKW, PGKW, GAKW e PAKW. O kernel climático deve, portanto, ser interpretado como uma fonte adicional de similaridade meteorológica. Ele não substitui o efeito categórico de ambiente representado por ZEZE.

9.1 Carregar os arquivos climáticos

O código abaixo lê as saídas climáticas produzidas pelo módulo anterior para que o kernel climático seja construído a partir de arquivos já salvos.

annual_ec_file <- "output/climate_results/environmental_covariates.csv"
expanded_ec_file <- "output/climate_results/environmental_covariates_expanded.csv"

if (!file.exists(annual_ec_file)) {
  stop("The file 'output/climate_results/environmental_covariates.csv' was not found. Run climate_data.Rmd first.")
}

if (!file.exists(expanded_ec_file)) {
  stop("The file 'output/climate_results/environmental_covariates_expanded.csv' was not found. Run climate_data.Rmd first.")
}

ECs_annual <- read.csv(annual_ec_file)
ECs_expanded <- read.csv(expanded_ec_file)

annual_cols <- c(
  "TMAX_AVG", "TMIN_AVG", "GDD_CUM", "HEAT_STRESS_DAYS",
  "PRECTOT", "DRY_DAYS", "RH_AVG", "WS2M_AVG", "RAD_CUM",
  "T_AVG", "DTR_AVG", "COLD_STRESS_DAYS", "RAINY_DAYS",
  "PREC_INTENSITY", "LOW_RH_DAYS", "VPD_AVG", "VPD_STRESS_DAYS"
)

# Keep only true daily weather variables. Exclude identifiers, date encodings,
# coordinate fields, and any annual summary columns that may also be present in
# the expanded file.
daily_id_cols <- c(
  "year", "Year", "YEAR",
  "date", "Date",
  "YYYYMMDD", "MMDD", "DOY",
  "month", "Month", "MM",
  "day", "DD",
  "LON", "LAT"
)
candidate_daily_cols <- setdiff(
  colnames(ECs_expanded),
  c(daily_id_cols, annual_cols)
)

daily_cols <- candidate_daily_cols[
  vapply(ECs_expanded[, candidate_daily_cols, drop = FALSE], is.numeric, logical(1))
]

excluded_daily_cols <- setdiff(candidate_daily_cols, daily_cols)

if (length(daily_cols) == 0) {
  stop("No numeric daily climate variables were found in environmental_covariates_expanded.csv.")
}

cat("Number of daily climate variables used in ZW:", length(daily_cols), "\n")
if (length(excluded_daily_cols) > 0) {
  cat("Excluded non-climatic or non-numeric columns:", paste(excluded_daily_cols, collapse = ", "), "\n")
}

ECs_annual <- ECs_annual %>%
  mutate(year = as.integer(year)) %>%
  dplyr::select(year, all_of(annual_cols))

ECs_expanded <- ECs_expanded %>%
  mutate(
    year = as.integer(year),
    date = as.character(date)
  )

9.2 Padronizar os resumos anuais e as trajetórias diárias

O objetivo desta etapa é colocar variáveis ambientais heterogêneas em escala comparável antes da construção do kernel.

O código abaixo padroniza as covariáveis climáticas para colocar as variáveis meteorológicas em escala comparável antes da construção do kernel.

annual_scaled <- ECs_annual %>%
  dplyr::select(all_of(annual_cols)) %>%
  scale(center = TRUE, scale = TRUE) %>%
  as.data.frame()

annual_scaled <- bind_cols(
  year = ECs_annual$year,
  annual_scaled
)

daily_scaled <- ECs_expanded %>%
  dplyr::select(year, date, all_of(daily_cols)) %>%
  group_by(year) %>%
  mutate(across(all_of(daily_cols), ~ as.numeric(scale(.x, center = TRUE, scale = TRUE)))) %>%
  ungroup()

9.3 Criar assinaturas climáticas específicas por ano

Para cada ano, transformamos as trajetórias diárias de clima em uma única assinatura larga por linha. Isso dá a cada ano um vetor reprodutível que representa seu perfil climático intrassazonal.

O código abaixo deriva as assinaturas climáticas por ano que resumem a informação padronizada e servem de base para o kernel climático.

daily_signature_2011 <- daily_scaled %>%
  filter(year == 2011) %>%
  dplyr::select(date, all_of(daily_cols)) %>%
  pivot_longer(cols = -date, names_to = "variable", values_to = "value") %>%
  mutate(signature_col = paste(variable, date, sep = "__")) %>%
  dplyr::select(signature_col, value) %>%
  pivot_wider(names_from = signature_col, values_from = value)

daily_signature_2012 <- daily_scaled %>%
  filter(year == 2012) %>%
  dplyr::select(date, all_of(daily_cols)) %>%
  pivot_longer(cols = -date, names_to = "variable", values_to = "value") %>%
  mutate(signature_col = paste(variable, date, sep = "__")) %>%
  dplyr::select(signature_col, value) %>%
  pivot_wider(names_from = signature_col, values_from = value)

annual_signature_2011 <- annual_scaled %>%
  filter(year == 2011) %>%
  dplyr::select(-year)

annual_signature_2012 <- annual_scaled %>%
  filter(year == 2012) %>%
  dplyr::select(-year)

9.4 Construir a matriz W em nível de observação

Cada observação herda a assinatura climática do ano associado ao seu ambiente. Os ambientes de 2011 recebem as assinaturas diárias e anuais de 2011; os ambientes de 2012 recebem as assinaturas de 2012. Blocos específicos de outro ano são preenchidos com NA e depois substituídos por zero, para que a matriz final possa ser usada em um produto cruzado.

O código abaixo constrói o kernel climático W, que complementa a estrutura categórica de ambiente em vez de substituí-la.

ids_a <- a$ObsID
ids_b <- b$ObsID
ids_c <- c$ObsID
ids_d <- d$ObsID

# Environments from 2011 receive the 2011 daily and annual signatures.
ECs.a_main_daily <- as.data.frame(daily_signature_2011[rep(1, length(ids_a)), , drop = FALSE])
rownames(ECs.a_main_daily) <- ids_a

ECs.a_other_daily <- as.data.frame(
  matrix(
    NA_real_,
    nrow = length(ids_a),
    ncol = ncol(daily_signature_2012),
    dimnames = list(ids_a, colnames(daily_signature_2012))
  )
)

ECs.a_annual <- as.data.frame(annual_signature_2011[rep(1, length(ids_a)), , drop = FALSE])
rownames(ECs.a_annual) <- ids_a

ECs.a <- cbind(ECs.a_main_daily, ECs.a_other_daily, ECs.a_annual)
ECs.a <- as.data.frame(ECs.a)
rownames(ECs.a) <- ids_a

ECs.b_main_daily <- as.data.frame(daily_signature_2011[rep(1, length(ids_b)), , drop = FALSE])
rownames(ECs.b_main_daily) <- ids_b

ECs.b_other_daily <- as.data.frame(
  matrix(
    NA_real_,
    nrow = length(ids_b),
    ncol = ncol(daily_signature_2012),
    dimnames = list(ids_b, colnames(daily_signature_2012))
  )
)

ECs.b_annual <- as.data.frame(annual_signature_2011[rep(1, length(ids_b)), , drop = FALSE])
rownames(ECs.b_annual) <- ids_b

ECs.b <- cbind(ECs.b_main_daily, ECs.b_other_daily, ECs.b_annual)
ECs.b <- as.data.frame(ECs.b)
rownames(ECs.b) <- ids_b

# Environments from 2012 receive the 2012 daily and annual signatures.
ECs.c_main_daily <- as.data.frame(daily_signature_2012[rep(1, length(ids_c)), , drop = FALSE])
rownames(ECs.c_main_daily) <- ids_c

ECs.c_other_daily <- as.data.frame(
  matrix(
    NA_real_,
    nrow = length(ids_c),
    ncol = ncol(daily_signature_2011),
    dimnames = list(ids_c, colnames(daily_signature_2011))
  )
)

ECs.c_annual <- as.data.frame(annual_signature_2012[rep(1, length(ids_c)), , drop = FALSE])
rownames(ECs.c_annual) <- ids_c

ECs.c <- cbind(ECs.c_main_daily, ECs.c_other_daily, ECs.c_annual)
ECs.c <- as.data.frame(ECs.c)
rownames(ECs.c) <- ids_c

ECs.d_main_daily <- as.data.frame(daily_signature_2012[rep(1, length(ids_d)), , drop = FALSE])
rownames(ECs.d_main_daily) <- ids_d

ECs.d_other_daily <- as.data.frame(
  matrix(
    NA_real_,
    nrow = length(ids_d),
    ncol = ncol(daily_signature_2011),
    dimnames = list(ids_d, colnames(daily_signature_2011))
  )
)

ECs.d_annual <- as.data.frame(annual_signature_2012[rep(1, length(ids_d)), , drop = FALSE])
rownames(ECs.d_annual) <- ids_d

ECs.d <- cbind(ECs.d_main_daily, ECs.d_other_daily, ECs.d_annual)
ECs.d <- as.data.frame(ECs.d)
rownames(ECs.d) <- ids_d

W <- rbind(ECs.a, ECs.b, ECs.c, ECs.d)
W <- as.data.frame(W)
rownames(W) <- c(ids_a, ids_b, ids_c, ids_d)

W <- W[Pheno$ObsID, , drop = FALSE]
W[is.na(W)] <- 0

ZW <- tcrossprod(as.matrix(W)) / ncol(W)
rownames(ZW) <- rownames(W)
colnames(ZW) <- rownames(W)

print(paste("Rows in W :", nrow(W)))
print(paste("Rows in ZG:", nrow(ZG)))
print(paste("ZW and ZG aligned:", identical(rownames(ZW), rownames(ZG))))
print(paste("ZW and ZP aligned:", identical(rownames(ZW), rownames(ZP))))

10. Verificar dimensões e alinhamento dos kernels

Antes de construir interações e kernels não lineares, resumimos os principais kernels lineares. Essa tabela é útil tanto para controle de qualidade quanto para fins didáticos.

A saída abaixo resume os kernels lineares básicos para que o leitor confira dimensões, amplitudes e comportamento geral antes dos kernels não lineares.

reference_ids <- Pheno$ObsID

kernel_inventory_linear <- data.frame(
  kernel = c("ZG (genomic)", "ZP (phenomic/NIR)", "ZEZE (categorical environment effect)", "ZW (weather kernel)"),
  n_rows = c(nrow(ZG), nrow(ZP), nrow(ZEZE), nrow(ZW)),
  n_cols = c(ncol(ZG), ncol(ZP), ncol(ZEZE), ncol(ZW)),
  is_square = c(
    nrow(ZG) == ncol(ZG),
    nrow(ZP) == ncol(ZP),
    nrow(ZEZE) == ncol(ZEZE),
    nrow(ZW) == ncol(ZW)
  ),
  symmetric_names = c(
    identical(rownames(ZG), colnames(ZG)),
    identical(rownames(ZP), colnames(ZP)),
    identical(rownames(ZEZE), colnames(ZEZE)),
    identical(rownames(ZW), colnames(ZW))
  ),
  aligned_with_reference = c(
    identical(rownames(ZG), reference_ids),
    identical(rownames(ZP), reference_ids),
    identical(rownames(ZEZE), reference_ids),
    identical(rownames(ZW), reference_ids)
  )
)

kernel_inventory_linear %>%
  dplyr::mutate(
    n_rows = format(n_rows, big.mark = ","),
    n_cols = format(n_cols, big.mark = ",")
  ) %>%
  knitr::kable(
    caption = "Diagnostic summary of the main linear kernels.",
    align = "lcccccc"
  ) %>%
  kableExtra::kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"),
    full_width = FALSE,
    position = "left"
  ) %>%
  kableExtra::scroll_box(width = "100%", height = "260px")
Diagnostic summary of the main linear kernels.
kernel n_rows n_cols is_square symmetric_names aligned_with_reference
ZG (genomic) 982 982 TRUE TRUE TRUE
ZP (phenomic/NIR) 982 982 TRUE TRUE TRUE
ZEZE (categorical environment effect) 982 982 TRUE TRUE TRUE
ZW (weather kernel) 982 982 TRUE TRUE TRUE

10.1 Verificação pontual de observações selecionadas

Inspecionamos o mesmo pedigree entre matrizes para verificar se a ordem empilhada das observações permanece coerente.

As verificações abaixo examinam entradas selecionadas para confirmar que as matrizes alinhadas estão se comportando como esperado.

Geno.all[str_detect(rownames(Geno.all), "A188"), 1:5]
               S1_517642 S1_1000282 S1_1763292 S1_1763397 S1_2088440
CS11_WS__A188 -0.3244447 -0.4954853  0.4389794 -0.5765720 -0.2468038
CS11_WW__A188 -0.3071575 -0.5046434  0.4309819 -0.5753945 -0.2647288
CS12_WS__A188 -0.3068291 -0.4844154  0.4318786 -0.5471143 -0.2895119
CS12_WW__A188 -0.3277855 -0.4725198  0.4256480 -0.5603790 -0.2964903
W[str_detect(rownames(W), "A188"), 1:5]
NIR.all[str_detect(rownames(NIR.all), "A188"), 1:5]
              X3999.640137 X4001.568604 X4003.497071 X4005.425537 X4007.354004
CS11_WS__A188    -1.701604    -1.696844    -1.696844    -1.696283    -1.696195
CS11_WW__A188    -1.120197    -1.112012    -1.112012    -1.110283    -1.111711
CS12_WS__A188    -1.398754    -1.393058    -1.393058    -1.392220    -1.392757
CS12_WW__A188    -1.523355    -1.518600    -1.518600    -1.517747    -1.517932

10.2 Testes globais de alinhamento

Todas as checagens abaixo devem retornar TRUE.

As verificações abaixo testam o alinhamento entre matrizes e metadados para detectar incompatibilidades antes dos kernels não lineares.

all(rownames(ZW) == colnames(ZW))
[1] TRUE
all(rownames(ZG) == colnames(ZG))
[1] TRUE
all(rownames(ZP) == colnames(ZP))
[1] TRUE
all(rownames(ZW) == rownames(ZG))
[1] TRUE
all(rownames(ZW) == rownames(ZP))
[1] TRUE
all(colnames(ZW) == colnames(ZG))
[1] TRUE
all(colnames(ZW) == colnames(ZP))
[1] TRUE

10.3 As figuras diagnósticas serão geradas depois que todas as famílias de kernels forem construídas

Adiamos as figuras diagnósticas finais até que os kernels Gaussianos e arc-cosine estejam disponíveis. Isso permite comparar as representações lineares e não lineares dentro dos espaços genômico e fenômico separadamente, o que é mais informativo para o artigo do que misturar matrizes climáticas e fenômicas em um único painel.

Mesmo que ZW não apareça no mapa de calor integrado, ele continua sendo um objeto central no pipeline reduzido porque sustenta os modelos enriquecidos com clima (Eta10-Eta18) e seus termos de interação.

11. Construir os kernels de interação

Os kernels de interação são obtidos pelo produto de Hadamard (multiplicação elemento a elemento). Essa operação restringe a similaridade genômica ou fenômica ao contexto ambiental representado por ZEZE ou ZW.

O código abaixo constrói os kernels lineares de interação que combinam informação genômica ou fenômica com ambiente e clima.

ZGZE <- ZG * ZEZE
ZPZE <- ZP * ZEZE
ZGZW <- ZG * ZW
ZPZW <- ZP * ZW

ZGZE[1:5, 1:5]
ZPZE[1:5, 1:5]
ZGZW[1:5, 1:5]
ZPZW[1:5, 1:5]

saveRDS(ZGZE, "output/Matrizes/ZGZE.rds")
saveRDS(ZPZE, "output/Matrizes/ZPZE.rds")

12. Construir os kernels Gaussianos não lineares

Os kernels lineares acima capturam similaridade aditiva. Para explorar relações não lineares, também construímos kernels Gaussianos para os espaços genômico e fenômico.

12.1 Função matemática central para o kernel Gaussiano

A função a seguir é mantida porque faz parte da própria estimação do kernel Gaussiano. Nós a usamos para otimizar o parâmetro de banda maximizando a verossimilhança marginal.

As funções auxiliares abaixo são usadas para otimizar e gerar os kernels Gaussianos genômicos e fenômicos não lineares.

margh.fun <- function(theta, y, D, q, nu = 0.0001, Sc = 0.0001,
                      nuh = NULL, Sch = NULL, prior = NULL) {
  h <- theta[1]
  phi <- theta[2]

  Kh <- exp(-h * D / q)
  eigenKh <- eigen(Kh)

  nr <- length(which(eigenKh$values > 1e-10))
  Uh <- eigenKh$vectors[, 1:nr, drop = FALSE]
  Sh <- eigenKh$values[1:nr]

  d <- t(Uh) %*% scale(y, scale = FALSE)

  lden <- -0.5 * sum(log(1 + phi * Sh)) -
    (nu + nr - 1) / 2 * log(Sc + sum(d^2 / (1 + phi * Sh)))

  if (!is.null(prior)) {
    lprior <- dgamma(h, nuh, Sch, log = TRUE)
  } else {
    lprior <- 0
  }

  return(-(lden + lprior))
}

12.2 Kernel Gaussiano genômico (GGK)

Primeiro calculamos distâncias genômicas entre genótipos únicos e depois as projetamos no espaço das observações.

O código abaixo calcula os valores candidatos do kernel Gaussiano genômico antes da definição final da largura.

DG <- (as.matrix(dist(Geno)))^2
q05G <- quantile(DG, 0.05)

IDs <- as.character(Pheno$Pedigree)
DG <- DG[rownames(DG) %in% IDs, rownames(DG) %in% IDs, drop = FALSE]

IDs <- factor(IDs, levels = rownames(DG))
Z <- as.matrix(model.matrix(~ IDs - 1))
rownames(Z) <- Pheno$ObsID

ZD <- tcrossprod(Z, DG)
DG_proj <- tcrossprod(ZD, Z)

rownames(DG_proj) <- Pheno$ObsID
colnames(DG_proj) <- Pheno$ObsID

A busca abaixo identifica o parâmetro do kernel Gaussiano genômico que melhor atende ao comportamento desejado.

solG <- optim(
  c(1, 1),
  margh.fun,
  y = Pheno$GY,
  D = DG_proj,
  q = q05G,
  method = "L-BFGS-B",
  lower = c(0.05, 0.05),
  upper = c(6, 30)
)

O código abaixo lê e inspeciona a solução escolhida para o kernel Gaussiano genômico antes da construção final do objeto.

O código abaixo constrói o kernel Gaussiano genômico final usando o parâmetro selecionado.

hG <- solG$par[1]

GGK <- exp(-hG * DG_proj / q05G)
rownames(GGK) <- Pheno$ObsID
colnames(GGK) <- Pheno$ObsID

dim(GGK)
GGK[1:5, 1:5]

12.3 Kernel Gaussiano fenômico (PGK)

O kernel Gaussiano fenômico usa distâncias euclidianas derivadas da matriz NIR padronizada.

Como no kernel Gaussiano genômico, a etapa de otimização no pipeline atual usa GY como caráter de referência, e o kernel Gaussiano fenômico resultante é então reutilizado tanto para GY quanto para KW.

O código abaixo calcula os valores candidatos do kernel Gaussiano fenômico antes da definição final da largura.

DP <- (as.matrix(dist(NIR.all)))^2
q05P <- quantile(DP, 0.05)

IDs <- rownames(NIR.all)
DP <- DP[rownames(DP) %in% IDs, rownames(DP) %in% IDs, drop = FALSE]

Z <- as.matrix(model.matrix(~ IDs - 1))
rownames(Z) <- IDs

Z0 <- tcrossprod(Z, Z)
ZD <- tcrossprod(Z0, DP)
DP_proj <- tcrossprod(ZD, Z0)

rownames(DP_proj) <- IDs
colnames(DP_proj) <- IDs

A busca abaixo identifica o parâmetro do kernel Gaussiano fenômico usado na definição do objeto final.

solP <- optim(
  c(1, 1),
  margh.fun,
  y = Pheno$GY,
  D = DP_proj,
  q = q05P,
  method = "L-BFGS-B",
  lower = c(0.05, 0.05),
  upper = c(6, 30)
)

O código abaixo lê e verifica a solução escolhida para o kernel Gaussiano fenômico antes da construção final.

O código abaixo constrói o kernel Gaussiano fenômico final com a largura escolhida.

hP <- solP$par[1]

PGK <- exp(-hP * DP_proj / q05P)
rownames(PGK) <- rownames(NIR.all)
colnames(PGK) <- rownames(NIR.all)

dim(PGK)
PGK[1:5, 1:5]

12.4 Kernels de interação Gaussianos

O código abaixo gera as estruturas de interação associadas aos kernels Gaussianos para combiná-las com ambiente e clima.

GGKE <- GGK * ZEZE
PGKE <- PGK * ZEZE
GGKW <- GGK * ZW
PGKW <- PGK * ZW

13. Construir os kernels arc-cosine não lineares

Os kernels arc-cosine oferecem uma segunda representação não linear. Eles são inspirados na geometria de redes neurais e podem capturar padrões hierárquicos não lineares por meio de transformações recursivas.

Neste tutorial mantemos explicitamente as funções matemáticas abaixo porque elas definem o próprio kernel arc-cosine. Mesmo escritas como funções, elas fazem parte do método, e não de atalhos de programação.

13.1 Funções matemáticas centrais para os kernels arc-cosine

As funções abaixo definem os kernels arc-cosine usados para construir as estruturas não lineares aditivas.

AK1.fun <- function(X) {
  cosalfa <- cor(t(X))
  cosalfa[cosalfa > 1] <- 1
  cosalfa[cosalfa < -1] <- -1
  angulo <- acos(cosalfa)
  mag <- sqrt(apply(X, 1, function(x) crossprod(x)))
  sxy <- tcrossprod(mag)
  AK1 <- (1 / pi) * sxy * (sin(angulo) + (pi - angulo) * cosalfa)
  AK1 <- AK1 / median(AK1, na.rm = TRUE)
  colnames(AK1) <- rownames(X)
  rownames(AK1) <- rownames(X)
  return(AK1)
}

marg.AK <- function(y, AK1, ml) {
  lden.fun <- function(phi, nr, Uh, Sh, d) {
    lden <- -0.5 * sum(log(1 + phi * Sh)) -
      (nr - 1) / 2 * log(sum(d^2 / (1 + phi * Sh)))
    return(-lden)
  }

  vero <- function(y, GC) {
    Kh <- GC
    eigenKh <- eigen(Kh)
    nr <- length(which(eigenKh$values > 1e-10))
    Uh <- eigenKh$vectors[, 1:nr, drop = FALSE]
    Sh <- eigenKh$values[1:nr]
    d <- t(Uh) %*% scale(y, scale = FALSE)
    sol <- optimize(lden.fun, nr = nr, Uh = Uh, Sh = Sh, d = d,
                    lower = 0.0005, upper = 200)
    phi <- sol[[1]]
    log.vero <- 0.5 * sum(log(1 + phi * Sh)) -
      (nr - 1) / 2 * log(sum(d^2 / (1 + phi * Sh)))
    return(log.vero)
  }

  GC <- AK1
  l <- 1
  GC2 <- GC
  vero1 <- vero(y = y, GC = GC2)
  m <- 0

  while (m == 0 && (l < ml)) {
    l <- l + 1
    GC <- AK.fun(AK1 = GC2, nl = 1)
    GC2 <- GC
    vero2 <- vero(y = y, GC = GC2)
    if (vero2 < vero1) m <- 1
    vero1 <- vero2
  }

  return(l - 1)
}

AK.fun <- function(AK1, nl) {
  n <- nrow(AK1)
  AK <- AK1
  for (l in 1:nl) {
    Aux <- tcrossprod(diag(AK))
    cosalfa <- AK * (Aux^(-1 / 2))
    cosa <- as.vector(cosalfa)
    cosa[cosa > 1] <- 1
    cosa[cosa < -1] <- -1
    angulo <- acos(cosa)
    angulo <- matrix(angulo, n, n)
    AK <- (1 / pi) * (Aux^(1 / 2)) * (sin(angulo) + (pi - angulo) * cos(angulo))
  }
  AK <- AK / median(AK, na.rm = TRUE)
  rownames(AK) <- rownames(AK1)
  colnames(AK) <- colnames(AK1)
  return(AK)
}

13.2 Kernel arc-cosine genômico (GAK)

Os kernels arc-cosine seguem a mesma regra prática adotada para os kernels Gaussianos. No pipeline atual, o número de camadas ocultas é selecionado uma vez usando GY como caráter de referência, e o kernel resultante é então reutilizado em ambas as análises de caráter.

O código abaixo constrói o kernel arc-cosine genômico usado na via genômica não linear.

GAK1 <- AK1.fun(Geno)
dim(GAK1)
GAK1[1:5, 1:5]

IDs <- as.character(Pheno$Pedigree)
GAK1 <- GAK1[rownames(GAK1) %in% IDs, rownames(GAK1) %in% IDs, drop = FALSE]

IDs <- factor(IDs, levels = rownames(GAK1))
Z <- as.matrix(model.matrix(~ IDs - 1))
rownames(Z) <- Pheno$ObsID
G <- tcrossprod(tcrossprod(Z, GAK1), Z)

Gl <- marg.AK(y = Pheno$GY, AK1 = G, ml = 50)

IDs.L <- factor(Pheno$Pedigree, levels = rownames(GAK1))
Z.L <- as.matrix(model.matrix(~ IDs.L - 1))
rownames(Z.L) <- Pheno$ObsID
G.L <- tcrossprod(tcrossprod(Z.L, GAK1), Z.L)

GAK <- AK.fun(AK1 = G.L, nl = Gl)
rownames(GAK) <- Pheno$ObsID
colnames(GAK) <- Pheno$ObsID

As verificações abaixo confirmam que o kernel arc-cosine genômico está numericamente consistente.

dim(GAK)
[1] 982 982
GAK[1:5, 1:5]
               CS11_WS__A188 CS11_WS__A214N CS11_WS__A4415 CS11_WS__A632
CS11_WS__A188      0.9990646      0.9946313      0.9942027     0.9960061
CS11_WS__A214N     0.9946313      1.0135973      1.0013290     1.0038101
CS11_WS__A4415     0.9942027      1.0013290      1.0124484     1.0027557
CS11_WS__A632      0.9960061      1.0038101      1.0027557     1.0160907
CS11_WS__A634      0.9942696      1.0024601      1.0009561     1.0039067
               CS11_WS__A634
CS11_WS__A188      0.9942696
CS11_WS__A214N     1.0024601
CS11_WS__A4415     1.0009561
CS11_WS__A632      1.0039067
CS11_WS__A634      1.0127906

13.3 Kernel arc-cosine fenômico (PAK)

O kernel arc-cosine fenômico também é calibrado uma vez usando GY como caráter de referência, e o kernel final é reutilizado para GY e KW nos modelos posteriores.

O código abaixo constrói o kernel arc-cosine fenômico usado na via fenômica não linear.

PAK1 <- AK1.fun(NIR.all)
dim(PAK1)
PAK1[1:5, 1:5]

IDs <- rownames(NIR.all)
PAK1 <- PAK1[rownames(PAK1) %in% IDs, rownames(PAK1) %in% IDs, drop = FALSE]

Z <- as.matrix(model.matrix(~ IDs - 1))
rownames(Z) <- IDs
Z0 <- tcrossprod(Z, Z)
ZD <- tcrossprod(Z0, PAK1)
P <- tcrossprod(ZD, Z0)

Pl <- marg.AK(y = Pheno$GY, AK1 = P, ml = 50)

IDs.L <- rownames(NIR.all)
Z.L <- as.matrix(model.matrix(~ IDs.L - 1))
rownames(Z.L) <- IDs.L
Z0.L <- tcrossprod(Z.L, Z.L)
P.L <- tcrossprod(tcrossprod(Z0.L, PAK1), Z0.L)

PAK <- AK.fun(AK1 = P.L, nl = Pl)
rownames(PAK) <- rownames(NIR.all)
colnames(PAK) <- rownames(NIR.all)

As verificações abaixo confirmam que o kernel arc-cosine fenômico está coerente.

dim(PAK)
[1] 982 982
PAK[1:5, 1:5]
               CS11_WS__A188 CS11_WS__A214N CS11_WS__A4415 CS11_WS__A632
CS11_WS__A188      4.2003907     0.31899063      1.9609738      2.616716
CS11_WS__A214N     0.3189906     0.02476945      0.1506630      0.200971
CS11_WS__A4415     1.9609738     0.15066296      0.9385849      1.238905
CS11_WS__A632      2.6167163     0.20097096      1.2389054      1.671860
CS11_WS__A634      1.7824447     0.13690513      0.8445348      1.133085
               CS11_WS__A634
CS11_WS__A188      1.7824447
CS11_WS__A214N     0.1369051
CS11_WS__A4415     0.8445348
CS11_WS__A632      1.1330846
CS11_WS__A634      0.7757261

13.4 Kernels de interação arc-cosine

O código abaixo constrói os kernels de interação associados às estruturas arc-cosine para uso nos modelos posteriores.

GAKE <- GAK * ZEZE
PAKE <- PAK * ZEZE
GAKW <- GAK * ZW
PAKW <- PAK * ZW

GAKE[1:5, 1:5]
PAKE[1:5, 1:5]
GAKW[1:5, 1:5]
PAKW[1:5, 1:5]

14. Resumir os kernels não lineares

A tabela abaixo fornece uma checagem final de integridade dos kernels não lineares antes da exportação.

A saída abaixo resume os kernels não lineares e suas interações, oferecendo uma visão diagnóstica final desses objetos.

kernel_inventory_nonlinear <- data.frame(
  kernel = c("GGK", "PGK", "GAK", "PAK", "GGKE", "PGKE", "GGKW", "PGKW", "GAKE", "PAKE", "GAKW", "PAKW"),
  n_rows = c(nrow(GGK), nrow(PGK), nrow(GAK), nrow(PAK), nrow(GGKE), nrow(PGKE), nrow(GGKW), nrow(PGKW), nrow(GAKE), nrow(PAKE), nrow(GAKW), nrow(PAKW)),
  n_cols = c(ncol(GGK), ncol(PGK), ncol(GAK), ncol(PAK), ncol(GGKE), ncol(PGKE), ncol(GGKW), ncol(PGKW), ncol(GAKE), ncol(PAKE), ncol(GAKW), ncol(PAKW)),
  is_square = c(
    nrow(GGK) == ncol(GGK), nrow(PGK) == ncol(PGK), nrow(GAK) == ncol(GAK), nrow(PAK) == ncol(PAK),
    nrow(GGKE) == ncol(GGKE), nrow(PGKE) == ncol(PGKE), nrow(GGKW) == ncol(GGKW), nrow(PGKW) == ncol(PGKW),
    nrow(GAKE) == ncol(GAKE), nrow(PAKE) == ncol(PAKE), nrow(GAKW) == ncol(GAKW), nrow(PAKW) == ncol(PAKW)
  ),
  symmetric_names = c(
    identical(rownames(GGK), colnames(GGK)), identical(rownames(PGK), colnames(PGK)),
    identical(rownames(GAK), colnames(GAK)), identical(rownames(PAK), colnames(PAK)),
    identical(rownames(GGKE), colnames(GGKE)), identical(rownames(PGKE), colnames(PGKE)),
    identical(rownames(GGKW), colnames(GGKW)), identical(rownames(PGKW), colnames(PGKW)),
    identical(rownames(GAKE), colnames(GAKE)), identical(rownames(PAKE), colnames(PAKE)),
    identical(rownames(GAKW), colnames(GAKW)), identical(rownames(PAKW), colnames(PAKW))
  ),
  aligned_with_reference = c(
    identical(rownames(GGK), reference_ids), identical(rownames(PGK), reference_ids),
    identical(rownames(GAK), reference_ids), identical(rownames(PAK), reference_ids),
    identical(rownames(GGKE), reference_ids), identical(rownames(PGKE), reference_ids),
    identical(rownames(GGKW), reference_ids), identical(rownames(PGKW), reference_ids),
    identical(rownames(GAKE), reference_ids), identical(rownames(PAKE), reference_ids),
    identical(rownames(GAKW), reference_ids), identical(rownames(PAKW), reference_ids)
  )
)

kernel_inventory_nonlinear %>%
  dplyr::mutate(
    n_rows = format(n_rows, big.mark = ","),
    n_cols = format(n_cols, big.mark = ",")
  ) %>%
  knitr::kable(
    caption = "Diagnostic summary of the nonlinear and interaction kernels.",
    align = "lcccccc"
  ) %>%
  kableExtra::kable_styling(
    bootstrap_options = c("striped", "hover", "condensed", "responsive"),
    full_width = FALSE,
    position = "left"
  ) %>%
  kableExtra::scroll_box(width = "100%", height = "340px")
Diagnostic summary of the nonlinear and interaction kernels.
kernel n_rows n_cols is_square symmetric_names aligned_with_reference
GGK 982 982 TRUE TRUE TRUE
PGK 982 982 TRUE TRUE TRUE
GAK 982 982 TRUE TRUE TRUE
PAK 982 982 TRUE TRUE TRUE
GGKE 982 982 TRUE TRUE TRUE
PGKE 982 982 TRUE TRUE TRUE
GGKW 982 982 TRUE TRUE TRUE
PGKW 982 982 TRUE TRUE TRUE
GAKE 982 982 TRUE TRUE TRUE
PAKE 982 982 TRUE TRUE TRUE
GAKW 982 982 TRUE TRUE TRUE
PAKW 982 982 TRUE TRUE TRUE

15. Figuras diagnósticas para o artigo

Para revelar mais claramente a estrutura interna dos kernels, no arquivo em inglês nós plotamos as matrizes completas em vez de apenas um pequeno subconjunto no canto superior esquerdo. Cada matriz é reordenada por clustering hierárquico com base na distância induzida pelo kernel entre indivíduos ou observações:

\[ d_{ij}=\sqrt{K_{ii}+K_{jj}-2K_{ij}} \]

A mesma ordem de clustering é então aplicada às linhas e colunas da matriz. Isso facilita identificar estrutura em blocos, padrões locais de similaridade e contrastes entre os kernels lineares, Gaussianos e arc-cosine.

Como essas matrizes são quadradas, cada mapa de calor é exibido com coord_fixed() e exportado com width = height para que a razão visual corresponda à estrutura matemática da matriz.

A figura abaixo compara visualmente o comportamento dos principais kernels.

kernel_plot_info <- data.frame(
  KernelName = c("ZG", "GGK", "GAK", "ZP", "PGK", "PAK"),
  KernelLabel = c(
    "Linear genomic kernel",
    "Gaussian genomic kernel",
    "Arc-cosine genomic kernel",
    "Linear phenomic kernel",
    "Gaussian phenomic kernel",
    "Arc-cosine phenomic kernel"
  ),
  stringsAsFactors = FALSE
)

dir.create("output/Matrizes/figures", recursive = TRUE, showWarnings = FALSE)

for (i in seq_len(nrow(kernel_plot_info))) {

  current_name <- kernel_plot_info$KernelName[i]
  current_label <- kernel_plot_info$KernelLabel[i]
  current_matrix <- get(current_name)

  current_matrix <- as.matrix(current_matrix)
  current_matrix <- (current_matrix + t(current_matrix)) / 2

  diag_values <- diag(current_matrix)
  distance_squared <- outer(diag_values, diag_values, "+") - 2 * current_matrix
  distance_squared[distance_squared < 0] <- 0
  distance_matrix <- sqrt(distance_squared)

  hc <- hclust(as.dist(distance_matrix), method = "average")
  ord <- hc$order

  current_matrix_ordered <- current_matrix[ord, ord, drop = FALSE]

  rownames(current_matrix_ordered) <- seq_len(nrow(current_matrix_ordered))
  colnames(current_matrix_ordered) <- seq_len(ncol(current_matrix_ordered))

  current_df <- as.data.frame(as.table(current_matrix_ordered))
  colnames(current_df) <- c("Row", "Column", "Value")
  current_df$Row <- factor(current_df$Row, levels = rev(unique(current_df$Row)))
  current_df$Column <- factor(current_df$Column, levels = unique(current_df$Column))

  current_plot <- ggplot(current_df, aes(x = Column, y = Row, fill = Value)) +
    geom_raster() +
    scale_fill_gradient2(
      low = "#2166AC",
      mid = "white",
      high = "#B2182B",
      midpoint = median(current_df$Value, na.rm = TRUE),
      name = "Valor do kernel"
    ) +
    coord_fixed() +
    labs(
      title = current_name,
      subtitle = current_label,
      x = "Ordered observations",
      y = "Ordered observations"
    ) +
    theme_minimal(base_size = 11) +
    theme(
      plot.title = element_text(face = "bold", size = 12, hjust = 0.5),
      plot.subtitle = element_text(size = 10, hjust = 0.5),
      axis.title = element_text(face = "bold"),
      axis.text = element_blank(),
      axis.ticks = element_blank(),
      legend.title = element_text(face = "bold"),
      legend.text = element_text(size = 8),
      panel.grid = element_blank()
    )

  print(current_plot)

  ggsave(
    filename = paste0("output/Matrizes/figures/", current_name, "_ordered_heatmap.tiff"),
    plot = current_plot,
    width = 8,
    height = 8,
    dpi = 300,
    compression = "lzw",
    bg = "white"
  )
}

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

Version Author Date
d54afd7 WevertonGomesCosta 2026-04-01
00ef3ef WevertonGomesCosta 2026-04-01
b366d30 WevertonGomesCosta 2026-03-30

16. Salvar as saídas e limpar o ambiente

Os objetos de kernel criados neste tutorial são computacionalmente caros para reproduzir. Por isso, a etapa final os salva como arquivos .rds e limpa o workspace para que o próximo script de modelagem possa começar com um estado de memória mais leve.

Esta última seção também é escrita de forma direta: listamos quais objetos serão salvos, escrevemos tudo em disco, exportamos as tabelas diagnósticas, removemos os objetos temporários restantes e então recarregamos as matrizes salvas.

O bloco final de código grava todas as matrizes e kernels em disco e faz uma limpeza básica para que os módulos seguintes possam carregar os artefatos diretamente.

keep_names <- c(
  "ZE", "ZEZE", "ZG", "ZP", "ZGZE", "ZPZE", "ZW", "ZGZW", "ZPZW",
  "GGK", "PGK", "GGKE", "PGKE", "GGKW", "PGKW",
  "GAK", "PAK", "GAKE", "PAKE", "GAKW", "PAKW",
  "Pheno", "Pedigree", "Pedigree_communs", "Geno.all", "NIR.all", "W"
)

current_objs <- ls(envir = .GlobalEnv)
to_keep <- intersect(current_objs, keep_names)
to_remove <- setdiff(current_objs, to_keep)

message("Objects kept (", length(to_keep), "): ", paste(to_keep, collapse = ", "))
message(
  "Objects removed (", length(to_remove), "): ",
  paste(head(to_remove, 40), collapse = ", "),
  if (length(to_remove) > 40) paste0(" ... (+", length(to_remove) - 40, " more)")
)

for (obj_name in to_keep) {
  saveRDS(get(obj_name), file = file.path("output/Matrizes", paste0(obj_name, ".rds")))
}

write.csv(
  kernel_inventory_linear,
  file = "output/Matrizes/kernel_inventory_linear.csv",
  row.names = FALSE
)

write.csv(
  kernel_inventory_nonlinear,
  file = "output/Matrizes/kernel_inventory_nonlinear.csv",
  row.names = FALSE
)

rm(list = to_remove, envir = .GlobalEnv)
gc()

rds_files <- list.files("output/Matrizes", pattern = "\\.rds$", full.names = TRUE)

for (file in rds_files) {
  obj_name <- tools::file_path_sans_ext(basename(file))
  assign(obj_name, readRDS(file), envir = .GlobalEnv)
}

message("Objects reloaded: ", paste(tools::file_path_sans_ext(basename(rds_files)), collapse = ", "))

16. Observações finais

Este tutorial converte informação genômica, fenômica e climática bruta em uma coleção reprodutível de kernels alinhados e prontos para os modelos preditivos posteriores.

Do ponto de vista do fluxo científico, este script exerce um papel estrutural no projeto:

  • define a ordem das observações usada na etapa de modelagem;
  • torna explícita a representação ambiental;
  • armazena os kernels como artefatos computacionais reutilizáveis;
  • e documenta como as relações lineares e não lineares foram codificadas.

Na etapa seguinte do projeto, esses kernels tornam-se as entradas dos modelos de predição genômica comparados no artigo.


  1. Weverton Gomes da Costa, Postdoctoral Researcher, Department of Statistics - Universidade Federal de Viçosa, ↩︎

LS0tCnRpdGxlOiAiQ29uc3RydcOnw6NvIGRvcyBLZXJuZWxzIEdlbsO0bWljbywgRmVuw7RtaWNvLCBBbWJpZW50YWwsIENsaW3DoXRpY28gZSBkZSBJbnRlcmHDp8OjbyIKYXV0aG9yOgogIC0gQ29zdGEsIFcuIEcuXltXZXZlcnRvbiBHb21lcyBkYSBDb3N0YSwgUG9zdGRvY3RvcmFsIFJlc2VhcmNoZXIsIERlcGFydG1lbnQgb2YgU3RhdGlzdGljcyAtIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRlIFZpw6dvc2EsIHdldmVydG9udWZ2QGdtYWlsLmNvbV0KZGF0ZTogImByIFN5cy5EYXRlKClgIgpzaXRlOiB3b3JrZmxvd3I6OndmbG93X3NpdGUKdXJsOiBodHRwczovL3dldmVydG9uZ29tZXNjb3N0YS5naXRodWIuaW8vSW50ZWdyYXRpbmctbmlyLWdlbm9taWMta2VybmVsLwpvdXRwdXQ6CiAgd29ya2Zsb3dyOjp3Zmxvd19odG1sOgogICAgdG9jOiB0cnVlCiAgICB0b2NfZGVwdGg6IDMKICAgIHRvY19mbG9hdDogdHJ1ZQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQplZGl0b3Jfb3B0aW9uczoKICBjaHVua19vdXRwdXRfdHlwZTogY29uc29sZQpnaXRodWItcmVwbzogV2V2ZXJ0b25Hb21lc0Nvc3RhL0ludGVncmF0aW5nLW5pci1nZW5vbWljLWtlcm5lbAotLS0KCioqTGFuZ3VhZ2UgLyBJZGlvbWE6KiogW0VuZ2xpc2hdKG1hdHJpemVzLmh0bWwpIHwgW1BvcnR1Z3XDqnNdKG1hdHJpemVzX3B0Lmh0bWwpCgpBcyBvcMOnw7VlcyBkZSByZW5kZXJpemHDp8OjbyBhYmFpeG8gbWFudMOqbSBjw7NkaWdvLCBtZW5zYWdlbnMgZSBmaWd1cmFzIHNvYiB1bSDDum5pY28gcGFkcsOjbyBkZSBhcHJlc2VudGHDp8Ojby4KCmBgYHtyIHNldHVwLCBpbmNsdWRlPUZBTFNFfQprbml0cjo6b3B0c19jaHVuayRzZXQoCiAgZWNobyA9IFRSVUUsCiAgd2FybmluZyA9IEZBTFNFLAogIG1lc3NhZ2UgPSBGQUxTRSwKICBmaWcuYWxpZ24gPSAiY2VudGVyIiwKICBvdXQud2lkdGggPSAiMTAwJSIKKQpgYGAKIyAxLiBJbnRyb2R1w6fDo28KCkVzdGUgdHV0b3JpYWwgZG9jdW1lbnRhIGNvbW8gbyBwcm9qZXRvIGNvbnN0csOzaSBvcyBrZXJuZWxzIGNlbnRyYWlzIHVzYWRvcyBuYXMgYW7DoWxpc2VzIGRlIHByZWRpw6fDo28gZ2Vuw7RtaWNhLiBPIG9iamV0aXZvIG7Do28gw6kgc2ltcGxlc21lbnRlIGxlciBhcnF1aXZvcyBlIGNhbGN1bGFyIG1hdHJpemVzLiBPIG9iamV0aXZvIMOpIHRyYW5zZm9ybWFyIGZvbnRlcyBoZXRlcm9nw6puZWFzIGRlIGluZm9ybWHDp8OjbyBlbSBvYmpldG9zIGNpZW50w61maWNvcyBhbGluaGFkb3MgcXVlIHBvc3NhbSBzZXIgdXNhZG9zIGVtIG1vZGVsb3MgZGUgcHJlZGnDp8OjbyBtdWx0aWFtYmllbnRlcy4KCk8gc2NyaXB0IGludGVncmEgcXVhdHJvIGNhbWFkYXMgZGUgZGFkb3M6CgoxLiAqKlJlZ2lzdHJvcyBmZW5vdMOtcGljb3MqKiAoYFBoZW5vYCk6IHByb2R1dGl2aWRhZGUgZGUgZ3LDo29zIChgR1lgKSBlIHBlc28gZGUgZ3LDo29zIChgS1dgKSBwb3IgZ2Vuw7N0aXBvIGUgYW1iaWVudGUuCjIuICoqTWFyY2Fkb3JlcyBnZW7DtG1pY29zKiogKGBHZW5vYCk6IFNOUHMgcHJvY2Vzc2Fkb3MgZW0gZm9ybWF0byBudW3DqXJpY28uCjMuICoqRXNwZWN0cm9zIE5JUioqIChgTklSYCk6IG1lZGnDp8O1ZXMgZmVuw7RtaWNhcyB1c2FkYXMgcGFyYSBjb25zdHJ1aXIgdW0ga2VybmVsIGRlIHNpbWlsYXJpZGFkZSBlc3BlY3RyYWwuCjQuICoqQ292YXJpw6F2ZWlzIGRlcml2YWRhcyBkbyBjbGltYSoqIChgV2ApOiBkZXNjcml0b3JlcyBtZXRlb3JvbMOzZ2ljb3MgZ2VyYWRvcyBubyB0dXRvcmlhbCBjbGltw6F0aWNvLgoKQXMgc2HDrWRhcyBmaW5haXMgZGVzdGEgZXRhcGEgc8OjbyBhcyBtYXRyaXplcyB1c2FkYXMgZGVwb2lzIG5vcyBtb2RlbG9zIGRlIHByZWRpw6fDo286CgotICoqS2VybmVscyBsaW5lYXJlcyoqOiBgWkdgLCBgWlBgLCBgWkVaRWAsIGBaV2AKLSAqKktlcm5lbHMgZGUgaW50ZXJhw6fDo28qKjogYFpHWkVgLCBgWlBaRWAsIGBaR1pXYCwgYFpQWldgCi0gKipLZXJuZWxzIEdhdXNzaWFub3MgbsOjbyBsaW5lYXJlcyoqOiBgR0dLYCwgYFBHS2AsIGBHR0tFYCwgYFBHS0VgLCBgR0dLV2AsIGBQR0tXYAotICoqS2VybmVscyBhcmMtY29zaW5lIG7Do28gbGluZWFyZXMqKjogYEdBS2AsIGBQQUtgLCBgR0FLRWAsIGBQQUtFYCwgYEdBS1dgLCBgUEFLV2AKCk5vIGNvbmp1bnRvIHJlZHV6aWRvIGZpbmFsIGRlIDE4IG1vZGVsb3MsIG8ga2VybmVsIGNsaW3DoXRpY28gKGBaV2ApIGUgc2V1cyB0ZXJtb3MgZGUgaW50ZXJhw6fDo28gc8OjbyB1c2Fkb3MgcHJpbmNpcGFsbWVudGUgbm9zIG1vZGVsb3MgYEV0YTEwYC1gRXRhMThgLiBPcyBtb2RlbG9zIGluaWNpYWlzIChgRXRhMWAtYEV0YTlgKSB1c2FtIG8gZWZlaXRvIGNhdGVnw7NyaWNvIGRlIGFtYmllbnRlIChgRWApIGVtIGNvbmp1bnRvIGNvbSBrZXJuZWxzIGdlbsO0bWljb3MgZS9vdSBmZW7DtG1pY29zLCBtYXMgbsOjbyBpbmNsdWVtIG8ga2VybmVsIGNsaW3DoXRpY28uCgpVbSBvYmpldGl2byBwcsOhdGljbyBjZW50cmFsIGRlc3RlIHR1dG9yaWFsIMOpIGdhcmFudGlyIHF1ZSB0b2RhcyBhcyBtYXRyaXplcyBzZWphbSBjb25zdHJ1w61kYXMgbmEgKiptZXNtYSBvcmRlbSBkZSBvYnNlcnZhw6fDtWVzKiouIFNlIG9zIGtlcm5lbHMgbsOjbyBlc3RpdmVyZW0gcGVyZmVpdGFtZW50ZSBhbGluaGFkb3MsIGFzIGFuw6FsaXNlcyBwcmVkaXRpdmFzIHBvc3RlcmlvcmVzIHNlIHRvcm5hbSBpbnbDoWxpZGFzLgoKIyMgRW50cmFkYXMsIHNhw61kYXMgZSBwcsOzeGltYSBldGFwYQoKKipFbnRyYWRhcyBkZXN0YSBldGFwYSoqCi0gZGFkb3MgZmVub3TDrXBpY29zLCBnZW7DtG1pY29zIGUgZmVuw7RtaWNvcwotIGNvdmFyacOhdmVpcyBkZXJpdmFkYXMgZG8gY2xpbWEgcHJvZHV6aWRhcyBwb3IgYGNsaW1hdGVfZGF0YS5SbWRgCgoqKlNhw61kYXMgZGVzdGEgZXRhcGEqKgotIG9iamV0b3Mgb2JzZXJ2YWNpb25haXMgYWxpbmhhZG9zCi0gZXN0cnV0dXJhcyBkZSBkZXNlbmhvIGFtYmllbnRhbCBlIGNsaW3DoXRpY28KLSBrZXJuZWxzIGxpbmVhcmVzIGUgbsOjbyBsaW5lYXJlcwotIGtlcm5lbHMgZGUgaW50ZXJhw6fDo28gdXNhZG9zIG5hcyBldGFwYXMgc2VndWludGVzCgoqKlByw7N4aW1hIGV0YXBhKioKLSBvcyBvYmpldG9zIGdlcmFkb3MgYXF1aSBzw6NvIGNvbnN1bWlkb3MgZGlyZXRhbWVudGUgcG9yIGB2YXJpYW5jZV9jb21wb25lbnRzX3B0LlJtZGAgZSBgYW5hbHlzaXNfcHJlZGljdGlvbl9wdC5SbWRgLgoKIyMgMi4gQW1iaWVudGUgZW0gUiBlIGRlcGVuZMOqbmNpYXMKClByaW1laXJvIGNhcnJlZ2Ftb3Mgb3MgcGFjb3RlcyBuZWNlc3PDoXJpb3MgcGFyYSBtYW5pcHVsYcOnw6NvIGRlIGRhZG9zLCBjb25zdHJ1w6fDo28gZGUga2VybmVscywgdmlzdWFsaXphw6fDo28gZSBnZXJlbmNpYW1lbnRvIGRlIG1lbcOzcmlhLgoKLSBgdGlkeXZlcnNlYDogb3JnYW5pemHDp8OjbyBkb3MgZGFkb3MgZSBncsOhZmljb3MuCi0gYGRhdGEudGFibGVgOiBsZWl0dXJhIHLDoXBpZGEgZGUgYXJxdWl2b3MgZ3JhbmRlcy4KLSBgQkdMUmA6IGVzdHJ1dHVyYSBCYXllc2lhbmEgZGUgcHJlZGnDp8OjbyBnZW7DtG1pY2EgdXNhZGEgZGVwb2lzLgotIGBwYXJhbGxlbGAgZSBgZG9QYXJhbGxlbGA6IHN1cG9ydGUgcGFyYSB0YXJlZmFzIGNvbXB1dGFjaW9uYWxtZW50ZSBpbnRlbnNpdmFzLgotIGBNQVNTYDogdXRpbGlkYWRlcyBlc3RhdMOtc3RpY2FzIGFkaWNpb25haXMuCi0gYHBhdGNod29ya2A6IGNvbXBvc2nDp8OjbyBkZSBmaWd1cmFzIGVtIG3Dumx0aXBsb3MgcGFpbsOpaXMgcGFyYSBncsOhZmljb3MgZGlhZ27Ds3N0aWNvcy4KCk9zIHBhY290ZXMgYWJhaXhvIGTDo28gc3Vwb3J0ZSDDoCBjb25zdHJ1w6fDo28gZGUgbWF0cml6ZXMsIG1hbmlwdWxhw6fDo28gZGUgZGFkb3MsIGPDoWxjdWxvIGRlIGtlcm5lbHMsIG90aW1pemHDp8OjbyBlIHZpc3VhbGl6YcOnw6NvLgoKYGBge3IgbG9hZC1saWJyYXJpZXN9CnN1cHByZXNzUGFja2FnZVN0YXJ0dXBNZXNzYWdlcyh7CiAgbGlicmFyeSh0aWR5dmVyc2UpCiAgbGlicmFyeShkYXRhLnRhYmxlKQogIGxpYnJhcnkoQkdMUikKICBsaWJyYXJ5KHBhcmFsbGVsKQogIGxpYnJhcnkoZG9QYXJhbGxlbCkKICBsaWJyYXJ5KE1BU1MpCiAgbGlicmFyeShncmlkRXh0cmEpCiAgbGlicmFyeShncmlkKQogIGxpYnJhcnkoa25pdHIpCiAgbGlicmFyeShrYWJsZUV4dHJhKQogIGxpYnJhcnkodG9vbHMpCiAgbGlicmFyeShwYXRjaHdvcmspCn0pCgpkaXIuY3JlYXRlKCJvdXRwdXQvTWF0cml6ZXMiLCByZWN1cnNpdmUgPSBUUlVFLCBzaG93V2FybmluZ3MgPSBGQUxTRSkKZGlyLmNyZWF0ZSgib3V0cHV0L01hdHJpemVzL2ZpZ3VyZXMiLCByZWN1cnNpdmUgPSBUUlVFLCBzaG93V2FybmluZ3MgPSBGQUxTRSkKYGBgCiMjIDIuMSBVbWEgbm90YSBzb2JyZSBvIGVzdGlsbyBkZSBjw7NkaWdvIHVzYWRvIG5lc3RlIHR1dG9yaWFsCgpOZXN0ZSB0dXRvcmlhbCwgZXZpdGFtb3MgcGVxdWVub3MgaGVscGVycyBkZSBjb252ZW5pw6puY2lhIHBhcmEgZ3LDoWZpY29zIGUgY2hlY2FnZW5zIGRlIG1hdHJpemVzLiBFbSB2ZXogZGlzc28sIG8gY8OzZGlnbyDDqSBlc2NyaXRvIGRlIGZvcm1hIG1haXMgZXhwbMOtY2l0YSBlIGxpbmVhci4gSXNzbyB0b3JuYSBvIHNjcmlwdCBtYWlzIGxvbmdvLCBtYXMgdGFtYsOpbSB0b3JuYSBjYWRhIG9wZXJhw6fDo28gbWFpcyBmw6FjaWwgZGUgYWNvbXBhbmhhciBwYXJhIGxlaXRvcmVzIHF1ZSBhaW5kYSBlc3TDo28gYXByZW5kZW5kbyBSIGUgZmx1eG9zIGRlIG1vZGVsYWdlbSBiYXNlYWRvcyBlbSBtYXRyaXplcy4KCkFzIMO6bmljYXMgZnVuw6fDtWVzIG1hbnRpZGFzIG1haXMgYWRpYW50ZSBubyBzY3JpcHQgc8OjbyBhcyBmdW7Dp8O1ZXMgbWF0ZW3DoXRpY2FzIGVzdHJpdGFtZW50ZSBuZWNlc3PDoXJpYXMgcGFyYSBlc3RpbWFyIG9zIGtlcm5lbHMgR2F1c3NpYW5vcyBlIGFyYy1jb3NpbmUuIEVzc2FzIGZ1bsOnw7VlcyBmYXplbSBwYXJ0ZSBkbyBwcsOzcHJpbyBwcm9jZWRpbWVudG8gZGUgbW9kZWxhZ2VtLCBlIG7Do28gYXBlbmFzIGRlIGF0YWxob3MgZGUgcHJvZ3JhbWHDp8Ojby4KCiMjIDMuIENhcnJlZ2FyIG9zIGRhZG9zIGJydXRvcwoKQSBwcsOzeGltYSBzZcOnw6NvIGzDqiBhcyBlbnRyYWRhcyBicnV0YXMgdXNhZGFzIG5vIHBpcGVsaW5lIGRlIGNvbnN0cnXDp8OjbyBkZSBrZXJuZWxzLiBOZXN0ZSBlc3TDoWdpbywgbyBvYmpldGl2byDDqSBhcGVuYXMgaW1wb3J0YXIgb3MgZGFkb3MgZSBpbnNwZWNpb25hciBhIGVzdHJ1dHVyYSBiw6FzaWNhIGRlIGNhZGEgZm9udGUuCgojIyMgMy4xIENhcnJlZ2FyIG9zIHJlZ2lzdHJvcyBOSVIgZSBvcyBmZW7Ds3RpcG9zCgpPIGFycXVpdm8gYE5JUi5jc3ZgIGNvbnTDqW0gaWRlbnRpZmljYWRvcmVzLCBhbWJpZW50ZXMsIGNhcmFjdGVyZXMgZmVub3TDrXBpY29zIGUgYXMgYmFuZGFzIGVzcGVjdHJhaXMgdXNhZGFzIGRlcG9pcyBwYXJhIGNvbnN0cnVpciBvIGtlcm5lbCBmZW7DtG1pY28uCgpPIGPDs2RpZ28gYWJhaXhvIGzDqiBvcyBkYWRvcyBOSVIgZSBwcmVwYXJhIGEgZW50cmFkYSBmZW7DtG1pY2EgcXVlIGRlcG9pcyBzZXLDoSBhbGluaGFkYSBhb3MgcmVnaXN0cm9zIGZlbm90w61waWNvcyBlIGdlbsO0bWljb3MuCgpgYGB7ciBsb2FkLW5pci1kYXRhLCBldmFsPUZBTFNFfQpOSVIgPC0gZnJlYWQoImRhdGEvTklSLmNzdiIpICU+JSBhcy5kYXRhLmZyYW1lKCkKCmhlYWQoTklSWywgMTo3XSkKdW5pcXVlKE5JUiRFbnYpCmBgYAoKIyMjIDMuMiBDYXJyZWdhciBvcyBtYXJjYWRvcmVzIGdlbsO0bWljb3MKCk8gYXJxdWl2byBnZW5vdMOtcGljbyBjb250w6ltIHVtYSBsaW5oYSBwb3IgZ2Vuw7N0aXBvIGUgdW1hIGNvbHVuYSBwb3IgbWFyY2Fkb3IuIEEgcHJpbWVpcmEgY29sdW5hIChgdGF4YWApIMOpIG8gaWRlbnRpZmljYWRvciBkbyBnZW7Ds3RpcG8gdXNhZG8gcGFyYSBhbGluaGFyIGEgaW5mb3JtYcOnw6NvIGdlbsO0bWljYSBlIGZlbm90w61waWNhLgoKTyBjw7NkaWdvIGFiYWl4byBsw6ogb3MgZGFkb3MgZGUgbWFyY2Fkb3JlcyBnZW7DtG1pY29zIHF1ZSBmb3JtYW0gYSBiYXNlIGRvcyBrZXJuZWxzIGdlbsO0bWljb3MgdXNhZG9zIG5vIHBpcGVsaW5lLgoKYGBge3IgbG9hZC1nZW5vdHlwaWMtZGF0YSwgZXZhbD1GQUxTRX0KR2VubyA8LSBmcmVhZCgiZGF0YS9HQVBJVC5HZW5vdHlwZS5OdW1lcmljYWwudHh0IikgJT4lIGFzLmRhdGEuZnJhbWUoKQoKaGVhZChHZW5vWywgMTo1XSkKYGBgCgojIyMgMy4zIENvbnN0cnVpciBhIHRhYmVsYSBmZW5vdMOtcGljYSB1c2FkYSBkZXBvaXMKCk9zIHNjcmlwdHMgZGUgbW9kZWxhZ2VtIHBvc3RlcmlvcmVzIGV4aWdlbSB1bWEgdGFiZWxhIGZlbm90w61waWNhIGxpbXBhIGNvbnRlbmRvIGFwZW5hcyBvcyBpZGVudGlmaWNhZG9yZXMgZSBvcyBjYXJhY3RlcmVzLWFsdm8uIEV4dHJhw61tb3MgZXNzYXMgY29sdW5hcyBkaXJldGFtZW50ZSBkbyBhcnF1aXZvIE5JUiBwYXJhIGdhcmFudGlyIHF1ZSBhIHRhYmVsYSBmZW5vdMOtcGljYSBwZXJtYW5lw6dhIHNpbmNyb25pemFkYSBjb20gb3MgcmVnaXN0cm9zIGVzcGVjdHJhaXMgZW0gbsOtdmVsIGRlIG9ic2VydmHDp8Ojby4KClRhbWLDqW0gY3JpYW1vcyB1bSAqKmlkZW50aWZpY2Fkb3IgZGUgb2JzZXJ2YcOnw6NvKiogKGBPYnNJRGApIGNvbWJpbmFuZG8gYW1iaWVudGUgZSBnZW7Ds3RpcG8uIElzc28gw6kgw7p0aWwgcG9ycXVlIG8gbWVzbW8gZ2Vuw7N0aXBvIHBvZGUgYXBhcmVjZXIgZW0gbWFpcyBkZSB1bSBhbWJpZW50ZSwgZSByw7N0dWxvcyDDum5pY29zIGRlIG9ic2VydmHDp8OjbyBtZWxob3JhbSBtdWl0byBhIHJhc3RyZWFiaWxpZGFkZSBlIGFzIGNoZWNhZ2VucyBkZSBhbGluaGFtZW50by4KCk8gY8OzZGlnbyBhYmFpeG8gbW9udGEgYSB0YWJlbGEgZmVub3TDrXBpY2EgcXVlIGZ1bmNpb25hIGNvbW8gZXNwaW5oYSBkb3JzYWwsIGVtIG7DrXZlbCBkZSBvYnNlcnZhw6fDo28sIHBhcmEgYXMgbWF0cml6ZXMgYWxpbmhhZGFzLgoKYGBge3IgYnVpbGQtcGhlbm8tdGFibGUsIGV2YWw9RkFMU0V9ClBoZW5vIDwtIE5JUiAlPiUKICBkcGx5cjo6c2VsZWN0KFBlZGlncmVlLCBFbnYsIEdZLCBLVykgJT4lCiAgYXJyYW5nZShFbnYsIFBlZGlncmVlKSAlPiUKICBtdXRhdGUoT2JzSUQgPSBwYXN0ZShFbnYsIFBlZGlncmVlLCBzZXAgPSAiX18iKSkKCmhlYWQoUGhlbm8pCmBgYAoKIyMgNC4gSGFybW9uaXphciBvcyBJRHMgZGUgZ2Vuw7N0aXBvcyBlbnRyZSBhcyBmb250ZXMgZGUgZGFkb3MKCkVzdGEgw6kgdW1hIGV0YXBhIGNyw610aWNhIGRlIHZhbGlkYcOnw6NvLiBPIGFycXVpdm8gZ2Vuw7RtaWNvIGUgbyBhcnF1aXZvIE5JUi9mZW5vdMOtcGljbyBkZXZlbSBzZSByZWZlcmlyIGFvcyBtZXNtb3MgZ2Vuw7N0aXBvcy4gU2Ugb3MgSURzIG7Do28gZm9yZW0gaGFybW9uaXphZG9zIGFudGVzIGRhIGNvbnN0cnXDp8OjbyBkYXMgbWF0cml6ZXMsIHRvZG8ga2VybmVsIHBvc3RlcmlvciBmaWNhcsOhIGRlc2FsaW5oYWRvLgoKTyBjw7NkaWdvIGFiYWl4byBoYXJtb25pemEgb3MgaWRlbnRpZmljYWRvcmVzIGRlIGdlbsOzdGlwbyBlbnRyZSBhcyBkaWZlcmVudGVzIGZvbnRlcyBwYXJhIGdhcmFudGlyIHF1ZSBhcyBtZXNtYXMgdW5pZGFkZXMgc2VqYW0gY29tcGFyYWRhcyBjb3JyZXRhbWVudGUuCgpgYGB7ciBoYXJtb25pemUtZ2Vub3R5cGVzLCBldmFsPUZBTFNFfQpQZWRpZ3JlZSA8LSBpbnRlcnNlY3QoR2VubyR0YXhhLCBOSVIkUGVkaWdyZWUpCgpOSVIgPC0gTklSW05JUiRQZWRpZ3JlZSAlaW4lIFBlZGlncmVlLCBdICU+JQogIGFycmFuZ2UoRW52LCBQZWRpZ3JlZSkgJT4lCiAgbXV0YXRlKE9ic0lEID0gcGFzdGUoRW52LCBQZWRpZ3JlZSwgc2VwID0gIl9fIikpCgpHZW5vIDwtIEdlbm9bR2VubyR0YXhhICVpbiUgUGVkaWdyZWUsIF0gJT4lCiAgYXJyYW5nZSh0YXhhKQoKUGhlbm8gPC0gUGhlbm9bUGhlbm8kUGVkaWdyZWUgJWluJSBQZWRpZ3JlZSwgXSAlPiUKICBhcnJhbmdlKEVudiwgUGVkaWdyZWUpICU+JQogIG11dGF0ZShPYnNJRCA9IHBhc3RlKEVudiwgUGVkaWdyZWUsIHNlcCA9ICJfXyIpKQoKY2F0KCJTaGFyZWQgZ2Vub3R5cGVzIGluIE5JUiA6IiwgbGVuZ3RoKHVuaXF1ZShOSVIkUGVkaWdyZWUpKSwgIlxuIikKY2F0KCJTaGFyZWQgZ2Vub3R5cGVzIGluIEdlbm86IiwgbnJvdyhHZW5vKSwgIlxuIikKY2F0KCJTaGFyZWQgZ2Vub3R5cGVzIGluIFBoZW5vOiIsIGxlbmd0aCh1bmlxdWUoUGhlbm8kUGVkaWdyZWUpKSwgIlxuIikKYGBgCgojIyA1LiBTZXBhcmFyIGFzIG9ic2VydmHDp8O1ZXMgTklSIHBvciBhbWJpZW50ZQoKTyBlc3R1ZG8gcG9zc3VpIHF1YXRybyBhbWJpZW50ZXM6CgotIGBDUzExX1dTYAotIGBDUzExX1dXYAotIGBDUzEyX1dTYAotIGBDUzEyX1dXYAoKQSBjb25zdHJ1w6fDo28gZG9zIGtlcm5lbHMgdXNhIGRlcG9pcyBibG9jb3MgZXNwZWPDrWZpY29zIHBvciBhbWJpZW50ZS4gUG9yIGlzc28sIHNlcGFyYW1vcyBhcyBvYnNlcnZhw6fDtWVzIE5JUiBlbSBxdWF0cm8gZGF0YSBmcmFtZXMgZXNwZWPDrWZpY29zIGRlIGFtYmllbnRlIHByZXNlcnZhbmRvIG9zIGlkZW50aWZpY2Fkb3JlcyBkZSBvYnNlcnZhw6fDo28uCgpPIGPDs2RpZ28gYWJhaXhvIG9yZ2FuaXphIG9zIGRhZG9zIGhhcm1vbml6YWRvcyBwb3IgYW1iaWVudGUsIHByZXBhcmFuZG8gYXMgdmVyaWZpY2HDp8O1ZXMgcG9zdGVyaW9yZXMgZGUgYmFsYW5jZWFtZW50bywgc29icmVwb3Npw6fDo28gZSBjb25zdHJ1w6fDo28gZG9zIGtlcm5lbHMuCgpgYGB7ciBzcGxpdC1ieS1lbnZpcm9ubWVudCwgZXZhbD1GQUxTRX0KYSA8LSBOSVIgJT4lIGZpbHRlcihFbnYgPT0gIkNTMTFfV1MiKSAlPiUgYXJyYW5nZShQZWRpZ3JlZSkKYiA8LSBOSVIgJT4lIGZpbHRlcihFbnYgPT0gIkNTMTFfV1ciKSAlPiUgYXJyYW5nZShQZWRpZ3JlZSkKYyA8LSBOSVIgJT4lIGZpbHRlcihFbnYgPT0gIkNTMTJfV1MiKSAlPiUgYXJyYW5nZShQZWRpZ3JlZSkKZCA8LSBOSVIgJT4lIGZpbHRlcihFbnYgPT0gIkNTMTJfV1ciKSAlPiUgYXJyYW5nZShQZWRpZ3JlZSkKCnJvd25hbWVzKGEpIDwtIGEkT2JzSUQKcm93bmFtZXMoYikgPC0gYiRPYnNJRApyb3duYW1lcyhjKSA8LSBjJE9ic0lECnJvd25hbWVzKGQpIDwtIGQkT2JzSUQKYGBgCiMjIyA1LjEgSWRlbnRpZmljYXIgZ2Vuw7N0aXBvcyBvYnNlcnZhZG9zIGVtIHRvZG9zIG9zIGFtYmllbnRlcwoKRXN0ZSBvYmpldG8gw6kgaW5mb3JtYXRpdm8gcGFyYSBjaGVjYWdlbnMgZGUgZGFkb3MgYmFsYW5jZWFkb3MgZSBwYXJhIGludGVycHJldGFyIGEgc29icmVwb3Npw6fDo28gZW50cmUgZW5zYWlvcy4KCk8gY8OzZGlnbyBhYmFpeG8gaWRlbnRpZmljYSBvcyBnZW7Ds3RpcG9zIGNvbXBhcnRpbGhhZG9zIGVudHJlIGFtYmllbnRlcywgcGFzc28gaW1wb3J0YW50ZSBwYXJhIGEgZXN0YWJpbGlkYWRlIGRvIGFsaW5oYW1lbnRvIGVudHJlIGFtYmllbnRlcy4KCmBgYHtyIHNoYXJlZC1nZW5vdHlwZXMtYWxsLWVudnMsIGV2YWw9RkFMU0V9ClBlZGlncmVlX2NvbW11bnMgPC0gUmVkdWNlKAogIGludGVyc2VjdCwKICBsaXN0KEdlbm8kdGF4YSwgYSRQZWRpZ3JlZSwgYiRQZWRpZ3JlZSwgYyRQZWRpZ3JlZSwgZCRQZWRpZ3JlZSkKKQoKbGVuZ3RoKFBlZGlncmVlX2NvbW11bnMpCmBgYAoKIyMgNi4gQ29uc3RydWlyIG8ga2VybmVsIGdlbsO0bWljbyBsaW5lYXIgKEtfRyBhcm1hemVuYWRvIGNvbW8gYFpHYCkKCk8ga2VybmVsIGdlbsO0bWljbyBtZWRlIGEgc2ltaWxhcmlkYWRlIGVudHJlIG9ic2VydmHDp8O1ZXMgY29tIGJhc2Ugbm9zIG1hcmNhZG9yZXMgU05QLgoKTyBwaXBlbGluZSBsZWdhZG8gdXNhZG8gbmVzdGUgcHJvamV0byBwYWRyb25pemEgb3MgdmFsb3JlcyBkb3MgbWFyY2Fkb3JlcyAqKmRlbnRybyBkZSBjYWRhIGJsb2NvIGRlIG9ic2VydmHDp8O1ZXMgZXNwZWPDrWZpY28gZGUgYW1iaWVudGUqKiBhbnRlcyBkZSBlbXBpbGhhciBvcyBkYWRvcy4gRW1ib3JhIGVzc2EgbsOjbyBzZWphIGEgw7puaWNhIGVzdHJhdMOpZ2lhIHBvc3PDrXZlbCwgbsOzcyBhIHByZXNlcnZhbW9zIGFxdWkgcGFyYSBtYW50ZXIgY29tcGF0aWJpbGlkYWRlIGNvbSBhcyBhbsOhbGlzZXMgcG9zdGVyaW9yZXMgasOhIGRlc2Vudm9sdmlkYXMgcGFyYSBvIGFydGlnby4KCkFzIGV0YXBhcyBwcsOhdGljYXMgc8OjbzoKCjEuIE9yZGVuYXIgYSBtYXRyaXogZ2Vub3TDrXBpY2EgZSByZW1vdmVyIGEgY29sdW5hIGRlIElELgoyLiBTdWJjb25qdW50YXIgYSBtYXRyaXogZ2Vub3TDrXBpY2EgZGUgYWNvcmRvIGNvbSBvcyBnZW7Ds3RpcG9zIG9ic2VydmFkb3MgZW0gY2FkYSBhbWJpZW50ZS4KMy4gUGFkcm9uaXphciBvcyBtYXJjYWRvcmVzIGRlbnRybyBkZSBjYWRhIGJsb2NvLgo0LiBFbXBpbGhhciBhcyBtYXRyaXplcyBlc3BlY8OtZmljYXMgZGUgYW1iaWVudGUgbmEgbWVzbWEgb3JkZW0gdXNhZGEgcGVsYSB0YWJlbGEgZGUgb2JzZXJ2YcOnw7Vlcy4KNS4gQ2FsY3VsYXIgbyBrZXJuZWwgbGluZWFyIHBlbG8gcHJvZHV0byBjcnV6YWRvIGRhIG1hdHJpeiBwYWRyb25pemFkYSBkZSBtYXJjYWRvcmVzLgoKTyBjw7NkaWdvIGFiYWl4byBjb25zdHLDs2kgbyBrZXJuZWwgZ2Vuw7RtaWNvIGxpbmVhciBxdWUgcmVwcmVzZW50YSBhIHJlbGHDp8OjbyBnZW7DtG1pY2EgYsOhc2ljYSBlbnRyZSBhcyBvYnNlcnZhw6fDtWVzLgoKYGBge3IgYnVpbGQtemcsIGV2YWw9RkFMU0V9Ckdlbm8gPC0gR2Vub1tvcmRlcihHZW5vJHRheGEpLCBdCnJvd25hbWVzKEdlbm8pIDwtIEdlbm8kdGF4YQpHZW5vIDwtIEdlbm9bLCAtMSwgZHJvcCA9IEZBTFNFXQoKR2Vuby5hIDwtIHNjYWxlKEdlbm9bYSRQZWRpZ3JlZSwgLCBkcm9wID0gRkFMU0VdLCBjZW50ZXIgPSBUUlVFLCBzY2FsZSA9IFRSVUUpCkdlbm8uYiA8LSBzY2FsZShHZW5vW2IkUGVkaWdyZWUsICwgZHJvcCA9IEZBTFNFXSwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKQpHZW5vLmMgPC0gc2NhbGUoR2Vub1tjJFBlZGlncmVlLCAsIGRyb3AgPSBGQUxTRV0sIGNlbnRlciA9IFRSVUUsIHNjYWxlID0gVFJVRSkKR2Vuby5kIDwtIHNjYWxlKEdlbm9bZCRQZWRpZ3JlZSwgLCBkcm9wID0gRkFMU0VdLCBjZW50ZXIgPSBUUlVFLCBzY2FsZSA9IFRSVUUpCgpyb3duYW1lcyhHZW5vLmEpIDwtIGEkT2JzSUQKcm93bmFtZXMoR2Vuby5iKSA8LSBiJE9ic0lECnJvd25hbWVzKEdlbm8uYykgPC0gYyRPYnNJRApyb3duYW1lcyhHZW5vLmQpIDwtIGQkT2JzSUQKCkdlbm8uYWxsIDwtIHJiaW5kKEdlbm8uYSwgR2Vuby5iLCBHZW5vLmMsIEdlbm8uZCkKClpHIDwtIHRjcm9zc3Byb2QoYXMubWF0cml4KEdlbm8uYWxsKSkgLyBuY29sKEdlbm8uYWxsKQpyb3duYW1lcyhaRykgPC0gcm93bmFtZXMoR2Vuby5hbGwpCmNvbG5hbWVzKFpHKSA8LSByb3duYW1lcyhHZW5vLmFsbCkKCmRpbShaRykKWkdbMTo1LCAxOjVdCmBgYAoKIyMgNy4gQ29uc3RydWlyIG8ga2VybmVsIGZlbsO0bWljbyBsaW5lYXIgKEtfUCBhcm1hemVuYWRvIGNvbW8gYFpQYCkKCk8ga2VybmVsIGZlbsO0bWljbyB1c2EgYXMgYmFuZGFzIGVzcGVjdHJhaXMgTklSLiBBIG1lc21hIGzDs2dpY2EgZW0gYmxvY29zIMOpIHVzYWRhIGFxdWkgcGFyYSBtYW50ZXIgYSBvcmRlbSBkYXMgb2JzZXJ2YcOnw7VlcyBzaW5jcm9uaXphZGEgY29tIG9zIGtlcm5lbHMgZ2Vuw7RtaWNvLCBjYXRlZ8OzcmljbyBkZSBhbWJpZW50ZSBlIGNsaW3DoXRpY28uCgpFc3NlIGtlcm5lbCDDqSDDunRpbCBwb3JxdWUgcmVzdW1lIGEgc2ltaWxhcmlkYWRlIGVzcGVjdHJhbCBlbnRyZSBvYnNlcnZhw6fDtWVzLiBBbyBtZXNtbyB0ZW1wbywgZGV2ZSBzZXIgaW50ZXJwcmV0YWRvIGNvbSBjYXV0ZWxhLiBPcyBlc3BlY3Ryb3MgTklSIHBvZGVtIHJlZmxldGlyIHJlc3Bvc3RhcyBmaXNpb2zDs2dpY2FzIGZvcnRlcyDDoHMgY29uZGnDp8O1ZXMgZGUgY2FtcG8sIGRlIG1vZG8gcXVlIG8ga2VybmVsIGZlbsO0bWljbyBwb2RlIGNhcHR1cmFyIHBhcnRlIGRvIHNpbmFsIGFtYmllbnRhbCBhbMOpbSBkZSBpbmZvcm1hw6fDo28gcmVsYWNpb25hZGEgYW8gZ2Vuw7N0aXBvLgoKTyBjw7NkaWdvIGFiYWl4byBjb25zdHLDs2kgbyBrZXJuZWwgZmVuw7RtaWNvIGxpbmVhciBhIHBhcnRpciBkb3MgZGFkb3MgTklSIHBhcmEgY29tcGFyw6EtbG8gw6BzIGVzdHJ1dHVyYXMgZ2Vuw7RtaWNhcyBlIGNsaW3DoXRpY2FzLgoKYGBge3IgYnVpbGQtenAsIGV2YWw9RkFMU0V9CiMgSWRlbnRpZnkgc3BlY3RyYWwgdmFyaWFibGVzIGRlZmVuc2l2ZWx5OiBrZWVwIG9ubHkgbnVtZXJpYyBjb2x1bW5zIGFuZCByZW1vdmUKIyBtZXRhZGF0YS90cmFpdCBjb2x1bW5zIHRoYXQgc2hvdWxkIG5vdCBlbnRlciB0aGUgcGhlbm9taWMga2VybmVsLgptZXRhZGF0YV9jb2xzIDwtIGMoIlBlZGlncmVlIiwgIkVudiIsICJHWSIsICJLVyIsICJPYnNJRCIpCgpuaXJfZmVhdHVyZV9jb2xzIDwtIHNldGRpZmYoY29sbmFtZXMoTklSKSwgbWV0YWRhdGFfY29scykKbmlyX2ZlYXR1cmVfY29scyA8LSBuaXJfZmVhdHVyZV9jb2xzWwogIHZhcHBseShOSVJbLCBuaXJfZmVhdHVyZV9jb2xzLCBkcm9wID0gRkFMU0VdLCBpcy5udW1lcmljLCBsb2dpY2FsKDEpKQpdCgppZiAobGVuZ3RoKG5pcl9mZWF0dXJlX2NvbHMpID09IDApIHsKICBzdG9wKCJObyBudW1lcmljIE5JUiBmZWF0dXJlIGNvbHVtbnMgd2VyZSBmb3VuZCBhZnRlciBmaWx0ZXJpbmcgbWV0YWRhdGEgY29sdW1ucy4iKQp9CgpleGNsdWRlZF9ub25fbnVtZXJpYyA8LSBzZXRkaWZmKHNldGRpZmYoY29sbmFtZXMoTklSKSwgbWV0YWRhdGFfY29scyksIG5pcl9mZWF0dXJlX2NvbHMpCgpjYXQoIk51bWJlciBvZiBOSVIgZmVhdHVyZSBjb2x1bW5zIHVzZWQgaW4gWlA6IiwgbGVuZ3RoKG5pcl9mZWF0dXJlX2NvbHMpLCAiXG4iKQppZiAobGVuZ3RoKGV4Y2x1ZGVkX25vbl9udW1lcmljKSA+IDApIHsKICBjYXQoIkV4Y2x1ZGVkIG5vbi1udW1lcmljIGNvbHVtbnM6IiwgcGFzdGUoZXhjbHVkZWRfbm9uX251bWVyaWMsIGNvbGxhcHNlID0gIiwgIiksICJcbiIpCn0KCk5JUi5hIDwtIHNjYWxlKGFzLm1hdHJpeChhWywgbmlyX2ZlYXR1cmVfY29scywgZHJvcCA9IEZBTFNFXSksIGNlbnRlciA9IFRSVUUsIHNjYWxlID0gVFJVRSkKTklSLmIgPC0gc2NhbGUoYXMubWF0cml4KGJbLCBuaXJfZmVhdHVyZV9jb2xzLCBkcm9wID0gRkFMU0VdKSwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKQpOSVIuYyA8LSBzY2FsZShhcy5tYXRyaXgoY1ssIG5pcl9mZWF0dXJlX2NvbHMsIGRyb3AgPSBGQUxTRV0pLCBjZW50ZXIgPSBUUlVFLCBzY2FsZSA9IFRSVUUpCk5JUi5kIDwtIHNjYWxlKGFzLm1hdHJpeChkWywgbmlyX2ZlYXR1cmVfY29scywgZHJvcCA9IEZBTFNFXSksIGNlbnRlciA9IFRSVUUsIHNjYWxlID0gVFJVRSkKCnJvd25hbWVzKE5JUi5hKSA8LSBhJE9ic0lECnJvd25hbWVzKE5JUi5iKSA8LSBiJE9ic0lECnJvd25hbWVzKE5JUi5jKSA8LSBjJE9ic0lECnJvd25hbWVzKE5JUi5kKSA8LSBkJE9ic0lECgpOSVIuYWxsIDwtIHJiaW5kKE5JUi5hLCBOSVIuYiwgTklSLmMsIE5JUi5kKQoKWlAgPC0gdGNyb3NzcHJvZChOSVIuYWxsKSAvIG5jb2woTklSLmFsbCkKcm93bmFtZXMoWlApIDwtIHJvd25hbWVzKE5JUi5hbGwpCmNvbG5hbWVzKFpQKSA8LSByb3duYW1lcyhOSVIuYWxsKQoKZGltKFpQKQpaUFsxOjUsIDE6NV0KYGBgCgojIyA4LiBDb25zdHJ1aXIgbyBrZXJuZWwgY2F0ZWfDs3JpY28gZGUgYW1iaWVudGUgKEtfRSkKCkEgcmVwcmVzZW50YcOnw6NvIGFtYmllbnRhbCBtYWlzIHNpbXBsZXMgdHJhdGEgY2FkYSBhbWJpZW50ZSBjb21vIHVtIGZhdG9yIGNhdGVnw7NyaWNvLiBQcmltZWlybyBjb25zdHJ1w61tb3MgYSBtYXRyaXogZGUgaW5jaWTDqm5jaWEgYFpFYCwgZGVwb2lzIGEgY29udmVydGVtb3MgZW0gdW0ga2VybmVsIChgWkVaRWApIHBvciBtZWlvIGRvIHByb2R1dG8gY3J1emFkby4KCkVzc2Uga2VybmVsIGF0cmlidWkgc2ltaWxhcmlkYWRlIGFtYmllbnRhbCBjb21wbGV0YSBhIG9ic2VydmHDp8O1ZXMgZG8gbWVzbW8gYW1iaWVudGUgZSBzaW1pbGFyaWRhZGUgemVybyBhIG9ic2VydmHDp8O1ZXMgZGUgYW1iaWVudGVzIGRpZmVyZW50ZXMuIE5vcyBtb2RlbG9zIGZpbmFpcywgYFpFWkVgIHJlcHJlc2VudGEgbyAqKmVmZWl0byBjYXRlZ8OzcmljbyBkZSBhbWJpZW50ZSoqLiBFbGUgbsOjbyDDqSBvIG1lc21vIHF1ZSBvIGtlcm5lbCBjbGltw6F0aWNvLiBFbSB0ZXJtb3MgcHLDoXRpY29zLCBgWkVaRWAgbWFudMOpbSBhIGRpc3RpbsOnw6NvIGVudHJlIG9zIHF1YXRybyBtYWNyb2FtYmllbnRlcywgZW5xdWFudG8gYFpXYCBkZXNjcmV2ZSBkZXBvaXMgYSBzaW1pbGFyaWRhZGUgZW50cmUgb2JzZXJ2YcOnw7VlcyBjb20gYmFzZSBlbSBjb3ZhcmnDoXZlaXMgbWV0ZW9yb2zDs2dpY2FzLgoKTyBjw7NkaWdvIGFiYWl4byBjb25zdHLDs2kgYSBtYXRyaXogY2F0ZWfDs3JpY2EgZGUgYW1iaWVudGUsIHNlcGFyYW5kbyBleHBsaWNpdGFtZW50ZSBvIGVmZWl0byBtYWNyb2FtYmllbnRhbCBkYSBpbmZvcm1hw6fDo28gZGVyaXZhZGEgZG8gY2xpbWEuCgpgYGB7ciBidWlsZC16ZSwgZXZhbD1GQUxTRX0KUGhlbm8gPC0gUGhlbm8gJT4lIGFycmFuZ2UobWF0Y2goT2JzSUQsIHJvd25hbWVzKFpHKSkpCgpaRSA8LSBtb2RlbC5tYXRyaXgofiBhcy5mYWN0b3IoUGhlbm8kRW52KSAtIDEpCnJvd25hbWVzKFpFKSA8LSBQaGVubyRPYnNJRApjb2xuYW1lcyhaRSkgPC0gZ3N1YigiXmFzLmZhY3RvclxcKFBoZW5vXFwkRW52XFwpIiwgIiIsIGNvbG5hbWVzKFpFKSkKClpFWkUgPC0gdGNyb3NzcHJvZChaRSkKcm93bmFtZXMoWkVaRSkgPC0gcm93bmFtZXMoWkUpCmNvbG5hbWVzKFpFWkUpIDwtIHJvd25hbWVzKFpFKQoKY2F0KCJEaW1lbnNpb25zIG9mIFpFICAgOiIsIGRpbShaRSksICJcbiIpCmNhdCgiRGltZW5zaW9ucyBvZiBaRVpFIDoiLCBkaW0oWkVaRSksICJcbiIpCgpaRVpFWzE6NSwgMTo1XQpgYGAKCiMjIDkuIENvbnN0cnVpciBvIGtlcm5lbCBjbGltw6F0aWNvIChLX1cgYXJtYXplbmFkbyBjb21vIGBaV2ApCgpPIGtlcm5lbCBjbGltw6F0aWNvIHVzYSBhcyBzYcOtZGFzIGNsaW3DoXRpY2FzIGNyaWFkYXMgbm8gdHV0b3JpYWwgYGNsaW1hdGVfZGF0YWAuIE8gZmx1eG8gY2xpbcOhdGljbyBhdHVhbGl6YWRvIGV4cG9ydGEgZG9pcyBhcnF1aXZvczoKCjEuIGBlbnZpcm9ubWVudGFsX2NvdmFyaWF0ZXMuY3N2YDogdW1hIGxpbmhhIHBvciBhbm8gY29tIHJlc3Vtb3MgY2xpbcOhdGljb3MgYWdyZWdhZG9zLgoyLiBgZW52aXJvbm1lbnRhbF9jb3ZhcmlhdGVzX2V4cGFuZGVkLmNzdmA6IHJlZ2lzdHJvcyBkacOhcmlvcyBsaWdhZG9zIGEgZXNzZXMgcmVzdW1vcyBhbnVhaXMuCgpFc3RlIHNjcmlwdCB1c2EgKiphbWJvcyoqIG9zIGFycXVpdm9zOgoKLSBPIGFycXVpdm8gYW51YWwgZm9ybmVjZSBvcyByZXN1bW9zIGRlcml2YWRvcyBkbyBjbGltYS4KLSBPIGFycXVpdm8gZXhwYW5kaWRvIGZvcm5lY2UgYXMgdHJhamV0w7NyaWFzIGNsaW3DoXRpY2FzIGRpw6FyaWFzIHVzYWRhcyBwYXJhIGRlc2NyZXZlciBhIGFzc2luYXR1cmEgaW50cmFzc2F6b25hbCBkZSBjYWRhIGFuby4KCk5vIHBpcGVsaW5lIHJlZHV6aWRvIGZpbmFsLCBgWldgIMOpIHVzYWRvIHByaW5jaXBhbG1lbnRlIG5vcyBtb2RlbG9zIGBFdGExMGAtYEV0YTE4YCwganVudG8gY29tIGludGVyYcOnw7VlcyBjb21vIGBHV2AsIGBQV2AsIGBHR0tXYCwgYFBHS1dgLCBgR0FLV2AgZSBgUEFLV2AuIE8ga2VybmVsIGNsaW3DoXRpY28gZGV2ZSwgcG9ydGFudG8sIHNlciBpbnRlcnByZXRhZG8gY29tbyB1bWEgZm9udGUgYWRpY2lvbmFsIGRlIHNpbWlsYXJpZGFkZSBtZXRlb3JvbMOzZ2ljYS4gRWxlICoqbsOjbyoqIHN1YnN0aXR1aSBvIGVmZWl0byBjYXRlZ8OzcmljbyBkZSBhbWJpZW50ZSByZXByZXNlbnRhZG8gcG9yIGBaRVpFYC4KCiMjIyA5LjEgQ2FycmVnYXIgb3MgYXJxdWl2b3MgY2xpbcOhdGljb3MKCk8gY8OzZGlnbyBhYmFpeG8gbMOqIGFzIHNhw61kYXMgY2xpbcOhdGljYXMgcHJvZHV6aWRhcyBwZWxvIG3Ds2R1bG8gYW50ZXJpb3IgcGFyYSBxdWUgbyBrZXJuZWwgY2xpbcOhdGljbyBzZWphIGNvbnN0cnXDrWRvIGEgcGFydGlyIGRlIGFycXVpdm9zIGrDoSBzYWx2b3MuCgpgYGB7ciBsb2FkLWNsaW1hdGUtZmlsZXMsIGV2YWw9RkFMU0V9CmFubnVhbF9lY19maWxlIDwtICJvdXRwdXQvY2xpbWF0ZV9yZXN1bHRzL2Vudmlyb25tZW50YWxfY292YXJpYXRlcy5jc3YiCmV4cGFuZGVkX2VjX2ZpbGUgPC0gIm91dHB1dC9jbGltYXRlX3Jlc3VsdHMvZW52aXJvbm1lbnRhbF9jb3ZhcmlhdGVzX2V4cGFuZGVkLmNzdiIKCmlmICghZmlsZS5leGlzdHMoYW5udWFsX2VjX2ZpbGUpKSB7CiAgc3RvcCgiVGhlIGZpbGUgJ291dHB1dC9jbGltYXRlX3Jlc3VsdHMvZW52aXJvbm1lbnRhbF9jb3ZhcmlhdGVzLmNzdicgd2FzIG5vdCBmb3VuZC4gUnVuIGNsaW1hdGVfZGF0YS5SbWQgZmlyc3QuIikKfQoKaWYgKCFmaWxlLmV4aXN0cyhleHBhbmRlZF9lY19maWxlKSkgewogIHN0b3AoIlRoZSBmaWxlICdvdXRwdXQvY2xpbWF0ZV9yZXN1bHRzL2Vudmlyb25tZW50YWxfY292YXJpYXRlc19leHBhbmRlZC5jc3YnIHdhcyBub3QgZm91bmQuIFJ1biBjbGltYXRlX2RhdGEuUm1kIGZpcnN0LiIpCn0KCkVDc19hbm51YWwgPC0gcmVhZC5jc3YoYW5udWFsX2VjX2ZpbGUpCkVDc19leHBhbmRlZCA8LSByZWFkLmNzdihleHBhbmRlZF9lY19maWxlKQoKYW5udWFsX2NvbHMgPC0gYygKICAiVE1BWF9BVkciLCAiVE1JTl9BVkciLCAiR0REX0NVTSIsICJIRUFUX1NUUkVTU19EQVlTIiwKICAiUFJFQ1RPVCIsICJEUllfREFZUyIsICJSSF9BVkciLCAiV1MyTV9BVkciLCAiUkFEX0NVTSIsCiAgIlRfQVZHIiwgIkRUUl9BVkciLCAiQ09MRF9TVFJFU1NfREFZUyIsICJSQUlOWV9EQVlTIiwKICAiUFJFQ19JTlRFTlNJVFkiLCAiTE9XX1JIX0RBWVMiLCAiVlBEX0FWRyIsICJWUERfU1RSRVNTX0RBWVMiCikKCiMgS2VlcCBvbmx5IHRydWUgZGFpbHkgd2VhdGhlciB2YXJpYWJsZXMuIEV4Y2x1ZGUgaWRlbnRpZmllcnMsIGRhdGUgZW5jb2RpbmdzLAojIGNvb3JkaW5hdGUgZmllbGRzLCBhbmQgYW55IGFubnVhbCBzdW1tYXJ5IGNvbHVtbnMgdGhhdCBtYXkgYWxzbyBiZSBwcmVzZW50IGluCiMgdGhlIGV4cGFuZGVkIGZpbGUuCmRhaWx5X2lkX2NvbHMgPC0gYygKICAieWVhciIsICJZZWFyIiwgIllFQVIiLAogICJkYXRlIiwgIkRhdGUiLAogICJZWVlZTU1ERCIsICJNTUREIiwgIkRPWSIsCiAgIm1vbnRoIiwgIk1vbnRoIiwgIk1NIiwKICAiZGF5IiwgIkREIiwKICAiTE9OIiwgIkxBVCIKKQpjYW5kaWRhdGVfZGFpbHlfY29scyA8LSBzZXRkaWZmKAogIGNvbG5hbWVzKEVDc19leHBhbmRlZCksCiAgYyhkYWlseV9pZF9jb2xzLCBhbm51YWxfY29scykKKQoKZGFpbHlfY29scyA8LSBjYW5kaWRhdGVfZGFpbHlfY29sc1sKICB2YXBwbHkoRUNzX2V4cGFuZGVkWywgY2FuZGlkYXRlX2RhaWx5X2NvbHMsIGRyb3AgPSBGQUxTRV0sIGlzLm51bWVyaWMsIGxvZ2ljYWwoMSkpCl0KCmV4Y2x1ZGVkX2RhaWx5X2NvbHMgPC0gc2V0ZGlmZihjYW5kaWRhdGVfZGFpbHlfY29scywgZGFpbHlfY29scykKCmlmIChsZW5ndGgoZGFpbHlfY29scykgPT0gMCkgewogIHN0b3AoIk5vIG51bWVyaWMgZGFpbHkgY2xpbWF0ZSB2YXJpYWJsZXMgd2VyZSBmb3VuZCBpbiBlbnZpcm9ubWVudGFsX2NvdmFyaWF0ZXNfZXhwYW5kZWQuY3N2LiIpCn0KCmNhdCgiTnVtYmVyIG9mIGRhaWx5IGNsaW1hdGUgdmFyaWFibGVzIHVzZWQgaW4gWlc6IiwgbGVuZ3RoKGRhaWx5X2NvbHMpLCAiXG4iKQppZiAobGVuZ3RoKGV4Y2x1ZGVkX2RhaWx5X2NvbHMpID4gMCkgewogIGNhdCgiRXhjbHVkZWQgbm9uLWNsaW1hdGljIG9yIG5vbi1udW1lcmljIGNvbHVtbnM6IiwgcGFzdGUoZXhjbHVkZWRfZGFpbHlfY29scywgY29sbGFwc2UgPSAiLCAiKSwgIlxuIikKfQoKRUNzX2FubnVhbCA8LSBFQ3NfYW5udWFsICU+JQogIG11dGF0ZSh5ZWFyID0gYXMuaW50ZWdlcih5ZWFyKSkgJT4lCiAgZHBseXI6OnNlbGVjdCh5ZWFyLCBhbGxfb2YoYW5udWFsX2NvbHMpKQoKRUNzX2V4cGFuZGVkIDwtIEVDc19leHBhbmRlZCAlPiUKICBtdXRhdGUoCiAgICB5ZWFyID0gYXMuaW50ZWdlcih5ZWFyKSwKICAgIGRhdGUgPSBhcy5jaGFyYWN0ZXIoZGF0ZSkKICApCmBgYAojIyMgOS4yIFBhZHJvbml6YXIgb3MgcmVzdW1vcyBhbnVhaXMgZSBhcyB0cmFqZXTDs3JpYXMgZGnDoXJpYXMKCk8gb2JqZXRpdm8gZGVzdGEgZXRhcGEgw6kgY29sb2NhciB2YXJpw6F2ZWlzIGFtYmllbnRhaXMgaGV0ZXJvZ8OqbmVhcyBlbSBlc2NhbGEgY29tcGFyw6F2ZWwgYW50ZXMgZGEgY29uc3RydcOnw6NvIGRvIGtlcm5lbC4KCk8gY8OzZGlnbyBhYmFpeG8gcGFkcm9uaXphIGFzIGNvdmFyacOhdmVpcyBjbGltw6F0aWNhcyBwYXJhIGNvbG9jYXIgYXMgdmFyacOhdmVpcyBtZXRlb3JvbMOzZ2ljYXMgZW0gZXNjYWxhIGNvbXBhcsOhdmVsIGFudGVzIGRhIGNvbnN0cnXDp8OjbyBkbyBrZXJuZWwuCgpgYGB7ciBzdGFuZGFyZGl6ZS1jbGltYXRlLWRhdGEsIGV2YWw9RkFMU0V9CmFubnVhbF9zY2FsZWQgPC0gRUNzX2FubnVhbCAlPiUKICBkcGx5cjo6c2VsZWN0KGFsbF9vZihhbm51YWxfY29scykpICU+JQogIHNjYWxlKGNlbnRlciA9IFRSVUUsIHNjYWxlID0gVFJVRSkgJT4lCiAgYXMuZGF0YS5mcmFtZSgpCgphbm51YWxfc2NhbGVkIDwtIGJpbmRfY29scygKICB5ZWFyID0gRUNzX2FubnVhbCR5ZWFyLAogIGFubnVhbF9zY2FsZWQKKQoKZGFpbHlfc2NhbGVkIDwtIEVDc19leHBhbmRlZCAlPiUKICBkcGx5cjo6c2VsZWN0KHllYXIsIGRhdGUsIGFsbF9vZihkYWlseV9jb2xzKSkgJT4lCiAgZ3JvdXBfYnkoeWVhcikgJT4lCiAgbXV0YXRlKGFjcm9zcyhhbGxfb2YoZGFpbHlfY29scyksIH4gYXMubnVtZXJpYyhzY2FsZSgueCwgY2VudGVyID0gVFJVRSwgc2NhbGUgPSBUUlVFKSkpKSAlPiUKICB1bmdyb3VwKCkKYGBgCiMjIyA5LjMgQ3JpYXIgYXNzaW5hdHVyYXMgY2xpbcOhdGljYXMgZXNwZWPDrWZpY2FzIHBvciBhbm8KClBhcmEgY2FkYSBhbm8sIHRyYW5zZm9ybWFtb3MgYXMgdHJhamV0w7NyaWFzIGRpw6FyaWFzIGRlIGNsaW1hIGVtIHVtYSDDum5pY2EgYXNzaW5hdHVyYSBsYXJnYSBwb3IgbGluaGEuIElzc28gZMOhIGEgY2FkYSBhbm8gdW0gdmV0b3IgcmVwcm9kdXTDrXZlbCBxdWUgcmVwcmVzZW50YSBzZXUgcGVyZmlsIGNsaW3DoXRpY28gaW50cmFzc2F6b25hbC4KCk8gY8OzZGlnbyBhYmFpeG8gZGVyaXZhIGFzIGFzc2luYXR1cmFzIGNsaW3DoXRpY2FzIHBvciBhbm8gcXVlIHJlc3VtZW0gYSBpbmZvcm1hw6fDo28gcGFkcm9uaXphZGEgZSBzZXJ2ZW0gZGUgYmFzZSBwYXJhIG8ga2VybmVsIGNsaW3DoXRpY28uCgpgYGB7ciBjcmVhdGUteWVhci1zaWduYXR1cmVzLCBldmFsPUZBTFNFfQpkYWlseV9zaWduYXR1cmVfMjAxMSA8LSBkYWlseV9zY2FsZWQgJT4lCiAgZmlsdGVyKHllYXIgPT0gMjAxMSkgJT4lCiAgZHBseXI6OnNlbGVjdChkYXRlLCBhbGxfb2YoZGFpbHlfY29scykpICU+JQogIHBpdm90X2xvbmdlcihjb2xzID0gLWRhdGUsIG5hbWVzX3RvID0gInZhcmlhYmxlIiwgdmFsdWVzX3RvID0gInZhbHVlIikgJT4lCiAgbXV0YXRlKHNpZ25hdHVyZV9jb2wgPSBwYXN0ZSh2YXJpYWJsZSwgZGF0ZSwgc2VwID0gIl9fIikpICU+JQogIGRwbHlyOjpzZWxlY3Qoc2lnbmF0dXJlX2NvbCwgdmFsdWUpICU+JQogIHBpdm90X3dpZGVyKG5hbWVzX2Zyb20gPSBzaWduYXR1cmVfY29sLCB2YWx1ZXNfZnJvbSA9IHZhbHVlKQoKZGFpbHlfc2lnbmF0dXJlXzIwMTIgPC0gZGFpbHlfc2NhbGVkICU+JQogIGZpbHRlcih5ZWFyID09IDIwMTIpICU+JQogIGRwbHlyOjpzZWxlY3QoZGF0ZSwgYWxsX29mKGRhaWx5X2NvbHMpKSAlPiUKICBwaXZvdF9sb25nZXIoY29scyA9IC1kYXRlLCBuYW1lc190byA9ICJ2YXJpYWJsZSIsIHZhbHVlc190byA9ICJ2YWx1ZSIpICU+JQogIG11dGF0ZShzaWduYXR1cmVfY29sID0gcGFzdGUodmFyaWFibGUsIGRhdGUsIHNlcCA9ICJfXyIpKSAlPiUKICBkcGx5cjo6c2VsZWN0KHNpZ25hdHVyZV9jb2wsIHZhbHVlKSAlPiUKICBwaXZvdF93aWRlcihuYW1lc19mcm9tID0gc2lnbmF0dXJlX2NvbCwgdmFsdWVzX2Zyb20gPSB2YWx1ZSkKCmFubnVhbF9zaWduYXR1cmVfMjAxMSA8LSBhbm51YWxfc2NhbGVkICU+JQogIGZpbHRlcih5ZWFyID09IDIwMTEpICU+JQogIGRwbHlyOjpzZWxlY3QoLXllYXIpCgphbm51YWxfc2lnbmF0dXJlXzIwMTIgPC0gYW5udWFsX3NjYWxlZCAlPiUKICBmaWx0ZXIoeWVhciA9PSAyMDEyKSAlPiUKICBkcGx5cjo6c2VsZWN0KC15ZWFyKQpgYGAKIyMjIDkuNCBDb25zdHJ1aXIgYSBtYXRyaXogVyBlbSBuw612ZWwgZGUgb2JzZXJ2YcOnw6NvCgpDYWRhIG9ic2VydmHDp8OjbyBoZXJkYSBhIGFzc2luYXR1cmEgY2xpbcOhdGljYSBkbyBhbm8gYXNzb2NpYWRvIGFvIHNldSBhbWJpZW50ZS4gT3MgYW1iaWVudGVzIGRlIDIwMTEgcmVjZWJlbSBhcyBhc3NpbmF0dXJhcyBkacOhcmlhcyBlIGFudWFpcyBkZSAyMDExOyBvcyBhbWJpZW50ZXMgZGUgMjAxMiByZWNlYmVtIGFzIGFzc2luYXR1cmFzIGRlIDIwMTIuIEJsb2NvcyBlc3BlY8OtZmljb3MgZGUgb3V0cm8gYW5vIHPDo28gcHJlZW5jaGlkb3MgY29tIGBOQWAgZSBkZXBvaXMgc3Vic3RpdHXDrWRvcyBwb3IgemVybywgcGFyYSBxdWUgYSBtYXRyaXogZmluYWwgcG9zc2Egc2VyIHVzYWRhIGVtIHVtIHByb2R1dG8gY3J1emFkby4KCk8gY8OzZGlnbyBhYmFpeG8gY29uc3Ryw7NpIG8ga2VybmVsIGNsaW3DoXRpY28gYFdgLCBxdWUgY29tcGxlbWVudGEgYSBlc3RydXR1cmEgY2F0ZWfDs3JpY2EgZGUgYW1iaWVudGUgZW0gdmV6IGRlIHN1YnN0aXR1w60tbGEuCgpgYGB7ciBidWlsZC13LCBldmFsPUZBTFNFfQppZHNfYSA8LSBhJE9ic0lECmlkc19iIDwtIGIkT2JzSUQKaWRzX2MgPC0gYyRPYnNJRAppZHNfZCA8LSBkJE9ic0lECgojIEVudmlyb25tZW50cyBmcm9tIDIwMTEgcmVjZWl2ZSB0aGUgMjAxMSBkYWlseSBhbmQgYW5udWFsIHNpZ25hdHVyZXMuCkVDcy5hX21haW5fZGFpbHkgPC0gYXMuZGF0YS5mcmFtZShkYWlseV9zaWduYXR1cmVfMjAxMVtyZXAoMSwgbGVuZ3RoKGlkc19hKSksICwgZHJvcCA9IEZBTFNFXSkKcm93bmFtZXMoRUNzLmFfbWFpbl9kYWlseSkgPC0gaWRzX2EKCkVDcy5hX290aGVyX2RhaWx5IDwtIGFzLmRhdGEuZnJhbWUoCiAgbWF0cml4KAogICAgTkFfcmVhbF8sCiAgICBucm93ID0gbGVuZ3RoKGlkc19hKSwKICAgIG5jb2wgPSBuY29sKGRhaWx5X3NpZ25hdHVyZV8yMDEyKSwKICAgIGRpbW5hbWVzID0gbGlzdChpZHNfYSwgY29sbmFtZXMoZGFpbHlfc2lnbmF0dXJlXzIwMTIpKQogICkKKQoKRUNzLmFfYW5udWFsIDwtIGFzLmRhdGEuZnJhbWUoYW5udWFsX3NpZ25hdHVyZV8yMDExW3JlcCgxLCBsZW5ndGgoaWRzX2EpKSwgLCBkcm9wID0gRkFMU0VdKQpyb3duYW1lcyhFQ3MuYV9hbm51YWwpIDwtIGlkc19hCgpFQ3MuYSA8LSBjYmluZChFQ3MuYV9tYWluX2RhaWx5LCBFQ3MuYV9vdGhlcl9kYWlseSwgRUNzLmFfYW5udWFsKQpFQ3MuYSA8LSBhcy5kYXRhLmZyYW1lKEVDcy5hKQpyb3duYW1lcyhFQ3MuYSkgPC0gaWRzX2EKCkVDcy5iX21haW5fZGFpbHkgPC0gYXMuZGF0YS5mcmFtZShkYWlseV9zaWduYXR1cmVfMjAxMVtyZXAoMSwgbGVuZ3RoKGlkc19iKSksICwgZHJvcCA9IEZBTFNFXSkKcm93bmFtZXMoRUNzLmJfbWFpbl9kYWlseSkgPC0gaWRzX2IKCkVDcy5iX290aGVyX2RhaWx5IDwtIGFzLmRhdGEuZnJhbWUoCiAgbWF0cml4KAogICAgTkFfcmVhbF8sCiAgICBucm93ID0gbGVuZ3RoKGlkc19iKSwKICAgIG5jb2wgPSBuY29sKGRhaWx5X3NpZ25hdHVyZV8yMDEyKSwKICAgIGRpbW5hbWVzID0gbGlzdChpZHNfYiwgY29sbmFtZXMoZGFpbHlfc2lnbmF0dXJlXzIwMTIpKQogICkKKQoKRUNzLmJfYW5udWFsIDwtIGFzLmRhdGEuZnJhbWUoYW5udWFsX3NpZ25hdHVyZV8yMDExW3JlcCgxLCBsZW5ndGgoaWRzX2IpKSwgLCBkcm9wID0gRkFMU0VdKQpyb3duYW1lcyhFQ3MuYl9hbm51YWwpIDwtIGlkc19iCgpFQ3MuYiA8LSBjYmluZChFQ3MuYl9tYWluX2RhaWx5LCBFQ3MuYl9vdGhlcl9kYWlseSwgRUNzLmJfYW5udWFsKQpFQ3MuYiA8LSBhcy5kYXRhLmZyYW1lKEVDcy5iKQpyb3duYW1lcyhFQ3MuYikgPC0gaWRzX2IKCiMgRW52aXJvbm1lbnRzIGZyb20gMjAxMiByZWNlaXZlIHRoZSAyMDEyIGRhaWx5IGFuZCBhbm51YWwgc2lnbmF0dXJlcy4KRUNzLmNfbWFpbl9kYWlseSA8LSBhcy5kYXRhLmZyYW1lKGRhaWx5X3NpZ25hdHVyZV8yMDEyW3JlcCgxLCBsZW5ndGgoaWRzX2MpKSwgLCBkcm9wID0gRkFMU0VdKQpyb3duYW1lcyhFQ3MuY19tYWluX2RhaWx5KSA8LSBpZHNfYwoKRUNzLmNfb3RoZXJfZGFpbHkgPC0gYXMuZGF0YS5mcmFtZSgKICBtYXRyaXgoCiAgICBOQV9yZWFsXywKICAgIG5yb3cgPSBsZW5ndGgoaWRzX2MpLAogICAgbmNvbCA9IG5jb2woZGFpbHlfc2lnbmF0dXJlXzIwMTEpLAogICAgZGltbmFtZXMgPSBsaXN0KGlkc19jLCBjb2xuYW1lcyhkYWlseV9zaWduYXR1cmVfMjAxMSkpCiAgKQopCgpFQ3MuY19hbm51YWwgPC0gYXMuZGF0YS5mcmFtZShhbm51YWxfc2lnbmF0dXJlXzIwMTJbcmVwKDEsIGxlbmd0aChpZHNfYykpLCAsIGRyb3AgPSBGQUxTRV0pCnJvd25hbWVzKEVDcy5jX2FubnVhbCkgPC0gaWRzX2MKCkVDcy5jIDwtIGNiaW5kKEVDcy5jX21haW5fZGFpbHksIEVDcy5jX290aGVyX2RhaWx5LCBFQ3MuY19hbm51YWwpCkVDcy5jIDwtIGFzLmRhdGEuZnJhbWUoRUNzLmMpCnJvd25hbWVzKEVDcy5jKSA8LSBpZHNfYwoKRUNzLmRfbWFpbl9kYWlseSA8LSBhcy5kYXRhLmZyYW1lKGRhaWx5X3NpZ25hdHVyZV8yMDEyW3JlcCgxLCBsZW5ndGgoaWRzX2QpKSwgLCBkcm9wID0gRkFMU0VdKQpyb3duYW1lcyhFQ3MuZF9tYWluX2RhaWx5KSA8LSBpZHNfZAoKRUNzLmRfb3RoZXJfZGFpbHkgPC0gYXMuZGF0YS5mcmFtZSgKICBtYXRyaXgoCiAgICBOQV9yZWFsXywKICAgIG5yb3cgPSBsZW5ndGgoaWRzX2QpLAogICAgbmNvbCA9IG5jb2woZGFpbHlfc2lnbmF0dXJlXzIwMTEpLAogICAgZGltbmFtZXMgPSBsaXN0KGlkc19kLCBjb2xuYW1lcyhkYWlseV9zaWduYXR1cmVfMjAxMSkpCiAgKQopCgpFQ3MuZF9hbm51YWwgPC0gYXMuZGF0YS5mcmFtZShhbm51YWxfc2lnbmF0dXJlXzIwMTJbcmVwKDEsIGxlbmd0aChpZHNfZCkpLCAsIGRyb3AgPSBGQUxTRV0pCnJvd25hbWVzKEVDcy5kX2FubnVhbCkgPC0gaWRzX2QKCkVDcy5kIDwtIGNiaW5kKEVDcy5kX21haW5fZGFpbHksIEVDcy5kX290aGVyX2RhaWx5LCBFQ3MuZF9hbm51YWwpCkVDcy5kIDwtIGFzLmRhdGEuZnJhbWUoRUNzLmQpCnJvd25hbWVzKEVDcy5kKSA8LSBpZHNfZAoKVyA8LSByYmluZChFQ3MuYSwgRUNzLmIsIEVDcy5jLCBFQ3MuZCkKVyA8LSBhcy5kYXRhLmZyYW1lKFcpCnJvd25hbWVzKFcpIDwtIGMoaWRzX2EsIGlkc19iLCBpZHNfYywgaWRzX2QpCgpXIDwtIFdbUGhlbm8kT2JzSUQsICwgZHJvcCA9IEZBTFNFXQpXW2lzLm5hKFcpXSA8LSAwCgpaVyA8LSB0Y3Jvc3Nwcm9kKGFzLm1hdHJpeChXKSkgLyBuY29sKFcpCnJvd25hbWVzKFpXKSA8LSByb3duYW1lcyhXKQpjb2xuYW1lcyhaVykgPC0gcm93bmFtZXMoVykKCnByaW50KHBhc3RlKCJSb3dzIGluIFcgOiIsIG5yb3coVykpKQpwcmludChwYXN0ZSgiUm93cyBpbiBaRzoiLCBucm93KFpHKSkpCnByaW50KHBhc3RlKCJaVyBhbmQgWkcgYWxpZ25lZDoiLCBpZGVudGljYWwocm93bmFtZXMoWlcpLCByb3duYW1lcyhaRykpKSkKcHJpbnQocGFzdGUoIlpXIGFuZCBaUCBhbGlnbmVkOiIsIGlkZW50aWNhbChyb3duYW1lcyhaVyksIHJvd25hbWVzKFpQKSkpKQpgYGAKCmBgYHtyIGxvYWQtZ2VuZXJhdGVkLW1hdHJpY2VzLCBpbmNsdWRlPUZBTFNFfQpyZXF1aXJlZF9tYXRyaXhfb2JqZWN0cyA8LSBjKAogICJaRSIsICJaRVpFIiwgIlpHIiwgIlpQIiwgIlpHWkUiLCAiWlBaRSIsICJaVyIsICJaR1pXIiwgIlpQWlciLAogICJHR0siLCAiUEdLIiwgIkdHS0UiLCAiUEdLRSIsICJHR0tXIiwgIlBHS1ciLAogICJHQUsiLCAiUEFLIiwgIkdBS0UiLCAiUEFLRSIsICJHQUtXIiwgIlBBS1ciLAogICJQaGVubyIsICJQZWRpZ3JlZSIsICJQZWRpZ3JlZV9jb21tdW5zIiwgIkdlbm8uYWxsIiwgIk5JUi5hbGwiLCAiVyIKKQoKbWlzc2luZ19tYXRyaXhfZmlsZXMgPC0gcmVxdWlyZWRfbWF0cml4X29iamVjdHNbCiAgIWZpbGUuZXhpc3RzKGZpbGUucGF0aCgib3V0cHV0L01hdHJpemVzIiwgcGFzdGUwKHJlcXVpcmVkX21hdHJpeF9vYmplY3RzLCAiLnJkcyIpKSkKXQoKaWYgKGxlbmd0aChtaXNzaW5nX21hdHJpeF9maWxlcykgPiAwKSB7CiAgc3RvcCgKICAgICJBcnF1aXZvcyBuw6NvIGVuY29udHJhZG9zIGVtICdvdXRwdXQvTWF0cml6ZXMvJy4gRXhlY3V0ZSBwcmltZWlybyBtYXRyaXplcy5SbWQgcGFyYSBnZXJhciBvcyBvYmpldG9zIGZpbmFpcyB1c2Fkb3MgcG9yIGVzdGEgdmVyc8OjbyBlbSBwb3J0dWd1w6pzOiAiLAogICAgcGFzdGUobWlzc2luZ19tYXRyaXhfZmlsZXMsIGNvbGxhcHNlID0gIiwgIikKICApCn0KCmZvciAob2JqX25hbWUgaW4gcmVxdWlyZWRfbWF0cml4X29iamVjdHMpIHsKICBhc3NpZ24oCiAgICBvYmpfbmFtZSwKICAgIHJlYWRSRFMoZmlsZS5wYXRoKCJvdXRwdXQvTWF0cml6ZXMiLCBwYXN0ZTAob2JqX25hbWUsICIucmRzIikpKSwKICAgIGVudmlyID0gLkdsb2JhbEVudgogICkKfQpgYGAKCiMjIDEwLiBWZXJpZmljYXIgZGltZW5zw7VlcyBlIGFsaW5oYW1lbnRvIGRvcyBrZXJuZWxzCgpBbnRlcyBkZSBjb25zdHJ1aXIgaW50ZXJhw6fDtWVzIGUga2VybmVscyBuw6NvIGxpbmVhcmVzLCByZXN1bWltb3Mgb3MgcHJpbmNpcGFpcyBrZXJuZWxzIGxpbmVhcmVzLiBFc3NhIHRhYmVsYSDDqSDDunRpbCB0YW50byBwYXJhIGNvbnRyb2xlIGRlIHF1YWxpZGFkZSBxdWFudG8gcGFyYSBmaW5zIGRpZMOhdGljb3MuCgpBIHNhw61kYSBhYmFpeG8gcmVzdW1lIG9zIGtlcm5lbHMgbGluZWFyZXMgYsOhc2ljb3MgcGFyYSBxdWUgbyBsZWl0b3IgY29uZmlyYSBkaW1lbnPDtWVzLCBhbXBsaXR1ZGVzIGUgY29tcG9ydGFtZW50byBnZXJhbCBhbnRlcyBkb3Mga2VybmVscyBuw6NvIGxpbmVhcmVzLgoKYGBge3Iga2VybmVsLXN1bW1hcnktbGluZWFyfQpyZWZlcmVuY2VfaWRzIDwtIFBoZW5vJE9ic0lECgprZXJuZWxfaW52ZW50b3J5X2xpbmVhciA8LSBkYXRhLmZyYW1lKAogIGtlcm5lbCA9IGMoIlpHIChnZW5vbWljKSIsICJaUCAocGhlbm9taWMvTklSKSIsICJaRVpFIChjYXRlZ29yaWNhbCBlbnZpcm9ubWVudCBlZmZlY3QpIiwgIlpXICh3ZWF0aGVyIGtlcm5lbCkiKSwKICBuX3Jvd3MgPSBjKG5yb3coWkcpLCBucm93KFpQKSwgbnJvdyhaRVpFKSwgbnJvdyhaVykpLAogIG5fY29scyA9IGMobmNvbChaRyksIG5jb2woWlApLCBuY29sKFpFWkUpLCBuY29sKFpXKSksCiAgaXNfc3F1YXJlID0gYygKICAgIG5yb3coWkcpID09IG5jb2woWkcpLAogICAgbnJvdyhaUCkgPT0gbmNvbChaUCksCiAgICBucm93KFpFWkUpID09IG5jb2woWkVaRSksCiAgICBucm93KFpXKSA9PSBuY29sKFpXKQogICksCiAgc3ltbWV0cmljX25hbWVzID0gYygKICAgIGlkZW50aWNhbChyb3duYW1lcyhaRyksIGNvbG5hbWVzKFpHKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoWlApLCBjb2xuYW1lcyhaUCkpLAogICAgaWRlbnRpY2FsKHJvd25hbWVzKFpFWkUpLCBjb2xuYW1lcyhaRVpFKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoWlcpLCBjb2xuYW1lcyhaVykpCiAgKSwKICBhbGlnbmVkX3dpdGhfcmVmZXJlbmNlID0gYygKICAgIGlkZW50aWNhbChyb3duYW1lcyhaRyksIHJlZmVyZW5jZV9pZHMpLAogICAgaWRlbnRpY2FsKHJvd25hbWVzKFpQKSwgcmVmZXJlbmNlX2lkcyksCiAgICBpZGVudGljYWwocm93bmFtZXMoWkVaRSksIHJlZmVyZW5jZV9pZHMpLAogICAgaWRlbnRpY2FsKHJvd25hbWVzKFpXKSwgcmVmZXJlbmNlX2lkcykKICApCikKCmtlcm5lbF9pbnZlbnRvcnlfbGluZWFyICU+JQogIGRwbHlyOjptdXRhdGUoCiAgICBuX3Jvd3MgPSBmb3JtYXQobl9yb3dzLCBiaWcubWFyayA9ICIsIiksCiAgICBuX2NvbHMgPSBmb3JtYXQobl9jb2xzLCBiaWcubWFyayA9ICIsIikKICApICU+JQogIGtuaXRyOjprYWJsZSgKICAgIGNhcHRpb24gPSAiRGlhZ25vc3RpYyBzdW1tYXJ5IG9mIHRoZSBtYWluIGxpbmVhciBrZXJuZWxzLiIsCiAgICBhbGlnbiA9ICJsY2NjY2NjIgogICkgJT4lCiAga2FibGVFeHRyYTo6a2FibGVfc3R5bGluZygKICAgIGJvb3RzdHJhcF9vcHRpb25zID0gYygic3RyaXBlZCIsICJob3ZlciIsICJjb25kZW5zZWQiLCAicmVzcG9uc2l2ZSIpLAogICAgZnVsbF93aWR0aCA9IEZBTFNFLAogICAgcG9zaXRpb24gPSAibGVmdCIKICApICU+JQogIGthYmxlRXh0cmE6OnNjcm9sbF9ib3god2lkdGggPSAiMTAwJSIsIGhlaWdodCA9ICIyNjBweCIpCmBgYAojIyMgMTAuMSBWZXJpZmljYcOnw6NvIHBvbnR1YWwgZGUgb2JzZXJ2YcOnw7VlcyBzZWxlY2lvbmFkYXMKCkluc3BlY2lvbmFtb3MgbyBtZXNtbyBwZWRpZ3JlZSBlbnRyZSBtYXRyaXplcyBwYXJhIHZlcmlmaWNhciBzZSBhIG9yZGVtIGVtcGlsaGFkYSBkYXMgb2JzZXJ2YcOnw7VlcyBwZXJtYW5lY2UgY29lcmVudGUuCgpBcyB2ZXJpZmljYcOnw7VlcyBhYmFpeG8gZXhhbWluYW0gZW50cmFkYXMgc2VsZWNpb25hZGFzIHBhcmEgY29uZmlybWFyIHF1ZSBhcyBtYXRyaXplcyBhbGluaGFkYXMgZXN0w6NvIHNlIGNvbXBvcnRhbmRvIGNvbW8gZXNwZXJhZG8uCgpgYGB7ciBzcG90LWNoZWNrfQpHZW5vLmFsbFtzdHJfZGV0ZWN0KHJvd25hbWVzKEdlbm8uYWxsKSwgIkExODgiKSwgMTo1XQpXW3N0cl9kZXRlY3Qocm93bmFtZXMoVyksICJBMTg4IiksIDE6NV0KTklSLmFsbFtzdHJfZGV0ZWN0KHJvd25hbWVzKE5JUi5hbGwpLCAiQTE4OCIpLCAxOjVdCmBgYAojIyMgMTAuMiBUZXN0ZXMgZ2xvYmFpcyBkZSBhbGluaGFtZW50bwoKVG9kYXMgYXMgY2hlY2FnZW5zIGFiYWl4byBkZXZlbSByZXRvcm5hciBgVFJVRWAuCgpBcyB2ZXJpZmljYcOnw7VlcyBhYmFpeG8gdGVzdGFtIG8gYWxpbmhhbWVudG8gZW50cmUgbWF0cml6ZXMgZSBtZXRhZGFkb3MgcGFyYSBkZXRlY3RhciBpbmNvbXBhdGliaWxpZGFkZXMgYW50ZXMgZG9zIGtlcm5lbHMgbsOjbyBsaW5lYXJlcy4KCmBgYHtyIGFsaWdubWVudC10ZXN0c30KYWxsKHJvd25hbWVzKFpXKSA9PSBjb2xuYW1lcyhaVykpCmFsbChyb3duYW1lcyhaRykgPT0gY29sbmFtZXMoWkcpKQphbGwocm93bmFtZXMoWlApID09IGNvbG5hbWVzKFpQKSkKCmFsbChyb3duYW1lcyhaVykgPT0gcm93bmFtZXMoWkcpKQphbGwocm93bmFtZXMoWlcpID09IHJvd25hbWVzKFpQKSkKCmFsbChjb2xuYW1lcyhaVykgPT0gY29sbmFtZXMoWkcpKQphbGwoY29sbmFtZXMoWlcpID09IGNvbG5hbWVzKFpQKSkKYGBgCiMjIyAxMC4zIEFzIGZpZ3VyYXMgZGlhZ27Ds3N0aWNhcyBzZXLDo28gZ2VyYWRhcyBkZXBvaXMgcXVlIHRvZGFzIGFzIGZhbcOtbGlhcyBkZSBrZXJuZWxzIGZvcmVtIGNvbnN0cnXDrWRhcwoKQWRpYW1vcyBhcyBmaWd1cmFzIGRpYWduw7NzdGljYXMgZmluYWlzIGF0w6kgcXVlIG9zIGtlcm5lbHMgR2F1c3NpYW5vcyBlIGFyYy1jb3NpbmUgZXN0ZWphbSBkaXNwb27DrXZlaXMuIElzc28gcGVybWl0ZSBjb21wYXJhciBhcyByZXByZXNlbnRhw6fDtWVzIGxpbmVhcmVzIGUgbsOjbyBsaW5lYXJlcyBkZW50cm8gZG9zIGVzcGHDp29zIGdlbsO0bWljbyBlIGZlbsO0bWljbyBzZXBhcmFkYW1lbnRlLCBvIHF1ZSDDqSBtYWlzIGluZm9ybWF0aXZvIHBhcmEgbyBhcnRpZ28gZG8gcXVlIG1pc3R1cmFyIG1hdHJpemVzIGNsaW3DoXRpY2FzIGUgZmVuw7RtaWNhcyBlbSB1bSDDum5pY28gcGFpbmVsLgoKTWVzbW8gcXVlIGBaV2AgbsOjbyBhcGFyZcOnYSBubyBtYXBhIGRlIGNhbG9yIGludGVncmFkbywgZWxlIGNvbnRpbnVhIHNlbmRvIHVtIG9iamV0byBjZW50cmFsIG5vIHBpcGVsaW5lIHJlZHV6aWRvIHBvcnF1ZSBzdXN0ZW50YSBvcyBtb2RlbG9zIGVucmlxdWVjaWRvcyBjb20gY2xpbWEgKGBFdGExMGAtYEV0YTE4YCkgZSBzZXVzIHRlcm1vcyBkZSBpbnRlcmHDp8Ojby4KCiMjIDExLiBDb25zdHJ1aXIgb3Mga2VybmVscyBkZSBpbnRlcmHDp8OjbwoKT3Mga2VybmVscyBkZSBpbnRlcmHDp8OjbyBzw6NvIG9idGlkb3MgcGVsbyBwcm9kdXRvIGRlIEhhZGFtYXJkIChtdWx0aXBsaWNhw6fDo28gZWxlbWVudG8gYSBlbGVtZW50bykuIEVzc2Egb3BlcmHDp8OjbyByZXN0cmluZ2UgYSBzaW1pbGFyaWRhZGUgZ2Vuw7RtaWNhIG91IGZlbsO0bWljYSBhbyBjb250ZXh0byBhbWJpZW50YWwgcmVwcmVzZW50YWRvIHBvciBgWkVaRWAgb3UgYFpXYC4KCk8gY8OzZGlnbyBhYmFpeG8gY29uc3Ryw7NpIG9zIGtlcm5lbHMgbGluZWFyZXMgZGUgaW50ZXJhw6fDo28gcXVlIGNvbWJpbmFtIGluZm9ybWHDp8OjbyBnZW7DtG1pY2Egb3UgZmVuw7RtaWNhIGNvbSBhbWJpZW50ZSBlIGNsaW1hLgoKYGBge3IgYnVpbGQtaW50ZXJhY3Rpb25zLCBldmFsPUZBTFNFfQpaR1pFIDwtIFpHICogWkVaRQpaUFpFIDwtIFpQICogWkVaRQpaR1pXIDwtIFpHICogWlcKWlBaVyA8LSBaUCAqIFpXCgpaR1pFWzE6NSwgMTo1XQpaUFpFWzE6NSwgMTo1XQpaR1pXWzE6NSwgMTo1XQpaUFpXWzE6NSwgMTo1XQoKc2F2ZVJEUyhaR1pFLCAib3V0cHV0L01hdHJpemVzL1pHWkUucmRzIikKc2F2ZVJEUyhaUFpFLCAib3V0cHV0L01hdHJpemVzL1pQWkUucmRzIikKYGBgCgojIyAxMi4gQ29uc3RydWlyIG9zIGtlcm5lbHMgR2F1c3NpYW5vcyBuw6NvIGxpbmVhcmVzCgpPcyBrZXJuZWxzIGxpbmVhcmVzIGFjaW1hIGNhcHR1cmFtIHNpbWlsYXJpZGFkZSBhZGl0aXZhLiBQYXJhIGV4cGxvcmFyIHJlbGHDp8O1ZXMgbsOjbyBsaW5lYXJlcywgdGFtYsOpbSBjb25zdHJ1w61tb3Mga2VybmVscyBHYXVzc2lhbm9zIHBhcmEgb3MgZXNwYcOnb3MgZ2Vuw7RtaWNvIGUgZmVuw7RtaWNvLgoKIyMjIDEyLjEgRnVuw6fDo28gbWF0ZW3DoXRpY2EgY2VudHJhbCBwYXJhIG8ga2VybmVsIEdhdXNzaWFubwoKQSBmdW7Dp8OjbyBhIHNlZ3VpciDDqSBtYW50aWRhIHBvcnF1ZSBmYXogcGFydGUgZGEgcHLDs3ByaWEgZXN0aW1hw6fDo28gZG8ga2VybmVsIEdhdXNzaWFuby4gTsOzcyBhIHVzYW1vcyBwYXJhIG90aW1pemFyIG8gcGFyw6JtZXRybyBkZSBiYW5kYSBtYXhpbWl6YW5kbyBhIHZlcm9zc2ltaWxoYW7Dp2EgbWFyZ2luYWwuCgpBcyBmdW7Dp8O1ZXMgYXV4aWxpYXJlcyBhYmFpeG8gc8OjbyB1c2FkYXMgcGFyYSBvdGltaXphciBlIGdlcmFyIG9zIGtlcm5lbHMgR2F1c3NpYW5vcyBnZW7DtG1pY29zIGUgZmVuw7RtaWNvcyBuw6NvIGxpbmVhcmVzLgoKYGBge3IgZ2stZnVuY3Rpb25zfQptYXJnaC5mdW4gPC0gZnVuY3Rpb24odGhldGEsIHksIEQsIHEsIG51ID0gMC4wMDAxLCBTYyA9IDAuMDAwMSwKICAgICAgICAgICAgICAgICAgICAgIG51aCA9IE5VTEwsIFNjaCA9IE5VTEwsIHByaW9yID0gTlVMTCkgewogIGggPC0gdGhldGFbMV0KICBwaGkgPC0gdGhldGFbMl0KCiAgS2ggPC0gZXhwKC1oICogRCAvIHEpCiAgZWlnZW5LaCA8LSBlaWdlbihLaCkKCiAgbnIgPC0gbGVuZ3RoKHdoaWNoKGVpZ2VuS2gkdmFsdWVzID4gMWUtMTApKQogIFVoIDwtIGVpZ2VuS2gkdmVjdG9yc1ssIDE6bnIsIGRyb3AgPSBGQUxTRV0KICBTaCA8LSBlaWdlbktoJHZhbHVlc1sxOm5yXQoKICBkIDwtIHQoVWgpICUqJSBzY2FsZSh5LCBzY2FsZSA9IEZBTFNFKQoKICBsZGVuIDwtIC0wLjUgKiBzdW0obG9nKDEgKyBwaGkgKiBTaCkpIC0KICAgIChudSArIG5yIC0gMSkgLyAyICogbG9nKFNjICsgc3VtKGReMiAvICgxICsgcGhpICogU2gpKSkKCiAgaWYgKCFpcy5udWxsKHByaW9yKSkgewogICAgbHByaW9yIDwtIGRnYW1tYShoLCBudWgsIFNjaCwgbG9nID0gVFJVRSkKICB9IGVsc2UgewogICAgbHByaW9yIDwtIDAKICB9CgogIHJldHVybigtKGxkZW4gKyBscHJpb3IpKQp9CmBgYAojIyMgMTIuMiBLZXJuZWwgR2F1c3NpYW5vIGdlbsO0bWljbyAoYEdHS2ApCgpQcmltZWlybyBjYWxjdWxhbW9zIGRpc3TDom5jaWFzIGdlbsO0bWljYXMgZW50cmUgZ2Vuw7N0aXBvcyDDum5pY29zIGUgZGVwb2lzIGFzIHByb2pldGFtb3Mgbm8gZXNwYcOnbyBkYXMgb2JzZXJ2YcOnw7Vlcy4KCk8gY8OzZGlnbyBhYmFpeG8gY2FsY3VsYSBvcyB2YWxvcmVzIGNhbmRpZGF0b3MgZG8ga2VybmVsIEdhdXNzaWFubyBnZW7DtG1pY28gYW50ZXMgZGEgZGVmaW5pw6fDo28gZmluYWwgZGEgbGFyZ3VyYS4KCmBgYHtyIGdnaywgZXZhbD1GQUxTRX0KREcgPC0gKGFzLm1hdHJpeChkaXN0KEdlbm8pKSleMgpxMDVHIDwtIHF1YW50aWxlKERHLCAwLjA1KQoKSURzIDwtIGFzLmNoYXJhY3RlcihQaGVubyRQZWRpZ3JlZSkKREcgPC0gREdbcm93bmFtZXMoREcpICVpbiUgSURzLCByb3duYW1lcyhERykgJWluJSBJRHMsIGRyb3AgPSBGQUxTRV0KCklEcyA8LSBmYWN0b3IoSURzLCBsZXZlbHMgPSByb3duYW1lcyhERykpClogPC0gYXMubWF0cml4KG1vZGVsLm1hdHJpeCh+IElEcyAtIDEpKQpyb3duYW1lcyhaKSA8LSBQaGVubyRPYnNJRAoKWkQgPC0gdGNyb3NzcHJvZChaLCBERykKREdfcHJvaiA8LSB0Y3Jvc3Nwcm9kKFpELCBaKQoKcm93bmFtZXMoREdfcHJvaikgPC0gUGhlbm8kT2JzSUQKY29sbmFtZXMoREdfcHJvaikgPC0gUGhlbm8kT2JzSUQKYGBgCgpBIGJ1c2NhIGFiYWl4byBpZGVudGlmaWNhIG8gcGFyw6JtZXRybyBkbyBrZXJuZWwgR2F1c3NpYW5vIGdlbsO0bWljbyBxdWUgbWVsaG9yIGF0ZW5kZSBhbyBjb21wb3J0YW1lbnRvIGRlc2VqYWRvLgoKYGBge3IgZ2drLW9wdGltaXplLCBldmFsPUZBTFNFfQpzb2xHIDwtIG9wdGltKAogIGMoMSwgMSksCiAgbWFyZ2guZnVuLAogIHkgPSBQaGVubyRHWSwKICBEID0gREdfcHJvaiwKICBxID0gcTA1RywKICBtZXRob2QgPSAiTC1CRkdTLUIiLAogIGxvd2VyID0gYygwLjA1LCAwLjA1KSwKICB1cHBlciA9IGMoNiwgMzApCikKYGBgCgpPIGPDs2RpZ28gYWJhaXhvIGzDqiBlIGluc3BlY2lvbmEgYSBzb2x1w6fDo28gZXNjb2xoaWRhIHBhcmEgbyBrZXJuZWwgR2F1c3NpYW5vIGdlbsO0bWljbyBhbnRlcyBkYSBjb25zdHJ1w6fDo28gZmluYWwgZG8gb2JqZXRvLgoKYGBge3IgZ2drLXJlYWQtc29sdXRpb24sIGluY2x1ZGU9RkFMU0UsIGV2YWw9RkFMU0V9CnNvbEcgPC0gcmVhZFJEUygib3V0cHV0L01hdHJpemVzL3NvbEcuUkRTIikKYGBgCgpPIGPDs2RpZ28gYWJhaXhvIGNvbnN0csOzaSBvIGtlcm5lbCBHYXVzc2lhbm8gZ2Vuw7RtaWNvIGZpbmFsIHVzYW5kbyBvIHBhcsOibWV0cm8gc2VsZWNpb25hZG8uCgpgYGB7ciBnZ2stZmluYWwsIGV2YWw9RkFMU0V9CmhHIDwtIHNvbEckcGFyWzFdCgpHR0sgPC0gZXhwKC1oRyAqIERHX3Byb2ogLyBxMDVHKQpyb3duYW1lcyhHR0spIDwtIFBoZW5vJE9ic0lECmNvbG5hbWVzKEdHSykgPC0gUGhlbm8kT2JzSUQKCmRpbShHR0spCkdHS1sxOjUsIDE6NV0KYGBgCgojIyMgMTIuMyBLZXJuZWwgR2F1c3NpYW5vIGZlbsO0bWljbyAoYFBHS2ApCgpPIGtlcm5lbCBHYXVzc2lhbm8gZmVuw7RtaWNvIHVzYSBkaXN0w6JuY2lhcyBldWNsaWRpYW5hcyBkZXJpdmFkYXMgZGEgbWF0cml6IE5JUiBwYWRyb25pemFkYS4KCkNvbW8gbm8ga2VybmVsIEdhdXNzaWFubyBnZW7DtG1pY28sIGEgZXRhcGEgZGUgb3RpbWl6YcOnw6NvIG5vIHBpcGVsaW5lIGF0dWFsIHVzYSAqKkdZIGNvbW8gY2Fyw6F0ZXIgZGUgcmVmZXLDqm5jaWEqKiwgZSBvIGtlcm5lbCBHYXVzc2lhbm8gZmVuw7RtaWNvIHJlc3VsdGFudGUgw6kgZW50w6NvIHJldXRpbGl6YWRvIHRhbnRvIHBhcmEgR1kgcXVhbnRvIHBhcmEgS1cuCgpPIGPDs2RpZ28gYWJhaXhvIGNhbGN1bGEgb3MgdmFsb3JlcyBjYW5kaWRhdG9zIGRvIGtlcm5lbCBHYXVzc2lhbm8gZmVuw7RtaWNvIGFudGVzIGRhIGRlZmluacOnw6NvIGZpbmFsIGRhIGxhcmd1cmEuCgpgYGB7ciBwZ2ssIGV2YWw9RkFMU0V9CkRQIDwtIChhcy5tYXRyaXgoZGlzdChOSVIuYWxsKSkpXjIKcTA1UCA8LSBxdWFudGlsZShEUCwgMC4wNSkKCklEcyA8LSByb3duYW1lcyhOSVIuYWxsKQpEUCA8LSBEUFtyb3duYW1lcyhEUCkgJWluJSBJRHMsIHJvd25hbWVzKERQKSAlaW4lIElEcywgZHJvcCA9IEZBTFNFXQoKWiA8LSBhcy5tYXRyaXgobW9kZWwubWF0cml4KH4gSURzIC0gMSkpCnJvd25hbWVzKFopIDwtIElEcwoKWjAgPC0gdGNyb3NzcHJvZChaLCBaKQpaRCA8LSB0Y3Jvc3Nwcm9kKFowLCBEUCkKRFBfcHJvaiA8LSB0Y3Jvc3Nwcm9kKFpELCBaMCkKCnJvd25hbWVzKERQX3Byb2opIDwtIElEcwpjb2xuYW1lcyhEUF9wcm9qKSA8LSBJRHMKYGBgCgpBIGJ1c2NhIGFiYWl4byBpZGVudGlmaWNhIG8gcGFyw6JtZXRybyBkbyBrZXJuZWwgR2F1c3NpYW5vIGZlbsO0bWljbyB1c2FkbyBuYSBkZWZpbmnDp8OjbyBkbyBvYmpldG8gZmluYWwuCgpgYGB7ciBwZ2stb3B0aW1pemUsIGV2YWw9RkFMU0V9CnNvbFAgPC0gb3B0aW0oCiAgYygxLCAxKSwKICBtYXJnaC5mdW4sCiAgeSA9IFBoZW5vJEdZLAogIEQgPSBEUF9wcm9qLAogIHEgPSBxMDVQLAogIG1ldGhvZCA9ICJMLUJGR1MtQiIsCiAgbG93ZXIgPSBjKDAuMDUsIDAuMDUpLAogIHVwcGVyID0gYyg2LCAzMCkKKQpgYGAKCk8gY8OzZGlnbyBhYmFpeG8gbMOqIGUgdmVyaWZpY2EgYSBzb2x1w6fDo28gZXNjb2xoaWRhIHBhcmEgbyBrZXJuZWwgR2F1c3NpYW5vIGZlbsO0bWljbyBhbnRlcyBkYSBjb25zdHJ1w6fDo28gZmluYWwuCgpgYGB7ciBwZ2stcmVhZC1zb2x1dGlvbiwgaW5jbHVkZT1GQUxTRSwgZXZhbD1GQUxTRX0Kc29sUCA8LSByZWFkUkRTKCJvdXRwdXQvTWF0cml6ZXMvc29sUC5SRFMiKQpgYGAKCk8gY8OzZGlnbyBhYmFpeG8gY29uc3Ryw7NpIG8ga2VybmVsIEdhdXNzaWFubyBmZW7DtG1pY28gZmluYWwgY29tIGEgbGFyZ3VyYSBlc2NvbGhpZGEuCgpgYGB7ciBwZ2stZmluYWwsIGV2YWw9RkFMU0V9CmhQIDwtIHNvbFAkcGFyWzFdCgpQR0sgPC0gZXhwKC1oUCAqIERQX3Byb2ogLyBxMDVQKQpyb3duYW1lcyhQR0spIDwtIHJvd25hbWVzKE5JUi5hbGwpCmNvbG5hbWVzKFBHSykgPC0gcm93bmFtZXMoTklSLmFsbCkKCmRpbShQR0spClBHS1sxOjUsIDE6NV0KYGBgCgojIyMgMTIuNCBLZXJuZWxzIGRlIGludGVyYcOnw6NvIEdhdXNzaWFub3MKCk8gY8OzZGlnbyBhYmFpeG8gZ2VyYSBhcyBlc3RydXR1cmFzIGRlIGludGVyYcOnw6NvIGFzc29jaWFkYXMgYW9zIGtlcm5lbHMgR2F1c3NpYW5vcyBwYXJhIGNvbWJpbsOhLWxhcyBjb20gYW1iaWVudGUgZSBjbGltYS4KCmBgYHtyIGludGVyYWN0aW9ucy1naywgZXZhbD1GQUxTRX0KR0dLRSA8LSBHR0sgKiBaRVpFClBHS0UgPC0gUEdLICogWkVaRQpHR0tXIDwtIEdHSyAqIFpXClBHS1cgPC0gUEdLICogWlcKYGBgCiMjIDEzLiBDb25zdHJ1aXIgb3Mga2VybmVscyBhcmMtY29zaW5lIG7Do28gbGluZWFyZXMKCk9zIGtlcm5lbHMgYXJjLWNvc2luZSBvZmVyZWNlbSB1bWEgc2VndW5kYSByZXByZXNlbnRhw6fDo28gbsOjbyBsaW5lYXIuIEVsZXMgc8OjbyBpbnNwaXJhZG9zIG5hIGdlb21ldHJpYSBkZSByZWRlcyBuZXVyYWlzIGUgcG9kZW0gY2FwdHVyYXIgcGFkcsO1ZXMgaGllcsOhcnF1aWNvcyBuw6NvIGxpbmVhcmVzIHBvciBtZWlvIGRlIHRyYW5zZm9ybWHDp8O1ZXMgcmVjdXJzaXZhcy4KCk5lc3RlIHR1dG9yaWFsIG1hbnRlbW9zIGV4cGxpY2l0YW1lbnRlIGFzIGZ1bsOnw7VlcyBtYXRlbcOhdGljYXMgYWJhaXhvIHBvcnF1ZSBlbGFzIGRlZmluZW0gbyBwcsOzcHJpbyBrZXJuZWwgYXJjLWNvc2luZS4gTWVzbW8gZXNjcml0YXMgY29tbyBmdW7Dp8O1ZXMsIGVsYXMgZmF6ZW0gcGFydGUgZG8gbcOpdG9kbywgZSBuw6NvIGRlIGF0YWxob3MgZGUgcHJvZ3JhbWHDp8Ojby4KCiMjIyAxMy4xIEZ1bsOnw7VlcyBtYXRlbcOhdGljYXMgY2VudHJhaXMgcGFyYSBvcyBrZXJuZWxzIGFyYy1jb3NpbmUKCkFzIGZ1bsOnw7VlcyBhYmFpeG8gZGVmaW5lbSBvcyBrZXJuZWxzIGFyYy1jb3NpbmUgdXNhZG9zIHBhcmEgY29uc3RydWlyIGFzIGVzdHJ1dHVyYXMgbsOjbyBsaW5lYXJlcyBhZGl0aXZhcy4KCmBgYHtyIGFrLWZ1bmN0aW9uc30KQUsxLmZ1biA8LSBmdW5jdGlvbihYKSB7CiAgY29zYWxmYSA8LSBjb3IodChYKSkKICBjb3NhbGZhW2Nvc2FsZmEgPiAxXSA8LSAxCiAgY29zYWxmYVtjb3NhbGZhIDwgLTFdIDwtIC0xCiAgYW5ndWxvIDwtIGFjb3MoY29zYWxmYSkKICBtYWcgPC0gc3FydChhcHBseShYLCAxLCBmdW5jdGlvbih4KSBjcm9zc3Byb2QoeCkpKQogIHN4eSA8LSB0Y3Jvc3Nwcm9kKG1hZykKICBBSzEgPC0gKDEgLyBwaSkgKiBzeHkgKiAoc2luKGFuZ3VsbykgKyAocGkgLSBhbmd1bG8pICogY29zYWxmYSkKICBBSzEgPC0gQUsxIC8gbWVkaWFuKEFLMSwgbmEucm0gPSBUUlVFKQogIGNvbG5hbWVzKEFLMSkgPC0gcm93bmFtZXMoWCkKICByb3duYW1lcyhBSzEpIDwtIHJvd25hbWVzKFgpCiAgcmV0dXJuKEFLMSkKfQoKbWFyZy5BSyA8LSBmdW5jdGlvbih5LCBBSzEsIG1sKSB7CiAgbGRlbi5mdW4gPC0gZnVuY3Rpb24ocGhpLCBuciwgVWgsIFNoLCBkKSB7CiAgICBsZGVuIDwtIC0wLjUgKiBzdW0obG9nKDEgKyBwaGkgKiBTaCkpIC0KICAgICAgKG5yIC0gMSkgLyAyICogbG9nKHN1bShkXjIgLyAoMSArIHBoaSAqIFNoKSkpCiAgICByZXR1cm4oLWxkZW4pCiAgfQoKICB2ZXJvIDwtIGZ1bmN0aW9uKHksIEdDKSB7CiAgICBLaCA8LSBHQwogICAgZWlnZW5LaCA8LSBlaWdlbihLaCkKICAgIG5yIDwtIGxlbmd0aCh3aGljaChlaWdlbktoJHZhbHVlcyA+IDFlLTEwKSkKICAgIFVoIDwtIGVpZ2VuS2gkdmVjdG9yc1ssIDE6bnIsIGRyb3AgPSBGQUxTRV0KICAgIFNoIDwtIGVpZ2VuS2gkdmFsdWVzWzE6bnJdCiAgICBkIDwtIHQoVWgpICUqJSBzY2FsZSh5LCBzY2FsZSA9IEZBTFNFKQogICAgc29sIDwtIG9wdGltaXplKGxkZW4uZnVuLCBuciA9IG5yLCBVaCA9IFVoLCBTaCA9IFNoLCBkID0gZCwKICAgICAgICAgICAgICAgICAgICBsb3dlciA9IDAuMDAwNSwgdXBwZXIgPSAyMDApCiAgICBwaGkgPC0gc29sW1sxXV0KICAgIGxvZy52ZXJvIDwtIDAuNSAqIHN1bShsb2coMSArIHBoaSAqIFNoKSkgLQogICAgICAobnIgLSAxKSAvIDIgKiBsb2coc3VtKGReMiAvICgxICsgcGhpICogU2gpKSkKICAgIHJldHVybihsb2cudmVybykKICB9CgogIEdDIDwtIEFLMQogIGwgPC0gMQogIEdDMiA8LSBHQwogIHZlcm8xIDwtIHZlcm8oeSA9IHksIEdDID0gR0MyKQogIG0gPC0gMAoKICB3aGlsZSAobSA9PSAwICYmIChsIDwgbWwpKSB7CiAgICBsIDwtIGwgKyAxCiAgICBHQyA8LSBBSy5mdW4oQUsxID0gR0MyLCBubCA9IDEpCiAgICBHQzIgPC0gR0MKICAgIHZlcm8yIDwtIHZlcm8oeSA9IHksIEdDID0gR0MyKQogICAgaWYgKHZlcm8yIDwgdmVybzEpIG0gPC0gMQogICAgdmVybzEgPC0gdmVybzIKICB9CgogIHJldHVybihsIC0gMSkKfQoKQUsuZnVuIDwtIGZ1bmN0aW9uKEFLMSwgbmwpIHsKICBuIDwtIG5yb3coQUsxKQogIEFLIDwtIEFLMQogIGZvciAobCBpbiAxOm5sKSB7CiAgICBBdXggPC0gdGNyb3NzcHJvZChkaWFnKEFLKSkKICAgIGNvc2FsZmEgPC0gQUsgKiAoQXV4XigtMSAvIDIpKQogICAgY29zYSA8LSBhcy52ZWN0b3IoY29zYWxmYSkKICAgIGNvc2FbY29zYSA+IDFdIDwtIDEKICAgIGNvc2FbY29zYSA8IC0xXSA8LSAtMQogICAgYW5ndWxvIDwtIGFjb3MoY29zYSkKICAgIGFuZ3VsbyA8LSBtYXRyaXgoYW5ndWxvLCBuLCBuKQogICAgQUsgPC0gKDEgLyBwaSkgKiAoQXV4XigxIC8gMikpICogKHNpbihhbmd1bG8pICsgKHBpIC0gYW5ndWxvKSAqIGNvcyhhbmd1bG8pKQogIH0KICBBSyA8LSBBSyAvIG1lZGlhbihBSywgbmEucm0gPSBUUlVFKQogIHJvd25hbWVzKEFLKSA8LSByb3duYW1lcyhBSzEpCiAgY29sbmFtZXMoQUspIDwtIGNvbG5hbWVzKEFLMSkKICByZXR1cm4oQUspCn0KYGBgCiMjIyAxMy4yIEtlcm5lbCBhcmMtY29zaW5lIGdlbsO0bWljbyAoYEdBS2ApCgpPcyBrZXJuZWxzIGFyYy1jb3NpbmUgc2VndWVtIGEgbWVzbWEgcmVncmEgcHLDoXRpY2EgYWRvdGFkYSBwYXJhIG9zIGtlcm5lbHMgR2F1c3NpYW5vcy4gTm8gcGlwZWxpbmUgYXR1YWwsIG8gbsO6bWVybyBkZSBjYW1hZGFzIG9jdWx0YXMgw6kgc2VsZWNpb25hZG8gKip1bWEgdmV6IHVzYW5kbyBHWSBjb21vIGNhcsOhdGVyIGRlIHJlZmVyw6puY2lhKiosIGUgbyBrZXJuZWwgcmVzdWx0YW50ZSDDqSBlbnTDo28gcmV1dGlsaXphZG8gZW0gYW1iYXMgYXMgYW7DoWxpc2VzIGRlIGNhcsOhdGVyLgoKTyBjw7NkaWdvIGFiYWl4byBjb25zdHLDs2kgbyBrZXJuZWwgYXJjLWNvc2luZSBnZW7DtG1pY28gdXNhZG8gbmEgdmlhIGdlbsO0bWljYSBuw6NvIGxpbmVhci4KCmBgYHtyIGdhaywgZXZhbD1GQUxTRX0KR0FLMSA8LSBBSzEuZnVuKEdlbm8pCmRpbShHQUsxKQpHQUsxWzE6NSwgMTo1XQoKSURzIDwtIGFzLmNoYXJhY3RlcihQaGVubyRQZWRpZ3JlZSkKR0FLMSA8LSBHQUsxW3Jvd25hbWVzKEdBSzEpICVpbiUgSURzLCByb3duYW1lcyhHQUsxKSAlaW4lIElEcywgZHJvcCA9IEZBTFNFXQoKSURzIDwtIGZhY3RvcihJRHMsIGxldmVscyA9IHJvd25hbWVzKEdBSzEpKQpaIDwtIGFzLm1hdHJpeChtb2RlbC5tYXRyaXgofiBJRHMgLSAxKSkKcm93bmFtZXMoWikgPC0gUGhlbm8kT2JzSUQKRyA8LSB0Y3Jvc3Nwcm9kKHRjcm9zc3Byb2QoWiwgR0FLMSksIFopCgpHbCA8LSBtYXJnLkFLKHkgPSBQaGVubyRHWSwgQUsxID0gRywgbWwgPSA1MCkKCklEcy5MIDwtIGZhY3RvcihQaGVubyRQZWRpZ3JlZSwgbGV2ZWxzID0gcm93bmFtZXMoR0FLMSkpClouTCA8LSBhcy5tYXRyaXgobW9kZWwubWF0cml4KH4gSURzLkwgLSAxKSkKcm93bmFtZXMoWi5MKSA8LSBQaGVubyRPYnNJRApHLkwgPC0gdGNyb3NzcHJvZCh0Y3Jvc3Nwcm9kKFouTCwgR0FLMSksIFouTCkKCkdBSyA8LSBBSy5mdW4oQUsxID0gRy5MLCBubCA9IEdsKQpyb3duYW1lcyhHQUspIDwtIFBoZW5vJE9ic0lECmNvbG5hbWVzKEdBSykgPC0gUGhlbm8kT2JzSUQKYGBgCgpBcyB2ZXJpZmljYcOnw7VlcyBhYmFpeG8gY29uZmlybWFtIHF1ZSBvIGtlcm5lbCBhcmMtY29zaW5lIGdlbsO0bWljbyBlc3TDoSBudW1lcmljYW1lbnRlIGNvbnNpc3RlbnRlLgoKYGBge3IgZ2FrLWNoZWNrfQpkaW0oR0FLKQpHQUtbMTo1LCAxOjVdCmBgYAojIyMgMTMuMyBLZXJuZWwgYXJjLWNvc2luZSBmZW7DtG1pY28gKGBQQUtgKQoKTyBrZXJuZWwgYXJjLWNvc2luZSBmZW7DtG1pY28gdGFtYsOpbSDDqSBjYWxpYnJhZG8gKip1bWEgdmV6IHVzYW5kbyBHWSBjb21vIGNhcsOhdGVyIGRlIHJlZmVyw6puY2lhKiosIGUgbyBrZXJuZWwgZmluYWwgw6kgcmV1dGlsaXphZG8gcGFyYSBHWSBlIEtXIG5vcyBtb2RlbG9zIHBvc3RlcmlvcmVzLgoKTyBjw7NkaWdvIGFiYWl4byBjb25zdHLDs2kgbyBrZXJuZWwgYXJjLWNvc2luZSBmZW7DtG1pY28gdXNhZG8gbmEgdmlhIGZlbsO0bWljYSBuw6NvIGxpbmVhci4KCmBgYHtyIHBhaywgZXZhbD1GQUxTRX0KUEFLMSA8LSBBSzEuZnVuKE5JUi5hbGwpCmRpbShQQUsxKQpQQUsxWzE6NSwgMTo1XQoKSURzIDwtIHJvd25hbWVzKE5JUi5hbGwpClBBSzEgPC0gUEFLMVtyb3duYW1lcyhQQUsxKSAlaW4lIElEcywgcm93bmFtZXMoUEFLMSkgJWluJSBJRHMsIGRyb3AgPSBGQUxTRV0KClogPC0gYXMubWF0cml4KG1vZGVsLm1hdHJpeCh+IElEcyAtIDEpKQpyb3duYW1lcyhaKSA8LSBJRHMKWjAgPC0gdGNyb3NzcHJvZChaLCBaKQpaRCA8LSB0Y3Jvc3Nwcm9kKFowLCBQQUsxKQpQIDwtIHRjcm9zc3Byb2QoWkQsIFowKQoKUGwgPC0gbWFyZy5BSyh5ID0gUGhlbm8kR1ksIEFLMSA9IFAsIG1sID0gNTApCgpJRHMuTCA8LSByb3duYW1lcyhOSVIuYWxsKQpaLkwgPC0gYXMubWF0cml4KG1vZGVsLm1hdHJpeCh+IElEcy5MIC0gMSkpCnJvd25hbWVzKFouTCkgPC0gSURzLkwKWjAuTCA8LSB0Y3Jvc3Nwcm9kKFouTCwgWi5MKQpQLkwgPC0gdGNyb3NzcHJvZCh0Y3Jvc3Nwcm9kKFowLkwsIFBBSzEpLCBaMC5MKQoKUEFLIDwtIEFLLmZ1bihBSzEgPSBQLkwsIG5sID0gUGwpCnJvd25hbWVzKFBBSykgPC0gcm93bmFtZXMoTklSLmFsbCkKY29sbmFtZXMoUEFLKSA8LSByb3duYW1lcyhOSVIuYWxsKQpgYGAKCkFzIHZlcmlmaWNhw6fDtWVzIGFiYWl4byBjb25maXJtYW0gcXVlIG8ga2VybmVsIGFyYy1jb3NpbmUgZmVuw7RtaWNvIGVzdMOhIGNvZXJlbnRlLgoKYGBge3IgcGFrLWNoZWNrfQpkaW0oUEFLKQpQQUtbMTo1LCAxOjVdCmBgYAojIyMgMTMuNCBLZXJuZWxzIGRlIGludGVyYcOnw6NvIGFyYy1jb3NpbmUKCk8gY8OzZGlnbyBhYmFpeG8gY29uc3Ryw7NpIG9zIGtlcm5lbHMgZGUgaW50ZXJhw6fDo28gYXNzb2NpYWRvcyDDoHMgZXN0cnV0dXJhcyBhcmMtY29zaW5lIHBhcmEgdXNvIG5vcyBtb2RlbG9zIHBvc3RlcmlvcmVzLgoKYGBge3IgaW50ZXJhY3Rpb24tYWssIGV2YWw9RkFMU0V9CkdBS0UgPC0gR0FLICogWkVaRQpQQUtFIDwtIFBBSyAqIFpFWkUKR0FLVyA8LSBHQUsgKiBaVwpQQUtXIDwtIFBBSyAqIFpXCgpHQUtFWzE6NSwgMTo1XQpQQUtFWzE6NSwgMTo1XQpHQUtXWzE6NSwgMTo1XQpQQUtXWzE6NSwgMTo1XQpgYGAKCiMjIDE0LiBSZXN1bWlyIG9zIGtlcm5lbHMgbsOjbyBsaW5lYXJlcwoKQSB0YWJlbGEgYWJhaXhvIGZvcm5lY2UgdW1hIGNoZWNhZ2VtIGZpbmFsIGRlIGludGVncmlkYWRlIGRvcyBrZXJuZWxzIG7Do28gbGluZWFyZXMgYW50ZXMgZGEgZXhwb3J0YcOnw6NvLgoKQSBzYcOtZGEgYWJhaXhvIHJlc3VtZSBvcyBrZXJuZWxzIG7Do28gbGluZWFyZXMgZSBzdWFzIGludGVyYcOnw7Vlcywgb2ZlcmVjZW5kbyB1bWEgdmlzw6NvIGRpYWduw7NzdGljYSBmaW5hbCBkZXNzZXMgb2JqZXRvcy4KCmBgYHtyIGtlcm5lbC1zdW1tYXJ5LW5vbmxpbmVhcn0Ka2VybmVsX2ludmVudG9yeV9ub25saW5lYXIgPC0gZGF0YS5mcmFtZSgKICBrZXJuZWwgPSBjKCJHR0siLCAiUEdLIiwgIkdBSyIsICJQQUsiLCAiR0dLRSIsICJQR0tFIiwgIkdHS1ciLCAiUEdLVyIsICJHQUtFIiwgIlBBS0UiLCAiR0FLVyIsICJQQUtXIiksCiAgbl9yb3dzID0gYyhucm93KEdHSyksIG5yb3coUEdLKSwgbnJvdyhHQUspLCBucm93KFBBSyksIG5yb3coR0dLRSksIG5yb3coUEdLRSksIG5yb3coR0dLVyksIG5yb3coUEdLVyksIG5yb3coR0FLRSksIG5yb3coUEFLRSksIG5yb3coR0FLVyksIG5yb3coUEFLVykpLAogIG5fY29scyA9IGMobmNvbChHR0spLCBuY29sKFBHSyksIG5jb2woR0FLKSwgbmNvbChQQUspLCBuY29sKEdHS0UpLCBuY29sKFBHS0UpLCBuY29sKEdHS1cpLCBuY29sKFBHS1cpLCBuY29sKEdBS0UpLCBuY29sKFBBS0UpLCBuY29sKEdBS1cpLCBuY29sKFBBS1cpKSwKICBpc19zcXVhcmUgPSBjKAogICAgbnJvdyhHR0spID09IG5jb2woR0dLKSwgbnJvdyhQR0spID09IG5jb2woUEdLKSwgbnJvdyhHQUspID09IG5jb2woR0FLKSwgbnJvdyhQQUspID09IG5jb2woUEFLKSwKICAgIG5yb3coR0dLRSkgPT0gbmNvbChHR0tFKSwgbnJvdyhQR0tFKSA9PSBuY29sKFBHS0UpLCBucm93KEdHS1cpID09IG5jb2woR0dLVyksIG5yb3coUEdLVykgPT0gbmNvbChQR0tXKSwKICAgIG5yb3coR0FLRSkgPT0gbmNvbChHQUtFKSwgbnJvdyhQQUtFKSA9PSBuY29sKFBBS0UpLCBucm93KEdBS1cpID09IG5jb2woR0FLVyksIG5yb3coUEFLVykgPT0gbmNvbChQQUtXKQogICksCiAgc3ltbWV0cmljX25hbWVzID0gYygKICAgIGlkZW50aWNhbChyb3duYW1lcyhHR0spLCBjb2xuYW1lcyhHR0spKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBHSyksIGNvbG5hbWVzKFBHSykpLAogICAgaWRlbnRpY2FsKHJvd25hbWVzKEdBSyksIGNvbG5hbWVzKEdBSykpLCBpZGVudGljYWwocm93bmFtZXMoUEFLKSwgY29sbmFtZXMoUEFLKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0dLRSksIGNvbG5hbWVzKEdHS0UpKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBHS0UpLCBjb2xuYW1lcyhQR0tFKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0dLVyksIGNvbG5hbWVzKEdHS1cpKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBHS1cpLCBjb2xuYW1lcyhQR0tXKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0FLRSksIGNvbG5hbWVzKEdBS0UpKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBBS0UpLCBjb2xuYW1lcyhQQUtFKSksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0FLVyksIGNvbG5hbWVzKEdBS1cpKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBBS1cpLCBjb2xuYW1lcyhQQUtXKSkKICApLAogIGFsaWduZWRfd2l0aF9yZWZlcmVuY2UgPSBjKAogICAgaWRlbnRpY2FsKHJvd25hbWVzKEdHSyksIHJlZmVyZW5jZV9pZHMpLCBpZGVudGljYWwocm93bmFtZXMoUEdLKSwgcmVmZXJlbmNlX2lkcyksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0FLKSwgcmVmZXJlbmNlX2lkcyksIGlkZW50aWNhbChyb3duYW1lcyhQQUspLCByZWZlcmVuY2VfaWRzKSwKICAgIGlkZW50aWNhbChyb3duYW1lcyhHR0tFKSwgcmVmZXJlbmNlX2lkcyksIGlkZW50aWNhbChyb3duYW1lcyhQR0tFKSwgcmVmZXJlbmNlX2lkcyksCiAgICBpZGVudGljYWwocm93bmFtZXMoR0dLVyksIHJlZmVyZW5jZV9pZHMpLCBpZGVudGljYWwocm93bmFtZXMoUEdLVyksIHJlZmVyZW5jZV9pZHMpLAogICAgaWRlbnRpY2FsKHJvd25hbWVzKEdBS0UpLCByZWZlcmVuY2VfaWRzKSwgaWRlbnRpY2FsKHJvd25hbWVzKFBBS0UpLCByZWZlcmVuY2VfaWRzKSwKICAgIGlkZW50aWNhbChyb3duYW1lcyhHQUtXKSwgcmVmZXJlbmNlX2lkcyksIGlkZW50aWNhbChyb3duYW1lcyhQQUtXKSwgcmVmZXJlbmNlX2lkcykKICApCikKCmtlcm5lbF9pbnZlbnRvcnlfbm9ubGluZWFyICU+JQogIGRwbHlyOjptdXRhdGUoCiAgICBuX3Jvd3MgPSBmb3JtYXQobl9yb3dzLCBiaWcubWFyayA9ICIsIiksCiAgICBuX2NvbHMgPSBmb3JtYXQobl9jb2xzLCBiaWcubWFyayA9ICIsIikKICApICU+JQogIGtuaXRyOjprYWJsZSgKICAgIGNhcHRpb24gPSAiRGlhZ25vc3RpYyBzdW1tYXJ5IG9mIHRoZSBub25saW5lYXIgYW5kIGludGVyYWN0aW9uIGtlcm5lbHMuIiwKICAgIGFsaWduID0gImxjY2NjY2MiCiAgKSAlPiUKICBrYWJsZUV4dHJhOjprYWJsZV9zdHlsaW5nKAogICAgYm9vdHN0cmFwX29wdGlvbnMgPSBjKCJzdHJpcGVkIiwgImhvdmVyIiwgImNvbmRlbnNlZCIsICJyZXNwb25zaXZlIiksCiAgICBmdWxsX3dpZHRoID0gRkFMU0UsCiAgICBwb3NpdGlvbiA9ICJsZWZ0IgogICkgJT4lCiAga2FibGVFeHRyYTo6c2Nyb2xsX2JveCh3aWR0aCA9ICIxMDAlIiwgaGVpZ2h0ID0gIjM0MHB4IikKYGBgCiMjIDE1LiBGaWd1cmFzIGRpYWduw7NzdGljYXMgcGFyYSBvIGFydGlnbwoKUGFyYSByZXZlbGFyIG1haXMgY2xhcmFtZW50ZSBhIGVzdHJ1dHVyYSBpbnRlcm5hIGRvcyBrZXJuZWxzLCBubyBhcnF1aXZvIGVtIGluZ2zDqnMgbsOzcyBwbG90YW1vcyBhcyAqKm1hdHJpemVzIGNvbXBsZXRhcyoqIGVtIHZleiBkZSBhcGVuYXMgdW0gcGVxdWVubyBzdWJjb25qdW50byBubyBjYW50byBzdXBlcmlvciBlc3F1ZXJkby4gQ2FkYSBtYXRyaXogw6kgcmVvcmRlbmFkYSBwb3IgY2x1c3RlcmluZyBoaWVyw6FycXVpY28gY29tIGJhc2UgbmEgKipkaXN0w6JuY2lhIGluZHV6aWRhIHBlbG8ga2VybmVsKiogZW50cmUgaW5kaXbDrWR1b3Mgb3Ugb2JzZXJ2YcOnw7VlczoKClxbCmRfe2lqfT1cc3FydHtLX3tpaX0rS197amp9LTJLX3tpan19ClxdCgpBIG1lc21hIG9yZGVtIGRlIGNsdXN0ZXJpbmcgw6kgZW50w6NvIGFwbGljYWRhIMOgcyBsaW5oYXMgZSBjb2x1bmFzIGRhIG1hdHJpei4gSXNzbyBmYWNpbGl0YSBpZGVudGlmaWNhciBlc3RydXR1cmEgZW0gYmxvY29zLCBwYWRyw7VlcyBsb2NhaXMgZGUgc2ltaWxhcmlkYWRlIGUgY29udHJhc3RlcyBlbnRyZSBvcyBrZXJuZWxzIGxpbmVhcmVzLCBHYXVzc2lhbm9zIGUgYXJjLWNvc2luZS4KCkNvbW8gZXNzYXMgbWF0cml6ZXMgc8OjbyBxdWFkcmFkYXMsIGNhZGEgbWFwYSBkZSBjYWxvciDDqSBleGliaWRvIGNvbSBgY29vcmRfZml4ZWQoKWAgZSBleHBvcnRhZG8gY29tIGB3aWR0aCA9IGhlaWdodGAgcGFyYSBxdWUgYSByYXrDo28gdmlzdWFsIGNvcnJlc3BvbmRhIMOgIGVzdHJ1dHVyYSBtYXRlbcOhdGljYSBkYSBtYXRyaXouCgpBIGZpZ3VyYSBhYmFpeG8gY29tcGFyYSB2aXN1YWxtZW50ZSBvIGNvbXBvcnRhbWVudG8gZG9zIHByaW5jaXBhaXMga2VybmVscy4KCmBgYHtyIGtlcm5lbC1kaWFnbm9zdGljLWZpZ3VyZS1zcXVhcmUsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTh9Cmtlcm5lbF9wbG90X2luZm8gPC0gZGF0YS5mcmFtZSgKICBLZXJuZWxOYW1lID0gYygiWkciLCAiR0dLIiwgIkdBSyIsICJaUCIsICJQR0siLCAiUEFLIiksCiAgS2VybmVsTGFiZWwgPSBjKAogICAgIkxpbmVhciBnZW5vbWljIGtlcm5lbCIsCiAgICAiR2F1c3NpYW4gZ2Vub21pYyBrZXJuZWwiLAogICAgIkFyYy1jb3NpbmUgZ2Vub21pYyBrZXJuZWwiLAogICAgIkxpbmVhciBwaGVub21pYyBrZXJuZWwiLAogICAgIkdhdXNzaWFuIHBoZW5vbWljIGtlcm5lbCIsCiAgICAiQXJjLWNvc2luZSBwaGVub21pYyBrZXJuZWwiCiAgKSwKICBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UKKQoKZGlyLmNyZWF0ZSgib3V0cHV0L01hdHJpemVzL2ZpZ3VyZXMiLCByZWN1cnNpdmUgPSBUUlVFLCBzaG93V2FybmluZ3MgPSBGQUxTRSkKCmZvciAoaSBpbiBzZXFfbGVuKG5yb3coa2VybmVsX3Bsb3RfaW5mbykpKSB7CgogIGN1cnJlbnRfbmFtZSA8LSBrZXJuZWxfcGxvdF9pbmZvJEtlcm5lbE5hbWVbaV0KICBjdXJyZW50X2xhYmVsIDwtIGtlcm5lbF9wbG90X2luZm8kS2VybmVsTGFiZWxbaV0KICBjdXJyZW50X21hdHJpeCA8LSBnZXQoY3VycmVudF9uYW1lKQoKICBjdXJyZW50X21hdHJpeCA8LSBhcy5tYXRyaXgoY3VycmVudF9tYXRyaXgpCiAgY3VycmVudF9tYXRyaXggPC0gKGN1cnJlbnRfbWF0cml4ICsgdChjdXJyZW50X21hdHJpeCkpIC8gMgoKICBkaWFnX3ZhbHVlcyA8LSBkaWFnKGN1cnJlbnRfbWF0cml4KQogIGRpc3RhbmNlX3NxdWFyZWQgPC0gb3V0ZXIoZGlhZ192YWx1ZXMsIGRpYWdfdmFsdWVzLCAiKyIpIC0gMiAqIGN1cnJlbnRfbWF0cml4CiAgZGlzdGFuY2Vfc3F1YXJlZFtkaXN0YW5jZV9zcXVhcmVkIDwgMF0gPC0gMAogIGRpc3RhbmNlX21hdHJpeCA8LSBzcXJ0KGRpc3RhbmNlX3NxdWFyZWQpCgogIGhjIDwtIGhjbHVzdChhcy5kaXN0KGRpc3RhbmNlX21hdHJpeCksIG1ldGhvZCA9ICJhdmVyYWdlIikKICBvcmQgPC0gaGMkb3JkZXIKCiAgY3VycmVudF9tYXRyaXhfb3JkZXJlZCA8LSBjdXJyZW50X21hdHJpeFtvcmQsIG9yZCwgZHJvcCA9IEZBTFNFXQoKICByb3duYW1lcyhjdXJyZW50X21hdHJpeF9vcmRlcmVkKSA8LSBzZXFfbGVuKG5yb3coY3VycmVudF9tYXRyaXhfb3JkZXJlZCkpCiAgY29sbmFtZXMoY3VycmVudF9tYXRyaXhfb3JkZXJlZCkgPC0gc2VxX2xlbihuY29sKGN1cnJlbnRfbWF0cml4X29yZGVyZWQpKQoKICBjdXJyZW50X2RmIDwtIGFzLmRhdGEuZnJhbWUoYXMudGFibGUoY3VycmVudF9tYXRyaXhfb3JkZXJlZCkpCiAgY29sbmFtZXMoY3VycmVudF9kZikgPC0gYygiUm93IiwgIkNvbHVtbiIsICJWYWx1ZSIpCiAgY3VycmVudF9kZiRSb3cgPC0gZmFjdG9yKGN1cnJlbnRfZGYkUm93LCBsZXZlbHMgPSByZXYodW5pcXVlKGN1cnJlbnRfZGYkUm93KSkpCiAgY3VycmVudF9kZiRDb2x1bW4gPC0gZmFjdG9yKGN1cnJlbnRfZGYkQ29sdW1uLCBsZXZlbHMgPSB1bmlxdWUoY3VycmVudF9kZiRDb2x1bW4pKQoKICBjdXJyZW50X3Bsb3QgPC0gZ2dwbG90KGN1cnJlbnRfZGYsIGFlcyh4ID0gQ29sdW1uLCB5ID0gUm93LCBmaWxsID0gVmFsdWUpKSArCiAgICBnZW9tX3Jhc3RlcigpICsKICAgIHNjYWxlX2ZpbGxfZ3JhZGllbnQyKAogICAgICBsb3cgPSAiIzIxNjZBQyIsCiAgICAgIG1pZCA9ICJ3aGl0ZSIsCiAgICAgIGhpZ2ggPSAiI0IyMTgyQiIsCiAgICAgIG1pZHBvaW50ID0gbWVkaWFuKGN1cnJlbnRfZGYkVmFsdWUsIG5hLnJtID0gVFJVRSksCiAgICAgIG5hbWUgPSAiVmFsb3IgZG8ga2VybmVsIgogICAgKSArCiAgICBjb29yZF9maXhlZCgpICsKICAgIGxhYnMoCiAgICAgIHRpdGxlID0gY3VycmVudF9uYW1lLAogICAgICBzdWJ0aXRsZSA9IGN1cnJlbnRfbGFiZWwsCiAgICAgIHggPSAiT3JkZXJlZCBvYnNlcnZhdGlvbnMiLAogICAgICB5ID0gIk9yZGVyZWQgb2JzZXJ2YXRpb25zIgogICAgKSArCiAgICB0aGVtZV9taW5pbWFsKGJhc2Vfc2l6ZSA9IDExKSArCiAgICB0aGVtZSgKICAgICAgcGxvdC50aXRsZSA9IGVsZW1lbnRfdGV4dChmYWNlID0gImJvbGQiLCBzaXplID0gMTIsIGhqdXN0ID0gMC41KSwKICAgICAgcGxvdC5zdWJ0aXRsZSA9IGVsZW1lbnRfdGV4dChzaXplID0gMTAsIGhqdXN0ID0gMC41KSwKICAgICAgYXhpcy50aXRsZSA9IGVsZW1lbnRfdGV4dChmYWNlID0gImJvbGQiKSwKICAgICAgYXhpcy50ZXh0ID0gZWxlbWVudF9ibGFuaygpLAogICAgICBheGlzLnRpY2tzID0gZWxlbWVudF9ibGFuaygpLAogICAgICBsZWdlbmQudGl0bGUgPSBlbGVtZW50X3RleHQoZmFjZSA9ICJib2xkIiksCiAgICAgIGxlZ2VuZC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemUgPSA4KSwKICAgICAgcGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKQogICAgKQoKICBwcmludChjdXJyZW50X3Bsb3QpCgogIGdnc2F2ZSgKICAgIGZpbGVuYW1lID0gcGFzdGUwKCJvdXRwdXQvTWF0cml6ZXMvZmlndXJlcy8iLCBjdXJyZW50X25hbWUsICJfb3JkZXJlZF9oZWF0bWFwLnRpZmYiKSwKICAgIHBsb3QgPSBjdXJyZW50X3Bsb3QsCiAgICB3aWR0aCA9IDgsCiAgICBoZWlnaHQgPSA4LAogICAgZHBpID0gMzAwLAogICAgY29tcHJlc3Npb24gPSAibHp3IiwKICAgIGJnID0gIndoaXRlIgogICkKfQpgYGAKCiMjIDE2LiBTYWx2YXIgYXMgc2HDrWRhcyBlIGxpbXBhciBvIGFtYmllbnRlCgpPcyBvYmpldG9zIGRlIGtlcm5lbCBjcmlhZG9zIG5lc3RlIHR1dG9yaWFsIHPDo28gY29tcHV0YWNpb25hbG1lbnRlIGNhcm9zIHBhcmEgcmVwcm9kdXppci4gUG9yIGlzc28sIGEgZXRhcGEgZmluYWwgb3Mgc2FsdmEgY29tbyBhcnF1aXZvcyBgLnJkc2AgZSBsaW1wYSBvIHdvcmtzcGFjZSBwYXJhIHF1ZSBvIHByw7N4aW1vIHNjcmlwdCBkZSBtb2RlbGFnZW0gcG9zc2EgY29tZcOnYXIgY29tIHVtIGVzdGFkbyBkZSBtZW3Ds3JpYSBtYWlzIGxldmUuCgpFc3RhIMO6bHRpbWEgc2XDp8OjbyB0YW1iw6ltIMOpIGVzY3JpdGEgZGUgZm9ybWEgZGlyZXRhOiBsaXN0YW1vcyBxdWFpcyBvYmpldG9zIHNlcsOjbyBzYWx2b3MsIGVzY3JldmVtb3MgdHVkbyBlbSBkaXNjbywgZXhwb3J0YW1vcyBhcyB0YWJlbGFzIGRpYWduw7NzdGljYXMsIHJlbW92ZW1vcyBvcyBvYmpldG9zIHRlbXBvcsOhcmlvcyByZXN0YW50ZXMgZSBlbnTDo28gcmVjYXJyZWdhbW9zIGFzIG1hdHJpemVzIHNhbHZhcy4KCk8gYmxvY28gZmluYWwgZGUgY8OzZGlnbyBncmF2YSB0b2RhcyBhcyBtYXRyaXplcyBlIGtlcm5lbHMgZW0gZGlzY28gZSBmYXogdW1hIGxpbXBlemEgYsOhc2ljYSBwYXJhIHF1ZSBvcyBtw7NkdWxvcyBzZWd1aW50ZXMgcG9zc2FtIGNhcnJlZ2FyIG9zIGFydGVmYXRvcyBkaXJldGFtZW50ZS4KCmBgYHtyIHNhdmUtYW5kLWNsZWFuLCBtZXNzYWdlPUZBTFNFLCBldmFsPUZBTFNFfQprZWVwX25hbWVzIDwtIGMoCiAgIlpFIiwgIlpFWkUiLCAiWkciLCAiWlAiLCAiWkdaRSIsICJaUFpFIiwgIlpXIiwgIlpHWlciLCAiWlBaVyIsCiAgIkdHSyIsICJQR0siLCAiR0dLRSIsICJQR0tFIiwgIkdHS1ciLCAiUEdLVyIsCiAgIkdBSyIsICJQQUsiLCAiR0FLRSIsICJQQUtFIiwgIkdBS1ciLCAiUEFLVyIsCiAgIlBoZW5vIiwgIlBlZGlncmVlIiwgIlBlZGlncmVlX2NvbW11bnMiLCAiR2Vuby5hbGwiLCAiTklSLmFsbCIsICJXIgopCgpjdXJyZW50X29ianMgPC0gbHMoZW52aXIgPSAuR2xvYmFsRW52KQp0b19rZWVwIDwtIGludGVyc2VjdChjdXJyZW50X29ianMsIGtlZXBfbmFtZXMpCnRvX3JlbW92ZSA8LSBzZXRkaWZmKGN1cnJlbnRfb2JqcywgdG9fa2VlcCkKCm1lc3NhZ2UoIk9iamVjdHMga2VwdCAoIiwgbGVuZ3RoKHRvX2tlZXApLCAiKTogIiwgcGFzdGUodG9fa2VlcCwgY29sbGFwc2UgPSAiLCAiKSkKbWVzc2FnZSgKICAiT2JqZWN0cyByZW1vdmVkICgiLCBsZW5ndGgodG9fcmVtb3ZlKSwgIik6ICIsCiAgcGFzdGUoaGVhZCh0b19yZW1vdmUsIDQwKSwgY29sbGFwc2UgPSAiLCAiKSwKICBpZiAobGVuZ3RoKHRvX3JlbW92ZSkgPiA0MCkgcGFzdGUwKCIgLi4uICgrIiwgbGVuZ3RoKHRvX3JlbW92ZSkgLSA0MCwgIiBtb3JlKSIpCikKCmZvciAob2JqX25hbWUgaW4gdG9fa2VlcCkgewogIHNhdmVSRFMoZ2V0KG9ial9uYW1lKSwgZmlsZSA9IGZpbGUucGF0aCgib3V0cHV0L01hdHJpemVzIiwgcGFzdGUwKG9ial9uYW1lLCAiLnJkcyIpKSkKfQoKd3JpdGUuY3N2KAogIGtlcm5lbF9pbnZlbnRvcnlfbGluZWFyLAogIGZpbGUgPSAib3V0cHV0L01hdHJpemVzL2tlcm5lbF9pbnZlbnRvcnlfbGluZWFyLmNzdiIsCiAgcm93Lm5hbWVzID0gRkFMU0UKKQoKd3JpdGUuY3N2KAogIGtlcm5lbF9pbnZlbnRvcnlfbm9ubGluZWFyLAogIGZpbGUgPSAib3V0cHV0L01hdHJpemVzL2tlcm5lbF9pbnZlbnRvcnlfbm9ubGluZWFyLmNzdiIsCiAgcm93Lm5hbWVzID0gRkFMU0UKKQoKcm0obGlzdCA9IHRvX3JlbW92ZSwgZW52aXIgPSAuR2xvYmFsRW52KQpnYygpCgpyZHNfZmlsZXMgPC0gbGlzdC5maWxlcygib3V0cHV0L01hdHJpemVzIiwgcGF0dGVybiA9ICJcXC5yZHMkIiwgZnVsbC5uYW1lcyA9IFRSVUUpCgpmb3IgKGZpbGUgaW4gcmRzX2ZpbGVzKSB7CiAgb2JqX25hbWUgPC0gdG9vbHM6OmZpbGVfcGF0aF9zYW5zX2V4dChiYXNlbmFtZShmaWxlKSkKICBhc3NpZ24ob2JqX25hbWUsIHJlYWRSRFMoZmlsZSksIGVudmlyID0gLkdsb2JhbEVudikKfQoKbWVzc2FnZSgiT2JqZWN0cyByZWxvYWRlZDogIiwgcGFzdGUodG9vbHM6OmZpbGVfcGF0aF9zYW5zX2V4dChiYXNlbmFtZShyZHNfZmlsZXMpKSwgY29sbGFwc2UgPSAiLCAiKSkKYGBgCiMjIDE2LiBPYnNlcnZhw6fDtWVzIGZpbmFpcwoKRXN0ZSB0dXRvcmlhbCBjb252ZXJ0ZSBpbmZvcm1hw6fDo28gZ2Vuw7RtaWNhLCBmZW7DtG1pY2EgZSBjbGltw6F0aWNhIGJydXRhIGVtIHVtYSBjb2xlw6fDo28gcmVwcm9kdXTDrXZlbCBkZSBrZXJuZWxzIGFsaW5oYWRvcyBlIHByb250b3MgcGFyYSBvcyBtb2RlbG9zIHByZWRpdGl2b3MgcG9zdGVyaW9yZXMuCgpEbyBwb250byBkZSB2aXN0YSBkbyBmbHV4byBjaWVudMOtZmljbywgZXN0ZSBzY3JpcHQgZXhlcmNlIHVtIHBhcGVsIGVzdHJ1dHVyYWwgbm8gcHJvamV0bzoKCi0gZGVmaW5lIGEgb3JkZW0gZGFzIG9ic2VydmHDp8O1ZXMgdXNhZGEgbmEgZXRhcGEgZGUgbW9kZWxhZ2VtOwotIHRvcm5hIGV4cGzDrWNpdGEgYSByZXByZXNlbnRhw6fDo28gYW1iaWVudGFsOwotIGFybWF6ZW5hIG9zIGtlcm5lbHMgY29tbyBhcnRlZmF0b3MgY29tcHV0YWNpb25haXMgcmV1dGlsaXrDoXZlaXM7Ci0gZSBkb2N1bWVudGEgY29tbyBhcyByZWxhw6fDtWVzIGxpbmVhcmVzIGUgbsOjbyBsaW5lYXJlcyBmb3JhbSBjb2RpZmljYWRhcy4KCk5hIGV0YXBhIHNlZ3VpbnRlIGRvIHByb2pldG8sIGVzc2VzIGtlcm5lbHMgdG9ybmFtLXNlIGFzIGVudHJhZGFzIGRvcyBtb2RlbG9zIGRlIHByZWRpw6fDo28gZ2Vuw7RtaWNhIGNvbXBhcmFkb3Mgbm8gYXJ0aWdvLgoKIyMgTmF2ZWdhw6fDo28gZW50cmUgZXRhcGFzCgoqKkV0YXBhIGFudGVyaW9yOioqIFtEYWRvcyBjbGltw6F0aWNvc10oY2xpbWF0ZV9kYXRhX3B0Lmh0bWwpICAKKipQcsOzeGltYSBldGFwYToqKiBbQ29tcG9uZW50ZXMgZGUgdmFyacOibmNpYV0odmFyaWFuY2VfY29tcG9uZW50c19wdC5odG1sKQ==