From 28e77680c560017b4f250aec834e783e0afdb79c Mon Sep 17 00:00:00 2001 From: "Matthijs S. Berends" Date: Thu, 8 Oct 2020 11:16:03 +0200 Subject: [PATCH] (v1.4.0) matching score update --- .github/workflows/check.yaml | 10 +- .github/workflows/codecovr.yaml | 10 +- .github/workflows/lintr.yaml | 12 +- .gitignore | 1 + DESCRIPTION | 6 +- NEWS.md | 16 +- R/aa_helper_functions.R | 13 +- R/aa_helper_pm_functions.R | 10 +- R/ab.R | 10 +- R/ab_class_selectors.R | 10 +- R/ab_from_text.R | 10 +- R/ab_property.R | 10 +- R/age.R | 10 +- R/amr.R | 12 +- R/atc_online.R | 10 +- R/availability.R | 10 +- R/bug_drug_combinations.R | 10 +- R/catalogue_of_life.R | 10 +- R/count.R | 10 +- R/data.R | 12 +- R/deprecated.R | 10 +- R/disk.R | 10 +- R/eucast_rules.R | 10 +- R/filter_ab_class.R | 10 +- R/first_isolate.R | 12 +- R/g.test.R | 10 +- R/ggplot_pca.R | 10 +- R/ggplot_rsi.R | 10 +- R/globals.R | 10 +- R/guess_ab_col.R | 10 +- R/join_microorganisms.R | 10 +- R/key_antibiotics.R | 10 +- R/kurtosis.R | 12 +- R/lifecycle.R | 10 +- R/like.R | 10 +- R/mdro.R | 12 +- R/mic.R | 10 +- R/mo.R | 10 +- R/mo_matching_score.R | 44 +- R/mo_property.R | 10 +- R/mo_source.R | 10 +- R/p_symbol.R | 10 +- R/pca.R | 10 +- R/proportion.R | 10 +- R/resistance_predict.R | 10 +- R/rsi.R | 12 +- R/rsi_calc.R | 10 +- R/rsi_df.R | 10 +- R/skewness.R | 12 +- R/translate.R | 10 +- R/whocc.R | 10 +- R/zzz.R | 22 +- README.md | 2 +- _pkgdown.yml | 14 +- codecov.yml | 10 +- data-raw/country_analysis.R | 206 -------- data-raw/internals.R | 10 +- data-raw/loinc.R | 10 +- data-raw/poorman_prepend.R | 10 +- data-raw/read_EUCAST.R | 10 +- data-raw/reproduction_of_antibiotics.R | 10 +- data-raw/reproduction_of_antivirals.R | 10 +- ...reproduction_of_example_isolates_unclean.R | 10 +- .../reproduction_of_intrinsic_resistant.R | 10 +- data-raw/reproduction_of_microorganisms.R | 10 +- data-raw/snomed.R | 10 +- docs/404.html | 28 +- docs/LICENSE-text.html | 2 +- docs/articles/AMR.html | 476 +++++++++--------- .../AMR_files/figure-html/plot 1-1.png | Bin 65753 -> 65635 bytes .../AMR_files/figure-html/plot 3-1.png | Bin 52088 -> 52078 bytes .../AMR_files/figure-html/plot 4-1.png | Bin 104466 -> 104467 bytes .../AMR_files/figure-html/plot 5-1.png | Bin 84961 -> 85066 bytes .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/EUCAST.html | 6 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/MDR.html | 60 +-- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/PCA.html | 2 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/SPSS.html | 4 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/WHONET.html | 2 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/benchmarks.html | 92 ++-- .../figure-html/unnamed-chunk-4-1.png | Bin 90007 -> 90089 bytes .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/datasets.html | 4 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/index.html | 2 +- docs/articles/resistance_predict.html | 2 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/articles/welcome_to_AMR.html | 2 +- .../header-attrs-2.3/header-attrs.js | 12 + docs/authors.html | 2 +- docs/countries.png | Bin 61322 -> 61274 bytes docs/countries_large.png | Bin 1504277 -> 1510234 bytes docs/extra.css | 10 +- docs/extra.js | 10 +- docs/index.html | 6 +- docs/news/index.html | 63 ++- docs/pkgdown.yml | 8 +- docs/reference/AMR.html | 2 +- docs/reference/WHOCC.html | 2 +- docs/reference/WHONET.html | 2 +- docs/reference/ab_from_text.html | 2 +- docs/reference/ab_property.html | 2 +- docs/reference/age.html | 2 +- docs/reference/age_groups-1.png | Bin 0 -> 64143 bytes docs/reference/age_groups.html | 2 +- .../reference/antibiotic_class_selectors.html | 2 +- docs/reference/antibiotics.html | 2 +- docs/reference/as.ab.html | 4 +- docs/reference/as.disk.html | 2 +- docs/reference/as.mic-1.png | Bin 0 -> 43250 bytes docs/reference/as.mic.html | 2 +- docs/reference/as.mo.html | 4 +- docs/reference/as.rsi-1.png | Bin 0 -> 59411 bytes docs/reference/as.rsi-2.png | Bin 0 -> 50758 bytes docs/reference/as.rsi.html | 4 +- docs/reference/atc_online.html | 2 +- docs/reference/availability.html | 2 +- docs/reference/bug_drug_combinations.html | 2 +- docs/reference/catalogue_of_life.html | 2 +- docs/reference/catalogue_of_life_version.html | 2 +- docs/reference/count.html | 4 +- docs/reference/eucast_rules.html | 4 +- docs/reference/example_isolates.html | 2 +- docs/reference/example_isolates_unclean.html | 2 +- docs/reference/first_isolate.html | 4 +- docs/reference/g.test.html | 2 +- docs/reference/ggplot_pca-1.png | Bin 0 -> 86391 bytes docs/reference/ggplot_pca-2.png | Bin 0 -> 140830 bytes docs/reference/ggplot_rsi-1.png | Bin 0 -> 60043 bytes docs/reference/ggplot_rsi-2.png | Bin 0 -> 61449 bytes docs/reference/ggplot_rsi-3.png | Bin 0 -> 75039 bytes docs/reference/ggplot_rsi-4.png | Bin 0 -> 75695 bytes docs/reference/ggplot_rsi-5.png | Bin 0 -> 79352 bytes docs/reference/ggplot_rsi.html | 2 +- docs/reference/guess_ab_col.html | 4 +- docs/reference/index.html | 4 +- docs/reference/intrinsic_resistant.html | 2 +- docs/reference/join.html | 2 +- docs/reference/key_antibiotics.html | 2 +- docs/reference/kurtosis.html | 6 +- docs/reference/like.html | 2 +- docs/reference/mdro.html | 8 +- docs/reference/microorganisms.codes.html | 2 +- docs/reference/microorganisms.html | 4 +- docs/reference/microorganisms.old.html | 2 +- docs/reference/mo_matching_score.html | 2 +- docs/reference/mo_property.html | 4 +- docs/reference/mo_source.html | 4 +- docs/reference/p_symbol.html | 2 +- docs/reference/pca-1.png | Bin 0 -> 76486 bytes docs/reference/pca-2.png | Bin 0 -> 137834 bytes docs/reference/plot.html | 2 +- docs/reference/proportion.html | 4 +- docs/reference/resistance_predict-1.png | Bin 0 -> 69588 bytes docs/reference/resistance_predict-2.png | Bin 0 -> 90354 bytes docs/reference/resistance_predict-3.png | Bin 0 -> 74673 bytes docs/reference/resistance_predict-4.png | Bin 0 -> 77749 bytes docs/reference/resistance_predict.html | 4 +- docs/reference/rsi_translation.html | 2 +- docs/reference/skewness.html | 6 +- docs/reference/translate.html | 2 +- docs/sitemap.xml | 122 ++--- docs/survey.html | 2 +- git_merge.sh | 10 +- git_premaster.sh | 10 +- git_siteonly.sh | 10 +- index.md | 6 +- man/AMR.Rd | 2 +- man/WHOCC.Rd | 2 +- man/WHONET.Rd | 2 +- man/ab_from_text.Rd | 2 +- man/ab_property.Rd | 2 +- man/age.Rd | 2 +- man/age_groups.Rd | 2 +- man/antibiotic_class_selectors.Rd | 2 +- man/antibiotics.Rd | 2 +- man/as.ab.Rd | 2 +- man/as.disk.Rd | 2 +- man/as.mic.Rd | 2 +- man/as.mo.Rd | 4 +- man/as.rsi.Rd | 4 +- man/atc_online.Rd | 2 +- man/availability.Rd | 2 +- man/bug_drug_combinations.Rd | 2 +- man/catalogue_of_life.Rd | 2 +- man/catalogue_of_life_version.Rd | 2 +- man/count.Rd | 4 +- man/eucast_rules.Rd | 2 +- man/example_isolates.Rd | 2 +- man/example_isolates_unclean.Rd | 2 +- man/first_isolate.Rd | 4 +- man/g.test.Rd | 2 +- man/ggplot_rsi.Rd | 2 +- man/guess_ab_col.Rd | 2 +- man/intrinsic_resistant.Rd | 2 +- man/join.Rd | 2 +- man/key_antibiotics.Rd | 2 +- man/kurtosis.Rd | 4 +- man/like.Rd | 2 +- man/mdro.Rd | 6 +- man/microorganisms.Rd | 4 +- man/microorganisms.codes.Rd | 2 +- man/microorganisms.old.Rd | 2 +- man/mo_matching_score.Rd | 2 +- man/mo_property.Rd | 4 +- man/mo_source.Rd | 2 +- man/p_symbol.Rd | 2 +- man/plot.Rd | 2 +- man/proportion.Rd | 4 +- man/resistance_predict.Rd | 4 +- man/rsi_translation.Rd | 2 +- man/skewness.Rd | 4 +- man/translate.Rd | 2 +- pkgdown/extra.css | 10 +- pkgdown/extra.js | 10 +- pkgdown/logos/countries.png | Bin 61322 -> 61274 bytes pkgdown/logos/countries_large.png | Bin 1504277 -> 1510234 bytes tests/testthat.R | 10 +- tests/testthat/test-_deprecated.R | 10 +- tests/testthat/test-_misc.R | 10 +- tests/testthat/test-ab.R | 10 +- tests/testthat/test-ab_from_text.R | 10 +- tests/testthat/test-ab_property.R | 10 +- tests/testthat/test-age.R | 10 +- .../test-antibiotic_class_selectors.R | 10 +- tests/testthat/test-atc_online.R | 10 +- tests/testthat/test-availability.R | 10 +- tests/testthat/test-bug_drug_combinations.R | 10 +- tests/testthat/test-count.R | 10 +- tests/testthat/test-data.R | 10 +- tests/testthat/test-disk.R | 8 +- tests/testthat/test-eucast_rules.R | 10 +- tests/testthat/test-filter_ab_class.R | 10 +- tests/testthat/test-first_isolate.R | 10 +- tests/testthat/test-g.test.R | 10 +- tests/testthat/test-get_locale.R | 10 +- tests/testthat/test-ggplot_rsi.R | 10 +- tests/testthat/test-guess_ab_col.R | 10 +- tests/testthat/test-join_microorganisms.R | 10 +- tests/testthat/test-key_antibiotics.R | 10 +- tests/testthat/test-kurtosis.R | 10 +- tests/testthat/test-like.R | 10 +- tests/testthat/test-mdro.R | 10 +- tests/testthat/test-mic.R | 10 +- tests/testthat/test-mo.R | 10 +- tests/testthat/test-mo_property.R | 10 +- tests/testthat/test-p_symbol.R | 10 +- tests/testthat/test-pca.R | 10 +- tests/testthat/test-proportion.R | 10 +- tests/testthat/test-resistance_predict.R | 10 +- tests/testthat/test-rsi.R | 10 +- tests/testthat/test-skewness.R | 10 +- vignettes/AMR.Rmd | 4 +- vignettes/EUCAST.Rmd | 2 +- vignettes/MDR.Rmd | 2 +- vignettes/datasets.Rmd | 2 +- 261 files changed, 1458 insertions(+), 1141 deletions(-) delete mode 100644 data-raw/country_analysis.R create mode 100644 docs/articles/AMR_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/EUCAST_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/MDR_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/PCA_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/SPSS_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/WHONET_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/datasets_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/resistance_predict_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/articles/welcome_to_AMR_files/header-attrs-2.3/header-attrs.js create mode 100644 docs/reference/age_groups-1.png create mode 100644 docs/reference/as.mic-1.png create mode 100644 docs/reference/as.rsi-1.png create mode 100644 docs/reference/as.rsi-2.png create mode 100644 docs/reference/ggplot_pca-1.png create mode 100644 docs/reference/ggplot_pca-2.png create mode 100644 docs/reference/ggplot_rsi-1.png create mode 100644 docs/reference/ggplot_rsi-2.png create mode 100644 docs/reference/ggplot_rsi-3.png create mode 100644 docs/reference/ggplot_rsi-4.png create mode 100644 docs/reference/ggplot_rsi-5.png create mode 100644 docs/reference/pca-1.png create mode 100644 docs/reference/pca-2.png create mode 100644 docs/reference/resistance_predict-1.png create mode 100644 docs/reference/resistance_predict-2.png create mode 100644 docs/reference/resistance_predict-3.png create mode 100644 docs/reference/resistance_predict-4.png diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml index 46857eef..75a1f682 100644 --- a/.github/workflows/check.yaml +++ b/.github/workflows/check.yaml @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # on: diff --git a/.github/workflows/codecovr.yaml b/.github/workflows/codecovr.yaml index aee14073..62aa728e 100644 --- a/.github/workflows/codecovr.yaml +++ b/.github/workflows/codecovr.yaml @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # on: diff --git a/.github/workflows/lintr.yaml b/.github/workflows/lintr.yaml index 7931193b..ce68eba9 100644 --- a/.github/workflows/lintr.yaml +++ b/.github/workflows/lintr.yaml @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # -# the Free Software Foundation. # -# # +# the Free Software Foundation. # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # on: diff --git a/.gitignore b/.gitignore index 08217d47..6b83402f 100755 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ data-raw/taxa.txt data-raw/taxon.tab data-raw/DSMZ_bactnames.xlsx data-raw/country_analysis_url_token.R +data-raw/country_analysis2.R diff --git a/DESCRIPTION b/DESCRIPTION index 4373a40d..26d41b0c 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,6 +1,6 @@ Package: AMR -Version: 1.3.0.9039 -Date: 2020-10-04 +Version: 1.4.0 +Date: 2020-10-08 Title: Antimicrobial Resistance Analysis Authors@R: c( person(role = c("aut", "cre"), @@ -56,7 +56,7 @@ Suggests: tidyr, xml2 VignetteBuilder: knitr,rmarkdown -URL: https://msberends.github.io/AMR, https://github.com/msberends/AMR +URL: https://msberends.github.io/AMR/, https://github.com/msberends/AMR BugReports: https://github.com/msberends/AMR/issues License: GPL-2 | file LICENSE Encoding: UTF-8 diff --git a/NEWS.md b/NEWS.md index bbbd5870..e7dca93f 100755 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,5 @@ -# AMR 1.3.0.9039 -## Last updated: 4 October 2020 +# AMR 1.4.0 + Note: some changes in this version were suggested by anonymous reviewers from the journal we submitted our manuscipt about this package to. We are those reviewers very grateful for going through our code so thoroughly! @@ -206,7 +206,7 @@ Note: some changes in this version were suggested by anonymous reviewers from th This software is now out of beta and considered stable. Nonetheless, this package will be developed continually. ### New -* Support for the newest [EUCAST Clinical Breakpoint Tables v.10.0](http://www.eucast.org/clinical_breakpoints/), valid from 1 January 2020. This affects translation of MIC and disk zones using `as.rsi()` and inferred resistance and susceptibility using `eucast_rules()`. +* Support for the newest [EUCAST Clinical Breakpoint Tables v.10.0](https://www.eucast.org/clinical_breakpoints/), valid from 1 January 2020. This affects translation of MIC and disk zones using `as.rsi()` and inferred resistance and susceptibility using `eucast_rules()`. * The repository of this package now contains a clean version of the EUCAST and CLSI guidelines from 2011-2020 to translate MIC and disk diffusion values to R/SI: . This **allows for machine reading these guidelines**, which is almost impossible with the Excel and PDF files distributed by EUCAST and CLSI. This file used to process the EUCAST Clinical Breakpoints Excel file [can be found here](https://github.com/msberends/AMR/blob/master/data-raw/read_EUCAST.R). * Support for LOINC and SNOMED codes * Support for LOINC codes in the `antibiotics` data set. Use `ab_loinc()` to retrieve LOINC codes, or use a LOINC code for input in any `ab_*` function: @@ -252,7 +252,7 @@ This software is now out of beta and considered stable. Nonetheless, this packag # AMR 0.9.0 ### Breaking -* Adopted Adeolu *et al.* (2016), [PMID 27620848](https://www.ncbi.nlm.nih.gov/pubmed/27620848) for the `microorganisms` data set, which means that the new order Enterobacterales now consists of a part of the existing family Enterobacteriaceae, but that this family has been split into other families as well (like *Morganellaceae* and *Yersiniaceae*). Although published in 2016, this information is not yet in the Catalogue of Life version of 2019. All MDRO determinations with `mdro()` will now use the Enterobacterales order for all guidelines before 2016 that were dependent on the Enterobacteriaceae family. +* Adopted Adeolu *et al.* (2016), [PMID 27620848](https:/pubmed.ncbi.nlm.nih.gov/27620848/) for the `microorganisms` data set, which means that the new order Enterobacterales now consists of a part of the existing family Enterobacteriaceae, but that this family has been split into other families as well (like *Morganellaceae* and *Yersiniaceae*). Although published in 2016, this information is not yet in the Catalogue of Life version of 2019. All MDRO determinations with `mdro()` will now use the Enterobacterales order for all guidelines before 2016 that were dependent on the Enterobacteriaceae family. * If you were dependent on the old Enterobacteriaceae family e.g. by using in your code: ```r if (mo_family(somebugs) == "Enterobacteriaceae") ... @@ -591,7 +591,7 @@ We've got a new website: [https://msberends.gitlab.io/AMR](https://msberends.git * Due to this change, some `mo` codes changed (e.g. *Streptococcus* changed from `B_STRPTC` to `B_STRPT`). A translation table is used internally to support older microorganism IDs, so users will not notice this difference. * New function `mo_rank()` for the taxonomic rank (genus, species, infraspecies, etc.) * New function `mo_url()` to get the direct URL of a species from the Catalogue of Life -* Support for data from [WHONET](https://whonet.org/) and [EARS-Net](https://ecdc.europa.eu/en/about-us/partnerships-and-networks/disease-and-laboratory-networks/ears-net) (European Antimicrobial Resistance Surveillance Network): +* Support for data from [WHONET](https://whonet.org/) and [EARS-Net](https://www.ecdc.europa.eu/en/about-us/partnerships-and-networks/disease-and-laboratory-networks/ears-net) (European Antimicrobial Resistance Surveillance Network): * Exported files from WHONET can be read and used in this package. For functions like `first_isolate()` and `eucast_rules()`, all parameters will be filled in automatically. * This package now knows all antibiotic abbrevations by EARS-Net (which are also being used by WHONET) - the `antibiotics` data set now contains a column `ears_net`. * The function `as.mo()` now knows all WHONET species abbreviations too, because almost 2,000 microbial abbreviations were added to the `microorganisms.codes` data set. @@ -660,7 +660,7 @@ We've got a new website: [https://msberends.gitlab.io/AMR](https://msberends.git #### Changed * Function `eucast_rules()`: - * Updated EUCAST Clinical breakpoints to [version 9.0 of 1 January 2019](http://www.eucast.org/clinical_breakpoints/), the data set `septic_patients` now reflects these changes + * Updated EUCAST Clinical breakpoints to [version 9.0 of 1 January 2019](https://www.eucast.org/clinical_breakpoints/), the data set `septic_patients` now reflects these changes * Fixed a critical bug where some rules that depend on previous applied rules would not be applied adequately * Emphasised in manual that penicillin is meant as benzylpenicillin (ATC [J01CE01](https://www.whocc.no/atc_ddd_index/?code=J01CE01)) * New info is returned when running this function, stating exactly what has been changed or added. Use `eucast_rules(..., verbose = TRUE)` to get a data set with all changed per bug and drug combination. @@ -776,7 +776,7 @@ We've got a new website: [https://msberends.gitlab.io/AMR](https://msberends.git * Functions `MDRO`, `BRMO`, `MRGN` and `EUCAST_exceptional_phenotypes` were renamed to `mdro`, `brmo`, `mrgn` and `eucast_exceptional_phenotypes` * `EUCAST_rules` was renamed to `eucast_rules`, the old function still exists as a deprecated function * Big changes to the `eucast_rules` function: - * Now also applies rules from the EUCAST 'Breakpoint tables for bacteria', version 8.1, 2018, http://www.eucast.org/clinical_breakpoints/ (see Source of the function) + * Now also applies rules from the EUCAST 'Breakpoint tables for bacteria', version 8.1, 2018, https://www.eucast.org/clinical_breakpoints/ (see Source of the function) * New parameter `rules` to specify which rules should be applied (expert rules, breakpoints, others or all) * New parameter `verbose` which can be set to `TRUE` to get very specific messages about which columns and rows were affected * Better error handling when rules cannot be applied (i.e. new values could not be inserted) @@ -1036,7 +1036,7 @@ We've got a new website: [https://msberends.gitlab.io/AMR](https://msberends.git * Function `guess_atc` to **determine the ATC** of an antibiotic based on name, trade name, or known abbreviations * Function `freq` to create **frequency tables**, with additional info in a header * Function `MDRO` to **determine Multi Drug Resistant Organisms (MDRO)** with support for country-specific guidelines. - * [Exceptional resistances defined by EUCAST](http://www.eucast.org/expert_rules_and_intrinsic_resistance) are also supported instead of countries alone + * [Exceptional resistances defined by EUCAST](https://www.eucast.org/expert_rules_and_intrinsic_resistance/) are also supported instead of countries alone * Functions `BRMO` and `MRGN` are wrappers for Dutch and German guidelines, respectively * New algorithm to determine weighted isolates, can now be `"points"` or `"keyantibiotics"`, see `?first_isolate` * New print format for `tibble`s and `data.table`s diff --git a/R/aa_helper_functions.R b/R/aa_helper_functions.R index fb6b9bdc..ff79c8ec 100755 --- a/R/aa_helper_functions.R +++ b/R/aa_helper_functions.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # faster implementation of left_join than using merge() by poorman - we use match(): @@ -638,3 +642,6 @@ str2lang <- function(s) { stopifnot(length(ex) == 1L) ex[[1L]] } +isNamespaceLoaded <- function(pkg) { + pkg %in% loadedNamespaces() +} diff --git a/R/aa_helper_pm_functions.R b/R/aa_helper_pm_functions.R index ef9d54a1..aa5ff7b5 100644 --- a/R/aa_helper_pm_functions.R +++ b/R/aa_helper_pm_functions.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # ------------------------------------------------ diff --git a/R/ab.R b/R/ab.R index 9078b203..4c8639d3 100755 --- a/R/ab.R +++ b/R/ab.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Transform input to an antibiotic ID diff --git a/R/ab_class_selectors.R b/R/ab_class_selectors.R index 18230306..0272b4db 100644 --- a/R/ab_class_selectors.R +++ b/R/ab_class_selectors.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Antibiotic class selectors diff --git a/R/ab_from_text.R b/R/ab_from_text.R index 1bc19678..9b87df36 100644 --- a/R/ab_from_text.R +++ b/R/ab_from_text.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Retrieve antimicrobial drug names and doses from clinical text diff --git a/R/ab_property.R b/R/ab_property.R index 61cd0309..b4526eed 100644 --- a/R/ab_property.R +++ b/R/ab_property.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Get properties of an antibiotic diff --git a/R/age.R b/R/age.R index aa905fa6..f755dbee 100755 --- a/R/age.R +++ b/R/age.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Age in years of individuals diff --git a/R/amr.R b/R/amr.R index 6836fa5e..a91297ef 100644 --- a/R/amr.R +++ b/R/amr.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' The `AMR` Package @@ -50,7 +54,7 @@ #' @section Reference data publicly available: #' All reference data sets (about microorganisms, antibiotics, R/SI interpretation, EUCAST rules, etc.) in this `AMR` package are publicly and freely available. We continually export our data sets to formats for use in R, SPSS, SAS, Stata and Excel. We also supply flat files that are machine-readable and suitable for input in any software program, such as laboratory information systems. Please find [all download links on our website](https://msberends.github.io/AMR/articles/datasets.html), which is automatically updated with every code change. #' @section Read more on our website!: -#' On our website you can find [a comprehensive tutorial](https://msberends.github.io/AMR/articles/AMR.html) about how to conduct AMR analysis, the [complete documentation of all functions](https://msberends.github.io/AMR/reference) (which reads a lot easier than here in R) and [an example analysis using WHONET data](https://msberends.github.io/AMR/articles/WHONET.html). As we would like to better understand the backgrounds and needs of our users, please [participate in our survey](https://msberends.github.io/AMR/survey.html)! +#' On our website you can find [a comprehensive tutorial](https://msberends.github.io/AMR/articles/AMR.html) about how to conduct AMR analysis, the [complete documentation of all functions](https://msberends.github.io/AMR/reference/) and [an example analysis using WHONET data](https://msberends.github.io/AMR/articles/WHONET.html). As we would like to better understand the backgrounds and needs of our users, please [participate in our survey](https://msberends.github.io/AMR/survey.html)! #' @section Contact Us: #' For suggestions, comments or questions, please contact us at: #' diff --git a/R/atc_online.R b/R/atc_online.R index e80f5446..f27d3d92 100644 --- a/R/atc_online.R +++ b/R/atc_online.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Get ATC properties from WHOCC website diff --git a/R/availability.R b/R/availability.R index 46d14616..afdecd7f 100644 --- a/R/availability.R +++ b/R/availability.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Check availability of columns diff --git a/R/bug_drug_combinations.R b/R/bug_drug_combinations.R index 3f0e9cde..882c6ec2 100644 --- a/R/bug_drug_combinations.R +++ b/R/bug_drug_combinations.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Determine bug-drug combinations diff --git a/R/catalogue_of_life.R b/R/catalogue_of_life.R index 602ce30b..49f61e6d 100755 --- a/R/catalogue_of_life.R +++ b/R/catalogue_of_life.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' The Catalogue of Life diff --git a/R/count.R b/R/count.R index 967dedeb..6c0a9fea 100755 --- a/R/count.R +++ b/R/count.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Count available isolates diff --git a/R/data.R b/R/data.R index 13845f0a..a18f96c6 100755 --- a/R/data.R +++ b/R/data.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Data sets with `r format(nrow(antibiotics) + nrow(antivirals), big.mark = ",")` antimicrobials @@ -111,7 +115,7 @@ #' * #' @section About the records from DSMZ (see source): #' Names of prokaryotes are defined as being validly published by the International Code of Nomenclature of Bacteria. Validly published are all names which are included in the Approved Lists of Bacterial Names and the names subsequently published in the International Journal of Systematic Bacteriology (IJSB) and, from January 2000, in the International Journal of Systematic and Evolutionary Microbiology (IJSEM) as original articles or in the validation lists. -#' *(from )* +#' *(from )* #' #' In February 2020, the DSMZ records were merged with the List of Prokaryotic names with Standing in Nomenclature (LPSN). #' @source Catalogue of Life: Annual Checklist (public online taxonomic database), (check included annual version with [catalogue_of_life_version()]). diff --git a/R/deprecated.R b/R/deprecated.R index 62812c78..7373124f 100755 --- a/R/deprecated.R +++ b/R/deprecated.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Deprecated functions diff --git a/R/disk.R b/R/disk.R index 8267144e..97ead089 100644 --- a/R/disk.R +++ b/R/disk.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Transform input to disk diffusion diameters diff --git a/R/eucast_rules.R b/R/eucast_rules.R index 52e9bf4a..70682c73 100755 --- a/R/eucast_rules.R +++ b/R/eucast_rules.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # add new version numbers here, and add the rules themselves to "data-raw/eucast_rules.tsv" diff --git a/R/filter_ab_class.R b/R/filter_ab_class.R index 18adbdcc..ea6b6bcc 100644 --- a/R/filter_ab_class.R +++ b/R/filter_ab_class.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Filter isolates on result in antimicrobial class diff --git a/R/first_isolate.R b/R/first_isolate.R index cae8b509..2e12767a 100755 --- a/R/first_isolate.R +++ b/R/first_isolate.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Determine first (weighted) isolates @@ -42,7 +46,7 @@ #' @param include_unknown logical to determine whether 'unknown' microorganisms should be included too, i.e. microbial code `"UNKNOWN"`, which defaults to `FALSE`. For WHONET users, this means that all records with organism code `"con"` (*contamination*) will be excluded at default. Isolates with a microbial ID of `NA` will always be excluded as first isolate. #' @param ... parameters passed on to the [first_isolate()] function #' @details **WHY THIS IS SO IMPORTANT** \cr -#' To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [(ref)](https://www.ncbi.nlm.nih.gov/pubmed/17304462). If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all *S. aureus* isolates would be overestimated, because you included this MRSA more than once. It would be [selection bias](https://en.wikipedia.org/wiki/Selection_bias). +#' To conduct an analysis of antimicrobial resistance, you should only include the first isolate of every patient per episode [(ref)](https:/pubmed.ncbi.nlm.nih.gov/17304462/). If you would not do this, you could easily get an overestimate or underestimate of the resistance of an antibiotic. Imagine that a patient was admitted with an MRSA and that it was found in 5 different blood cultures the following week. The resistance percentage of oxacillin of all *S. aureus* isolates would be overestimated, because you included this MRSA more than once. It would be [selection bias](https://en.wikipedia.org/wiki/Selection_bias). #' #' All isolates with a microbial ID of `NA` will be excluded as first isolate. #' diff --git a/R/g.test.R b/R/g.test.R index b9f41571..db5bf294 100755 --- a/R/g.test.R +++ b/R/g.test.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' *G*-test for Count Data diff --git a/R/ggplot_pca.R b/R/ggplot_pca.R index ad4a6f82..2cd98d63 100755 --- a/R/ggplot_pca.R +++ b/R/ggplot_pca.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' PCA biplot with `ggplot2` diff --git a/R/ggplot_rsi.R b/R/ggplot_rsi.R index b43a5169..59fe3852 100755 --- a/R/ggplot_rsi.R +++ b/R/ggplot_rsi.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' AMR plots with `ggplot2` diff --git a/R/globals.R b/R/globals.R index dc6313b7..ae241001 100755 --- a/R/globals.R +++ b/R/globals.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # globalVariables(c(".rowid", diff --git a/R/guess_ab_col.R b/R/guess_ab_col.R index 0ece22c7..441f498c 100755 --- a/R/guess_ab_col.R +++ b/R/guess_ab_col.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Guess antibiotic column diff --git a/R/join_microorganisms.R b/R/join_microorganisms.R index 6af73977..78fa72d4 100755 --- a/R/join_microorganisms.R +++ b/R/join_microorganisms.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Join [microorganisms] to a data set diff --git a/R/key_antibiotics.R b/R/key_antibiotics.R index 41aecd1c..b7fb8b2e 100755 --- a/R/key_antibiotics.R +++ b/R/key_antibiotics.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Key antibiotics for first *weighted* isolates diff --git a/R/kurtosis.R b/R/kurtosis.R index 485adcb3..7efbd0ee 100755 --- a/R/kurtosis.R +++ b/R/kurtosis.R @@ -1,29 +1,33 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Kurtosis of the sample #' #' @description Kurtosis is a measure of the "tailedness" of the probability distribution of a real-valued random variable. A normal distribution has a kurtosis of 3 and a excess kurtosis of 0. #' @inheritSection lifecycle Stable lifecycle -#' @param x a vector of values, a [`matrix`] or a [data.frame] +#' @param x a vector of values, a [matrix] or a [data.frame] #' @param na.rm a logical to indicate whether `NA` values should be stripped before the computation proceeds #' @param excess a logical to indicate whether the *excess kurtosis* should be returned, defined as the kurtosis minus 3. #' @seealso [skewness()] diff --git a/R/lifecycle.R b/R/lifecycle.R index 94fabf79..d029dfd4 100644 --- a/R/lifecycle.R +++ b/R/lifecycle.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # ############### diff --git a/R/like.R b/R/like.R index c557fb59..2224a170 100755 --- a/R/like.R +++ b/R/like.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Pattern Matching diff --git a/R/mdro.R b/R/mdro.R index ccf9823a..99604b9d 100755 --- a/R/mdro.R +++ b/R/mdro.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Determine multidrug-resistant organisms (MDRO) @@ -45,7 +49,7 @@ #' - `guideline = "MRGN"`\cr #' The German national guideline - Mueller et al. (2015) Antimicrobial Resistance and Infection Control 4:7. DOI: 10.1186/s13756-015-0047-6 #' - `guideline = "BRMO"`\cr -#' The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) (ZKH)" ([link](https://www.rivm.nl/Documenten_en_publicaties/Professioneel_Praktisch/Richtlijnen/Infectieziekten/WIP_Richtlijnen/WIP_Richtlijnen/Ziekenhuizen/WIP_richtlijn_BRMO_Bijzonder_Resistente_Micro_Organismen_ZKH)) +#' The Dutch national guideline - Rijksinstituut voor Volksgezondheid en Milieu "WIP-richtlijn BRMO (Bijzonder Resistente Micro-Organismen) (ZKH)" ([link](https://www.rivm.nl/wip-richtlijn-brmo-bijzonder-resistente-micro-organismen-zkh)) #' #' Please suggest your own (country-specific) guidelines by letting us know: . #' diff --git a/R/mic.R b/R/mic.R index d7545060..dc9c23ba 100755 --- a/R/mic.R +++ b/R/mic.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Transform input to minimum inhibitory concentrations (MIC) diff --git a/R/mo.R b/R/mo.R index e6a1fbf0..7475929a 100755 --- a/R/mo.R +++ b/R/mo.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Transform input to a microorganism ID diff --git a/R/mo_matching_score.R b/R/mo_matching_score.R index 386d88f7..92e4676e 100755 --- a/R/mo_matching_score.R +++ b/R/mo_matching_score.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Calculate the matching score for microorganisms @@ -27,7 +31,7 @@ #' @section Matching score for microorganisms: #' With ambiguous user input in [as.mo()] and all the [`mo_*`][mo_property()] functions, the returned results are chosen based on their matching score using [mo_matching_score()]. This matching score \eqn{m}, is calculated as: #' -#' \deqn{m_{(x, n)} = \frac{l_{n} - 0.5 \cdot \min \begin{cases}l_{n} \\ \operatorname{lev}(x, n)\end{cases}}{l_{n} \cdot p_{n} \cdot k_{n}}}{m(x, n) = ( l_n * min(l_n, lev(x, n) ) ) / ( l_n * p_n * k_n )} +#' \deqn{m_{(x, n)} = \frac{l_{n} - 0.5 \cdot \min \begin{cases}l_{n} \\ \textrm{lev}(x, n)\end{cases}}{l_{n} \cdot p_{n} \cdot k_{n}}}{m(x, n) = ( l_n * min(l_n, lev(x, n) ) ) / ( l_n * p_n * k_n )} #' #' where: #' @@ -49,29 +53,35 @@ #' mo_matching_score(x = "E. coli", #' n = c("Escherichia coli", "Entamoeba coli")) mo_matching_score <- function(x, n) { + x <- parse_and_convert(x) + # no dots and other non-whitespace characters + x <- gsub("[^a-zA-Z0-9 \\(\\)]+", "", x) + # only keep one space + x <- gsub(" +", " ", x) + # n is always a taxonomically valid full name - levenshtein <- double(length = length(x)) if (length(n) == 1) { n <- rep(n, length(x)) } if (length(x) == 1) { x <- rep(x, length(n)) } + + # length of fullname + l_n <- nchar(n) + lev <- double(length = length(x)) + l_n.lev <- double(length = length(x)) for (i in seq_len(length(x))) { # determine Levenshtein distance, but maximise to nchar of n - levenshtein[i] <- min(as.double(utils::adist(x[i], n[i], ignore.case = FALSE)), - nchar(n[i])) + lev[i] <- utils::adist(x[i], n[i], ignore.case = FALSE, fixed = TRUE) + # minimum of (l_n, Levenshtein distance) + l_n.lev[i] <- min(l_n[i], as.double(lev[i])) } - - # F = length of fullname - var_F <- nchar(n) - # L = modified Levenshtein distance - var_L <- levenshtein - # P = prevalence (1 to 3), see ?as.mo - var_P <- MO_lookup[match(n, MO_lookup$fullname), "prevalence", drop = TRUE] - # K = kingdom index (Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, others = 5) - var_K <- MO_lookup[match(n, MO_lookup$fullname), "kingdom_index", drop = TRUE] + # human pathogenic prevalence (1 to 3), see ?as.mo + p_n <- MO_lookup[match(n, MO_lookup$fullname), "prevalence", drop = TRUE] + # kingdom index (Bacteria = 1, Fungi = 2, Protozoa = 3, Archaea = 4, others = 5) + k_n <- MO_lookup[match(n, MO_lookup$fullname), "kingdom_index", drop = TRUE] # matching score: - (var_F - 0.5 * var_L) / (var_F * var_P * var_K) + (l_n - 0.5 * l_n.lev) / (l_n * p_n * k_n) } diff --git a/R/mo_property.R b/R/mo_property.R index 6d05fb4a..466300a6 100755 --- a/R/mo_property.R +++ b/R/mo_property.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Get properties of a microorganism diff --git a/R/mo_source.R b/R/mo_source.R index 8bb6f63f..a1d2c718 100644 --- a/R/mo_source.R +++ b/R/mo_source.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' User-defined reference data set for microorganisms diff --git a/R/p_symbol.R b/R/p_symbol.R index 7c7d51bc..1be98e46 100755 --- a/R/p_symbol.R +++ b/R/p_symbol.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Symbol of a p-value diff --git a/R/pca.R b/R/pca.R index 9d319e3f..87e99199 100755 --- a/R/pca.R +++ b/R/pca.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Principal Component Analysis (for AMR) diff --git a/R/proportion.R b/R/proportion.R index b13947f7..b5ac10ab 100755 --- a/R/proportion.R +++ b/R/proportion.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Calculate microbial resistance diff --git a/R/resistance_predict.R b/R/resistance_predict.R index ea0a76cc..081db72b 100755 --- a/R/resistance_predict.R +++ b/R/resistance_predict.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Predict antimicrobial resistance diff --git a/R/rsi.R b/R/rsi.R index 0f048da7..c8fd5762 100755 --- a/R/rsi.R +++ b/R/rsi.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Interpret MIC and disk values, or clean raw R/SI data @@ -76,7 +80,7 @@ #' #' The function [is.rsi.eligible()] returns `TRUE` when a columns contains at most 5% invalid antimicrobial interpretations (not S and/or I and/or R), and `FALSE` otherwise. The threshold of 5% can be set with the `threshold` parameter. #' @section Interpretation of R and S/I: -#' In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories R and S/I as shown below (). +#' In 2019, the European Committee on Antimicrobial Susceptibility Testing (EUCAST) has decided to change the definitions of susceptibility testing categories R and S/I as shown below (). #' #' - **R = Resistant**\cr #' A microorganism is categorised as *Resistant* when there is a high likelihood of therapeutic failure even when there is increased exposure. Exposure is a function of how the mode of administration, dose, dosing interval, infusion time, as well as distribution and excretion of the antimicrobial agent will influence the infecting organism at the site of infection. diff --git a/R/rsi_calc.R b/R/rsi_calc.R index f53eb9d0..50c1fd82 100755 --- a/R/rsi_calc.R +++ b/R/rsi_calc.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # dots2vars <- function(...) { diff --git a/R/rsi_df.R b/R/rsi_df.R index 2dc707ec..80e7ea85 100644 --- a/R/rsi_df.R +++ b/R/rsi_df.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' @rdname proportion diff --git a/R/skewness.R b/R/skewness.R index 735071eb..00173e20 100755 --- a/R/skewness.R +++ b/R/skewness.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Skewness of the sample @@ -25,7 +29,7 @@ #' #' When negative ('left-skewed'): the left tail is longer; the mass of the distribution is concentrated on the right of a histogram. When positive ('right-skewed'): the right tail is longer; the mass of the distribution is concentrated on the left of a histogram. A normal distribution has a skewness of 0. #' @inheritSection lifecycle Stable lifecycle -#' @param x a vector of values, a [`matrix`] or a [data.frame] +#' @param x a vector of values, a [matrix] or a [data.frame] #' @param na.rm a logical value indicating whether `NA` values should be stripped before the computation proceeds #' @seealso [kurtosis()] #' @rdname skewness diff --git a/R/translate.R b/R/translate.R index 9d3c9d5d..57abc10d 100755 --- a/R/translate.R +++ b/R/translate.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' Translate strings from AMR package diff --git a/R/whocc.R b/R/whocc.R index c192064a..ea685ffc 100755 --- a/R/whocc.R +++ b/R/whocc.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # #' WHOCC: WHO Collaborating Centre for Drug Statistics Methodology diff --git a/R/zzz.R b/R/zzz.R index 702b4bfc..6ef2c1e0 100755 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # .onLoad <- function(libname, pkgname) { @@ -49,14 +53,14 @@ # developers of the vctrs package: # https://github.com/r-lib/vctrs/blob/05968ce8e669f73213e3e894b5f4424af4f46316/R/register-s3.R s3_register("pillar::pillar_shaft", "ab") - s3_register("tibble::type_sum", "ab") s3_register("pillar::pillar_shaft", "mo") - s3_register("tibble::type_sum", "mo") s3_register("pillar::pillar_shaft", "rsi") - s3_register("tibble::type_sum", "rsi") s3_register("pillar::pillar_shaft", "mic") - s3_register("tibble::type_sum", "mic") s3_register("pillar::pillar_shaft", "disk") + s3_register("tibble::type_sum", "ab") + s3_register("tibble::type_sum", "mo") + s3_register("tibble::type_sum", "rsi") + s3_register("tibble::type_sum", "mic") s3_register("tibble::type_sum", "disk") # Support for frequency tables from the cleaner package s3_register("cleaner::freq", "mo") @@ -81,8 +85,8 @@ create_species_cons_cops <- function(type = c("CoNS", "CoPS")) { # Determination of which staphylococcal species are CoNS/CoPS according to Becker et al.: - # https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4187637/figure/F3/ - # returns class + # https://cmr.asm.org/content/cmr/27/4/870/F6.large.jpg + # this function returns class MO_staph <- AMR::microorganisms MO_staph <- MO_staph[which(MO_staph$genus == "Staphylococcus"), , drop = FALSE] if (type == "CoNS") { diff --git a/README.md b/README.md index 5cdca526..1b5dd23d 100755 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ After installing this package, R knows ~70,000 distinct microbial species and al This package is fully independent of any other R package and works on Windows, macOS and Linux with all versions of R since R-3.0.0 (April 2013). It was designed to work in any setting, including those with very limited resources. It was created for both routine data analysis and academic research at the Faculty of Medical Sciences of the University of Groningen, in collaboration with non-profit organisations Certe Medical Diagnostics and Advice and University Medical Center Groningen. This R package is actively maintained and free software; you can freely use and distribute it for both personal and commercial (but not patent) purposes under the terms of the GNU General Public License version 2.0 (GPL-2), as published by the Free Software Foundation. -This is the development source of the `AMR` package for R. Not a developer? Then please visit our website [https://msberends.github.io/AMR](https://msberends.github.io/AMR) to read more about this package. +This is the development source of the `AMR` package for R. Not a developer? Then please visit our website [https://msberends.github.io/AMR/](https://msberends.github.io/AMR/) to read more about this package. *NOTE: this source code is on GitHub (https://github.com/msberends/AMR), but also automatically mirrored to GitLab (https://gitlab.com/msberends/AMR).* diff --git a/_pkgdown.yml b/_pkgdown.yml index 38ec2a4d..d5a4a5fc 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -1,26 +1,30 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # title: "AMR (for R)" -url: "https://msberends.github.io/AMR" +url: "https://msberends.github.io/AMR/" development: mode: "release" # improves indexing by search engines @@ -132,7 +136,7 @@ reference: desc: > With `as.mic()` and `as.disk()` you can transform your raw input to valid MIC or disk diffusion values. Use `as.rsi()` for cleaning raw data to let it only contain "R", "I" and "S", or to interpret MIC or disk diffusion values as R/SI based on the lastest EUCAST and CLSI guidelines. - Afterwards, you can extend antibiotic interpretations by applying [EUCAST rules](http://www.eucast.org/expert_rules_and_intrinsic_resistance/) with `eucast_rules()`. + Afterwards, you can extend antibiotic interpretations by applying [EUCAST rules](https://www.eucast.org/expert_rules_and_intrinsic_resistance/) with `eucast_rules()`. contents: - "`as.rsi`" - "`as.mic`" diff --git a/codecov.yml b/codecov.yml index 2e550ab0..e522ee00 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # codecov: diff --git a/data-raw/country_analysis.R b/data-raw/country_analysis.R deleted file mode 100644 index d4a0cdc8..00000000 --- a/data-raw/country_analysis.R +++ /dev/null @@ -1,206 +0,0 @@ -# ==================================================================== # -# TITLE # -# Antimicrobial Resistance (AMR) Analysis # -# # -# SOURCE # -# https://github.com/msberends/AMR # -# # -# LICENCE # -# (c) 2018-2020 Berends MS, Luz CF et al. # -# # -# This R package is free software; you can freely use and distribute # -# it for both personal and commercial purposes under the terms of the # -# GNU General Public License version 2.0 (GNU GPL-2), as published by # -# the Free Software Foundation. # -# # -# We created this package for both routine data analysis and academic # -# research and it was publicly released in the hope that it will be # -# useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # -# ==================================================================== # - -# Read and format data ---------------------------------------------------- - -library(tidyverse) -library(maps) -library(httr) - -GET_df <- function(ip) { - ip <- paste0("https://ipinfo.io/", ip, "?token=", ipinfo_token) - result <- ip %>% GET() - stop_for_status(result) - result %>% - content(type = "text", encoding = "UTF-8") %>% - jsonlite::fromJSON(flatten = TRUE) %>% - as_tibble() -} - -# get website analytics -source("data-raw/country_analysis_url_token.R") -url_json <- paste0(country_analysis_url, - "/index.php?&module=API&token_auth=", - country_analysis_token, - "&method=Live.getLastVisitsDetails&idSite=3&language=en&expanded=1&date=2018-01-01,2028-01-01&period=range&filter_limit=-1&format=JSON&segment=&translateColumnNames=1") -data_json <- jsonlite::read_json(url_json) -data <- tibble( - timestamp_server = as.POSIXct(sapply(data_json, function(x) x$serverTimestamp), origin = "1970-01-01"), - ipaddress = sapply(data_json, function(x) x$visitIp)) -rm(data_json) - -# add country data based on IP address and ipinfo.io API -unique_ip <- unique(data$ipaddress) -ip_tbl <- GET_df(unique_ip[1]) -p <- AMR:::progress_estimated(n = length(unique_ip) - 1, min_time = 0) -for (i in 2:length(unique_ip)) { - p$tick() - ip_tbl <- ip_tbl %>% - bind_rows(GET_df(unique_ip[i])) -} -close(p) - -ip_tbl.bak <- ip_tbl - -# add long and lat -ip_tbl <- ip_tbl %>% - separate(loc, into = c("y", "x"), sep = ",", remove = FALSE, convert = TRUE) - -# Plot world map ---------------------------------------------------------- - -countries_geometry <- sf::st_as_sf(map('world', plot = FALSE, fill = TRUE)) %>% - mutate(countries_code = countrycode::countrycode(ID, - origin = 'country.name', - destination = 'iso2c', - custom_match = c("Ascension Island" = "GB", # Great Britain - "Azores" = "PT", # Portugal - "Barbuda" = "GB", # Great Britain - "Bonaire" = "BQ", # Bonaire, Saint Eustatius and Saba - "Canary Islands" = "ES", # Spain - "Chagos Archipelago" = "MU", # Mauritius - "Grenadines" = "VC", # Saint Vincent and the Grenadines - "Heard Island" = "AU", # Australia - "Kosovo" = "XK", - "Madeira Islands" = "PT", # Portugal - "Micronesia" = "FM", - "Saba" = "BQ", # Bonaire, Saint Eustatius and Saba - "Saint Martin" = "MF", - "Siachen Glacier" = "IN", # India - "Sint Eustatius" = "BQ" # Bonaire, Saint Eustatius and Saba - )), - included = as.integer(countries_code %in% ip_tbl$country), - not_antarctica = as.integer(ID != "Antarctica"), - countries_name = ifelse(included == 1, as.character(ID), NA)) - -# add countries not in the list -countries_missing <- unique(ip_tbl$country[!ip_tbl$country %in% countries_geometry$countries_code]) -for (i in seq_len(length(countries_missing))) { - countries_geometry <- countries_geometry %>% - rbind(countries_geometry %>% - filter(ID == "Netherlands") %>% - mutate(ID = countrycode::countrycode(countries_missing[i], - origin = 'iso2c', - destination = 'country.name'), - countries_code = countries_missing[i], - included = 1, - not_antarctica = 1, - countries_name = countrycode::countrycode(countries_missing[i], - origin = 'iso2c', - destination = 'country.name'))) -} - -# how many? -countries_geometry %>% filter(included == 1) %>% nrow() - -countries_geometry$countries_name <- gsub("UK", "United Kingdom", countries_geometry$countries_name, fixed = TRUE) -countries_geometry$countries_name <- gsub("USA", "United States", countries_geometry$countries_name, fixed = TRUE) - -countries_plot <- ggplot(countries_geometry) + - geom_sf(aes(fill = included, colour = not_antarctica), - size = 0.25, - show.legend = FALSE) + - theme_minimal() + - theme(panel.grid = element_blank(), - axis.title = element_blank(), - axis.text = element_blank()) + - scale_fill_gradient(low = "white", high = "#128f7645") + - # this makes the border Antarctica turn white (invisible): - scale_colour_gradient(low = "white", high = "#128f76") - -countries_plot_mini <- countries_plot -countries_plot_mini$data <- countries_plot_mini$data %>% filter(ID != "Antarctica") -# countries_plot_mini <- countries_plot_mini + scale_colour_gradient(low = "#81899B", high = "#81899B") -countries_plot_big <- countries_plot + - labs(title = tools::toTitleCase("Countries the AMR package for R was downloaded from"), - subtitle = paste0("Between March 2018 (first release) and ", - format(Sys.Date(), "%B %Y")), - caption = "Source: https://cran-logs.rstudio.com") + - theme(plot.title = element_text(size = 16, hjust = 0.5), - plot.subtitle = element_text(size = 12, hjust = 0.5)) + - geom_text(aes(x = -170, - y = -75, - label = stringr::str_wrap(paste0("Countries (n = ", - length(countries_name[!is.na(countries_name)]), "): ", - paste(sort(countries_name[!is.na(countries_name)]), collapse = ", ")), - 200)), - hjust = 0, - size = 4) - -# main website page -ggsave("pkgdown/logos/countries.png", - width = 6, - height = 2.5, - units = "in", - dpi = 100, - plot = countries_plot_mini, - scale = 1) -# when clicked - a high res enlargement -ggsave("pkgdown/logos/countries_large.png", - width = 11, - height = 6, - units = "in", - dpi = 300, - plot = countries_plot_big, - scale = 1.5) - - -# Gibberish --------------------------------------------------------------- - -data %>% - left_join(ip_tbl, by = c("ipaddress" = "ip")) %>% - group_by(country = countrycode::countrycode(country, - origin = 'iso2c', - destination = 'country.name', - custom_match = c(XK = "Kosovo"))) %>% - summarise(first = min(timestamp_server)) %>% - arrange(desc(first)) %>% - mutate(frame = case_when(first <= as.POSIXct("2019-06-30") ~ "Q1-Q2 2019", - first <= as.POSIXct("2019-12-31") ~ "Q3-Q4 2019", - TRUE ~ "Q1-Q2 2020")) %>% - View() -# -# p1 <- data %>% -# group_by(country) %>% -# summarise(first = min(timestamp_server)) %>% -# arrange(first) %>% -# mutate(n = row_number()) %>% -# ggplot(aes(x = first, y = n)) + -# geom_line() + -# geom_point(aes(x = max(first), y = max(n)), size = 3) + -# scale_x_datetime(date_breaks = "2 months", date_labels = "%B %Y") + -# labs(x = NULL, y = "Number of countries") -# -# package_releases <- read_html("https://cran.r-project.org/src/contrib/Archive/AMR/") %>% -# rvest::html_table() %>% -# .[[1]] %>% -# as_tibble(.name_repair = "unique") %>% -# filter(`Last modified` != "") %>% -# transmute(version = gsub("[^0-9.]", "", -# gsub(".tar.gz", "", Name)), -# datetime = as.POSIXct(`Last modified`)) %>% -# # add current -# bind_rows(tibble(version = as.character(packageVersion("AMR")), -# datetime = as.POSIXct(packageDate("AMR")))) %>% -# # remove the ones not plottable -# filter(datetime > min(p1$data$first)) -# -# p1 + geom_linerange(data = package_releases, aes(x = datetime, ymin = 0, ymax = 80), colour = "red", inherit.aes = FALSE) -# diff --git a/data-raw/internals.R b/data-raw/internals.R index 37bccd9b..f65cc988 100644 --- a/data-raw/internals.R +++ b/data-raw/internals.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # Run this file to update the package using: ------------------------------- diff --git a/data-raw/loinc.R b/data-raw/loinc.R index c6a4b23b..b3cf2a5e 100644 --- a/data-raw/loinc.R +++ b/data-raw/loinc.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # last updated: 20 January 2020 - Loinc_2.67 diff --git a/data-raw/poorman_prepend.R b/data-raw/poorman_prepend.R index 74d0fa40..6655fb13 100644 --- a/data-raw/poorman_prepend.R +++ b/data-raw/poorman_prepend.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # ------------------------------------------------ diff --git a/data-raw/read_EUCAST.R b/data-raw/read_EUCAST.R index 646d5108..45c36efb 100644 --- a/data-raw/read_EUCAST.R +++ b/data-raw/read_EUCAST.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # library(openxlsx) diff --git a/data-raw/reproduction_of_antibiotics.R b/data-raw/reproduction_of_antibiotics.R index 285e2c53..a132238a 100644 --- a/data-raw/reproduction_of_antibiotics.R +++ b/data-raw/reproduction_of_antibiotics.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # library(dplyr) diff --git a/data-raw/reproduction_of_antivirals.R b/data-raw/reproduction_of_antivirals.R index 0167f06c..0b44e31b 100644 --- a/data-raw/reproduction_of_antivirals.R +++ b/data-raw/reproduction_of_antivirals.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # get all data from the WHOCC website diff --git a/data-raw/reproduction_of_example_isolates_unclean.R b/data-raw/reproduction_of_example_isolates_unclean.R index c49baa26..b60f0c0a 100644 --- a/data-raw/reproduction_of_example_isolates_unclean.R +++ b/data-raw/reproduction_of_example_isolates_unclean.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # patients <- unlist(lapply(LETTERS, paste0, 1:10)) diff --git a/data-raw/reproduction_of_intrinsic_resistant.R b/data-raw/reproduction_of_intrinsic_resistant.R index 5d98cfcf..fc1ac02e 100644 --- a/data-raw/reproduction_of_intrinsic_resistant.R +++ b/data-raw/reproduction_of_intrinsic_resistant.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # library(AMR) diff --git a/data-raw/reproduction_of_microorganisms.R b/data-raw/reproduction_of_microorganisms.R index fc9e92ab..4450d0b6 100644 --- a/data-raw/reproduction_of_microorganisms.R +++ b/data-raw/reproduction_of_microorganisms.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # # Reproduction of the `microorganisms` data set diff --git a/data-raw/snomed.R b/data-raw/snomed.R index 30b753f1..154ddbac 100644 --- a/data-raw/snomed.R +++ b/data-raw/snomed.R @@ -1,22 +1,26 @@ # ==================================================================== # # TITLE # -# Antimicrobial Resistance (AMR) Analysis # +# Antimicrobial Resistance (AMR) Analysis for R # # # # SOURCE # # https://github.com/msberends/AMR # # # # LICENCE # # (c) 2018-2020 Berends MS, Luz CF et al. # +# Developed at the University of Groningen, the Netherlands, in # +# collaboration with non-profit organisations Certe Medical # +# Diagnostics & Advice, and University Medical Center Groningen. # # # # This R package is free software; you can freely use and distribute # # it for both personal and commercial purposes under the terms of the # # GNU General Public License version 2.0 (GNU GPL-2), as published by # # the Free Software Foundation. # -# # # We created this package for both routine data analysis and academic # # research and it was publicly released in the hope that it will be # # useful, but it comes WITHOUT ANY WARRANTY OR LIABILITY. # -# Visit our website for more info: https://msberends.github.io/AMR. # +# # +# Visit our website for the full manual and a complete tutorial about # +# how to conduct AMR analysis: https://msberends.github.io/AMR/ # # ==================================================================== # library(AMR) diff --git a/docs/404.html b/docs/404.html index 42f0e181..0cd638ac 100644 --- a/docs/404.html +++ b/docs/404.html @@ -9,12 +9,12 @@ Page not found (404) • AMR (for R) - - - - - - + + + + + + @@ -25,8 +25,8 @@ - - + + @@ -40,13 +40,13 @@ - - + + - - + + @@ -80,8 +80,8 @@ - AMR (for R) - 1.3.0.9039 + AMR (for R) + 1.4.0 diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index a2f3913a..49932b37 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -81,7 +81,7 @@ AMR (for R) - 1.3.0.9039 + 1.4.0 diff --git a/docs/articles/AMR.html b/docs/articles/AMR.html index e267f500..e7a7ad6b 100644 --- a/docs/articles/AMR.html +++ b/docs/articles/AMR.html @@ -187,13 +187,13 @@ -
+

@@ -372,11 +358,11 @@ print(run_it, unit = "ms", signif = 3) # Unit: milliseconds # expr min lq mean median uq max neval -# A 7.53 8.50 8.77 8.83 9.14 9.89 10 -# B 23.00 24.20 32.40 26.30 28.80 60.10 10 -# C 1.91 1.98 2.33 2.30 2.66 2.83 10 +# A 6.85 7.05 7.57 7.51 8.05 8.52 10 +# B 21.50 21.70 27.40 23.80 25.00 64.70 10 +# C 1.75 1.86 1.99 1.93 2.08 2.27 10

-

So going from mo_name("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0023 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

+

So going from mo_name("Staphylococcus aureus") to "Staphylococcus aureus" takes 0.0019 seconds - it doesn’t even start calculating if the result would be the same as the expected resulting value. That goes for all helper functions:

 run_it <- microbenchmark(A = mo_species("aureus"),
                          B = mo_genus("Staphylococcus"),
@@ -389,15 +375,15 @@
                          times = 10)
 print(run_it, unit = "ms", signif = 3)
 # Unit: milliseconds
-#  expr  min   lq mean median   uq   max neval
-#     A 1.55 1.74 1.91   1.98 2.06  2.16    10
-#     B 1.52 1.70 1.95   1.88 2.03  2.62    10
-#     C 1.61 1.68 6.25   2.04 2.18 44.80    10
-#     D 1.65 1.71 1.92   1.95 2.02  2.22    10
-#     E 1.56 1.79 1.92   1.99 2.01  2.14    10
-#     F 1.62 1.67 1.82   1.78 1.94  2.09    10
-#     G 1.61 1.70 1.92   1.97 2.01  2.31    10
-#     H 1.62 1.69 1.83   1.87 1.95  2.01    10
+#  expr  min   lq mean median   uq  max neval
+#     A 1.38 1.57 1.60   1.61 1.67 1.71    10
+#     B 1.55 1.60 1.73   1.63 1.92 2.05    10
+#     C 1.39 1.50 1.70   1.62 1.84 2.39    10
+#     D 1.32 1.51 1.59   1.57 1.61 2.04    10
+#     E 1.34 1.40 1.52   1.53 1.65 1.66    10
+#     F 1.28 1.53 1.56   1.60 1.66 1.72    10
+#     G 1.30 1.33 1.59   1.61 1.74 1.98    10
+#     H 1.31 1.45 1.62   1.55 1.70 2.46    10
 

Of course, when running mo_phylum("Firmicutes") the function has zero knowledge about the actual microorganism, namely S. aureus. But since the result would be "Firmicutes" anyway, there is no point in calculating the result. And because this package ‘knows’ all phyla of all known bacteria (according to the Catalogue of Life), it can just return the initial value immediately.

@@ -425,14 +411,14 @@ times = 100) print(run_it, unit = "ms", signif = 4) # Unit: milliseconds -# expr min lq mean median uq max neval -# en 13.92 14.62 19.73 15.07 17.06 71.77 100 -# de 16.83 17.63 22.19 18.10 20.41 58.61 100 -# nl 28.71 30.05 35.19 31.64 34.09 69.34 100 -# es 16.78 17.61 22.57 18.56 20.21 57.98 100 -# it 16.61 17.39 21.59 18.32 20.74 56.86 100 -# fr 16.48 17.31 21.96 17.84 20.26 55.84 100 -# pt 16.66 17.45 24.03 18.26 20.85 67.60 100 +# expr min lq mean median uq max neval +# en 14.00 14.36 18.52 14.64 15.18 57.58 100 +# de 17.04 17.33 20.94 17.63 18.49 56.23 100 +# nl 28.21 29.20 32.15 30.06 31.02 72.91 100 +# es 16.85 17.26 19.83 17.44 17.95 152.20 100 +# it 16.58 17.10 19.03 17.43 18.24 54.28 100 +# fr 16.71 17.20 21.24 17.52 19.02 63.25 100 +# pt 16.76 17.29 23.27 17.62 19.14 65.28 100

Currently supported are German, Dutch, Spanish, Italian, French and Portuguese.

diff --git a/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png b/docs/articles/benchmarks_files/figure-html/unnamed-chunk-4-1.png index 3db9d40f4f4b29ddb62aaaed72f95cb307bc0884..3c56ab46bdc66a1bfb4eb7fc7ca10c207ef0d3b2 100644 GIT binary patch literal 90089 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 V3>k`+p|7ccpRs`jvI_2S_up(GH4y*+ literal 90007 zcmeFZWmr_*+y70B2m;a)BArUNba#q`(%oG{H;hsu-3S5-NJvX}N=kPLNH++=vqrC9 zT=)Mvo)`Z&&x_}N;c<*J%-(zUTI*cr`T2g&{Yq6?2J;@tJp=>=?>W)SxW-?~>X3kb7&t$|A5cr~^H1sSMEYl3d*oZOt>g`xIRZlV>&Ow-(za zsxpYM`Ov9izCNlIGlUz0&d+)Q5V5Nsv`OO&vYSetW&m9kh>bYkC{)mfn(QX}ZqH-tLhI~49P(eQ2{-E{p}$UD;V zq~KeM1@>Yv)U8#puWL{8x{BQ({hpiOvviE_SY!xGE03AWyw0h~%9N}g!}_DNEP1+* zU>CLDADAQg?lD_f@lOsv%`<;3#b>zM;Uf^3gHOEx1RrY58t5&+^^H_|nc|8{_2-Ld|pQo1X2> z5jOGsTk3=1!nS=&4eACAKTpddw_!AMN9u3va;$Q1gD*&_;?~%RDRU{_()X&HMw*WB z%irhjPNZ@%J+2%1=7~uCEQ>dyA!5@*tn0?YGBZwRpjQp;MV+!MBb0!TL-O2wLsCiUOVpq{+681e|2F^czMtz z%Q?$wF`!3piN)E#*}#e1B}>Noo98~4&0cA4`MvK}NosRh;xDI|1sP03h1%NNOchi% z3Bp3qj99(gd5iF(2=(ewy2~6)i+qa%2tT^)*cVq!EQ>ssPDG*i$zR>)L{_$64WX73 zA*KqotM>}oJ|@}=C5$i9<`_)87}2D*bNJ19>vRA8l}M|M z%Bs{KuiJaqR*mnKay)*3vEGu+u>EDTo^&MtepQm?IzpK@2Va|m+|4h-SsK6(aaY z0{($Gl8yAQcOYij$p3nclnehbF~IEx0YMZ&PEzbS6mcixPBLldSGbg>`>R4=F6+IqaX`5+s|Nmhq>ovZzfft|Br*CF%8W5Ehefw6gwQ%w)I z$x`KvABX3v=&2AI3PdznQ6$_q0sna^`VJz^z{QOh_h0Y*=Oqk+ZzhQIkKaQBAIS&U zzx~_M{`F0@E|>ptoB_|M#czN_>+qCl9}RQDp3kvss6B zRO(1j_Y$&}E z!W^FPgS=mp4BK`{R{AukawkGrG;XIe{QnR=gbx~tiOM> z%+Hvrv~V3Iuvc3ib$i%N-i{@5{l=r_{?b^v}}OKzhxgQGSv4-`^(*Zc$eeA}Fa{ zd3`W#k=2QDx;a99{p)=3@EE?t6ZO5e$_DwjL!7#Z3)neqS$@wT3SLC1l(`Rcsz|t& z_(;JhnD@q%1?-XygV5TN4E%^?(7Q=&iZ49BsmWl%*W<-r{eD}rNi?xR)zPo3{pN5= ziLem%E+Xo(+w(<#a=+`tZX+IYrw*J|o=;Jd9L|>$Iu4YFo= zo1fdIj)$Fu;of_7^b{R53PBjR6<>YN=Ls|Yer_Ga_+L{mkdL`nE!>`#`b#;atwsx! zOw)k{?Nz(;xj)r6>1G-Pw$mOtHlHN;{SE{%nIAhp{A~b)KMNr@w42mLk(B*eanokKuY4%?jPxco@Nc}FBji$|#FbQ=X z#cF^4D6+95qf4{>Tz0Um<)CJx7n4kLi%57|e(7=Zs zTo%irKUq+boy^T%!;K{JW@~8qUCKysTig`q2ln|G}r}Px0R=+nS zHXoc?5TtS`BtCu?S2Sb1jB16M#0c?_dalKChx(n>Uw%((w<^eZU=G4uU%RB!#+=L0 zC;ks*lltC_eHao0tnksV%mT~%ir5Q+CYw!x1dTk|o@Aw{tz4@LO6p^(7{Dd--YMVI z3nEnHuHUVm%_-ttQJQd{cbjC}dLPH*dkO*`q=Q0G{XXAP0K*AW)5Xf6hoD~dtbP6F zr(i>gnMJ=VJ1CeD?O+a)yH6Q~J9ZIUgly%fm25$`+L>$Sa2s_G&gz!K9=6%n?@ACBAdAza!5Vlt3+gPue-ZtKB-z2)5(nArYDKo9y8GgU{=UN8G1u=2!w?ow#7fXU{TxKU`xK79PABg|-i~YPFq7Fe9Ck(Q zgV|xf6q@HzeF-+Yl@A8j?^du{aSgn8tIAehKM9MKCiysBiq2ANn4UF6>Z?z>UDkdd zJ)F$T(iLw=m`3EF1({t1+#s3sA(8Vr7nz|9FcEoony&T^Yj(~UDaq0g1GeVtJw%tp zD2%P2<>hhU(o-Zb`-XcANI$g0*PAU;sxK5wyjA$U7f(_;e&wF**!pz3Mr0JmD2vLU z(B%NFU!tsNK|+6iLwf6fxt`Rn>+)6Ol(#wlcSIkg%q~#ea6J8hYsr9Q;Q!057W|?% z@BKzXA({MShP(+Etz`wGle&q=G=sY4dEDTA!U<#c7cJx|BAa=m$|p^7*!O=G3PJPjoc zjjVC>nL8p|yTB|VGB8WE%73*F?ZCD{F(JX*n_k0=c`L6VE{6+!>|c6zD~`^LFXY}brD@+f;K22>}q{C+aNmg#_KTjeFB+P&VuEO&x2N|1Dn^m^U2 zT)dA{zNgqJo;~tAVr6gRQDhPoF;#WKgn}*T&o7JFnYZdTG9!?YFi4)0EPUvY(sB99 zz51MCPkqk6_S~s?{LlAXzz*noUn}NuU>M~=8#-$UGL|5lmk}F(7%z&G9L%WgdAf#{ z9`|#40J=(bTPZ<{aBo*Tv!~7J9qM{YeY9+3a9y{E|UJ=X0FG*N1Op zd=kb~M1;~kzo#75GOfPSa~+W~T51U#(ewJAViBD)oS>yo9E#td^cKf|9n4&;ex?e= zpO2gH6i~|Vnvjfuw2NGXI;4zw-LUF)JedfU=%J9{TNs{)^*WZPsA!7Y#EZ0Q(@Gqy zOfXM{yTViKs;5(f*l{Ck649TE6Ogfjc;PUBC63!vXwMjtQFTd? z4?m_d1Y6+vJi#mv=cn#rW0fqWisD*s?_owvis0gBdavjDC7ykJ(V_X5rfKZ9e8lhM zPLG*(OON}icQx;$XaO6P!SGu=h2VIYj)WY&DCpD?65EG zeEt_%P}{liy2-a5Ge(k0rVb5<(x$#3UUWijwsf;Bb6%~)e-QTl`CduKx8Tu7LBApa zw-%J%r?FaDaA7ssy{ysoX2ZYX^Id?Y(h;OiiF+D1jZ zH6usLf0eNv>Z&dVJJ`f`-G( zGi4a;xLY+Tt%mY0aLA^#(S6Dy%XfuGFn}6LF|c$ej->o04ECY16oX9NNN2QlbT zob*ZW%L(+bbU;M@GgOrN9P+8?7JPGvP&pAGKsH{be=d33;9sbRIO zj#FT_N%aF`(;CKFxAwLSY{62j6e0K_xcRip%g?Mx(>_zX=cVCbV4Go=nI{{COSv(Qe=lQ#ZP6$6WPm^;L zg(~MXk@O-Fu#D3jnmkD}RDv+13@^WSs`J?TyZcVah}7I?s07;bgbp~Pt+{ls@YaIErSo-uZHU}j;hOb4^!%9qGybc@ zx<$S|J7$ClWjc+-hh^!O=Y`f`49~6N5le~sIL8z@xqm78dCWO=^XWynIugscuDGqd zqL`aTJH6gnTZI zRLtO;EG`a>6I37h`eIkP=EzDp-WWC3s7#SQHEFVb<94^cqDYRUaq0IQV>}5X!s~UK z{Bf9LN!VMn){$T6-(}_%qcQj&_0r$XXD~`vXc)cq={D>I`}?B;oC5C$!JMdqx7QmY zs}%AJS9n)0jrhBK3uzqxvv_-SZRzLdF}HbyW8|0|t? ze!n@a8`bu;{r0E}#iabmIpN^lnGb^pT(%z<>ZGmc4!aO<o9LY3@8!Bo@%Ug>KY~))Skd9Jt-2Q!dWx6>ohq; zp-=ZDSa#tv?j#zIlnCkfUh<4g*CrReylR@Erbp$NR#>3GQzu_5T#q{@SWexp+*Br< zWXuTllKEAbkej)WYOgFH`vry+Wm&nZOFw5KFjI?ie2*f*$|b{bC?~g52%}U3g;H7Q z^jp4?CrY+HmcULK-_jdR{54@E-MZpWWo`G=;*I!S7rgIuFQ+qq+2ga|^RP5H{?4s4 zapsd>(S7>N^~>DY=rNA5es1;rTDc{U=XRV+g8PFf)G>1&AL~I$D451J-e}nxN%TrE zF3Cw{HI;IH(6WB)sn(E-;1xq3jdK%-YqS9f0o^E3SdYYw>nUWhpYzNTOFPPz%VFcQ zfb8qS*p13~h(;yxWik}Ckc*_TSVNfMpe!*Yb;sRDnyKgUl!5Q520qr~8k=4JzSj(a zgy`Z}f#{y9c8o2ofp658^abUo9Fp|h(R{DYqKauF$0lN*L|= z`penN#@}_N>m#H&tnaBdC0|geYW?w&n76my)^v1aQ`33#_O{)BmsG>akXnZwkUiDSxL2?H4LzT2 zC|`Q4pftc`-0vh}^n+PHzeB<#0L4lAH%km0q+B}58(jXOMmvlR!4|wPbTUlj=-&M6 zECLAw5lSp&GWfLIJo#n&V<|v?yh$IKbmo~V);!%vcQIC-IeGNtnj+IRguU@@;3@!Z zSigRrMqE-0-@Bx2F`76I#*x5ig;{By5@8i8wi@@^3kE@#Y$Fa^zH~m&2?05z2)y=u zEytv$G(Z9&*Z%wyHw+r=fiV~N@ToE8dQmmWvpyBvH>d**VDVIbnZZ9r#XGZM-cylp z_xMvxlR#jlU41gBr*jgpDv+w!iR@z(AN&|E(jrBbJsf`dWF8EajvF3|C{aUeJ^sEj zibq4ubE)+t_`Twf6peX@dAaz=oePTw5sixpF`wd)Es21?&@8c*4uaBgmAlZhJRY5N zE)et`*CQ06u8IudP}=Ax4z(vLbCl)4NOwe-bJ?7M#Y1+4`@$DXY>rDU<_c~ba+Bjp zy1pN0JXd}wjDNU37YMP}GAR67K<&S^SH!Ae()(*2(1YkPZ?yQK7L*N|C$~89O`}91 zV&5o-easY7`s@UL-hS3HFlMw5$)jTa)buUUYGSvSen?_#x+GR>kUD0q6ent9u=3}# zd$xL}!hp9`@Joif8Jw;L^6&&u->CaM2i;>P>WRJo##@Pcub3onYhV0B#4KCl_4)ZK%(?F z=(gzvV8s{xj1&_zR~w{<4h>G}3nxE{O5JVlb_Lm_%%%q!MT+yR%yN|3-G9@n-?u^(NiP{7i2pt1|K8aD+vy`Z z#FFmu-xGFN2@MWCm-|_pG2jFWE+PEJi|``FUcTM<4{*_fPiGCAL7#t5=RkYeB~YxO z@h(73pgZN=ZGcq_OB#mYNTXH^343eXRgJgVR(zc}X(az^@al3KM!j{YMstL5$l)WD;3> z3kW4i6M&l+Df^G3qT6&F8VS74c8K!<7OB-+=SjHr|G8BV7~KK5sP3iub(YBu&?lTA z7XZLwtp$!4jzU3I(-yC;OiY*Mb5wZs6V8PLm!lANuL2N}+sOT|aSq~pX8X(Mozm^$`#W}B0x2BHj;e~sfKIWUgYR$feigFZ)s#vcqf z08SV>B17J2u76;hVwU(KXIo%_z6zcmpu;64ZR1z8)^@lDuG4^AwrLso65L6FL!jSP zbQJdlDqLLx#Pd;`z+Yube*IW(k|2B!^NV4 z5V!^^rJ^EI=vQ6;U#IOm6(BW}5kq;`s8y=J9C()uHO;R21^&rc7i+_Txb2l39+pB# zHUPxje&@^K)s-{2n#bg99ZW#1%9{xR&KZ4ys{fR;I=Z%)R~d zc@Kl@rX#FO?$XAym)cI91Ujz%8%CL2=Tjyzzoi0z)dZLTkuX~HJ&z*eymr6Zt;+UHyJPbB(U(bN}P7ysOLS0HzG*%ESbm)3yzm zCFwojd!YU@hX2P0ug^=>fA*Nb2WUj<`BH*641s%M0ep<$hshYe#>k{rS7evcwk_|> zX?a5%u+a^a6w(4D9Q8XfaRBdCNtNQ~ug`gIWQ<6`g@@<`M#Y*J(B;tfX9~;&ooIs6 z7j|&DrJtqVHtyohsC4m?5m78e>x9@mnNpd6N?DNul2}yQ#2;6*W?EikEQgdA5NZ`N~&c9Y{WyamxHw_!gEi^r@CPl`oP3--RP%f`hU@=u{Nx zkrbHexw2lQXs&8VwU*@2rN9w|V2vl(qGVp1@Aw`=TM+L`j)dk=3bTENF>rvT-?7Dy zN;s+OqJ;4UMlZu{(u~g9z=nNy9SE;6V`2JWo-$DFfO#^a6S7pxIml;1nkRTXz}cRc zq)$SZV)_=!mnhIVo_-GKC_Tzn<5CcM4uT7au3;$_nNRIyd=iI5ZUuqZ!148SIasqY z<>9O;=3JoY>|Vr?pGxGQ;K@6=h~+r?gG39DECTO5fbAW2cmvTzZ{;<4WQj3kRcJFi zxNwI6NgSVyRd6kiOdLH^I3Wk)l2)6xdRQF2^T+}Vc8<|4dQnK%x8!^a(k63{S6Ol~ z&UlbG!ZtWn_=bq2r=Z@$Pp#tGLbPj6JWmyMOcgbSXPN5dAQ_BaS`DRjb@%)rAZc2R z5%xanTnDJTC$fU8$t6A9dhdOKC^b@aP_yXwgk!q4gIjE-j()j!bmBO6JKFm`GU`<8 zU2@Xe8VwW#^M|%TheikS%@2C}>zsOf#~pQRzv;?8*(yI}GiaYR`ZVjDR4u+&p>LOlEgjd80G-Us33EdXUt$gbQA}fsjuVRhqg>ay z(uSkH{Dh!`9g1P5+z3dKT`w6Rrwr9>NOJV)yJ%k&9CeWnagoC)qERJ*)}b*f1C?m?}kL=xqM>WZwmV>1h>~L%sY|Xb6?dLE&L3~c*OQ6*qYFrOg=HYwL`c3zduQV%ik3V<% zq3Nz3LPBPoB0rw`E@V}#<2i#Q*-^lUkl_&2kPVfUglMaJPf8n{e?Bgm=n$FI z^Uxdf@Dx!sh%_$HNIBZu_+9IMK@LnLyFL^&#tynd3&yX45a*|_%=doNH-`O@7byax zsX!?p6MMpkyBP$*#)s_&ZQN6jK(&t`yc>A`G99V!8JD0rOu*%0IlP;Q4z7}E1KC4I zH-#Yr5))HQnYlC``zThnTx;|jg7KVT#UQ_p`{c#bS6pjJjFN(?)XLv%;({gYsP214B-o%94x8do1uB$ znep;6E?>VDA(qkRI#G%Gm-IaKimJ3U$5{NE6K{*=IJyl&LF~oXT!R8Dl4XDrq8!sG zKKm|TUeeQ08UJ96*HAt2p__uI1gY|dz@&!tlb17~#-z4u*u?%2!8NEQeN(6W!mLDg zmA^CX^MYFQ+4tC3of*kdU+{BthvySboCh77FW2H!!lpAA9Tl-?mso@GFfg9aMkni` zvUgmx>CjcZfU`s?l~&Sx3ht)txyr-2Nd}wPu3zcE{$iDr&Y3O%vs3hD8O6S>)gQf7 zdp-jPgeufE01s|n*)Q-f=_(!O7FHp8#*9tu*20Y;xltWOsqRg(?VPZ`JRyowdjr)1 zn0y;%g$!{?@w0MpL@4SAvcWFt*!$Gwde}6{sqwyL*%d?g@CDP45c>BcNsorRxu}B3 zt4+sssh{VNx~{3jmr#(TQ0dv9hH=QA(L`8h6S|DjJS2S8v94Kns2VL6jMAz6Xm%9sgE`CqF0WK&75XLhVFp`wVb-J` z`kranr49aM$y3Of>@%<^0E!cggHdVW$dR13==e#S9l;+fx->i@8_Hn|)wm$es!~VUs$z@;Ar$!Gn zcEeLwsQ_g`b{*{uSU@Ax9VFfCPS)5#5@rRlRxFx^*_UFZ zP>qLGvboGKS)xNnc(QABMCxz5j1_c`Or)ceQcv^W1Pp+dB1FGW_zGL%jbMNUe zws_AZ@c@}}G7=d}OV3S1Ni3}Tkyu!*F4L<|6mh6O|6+vyPE1|dk>GL~J_f30T0TS- zLZ8j7=RnPR~ZB?D;`z_~ZIJ9A4XQ^60O~rvL`UG{vET`2cu!;U&S59N z*7*ug|AtEqnu%I6vQL;h^FCHLFM=Wop1B?2I{tj7|ID5~aQO{FztHM#U`s1*R-@PH zJ=VsPXMEem6*;_ju}Yya2iTEmyy}V3f=4|JFWDZUwFXXc77NGQf^9RVT>j?QzJEdK z%=I8LU%&P_pkXC_9qrs$UBwWo$iPSLQgo`)2pvi#u$eY zcYOrotY6^5P#Y8t<$mPS=4LW*Ud86aVZ0%fwq*(NoJq6Z6ioEj;>u)-4M>}j{Nx!pSy|?2B-6#LFPf2#fY?22dmbL+Bx5d|X_WE#*Od_!fc%A8b7YXK~z*H{j zqo$u9nn>H>ad#n6?e~)4PYMY16G$qR0j{KbG%XC>`Dykf1(XEIwpMaNAenY5Br13N zZEBfM2nbU2_~hBo3?G~e0NOcyzUAhDWpyJ1FYu!6cOZ+87NSJkI*xm{*SQ*w%Y6Qn zOTWhhchee@-t=wUdf*!P$e3{{7!Cj+csXYdy)1WFY-(3fV+#LoNcV*nQON9zS(T3E zA3X3k>eojHFuyxya?^i*s2} z+kZP}pglaq>S)%7CjP_K*n)$aO$KcJn-Trz*9>A8y-b zBAgum|9KFF`Un3uh8VYyCScV&IB3TT-^lc4@d1U)GN?l_;AI(bH$H6xp@%F#)9c4F zc@XVyw-qAVb8OZ4j|eNxU;>-q5^-6oCcDpAwL|a}v711UW$R{;P^Ed$@KsByACH6C_7YzJ0m^4Trh1>jl?2c|Ic z5WpI_Pxj^oZ0pt&19|lRvdOy=!dFvXK63%&3tM18rq^S53bp+DNeL>s?}^$Jz@Tk! z6PX%om3M;#&s8gQc#-tx>T*CIYlQ z<0*K>-wgEW7vsA>&-cmy(J&cB-S=L=uqD6|P#j1IHM}Mi&BeI@&eAqwi*y{RwU?d} zm8}Ok#DY*qK7b9{z?sx-jt{yXI)s3PFwA90h!<|UZMXH<$ncQHfq5et-)QRC5de=) zwNdpk`ky5&N{tObDfPD?PY{5taa$DL8#MbJzT@|-{5HpT+zuuZ8L*@l4DjBbA7*;* zT{im{`pf`hQG2Wm+4RW_u%Sw13Hu^Ze}VDE2p-9f=|jKR*37#j*7!iu{u?C1s7CG! z>|iedV3ogHK@M(p;^sQXQ4e+aL;G6FEA^70_kk8z#-IfXus$3#U66e;-{VN|l(x-( z^vMkF3Tz;!n7D=e{B7Mw<>)&XQ>cK*SLz7lqEL7yGzVOZ?Y7&5e_~CbG}uzcP^%2d z0Cq}+IC{unya3#L<+l;u$KnevK!@G_VK0T%<_TYWxw@@Rn_ilXOp*r`#Vr$N?#3lDDiasjpMyz{Q=dU7k=$G|}o zDnst;n*0kmikbixdm`zOYUD@y^G*p^-3zf(3%CPYW(pFI~9(Tlx-<)$ESI@vRe< z0q{(=0eyiKZjdD^bNZKSQq-{pJ!J8Fy31f0F!u7G-P__TZTe}AF9UqcaV?eEaOTHU z)`GOPaiJVZl#jgO!h^U0%tkTPex~;jMS&hBqAjMv8Xw zwj?X7s^+5<`S;C~Q5^UwU42HseL6|ohmUq2O#nh>KHYd+44IIZ#*7k{dgC~;Ah6zPv>$CQEhY2c2^ zj$}qKlzxU@nCdpkE1v;|mnx^Bb(^s&=+tHaj7c7YCqm}#tS+!!S;ZCZqvCY%Jw5%V zzIvlLB=+8j<_K5~&~7ifMU0E_q~)9>WE#Y1=iQzhNs(;WjRD zj08-c?#eBaI+z!|>)Sh^5j0QlLk7*Vtkshpjp)1j6*<3tv&|B`eM1hx589?v5XbeD z3F&heMeRbzL(9L$u=c*7!>KD z>wjbwOClt%J}yO#WE?bCQpBKU4gwU)uytwnjwno?DGIjctd?pRx{p3syX|0?z^gF| ziCwCLyp@u*Vumv1+?|EjEh7&tfRhrlAl+GB8^q6cH2QSxM)`w|r@)7tt2F>T=eXEB zsM-pV4oUN>=}kT6OXxp?X=_kBwYJ(Z!*X8uLpxhrtyr5y*gp8 z2dZ*`zD2v;9xB3@riLBd)1U@=sCAce4_)zd8!BQrnxIcFZBj^v`wXKOgz`N_JR36_ zR+9Ycl;f0RJEqCyw?V<>QHwp;%;6OsqODEDU@Or6L{1 zTw88^4cCa+S=_7*)hiPc++S?9)eKY~Pq2D2t@?bR_qWvnUb@2Oczfb?WviM{UONk& zsFPX;%9gSjefOU@3&BL^HGK)&EX~(P3=^wTJ=@>Y9HMtQ&NKS#W>ae_$&nG(@Ep>m zE1!F;m0Ds^j((S#C$RcBAgJT&>RY23{rr2**w^niIj`vYZf4oC)Enb_=~yG--qNbP zjITN+*0XtDR*Yp{RloRG1ZGr5JCU1!`8AR+A!FJd53hnuJ^o{O;;ei&I(D`gxU*kZ zU9)I<-q_i56br|mYQJMQr=?0vmKMx@*H#hwQ9L2z%34asN9;}O!3jkodJsyE)V;n4 zzQ8=!Lu|?n5C$vc-cXQ(q47<(Kh3(mE|80-bXcS9eD>;Y-=)Rbv_*`kM2K9D;!%Ux z8;WF8W(kTyuD)O`46}Z(={M(a?S#!OV#}CGJ*r>06i-EvU72y^oJl3ouTxXsb3NZw z^MzRgL!Yk4yjviY>y*f?-|_%RPJ#pXlu_-V@){&gUNd7xg@T#C4d|PeNEj^d?{4mt zk9kxUO;;z_9fU{@_<_90q#jnY35Y&kbLkw9_dvCuaz<+PorV^8ahy|Vf^+$>~&r_d&3LIPZp*DQ(V&*Tx*8_Fy1S^>DXvU zObiLtT0ffoCdVE7il53LlJ2NbYh);`=H;wYCYyL5tmob{DUwOl4cfNnv5BL!O2C8& z(_Z+z5<2|h@<|#cFtKMp^G-~%@~+7hT0(rg9q;~8w!J;beH%oGQh^tee$c9MBJJ#f z%HR?aXPxOpqgnpfjjXaDOLo@bqTZ6HkwzfkjrC<^L88KdhB zcfPoAS7DB$eC8Jzs&uQgkXqE?bNKM^Cx)HX>TG*xt8U1-b8;YIRM8ai=LdfuI;DTaHAc(=1#1ce5*9Ox|n93f?V&iCch7*e6zW7;J zg+e>uGI|Kz=t`{W3r8l?gj#+ycO9*Gbl*O5*QriAUd+`C&QZ@X*N5;hlCpak9a;6+ zVN&%wpA|M|YaAjI;vls4bdg=SK+kOG#dd`*|7!cjrfIp-8t;q+Y=@v-kH%i!C&W6e z8&mv+zCvW7knBOgYYSCw>KUZ=zlBd5xrpBe)=;YcHfz z7`>@U0&9%aJ$HG;^*y1AR5UrpBUokczn-Sq6}(<*yOj4HaFegsfA5qrI-zlo+Vd#j zoF+$B=f^AMdku0)Cl!eo$81@@q8PJvwdR^@CoZA{DO_EeO%m$8W+rS?$A!n5oHI<1 zRqg6OHz|}{vN7_tI=C7~{mz_s}) z*DK_h+*SVm zantIdgx5J1<`E1k9v(Kud`iNugQ}=_W0-Ix5!`u40oMY-hcU;3Sm{bU3Z$@Dp;qO-mBNo~6(Qs@+4Qq*VFN$@=%Jhp< zC#A06W%z5CkR%yv>i3ac(y2^`TalFz6WGVl-@!VA(9lJrTUn%-jydddsy9xNm%k2Z zCZc}AWEHg({6@nn@&I>}&vTUGo)AE}PE`y??4z>O+}>&nz(B`TmZ~9?aW_B2XgB4D zMvBMn?`AN4B#2OV#G5MxeG?sN4x2kp4qJSvhY;QkzqeK2%q>;}&HT?R{=kK7MK~82 z<+Vd|MG6G!6_1zBQf%vU;syb26fdBqzdn}6xp#0Pdc72wq7kfp3e)h1SvbQzj*QGO z%-%E5M@uBg_iHiJqXQFy*5IK{U~(|b$E)~+3e)(TX#ruZ2va@ovqmfGzNM9D%V#zu zDw!suY7{Z3>~M>}&w+&q(k;jQDx6&^1h!+HfnEmpDbSs^a_<>*x=h4V6yL;4n_1zB z#P}+6@Ko2_TyeI>_JtoDDrCzd0n>*L{)=R*}xsR@4G9uml)r0~vS~ zc`H%Jo)|hTg)gg51W)cGeZ|?N6WfGAZJUz~y4Naw$&a-R)`;tQE*voEoj9e3dJWN2Vb`2-wmk>d zTsSUreGo_{Av18hR~+oE3yz|Tq$oy3VQe$@a`PIm;qBcSe1sxcI^Oe0?I)1VPqYk6 zfo;zwAUmIUEj4k>J}3sGp4ASi)8*8ARO3iqfNsG1@MOOFxksie=7~-AqV>kBK))ij z%Y6^n0?N-%UkmaK-gZ-wr6dG);wX5X?>(9TDtH&1wFT}$_N3&wNDXf5@&C_Cj z5|oCK`ST8vCT0XvxRyzi%V6+ay`yH|~x5h>{>%>OUhb-1AL&t7uzurdU@Z zF!D~|z&1Yfm~Z1@xlMNqktdCRlx2DmtWNtiqV{iFBtb*wmv_youGt1C6jo_{sQN<) zj87ch&1W-aavC;bi&)ob*WKaTAZmPCH`Gy~pYi*2Q*O1<^Ge`VVJ5SO^H9(RDR)9@ zrSN9q0oDSV2uBo5OU->NFG*U3)P$B~gwOt8&jP@gnsWv9W;M3xdwr1GuA=WNbl3>; z)~P4~+4B+0mn1g>8}x^N1|x6}&epsqoAZ)H+wlz7f-VqXSbAddjJW^uPHJ|!GX757 zwJ1fe+4TSYTmVWU^{xuQA}yi6?USy-exSeSp>U~``J4618c?k8jp~|y$*27@-T%cE zF#rMO56gv{wE1HZ#?nzRh=yM=x_*^7-<_?oF`v`@JB^DC$mGaG{TsOZiz{YBK+vES z<(2yfCJ4yh>eK&$LjO=xdAOGv$u;gT2=#ZC`kEsX`F~IK`wsl?4g71uf*JDvGA)D@ zWXJyD5dfcX;g3#e2gY)8V3%t=09HM?`%OrZy%XOEuqRBo=dI|fJ`h5Z0T_JlpTPvVAl&Y0 z)P_cH>ppOHa}53y4sRBYNsdHT}Ebd%ugh3X7owV7%16oxM;aAYAOqlg*)PcFtA0)d*Edhwj0KQ_u+qt#P zQ_R|clTcuQ1>TUu2aG9g5v)x_@OHW~z)`|K)hzHwa*fJ z*9?JPsDc2QECWjYifRC$FZ>Ar`KDU#|I3k?`e<+Q_QnJ5=4*eTV~YcC&W3ZMFak|& zN?qX5_)22rF5XagGOCap@aBG-FzEGBx^?fl0uLA<(F7eY&^geDE+BX|Wx~GSU;1 zy#j3%=sI>)8tGTlGh!+NyOkeao&&ngQ*4pxX+8xYYCF8I9pyeLQFA}pDmW-QJa@vk z_`K+GvH^FtMFO?CoCziYdIy!X4Fm7Afho5*BIhZH_D#wVZtMgw(Zr|hgN+RDe*_~; z`6ak96z*(dL;hU#x&Jv`2r-I{P6gbXc@5a>GO%afhv(F_@Vr9~qfK^ehto?2DB@u<&#bWIWX7-%6`!ax5X1E=dtI>EAkD{2e@2>J|g_BzkF z%pRO{4&;cJE(RSB#j)XS??%9OVn1`g)CXh#+!R#Y${17)Jya3zOH+SxIW%3G10zz6 z%}gs6?g#OfWDbq&_+JEvf?)KciHy>Ta8Yq#_z6@kU^pI(>*-#>jnQnN0PeQpk)$a# z>#(i^Uf6c8?N5aIewXW0P)d6?nYW@ZBzftRA2d_GUaC&w586uZsLU?+0e!y4Z$82O zn#Dln`HEyalAXiATHb*>(jVdrIP?w?Ik+&>1|?te8@}4>yplHWXKm${+gQI5J66k|?d%!5?){E~xbIdLKE8cVsR_hyQ!B zN!PXN10s&_QxHI-+Hkirf%(!X`ssJrso1X;y7lIx+Upnrn#*fo8p`peiQ-?k`Kr2? zvib!WBE#ywrxyMAK3?6c&bnn7DV%-M473^}I08E5>ZOT$pB3&IPJb#VND=grJ?RV( z$S5bJgNYuJ6=Ek!? z$|sgk4{EI3F@n3oB5^t})11$Kj6c!Wfl;Q<)+~706dN?OPKCRK9n-(i=Yf<;oD`Wu zDrSN1vEuf%yv`i^&a1ESnC9JX5fQADrpEfaP(S*A=Sn0Q2tz|BGBeiT**va3=0(*a zz8DP`PnbQYhRNlBdoVYkZA8OZ?VA!t(;Jr!vz?EAQ3sNM*=-%bxV=rN52YjpW>ofM z`V2Gv87!d_Rl~yjhtFVkL6lTGV2+fxN2s=3%ksCwt*Gfp&uu*U&P@34vor2B-`;GV z1|o=t+k<*HlBxslo`*kZV>7xNpNgdLn~_Yqp*+q$kkM7}by;ecf~Jf_KyYgx;2a`7 zmJwyry+KV+;0`jOJTn|vO!vRJT(!tY8d-jSth|vG%}J&FnKnt6<3K(PJ0aeY#33k? zF8EIC7ue{au3BGjgPQT|d+7u_&?#`>2<+6|hHbDXu0L?zW4jy(iZXcZ)omEl3;O0u zMB-ve9O)>;8>Ql@mtcn&22nVzCupHSBH_=BFmp@x=*R@|m;atAu#T*=H6Ke=*&R)w zU%3cBavc^k0=i99`ef_QPEUaMa~YwZOYnOwXWlNjo< zVD29KpqwPtj~E*iC$#b~mvxcbOO?p;w}asgwzbNi5qF^4OAYHJYpJ5~%OrBG8?}d= z2`o0Sd?vKsU~z7>u&2WV6(w8^&6ZfB@+dG1DUvNZ#A=4p8rw^3?|%6tpZHk!>T70S zmIx&U&%PV!n=%ff#7??|lp?`JK z49(0@Y2`cwy_w_R&U@=U7K&6_~d6j*ePL#$mgh(<3zXIZfybqCHjAM`}h?NeG_H%9qrR~*Mkn?If zD{;^^iN zcKKBx4i=rw^!;o8?c%s!jIWU(TV^Hnk1k(WWN^Fl91@8k$n%oA=fw4eN_xT2@RYdJ z#>zMO)H6YM!xKLl3!jRwJQ0sJX!@4^ANJlds>*I{|5iX*NG(9=Zs~52Sab^_ARyh{ zNGP!AZjcTM1*F>`7u|w%H%JMJfV^|v&%XEV{=fVG{e8!H#^A#m4sm(SYhLr3^E{5@ zcUqt_^@sGr$Dpe&l3}Er_-%H*=st{`WoDTk4$-1ISNVl8PqC%CppTk<3JVODz6b9g z&fhxK&zklsTML|%&j(Tk9iG``ww(ptl8omO`ixy2L?)D@fUGmHxhX|?t)^V9QQd^U zGvT&~%6uZ;Bi!%P3RWOQCh_IC0?n|?@0IE&6LOp3 z+0C!%PX*MS%{egX02%6ymi*W~?#lP&D+XR-sXu8uf zZqx4+$~&|;G@GMR^pE1&km11q*bZs<csS|zSXb-v|SEL!nBH)DZdWduy-eGK zBU7bpq_Oj(?Jzm}^tKaa@$%?SR$z zy20mu;+eI1R@Q}@esYtopIU^O z?*rxeFvIriCe#A!z*}xPot`y;hd5H6FL)KpH5+VST=IzGY%IBqeHx?4rhm%h2nUQE zu#JRsnTZ69O|y(lf47K|u-bV!`lypP`>B=Q2eAhhBJUVyoeendZSss?w7x9$CC5fJ zV&+rvQ)?F&=8Hk4@GEv$UI-M#a1jZQNYM{m~OxnT;-PMTE*Fuu=NthgVT^lq`ecQdKrn>~#tQNuC z)$Ud221VpiV&;2MX5&9cP2RVSQNI|&2;;R-#wFNKDu3g!TSf#!opdf_S_ZL0}& z?kK&L_14GAys_deBNNM`@4IN51vAx_P=TECneJcrweLbXo5AcYZm4reUK&4~8|(JF ziUKUHQm8-lkfr3>V&d(&uqr3)>TUTmIX5WZJCftrCK@-jWfPsE1jcEI;9A%F((g8V zM}A6L)KN-lry>z6$<5p732hteuY**_aKn5~wl2?4CK-O9eXBjo@xs!f z{kZ&~)1AK3292aG(uYy`fGVHpYwT?^v4c~`Y5hfEr)IgRk0r-!J+&Ach1s0r&a~7E zfUHobn%u}c=eS!(37mc}tRGad9}A>U1uI1%?l7?|5~NV*iWsRRSi(hUZQqsjt0kIHMO^_}_%;k^k z&jObbO{x9ccl~@UHzn=Tkixa$$>KJhnX&ca5cFQ)0-*X(*_7e3xJshkN1G|PXqW%N zBSUZX}{^XPU4Gy2@|Rfbn< z-TOoQQdyw%>zgb6%n3y~4ovVwOXVX~(Alng5=rl!0>w%t+GXh&j9|(kHaxO+7U_T7 z;+<*iKF-SiaH(%DXy>Unyoxh>dMdj4wfj{BQ&O?2#Sf`06EqZccr4dy3bhf^bX!da za@OroWsBIG$qRHfq+8(2hvj7AH`vf%2&o)7rRfH=5e-Mrk=;Q{{R0=uZx9}k5z^3n*>rBS%wbi!U5vIY-~6od@Nr z)GsI9*w-rt)&sR4Mr&^hZsebc`=rqX)!6$^30dk)4i1ExK?%aVWxG^Y{p_RO>=lfQ zzGFwYQvGxCC%m1bj#2CU<;l}8DR*)*eWp|>%f5J8LZhrWe(86ms*KEH>5osF?g|Av ziM=}|i!y`i(~?LJ0gnM;CkxlDOfasW{uo!v`jlY`Ezz1FED8>znPK_~rlZpKV3f`f zPhb(p>Qdh+A9Ib3fx^tRAL=iE34T*X)}+6-ku)7r3qp7HjoUFK0TO@otB4R+sdA_{94*5RW zr{3j=P=AOW)P-Lv&?@E@DJ)}8KFo>Mx&E;)APX~GMXyn&&980UG8$rQsyH%P4)r`Ffiy*O{R&Be2Tk{xfGy3^aKJd!b1S~aH>*dKAH3%aIF z#rrDw#qIp7k3`8s`#yi+5eY|-ga20T%;-T!pLWjdY*0`E|Ta$1*QY(FTjaV!od zMPTq7A75-k$Fy78-tp9uqcp`bs-2yD3?ftVls@LjNUy03%qjtgiQ>{6E#^((U=8A+ zelouL9xjEV4oAV-u#$$i-aY`oRTrv>cxzJ^K@kkBTwnT8xs}r!+9wHhHl>QB+VVQ% zrZEtvAtc4&^vc=$${fw~ENe5%?`$&l55wij({`l8^}?CG9rIqBrDT88N0gn5b88z* zGi5$}454xVcpQ*#_S|7+)t$U8hY}ou(m74h7{G>9^zci=%H5kL z)qCp1T}9x)$a>drxH#;`om0CEM>slR`%CUrD>=zka(W{y6!NpQ-4KUTnc+LT;cn?8 zRm*-|{3&=bwmKvA@r@jK!Qth(C*fgu<-p4~W~)cMDT+q0N#3~vObAwD>Le~Jj6)ZS zABx5@#O#F-O=WI|Zr|LnpF{?R$3wCzNDA2JS?_$BIzRm%k_58sIBJdNz1a~(o&X1$ zZ*&0Oang}MW!4KLhetUp+n+|!6|U*p@_alIGGapz$-0&11mY+lfJBFxI>(9~m*=t_ zdfNCdF=)hq(jq?#gMS$CXG7Wut#zTs*5;5a#d*wP#{BJJa42^WEkkMK)%R!57LSM9JK>>h>H~AM#THN(Ta98U-@~)e?I13OaEITA+=ZY$bS7FPaIcv&UB{z|5n@4O zDWu$K({gg}cy?mB%orFixAjQX?Cqe;UuQHyVV%dcPTn8m1+hHC*=HUK&A5Y9Z#VH# zw8&rFhh(~fA-cPtp;FLFT7 zPs_9MUqTglj%4vZV{QO6V&upLmM(94_^nRNwTrM3mG?^^^7k71UPH2cP73t#IjB=` zd2bsFNaL8Gu;ey+FPf3%{5Vpu#KXJ${qe7dF>P~i4*b(3`BB6}J%L|__1*cqr4+eW zHWW=`^^<{2ZhRWR!Ef{+1zXmN@D&aN#rS@t>df~eX6hgj*2Br&eXGWifF84DaIB3C z)Uu;^{gN604#@ zAr5RO>25zQqf{n`mcLacE8o&Rb5wrqZQ@c~`=ps^p39`}3QQi+=I0FKM$QHFR;3B?*Y_VT1NU@e7YL zhNsVMM=mB3E_r@tc%8km-NCP10p;^J+I!PvBMA`tt~I-nS_7r1bN&dPJ}t&;oi5QI zhB?Syw$BEq$c4B0A^TWUUoUfB4Kd=<7J=i24T5C?}FE3G{9Wy>` zLTqqP&fMSTA33LJ#wK!A4n;@R%0kvVMoZLlQw1nC1w~YS(oBZc(nvNXEBvGYVJUT( z2cBajQAg;ezpF))@O}|V$<(iVRIN0FMmoMcn;+nb@JVAc8WsN$im2yEzty<3Xz;! z6Z>~@Jw7nxB>hw5{Yx+v2P%Z&`{5StSb$Sl+jdo*bOoB+wk`@9F=MEcZc4 z%)d@}k|+lZ09100?|wsw!6j=63g+yNYjME6I|nIBshVwQ^!=B6^Iw16f&i@Z|Ld{; z-=M_b64c-N>Hp_~5-(D-|9jZQ4B`ho;wwP=fqiFH16vG0HF-<2#gDLcpbvCQYpYs7<{93v z*dhi35aD;GzX5SA>$+u!cf$u%?xhbGKV*JfL$z`FfQ&V)fPV`7pC=Zj>VITSrPMbb`A73HfwgbK-CfQz3wr|iFOy?q;&LKiDU+Xhe<)pg-4 zS&!P9ifu{e-h)EBODp(8PRDZ)5)e4Zj7?Ys{E##6Aqo)6SV4~IW|cwXoPDjTaVt`Z z`%79umc*85a;9pK(CFgkZ!LRr3H7s{;k7_{!$nsAYjZDRufSjTT>*ksTrQps_lX;T z+rdG(v35q{_di=~`cZKR*DFNr9+0EPO#^*$EJX-LQqR7(SAvoFi=2W~AJ1j%upNuL zmb}+us*p@(+qr}=;Av(=N=wLkG8R(I^2<@Z^qdCJ)garPgl_@Yzd|Y+W?5pV8dLX? z=xN}TfXWZW0Y1JnaCC+uql&=L!-hoT1|HUU0)9gXs9}pz4_o6CFG8GoCBr4NO6!mw zRU{W9Q4d}ei z-^b*EK80jW9}SBh^35?_y8)~S%qbPbE`$Nc7kg*V^3Xfl0Vs7V04p3x$vqTMevB(9 z1}kQ*Y%1s>4EQ6k#wA9Ohx-#~;n=*^&npJQX~kcBhgfB~$W^vqf&0vagm=4WBxF#E zU9Qr{--WPF80*}*Hq62U_0PusT(g(nNOzSGg9_gmtoo*9*7jY<^z)bg=?<+EM3Fpq zz6fOZQw98_aUM58Gw4XKOfF`7<0bdO30%@wVI=>1%{>Mw=dnb3PauW(6(A%!O}V%g ziLHJgaaOqHHGl-c-Qx)-)yo8#CDY(IR!e@F84x_5(fW&5MB(H4AN3U5kp`mk=>a>GJ=felFMGR0}s)$9FhVp zc%3yHi6qFERVXaQASL#~7=e3WR=V7`dhK}<{O|ok{AXwNWw2u4v_YSpkj~MjbCoV7 zax3(GrZU>XV&M_rMIv92ypr$u@9!HPDalt!IhR?&X+Q70lIjJzHXqmL3lIQ8+#Uhm z=IU9Fh0WH`xQD^Ba#gejKO#zAQA@?siooWm6EA0JOe_GOgtCVmA*UhIZ>hkwyhT)+Je; zyjx65-{~8oHicxpKQ2l9N!S&V{#QO@j#oO)AKcsOa!e58;5s(jhUe>yOVQuGb2)Zw zZj0v$&KY4K%JJ|oz3@it$`OFZZ}Ey0B>zBWIQ$|U0)zC1j@0t#2AQux{elwd)aC-2 zDgKyQWa6p1^Yud7m8+E2%X&6k_497tARFzn`6}?__+)mY^!c*I{s40Tv9{tU?<2HG zpQO^Et~xa?ppuloHssE0>PN4<#egU@;uF8vIBl4-pSl2zMWTkaxq=i=)An?sn> z_hZ;mP|tz}=(dEm9?AJUB$#UtdXWiKui6<5z=n4)k44B$L7AN2z_>ooYFSpkjFnwv ziP^*NnMZ^2)r77NH%EJ6N-K+pN+QclFcU_@G;&P9YTpSJo0ToTyGJ$27i!F_ZDf_p4_xJL3vew)TAu@uXQ+gX?*(=ItsGZB;ir;@C zZdy*=V(gyk2@t{FJUp($-%&(D2A|5rn8BN0S1*BIAzpY7@#~tT7IAfVOmC62iZsrF zU@`ls(9k+6@0Qc?aJ>ot3vF|cBkL7}3#iNX=|DF&tLaLTBq=IPoS$-bN6{+LJEIamU;B>sZuCu-{igMvFrOqe4LN^2d<<=KB8e|zt}BX^ONG>5UEX( zf|=Z6f{`0cHyN*lbtsl3`z?X@t>)Ly;v6K4kB;O%mkA)aIMs)PkthQ-Ua7ax4@a%{cDjfiwz6UUxw|VtH7+?ikvx8J1z9kX;$j!a z#OJzhl^w~=uLmp2EqwNPos1SiMlIc{L7qOZQpgK{r)|>LBG^IpXa$ToCK6e&|J{nr zsfn%!NRN<*(2%|{Ag^QqEFv>VfA1TdG{HXY_=5Y=b z@SdR>j|c@NkuDD@;*BfyEx~!Au(u@AOgZfH&P^t+ylX;VU?k@yVp&w{fn*d1NV5zX zuBsuuiQt=%Fbc$`h)UapQ(K8A?9l8rZ@OlW&qaId#XnOFQ+Y5Z^|KPTsl@X-IxXMvJ8!EutMQADE@ z2aGq|hO^ajd?)F0S!Db#Ex73ohi3}*V%^J#hG%T6S43)an%*aPRy_QYo#F`$+BvRo z#0dSDhLQvuRt!`};w{#z#leAZZ0?16LAlVw(I4fOT^vPJhQfI{zrmBXg-rgfR&o__ zDqv~Qqge z;)F&FVc1Vz*cceguSsTXyXS)M4cuYmQ>bvz(o5C9am!gX>~M7-9P6@Hz}pr=cflQ; zayS<{o3!%$G$m1}qLu4D?z3GSfM*WHGD$4{LNi`XQGksiYhcH(tOA$t{b^p~zA}AqrCaC4P{(h-V6Q z+D1%lf?qLm`O?s5UpHj-b4w((`Bq40t%6O7)A(J1irh` z&QIQ!Y>`I$>DSy97~E)a1e>!TfH6!nJa0{n37e)!Ka7K-kuqRkrum^0PdZ(ICJrp3 z9DyVrf0^Wl^JlBTNW?gf?zdZDOQAYNbYbICa%|IEzi}V;1@}7WSU*3YmckPDK&LaG z@{}^FB_AgPHv$q&9jwWS#w}7FO}I6~m_j!qibAx7R&a~LXZX30TdcNc>BRAF#Yo-r z9IxRUKH0DXVMJ37l)7e%t$^Ya4a*n0e&@l4^d zmEL*rYzTS|b!5dR^saQFu!`YXP6%V}ZXUwMNJu53Lp@sgVNc-@8_!)9XBM>zeYTTdIXRX=evL}psx8wevJ8*0WmSPg%sW_T|CVu-WI z!aZA$a~S9~(>qHWXD^(8cu?R|;y%F4YqMGXSKop@vbmzGMc4tvH_K48(bn>er}q;*o5u-6y6?Q{VGn2tdb7sA@8@y3N|wuUU^#uf_Yx+t zn-mIhBH4{QCFhLR_votz_ga7F>E*|o{j5gfe*P`}DdR8W<0CT;6I%_b8P`c%W3y+$ zjaXU%LV^mo`S4#d^c4*K&JHz2{5{y%>IA8_^1UVxiuHRGq)6F6zY9N&@sHSoTPusg zUCdV6tafP%=--=zN-hB|p~O>C!4KN!{Y!7Jb78FKW##H(TSvdkEaxF440%QoPql#> z>To9uIvUA0>(x|blPmjX$Rq3SEoL`7Tq=i$bAWnAI5T-EIhI^->E z7dgHhE1NYEW2F&m*^Q(v%fH?*ZlP{rIF!N9fgI}lKXRxW{*QV&ht@u`u^$UZ=uHeE!Pvi4j!3St~!#I$}dKLBq1b;s-^N-Zzk<bFE_njYbig+y+6$qkihiz(GmKKLRz>ityTvo3Rq zg{;XvNzqi*^Je{C3gvA2J=n(0%kyEhZ*Og`*I3OddEpuvK%-)DYq_6LInF;1k9QtO zhCHNq3?1at2<_!xPs}JX$5QM`9y}ErI67>t+`9VFD%!btC~TGMws`6*k$akR`pu-G z{*$l4r)#m1NL$E#KZxP-?fYi_U5pYcR9wcdmU`?dE=sSMsctjdPi;EeTO=RGA7WLdR5ZsV;^G=tVE-)QCH*K;(ORzCS5an3Q-dSEFyX-alHumO_irCw!;52 z9@WT347i4?>T-*0(DQ!!r5J~>3i+J0ZwsxLpgTnY)|P-$fOf5&RF+3UYQ@GsBQJ^8 zpL9zTBE(qaOF1%S`ioi<4SLcu`UnF@qkX`0Pz+J~g&+&@0v5oPr#1?C-m%U3^xgFc zb|F?{4y?+39kK_x$Kx*X6HWA!dn&}Rnr*Ks$#ZACn~A-@_-dneX5CK;LQ6OdCuNNr zCbkrQ?i|)R$CQ0!vWNER7~USfqD=Jo6%o`i!<#)_Pd;l$mpp(?o##tcf8@^)1Z*_( zl|>;jg_qc)Bf`87`!dO+DugLaY%VX0PAR@iONG-d9>A>pjY;~!oImDpwz)FbaVr^x%6fs)cA1QUfaCACqjDdtI+~@0P>Lr5V z+w<;9w_&zSBu&#Z_fL9emUS8^vbPQGs{V*+#JYIdyVe2Bqhvd&>Vh$1tlq3HDp*t! zV)cgPBjMKG1Mp@I9FF+#piRY2pQtqA0?GqP7EJas1)3$aIZDm$v`zCAEBeFZNU0sp$|tT zGzl`G&=iUEW{RH(Le0_if!cV>s3X$Wi;}yoS>2_F%ISuCx!fs_$;12Oc#MUemnGjD ztlE5z?{#;^Yx`O`OH4x%9UjsoGrnnWB<3ObG%FFA-3ss+^s&)=8UJk(QwmxLE%z4vTxqJ~Y)eav(Ua*dH_(0%)iN~b z5kmmiG*Ng#nnGp4r^oza?4n2c)i6B`TUNQi>zFSDTV%LoT{JzpBZMvH7IGUl4zz8U zE2uIIaz)&lbhdillFJwETyyXNmn;)+Yi^XJ4Z{9k&M2O*o?Vpi`n&{# z)Oayd?x7~;7;@oprjUA@_Cuj9RH9z+=uMe?GLa6)abPO%ZyWE;<}vS$CpF=RFH=LP zrJd;{>uBKdN1Stl$B`(+~{p3R}X`5#P(}D-GSu)LA-e%7q z3oP2v6Ku_zb>8lXYJ?b+u+3v|XIy`FN$wNU5zamSwLASj_tVE}wrPw(vCXSTdcU2; z%_;f|*?I7wxBvbL+@+OVN=WN~VRO+ktwx>MQJdUM5HZN!_TMn*5dp}YoR_g%vO+hf z#A1^(Y1cFbl^uRAV@*poTe zd#y_B>YfR`W5)y|vn1@HAdxz2@P?2;?`7f+ELNW|M*!jlPhGZ294=rBejFnd7@j`V z%Npb@HCJdrTv2XtIgz?1YWpl`5ACI!0k!MrU^C7M;cgdHD|n_o!pot7WCX9x?Z`cf z_S>Dg=fEIt2XCw%%5n>-0R^PV+?NnPO+e5ay!1Zn8oDt@prbr)(dc77oAxBxg{f@( zvYbAcO?}`c9;-R*Hjw$i>w1=BcELkg6 z#rHvFmp0lK*POeZvb^s#n}oAU<}Z&l)W-RKJ^o$igR|lTE9Bf5;Zed6J9Pb+yqaU_ zPyfws<7@retSVX3$3wXpC$`SBls({s(;Sz3o~QAH@5KA0zijGBsF6oQK+Am23U2T^P*!U^Y<}htoipt;n zu>aYR<()tjk`NrR-@6dbq zOq5rWuHNI=Twjl{r6*=|(jh-AE48o_{`>j*p9d{)m7p~I=*_B`Lh)Vc=W;QmDJmA+ zwit{uvDNxLvUom0ogP*O8oV&-yMfZJrah%139^}dHmg0c6lCu>@Za?Pxn}{NS<+sK zS+IC5m2LbvO8@@+Kt-}Z<<6lPzu|vg+rO^R6+)SAVvKeF{X{&^St`-^Ec+R^CywU36iCS?D;zy0F__`;T{&EmM3WGq2mGiWkVFwScNT8`D60FnTLEime-{Vg7pxnKL4pI6pI@ z*crp72b1~a|C#^&xspZ&gFrLeXmQ_JT?7!YPj8SCq21T2{DJTBO+d{{d4yN5@vq+G6Pv>=${8A zbE9~hsq&0WA(sM5NNvJYTREBpNUh3;nE|!wM|KPd3C_^0f~=6&H_(;&_*0s0!RCrm z3EU(7WBXmQCS8g0o9f@Pr*cL_0o zA#?L$1LWe*@x{Cx}BfEFIy|$u)t4RV&c2 z5Qfg}cYgl}qY6k5IsvS|CZi88nuoJRTSp>|k!%V|TJo9b}PzJRUd> zCYN7B#QmU1BjvsKa|FaRm**7Fo1t<-%Rpz=2`|u=qo9sI@LM(z0x7QrKo&AWZ_v(+ zk3}|$Uk55D+Yb=-`Z*&d)sxz2!`4{?GMt62AWyjP>Gv5Y@E%__gG*gh%@La+oNoMM zrI94T>s3ysF~9(7{7}Dj(qys{-7Ca{0!(QYj!U5DEa1tLuK@a^GG{L`xQe6c4D^2& z(1ImmZ=tm@Q_#uiZ92%9%oqaDvmSv)3E>njUMUv}`42Fl!I@kp(joN*LorIP_J~%= zRy{b(NK(Z?kg$z9*m%B3k>F5vqEH@J(Ee+cfvok%KmS`D0HSOG;cw3YY63j7Vt4o6 zZRwW)TqMHTi|p1BPz%^k4{kn;E3sb0Q~$2EY1#%_&W}n!D6F)bu5<)kNlyTFt`!AT zx(^7fQ{Xwh{Ym2Gx>US$KGg%I&#~9;Tb!(i7StRXmNY)!pTRL< zh@>`?tzw)00D1_26$k&wH^6@T{$m@w_J(LoM>2R3gkS!17@?&ZMRbT9utEePZ(e$RjCT5@@3F-2Q!9I=p2zaOh@p*c!5OS zn~`8sS?UHbNyWc`5Vlv-RMM+N=R)VjG;}Jz(XDu!rH>yfcISG}r#DZ6R<5yG6MgSgd0T8<$&U0XZ zX#y^}&I4cq3V3;E8cCU_@bUP4G4k>*Q%QjQM&CWRtzi%NwL^ee!OZ_P1AZ4J0K`LL`p(tR3Nc3s0`ysZAuP$3^zzeb}Ao zHS^ucG6|J6z#a1d5wOZ&59eI8Y22G(4+$uxJVYK5OW{vR_-ttyZ+3_~D1i=>+Z?2x zk4&h&$($FtV&a>Cb!CK?ej0tx+1_pNwd{grYU3~7?80^Bes_tg-yE&`tAPD&`tl=* za`6C5?q|?6e)au37Z^#y>y4qLlpDp5OSM+&@;-11CqNZcNsajXXb;xp&XKztQnv zy72)Nr!?-D%b1m6;;O0p6&_@0dmaB9oJKlb;d3toh())kQxCdCElU-sNN0n-q1sCq zmK11tE^9p(9(pgsC_InyHE+P}od-P%aSt;(T`kuurQGvX;b!fT36FthPdk#>IGrpn zpR3kJa#o8~ASn{nnRM`~9S{e+Pr{Qx?xn;q5)TbKWh= zY0=?E;P2_AO3I4TopjhF9`J~@6s0PS+GD3p&(2iA%-kTyP}^!Vd2vLL^?ZM+{l!H6 z`}8yP#t-Rd@PURG8IE&QMm@jfbyxHsJdHQ;-<8s^FbpuuD*Ou4@ZUb2{qa7A<%uC* zmdg>J6>u#9LG9DE%H;>Zl~7DpRAyX+iQz-dfznOQ8BisFyVS;B!W%w~f`US!+(x|Z zOowLd-55`teAeo*w^?HG>lE1KE^$r)hMtQ~-B1`U-eK*ogi5T?m+3o;_gR9%R}nhM<8X}i70?_#?q8OYF@m<)j_YaXcn1OKS(oos)rWA~I@IHP zF4z+Gn5G!3%&XX!fo5U;-7Y~@9c|1OGz~PdV>5uHHgHwdR+k$ep`|9=9R)X`VO%)p z9>PyrO@S4dMXT)r`@|*zznfUmsfuZH=@#lhPjv>b)eG+JUb?vNi)`eNkOz6I-j5r) zT~H6G4ul}kj6BK}d2h=(hGk*u=U(Xq2el2eCw@ufnQjI;f*5SNRiAxft}*LZ(keZ4 z@oqfZUs7!L@E#5aVs9>zJCy1Vz3+AqG~L&E`(kFw^^<2>qUxkszP1C~7jbNkDXPf+QjGz<-AL&a zq7w4Tx$ZX4)BOhs@J8Imnz)FvZJHT4Vfx&SV$$vUOM}))W+jSQMgbB^EmeBQ>Dh5& zUTu%y0F1&hqo~Cao=7c1T`-E#wLMAD0<)ruL+Qd1g^x{OartaB5D}xtTMWQJw3I6 zRH)Bn;Hy9)m8#myAD?c-!8z#B>fHh?N>XpDqgRrpL^(>6W^*w=@C7yDZ>nerWjFd< z;YljR<3p)V zxLb0IP{7O&Z|jwIu!n{?U(07nId9I>CfBFqQWyMrRD&Y-!B{ycny2DjPOqnWVXxGf zsibY8GTYw?ERTT)=;sq}2;%5xUZJWrx)C3!^6U29XIy)F?<(I+C2VrAV_Ze0YUlj? z&dA-_pf_X*12EDyOQ^**z42!E+D*jIuqtK=VoH{E-*&B6^V|?hdpD87!k9c6bTZ95 zj&)({X;*4L2*+m~HfZEV6>*scvAjarVWC&dmiq)Sk}guQfFtID1Bh%LyS1Q3!ssng!H}_%@UI7e3vd9B}Qk@HZ6tv>F z(;xjpqUf369AE6f^6`jED2*dc3M{w8v)f1c1f%0tKKY41Cu0ct zo~6Ft+>sRJtN|M_=&7d~Bgbo(I@RBQ}(TOpWxfO`RVc- z-ED^fZORcDgG}$T^r9J$ggsC0_X{o`UV-N-5v{c4ckZq1j@zhry>W>>n><>Mb*Qxw z(ZeM9EbC!3MetFElMd=iXaL@K$10DYr70hX+M1wXcHSMT`HCbnX;o)oW$%F){Ix(* zOi#aSIMz#VC_^>3kp%rCewnLf8KJxRoYA9bh3*c<6k=LOZ&##n15pC#Z-vHrR94u3 z6!z)tQO(U#l8Ra_P!7xf1swo(BrETxk^3$8!?pl1Bvpxp-2Um2;D*I&$M0%?f;Vib z?FIH;RoLgE^JO%+2^(@!r5&tMxXlK=X9N=8%Co=|!cO&jc(M$W>ZXBH$fy&Av;dN8 zz}7LBbtr5**Kr&^BWy8oA$Qg5URg_dnSEG9MO&5>rjTAFdKfgPvArbbhZkfjTyoDa zp!h_{aWFXA0f!2AAhpw9k9c-|mr$ON;W0*N2)eE-Gy-2P;>Ggn3Y+7Ho!Q6R zHezD0$9hz@-m_~(J5?rmR^@;l=GWis zU)Opc%SVD;_QU*X)#GnzMRDjtnVOA;oc8*{eslGrHUgTB;=SeC4(q=t=hHOjjKVjR zTw=m}%63Eas^6=7vPZVOv^}pZtW2>K#`Fg`Qo(-rD`d%NZMx4NztP0z?P$>_Nc;#q zo*qsjayq3atNl5Mh!8CVv|#Ld>CHR91HoU1H}AfE_nW1f>-nVeFbW%+F4vHVvqnr0xwlfkUzt(Z{Cty6X`%)U`3ng&WoozvvCw9oH+dyx!! ze;iEmb>4OrwrcYT!h)oCw(z?m``!binz&>f*5ogx)JgZkGj~|!=p!@6J2%3jbN)>MfxekP*RNM26v0C z**NGfk#w3$a>Qf8%Qz@i$LFAaiH#(?$SXc#1Zt4_=vnq?NuH$Cf^$A<#Bp&hR7hDa zdl?HL?9Nc=367fb4>HZWGzn%{hgo^m9}G}cy`yV}%Ac3IO%CVJ z!cp!v%6uA#y4BZwj8eC!n>^+6ZTU$!btk`Ekji~qeYt-MElTp#PU_lHnTG_33MHm^>=D(d_CktaLxYcKA z5(nu%N8)@xQg#uGxk3}a5_N`RyG6gf^GM8-SR7-lJ+vhDF<~_EZA>W?mzB?`xZf{u zpgP<46Tgyl`bMk|lZP3gf0c(b%zQK<0dISsuj>2g0TUdtiXC=ey)xK#FJAS^WHo<@ znTF;&!p~*7;e3hAZu{8eLZfk5vJe~uI)akYhVV7MMP?cAuJG%3{^U1De46ajC$FEA zpa~H*A#h0fdZS)T9rG>_rhD_6^n$()^#1hxwI6e;8hs0=so|v7!t{XHF{RDU6vfL{CH2Rxm@TX8ZE*iOG z6L0%e5(&Si=b;D2zJP|lu06iNY*BsS-Dn&xVvj2a!KRJL-itO0vHpA<$sFF>ajdAD zQqlPWFx1XyETWstLzkr`u-e*q^uWV%03();H@)PBiNM%G7h_G=8)@z*9c;{owkKcr z31rAFY?f}7reuE0Tubd5JhJ@Mw@Y{%W`&>T=D?#~uJWw6hW@OZ6+2-O{%iRJl7w#& z1pEH%kHJYE^oC(=*6YjgT~c{`!~?xEhDY^+$fMa)3QO3^q-V&Bp0 z&!V?G$!NFlB-&(4t1`ht)L1FGcd$4~V7P4_JPfU>jXA1j^!GYkosUOSH(qa~Q?0`k zuuL_I<8eFMp^m-c!Bv6YAq~jR9W|1U-iE*7O{MvP zvtQ$}S(q$)QHP!5-9JNiY5c+czFz1rAx0jOLI&!u8fqNvEV^=Fa6G;`o)^Y26S6Vw zI?aZsk#0RNHly7Y*m8@dwO>)>wj50V>JuA{8kB+$di$N$KaaJ0@1y0Ssz$_-QRY6( zE>`n%xtfTt?c;2t)8V6;;f-aHnSjhjJIXlpnaB}4%4tGO@r@T9KDkAjf?E=oU?-(N z{Bc7JJ2Z%K?Cv+;dGttOCE1pP&+n3bZ=LBEoVgFAxRP>W38^PiN^$H8xW%pghNJWU zct;;2bw|iDY0-R_$2~m|Qj{LDx1w8L zcTbFr!C~G@*+YHpqf&18o?oI|3r3~to2HWE`GH<%a9o+IXJ(mbGkV8E&l~zKKw!;* zPq4Do1ZAdwyzPeRvmy+l!Li0@f??*y{%rf={3xr;K+_W%lu{Lyv#$a8a zCOOWJ%|*7fWl(;OF!xq|B+$^pX`d#QzkpD8P?w%0P-}@_8a`wBTN=_3!~kdfc%l1d z=4tkFY+@9T6Jz>e)GD_)3DNG!9Y17}fzew8UMX1ac}g^ucIvrHFok0>aYu<HZOM_bVVswNR z39Q>u_oXn5(7f*emGn&B8|e*G?ScO)X~C!|1KT>%N+V5ltwwSV!h#tFgV`=XeeWy? zD`OhZ9sqEk=ePcSRg;D&K0f`#geN4?WP-yt1I{tX?Z+Zd2x&#n?%1Do z*S~)Q48r6ClskA9L0rhf@N|vEz%u zuXiuoj{*M{n*QU1WIX|xKNo;{G7p-1Z!@Z8Z9}aFaX^ai2dKt16{}{pyad#(O0Y+% zl#iq2Pp!5%WB>10{zZYBQ#16a2o#ft<4XA)X8A_qZng$9)mwE|V@OAMv> zEbbd|oADxB^Kys(e&YjWk>xee2blHaXK>DI0=<|=Za#v8%e7aDS~dvYuy4IQ1e1I5 z88S(8bh8)t->0XxC~|jzsb^|!Ukl3lOE>eNRBoSW2MS=%0QYnrM7xq-7ysYJcL=F$ zOzE0ok2r#9^ZODc+`M=#2ak-nDMZ{AT>L@mbpg;|OYzbl!@kS>u_XQb7U#_(mykNg zh1t_q0KQ%TYST7|2D<+MLSGZ;3)#+Z|8;c47dYq_z|`7%+2}CWFzaJ?`QIPb&jh-( zR5(B~i?ds7Yi~kj0W8+ z);Av30y0lCkR%7scE1epJI;SS0L>{JJKz{b;epU*^P?=O^b86AmS?tQZ+5YS9K!$m zFt5w}Kji&&R8?vF2aF4%90Vn$rBi7nJ<<(I2`Y`0bn8I`L|Q@wB&1XnQE8>Skq{-M zyQM)Icg=kOt9$tgSycy)*; zz;-dJY~1Irkp0{2&agz5jw$TxRo-5B0woOAe`l5cS}mk>NSX(=8#A~8(PONQuYi%T z4Dp_>{-W;lo$?c5zW-~H;bMs_deipz$sv{MF+ z41Basp+7?CsVo@g%ivAC17_U!Gynhtsj&i-TlBjpd4)IsZB$9&kTXWcaUh@a_CPn^g#g-uefSrLer%>;Q;8EVTtirGjJ$6|{D*CR;UN2{*u8(} z^54ni`p%E>zXq$+Thx6BFI|S9WjE;C_Rf1Bh&K0B5NS1QEtol^_YA*`{@Y-XlP#&O;K6!BH8^ zTYlRw6Y!0nDvUw%J~se@;5C;mm2(Kf!B50v-CV?BNc1k4%J&Ym(HOmEX2(;wr>Uo0 zHBS`vWOD-h<>2JfbNIQD@D4&3F)K#6fifA>llS!`B6N{@O*Hnp?gWLw7}Ch?S~Rga z-~PeOWjW>GrY`M1~ zX?Ayi3Uro!p}U*VnPmm&Jpp>^P1w19soM7inBTPg@nu30nAjl>9MAC!J@4aehl=wC zA#eFG{2>jN0uNQU&rfi@{aV#pY!`Z{;nzPTVYoOC+wBISHzX##;`IcR``YM*tdCLj zPs4res2y>D5B2QLF_!Etu)SUc%h3KpGo&ys?rkkC%w7f;v-hFRp;>0u!{^&lf1QlMVZ zPm_U4)X0fQp)KQ0*uxeES_q3yXP$aW!TuZh@m*(%yuL${D5K~b>F-wfi7l}h)C`Ix z=AAWPFG9V9f$kMUkO(m4bOi|~Htb5jVmSLbc^K^BiFza}#B}*H9jPmm?Vl=Y=PZ9S z*Q+Lq5wS3BTNqtdR}04jX~bP5iEV;C1+gy>dP3DzHV8|KmqUgW@z3xfpm@L2lX=K0 zir(V;B+?3)gP%lD7~Ti9v~W8@4|50r_bLKlE`7ZrH;b~X4w(eIv^v6%^fBH$M+OHY zkg`p$(35ATm>SgZO(Y#sv7-lpLOh%bA!WZe9$bDCzRjEMAAW+^c#c#nWh)XLens(_ zb>6pV+Hc_INTY8)Jn89D&+sb#=3&B?wXk=L?}9kbcW4l<9`2HL-|M$3EGFWZX?mo3eS9MRZvhPxPn3{^6<9zHnJ@++j7M%y@x?yvui;t^jUP0;OJ6sD#rm)a1(c%?FS@VHsB?wsLrlho|Ya5dfFYLn!^Wy8m*vEg1KML9vmW&86-mM zyco<9%=&Q!_R=5rR&qQF!rIOx((3`8%IxudPxohd?TBnHDNK>%Rg!I zVju6tbJ59b*Q_7PIQVIEbt(rK%To9jqvO;OBKUX|9hX+nK@76%E&~z#gn5gICPj_u zdajdneX7C!MH!nzB&A5LRN*OxoJ>q`07sxMjmWh&H^%4}=k0}O4uaA*Bc#>>t;cl`UiVW&MvY$coPl~;xZ6ApLAraD2JJ7WL z+JAWM6rY!M&EEp3yQV%p3{LcnH7M^5MzH#a$!8i}4$i1sh<(&{< zdHtxmMx>R9gseg7oo(ZsQm{a=MAzGZl9kn7`ms~@GP~su;-)qIR z@&ivCUdeehPPpx5UR9-7^`OA3EJhhzkJl>tEfYPQdt8e0Xm8!;>lVIYndfa)=0oxR zYD<80ygvT|eyriUd)Bg?3ugqHf0PXkURMcx-Bv;U<5tJVl}G%^8{KkIw_;MW)b`K~ zWEPltYJ^*cM<;e(fJ$Ur7Ju!9Dz#Ipkf=0$ql|$`?g{??Xv%t z|0t~n`D}5+8`8qy1Pb*S;eG)F*&P#9nSp+>Kp8I{VS|5ppX>*jT+NUtn#nb2lTi5Qx zgcX;hH{CZM-7C2|MyzuxCxc^1&8hjD#Ilut*0-5>UopoV4^EHJgg#$lc}bbto#{tSy~B5LqKT*wlf?N0Ze7m|njERJ<+JZooJweO4Bm^WM=wvgq_|XEE%j>^inl$#Ij||x z_PYBhr+DJgPxPm6A!anIDp^_15|-baUASf4=!^JxsXflE8NJ~~2@J`unY`Jkai?3+ zT}LAgnk9nt?FUKSFE97gen=RgD@ZDCtx4R+?+tvl5Gd4vQtoYaHhD?VAvb+*X(nFj z*_H0eAhVtnLDjDc5bI#rxqY!P!HRVGg28O`#m{HIU)f7(^k@m9;A$A^E!o2{{pJxO zP~P9Pc=~R!(|+nMt(~&uG5y0ma$grVKAUb1-e!h2q8TeDytUCAt1~SgZjf`d(*ZKh zg#fDB`zXdK?i-Bl-|az@=Lr>h7kRr_c(A|F?Jw0niHadd?5*^4Osk@%hXA$Qf5KXF zBRZ2P@6;ND_6?0|-flCwPKxmnhGfh|_<@lEnAI`r_Zn=2W(tP$;`a03&(}*d$l~IA z3f}bm@f(oQpvIn3mL`k4p09NHOPHf^?~;^aeT{y+*jxUiOKpy!oweVu>`_t3_b)u#Q) z(W9S5>c#YA7>T0;*Q19g*8;8ZmOqv6o*Df>Y(weh=b7MvBWLXwOZ*Ft;E+JDA(B8- z;N98>I^o2-yX&@$tmr~`V_3C=+~tO=7=}0kF*D3UK*BMpFi~Zn4zXEU`pSA20_X5% zsaj(|%#r$c7&39Jqu2K=ahMFYf=<)S0Mt0OP!}3R?1d>#Go+j#^00LY`B>BV13;G9 zu5s$x3?j3ph|Q1yQ)h&v{h9=A)si<&h0jZlu&jS07I9Iyd@Ei{l=KvN1JM)8!o-~} z-{ZKYh`4zct90Vgg@e_JFg}YHoR}R3^Sm6?Ad56#T6Y4U`KJ8vo5K6)juA91!oFNx zF3)~zXCl#9WsjdVS!RG^rkTYpZV>y&9S=8J$e9F8Pcxl~p3$ zwyjN2n)@6|xLo8v!hePBce!SSvwq5WqFtiyo4|LJ<4Vbw!9-K>1UCiB^v8(`(QH@l zH_Ln2SL!iizhLhzav}x_Y+fEzNNsc79Z>0(-B}vgJ=&EuEcYLKT?114 z`8Sh!vWFnWbL%vElwZ0;yyeN(vtL^ZWUmDNfef= znCd}nMwaODhjt;FYuCoZ^|S)}RJ?CYFZ7xbaBUZNXSps&^W`E>k( zUB_Ee=_G0sHD09Rep~8MnM+|lo%AYMIM&u%GeQTyZZ=7IKxwXhgQ+85nR;70TWBhC zqBQE&lavRykGak%fqY3b#Z!4bkz3ibaw*SNv)g5TJ?2Fe;L`W5t90Lu3TjUj=`cop z@{?BdN8^VPm{EjgobGaA(y+%V<{-h2X)T_QzF$NZc%$3=MXx?v-G&A9P~S|uV#Opo2v%WZ2DzF>c0TE=c_oyL3b9uwYx75 z^|OCDf~Ma2Hc51@IdC$DipW|Aw&a z@y764nqQSD@MhWX>iuy``KYO&h9+UaU< zvrqHZe7g!(f?3l1@n+R8I69oart@DkLL{zlIoblkuy|6P$cP&iOg^P?>*>I`D}tz6 zDDiP-G0xuhit*5?Yo-50ex)?=06ms{shW9hm-~^5LcqVev4W+D5&WC4<Dt%dMe~3EsqqFib++;&z~p6!JLbb@@m4rO))oMGZeKheIO57?xU~b*OibeM z5}3as%NcjDVXubnH@TPQUqx#XAb9wWxjt^|P4-Xcx6Aw@uk*xpgcN6(y5Ga)<=REiSAV-)?aA4r($?SMT=e9#D@IN{%50yAT z-kUqOexVxxi0**Gp5l4;2mbJX9?vGuI=Kae`HA#a`S{!ggTl85yAVxShUmDhkDnxP zg0#j;=C3*blWyur5;%sq4u%mKJm_HO_I}JyUN%Pvj%_F{ivcihM_j+B=_Q8R0hmS_ zcJT~r^bZjK_r3fcJ}|@J8+pKLQqEA9p+bmWeSnZEE1!7Aob zac|QFIq}@{?49IHWKg{?`rwiSAG^uR+^TGW9R-$YEv~pN42^e3X=ZqvcU4*#P(p_t3aGh z0MVw9eg>*+4tkJLA`+!31Ks}^-~KrsgouETG&O&X__QRv_KH)z_c*z8U~rGHA64vq zf8X`FSMERhpa1ymu!u7hkOct9(*Qz6YB85rw!@_bNY$-PaI`atc$fH!z)(?wxLbZ1 z;q;3f-tGe9@UP#sM-9F!>@va#_vZk|G#3Or2Q)K_29#Zil0KD#FieLaIC8mPU~w~y zO7I}JzlT77@b7x%zr7*_h8(#nvV3qhlyGXN7sF%eKoZTCLF4X*AkO>X1u_Kke7G;q z%#8JTVc`7V^fiAcr@spzOEy8b zo-bh3^)O+EkzE%t*G&(Z7hFO1$n#N%vH|wi63#%=?%kiYEk^o;v7(7myf)l1In%k zf;(#5{grXNj2xtCe!v4SgE83$_^jhHOiPu+GmhM?PYyg`Z9e0CJvKo~IK4w+KXV_T zSHYajKQ#tKPmVFaVQS>Ncisq8ODo%mr*8JilmzeZt)uyuM7_rmvT2v!zDaRG4*1MP zYG1wqhq1!y3PH0akcB!BDp<3-2U~?kKaP``1Ta^_V1il_F|Q9MMu?PUI8r!M7&!SJ zog+Jq==yr!U+3*DakaV&twoE0yF}L4UF+bYe0e-`vr`>_6n7m$N2bv149-7>Gm+o1 zhiyP39#EIm#uRrjk03#|*0$BHmS3JrFGD833p8?yLDGM_c&tdNxcv8%e{CJ_o=9Ce z%gW{pchFw}4M4LkT4QhazM9+wA5s|-L%iUEERY&EagefM<*hGKbnEJKG3cvJ%l{oE z0R096wsQwz*&l*f-iZx$i+h4`?-y;73Ckc~w&qGa-wQqB+hxDk$Wu~dP%Arw=D~O> zipakB?kFI%p_vezdVRD&-Q*7Vp2FSiK|u9K_Bsz z{HHCae*%zYdm0w{Plz&*QyVy*hM`%6E227)Q0DXVLD)oZ1|t1f4UQD7)twl`bS5Q4 zs>C8oA#2{{i%{)a$wfAS+4dAzGCz&(&9iR9i!B38dql{7pgZUXj{MaTsd0t2#I)&H z{m=HfH76s2o{b62D@`z!*Pgmij4(N&w9w=-T~>m3kx4g+B~jBE|`VM^Ui&DJ%z z{GWTET~$*BG@FeGy6}y4C|JO63#wZ2_2iF^qY^?1!uglqXB9rv2RdRHpt5IrkL?@c z>A)yC*ghL?ddb$dB%b7!5YU>bqmM-HS~hwhD)CF0uNO zV4MG!Pzn}_8!y`+aCtuZ?g-FW*^mq^6yKlQYi>bE^XUQ1e~gHEGm!|OE30;gyx2PO z4~nhnbiYAYO5R2Wwjo%0A~YD#bfQH>e8DveWQa4GaCcl9_xhM-nt~WwQ-JE>DGR3& z#=^)BJpPFnL39A7mlzQ#tg5}ZTCR&?uSLL!yATDvzhYn5-x!*Koc!yC!9=|)5fsyd zEH0POV?_7bpb-;7>r?^doXuEUXw%cut9aN%>l$X;9Oe)yk)~Q z##A$K9?kNM!!Ng?jztEKFosgORoSLlzXI9dRwPLhKXiZ$=uE0CuJdWX1&CgbzNfTF zO7T;=`5sI-?U!mXhe_d_(-Tj+%RM%_e-@N3CSs0`er{K7Iev%jpm!^K7BjdijaKh$ zmJZbD;Ey1R|LAPQ@Q&4&%(-JL*Zt&R_{rli8KAQ{M*VeURCcOUH-_VjbJ>i`=%QLH5Y0;3C=*fwW z$`*<5iY|?=l#m}c@9UT;fJBT3wPmIsNVV`=t;-wGf`;zc*sO>}li9_JxVz?XrC8?19lH36pZa;T#6+0@i9l0=nm0`N46Q z%AaFkd=4`P(N3gta+E>M((Iqk%f~oPNqGLvBpg%&` z<;&3W;QE8yjL5g>M7pPMx#>3(x0srpY67taLm$Z3x{#W4;GcAomzuO^9yij=BHB+V zC0fS#eO9`Tnvyn?+#naQ(Dk=ea0EQ=v{TSm4Y;Z^J0>OG#M+$nlpbXHZ9w-?XIT+1hqYx$0H z4Cl8LjS{BFz+>3h^q^S{B+?S}d11?&MrU$In#~8V_JpYz<}30H&zJ_3vuhIML_goN zRlZxt^oVoPAm%oHAuv+hS^*&!G3^X3Hx^4g*0}OzV)6Xt*J@CsjKmC%t*FrY1%LYp zGtGoX&S;DNLIzo|!rWFIf8}34X@(AKB(_)|?x^ex@Ug4PH?D;@Wt9FxNpf$Fnch;K zgYd;o;0dDAf)Zb@slM~3!&$vwyCJAN340EKSz`Z|%f-)}ef3_?m2T-{BJ(Gc7v%Zr zGdk@F-I-O`hx5iT)8h#n7w2;?eb$!SFLpfaTniNpFY0mIdfQv8G?|%NpI_cTgO={* zP@Ei5SHjumRuzoQPM(UaJN{9)QS6gfqujZOv#q4A&^}?ut4SmY5sBP|BPtKcfNDkC zY+s>^O&9sM@%Zt+aoYBx%wqfJX6?ICZWTjaiyj19KoO*e!va!DSW@Yd+@SJRVYv+R zE^Z-bu8tSLLbE=wzZrtqHOskUE2KP~%-=U1A z4>;x=c)*54e4mzc%Y>8wJxTwIRd|LIz9Eq;Qc7Jp3n9AwfNntYb5oZIJ z{4d{6qpT&7^@!HE3rNB;7?6LI_+}SRoRXXpO}l!tl88=x&EeJ&aF})MD2cUt(u%pW znHRo$pUIA17HJ~cZ$u|RD6#b)$CAj9W4vJiQLJ3%S&~SyzB#ioo=|g=FxP@g=gBNt z3iGOYvY=H24ftNFW|*URnq3#!H@@Q(m}fb~Vh~kV zV$)gRM;u1^jE2#lkJY8kBs26b0iz)cv2bXqy=Fqx-4jpD`*KasyudTN_7X{ufg+&o zUHjfJh?pd6u|A#J-&~lD6Do4tO1!zfJX|r?=-v1sFbUnpjz#a`+V*nUN?&4Fq=^*x z1zP!j!uggj7yrO7st2R?r@(x7aG83Xl~T7|5PzFC_7YTqU1tc6$t&nFSxauapX3|c zeGMGd&!6;7q>7%utPk%3q$&a^2Ae01*J5en?#rC#%6sL@#L1S-L36n=eZvdT!BQke z<}{Un`4a1#e78yH-hs{EMOoF;wIf&C54ZWUBrwLfd)3`S)yw-b_iy|euu^MPfug5gCYU9sa z^TfY#d}nVge|OPJE(M{|g2uu{MnrGeeI9M}T_{m7ZV9=tazfOnJy9i%w+A{LiicPJ za9tYfap4ZHjG;0xr1Ih%CMO{eZ90#)=dtFOTkEO>V2IbPQGN6Hy(7%Z`zOmyX_BctAhFj6JaEY@4ZDe!vws+~! zqXq|3FS`^9F{`MH%Wsle3CJ|<(|8eKzdSvp$=y~e^wPhePK9rZBDcdUw+q`ID}P0p zYcdSS^J%3A_za9vC1D$%qGqP`3cqY*O-3UQ7)r5u0O+=MuT7j%Fi`9?R2Arnv%PmM zJ*KXm*O>XHX|{hr@VSPO4vhAb=lt0W(JNcFUcX7!Qq>2Z*JJjt3uBi%Y2L6GmU#v{ z2LtvIv&Q=*0Tkc(W31EavpyjL3W`vJ7NH{9Pr5@0#Jsz0-Fb6c)LrKL;Rfjc0>FJ+ zn2B1o1I=Fra}@}=4rVXyAsoT;a@5#-=Nol;5sMZw#6cH(ee&INAw)hP7HAi|e!kD# z{^dVlo^DR;JUJ>0wH)nzBN}Gx6O3N~aA;DDMPn(nME*S+1p!}peDwl&b(Uw|{dwED z_L|>FVhk=UrPF!z-KYNb+UJ?!+AVjAg|GjcxEhi@lwvp^A3oRp2Q2xgApIH@TwABG zuAt;!QNw9z2(R;4#4V8d*K4=HwcqBS%WgmWf6zHZOiKtEaV=(&8E60X+Bynw?Wapl z_Sye&M-x(EBfnuscesJw=ln|Emo$l8#}~O##emcO-mP(-PoMhxMsX z4nxJx%OLo62lcWmq^%)va0+gt?9b=YenUxOt~SSpZl{G0-Ly)cMvxlGbJDK?G!=^d z^n-A71ytNZmV|WZzN*dX)4ZG0`H)iAe^>m*GOXBF3z&;X0AU{n@!L$%X-3ZEb0Gb9 z_yFmi&_(8Hs{O(%{a9-x!s-&J*U^&tY&5bv;nYGc2-?WF*o>@S&kJ#iuflOBP3-y+ z!2d(?6oyksXlF051(~g`=M)KMOJm!Mah>cXfQK9c1$3glX8Rw+qOZ6j%;Mz1*8>d1 z;9dSxJpTlT46PXo{P)^jnh$zZh7>)go2{zb$QGQvKkHP*fc;c_{4p-m}@ zR+fkiIBOeVgni+OT^EF_12aPjxRDrzB)c9%FR`Y>S;-@3QZ_ZGqk~yVLGJW<n1D26$(&8^m)-_TX&^;fE z3bL3q%wm zi%9H8%mUU+-4|l@0_jmAm`DC^dT-nwmnXG7Ay&Aj|XW7!)pF)l+# zw~dms(5y{~m%u`gec5dUC#b>}n$0@$Dt*0LI4DOo`80xYgda0G7P5iRC_z#U_Mx#5 z;0Y&u|9Gaw#)46wqhTb*Dil)_88id+_nOfY%@$fHPZ5ahCD%KPKen{zS4m)vWWW1f z_+2Lo4SoHV0p?#%p$96WeEYi;8EQt7F{h>bt+rQFa*&aXr&4MBh3q3>HMYd`z%g@S zwBHA@fd$ey%tZ?cgDq_B4hbR2h%VxGG9r?$M^O{D6&LsbP$N;F4s3C@&U@V&`5~zO z=Ukg{PLTWK76z4Hz?4VoH>@{|O+Vznj9>tX+q8@wDiXlJ$i*WDj=aO}fZ0~W=oj$J z&4L-kYq{Y_0HM|KROBo(JaHoVTdBKkRfpfX7(0Tu_u~xjID_seuMGH=aw+XEC*SfR ztD3qAa3n?ykIP;d7#m~8Pppgw-wtzLvg^%G-Upm~D8VXaKIck*%k+rijs;@IFSaeT z_(Mw}h4cM9j0ku44x6&`fyel_AEVcUDQ=?j#u=ZkQpxx_6px=oJYiMbFmFrL^MiAx zu9BB?Hh0L}ZU-Pd)!B1CQ@ash^`!t*)EE;QX--#3>I3Q_OdfX5+3$-31-9WLsld%v z)SW&@v3W(fzdlr^{2Z&>NnVN%;K1t(rAJ-1L`Zk|pW-8mni}-&_y-xXUft@QO8%sz zeo7IZjZ{`Q_zQk|LxZGqrdpV2lc|`R=@d=*+v?(emq$2({kn@X4OaRnh^HB7AdHfp zdcoh?7-@lOc$rlwX@7a&l4f-WkH*x@KXffN=}?Abf+hSjjpKkd{gP6r(pXzwtXoC5 zwekz)v9`jvGzhi{4|p4+O=Eg{H`*lLji%qHyEQNIm2+GEaMBwLD|si8E=N^i( zlomgEs&X!dpf)fxEkbi35@X@%pzt{SV1EBR#Pw+uV=AWqZ5cPys;kx_X3xjgtfa7G z=ga3;gG$M--}M$=nzt|9TO1tFTwF2nI=H%5N@=m58NPMSBAF!)ukgZ7*)@Bme53E@ z8%p$A?x`AzYzAFf7V41M^P)->e@`AhmC-XetIr)X$0W=QPji4;;H&?y&>$*07vF7!R z50uPrp+|?_w_(1_%0Fl?n!oSLJ6YP{6&y!Qc@z}aV0Lj1`q^`RklelJPVVWd@+tRP z-5X|}pvSLoxfZUg>hNw_QS)~W=zd?($`2`BdTlcasd97$At#JK%S_`NIYnUm@!Gm_ z>8LE{H(mK;LEPE3r_m?3+tVcwg5@CzJ0G@ITS`MB)NWbjw$+#MCdwGb+ zEL}ZyIjHZ9WI54y|0VFOzI{o=+ebmlel>HPDn{=)xg=3RZKJH4tLy& zX9g;R*Z$k#l#-MKF;K`hk2*flLj@AC8s~@H6dI5?Sbmp8%v-5D z^g8i~7C5Z8rki%n_MaRQkz4d_Pu1hm>_>j#sZ=GdluIt;g-F&`r;SH@lKcK<)V_ks zvcW7lBwMh4vC?6ay6cNs66pz^8`Ny&Y;;Mwdz$*bY@aIQs(#F$0Rph968 zZTPD0XVO}q)~_m`B0X7oJyF`KouZa~4k@XN#VYT-%Uv;eF+VB-Y>)TaFLtR*au3>y z*uV0czD@i7j!&VjM%2=j*qM%*0iz(>LEUoK;+%E0T0z&SMz8SwYoq%dNaUp;E zJPEw8y1-)Dcw#%sHBJW}iuI~7k8TK!qQ7^RCpDLMosOtcE`!qYg&qZy%h8fCKom%UX%)q%R9njL?kAosZJ%338|(0*gnB-bSkZeNbHx7hA8OR zEy-FDYz%E0bMu@}g4~gs#rS4zX${}igU(l^ z!5rh${Sxax+du$=FP~XAXdzCBxe&0+Yy;8;-v+I;s2!jD14i`e5d!tr++pXo;zSKH zD?@HLIcp5#tm=Ir{yq^|ZTnVu!I@rGl+asgCxTyvp)2j4VWV|U>>s#*uL~=KdVSTe|jqi_R;XHXroWSSl8nWYys`k4;SbMLjKr8pAaSb#@maw-`aXZ*>M^9x1_Gpk=+VtKXF;5g5_hw6)(`=c#B%KC|s*v z@MA0sxzy;#F&9ho+Q49fijJC>zD3Q-iQVot1a4GHpe>22Q72l>q3DgHcthl}8YW%- z!s}OqjrXcDrZRa%w>cgko|23@ugG7x5u<(8If(9F#!9?KN{C^}w;-yL(`qcO1?4ly z8Bi)x3gpt|b9P40YCOhA4c-%_DA#{>*Zq^4Wctq$IFbU3&c=CAA=ot78ixWWc5Sk0 z|5Xk_!j%!yOvlm62%NlN9?M{S#Nwm86dxG$=^!BFp=!;5uMQ;$SUg&Q#18t>r$ZukykfRQIn7@mZWDZp zqspfBWsP8TK=gpKq)ffow{GxE?u@q!EQQuyzV7ji7e+xcPO;?^oDnpNJ4{H;&z4mz zmrL3cQ~C3+z5&6CkfxNloVup_wG&QW0c=uD)Q-3c;w{sK;bXPU9ASD-ctY%63|dY< zNs2q*VVStnyW6CCQX0$g@mOSMp?9|9IzgmI%DS@UP3u6>ItlZtFV@N}N`YzPVTd;s zW1Y(rx&CY!F25k!-cc>qy=gSJ+sjctifnvTJBH+>;@OG5h7H2UwF4~1guT%VJ}x~@ zk0&jTE6=umrJN4hcx9j%Bx62F{kYe@GmXJHY&A3TN9822a5c8V^O}(;ubE2SN1o3D zc;hw-5{22kM#Jw7kKGVjG0*l@P7Ig3{>YPhTc^C-axx%H9H2XjBR?l`1#wNdA!$&`A3&}_K-6$ z{HI}qt@12^;#QAoi6ZtscZ$d2T?L6p(#= z`VZ_>N(h0`u6XJXp2wDFd+-Kd7RUv8-TT-qauOh)BB!b?+Yx$y@^APN0wKu|Y3yh* za=asepUJQS6AKyNXp?THar{zd$GGTZ{1dU062O__j3%(^VfuGnqYwf?`pO>tE4mpB z|C*(RrS4|I|M>VcpolhOU;c+8H=w@cEP<*^QrEUY024Zp$w& zD=XXQ;mYS)bt=L-c~{@g`R?75R?bvIH-{>Y#Mgdi#2IQ2C-)c{8s79;-gdvPV`<(T z64OkxJ#ss!j{dJsuu^|(3d@gkt>t3ihu2Df`^!In^t}TgeykfO#QT>|zffYIx1g@; z*J5G7`ahpbU4jn>##e*>(~JF&F0^p%+XPro1;WSeIREvA&cTOEPCK&yxyL_m2Mh0F z-~*L}MyEou|MLss>R%$@!#kn}jQ{s`9^g>RO1)My6V-q8uQ#Mg~Vp;Nm4; zX!PL^y&;6v_-b&*0h7W{3lmVGw9U+$*oLS8p)gR%wvYHf`@Ri_f&fJBtR_0{KMoM; zX-UAD4?e4QAi!ICl1mF86d}DaZ$en%NxKDAgL;h;=@0A#Kwwi{5QI*A`Sy*xD($() zm@jUv9O)G@q)9m+h{)XDpdLT@{osFG!Y<|AEaNGvA>rWh1&yWvt#duGCf)|%w*DZ+ z5upVPaU4#U5u@tpwfbk&+kiCqBhtQfGwNi}$<^f9uas|Gr3A~w!O!s^`bL}Tu?NS` zppbx!wD%SsB#}~*%&VZT4Fa7n-+3dgu4tLSQP5T?4u$0>dG^4uJUPmJXBY6@0Kl@j zL1)Qc_sRn}%UXcL=s;ngbA!j?O%=#RP2+z!{L!_T?CFD80r@4d1#Vw&g=4l)%p%0t zASR346kbk_>H>u4EabvDI1r=>1w6Y#;-p5Fz)?SP0>NznR7k~N8}w6PXsDwO07@SR z2$hiD=fJsNAU!ReUA`TXRfw|oPM)E?Av6!L6V=KrM-LL3V%j+bA}g%dKl(sEsg?k6 zt?h8i@j9}_lfMU^lpo%0&MuQNa&~wjkE`MFQ2<_7mfLdveLVp@xAL8kGA);zDybf- z91jDOZDvI$!?Yc&283%-%>Ji^`xp#Bv^5UW(~d#AE@c?s86n3`MTv~wccq+GvPu{m za03JimrVSr3pgYK5hPwuOm|teDizoSzMgB^CnkE!K@-39v-2|F>rL(7qff&eTd#$z zWIMAA$A!p5cpbhlVR02vwD}{>bQC`KM~&vsMz`)<-Kx`^Bz$^@$cDTQ8iFW1>< zE{z!{0?a5T4aIf`@L*HF_r^+$sbhOBW=-p1;#q;w`x^~+UYqUIiwE~y9m_^m`wS7Rq0nOWJBpYTH1H8iXXJ0X z!l*!28%8+lGc4D=W4kbvrWx;gG?~)wMfO@K`s5#r>+>Gu$=O`C@nnf)d?4fBb5El_ z4B%#G!c$R@pu@|z5i*TxK~?6!63U;!6q1`{x=EnhUw!IifU?y?fq;)(A&-PU!+LNI zRjQgvj=e^5{G@6U+_;EdgB^72z>>#r2?Cg1{JisxE5SA5Eu=BhKD({P6B5wqix(8H zAL=`P@Y;I8%p*Cu|1tDF8^nziQ@MIPoDj%;(b2l^~9q)u98jpmauMd&whpI?3}$wrR#Ht)1Z>5$#vjfDJ!*S!5x)1BAd)h2(GZ)Pf% z{y=Aum%XRky&H?W&CXSochd3ItNjTe(7wIjUbe~W6t{h&lJI%1SRMNWTlKL!U`Y!< zp0^mDBE1BihQ2uz;5)Q9R&44T=spV~_B+L;Pg(yu@wydEfE7^XfjQV5gA# z_+3fbBX343>NUYP=9mwl=9b&0+tPdtRGV4sJdTp(MB|o#%Jr+G_%ib`5rm>(dfGs>pz( zz#6)7=^np&2gR0ES2N%2 z3SqaFY?q1@_ApcR1OGmr8`(oZYVsGJ;t>GX*S&)jY}S_-Z^F7W`GCSU0ay<)I)qYf zSn)WOLra^69=D83wpS8-Y2APAR>t#YS!w>Gm8JQ4OjC-}>3frHXOS z-CwQYA34Qy^+uoxRae54MXZRSm4*Aq9IdyVnx%_dWcavOpEjkj)Cpy2A(cR1$NY# zrNok>>?>AF$hJ=V3Bi?J=|~rY$al)$Wrw2jt#d6|(#iSjZu8D-G!mr+?o-7+DlXkB zF!6o(qoIODeXv9~{>vEM;GB56a&mW*$9Mh57h_b*#2jzXK7UfX5yO9WGF#!)b|9H; zgzej}+i%eJ(J*of+Y@iZ(nSDwEh=@EbJlwWk_wKF7`Iac{A!skY*G%V=P6py{C zakLn)snS#%qn2MC1V0l?;Wh-Sgv1KBeT2rlNj+ym2iFB!6SLDEir>q7*O;G%?%b+R z*Bip6lR(<=s0=Je$8q0qMN5a$aK?nloH^6)nn&zDHe^1NJncopNpL?(p2~iCj`p^B z^1G+<)k|nq`s`n%No8bpgD1( zc6VS-ymK49O=HNjG+okI@#3q+#!JQiaGtmY7ETL}GMDlb(Uq~Ue%!v8SiUr)_gSFL z)1ac0e@oW4f6j{9enxLvqScr=!1i^~S>~RBIu_jC^DWOu(DYP3y-epVY+hLC;gJO& z<;5+uNC{HztlqqJtn%~ zPBTc)46kwO*J$6H@KK%X_c^)Cp-Oq*D&U^>n@p|1o3|{rHuSC$eTl2C`eaAF(FRre zBNkYQGLU*mT1xjRkA0Al1`rEzZei!Ft&*11Hb2s&AoKzDIiafLv>%#^d zALJU2T_EJ&2;Ni>aF*Y#$xq94sj-nqjw4WqSQ(6CchxR(vA-uHMi>7-?7j6{R$J6H ztO!Uc-3`*+2nL{l0xI3zNC-$P5=y6ZDM%?P-5`y0i726jAT23Kesg=&bI$Xef8cws z=Qpn#x!HTKwdb01%rVBKk)ooEk(Q-$xQ_E>&&BGaTD}(RV=^Hihe%eFEd}5avP9Ug zfNLP}`ODh_3k|I}-+;qF!^&8jFN{SPXKl8_7IVQpaqgC^o>n`>9HFy2lAS}(gg~P@ zeZ>P)PI$AMy<{o2@&}R|Bv@r9b_MTW5>$MPr(*+xp|0qM34)g_6ticqgm7>LfAu-HMWghE;fpe$OeLl^hBYQ5aQcd=w}k<%wtm zDoXb?EnoN@)C3zu=4!I>jM<6Cvm*3k)csCoiaT!{o@2u8ljR- zJ~!4;c?ws-T>Ew+tB0dKl4CiHJJvGOx@~GSH;eNqwC+5w4aK*1CS0|mcF#7t+^<y3@V3Ns-;*YV@>A8wl6IW&{`lFWn<-wGplCfu zjb7!OM?xypfLAekAd~f}(!-f49=ev;e-zeqnL7q&eVMK9?MA5LFBqdh4uFEZ@A<1y z5+V48=qAuc4d=e;9?Q?=ZjiN5#F~Q@m z?_nP8|M(G|4+^0oo61yQ>C*rD(P>Pgc!*3h-=7Knid4V95P6@WL#^6HRJD~~^B_=zIGqpo03egn(a{-kqJ6k7i6C&AX0d9`z)vFu z;#gJgBD;v=Pm_8u?jPYDy20oNRuw!*soWCUU(!JhK#ao#QoUPNN9Qj3338qmu{cpmfA$lsYQ|Zf4(JBTpQPYguhG&GuhBoEdE^sO02 zkdmLk!JcRj2Y8&jF4!tg`(kqk&R1D6%B9>AnH01Ez1iI9cCZSdEv#9}jmd232S<0* z&7LmsxS>7XAAQq)D_-BjO7+lmck9_9WRhK)@sN@A`S4E&=`|I)f$e|z>))GIOOz+5I zk%!+r08}XZm97?0JlRVr=68WwND2-pVe5dwoozP-aKePD67e9N22<@YLb=$pPfuXA zsLVkO(WPeuwA%=i27m-bkV<44HfcoHg-u7}yJWg{taL~)TM^9T^f^{ImG>`%@*4pf z?jDkFa+beSHUeNV;=LfNA`PsEJsj7l=uDt9cI~m)Xd}HRqUZ*2Zbpxy|ZxbcFtnvX)#ZtTzIw zqhq+;wGrEC|EtiTH-ejA7W@I_4mnF*!u4d!^q_R&4M3x)Ni+?8>^~R<_(4vdF}V@i zCYn8lO8A~H^gd+A&+Lb8vb4=6xXtdW>(~+lL(iWVoNp_;`)LVSDSW3nd}HSGO_4a(Z#^+7OF?U{CtgeCwHqFZ@Wbz^PVNF!eGp#Z1;~0M_EF zA$FiT69$-H?P0*qIewUK99voJ1^X;)eE6!lcagc4=~L-uFi@rHHl5F*i5e3DgWH(# z*a|+krjmL1JaoQphqeFG@9u-8Eeb*>b_2?AZhPcn{#=zOp;xv*)5t#L+YxKhtfo;@ z4cB#(z+_y^HaL~l4-7^}E$KmCx>Yvb5dmO4qun@om31H3Ygk2!J{8$Rp1)Y0`MDQEZ+5D*_(X!Q;m-2QQa5^kYT(efv=@ji1V+PSak&n z7zB;6mHYE_9}L0IA9J!HhukMuL$) zc{7OaDY$f$DQ23dj!Qwy8fPJ0q)p$@EjX+|c-37o-w!~t(1DkjzQ?vHjail~O1{~j-0a|*{sW>Ho38?tJZOV2HQZ$U>n}MFb z%Y6V3QH?d1JbYx>$7tao==Iv-4~6TBD4dMo~fvwK&#?KFyfRu}CB5yggZ@;h+j`7S7{H z7{?*@K2R%Lj!-W~CniKWKS>!qk3mx%E109lk3420pgHfUR3fUNxqrUn)cf%rx*PP8 zXZgnM$}*3aLrS(PV#S0X99ha6yu%kxd0n1x@OAE!mRO%gpHAVhwn4gBw@Ck$LY1zS z5Xb5}h8u4U1mqmcE#L1Cx_Y+Z2`{GDnttBdDMgzPdz9T&`QD=2>v${G&R}=~o2=4E zIz>a2v}ma<*dOx}b21+Dav=WO50P_~7w;{!l%)zP)J$qn=rlmMSXK8nZaVt}ji_XC zww>Zc$vo=$eC%e<&izoncFVm|zekdqbdSF(F#0uQ>lP-;$kp5%{?xFve0SBB)9Mof7}R$lA4+N92~~G}D$=av4XRY(=$8j-!BRS+9EX^S`z{ zTd8{Ovn(@Ob>1pgqZiMNJ0d&46^B&az;mYv^cn4(WU_qWo%6k93kV`#hGmYA%Dk;O zk2rX2kj0FA+;%X*JsuHwt(`jpQ>!NZStI!v!B zA@Hi(tE1oWDo$&h-5%@pNL6kC8!ldQDlO$^rNz*f|B+BW<9mJbm3-E+N>9;aub!f` zcQBh=rx}KS6ZP5|fd1pvC8=qjp_eSdgqzYxspoi3(an(UnnWG4r{-4ccl;V!@6vJY zKI1y8-&&JHlpi;gk8$*AA<=6o+B}=$@|o1GwLC|*H#}W{ZA-logk3Fb@UHmvhwZuY zA&uR$UAN43+m6`!%cYJY%?k|-_*UeFb$PaL8f?oet>IVE?X-?X#%sl}yFVclME%l6 z;O|GOn7-bz7r4P3?aIcpwtSfN`O6)utIQb1`)w%6#SC#*6sjCJdA@(#c3%PrY%6wy zU}(6GeXDP)mgKqnW_Pl`@UTmtpNs)dsAQso&35S}wqwz=4~Dyn-@D|*bUt{WbQ=YY zsj)Zi19w8`Ck_6ShqXjUG|T6Gi#9H!g-KiamY?OmrP;l{{zY`+!QOLO_IRf2?!NqI z(e4oR2t0KvWoSR=izc6Sf$7}NEje-`ymBlo22wmKmET?fW9_tgB1Ruku;UCSpu$i0 zyZuSnynEg}JcN{6390f9f+3_gxnweQS0B|o>GIMJx6jenMv zW1C0bN`r7Bo~+04id@eN87wnp5wi3I>&(XZsmDlvk})LgOloFXW^esPvW1&1%#e7! z&Cb{=V{zZz)+~JC)R6Jv*6!2i^U1qzU7)||r(9d>_|YX1wH)(6lhJQECO$^n;>bf= z*7$}!ZI9a$h{o0gNE4CM-U%WzL ze1ltdRxy5m`K4Vu<3YaZSQc9$e@$n@>4{k0W2DbD`vnh+c&5vqDvn!|htLGCO^%>F zYvP_}ijMq(c&Ypg zfv!>#V=GfWRorY>FiE)gPBvvZNoc$;m5C9eOT{YZ7`~!9m3dl6`Mqhx9rG~DQhb`2 zx}LAZL{|=t*rJFSs3MjLylgr`NlM4oSk2Zg=F!ewgp)Z>J!GnjwK~!?X>73j++%Zn ze(U#BKhf+efyAUD?OF$ zA<=b8u)0y&lP0MZtro?5Kcd7}?a7Bexf`wSlEsaWBLm#(FCg$LhB{?z6eqbN13eB( z(fYI|I=WsbG#;s7zR)(=9p>s=W)Uw6dTfe4R9&B(dc*pFx1)e6jd!+50#zhCGv=m% zmgaF0r)d@*FL~#8C9|ZvZ&Z#FU#R@fq9P?MP&Kup{iw)F4>x8VH2DW_p@?LzbYJ1wJY*upilN?HO*fQK^q5k;e z!}q};as>A@p2|8KW!zw>-Nh;QzJ`T)VagyltJyJRWa55NWK%1-NP)KBA(Bgrl6iA< zJzJr5Hd}AJdpiG-Ur`i6+%=pF?C$&n^mqczhB+iRxeaeFs&p4;L$>nnP}Hk!o;@Zba&tbKLbTkm^?58opfc3ADNz<&l}ygq4Ee{ldlRv=1&cF zB?2g{Et<8ff+Bq(ElUCaL9dv68afK6XDGudve)-y6DQavZ7?VBAQ%$T^>e7j0szx4gVe&#WF{dK4%!Xc9JY63ECN@GKPhOL)3 z_TFJiW5qFRp{d9^H@3!oB#xm&4Z3#onz+&m-b#F(W;I6Yyf)f0J&|^mi}M9ep}wJ6 z&2B^TYtJ0w#UNRqUBPb{0-m?0>VVq?KfM9BTgnH{Pdaqu{C6 zP`MUzgpd<4YBo4ARS{>A$yD*GVa+z^xqQrWydUr;@q+0@8JO4woD-Sgy-mSSa|yI= zPI^m`N#emW06z_S^z6%}$)K>JU?j9hb+V$mEf5?=%$*G~kjf|LyokWMv~E?RX7P&c za&tWb{h>`ZDub-1813pjO}ep-wiYQ4GIWLKq#DPbxs0)~vngNfv>}cjEi}J7#8*bx z_6~U7-z>xKgY|BQ9x9nhIV(DPj9y;a7h@N6?96afX_7fS)xB?CCl9{#bt$yIH5y?i zx^ulw)=EZ!l1LUT0;Od?s!iUeZGK!*6Z}I(=*-`*HxDLf!`_U;2()~w=%%Ee>9&w_ z@H=#noykj5Q`cgu;ZkeI%tzlDdvOHLr+M$up_SQTjn#$ zJzGH`n7jVyse}(Ejz-PG7?!RVf^)r-I2BJ$grZknJ!PVBN+-Q(Yu!4tC>;y;D4eDW zrt)a&UJg=A-^4jz;@nX(2MmBf+a=Z$oBdD6w+#&EP`<7ueJ&w5%|QuTw2OlTxp88( z`%!s3YT^dEo;eh;CzJkB<0J86^D6z93me|uPbzHqvLx@`&k(~?g;xAdkb6df%;DJ3 zC`?VRM6)m1z^tZDF0pHtVn@7oU%8wtpk5F6d97!8I-O_BfuxtVXAqwV$L*c(OY$Qm z5{nDEL(18V{C4pY*aWX|WX6?%T)#C+IuxrzFu3R7(7ca&bygdd={)zXUIqwCGmAmG zj-5=WmnqS2|A9scUd5i`nFq$jgTuTX&0z?7mst$cK0g-_JPUw~4=P3)Vi!6=W&F9Kq(p#S&DW@xng4wBcZlvLP-Gh}(X(#(^U>eeY-tWaZ&I~u{x25Gzy2f>gi$w4Z()CP{iAok>Nu z=rd6_|HtMj6Y~KBImQVX$}|m_(Vab@0(SLM18&oT(7*ryDu0#6_H8``UMCaSV;-Rc zI2Y)A81TvXO>ZOsP}g!HT7duoVAtWe@xx?E;e7~+&osFIg@2Z%Dt5OEdp5EGkSwms z?Tcm!!2Sz)hxT6WH(f#qna(E>I|+=zSeG?1xq;TqI50c#vz z-34OlfG0}t*8Jd+uv;b^V?Mg5h;^fVE57U#;Gl43(_V73r!v&FZ$g`fFF1z_qb;c- z5!|qP(*%7HY)x?yBU>+C!L-(0SoVai33w$=@=sgshQ3_1BB*gK#Wi z1ZY{KDXwx(z)QRvLO{R@fKrkhA$hKbn_Sug z!X#9dxSUR8)=bqvYiNc86c1zx(V~MDFsSJX;?A}DT?NIDG0ntqx~2yU{_rGyE5L5cmPI85oA)m#Jg=Nx!VV<4O{O@wd(YHqdLv!s|rVGyU%cM=d3uts_cH2ByF zp9)L5*ym=Wox2g%<6S{wKYVlU-ILF~Q!ZvqT?+Va>uH=W^1lQ8J1K98253(^ za|N`PLDx)o57A}MIRL_BL5GZhr7Va_9AJQ{PET;fSBf?_5GrblWpnxuXv^E~R>BO! z4krYllVB?ykizx@849cRXT!-BGAnox9AD>tUh0~>^fKQvhtCzd^@WUxcJF&VmUs(c z37mO_HFw2B2o-K1&VB0u*#`hQkx>CMY9kn*V;7%YvIIO#{YF&h-vr4tDkAEH9B#-M zrU9VGL71BpB0#u(0&dN@`Im0G99l`HMjX{ujwXS2x1ht@#Uiy^+ojC zIEseezB0eKz;NujV@@eQ5ppPK77Z#M1!5XWhtf#61#3#b3T`7@Q)rMiff_o2R+Z3^eb`v4%|?AKKAEAVcfgD{25 zY8WoI^okeCv<@e5?0C2b=C>_?2abY`8IO&+Ylc7?dvmPyD`^SW}=^@N5EAi1qz!ruE z3XO!5$p}1^xOZ8)Y`2ftcntN?9jX`lux&r_dqjmdJf`obXTC_m=DB0@LRU8?acWxs z{f#D%ScjW6{UW(GYv&f9_tyK~FClRUYp`7O@4d-q<>FzGVE$dlxIvkxQR)seA0zCq z@Lz2EqB8a!oYei4WXPGqL-zVU1oJU@-BkR*yV21)3YZv7?S6pT6p*+lM`+FF`KjMV zw?Q?vuH!uiwMnt|L7~3c@UcuK<#J8~JE@(n2+YD7(+GJLlj9d>#Wc{5!TZ2BVoiq9 zmME51F!d~Y9675QFL~RY1Vd|_Buo!POfD-2jO2TwKrf%!uzp?d^72cOjO4TrgRdmf zB0^5L-0=0{JHwf;uIOU;Ldp}5h=qMm(tc;U#TfurY|fR| zT%=>wSN1j-a|9oZCty=8umUKv!&M$59lL6?e3p*1o@xKv&YJhP9AQ8Yg_WsTw2zUE z`m`tcH`}_6_Bj&+AdT!r^;AU#orW^Zmo?aAla6w+jaGh zo|v3U#3iw=+R{}`>)lu1C+i{;~JesY3csK{!HXMPa?KHN#CmR1VX zrkXR7gFgHLhLs-!4_MXR-U^(#h9~;uThDVfnI942;(M~<7sIu9o(LNkJl@Pu-gsIf zVN?#tV$l;D=Ny|aJ8%RD%@KvVHGe~;{+ELW9a!BRmrk^9J8%QpW- z5H{koaT&}dh1>N*UnqXSA?Lqf16A(eP(raK0dpQ%s_~1*Z9QF)_wq3>eH)s8BDQh+g*OJeCV2T*-FRn~o)GuK++xbv*Lb8%5vo^iC_P_~ z?C(=IEDX*}BwX_C0oR%hfdd{ktD+>}54op1GHI=w4m)pCOXG3NRZ$snJ*Fgbup@!G z5JF733AsXKcvGt} zgvX;*TY}20gfy%hibX=oqLoE9a%&c0?8#eN$Od>Q1wQ zJQIp~FR*tBAI01~G$(qVH8G2c`q?s`;`zsv(y%r0KJq^5b`~q;EG5sD{Hvq#2A771 z$X<%?+UX8DoGh*#5ydkSF+RiGwOew7=C-Uf&c;6*H|l zjc_^oBS!UG!6UwJgdUR|V{psbkkL$yJoz91d{EtoK=C`zgL10ng81Gm7tZk-0aiKN zjAtX6j9ZFhkw? zN3(@%Vf^zl#^S}BG?N#FW0SAcM$5WJyigztd?>7}tTSxE*xjc?;yf#6C77(e6u&1_ z6Yi;J2cWk>`Nhk_qCBsz6##Zx%qz1PzD^}iXrxDdC;tkkslB*yPoS~@N9b4f4yVw| z4wdFnp`uS(1;0EhgT`fyULSehbVXlPSTReq72tz1X~lOwqz@K15G;H}4UF)WLT~E{ z<|x#pamx;H{oWKYJ_s2C%}K&j#&ghZ1V$zLLIG))Dl-QK{fN0>6dEcPKEhniv$y#~ zYDBZIdB|DRh_WH7PDbZ)jzp4GtEe%DD2Ac6+6av`M#)Mh)rr+wdGbeZHF8P#{5#Ge#I1w6SV=MXW1YDl%6t|H4>UTk@DwpLYEz2iDrX>QC-)k98#(0wPA>mt)E8=Iq-E;ML zBcdwsT9%amZ0EAq@mH^Ang=U`g)~(mCB96-8GId70yUAPj*PPf`9Jk2EO{5%2v`|T zbD0Hyuzs(Fa*n}U`LP*hv5RD-XW~n1N~+&@lbKt2Z03q3?gGgUa(Ck>z{+HDB=emCB4>i z+7~15CPTl6MTbowtM*ZiBt`uFT)a?=aP)x?GlOzYubjpYCt4Xg;P>6z zdc(nwv>#uV3V$++?5Yt{G;zCal^`EY^BBeG9@1lS@WGr=DHhAFBU*?rrq0tTNozrf zk%6~b5<)bELba?OGx#t7n4!|DU)o1tiRS|~=aqIF3H%nv(MwO1t`t2KYN*w8UdL-o zB}2m;PaKp`Oe!M4ACETl)wUv!`tJOdaG8qJU6DeG_Q{^`9tq(q5lsB!r(kj_6Q5aD zUwQ|f5(gcFJO0VpD?W=+w1ON8lThAnM9ek4hLjWGuCx;;+5eC_eNFcnB3E#1eTF@( zeOMWE<}pD?Qx~|78RN4$EAkg_yXYGYNYyUH%XHwp)sg)v*+Sr)feF+i^mggMAZB%^ ze4-e}P;2{G^ORT%h6P~kaGy<-2~uVYC06Q!+=Gnrg(1B^4nHuB+KY+plrc^_XrV>( zsk`JqaTb`(AyVOG{+^18b=|OPsBJ_&ZC_grfG1px^_d7EbRTOaU#AOI8y86F)m3Ls ze`2L4!B%JgNSs_^CP3zfFhw6fcXIbL%jZiqqZ?4V;GAA*;*o6jIE2v0f2)cJpESS+ z6)Oc$;v}dQul__3#a_nEs#N3n0(wZ|I4R$~Gqof?X%ZhU#g~#lxqmkcOT$2}ey}zb z0TUYv8@9Fj>EB15QKyxLUnmLU%=G5>lRi(zGUd^`XAVVE2!{ev3<=#qarkC_DaQC% zEiUmWObVmYhUj|!!0=PvD~wmw4VNq*z8@@(9Z!7cxWlAjkb8;8V>9`F$(R%~^;}Mt zf~@HT0HrbDH^k&GuhHy%0c~oP-L`)BC24v1X4}$P(w7Hv^4#1&`=n-~G#7t7Rv5$7 z8OHX2_i<32Z}ZDqUuOai!Ufq$JzpBo<^9C=Bp4b)F2ub(q*tioYp{;t?TqcfV(H(@ zS8}eP!rYGW_IdO`ZeSLg6H<7F=%}=&F=Pb{RT1@i!Q+o3${GG(Z%en*o?<0>j7}b2 zP$WW_ltU`-L3Ovl=Y!zjNfU_K%jLd2a(+5DKE4Nci@U7+J#+xr{0$z!7fpF#E;M{e z1Ty3{CCc9QR6rxShV|pZRsV&<_{5@cG0a z0cPsJ3v3#wg_wvqIKjRdvxVw@4?YPHzIZz?L~l#wm;(zMd3P4P08`k0bEUEk#KmYn zK$;XpZ~)G-0jX)2+=B%GjmpCxKRK3A>{Gpo5Hf2d6=S+_^?Ee*h&f34*s;+6wga1)l@0lIaKd zjJ;z2m(q7&3~3#>oQ#RV8G((0Fghg`eHpSXn?w2#vMIRVm!zvr?gJn4){QBES8bY0Rv4$7Obq`jq$Ru<2Sg+Z z_9@NAIebViAYh$8;z>CT#}_WN+s%LC%?MRa25?bFYs~YVD=d#U{|9K7BDw`44}{2z zP=7OmE}c0hH&38HzmCb>sla{aQO`V3%RZ91IYJ%E@zuLz4usn{Ju}AU{l)LXE|oe0 zdfh?BFV9u3>Mr1%c^S0~krp?j5-KQO39qAZoAOzQMv@;Gb}}Q3U?YULdFJeSPTGD_ z^MFoDQr4Lv1->>SK7A0Otto@V9PNE%lFv(G=#Jc*5e`PCJwQbZ>MB;YF* zq-bHtp_3+#T4iw#P>g5LcI=Kf5sf=g`>9r@g1@@)>BdT8U%r(+JrEf6T2@N?Y3x(? zA>U9Ie)Nj~yN?Em=f1Sa_zlc=@r?j$Q&|WpDe|VtNFoCgo*>Qzg* zdB#%{hzdN#V=2d|o2wEBHDpCW@fDt>Bh*%*rtOsdupm+tfBJ4>BNSoIWoSP{kX)$4Ls-DmfY5Tiob3i@H*(P5RJh~?_5hu?n0h4@ zo}Dq}Ubvw)cnBPHjNEX;r_V-lu7<<(L_~7&1R?2mH=}%oM{^$WUvT1Kpmx6F+dPj@ zjpYi;!tTWI+kgslbauXP=^9GD`#ji_+QS96ZXY9Uya8&Is&g;g3e`mC0l>C($+9V{vGwk%BW7kn|1?xR&X$&knBJQ^c#2w25&XjIW8ghAlMZs@D z$4oe!>6LF<)+e^ynu-XLr*L0zA!2w<;NrC)rU{iB{Jv3(fNutM7UIqH;252Hz#Pie)EWQK6QFk>=*P>ebvI_nV5JMs>~CS!QNB z4!gg5Tf!ECncTHi_tY7|+$gkkd(C#3lIvnu^Tdo_Oj_O?#pXT;BPk^AqJ}mWrMBQ4 zgXZ^LU)-?IpVRPas2n9mo8Z`l1SCvNW+#ln&VtL8X>%`MtzVw(O@GmYGrWq-e*#4+hn=K z1~EcT4Pd)@EBjx~=d?fDeD3USIzl$CV6Emc!k0=pt^2GfJrRV0CWpkvSzqvDXg-ox z5II#U2TA2qpw69fmNbWM#$Mu4e2k!GZ(7VvdBd;I@Fg=4esKVhD+RT?5xtZVloz-m zTosyA(6dUgWqknquHmiUroFVUQj&Dv`#hS@goIrxyPUw`L0R4@KJL6isL*Vw z-vbe61wz-bFVQbK_qnxfG7prV&o0IKZx|VDQ=44h_qWaxdCv80qbWG*;DN`z1y0+` zyFyD1Z!fC-#$u%2!_Yxi2$!BRL-GefsQ0IOkTW1EY0R4uKm&eD}{nV7q z_5HpJ=XlwN)2_djb6J0CJYwHc5M!F2KqJ;EcOh>t=Ti2j2%nwuVI1g27_`?6>#r4k z0v@+GyJ(=meK=v;B-at=nUDEJ%~-`pBb@5&-4fNRc^68z-(|0Cltt{T5vpJE!R`?8 zz>`YEk+QGuYRS?*s;vz>%OuBUd@QI;wr78vt}L-aBqPnq@7DLRyKx?yn@?jRS&3`! z*KcQX#e~J`)kJJxc&!~i_i*l0hx3>Y)+v;9Txzj0ouhCe22Z5|JFCXtDe+a=ATRLk zI6J}W@Iygrg>MKy0)4rgSVNajpJlNsrcmpOJGyYGGV^81s!_otBM*8jr|JpD$cBaZ zr!o|5U>P(y-Cwn z1BrWay{%GQL&vMxag4V(APtj8!AVnko0eeIm_lRP8X{Tp__Vq>GG=_1RzNmW(nwMv zVfeOqLE#~5yjnP3%(>Vo{YE7Q`p)`5?^bs|A1;!sh+l~fOP)A>EqVwY5l{a6>k5?m zc8Zs>;$=5wwW7_U(ZgeT<|iE-W~9*(1T3NY1RBh7%o3bMM22oLs7$9c2ibg;)KXdQ@S*s)8^5g zg61z;&nK8CS$S~9VY+8v)POO@IGe;P4ecKoewb0d(@gO%tBRw&>hg;Yzr(}DSK%x5 zPFBUz42{K-cO8DDn^b~D9>aXdBy1WP_w`Zj7eKX8*hblN&bjLq-|hXp4H@$?VI#la z0mE)Zos@P=6T+ANbj?^SMpSc7^|*M3x-i?OA04}p?LOhJzA=^zs2zNr6Gmbs3D2|zIx%!elLV0;2onUYkIsdE&Zd>rVn>LITg z%C_?|X1`%?Xv~QB+M76?m&IJ`J(Bj@z!+9DGYl-MnfG{GOc91gEt~HkU^%2T&585r zz7olf)a+05ZVn|w8$bwj=rM7=p3sg?PrOpvz!rW(d12~K$N?c1MgBu%kdJqsMuBg0 zz@;c+#e$Ax(C9{R=Z)PAQHqlY_c@6qUazI0HgJ*wGW< z_k*OCz6kUjvZ)$Ge2@>jt16~N8fsY@7aA`5bQ6?5W4-a=7#f-FRDe2(DY>XIspI69 zk#rJiY-!}*FZ$9X9lTH1TKN%jA>*`9HvS3A2&bLz%5}$>P4M3BVt-PSFE9V=v zgizg1&lI7Hft~s6=DRA_4drV%KQSl%7H90y*Dx}&U6h+OU-P^RjOpYPM?ud}G)`Qt z^F84!?b?=nF8rl;)CrdKgt4)nz)yHLx6n710QVHrdAsC46st)VUfsp47X=3a4}cIc zV1Sv1(UimRZd(VteC=ghNu$J@$*&zx zHB*>ICC(gu4>hxpH5qY*gAvWQlx4Xi=J|t91oE8tFjip1yWHR&X45COkeW=owR$ym z*DY!Menee-_@#iSpNR9~VoPC+jr&$l^7$-kLbTsq4H{5iX?0m^1Y` zB9B+qmqiMd+UsF`^j?3e9j*Be+q~p+`8EI#4S4^nir9^ z^zk5+01hlcULU@!wFKMkH~^khgs=Wp5Pw4o;$4Bp@A7G>gme;X=fzj>kOR5-X=Azf z-lcNQIikX+>Y9Jra8N~aDM;*Qk*w(^1C{Ixm};ON2Qx!DB|DgFV99 z^G^xH&kYCX%^%_3KmN3j3_j4@Scl>m|MB6UfAYhFFg4u!%^&*nIr7zl!SJmzPXXck zCjj^BdLrr5l$p=8y#D9)|Ga(piZmtoR>9!1x&Qb*Iv>Qfj-2e#ZwB!{ussQsFhr87 zl*#pX1N0wXVG5F{&c^k;|9W(mMDVR)47L~l>w4%A(>ip2gMTg4uUnPKz`z+*kCGua z|NW~Nb>N9J4Rb!QL5t?{0jj41w3u&iPOeZvi>cDQT87a*W zW=att3Zvo&**)Jt@QMNENuG$7v>6<#CSsiPU9*r8#{lrKwAz4#@-r`xn@4H`Y(?p~W?%PUCL@Sw-=4 zEfHt^$_Yn#n_cK&48PmSx0rLQp4UdqE|wE*-*j2Ojii4%4g9sqdt*lc2eb-*1~S@F zb}wAdEy%y2UOF7QH>TI`{|HpZX8wrx-Q`ldr8>n&_dlh@Eb(k2ty1BPB0FX!wqb>O zBfURc{cnoqf(Y^wCl^+{_>VOgB!vCY`;PMc-`uD_JIUt}vLD_o-lhDHS5!g(-+m{{ zeCgcsPXr+qk8Xj>X9s~}cwwZ;_Yn0HNV2DaKYh=J!!~V{H?)fVrBeTz__%Q8{RQS1R{bC=$cG+FezE;Uf?nqltw1W!^gdw9O+ zh|R8aEdSBWcIngqdJvR8$9!$?Y~B?_{KtE9^c-ICM_yPM|9T7m`Wl}GI(Qj*Ug>22 z{Ke}ih-i8b_=5*%VFq4DLIe87G^_**p^dc4dR%)*QvAT5qNLDWM8zCY zDvQF|+yZHp>LXA9R($;Fh={1(&2#S#zn=qL^!bymt0yYuk8BK#gP3yHIA&x}ZadoX zF4Q4Nl2tQO$RiCH1d>8SF~1|wD`*601R}fb;I&Hj1WMfm9^xD4=-oRgL&;?W7@ZMP z!}@5e9O>lr=G@xZpMVxvGg9~|xTxF`QbUgXuJMq*qP%5a!z>s|E?EU)&K3ly5RH!m z`BD8T^Z#vt8 z_z1u-_5zm=MMQgmMAHBm7yl|y3nEH0Z2q5^X%QGAA~pbNdi&-EYT@B?~~Y#f7940pD!2)b zE9ZfGV*b+>2B?L!8uT+Yh}3(W&2}q0&(&bA_jR0w%%_U&4r^9;h6^~g6!Igro}TX9 zBL|5}@;aN2JrAB~+|sCd!SQQ<`{S{m6CFpms0ej5zd$hLW5rvBkg`dL%IDZ>d9bP> z4>6&X7pPhd=INbpUqw_EwX4UkZX>)rI~~Yda=+O;EkHowaez;T5IC}e3;Jps56p&d zg9~ZZ31DvA-}d2p$K|?mE3Tctm|0hVVF2RzdN*9w>aFs;HCP;~Z@3d2k?MEv*ZRMo zmhEig`Xq}4;@kH*_**WGqK%&EkB*9ZO&x%cYBzldqeS#-6(|lF|Jo_lC$%A0`vo%I z;%tRxd1U;$;ir{c<@PIUKe`;+V{&qH9W#Eu!`tXS$i`f+ghA)mofqaNHML`7lBW^anS^6 z*fiq~Qx_k{5K(Uk+^b2b!abRDH-9&T1OnGu`hVVzGxtur0OLKKyVD;gw_;}@RkcUW1ouB@087Q`+8v0~=AFXFEFX#cedO6x6p8B}gNaIvx# z-5$7>(TzU8Sa6|=Y1)ntPGnVEk|wk_z_-pVd{orbHVgP_j)zUD?REV7z=6JAnblR} zU>gdKfkxo}8F*SpC#yGhHNWGY{w27VJ+i#uDz)nu=nApE%0;E8iojki6JUGEK4}<~ zCxEz=B29EE_hBX%&yB?0L|7K-ZzpTplAkPOo|4a#|BoHI(pQ~ydH#gKz^rm#@2}(& z8a~P?f%aT6T7*kJahT+;Bwrst;m{=v#5W+$^VwzCe6z<;PsH|quYw4EiT)KR? zdd~|RK}f$yr;S4_yhQbAZ+e=?>xcX_xr?)2W5m{z2aRC&AcS+fFwBW&?v{uGvuE9l zF=Ty|#}9^uVs;aiV4d5QckF1fZf7R;WvyKixN9Y^AAY(17LgaxunGzd&tI9BCEjUs zgd_Y$^nNYaX!z$-%013itTIj*G{&of#0;fYgG~Up6bV{ z*f^Kl$xK>3QBQH_7Wuw~@$}>c9T@L|%RG`FjA>-KT{21!V#b1*OLn?Xv8Bz}Dipu? zEBi~t9r@7PA|0X@XjF;dD8nu2effC{RX$=G56r*VVlPIj*WXiJPC_EDh32>KLgUr% zqAg^&Y&*M)$Er2Eg@41PKYe?WQ4?$>@mrMJ6TZZwjJgQCJa#5~&x`o7>N1OQ*@jqm zgSjZ7Iu4zgUz9Fvy^NnfTo%Bjkg zFpxLzG~IPUyk-&N?QEAWa^=@0)oxV@mwZ)u?liKw7-IYEGCWxU=R3QBHsV7Stt_># z-+tb@BB1@usD51b(G9VCC0}ohy?=E-=VgDW_E=QBNt~=}Ltf0{d7-1O&dD#z9y(Av zu3ptbT;Mj$F88*Y>4fW`oXI|>>yemgSK~_H8DD>z3TP0PUwWCT11lFctpw6kpKx%iZ^LKJ|yz+2;6}%)!3? zhA-Fsm0Gp?^lxG3yT_-pcW{#2r_{L3v?C6a>2b|V5Q^bXN;s(%%COmqB74!D#e`Gb zaw#l`V~DPmzjrJzV$qSI(|r0Yl_IOz^$xD1H%K=E@Nxn%tw-*yU=6$kP1vK9aTZI*VqlEDSUAP1w->5u4r*eRVxVN zwNS>Ncmz7Ylm%T?U-3BIA;$@8tH5drFT^HNY#oqv5C_P(V+$QS9eQg5`EQQ*mDtb% z>lT+LHOjxlLx_^s(at*Aa_l+iu_X4V4*Pj*{(a6Q>{1oP*;NfGd)SV+RNeX&hm%n; z+-e~WY8{bM>?uoMm-5E+l;wv5e*QCk=RZ`t~y zLY?Alp&!%DtV__n+(@FIN9{h<4=!^?P-t<-v<(1Tiv|FQqOR=ngD^9#l5I;r;Yw@W zXO9r)C5MqLFt@FuT8K-F;e1*T2X`4q7BQKNi{4a;bfl%a@OD)v&zTkXiX zTchXo&v?DtMBb@_fs=BlYq0(tyel@GBe3ov_j4+dosFcCeZw}|vHV&TznkMy6WdWkd>Vn-e#^SJ*gYoM4r0To`Th3|hU$v2Hm)rS2CFDPF5>UZFnS`6BgQ%ze@%dl>B%4l) z3Y7eVBMDOafCH|GuFFTWX~enM3!(S5thcycNp(Uj%8|D>o7Q#00TG*hw(hL~D552j z{#rBAo|d7o%GB&b+Qo>4&`+Hg+sl-a(XK+-cIjM>Rm85k1+kh!`nTNuk3H6bdONbT zkF?hj-|&=p>yQ~dfm&Tee|($g zNDwxxtCQxNPx`BMYv&^&YZY37_wFaj1FT~1x|XbyVG=!-Sd_{5^Jsjs84(1bB34Fa z?oCulR=3!B@Ec4yhVJSjzvmqS1rQz-=Obg-Q+ffkqp3vZpv~EO9?d~mv=N81ejK5u zxu{vS*Hq*gwnaqEaFiUu|78Cz___bC^CVC>jE|)l&g-vcjz=Yq1hdm`+zFRdMR0 z$`N1lp9eZEUKIc_;tkxy!|~K%0;Fa zPK#zZT0f6V&-I%bz>uv=T-MeIjXbB_4DA8tA z%i-5SenMXa)l5gb%a`VDNIai_9-S4b^PfpgOPj$hMDS=4-WD}NB%yH9L9HaC5+1&137w+SQb)dk#tIY3rbXd68ecsIo>T_;6-gfi2}%R9KpmSVouP%3yoYBXg>-1h^evr zC~7wb9S5BKI*&A@!jar%NV#ckTdiP}cJ5tQkV$SQz@B7PcEA#uyjz=Rmlun$K{S1*zM+w5(xKzG^FP@-LS(fgCE(Rpf8WmWPR7-@A%?Sv`bZ*3`Ie$s0Vo8E zZGPGa85NYj#{!d-CEm{J@722wx9smUN=F2@U&=FBCI}TEHEb zve+#Heh$mL3kXGABJ+}&6zx&aB7#hIenZEWN+@gt-{4gqR!?HOM`;$LG$zNxZJR}! zWu&dET-G|3j5wQ*L(7l)jRyL@Cq%+AWx6Rafh&jF>Of~4Q5&4O8Rvf=e&=z;P>4ls z-N{CTS8E+JfQSik+YiBxwJcWOaHe4>-|0ufT}f?B9Bpkr*6gffFbLL0#uW^!dlZL{ zvnJP=W|eiR<}U+{hpbx*(1@}3U@28GgspHXd;9+@>^h^GTH5Xf1ZiTVH&H;45+rmG z5T#1!ARsMt5D<|TI*0<&YeEx2N+{AhLMVn3=@6Q90hJ6{Jn*-urA)HRM!Z zkPGD1EOm9CDZ#ixU8Vub)VP7}n-2VyiD^oaKF|TuK-keRu=X04t)+?T@Rbqwm}G>l zP-`L~*AsqT(<##QS4iBN{!YfC>GGU>P*UujFKk#TL`Y4>$eyLD&_@GZ#X2N7d{G>i zq@v1>OsvKIY}>WIh3RL;{vK! zRQl=x08{vUL7%&aW1YG9#cu6G3RczaK(VR|q74_dNT_}Z7;UN%eG1OimD1+_?v}6L@<7jHG)b?g*oI)pz&N(q^q2ff z-S8%peMaT%JMAj&NW6BkEy~!exViAxgwSr&4s?k4^jOIGT)t%nR@LBGpuJ9Ykl3lv zM?q}=0hLXzP5eabss5Zk zc{&Rn-;9KsnqNwNE<%}1?Hzzi!e%tjazK_Q;+NscB|TG;2OkZ|KbQ;@O!=I2&}b>5 z$S0uPM+F(lf)T`#g-}}<^kLPfh%bl|KODCl*O2f94|Bd*rGH8o)3ffnSwc4@i@Jb= zpW$^o64#5jsSWJ-cztrD+W?*)2&y)doRkbx@7d)2r3ZuuVgz05HNgAV5;zbFx?p1p z^AJ2|n`>&Toji@CpO_!`8o8wSCuxY2aXCdXs^u6*hvA}}J+7%<1lB4M_PWn3Gp@4M ze=$&DQuV1GPyZuqRs$ar%!n(y`)L*cjigQo8n1i2^pP52ZXHdc35fF3rk;^Xte{r^ zVcNEzYg0-+tKb+>nzY-Ck1(Ocyh}j>nu?MLg!2NBbq8bXSE;;qmv3XZh!1kt_jPm| zLKC^v&vn9cqPovfacE?^wr_B3nM92o*(MK)D{o1w>{Usz5j3g3ywUw+48uECFtvQH zswQDS_`-1&SGNg~0;)I`7q-Jps7+r0vXs&3228zmO?%1dRgov*O^ZOfitU`vybG^$ zHRt2i%26|&x(9hWQv^*8sr29F*ragve5$`B$ln0vIw*@Zy{&fy@DKzW!xzhd0yIYQ zb6zDx@RJYzt@MPsKt`2k*|DZS-wj?uz5~P4Kw!hQl#f=I#D)*+y5Y%Y)c8W3Vh&}- ztePI=f02OFlo=WnF0r!L(f>>aHxV9)pH?Lvv7oF_Pu06Q-lCaEcux63@i%@VOqG|) z91qIZg;vpEBP0Dw)TVC8D0SUd`?xRC6YS3u?SNpVp`@13N{=`&*41$=gJ?0CMsPZh~r01_4<_d>7;rZu5}l&Id46Y zzJ0sw^IQ5CYS#U3zNi`qBA6%|$1#(%gUb<8UY7`0x zVII0fVL?>yh@q;K@wa_Lih>7Oj#&<4r7|*-Ee71Cf){p_2@;P=tJt>tfnc8b5M-tF zl1sIU`+YiDry4Iz{Q*LUq$ep)v8UK$Q4(AMt+ch$HlK>}v@*Eebj?z!Yt84r7|K*U z%j49pen)n!HeJcm);LJ*4^e=>4=OZm%p@qvNIHb@c^4!CT!gzz ztn8cIZ~+z*^}X!CmrV?bm-#w2G&Jy0k>z`A zaX^XhnLvBd53wzpcEhYHaFS#E2Km<86Md5XgPcLoKtI^k=D}k6;r4<;7*Rsy3LpdK zP{Zy=9bnaG7kktvaS~SH!A$s5GmJYk+q=*5{-qNXS+?qTXft=3pZvmClKXqG3K05rrS@=Vn&{5Mc=ob^|xFgV?HM8%7s^ulSbxnBMgY=i`k7DF-wU)38* zC%ZCl+UDWYdwl$}T1zC!8XJqc#~mVab7fN0^WH<&F^Lam6dz$%k5Nbi%hQz19&;fu zMo+%u_8B9Hjo4e|&5MqcyU^VaIOH6|y7^aQZ0>X2TGd^Zr7Te6fc6b}$2D}=U!J*L z>l2NawNmuSVI0MCK>HUA*-oa+6y2Ry`*pGljcGKSYxYZF_e(Hxk|%dUSCjU)>xDsb^To$&ohEj- zeY&VIEIZrn(knekev!d8`26%qnftJR;1k1%4QfW_;7N;x?3lTo-w;cM&INCiNPDtu zrE>GuOu!o6@p(NNMS~A<3@!P>wf$0f^&N`qA&_CK!sn&vOLp1sO_t&B@u)S;ngg+* z>iEK=ODk?Q474Fv9$5En&9}aKx%u(H2Sy=1uBxI?4B2{QwV57vIh5H*`S` zM|bMJjlL^%ADP>7A)`!trkut;m}&jD(E8)+!F($$tKK3HtaVnX!$HbQdC2(7bED!6 zN&a#^yEbc(?XL}ywc}tFu>ZH`&*~s+@d1UCB-2gg6eEtb5r_&A{UIC4z~e&?7MRGH zQqhyMjOi?JG2|?1i3Muz%>=3oxhJGcJxKWqlIj>;H0f!u5cv5+!swC3JvQDp`=d6$ zuiZ&E-(4aC9bB7yHpVd@6K7ejqHwo(GSeq|ha$^l<%lVbP z<IB{jI52q;WZI&Uf(4*MqdIEo$RgZh524@!|#6S zr5&9C=B?;!L2S|~QvJI3#chLE^XLWT!LXq#xQmAOhTuW_5=);qgn8YCjw=dh>s{tU zh^btnjXDf;9>_CIJwBgrlD> z$p28dcCb0CW_BYw$y6^-4ci{=_k#FfI9EkPL&DQg;McTFm$e*F}{4|u)gz# zeGLD7d9d1?(n6+qh)cdB#h!gb2O_x;@nR=#`=$&XnSw6^yJm=Zf<}apU{9oCP^}i_ zXU06TB`bfIIkc+6-0Da{!Gh1m&-V?AkC>P3653WsL%62@X5#{I=;>|39g@0^AT;#2 zAgK4F)%#>TM~QWB%h2qHfE{>HZ_9lJGYmw}iXg@FQC92rEgtjMz*$|nImQ%FCAhLJ zZ9J|-jfxE%>*5g`J~v~Y5{@AwCPFopHL?BQ-_tTN?{3aee;UhA1^hTgnQFCJBZYHyO}dy ztXuax+_v1LXdg)iqT)QRt(Ar2F$X@Jc%i08(=C0%z?;%$zR$4fsVt-*TS#tiICw7JG(qV_A}Z12(5ck-J*gXh;h@uI8b2(9e|hGr(9F%CpMi$rUWw#y!odIc0pI zjAzhCm-=fux1_x`X}d=CF+(Z)?JOlu_0u;X-h^jQNnA&a|G})=xk@VY`sR2 zN-8;F~0#X{dB2XyxjH?7c$ji4%Beqg>$e2hrU#)Erj$V4g2yY8l%cIV3R0 zE~Z#uX5Ta~{r-ZM42JvXH>g6Z*?eo@Nl*0s=-{1$Ztk#rdS;^)TIXfD5Iahkk&FW7 zFgaUeIwpG%j>#vzsg%K3p64^c=qutKwcr}QoUKG?&G|;h?y<<)FN>vrF?=VQyMDy8 ztkLwqK*5@t?T8kxCNag|Hw^gH7W}o0mf>axX)a4xl*X+ESrPUNG}#uI3@|k#CqZZ+ zRWoocZ-mnB+o=PJXw*mO})nQWDYI$F7U*6 zDZC#KUAem2bj3@haF!#uk{Z~VjHm6R|7_6p;9Am8@1Mt#@nRMJ@&l|aFXlSzAMPym zSty0mrpwsiZu=i@i;n2yQ#FoG7CWQVks8SbwjQ415edt;sR)^EyM*F00Vek!ef;kw z5$BuyzBcZ@h2M|)KfVF^e}1TAXF>Dz>2Kuh-;tnZyhsouyp*akDF07lm72&RuAQl|gKasMR>0{`4~?{03NO7nU^20OUorZl6~8Yb5W+K}1Ux5+PO%I5U%*RMNmH>* I-s1Ux0Hc#r4gdfE diff --git a/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js b/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js new file mode 100644 index 00000000..dd57d92e --- /dev/null +++ b/docs/articles/benchmarks_files/header-attrs-2.3/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/docs/articles/datasets.html b/docs/articles/datasets.html index 53ce4953..43f03b0c 100644 --- a/docs/articles/datasets.html +++ b/docs/articles/datasets.html @@ -187,7 +187,7 @@ -
+
diff --git a/docs/articles/resistance_predict.html b/docs/articles/resistance_predict.html index 266526e9..204a89e6 100644 --- a/docs/articles/resistance_predict.html +++ b/docs/articles/resistance_predict.html @@ -187,7 +187,7 @@ -
+