From bdf1d704ba09f680f8daef3a1ac27df51e281dfb Mon Sep 17 00:00:00 2001
From: GitHub Actions
Once we have the TxDb
objects, we can get intron counts
@@ -748,7 +750,7 @@
Finally, we can use this list to classify duplicates using the full -scheme as folows:
+scheme as follows:
# Full scheme
c_full <- classify_gene_pairs(
@@ -832,34 +834,35 @@ Classifying genes in
#> 683 67 70 71 883 836
You can use the function pairs2kaks()
to calculate rates
-of nonsynonymous substitutions per nonsynonymous site (Ka), synonymouys
-substitutions per synonymous site (Ks), and their ratios (Ka/Ks). These
-rates are calculated using the Bioconductor package MSA2dist,
+of nonsynonymous substitutions per nonsynonymous site (\(K_a\)), synonymouys substitutions per
+synonymous site (\(K_s\)), and their
+ratios (\(K_a/K_s\)). These rates are
+calculated using the Bioconductor package MSA2dist,
which implements all codon models in KaKs_Calculator 2.0 (Wang et al. 2010).
For the purpose of demonstration, we will only calculate Ka, Ks, and
-Ka/Ks for 5 WGD-derived gene pairs. The CDS for WGD-derived genes were
-obtained from Ensembl Fungi (Yates et al.
-2022), and they are stored in cds_scerevisiae
.
For the purpose of demonstration, we will only calculate \(K_a\), \(K_s\), and \(K_a/K_s\) for 5 TD-derived gene pairs. The
+CDS for TD-derived genes were obtained from Ensembl Fungi (Yates et al. 2022), and they are stored in
+cds_scerevisiae
.
data(cds_scerevisiae)
head(cds_scerevisiae)
#> DNAStringSet object of length 6:
#> width seq names
-#> [1] 5688 ATGTCCTACAACGATCCAAACTT...AGACCTGGTCTACGATCAAATGA YGR032W
-#> [2] 5631 ATGAACACTGATCAACAACCTTA...AGACCTGGTCAACTATAAAATAA YLR342W
-#> [3] 5580 ATGGAAATTGAAAACGAACAGAT...CGAGCAGAGAAGTTGGAGAGTGA YPL283C
-#> [4] 5391 ATGAAAGTTTCCGATAGGCGTAA...CGAGCAGAGAAGTTGGAGAGTGA YOR396W
-#> [5] 5277 ATGAAAGTTTCCGATAGGCGTAA...CGAGCAGAGAAGTTGGAGAGTGA YJL225C
-#> [6] 5277 ATGAAAGTTTCCGATAGGCGTAA...CGAGCAGAGAAGTTGGAGAGTGA YIL177C
+#> [1] 3486 ATGGTTAATATAAGCATCGTAGC...TTGTCGCTTTATTACTGCTATAG YJR151C
+#> [2] 3276 ATGGGCGAAGGAACTACTAAGGA...TTAATATTGGTATTAAACAATGA YDR040C
+#> [3] 3276 ATGAGCGAGGGAACTGTCAAAGA...TTAATATCAGTGTCAAGCATTAA YDR038C
+#> [4] 3276 ATGAGCGAGGGAACTGTCAAAGA...TTAATATTGGTATTAAACAATGA YDR039C
+#> [5] 2925 ATGAACAGTATGGCCGATACCGA...CCATTACAACATTTCAAACATAA YAR019C
+#> [6] 2646 ATGCTGGAGTTTCCAATATCAGT...TAGCTGTTCTGTTCGCCTTCTAG YJL078C
# Store DNAStringSet object in a list
cds_list <- list(Scerevisiae = cds_scerevisiae)
-# Keep only top give gene pairs for demonstration purposes
-gene_pairs <- list(Scerevisiae = c_full$Scerevisiae[seq(1, 5, by = 1), ])
+# Keep only top five TD-derived gene pairs for demonstration purposes
+td_pairs <- c_full$Scerevisiae[c_full$Scerevisiae$type == "TD", ]
+gene_pairs <- list(Scerevisiae = td_pairs[seq(1, 5, by = 1), ])
# Calculate Ka, Ks, and Ka/Ks
kaks <- pairs2kaks(gene_pairs, cds_list)
@@ -867,61 +870,59 @@ Calculating Ka, Ks
# Inspect the output
head(kaks)
#> $Scerevisiae
-#> dup1 dup2 Ka Ks Ka_Ks type
-#> 1 YGR032W YLR342W 0.058810200 5.23576000 0.0112324 SD
-#> 2 YOR396W YPL283C 0.004007600 0.00991618 0.4041470 SD
-#> 3 YJL225C YIL177C 0.000253203 0.00075777 0.3341420 SD
-#> 4 YNR031C YCR073C 0.364041000 5.07223000 0.0717714 SD
-#> 5 YOR326W YAL029C 0.395973000 5.15058000 0.0768793 SD
Peaks in Ks distributions typically indicate whole-genome duplication -(WGD) events, and they can be identified by fitting Gaussian mixture -models (GMMs) to Ks distributions. In doubletrouble, this can +
Peaks in \(K_s\) distributions
+typically indicate whole-genome duplication (WGD) events, and they can
+be identified by fitting Gaussian mixture models (GMMs) to \(K_s\) distributions. In doubletrouble, this can
be performed with the function find_ks_peaks()
.
However, because of saturation at higher Ks values, only -recent WGD events can be reliably identified from Ks -distributions (Vanneste, Van de Peer, and Maere -2013). Recent WGD events are commonly found in plant species, -such as maize, soybean, apple, etc. Although the genomes of yeast -species have signatures of WGD, these events are ancient, so it is very -hard to find evidence for them using Ks distributions. 3
-To demonstrate how you can find peaks in Ks distributions with
-find_ks_peaks()
, we will use a data frame containing Ks
-values for duplicate pairs in the soybean (Glycine max) genome,
-which has undergone 2 WGDs events ~13 and ~58 million years ago (Schmutz et al. 2010). Then, we will visualize
-Ks distributions with peaks using the function
-plot_ks_peaks()
.
To demonstrate how you can find peaks in \(K_s\) distributions with
+find_ks_peaks()
, we will use a data frame containing \(K_s\) values for duplicate pairs in the
+soybean (Glycine max) genome, which has undergone 2 WGDs events
+~13 and ~58 million years ago (Schmutz et al.
+2010). Then, we will visualize \(K_s\) distributions with peaks using the
+function plot_ks_peaks()
.
First of all, let’s look at the data and have a quick look at the -distribution.
+distribution with the functionplot_ks_distro()
(more
+details on this function in the data visualization section).
# Load data and inspect it
data(gmax_ks)
head(gmax_ks)
-#> dup1 dup2 Ks
-#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3749860
-#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0452761
-#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040900
-#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4732800
-#> 11 GLYMA_01G000800 GLYMA_05G115300 1.2292300
-#> 12 GLYMA_01G000800 GLYMA_17G191100 1.6607100
+#> dup1 dup2 Ks
+#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3750
+#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0453
+#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040
+#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4730
+#> 11 GLYMA_01G000800 GLYMA_05G115300 1.2300
+#> 12 GLYMA_01G000800 GLYMA_17G191100 1.6600
# Plot distribution
-library(ggplot2)
-ggplot(gmax_ks, aes(x = Ks)) +
- geom_histogram(color = "black", fill = "grey90", bins = 50) +
- theme_bw()
By visual inspection, we can see 2 or 3 peaks. Based on our prior knowledge, we know that 2 WGD events have occurred in the ancestral of the Glycine genus and in the ancestral of all Fabaceae, which -seem to correspond to the peaks we see at Ks values around 0.1 and 0.5, +seem to correspond to the peaks we see at \(K_s\) values around 0.1 and 0.5, respectively. There could be a third, flattened peak at around 1.6, which would represent the WGD shared by all eudicots. Let’s test which number of peaks has more support: 2 or 3.
@@ -931,12 +932,12 @@As we can see, the presence of 3 peaks is more supported (lowest BIC). The function returns a list with the mean, variance and amplitude -of mixture components (i.e., peaks), as well as the Ks distribution -itself.
+of mixture components (i.e., peaks), as well as the \(K_s\) distribution itself.Now, suppose you just want to get the first 2 peaks. You can do that
by explictly saying to find_ks_peaks()
how many peaks there
are.
Important consideration on GMMs and Ks -distributions: Peaks identified with GMMs should not be blindly -regarded as “the truth”. Using GMMs to find peaks in Ks distributions -can lead to problems such as overfitting and overclustering (Tiley, Barker, and Burleigh 2018). Some general -recommendations are:
+Important consideration on GMMs and \(K_s\) distributions: Peaks +identified with GMMs should not be blindly regarded as “the truth”. +Using GMMs to find peaks in \(K_s\) +distributions can lead to problems such as overfitting and +overclustering (Tiley, Barker, and Burleigh +2018). Some general recommendations are:
Use your prior knowledge. If you know how many peaks there are (e.g., based on literature evidence), just tell the number to @@ -996,22 +997,22 @@
Finally, you can use the peaks you obtained before to classify gene
-pairs by age group. Age groups are defined based on the Ks peak to which
-pairs belong. This is useful if you want to analyze duplicate pairs from
-a specific WGD event, for instance. You can do this with the function
+pairs by age group. Age groups are defined based on the \(K_s\) peak to which pairs belong. This is
+useful if you want to analyze duplicate pairs from a specific WGD event,
+for instance. You can do this with the function
split_pairs_by_peak()
. This function returns a list
containing the classified pairs in a data frame, and a ggplot object
-with the age boundaries highlighted in the histogram of Ks values.
# Gene pairs without age-based classification
head(gmax_ks)
-#> dup1 dup2 Ks
-#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3749860
-#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0452761
-#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040900
-#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4732800
-#> 11 GLYMA_01G000800 GLYMA_05G115300 1.2292300
-#> 12 GLYMA_01G000800 GLYMA_17G191100 1.6607100
+#> dup1 dup2 Ks
+#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3750
+#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0453
+#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040
+#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4730
+#> 11 GLYMA_01G000800 GLYMA_05G115300 1.2300
+#> 12 GLYMA_01G000800 GLYMA_17G191100 1.6600
# Classify gene pairs by age group
pairs_age_group <- split_pairs_by_peak(gmax_ks, peaks)
@@ -1022,23 +1023,171 @@ Classifying genes by age groups
# Take a look at the classified gene pairs
head(pairs_age_group$pairs)
-#> dup1 dup2 ks peak
-#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3749860 1
-#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0452761 1
-#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040900 1
-#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4732800 1
-#> 16 GLYMA_01G001000 GLYMA_08G359900 0.1300750 1
-#> 18 GLYMA_01G001100 GLYMA_08G359700 0.0856404 1
+#> dup1 dup2 ks peak
+#> 1 GLYMA_01G000100 GLYMA_15G276800 0.3750 1
+#> 3 GLYMA_01G000400 GLYMA_02G312300 0.0453 1
+#> 8 GLYMA_01G000600 GLYMA_14G000400 0.1040 1
+#> 10 GLYMA_01G000800 GLYMA_03G188200 0.4730 1
+#> 16 GLYMA_01G001000 GLYMA_08G359900 0.1300 1
+#> 18 GLYMA_01G001100 GLYMA_08G359700 0.0856 1
# Visualize Ks distro with age boundaries
pairs_age_group$plot
Last but not least, doubletrouble
+provides users with graphical functions to produce publication-ready
+plots from the output of classify_gene_pairs()
,
+classify_genes()
, and pairs2kaks()
. Let’s take
+a look at them one by one.
To visualize the frequency of duplicated gene pairs or genes by
+duplication type (as returned by classify_gene_pairs()
and
+classify_genes()
, respectively), you will first need to
+create a data frame of counts with duplicates2counts()
. To
+demonstrate how this works, we will use an example data set with
+duplicate pairs for 3 fungi species (and substitution rates, which will
+be ignored by duplicates2counts()
).
+# Load data set with pre-computed duplicates for 3 fungi species
+data(fungi_kaks)
+names(fungi_kaks)
+#> [1] "saccharomyces_cerevisiae" "candida_glabrata"
+#> [3] "schizosaccharomyces_pombe"
+head(fungi_kaks$saccharomyces_cerevisiae)
+#> dup1 dup2 Ka Ks Ka_Ks type
+#> 1 YGR032W YLR342W 0.058800 5.240000 0.0112 SD
+#> 2 YOR396W YPL283C 0.004010 0.009920 0.4040 SD
+#> 3 YJL225C YIL177C 0.000253 0.000758 0.3340 SD
+#> 4 YNR031C YCR073C 0.364000 5.070000 0.0718 SD
+#> 5 YOR326W YAL029C 0.396000 5.150000 0.0769 SD
+#> 6 YJL222W YIL173W 0.000276 NA NA SD
+
+# Get a data frame of counts per mode in all species
+counts_table <- duplicates2counts(fungi_kaks |> classify_genes())
+
+counts_table
+#> type n species
+#> 1 SD 683 saccharomyces_cerevisiae
+#> 2 TD 67 saccharomyces_cerevisiae
+#> 3 PD 70 saccharomyces_cerevisiae
+#> 4 rTRD 0 saccharomyces_cerevisiae
+#> 5 dTRD 0 saccharomyces_cerevisiae
+#> 6 DD 1790 saccharomyces_cerevisiae
+#> 7 SD 14 candida_glabrata
+#> 8 TD 104 candida_glabrata
+#> 9 PD 42 candida_glabrata
+#> 10 rTRD 0 candida_glabrata
+#> 11 dTRD 0 candida_glabrata
+#> 12 DD 1907 candida_glabrata
+#> 13 SD 53 schizosaccharomyces_pombe
+#> 14 TD 38 schizosaccharomyces_pombe
+#> 15 PD 48 schizosaccharomyces_pombe
+#> 16 rTRD 0 schizosaccharomyces_pombe
+#> 17 dTRD 0 schizosaccharomyces_pombe
+#> 18 DD 1853 schizosaccharomyces_pombe
Now, let’s visualize the frequency of duplicate gene pairs by
+duplication type with the function plot_duplicate_freqs()
.
+You can visualize frequencies in three different ways, as demonstrated
+below.
+# A) Facets
+p1 <- plot_duplicate_freqs(counts_table)
+
+# B) Stacked barplot, absolute frequencies
+p2 <- plot_duplicate_freqs(counts_table, plot_type = "stack")
+
+# C) Stacked barplot, relative frequencies
+p3 <- plot_duplicate_freqs(counts_table, plot_type = "stack_percent")
+
+# Combine plots, one per row
+patchwork::wrap_plots(p1, p2, p3, nrow = 3) +
+ patchwork::plot_annotation(tag_levels = "A")
If you want to visually the frequency of duplicated
+genes (not gene pairs), you’d first need to classify
+genes into unique modes of duplication with
+classify_genes()
, and then repeat the code above. For
+example:
+# Frequency of duplicated genes by mode
+classify_genes(fungi_kaks) |> # classify genes into unique duplication types
+ duplicates2counts() |> # get a data frame of counts (long format)
+ plot_duplicate_freqs() # plot frequencies
As briefly demonstrated before, to plot a \(K_s\) distribution for the whole paranome,
+you will use the function plot_ks_distro()
.
+ks_df <- fungi_kaks$saccharomyces_cerevisiae
+
+# A) Histogram, whole paranome
+p1 <- plot_ks_distro(ks_df, plot_type = "histogram")
+
+# B) Density, whole paranome
+p2 <- plot_ks_distro(ks_df, plot_type = "density")
+
+# C) Histogram with density lines, whole paranome
+p3 <- plot_ks_distro(ks_df, plot_type = "density_histogram")
+
+# Combine plots side by side
+patchwork::wrap_plots(p1, p2, p3, nrow = 1) +
+ patchwork::plot_annotation(tag_levels = "A")
However, visualizing the distribution for the whole paranome can mask
+patterns that only happen for duplicates originating from particular
+duplication types. For instance, when looking for evidence of WGD
+events, visualizing the \(K_s\)
+distribution for SD-derived pairs only can reveal whether syntenic genes
+cluster together, suggesting the presence of WGD history. To visualize
+the distribution by duplication type, use bytype = TRUE
in
+plot_ks_distro()
.
+# A) Duplicates by type, histogram
+p1 <- plot_ks_distro(ks_df, bytype = TRUE, plot_type = "histogram")
+
+# B) Duplicates by type, violin
+p2 <- plot_ks_distro(ks_df, bytype = TRUE, plot_type = "violin")
+
+# Combine plots side by side
+patchwork::wrap_plots(p1, p2) +
+ patchwork::plot_annotation(tag_levels = "A")
The function plot_rates_by_species()
can be used to show
+distributions of substitution rates (\(K_s\), \(K_a\), or their ratio \(K_a/K_s\)) by species. You can choose which
+rate you want to visualize, and whether or not to group gene pairs by
+duplication mode, as demonstrated below.
+# A) Ks for each species
+p1 <- plot_rates_by_species(fungi_kaks)
+
+# B) Ka/Ks by duplication type for each species
+p2 <- plot_rates_by_species(fungi_kaks, rate_column = "Ka_Ks", bytype = TRUE)
+
+# Combine plots - one per row
+patchwork::wrap_plots(p1, p2, nrow = 2) +
+ patchwork::plot_annotation(tag_levels = "A")
This document was created under the following conditions:
-+sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value @@ -1050,7 +1199,7 @@
Session information#> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz UTC -#> date 2024-01-24 +#> date 2024-02-05 #> pandoc 3.1.1 @ /usr/local/bin/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── @@ -1066,8 +1215,8 @@
Session information#> BiocManager 1.30.22 2023-08-08 [2] CRAN (R 4.3.2) #> BiocParallel 1.36.0 2023-10-24 [1] Bioconductor #> BiocStyle * 2.30.0 2023-10-24 [1] Bioconductor -#> biomaRt 2.58.0 2023-10-24 [1] Bioconductor -#> Biostrings 2.70.1 2023-10-25 [1] Bioconductor +#> biomaRt 2.58.2 2024-01-30 [1] Bioconductor 3.18 (R 4.3.2) +#> Biostrings 2.70.2 2024-01-28 [1] Bioconductor 3.18 (R 4.3.2) #> bit 4.0.5 2022-11-15 [1] RSPM (R 4.3.0) #> bit64 4.0.5 2020-08-30 [1] RSPM (R 4.3.0) #> bitops 1.0-7 2021-04-24 [1] RSPM (R 4.3.0) @@ -1076,7 +1225,7 @@
Session information#> bslib 0.6.1 2023-11-28 [2] RSPM (R 4.3.0) #> cachem 1.0.8 2023-05-01 [2] RSPM (R 4.3.0) #> cli 3.6.2 2023-12-11 [2] RSPM (R 4.3.0) -#> coda 0.19-4 2020-09-30 [1] RSPM (R 4.3.0) +#> coda 0.19-4.1 2024-01-31 [1] RSPM (R 4.3.0) #> codetools 0.2-19 2023-02-01 [3] CRAN (R 4.3.2) #> colorspace 2.1-0 2023-01-23 [1] RSPM (R 4.3.0) #> crayon 1.5.2 2022-09-29 [2] RSPM (R 4.3.0) @@ -1087,7 +1236,7 @@
Session information#> desc 1.4.3 2023-12-10 [2] RSPM (R 4.3.0) #> digest 0.6.34 2024-01-11 [2] RSPM (R 4.3.0) #> doParallel 1.0.17 2022-02-07 [1] RSPM (R 4.3.0) -#> doubletrouble * 1.3.3 2024-01-24 [1] Bioconductor +#> doubletrouble * 1.3.5 2024-02-05 [1] Bioconductor #> dplyr 1.1.4 2023-11-17 [1] RSPM (R 4.3.0) #> evaluate 0.23 2023-11-01 [2] RSPM (R 4.3.0) #> fansi 1.0.6 2023-12-08 [2] RSPM (R 4.3.0) @@ -1101,10 +1250,10 @@
Session information#> GenomeInfoDb 1.38.5 2023-12-28 [1] Bioconductor 3.18 (R 4.3.2) #> GenomeInfoDbData 1.2.11 2024-01-03 [1] Bioconductor #> GenomicAlignments 1.38.2 2024-01-16 [1] Bioconductor 3.18 (R 4.3.2) -#> GenomicFeatures 1.54.1 2023-10-29 [1] Bioconductor +#> GenomicFeatures 1.54.3 2024-01-31 [1] Bioconductor 3.18 (R 4.3.2) #> GenomicRanges 1.54.1 2023-10-29 [1] Bioconductor #> ggnetwork 0.5.12 2023-03-06 [1] RSPM (R 4.3.0) -#> ggplot2 * 3.4.4 2023-10-12 [1] RSPM (R 4.3.0) +#> ggplot2 3.4.4 2023-10-12 [1] RSPM (R 4.3.0) #> glue 1.7.0 2024-01-09 [2] RSPM (R 4.3.0) #> gtable 0.3.4 2023-08-21 [1] RSPM (R 4.3.0) #> highr 0.10 2022-12-22 [2] RSPM (R 4.3.0) @@ -1112,8 +1261,8 @@
Session information#> htmltools 0.5.7 2023-11-03 [2] RSPM (R 4.3.0) #> htmlwidgets 1.6.4 2023-12-06 [2] RSPM (R 4.3.0) #> httr 1.4.7 2023-08-15 [2] RSPM (R 4.3.0) -#> igraph 1.6.0 2023-12-11 [1] RSPM (R 4.3.0) -#> intergraph 2.0-3 2023-08-20 [1] RSPM (R 4.3.0) +#> igraph 2.0.1.1 2024-01-30 [1] RSPM (R 4.3.0) +#> intergraph 2.0-4 2024-02-01 [1] RSPM (R 4.3.0) #> IRanges 2.36.0 2023-10-24 [1] Bioconductor #> iterators 1.0.14 2022-02-05 [1] RSPM (R 4.3.0) #> jquerylib 0.1.4 2021-04-26 [2] RSPM (R 4.3.0) @@ -1138,6 +1287,7 @@
Session information#> network 1.18.2 2023-12-05 [1] RSPM (R 4.3.0) #> networkD3 0.4 2017-03-18 [1] RSPM (R 4.3.0) #> nlme 3.1-164 2023-11-27 [3] RSPM (R 4.3.0) +#> patchwork 1.2.0 2024-01-08 [1] RSPM (R 4.3.0) #> pheatmap 1.0.12 2019-01-04 [1] RSPM (R 4.3.0) #> pillar 1.9.0 2023-03-22 [2] RSPM (R 4.3.0) #> pkgconfig 2.0.3 2019-09-22 [2] RSPM (R 4.3.0) @@ -1175,7 +1325,7 @@
Session information#> systemfonts 1.0.5 2023-10-09 [2] RSPM (R 4.3.0) #> textshaping 0.3.7 2023-10-09 [2] RSPM (R 4.3.0) #> tibble 3.2.1 2023-03-20 [2] RSPM (R 4.3.0) -#> tidyr 1.3.0 2023-01-24 [1] RSPM (R 4.3.0) +#> tidyr 1.3.1 2024-01-24 [1] RSPM (R 4.3.0) #> tidyselect 1.2.0 2022-10-10 [1] RSPM (R 4.3.0) #> utf8 1.2.4 2023-10-22 [2] RSPM (R 4.3.0) #> vctrs 0.6.5 2023-12-01 [2] RSPM (R 4.3.0) diff --git a/articles/doubletrouble_vignette_files/figure-html/find_ks_peaks-1.png b/articles/doubletrouble_vignette_files/figure-html/find_ks_peaks-1.png index cba098f91c5115baa44d73f2bc567e91e02a3f63..34c1a0d9d914e90dabf862c5b753c625e8d8820e 100644 GIT binary patch literal 63918 zcmdqJcT|*F^Dc@x0-_=c0waPV3P{f23?Md9BuQ2QL89a)qmF_Iw4!7Q5+zH{Ndy!m zhbBmaG?H`9oZ5|k-|w!w&Y$P3b+2n?aCpPsyLRoWr=F^MU*1-fAwNocl#Gmw9CJ(R z4jI`2EE(Cp`-cz0Z*=#z>A{bK59DN|;3xc9lPvatA4eYF(zGQbqxVAp?!o<
PDkR=m)>Xj z&F{W@_wI`eVIi_i5AB%9o0u{^G7&FkOiWo>ncRq;bv5 -9i1zmOrDf^U0ZkI&5g5l(e|C@HP0=EK zU0vOFJbq+p<{FIBr*wc*WJqG0C^0x3Zl&1oF A+m`+)eXBX) zy|CHat WB$a~xM$I@ac1qFgWuU>69pVJL!GHa6d@Nh4! zo *_brs%8=J`afLauSTd}mwz{ @+Id{+k@GGN-l@V zF2U_pBC)uC%hJ5-(+81YdU)cY>sr0O|1(N)!50+tw8R>}S8YlXVhq@UCnhE)Umy8r zxG$wB-??)V)F{(=X`G_g{#Rk2W4{~v-Lr$_vJ%Umk8#FjtW1-qsi)qh!imn`5}p5g zv8BEJG!<2Ep2e$)^kR+#`OuTGH~mcQBXsZt^Rd==>&gQ(UnDlGB)$w(J~Qaad1O6T zO;bDLzEXTEfSFhrtYd>&*V4{2|0bB1lypUG`D3jA_`F$b=!k}f22J^DHRs?D+a|v& zDhZ_LL3n=Ijlx%lo1z$Dd(JiCyzds;7_Bc^nVb81d)L&|z;X@^wyP-lSrcojVMt=d zK1yG+^ukN(X a67>Eqi!Cy3L|Iwc!RIu3qmL)?Wy`sX1$34L z7q+l683xAvQBz52X?`Np1sDB=hC^7{*nCvks9mNDjdhT=2bXWMOss|S^6|xcFj$pu zIjql(M7nTr6b=P+8Q{dwUSz^AY7)hllCbMziP>ei{wWyAyUA_Zmdl{V_pGp;i7&kf zzoPisP{CAQ?}LTmhKR6~)YNP4t5u9OUJ{!>7hN7Nj<#5L-S?_4-`OaybJ{8bl-k&4^N&3XLuvwE#%$y^PG zuEE@3^|#rdRoV?5gz_1;85faF*YWZ3fLEMlf<$|Vez%pOsr-ILOVF-GgZf}jD;|7@ zhJJ*2na!^{OE=4vAGS(0a~speRw;Arcr6u`x9 v}OlccY&wcIJB9Xq-Kf=u;&(%%Ob*_5IPk?Z%2FDm> z?Vs)rMrdMXZl!!@D=s~qLug|%n@4Zv>qVS=U44CaW9j{>7eljElud#ffB*frO`C!M zi-Ll}xe-%ybNRCQzzoAJS8wkj?~DGo@+|v$rbVl(t1(i{NDN+hAus~1whfVDA|L=W z*b#Tqj%1r>-Mr}mTRQmVl#+b^PFJn?84W!rqr?%X!IzgGEKhciZAiX2{_>Qf;Dt*H zVW;T?EPbCJqp9gk)4s^`fKcMZ^{6#YaN#>oan3O4xZqga+XvqQSjK8)<>ZK I=%6r}pcChN_xc^&yGX%GHhxcWNrCx0e)rVsYZare i&F4{DLiLYATZ7O49?5iFn=b%c5|f 6DP_D!kgdngaFS(0+9y~r3A_Wb$tmaeX|$7ncw*Voq_1pX drGObnBv*i!rIl$8e^6&0}-hXZl()6&wS zEl}3eW1#AlXj=wLx!M-BeY(nv(#kQNdzc!DWV?nwom7mO^OgbqJTiO>@xvGaNc+ z!v(DT6A}^%=IgE+bY~gOp>qw6swZM5<`stzvhZUYr!Fh{BGKRUqoqcxsb%yKg;R8j zib_d*&G0)YSfu;<7{!R05*UK_Zp+=)J6kI T1u-a0oV6!gRoM@-(eb&HZYYw(%IhrPF&n}_&Y_E zcKuNTSSg;D-i9#aZ?KB6RNZ3!q~v5%HH8ql16B*=FHc>*q$IIr7jDn4S0Z>$$i~q5 z$DTvyn=Pv!II7J$4D)?cuiRLl$jEp0kJ{NBc?(8L-2hoCE02xdw3@A-lpZE4&g@rJ zS9-0= M>ap=U``7*l{o2 z7{S9TuW4q*b!@EudrHy7u@Ur7U2Se8%ELX}ryowHAwZvR%^xJQ)tSm+d(%3*T3jZo zY4qh`9|IXSY9+Qa8$$fquynMv0X&U@u^kg@(@iBoW`A}n(leMD({r$-Nn*!USf2IT zHF xiS-s-t3jet6v5JaYnp5!(q($=aamSY)?xwZjxT=tt0bk^yGY^-I!hDV z%{MX(@Z_YiM0i=L-B>HXK}OMd^5PtruRP&Sl|3^ER#1?vzF2x(9CKTJ^9RRroSd8- zkGo~bLZe6;p>}5b+06jvZ^$4o&dG6>@)DPJ*74;DJBQV8-)^4X*iHzylx=cc>2oxG zpJ62D3oa<5VQzUZ;l+y=Lpg1Va#4=pUGtBaYmfidcrS%c6Z{7+23k;8<=eMUphE+0 z^3<3CrNrjrb+d{>lQq5(%-c&w=QqGQewqJOZ?HE1i_7vyfnrASucAhYolQY77b54i zb#%@zj5N(G@@b7Xj4WFsGtIcOTC05f6S2Iee`kAzC;btEB?!`tZLnL-r1G10y>{>S z2fv 9|bgBBMAV(!ZuyGocX9 z&z@esz3$ybV7d>gYf WC*dVKfNw8 z4Swfo@ &dZ^CzV-eH-`pP2{Wm{QUZCrXuG7F y0! zPMw15#MOF^;%jEOcIDWczdp74`<)l!MsAXdinDyvCgm~5;LMgIQvI5tZ*SZ18{kcP zOm#FhHPLZlVnX=uEVtoTinOaVAa2c0u866`_YL6i-`aoIG>!-?a|8X%Uw3mO`UyM$ zbWN2hHrw=TCFPeZPHg#ZI1%|o*I}Nhmrd|rE`a5}wqje0ZJHVQ)Uq;h@!2PoUoPTA z1KcO+`d4q(JQj$tlE?<*J$i1hp70{rrfN87p=BOxzk+MQ9bSCkLgotAd{{M55LQtz z8uJQND6lsvF_QM}WhH;Jj8gtH>{_QMI@2cZ*c-S6v1 qAGC0I!Sa2o4{{mgWj>hbori=PA!4w|9lv999$Hr2bcoMva9bEh?S!Xgjs z^Gcn4m>(@4+f5upguPDviZz5TDflF(Q$^lW;d5euE;V;b!Dx=zY7rWlF##Vxe)Oik zs{SR*sD5y|c*dX7efHU0Xp`%u#D$dP %jdUO!XfNcK$yIF>q&8D4ACB=n4=ZUmAxJLxSw2KcmIF|Ic#x;mw(7nMg z-F)=uk?W`=qfgY D|ZxO{85 z-f0rN*Xy#aY17t-1~9-8Wf5k9%d2z5w)}o9(a+aF#`kOs2<}cj|Dgu`YMeI~wyrhb zxFL+1swMeA1)wMVwA0R_(oXxu3D^9eRbEI~Q-EuPa29LgmTO)urKn|L(Mf_6a*T z2uGd6Xz1%3s?1W;(!yksw`J?!A^eOsK8$^&A# Gw}QeNqA4${oM!MQTu^grJnPbgq7=jabD%Mt0R%0ptx za-$Z}= 8S`DECQUd8mbXXI_N-PM5 Qzrz`3>H*G15JP#?s8u4y8r z2~iEsFFYZr2Y`#9rl0rJg|7EPwlNTtCX%R>%Tca2KioH_G9j?+Dsi&Crdz~|!m1E3 zZ&K!zG~&ydxN3;5yOQidO!3;}s;a68^eT>QEoFF2wc87~zHLgo%&uQ1I+Dp={xq^4 z|5K!u?&sLMD=Mw|;o9d6+kSZP#cZ&}IjXV+`Ybd_NHFDTc&BUUb1-caJo1ewyWU)s zseu@u2`tseeh9eGG^BDYSDO1v*2hzjszh38KKj8u )6tAvklyDP3?F#@Uw$*A` zVgplx#8eTu7_w8eU2W|v+9+IlSHAg+6Id271rS|r&fz>Des67Ur8iY>K7VI9E=a%1 zWB%J^Tj4|_T<=Qhj9Xt>Lb@=7KyCQ|%=+_tJ@UID!T>~$!Uu3 ghM7+B-XI086|p>*sC<_2>^Ti%64};m~ti>cB$K#l-Xg;?p@G7pf7Uvd_*ncj&dq z7yR{3MN4e?ZPX@npUuzhjTsz^T#%hJ!F7#vO89_n;)YnPU~9RzZ3P_1Ja(Z$pqC!p zD!v9nBu2pLu3iRVx)5@XWoVUy7ZuVtC}2h~WMe`ER->>xz>LfX)jo>4vGD{~OR+I9 zPj$k>PYyBM%2+!UwJKGUcc?o#(YBD_Z(4Yy51qtZQ$b8X!CVbp+lmr^7zS-^<1GLc z2J6dB9@`7*TaJ|Cs{`r=+6T)JrY@S#%E`%5*$P@v=GZc3be*kS+*tMHX*B8R`3V|u ztG^tG2AdvpbAXIoj?+IvL>w& 20V+xeTB6m6zyN#-O12{ExGj9esQCR$e{=HK9? zEG#U-t+#&h90R_p{M2l#QPk>}%Yz6!_Dd|atMrn$fW>_PGy^g goxS z|IQI>9g8HUy~GzkEDAaPu$B>p`|15HOia811ZJo#lxtgw=SSLRn$ n`qdT}Z-%Dt$n5W;R+gglB1T7M{n@m|q=UJPb2^~uiW+Cp1kgi3<^ z%dM6E@>+aI3Mdo`mccbv^!{-FV6@ZskjJ=DzP}7;nZXf>9VaQN_qL5fA{{R2mtB{$ zqb%|j{>cWUTLAW=ZAD@sv?)he96LK;C*rH2@0P1}uP4&S#|K5?L 0QO%TONUyxv;C;_;c_c4gGm)WANq^d6H4-{6)p zrwl`E%){^K>Csr6KLkZ~ 5i5!gJbFUx<;rWa59cz1%qCT9>8q&M%k$LlJqsGOooOX+o#(l3#)g;A*yenXbm z!XF_WG?~O_od91&{l%8M_=%Q9V+nQ}p$PD&!@3=`LpFh+_V?JV^^n)-(*vT;LW?u! zcyIZ7M}|XJ*bta0+&&7yzx3d=EgA#{26jhU(ltbVYd}UUXFQy~r8ue %^Z1pt$2-kr6$3hrA* zT3R|dy+gN&Jy2E}gTVkauO9D6AqL2CyabfT4N5c!iZ|BUW7Dy@sR48 ?UzK hO>23>Pv9hV*Dx~p(bSOkOTG& zysA<2^uRH#t<8+$=_2*OF_BlmM15#5n3*o`orHNl>ZrN!z$Lm{&24S_dk2E)2M!#V z1LhntGY0F6V_YuFlfXgZ5NVaHmeOiai(~A+KQjd+=a BUP|E>;Tk<;4Z8ba`k(``)7VmJ&ODhk07(vWg;a+)lfNVncz8>#*2#mE3; z+Z+%BwIHeR>6MLdO77f!E6d09SN}Oq$A67Ncr>~T0xKJLdI;Wd1=B?ntsbMoL|>i< zV0Oovi}EFKkggd$aD*9?1*9f3Q|pd!EVy_fFcPgJ(~vyCAXLf)4(}T>RqFWB(SCpd z0pL~WoyCDT`UcqN-I5lf`?A2sEpGj)56%yrKv@JveW0SliG52yIKVOR6CobxS2rNB zshJ2*PfRqo^rWPuwBeefBqRz!7vBa11o)aEe-^bgG7q_y%RnDB2{x^it&{=+M!~xx z6B7U;N#XaLy=DPZ#%+@z1x29!c+yd#0X(1!w|IH4Wih+hHemlcL4J4)XjKf(%G9(@ zSUeo&P}&hzUsu;dztSqlnM>>VovYUHy+AOYD|p4Y9)CG_Wdyi{;>FOm)L$D|*eDDf zU2fP ?6@Mpb714I_@$pnt z$Stm}K E-R!T8WzWBo)U|E!ZMtd >naDd3?}Jb+-vtNP>N@sO1Euv6aM#WI_wSdCh|RooS{SYdi-kzGuj{tm z9y?nGQ$4xJO4hW eCCcfq-zfp0FlV*1Y( zi>G=uFq8>)#v}XzR$NPa6YH#_bwJ&%=!o zbchZH`G@d6y7S(V;6!rqi1Gv*>3I6|=`Y~zcMzC53j{5f_23td(i$*>bC7_Eo6)!L zP(xXz#Vx|ND5Q6zjpGBDy(~U|h(ci=cwDrrkkR6BD?NYjka=$&`-|h}PEt{28#nn& zzdExt=L3d4dS$G#-jmyPb@r^dD^{Nqk{x7ZMbFQWqn~6>vK0VJ$jDwN?k_<<|Hm)P zvku d^sm_b8k*9XSzG-CglF|B5J(E-nWgJ2K+zyj+PUqZr~IyL)Gq!y&b z-&@z5gRExz1fBu>`g=(CmAdPqJG9zj_RP2YP+whV{^92h5stw6P!YP2lkk*g{RwjH z;&U&R7DxHEXLhzZQ4Vi;ln>o7`re&!wiAz+0e|MpC{dOXyjKj6H5V6{7lzWBFg`P9 zJD55dnQ%t`p%O&k!>E^m^(gZtqU;M8eSbK#H-V0tgn%C=X#6ErGaGW-zxssGb2oPI z8T$ypydi6n?cWR3J_>Weh8RqCWoF{_T&jWNB>oE4_lGl33qJ{$ZuNyWk%|`%zHq0R zy@WXlkc#A7BOD3mfJ#@^(h8e pGUR8K~54UT;+#`BV5OTl^ z!{^Z??%iXBA_%*DH1|dzbXMy$%1)xZXy+WVIucNSFbAHElRo;U6e=d5DVqg86U9;x ztd $xUO5Vp#)sW9E8ncW!p;`wM%&YDEm#|fgorDPSV1k9Qk?(dRRF*aq#z{ zYLW~pDq3c=ctO14kmzHidZS`A0Z}v~6%}&U#kG_G4zQ5<8cfS4$Tk)8M72c*>p3S? z834+qM`=1TG6%~oj)AFEz(Y5`Ec L9N;Ksrq^4>C16Z}U+7KEnOK!B}3Gq0u>FhOX+9Z88M zIr;ve>#G;T IHtz1F{~pHK#t^QHP!j^#f$2HOGeUg`f o!X;r!pJ_4)tLC~EEa zV`S^ 4nZx82jL(Iu=4+nj7 zm$CRoN%CL6lsEAB*uj EMLvL zc+mQ3=Pl0HA=Uo+{HWg9iafC$on HI>uN)vkY1!S6+B>_A^<>CrjPnCi*fXTT%Bh7T}6DJ(Tq|yZurS!ieVCUvm8h zU#fn& Q zlUD7xSMO}JL(bFu`1QKFyKAFX#TMe|DVvJ}&!4bjiufQGc(-`*n`H#DA)b>k92uWw z_j!ff+;g?ZL!E9PkF>tmXse#4NB@Rdq= ~hMX#&J#78d8ku)v#0i@QW3a|)I+D>B%>@gWXA5{z{rFQ(q@o&Ob z9U`O(I!^*K$N*|ZOzs939 lN7T}^awW}>FrsZ?m 3`_Ig5P+Z*M+SE|j85LP5 EBh(9U(XmkO|ZL~`|Zk+7za z^<1-T|0|}6(vnhNL^SsjYQn-kcIPC?O_26%0lma9Wk4bRj $q zuRE36g{EqW!AKl8@Q1PY$sTp(TnVVD@ip+N!OhHe1r-%_bvD1Ab7iN6TgaSo@Q&9n z>~;I^u`@Bf^zP8)*GkdawRofKAkG`(*^B*t-mH<$)~{ZG5Hx#uRnwd<1L$ohA(v5F zI9h*o^WS~-^eO9ko=e2n=F}w$kTiW8-$cT|eUhLAx2o2^SDLkSWxip%_FZr|;u_d& zsd#=8?k+_~KnhOr5}knI`L}6eBw1 mU2HtuSJ8En%H!(-T2Q1Qn4b?V{= z4!MeOUjCZA^IHEP8GbT=8&2@@O0^|q`AXV!-%HcXJ3~&@LplSC2VrzFz!*{i%;#!P z`!$ITq@B|Vv-kDuB*`DCiKqG0IVL8b;^L={xkr)H@r=9#dK&HSMzP20G8;Dh=&@Md z`WNQA(Z!-D>5ZUGs@B%0eQ7(AguE0Z-_K!xvF%Dk=@dxhcDaK^4YB&vB`LPR@%HzU zjt%E$EqgzShmDU5^Ib+mN5IK;=SWI +*Y50*si?%tm^>dJ!g6LV79;-_6}7g zI3X4P8sSN^UiiX3RGas-Qb 11y&aLTV+|^6wGdNQq#-&g6cl#QFtv)?bIh2$?$kcdtfX zYgdj0k`YYEM9eN7o+4eqgL;8R&a+lt5bdZ;iZs1b&~QA6_UeSvgRtENFf=c!Uww zA9s}7!}s?+Bj{PPyXA0tW9CjV-AUqT(!Z^GTJq9E%emXRTBJy`Sp~$W#L}B54Gy4& zOQbdOLwEBv3tBdfBfAIO2j-TvZXcTBcoEd&;y@ptZH0Eey r}gvlj}X0rtM)q^%PJ-QH?%yi*CA6R&{QdINU?L=nh7z f^)hpY+GN9@(om>P36?YHU(68!=>h6n6a$ z8>{z);^{DJ`Hpe5J{xv4B`qZH_D}9^om_otFgTaF%`iW?T8f4YGbUe` je?lAo!JIBt+D;$Yoe#wiDX l#V#E^L|!MD@LL-BXc;7Hv|{<`3>8(9YA2hX7-?UMqF{2N zFW&Rtogl!AyL-VTBDdE^it;?4$b;bJw~BJ%%;08*j}oBx*-5sB=$D(ToSl@~n}Oo! z>#t#!QQz_^wSInm^QNwqGykehkBLG!Nv|!DUMIK{YkX^6Vvs#-)&=Vo2u=r{B #kUwPO;$^Z&n6jUSbH4 ztIk6`=r#KSVHIx@e9~Z=6pSrAG)nPV%Rke8JGeB`8 EfkhmzM#mgpdjYp z2G4pvxe0T)rJ}fJ<`YA)I~dS}7caW<+}&`xjBxp0G!+Oh07|uRxiGE!V5_{nlRI`T zq8$yK{fpgfSQTk$<=a|42KXj*l8#c6v@oCaXxh{K$E&m6s>!wK5_b5>JyySx)&3tt z!;nuI%$rVt;eo>P$t<}VF1Fpx0gtx+<~ Osk6-L51xEJm? J2p;;Ho?rz!iU$A8{nGei5xk_7~Il`1Pc8?+Qe_K)<)Fq` r0@d!U4w1$b$~8ILNt|G%6%~}N_5CK8VAGMzppT-EiW}&qOxg#mAfNm6gBauN zO~ZbZH0P->Jxz4|hR5aK*DF8W2L;VYH5!e3c@BrSWW(JG(9=YEcEbZ)3F#ewb1wE< z@SE5TpCR|N&u#f+q0O0wv@Lq)BxzYl;@)~%m@m=Fv045}?EUS>uA-wj+K*0a98*lv z12YhfR%N(kg?4sQ35_}eG0o-37_wplZqd^5_+Oc<_RP0yA5Aq-B`tAM5SF-4(&lV- zw%TlGP|5&0zg@~;NDdvmte{!DXi7 RHRb_q7=nUP*l?O8I&4vj;=_1M& zF~MUSs9JLeXp!m1n<&_W?gH}#ECimSo3mA!P@~Lx_3EqA<({jJf<)gCJ~MR)EFDJ1 z>x7P9le9hC7EWCv9UreOXmXpkv(rKF=C1#s7Z}(_fD$~D@2$nWOfernF3BxHlJ%iz z2GG+D22fRw=vrySxj-@2G872hEpv4$fuaDEuRz5Cz5DZYg}j~^KMpXYZwnX0UJUg4 zJ61+!DU6SvBJ&$9thU0RZg$TMWEOcCP(GT7s&icDUg?`JtpYQ`Kt+XU>hRh8i-;3J zq%lw{3@8gMC54hcKwU7tqT%$Hq!408aV)(!jCKof0c?5cr-1US^n7dv6)8`V<-1o) zzRCcRZE}?dVqzj@TrZ;%)evzv=ahwQVD)OcG7Vx23JR(gw6!uHNRzT RVRdo8*k?YsVUw)r?(mqi6rf!ass?VtT<99dg((X1|?-L(r7=j`` z?@WW*8Ytb-7Sq$#rh^;@s_-2V#sBXKm&s qFG4tShB7OgE`ZlaRIizay5u5{ z#w-*YytCS+iYLkTScxFs?qhnozsFjz$D@^1Nc=$+H#7sxMeVFbp^ku?P*{$11rcrK z8+|i_D1r6Erk;IFmXM~Me^bh?;DWa8*&m|mDI+ ZfLlrcr^$R0ZuD_9>Q{;1`; zuuFw@agyi*T%Ly%I^}-}>?JrR0hLZ#-dfa-ki%GX)+{RdK&4>I-NsSs9T~AQIDb@~ zfwIz2-;V?S>k5VFY{mQZ-oR)+yzNcn)#S}$ZOm(ro8+|b?B(@UXM-Mg8?rOSK*Y(J zx*rBY=BBKEAEoFCDk{dcuQI~td7wuI6&x1VLRK4 L&sVgxK=~asEFRt^Lq*6W0m1XZ*#q;=+e--n(YsC zdmTRy&&@%?um+_b4Ql vd5 zL#ek5sd1-f^JXF4B8|ExfR&woEFZu;*Qsq4zcHJai0aI@85SW+^k3RcD5GRvR?578 z(OjnS{=m0*X-WOX0d`gn|G{e=zxZ~M{N#x}R>u%m>pdmrz_ZpGTy`2&26_eN$^~6} z>FuqV{V<+UWU*NiYT_U_WWiGgWIRg7fK@c1KI-`E{J}^aE#5_G ufF^}(pgoVS+h%uI}QHbrllgGM3_WQqiVHIK>3;YBy0s&pvosP)*wdqCKu zlBB9*+rT#m**sx!AbLsJT9h%0mkUPx_8=kxfqKp_Qq%y6o{NY-WTl^DY{GA%8g%qG zFmv$sT(OFTVs>wDEUMVCHwVX=l3v6{fHK=!$WWs;9dDF0Mr~-Tkk4a4`60+)@sId1 zhzXOLW}x(g5ht;Yy{4Ua4ViqwnUaM;NF|%+pUek~_z42`sT2U*RL^c2rw^p{7V(9F zc1C}dp#mA)(72_xJv{h|(;s?b3RFfWf$dG}xjyvZ>+1`oPA1f^6+3eMu`k=V^Rs6F zcgbCSWY+xkI|_)QK2=%R!JIR7*Dbd^qnW>}{P*9!tXCQZ9~xV>0NBaKFp>hqbnw{> zbeaK$07m-rOjsLQV=nx&dx;)+9#MW_xt%`mi1MfTc{;o39%70MI6vBV0LmDb2k7HT z9wQn;nG3k7N$L`o;>nZ1i4xE5Dm 5ml(d+Ky&<0h`{-n~>VqVN?y+)VTP12I+iTx$7YqQj5&m5=g zl)E~1H_xwgk>pTDAy6O6G!IXuCW!^Ec;?^l%`@rBOAA&<0Ia$EF!q8H3+CiSIUAFf z=Gv?SB~( %q?uQ}qf384bA95>^zl72qu;?F|Azc(d-cAmV2q49xkLcH zgvlMq*p0u7q$-X%C6i#=0TF3R!g)5VfYtQ#KzJe9q6B(q?M`L53ME0|H@XC}!YTQR zm#3p~mth)qw3(Haqfsy+L5D;Zd!_?Ij5JOD_*L|;K%dX|tDKFwG&|p (_I?^c)F`pDgV-oHd>1X*RX4ubCW{DCeV9JbcdmzrS7n!M0&eehA}!>* zS!u;%g4F~1qLnZ5Fl4ZEB9y0vj^2$O*mT!-%-!0&L&^uNfV*fP`Sj>KS_Kr_U7+mH zP?P56H9W6UpmLxj)CD;llidjZ5v)-%_gA+7OK&I}R!#;~+V4{f0xmZ+K-!cY=5=~g zVOG>7x#0&$Ylwi@L{zmn>Dold(+JbIeAJ}hiUHN<^if}Zc6@iryRUUR11e5?T3Yf2 z4E a41S|q540tZQd9ia zlaqZ79O{k|ltZs#FJfXG>VpWH$I(J1(1}se4k`_-Z0vd_(0j@3H+f?h1Ue lVv!$58!4oe(9^U^eV3hSt!0M^kC(K1R ziRrIsb9goE0}V@6-?X-3Us?`6Bu_D8F1loLOX`Qzpz})%Z^6lDdoJ#cVg2hY)mfJW zmlvUB5!+i& Fta99@IG;O4)?=kjxXuG;qL2KL2L`U-`PD zfED4#!Uj-dCRH!U4{b7BX6TPexW6S+q9}8x-05evp8f`OEyM!cdo=t#^w6dgdIcF- zynmoz^w+ZjShu6tQ!l^#T`nUUXyZocQp)`TjmQ-1*~smak;zigmE55EHew^2n_nDx zq+{KqvIh!r7I8bPxI>%58%kH>%F9}37RDdn#j!g{9eut8#cbnH(zjOWdxZ3c+w+I9 zPnZHsU&(FQ{amijASbwW;PGbQ =@GK{C!RE{Of{bP zJR^MjexC1Sch%Ig{<(nX5#lGsRb*tM7eVgcNzVjS>E0S??oqHExK nTd|gykqhRT{%k$&ZClv$8k+Xq68EEJSJp=4R+kK_~l&AJWm)Q#*5LtYFPQ~=SgG*g89*KZGXo4Q_1b^UYi2Y2JcUvYOT zk0YHXBfC9>Uf*Kz(fGBG!83flui_ywl2sui(?il=>M*6i%6)jI5nuy(lU*s6`~@re zH=mqPM0QC?(BXUOGmXI*QmXv-Y~T0<*Bs0Uj=aZ)j2ZkXxd2Z{)m0tL&^06Y)0^r& zwEJkXdujGx5a7uKpM%9kH`Q5BH}mc@mdS1xH~doz5SzuurqeXkMLOPOWV^TbG3FGB zQ&RseR;8Els?+A1)Qz{hZ#yjj!n_s2Mmt$FcmzAuLyI5zuOvCqQtv05uqKle?nX@5 zCO)J1Eo0J^*Hhzn(u;eSd@T+u9D6wyldB`+mFoHMx8^)Vnse*ix+9CNiPkOiwmfU` zj9VNu->>fuEbR-+*qh*dFzG8Bt?0ikEjs+3nB7Z0bbB~&?=Lw}Qmxu@k0SPJmN_Xt zCnF0%0{#mL*f00c0cKU>$iP2a%LB_eZ09mMzz&k(q$^Pt{w;f7w1(F{wYpKp%$n5H zmB)DwPlnMFLw&B%{ob}qyAu`0I%-!h;j*YHpmokhtm+_Qc)$#3TF3u$Ba~Z>cap-y zztS-IT{OwYgC3Gr(D#Czz)^qHB%tzCa+ }Igp>|@~y&Pqp zc)J#@1Aj)n38Oxd%g?84vP(L=j}WqP(CRsn^}#|0>#h(4;x5B=NLV$UHj HeJM$J8bj#TgMIj;7G*)Kh3{oRKkNBP2Fku}>JjfM5^7 z(KxDQKA~{ Jf>9Q6C90~#Lt*tSrCCC{_AU@k+c}(l_RPRzXr@JzU?y!w~^u4&jX_{2b9c?On zSO`CsCGYoX`| w>Fzh98~4I7ERR5XLM*?f4Q@la8zEf@eof4SZ137Mal$DW)yr zFxgD4q4NRS4osl&y9oMG)O2;HMhb3JVseY|JhxofXv6k}R8xM?S|Qha$?)6y2$bzF zfp0t{FgOiSZH;(rC+1o86DGQ$y*d^GC|M|04nplYGcHiF{0~%&wL;nLkf48OhJHp+ z&>4xE14o0BJT!V#T5jj;v5N5ekAv`ZUpqOg7{-eUl}{LHg07La5~l?_pc5vbNoHwN zyk)dsV5N&7Ei`|p<@S%@RHq}@?%!%WinF37mtk; (7f_EtXoYcjpWun5Ni$4zBn;x)`OAMqmIir6!C^O;7 zZ%ggD4NICfYfDgAhhQ~1Jw07dAGOulL#O{3)VM6T?2k4HWux^e^l;3${k=5d$#07a z51yHQ$bAkGoU|eisT^gi59}QrmYvJoHXQn(94w66$fpdNV%P#@*Z7X!&bec~aL_7~ z$KpT7s9B eYb&JRHhamJZU;-8=^mnw3-&?pRb{tVvMw;s7#>P#NY0%PEik~10*>Hq{U6aTC1A)xN#UlSPy*SQ2GjNdEF-6cx zFBY)_Ob9b(9g0auY6Wj7%Q_tf?;mqP)qnyEDQS{P_7q2Z(32|{(B9lUFy=a0RUXsV z(=(3l=hppnDe$KBGr%Y*y`{-0I3y#B)`187=>!x57J)j(3YXhYsAF28C2|Zs!WK?W z2=Vg7H%p^{01!z!SYY&x2uv$9& zLjOb}uqhi{6t~~W@5xY8i`NlnY~~e*E#l*=yL@ts@&0cg8?6LKy)}}Z0JN2^%{LaX z>qWrvtc$s9E#W7iQ+nR)bTn)H;50S49>?XYXFlAO_lH^w>D}U3vSu26HrnMd5yy0B z+KflvnZd_l-a3nkK-D ;DW_7 z$BY**4#KB$`djnMme_^-W9@{~ZnMVSVjf(P*(c53VfoSI YF>eVBTd!CgLLj F|5$YNI3g(D(`L5SP)5ox>0e7vmaO48EO) h{ z ~sT6*UC^Pusgu7FCYnM$x#-M zVr=G&{t@5P5d1Q5ki{&|i(F5|9wobgUMPf<$9f&kd#s<|9{H20x4&-%@V$IRs{bG( z6Ne-}>-9&J+R5>ETkhephp{jw>Cb5O%Eai~Z*kC@t3L+BWplVyS<>{hWhrz-1;jx^ zh%y{C6~W1kvo~61??|4oFnPDVtVhA6d{ett?dQC(9_?!WlEjGL@ s^5Qn=Cr$@X{Ut-$Gv>i~Xxhh=w?@Gai+vuw z!pph+7K6|n3yUoC$uJ&cf9A0i{jFpzZS5r>byJov{%mNB5aDy2*1@!*5FN_vSHX^{ z%3pYRMekEyu*G5QA80!YHrBBvMjEC8Z9d7<(8jaH@3;a^xD#4uKfYBG*93R~Z3?pn z=c7Ny4ZiTq-_Los_o^zLt(#?!<*rCr5!ivGS`f5o*0X1kdj$T-x`vv%1LDwUX^^+0 zR%tTN`Cuo2O$&qYEh&%xN))BZZXoIT8NqAl*O3hX8!$PxSzt|cE~Q}ASkqA)GyJ?H zkFlDq`5}N^D16UNPrrv$c>x|}6+DXMhu6&Ctj{Zr@PvMkyf3>r$XbzN7t>epK}-4b zo(zkwfxz!{jk}u q1vf#5Hm{v$O1~x#jozV737bx|BI4FW`!dZL9+%LMP5D>G(Qc^hq-}X55+iy+& zlB 5zf|{zU<{9JyxXxM&~oWBrW(M9!-saKue` zll!-(9et#jwDQbD!P@Y-ESuZAVueUP5MGf4Z-y+~d-L8-*r6m^%B}DlR~GI_+^(Z9 zQ78Wsz8(6UuiXG&wn&E7%`s>ReM1y
Vlo(o$Vc z?iEUQjusI8-&$-0@$8eXK0W&)CHb_^O#p?5?*>6Y`>UsSLu@cU@hoXaqIFhjXJrE{ zdQBfaQijL-84sKmQ`x$41Q?|HIFQupSm5B6j+kJx) zVrtKjJQZXL6u9k>-Lm~-SGS>lh4u7WN#?Ws^FSW-XyHc+r!9XK75|4y`LxzrDPr2r z3Lt8qdml9YCnl*Ru3x9Ry_%(~Yr}mG&(p$v7%Ry)y(c4Qgu7^5lH$m{KT10+SJB(k zlk9up q*=zj-p%8%Ne{q)xX_ UZ)kPWbD0mr9N|X&~9m|2nyocyZLe0=p z&kOxg7o5m_-Uj=;$SN>wFgUbJb&xT;d_43z4!#^BAFx=(xc&H+_ztuW+_AOIW_sg& zt$us~UzTUy9RpwHkwi& V5 zr-!lO;o&S8)U!Ph6(Jk{PBC!_I&gn1nCUr>v0z%^qawNe**!g4^w63GdXJ)8^e%3T zS*^UZTi4Ds^Gbe20l$9Euu(6m(3mXx{AsC*-j MS3V&^4OOe^%9t-ChuM&3{^QKA2AFp%4BR=r)|okD+B(tpDru@^Z2 z`l7ZM69epSXy-gLs`aN2h(m!YSoG3JNRJx`Lp6szw6dl=jPm;onQYmfZ0X)$=%16l zlhM! cgmgaTX?%skr2vdjcj~0O`|2)eyv=cxiCzd% zCfK (kPG~X4%T-sygcAn{Xq88TR_BamgUogQtdl4 zrq7W?y%^mK`i-ICFh8q1bz t#60<{opMrNHy*Poiq@=k`GuEm;AW0g+1y&Ykm*cauRa*O> z>0uB^_+N~@2RN5+^gm9Cl0C{SSs9_sA|n|Y$(Bt hU_gnAr#qri>z$2 zf9Fv?-|zpr{_B0!=kn?8{eJG}e$IXFb6)3lUU%9t55qv7CbI *E<=8B2hy;9 6WPz|E#t 5j Fyz5An;bl1%SidZeDUl}!I$;X z(v^G1yLI_sm`*>&EwvGRLCgKf4unWFKprLm1jbSzU&__4)AAJ&25JK0NBfyYN^eQ= zj9Pi-RZL@QLTB%L0oP9;VwMhyJij1n>w%tOfWf|LB@*_U%Enp0z1&Z0S$ZLzdKQX9 zXB7`v!BFx4SW}}3VhGod91k8Cs73)hgv|ALGjV|M$^B$#P7;NNYcfH%Y6ML|yneE* zQQZI{I0CvYzEQVSQ$Sr!i>+oWj9&U(5+H%???Fm0QN8p*4SG|{Ucu5(VDyh-{Wpzm z!)2d?dRFoO*TumjBXXZAPwJgP%Vr7s_ aeuZ3&dkx}Z-jb#BfOdRLDU zn}aAv<`0I-*c=+R5t)x8CyU3~A3xf4iC$fRZd#^_fust+_Ey>?88x&bhq7e9@=vCp zVc+od=R4xx^H?VQ1rVS=&xt=+g!( ((?i++XSvzct4Rn+aysEBmXFYM1M7$t^ATA&(OotHC zIW~Kg$1RcyL~xtk`f!$gtlgXhB{6Y237h$jZQEl|Ns6ZB2QCT{9p6{Lu*~GX@`Kik zW=wo{yH?)ZylsB-zfkubM4|)v+H4XgMn-G4AnvObwgvI>K18mA8!zw0|0b_iCbd}0 zz#1EYm^ntDJ?UQ>jv3B|Y63));`ogbvUh7zs-Q@LI4L74v=1Sgs4}yc0bUa~<}0 zgs!Jb$|*}5mJK9f(DNKZ>$+PtvAv~|X<4%k*v@l-P14g30xp^2SuUt?O8!MbX^V$c z7cxs$3E;qa9dB!&C z&X39Mwb5~EPi{URB&?RgxQrXX`q z6c{nt*Jn^Juvk_=D84+raoLdrGQ*jF*rUgWp^PlL5h$r)dN+cUm|Ge&<}NU6?@87@ zNAxI{5WEG}fHr&u^MGzGLk`7xEjG&PvyWTPx1;CN4wdCX|F@LsKwck62j)DYEt-e{ zvA18~xPCxGV?F>sbz(51GX|dJSbUB)Wx2M3+pNxiS*a)<*7GCit6D7-HUY;6btme; zPxP2xui)k5gN%<8bjJi9YA21(h9OUpfwrm$o*t&Smb^1>?iB0ESdZdq+XIRR`@C~~ zRkVRBVDR$5nv%VKiReNP)ZP@BBaK}p)Z6$c4gMK^1mDE@aeekIL`BO9`j@vL*2=D` zQfI6ElR~=ychCy~7SWDX41sKRTnEm;yuJBeAIEZEf=rdblhVR}6^6Fh{MJQi66AW` zL1DliBaoN~5)j#0SzQ2B+k*Vz-aSm&f;gOA52%4&HVXUP6D3nA@I yd*eYiw6_q7Ok$V9IzXjML zw8taaa)I HuVG~HZ0P>HUkmu|C `sNYGb_*<2Nr`T$u`S%X&*InAe MF8lUc#_+|zRUH`D zigGbzZ-|@V1vwL_r67W=3GKbVt2br%p`-(QH&QME@+X&GGZwO7ql`VHJyiTYDCBjX z&FRlu%k#0pkQ2l8yWm%m%2}>PrTn_11{4P%Ug?4!=?h2#P-H$~Z3wo@3r5?%_qw!Z z7!vOoeR&yfX1?X6x___(X4tAP5aj+>jvMJB!1kdB4~ml?xgTQW)25G%DBUxAigJef zU(r^6UT!g#4Mex9iS|B}M|*i=@&c WS?I%*D`XRu3^Ed4sn+6-=okonk6uiRs4&W zA{gPRAi^}KNknE<)kttKieJKvuIE5r;Dy@~x|_;fLjPdvHrQHLKL{QfBYW85@^Y`> zQI8-a)LGW=2+46k#h|c(`OFzi(l58f+B-Nb0n*rmWIJ*SE){270MPDGgs61@!6qRB zk%Q1aFP|Tja1Kc>G28_>LeFf?kV1UV4^x%(0aVRT{mW_f;TYJ$0}%WTZ_b0agObQt zkLl)KHL``bEO6Scy=^R_4%K 65_oGY85H^B~1qDYEC{CRFEPtvftfYHD)+ecIYj=8qbQAI`ut13zpn9iLfVs80)r z&5ESvbt;&fA9^6t@+c?~bm!nrpw*a~o k5zS04)GBe1-fep|Z#(%k) z5Gk;b-g?Xc1oonJSZh!Ak-ezbQjB8UzcQVy8}J)$Op@>-ahmE|q2ipUQGgQXiC6q% z%S6z?R9yu4*?f_7htS;2%2noHy3ZhvT=llyntW$Loss8_$@DWXcH{IT=V7lGY*Xy2 zr~5ZW6kgs=C`qGtvm!RKB9=&Fv9)0DN|=}c!uWo7a;j~$`L?q_wB&-#hxiQXx|`o_ zwIgYLIyCf8Q;q)xR;liK60AW+qYUKi- @*O0XUTkwEl?nTFgtJz#=)&GSz(AI;-n8<@sedpZx@jE9+o3pKx9eL-gM0!N0 zzD8$3!$_TM?!ix+v(H(dzH8g?o_6TYE?#k*Di_32GAhv ;QkY+Q5Qq>1}97J z+kT7UU?vFFRQl;eKhO{8(dmd#9zw&_#Sr5v&My~C#efMVt=|3jjdbLrk^+{?lRsZ` z70bGMF4?g0xBPqWHN5B3)0d8f^srUjQk<`CSfVA6M~asJz8Bh?FZx6;qMXwzmW@9U zHQh5)mQhjpZ ^lHa?>~MO=paK!K`Qg;LuE({V4XtGNb*|0*v@_mQXl)xlnJuX>4;iLAO<@At$< z7qFJ0|H|%Il*s3ic{n$I9-rF`*hzU~hx|x?7zzr5JzN$=`lu?5h}|rGdKGcBvyK=0 z{;oMcO1NW`mWTDGEdW_EEBtTQja+yQZba1cxfW~M=Enc!3*&;)mTZ`b!jv>Ae{eQ+ zN|AJ&r9~L0*BeQ*zeV3(bnbn|AJya#fYJvz&Q^ytY{+Q!MBLU5!>>5{I2{-G|J7tp zM{0d(*AIQ)0as(ts!NUa!9UcT!4<9AV}e3l=DGJ0KHrtgM(?_H$;%RKeBVTLVsQSg zDA)f0LZD03(jziYF@-UdovZ9-YfOnMd5!!}|7R*ZIw2b4_Y}cc6?(IXg_@tH!N>LY z<4Glu{Rkj&Kvx4FUNWyuu2=Z%nY|!ETO$72K8@mp&i$F6&bX&@EBg)k=a-jAEA?0E zU+yK`J6qxe(1iKt+fzb3oc6pNEW>vM&s3D#{6sW5_0O0sbb$1)#e^?gxn9fucxp|O zJ_d}6t8QKI!9ARQyCelF+aw2+RT;!iehUq~UDf=b=`e@s=nOz*yPAXj^xfH}H3y@) z{fV&Mt2#6+r)bY= zL+P-9*W@~Y^@qAz?`5J_bgO+kAUfnPz?Ag#^m< c@SB}2@~*|KK-75Zh{ zkgvT5o*|n{1*<;Zydo_~>TktVh!M!FF8ZJJ1D)P_Ud_&TaQ)Bv3}9k{rAMGE9iwxL z- HOUNHp1 zqeL5B=08{>-4}T;{I+G_@EulFzNe?q=kto?e=hm-PSy#S DE}CgLRk=jxCmod-p=vE9Eyz0dwxboOFtb(R!T!&b{MfQ8s}r< z%YBstoOiE%wm%)G$1`YH`16Hmt*D02aoK5i)gbE308$Whg!oNwYZd3p47w%tji3KP zGI$ioNcM1c{cDzCEExWbw>qB}TYviW-|XCl*}-MHB_+cI-d&`g&*<|uY)oMhQnLR7 zeMwv}NY8iX$KuQ)qK!#~{9B}aZ`=OTW&Vz;UZK7neKqM4m*e2%&$G1yRSMMWUv9NK zzLn}n4~_=ja(4~kzghzcVgf#1gOk`{nhG?CFFj+3GKfwkUqfLK)q*;h8Zur3)gnE+ zw$i2pen7=@YCzSm=)Rfmb-*@KfPUuHc=++}Hi(6lb#C&!LcOWVz*p*Ca>e9N?@a5L zN~*Mr%3Ke25+<}k&)t(d8ad=4329yn5&Aoph-(lWUhgIQ%)3a6uAN!iu>G>XprOjL zo;(dY`W7wW*oY7p?$bxW;Fg1TP5@#&f;Ak0s*ais>IvA!xM`Rv?$i!IG=e}R4P?1b z5cmQpGNsSUT*e1F{|3>>k|5EKy06Ij#l({|BjC;AV&HRY-#4Eh&rR+?*HAwQZ}XAp zZ7)G{z|y~f3I*NI4_zlj$-A*RF>de<%!YdAIK>+8rQLtrJ&$MLG_Z;?+A`O%h_OA{ zW^ZtImR9ZltL_q!L*yC4CCZNmC=m`XWF%*-a3Nn{M57PgW*7}?877?QE9r7Z~f5EX-&LY9AhS LTL_X}NBtlel3)yz| zTY{P(BBcFS^z-P3cn6DGf!~vMsB{jG;5=cT8$m|VS80-gUojYp1|7z{)R zK?yX?auF^7)M%m+A{a0NmO$lG+4bo7RTmP-L+fbO#IC7{NjIWlJTah<6#-JT83=J0 zKL7r&}WVwUw5Xd|kZxhy1JQZBB?vC{q&}EN?WTTMEQ03q*$foD#nO*WCz<*E1XU zWh;T$Wo$&}JeS$v?Z*lCRYB#y8w!3I2xPYp$GChzR0ao3&nmOdhQ&iiwf*DcdC)BS z4~syqjIc$aa%cqb7{J`)Zm(8^v^ BRpKB`1W!P$jx*TQqinRcb8X25GiivYr&>K zo8<*@X*vl2nm{zM7=&{Lji8GX3J1*(>d+t3tll*VP_9V0F}a->z50SRhHA1YM8be$ zI3~dKxp=HS{fwmTs n9cSoiBk3M=Jr0;(oVIAP?Dr92{a|P@euE=2D@0H)KHPSDK&? zIW&v7J*B9&a`l8{ra{z{L?cE+SzWDsX+?9@L~6;tCNaR&;gfS_i#7O;zW%=CvOJuu z?V5yq^)Ru1u7!e(P_mx8^4?s5y=%khZXu^I$AxSdCc+XzuzP4OK5$8Rv^=ymvYS#0 zy|ohE&>&y>a?`K|$SzKBAQEEluvCmdxc1-(cdGBBic}a7ihJhgDV&!J)k;kwxuJ=P zupeiZ%M} H1D~) zy^~kBfZU3@i??+UN3R~XUv=7wFK!9{`YUA%EjEel0L5Pg&7r(G#$OVCl)p&JW~#`< zLna&Z!4O6@DCVy2stP0yfGj1g1e{e6?o?Z=*OEYG3A*f1c#z8 VGM$Iol z&uwJM^UX3g8u6eA+Lh7DO{4%!ZdqM8@f><>7rAbtvu+ VY ~lJU_(CClG~Q0Q$W6aV#2PJHo~ zoVbx=j@ -4_g5c8jSp|<6;+PP1}n;zH9HuYx_BpO?S{SW>tA~JFz82DYEbXH zjL>EQYh+&QCvQw1`Dn0yKu+aRtFTJ`R8_SN2Zo3tJ?8lwpbOsxr@&=Gbu}A=GUu0| zp85$Q5fJ5NMXH~my`GK8cRKECl-J3)735cf9__ws8R$fxKi1gFbv`(bCRt(b9i)As z=Sn4gHTOj;**?_cxAu3wJK2q>JL$FX8I-0w-&W%rE_IpFM*b=h=5~Jx^ f$^w|3DVJ)Cv{1lVI0y0M{7xlsOv>22^V6twIL-1G zs5Ja&XR8|}Tx))Ihb~+KaCA}X&?BvK=Uoelnk5qSjrX-0Kn6Y%fKu&1@0jM`Ra9dC zUYuQ=@kcf`Lg7@3Dy#dW3(K+s(cuV6fRCw4AKkY!Qf~CU%5q_Qx4a (>uYr-P$o!4c%X3VLjZKBZ-GjMI1p~g*8-=U zt6r$9t2@_n8-63n1+1#dVfDA2?ub^E{YqGxR&)*aEEfq`Oc0I%-+n$?NZReAs#kZ+ zA _;qH)z47q)ED%S|N$ r1q*muz+;2INldY1vKdU=q_ZeS&DTMdf_0+X^rh{t%3IfPQJOs7UAI}93R9%mj zv{!A^?I$)tOGJ*AV8Ow^{C`suKr8tpbcbw{!Vgu-VYXkOalRL}WZsjVymhRrITvo4 zVLH TJ>SCfad$V8J>Dp0h|2(N^FHYc*-J+-M2j#j-<;u2@?8VU~cbw+3KRD+8 zt3L=$kDn+AaLe4Ja4W$vC42c}0#PeMVGuXCz9s-Nv|(v*Owo^?z5gGii{$1157LE1 zK1<%KYV?Pxo0jez372{r$luA )z)BxmusAYkU)t} |bT_jmnQ`n3gzGie%gm+u6s;t&+)bjr(&?)?EV=93#f}bgIhA z%iBony^<`tD|3#Ee%c}5Nk(egy)G`@Tj>2*)=u yKR}Hp547l)ps3aZBqfC900%5Ghdwfb1A#t4=bF=n{3wG3#FHTX zMNpklhCK-JJ0;JWFoDwHj8HrbJK~0xI50NIu&^QeC&py#75|QYsN3?anL`HYSY=II zy~|%$2fuxgqf2TAT_>lUdyu#JvfD`}>25lbPHb71QCEAA!FDx6HB5|)6DGxoa$7e^ zoivMNtCLiIuX=iQMe$*t@X76Mg|MBi1&hGdA8%LGODqlyOYO0K<4TM_aZ9?{U!D13 zpeAjmMY{Jxi@SVa-<*3C65}V0M%vX^Iq&{Xn3%`9QD3VY02R@>_oiELc7zt3kMc(A z tw4_JYpKk{vHf z=EllPp7odx?>8KH9v^pEc?FT$y`iUcN((X*P&8FOQF_9^6QPW=A!e$L3~)lQ(f<*{ zXmR>|=MCEx>E_bon(u1muEk}pYqjW0e4*ceZhd%cx;_7WiPK<9j`!tZA(_$>?|X>3 zZ+*x)KMu4&erRwz?{);;8#_zQTv 0jj5zZ?Ux&NnZoNqGAt~n?%0W ziL!vDcd7FrZYk2ZM+zD_f}>%_m|27k-zV6 zTL&CZ{CTqIGxu;|0oge`f*F<|gTjJ(WlWlL0U*r{mzx$f&W~#x{6Mch_ykoV*L03BNR!WMnI$z NXXaa`qpGtiWR}&^#aRgJ={IbKTT87Q@7Qu4mKVS z{wSfaE~~pi4X+f@AXK(4EaDLz>`Bb=N-B<+jKfdwzEdYY63XaN%A|hp3&Wu~nzt%g zqNQ#fGPcz1i7luxXDKVmd99qzY8(Irs!?cRDwglm4+0^U{Bz@`#*rqYMJ4A)qV07! ze>HR+Z{EE(>SfE#k@|u^lq!MO4JAKL@bwsTxsFsj6MBsZ@+vX9GfDS8*(emdA0=-x z{_+MjsF~;=xn+{9DVN%Edp5epJEk5GrDS~xXdy(&$uw_Zk>V>D9s1UO$Si{L!{|lQ zi`4Vie^p#~F6L}ia&jO2dBqJa2K>h2o4C`myNsiiPUO5~BSWdtKFI3|C3>|82N5&D z8m9F >>odKF)pJjyl`@OE(OoGyij@Z{$6`w7Zf%~5n8kvlir zpPmwo43 W%1B;*D zIkf^gJH2`-&WBBEoL|k$vVU!U8f2gdN@>x*Z(+nNd--wV#mR4vaJ7EBV7&U%8+%no zyk;m!J<49^VNVgc#XB*ZkNrlC7z1N|d@2)fQqRx7$UGnt_U(3N4o2huGr;5SWza!C zS~_RQspeOQ0}@T}`tIOTj$H7ZmRJ0d!~E;fXQ)J&RI%|}?{Wqd8vHWfp-$X&bKPOV zx-iN?CXP~2rpsu5OFh_7osw-R5knD^&Mn`SzpUJDve)V=j(z+aJ_3f9)fT(AKaDja z=D3?X{+6t
+nY)Y=GN9QzCek}W(soQCe*e q?-2E z{Dy8>zY Vwx zU=UwK88%t$vX|m-78amb=JoBN8N(Bm+jttIapi!GqH(=J>W@xK?$e$h%{!ETR|?f_ zSShcb9XX)FLXpCBUdN6q(!xDIj){+I8?-ac6Te!2{c`mEAPxFPFwhFuCi >mRR`%F=dhlB&2LP_B1Z$8d)4E1=km3AUzrK0 zY}{Rnjhf2i;%Ut0(Aq6EWgBqdjUTLWc4*y{7KdZxgP>o(|6XQ=;YY&6v2}dg%C~D9 zm5n5qB_=rUu+1S$NCw+s>UZf#VWIIo?P8Gb^6@bm*R7XQWRklz?5U!w=lr&kR^j6f zo|w?f-t_$ROY4dSDNR4aOfPmOy6K6nkf@n1t{n%dcbVDAtp4d&Mh^61ep$PK95i>u zw%*zN`V4YJA@aX%0w1L58-dc~Dfq`zFvK{ayre)sAy4ag-}8 zF9XPGNFDOWIsyykgd7}pzsvx6V+ybl;+S0!f@^}_yda?MKN3*ELo+i{dmHpN{qC?k z&H>xChn$fi_dAl@DFmHX7-54$UsW&0=8Y8FAUQQVk;rC`=uDBGVVywK)i{N_6pyxT zpX_hDaQe9jJK=F^`=vb(R;mv*M&Yk@o)o357cFhM6_w^Jv+P65S042c z_&3ezYsnGa;pJ76uXpwWBi%`-92_kou-u7jUedf7+F_X1hdTM_ )gJG@^yX_IRN9i>){+%yVdTz`}Liu z{jiSccKr&w1>R+?N>Z|Pr>Kvq@<`AJY+t@M-WFWUDg)X?Twvf^xcdP>?7xP}cOi5{Jq#aIbp^N(}ec-iS%gXa3 zY6FuhA8>VV&4%9>gIMCEV)atB<#+DUB3nxR(Kmso>meHpmLLH!wj(j-*Kc!eL=VHK zF~^q>I#e-xP+1}R+;(nARwP}#wrSB+D!F}1X-0`sok&lgnnEz!@BO<$TZt{q^FdUh zp*yd{>7$$cpO1fr;K0SKhqX7h@)iB5^H#!zEs@SINQQEa$&CA=#sb&8K0P5?B<3?- z{)IcL!Bww`zq7 tfsmG^v&jC&Rpi|;E5kJA!q ;-_Y^vb-wxcG~7tr913f$SnGdLy+5en z^GEWsx38gOe)nWTVEI%=f8U?Jg@+_tRkZPmS4FGc7SK9^wx;2& z?XK}Kw{^q^b`FVELH*7dGjuv=4 zxxeZkGxHkOh$VJY=< zag=97?>qC#%~3uytYekG%a@~$*C+90_Ri!{vBoGDP+q~yTw7XQO>{hjPN;%so5#SJ z=Lh-KBw2 d;KKMAhbm^~^;p9uw zGd;-pif)RMlsSbtZX#y}B6q#nio}`vZg{8~n88!T14Ch-HFGt*KGYrP-Cq}Uf8!Hf zV{dGdENg5oXlUZ-NHRXLP&fAMW8+ETfxxn+9pNndLLGHH$)`8&!@IN)gFpW$eY#Ln zQYv0YXQDNo8^47T)2bNrER(@&4CmrGDjBzRyIe`t2ES|-&hRf)uLS UAc;YQ-BELU+KR@>B@-KVbnVDFJR4{Loe~($TQ1pDLV#?h>4;3dNv7bsgk3DVh zF{*tv(7o?peZhX4>fR_Z$}Num>5hFnEC=HTd^A*^^4x|-=j&hI?<=>?V-U(6F2&Y; zw)rqFr1nfm`qX$hHNorAN_q)@r6*9hHq-f&NfG;TbkU>wkJ0VAYWn76A}F3Ou4|DB zo_Aoswday5@2Oe(v9O{0oLBwzn %syI{o zy=om}WJ0^!WW3y|1KiiqRWZ+Tc17{idGW_TuSM;fQT%$Kg}7SDo7oYyRK_3IZ2@FS;%S$4Q<)MMdX0&p8^Lh1EA@N4}`_7A0&$6-(inW=eJ7>!0ac06y zQ4$BOF>-kINSWb;AebGm0A_f)Ol7YfZe8>KO03!^j+eyHouPZ9%;>A{%eYI}GYyt* z64n*Y=>xxi4|8ET_+}K8C1Yz3*$DEIMM(;jPw)g?Uv?*G!C-qWc<=NUGKs)o((sy6 z_#MS()-j16$`hOR$bRS(W>mk+=07EU4nt%91>=46N6XQsvPK0}_SnuV1dqeDa+_8y zov&Z3UXU?TGLe|iC?dUYcZhO4^VJgn$<21f8>fqlMbWHFi1q;!i4galZMq7*^}9Ok zDw)(_DNpN}3DJ5N=1wG)@P#bDc=aSFhwVGFa`dM(j-pi-SbergkyM=+3@Ur?bl+i- zsv~e)igy !NA?zN>aYzfrmPRW~bBh2^9hc0ug_+ zf~dBic#qP-9Z1kI5QV6lf8BQtzt)pBpj40&b2&}#?)1_FPUfS7JUP=QdUfVr_G5;m zCcUlq%6v#412gyP@zFuyNj%Tmm#TwF%!3cETC9mJQqL#EqD?REnh#-z8v;x(dU}ID zo9O+K*=yjt@
$MbNhkUwHKEe^;K72w8CJ_1Wk-x9|(~)5GNub=?g^&R(`0Ja)e z_n2&&_u5c@@PGgQeNjiUe3r$ZLwRSK+Uj{i$KSm-;>do7an6Mv+x*%Nnr_H-?$Vh; zH~Z_eDAhUf9{1RCKPA_zSKlVunMTd8#ymfs^RDHEyWse`Jxt*?CfBu-cK3SnIv3PE zjXW^mP(`wIGF-Eo^SBmcmjmTl7Bnn5ecT29aE|}tz4x>EpAD`dKu!j-YIHcEJ8k$o zxWxurii76P6t=lg7mJVMuWIZlNou~-#*6fsxc0ESyzIPL&^yksP^}>l9L+n?pl4a* zVa2YT@po6q9ERPji?d10KY!A||Lx+ = zrC)t7Q|2_uHOLO~NrQ~Q5rlC*+&3hZ4l(WdCF6KQa Y^-f+#_5ZX(yli1bI3Sc%r_hujkd_ z{!ZIciz6c}8y-%IoT%8niLWGcSK|*)T&sQoG;kTmE7X}?64>Yye4RUfZ{;QX9)*mU z_lxPDJO!&Co=knzeo2C~^GPzsoO;VS(lR3|m^ak?;f08TalbkFLT>C0M~Y|M3dtsU zJnt_~_pQscPUT7C6^wTWQ0@?e3(gkFeuI15{0U>NC*O_ygO;npMrG{pVc$-d)g{NH zU+Q6 KZzHl*l>y&ib+JaSeAXsV z61%Lgq%oy8GMSzFJtKtt!ERfr-7;i>y0hB~nIpC6)}_|NANn}^r*;HgQINDPS8AY8 z={(|>yUw+EL>rNXxd~c}D(f1XE`eA09`V_N%}Kg{Cd;UvT)O2&?}WdV;l_A ;2h%vLl6)>reh%KS@oqA*{p-+IO0gc 54F9M!V+Y=RMWbyGKtS zlj6}kbiBunV8Jt(<9iRM7{&+Km$sFY2vA;obZMYrjLy?~S4qZDjI6X54E48JMH`{^ zv_%dsX!znt5u!a(4|HzjdV_3O(HfqJu^_KGGD6f8V}^eBt0=uP=+&EEqb3*h73vNR z_!Ei-lFQ$%)oZ)r^Q#JOq?F)v;FMl+=(kIfGi6b*6H$DOhQb`UJ*ZhlhMq3gUD>60 zPSE*az;WtZ?AJN#pN#*K0W4(IJv>FL7KayB?PYAFLfVrHhB7qLW49lzdNMbKZ8I0n z2MeOc4>2s -a2a%8}O`?hZ^UTHzhtF;*d~?z2I69hbXbV8<3G z=63gVR!U^8F0gfR5~(+Q{9%&J8N&>-|Mr Sg+=#7`6Q&!S@c6Z{%1PEgK?llgf?NoIn^G%1j{3fWObbxS2DLt|8y^qncN%v4e zxdqFziShL-0N=pAi+wm9KS320R$EAOx}7Us1qUeVlk&7g)U!4@S-9_q86%uGBxD#h z%;|&Tlxnd|zAC~%7;T#;Pv7#LYh}>H)Ki!~G1AG$XzE9+QpNX5Ow;dyVJbU`*H>F` zaSm^O8hvPx^*4KF@`Pj$pRo?N($=I+Z!0hm0&zos#3sL)nUzGf8GsJ_<(ucuhw;c4 ze+(Q{A9zI{Z{BQ&*Y%kW<*9*5{YppQ#ZPJ5KLcrJ{w%1oO*e5^-iV$5=Sepq`b(kq zD}9baveqHqM$PZ|Dh8u^#urb^&hFVQ(g+0PfmpKqp2~xpD&I5FsnzbAG4WqJSkzA4 zoP (uj2TvTJ3MQ@B~i6C3k8hW(yc$JRU zhE!r6f{$hEyk;ha^E~o2)UERCv |T;TlEuvG<3gXDTW?v9|Z6zjk7Dy|UO zXrjoK`UlF?yjGbQym+ztotuC>FNJ7u>z+#pv1)SsH-k0sz XV z{*G%Z05eF5D1NK2M}d;ral$;O6U*=8QXdLAhbgi-9k#W KM5A}`ncQ7?Bu=? zo;Zof7)#~-EksDRT)`Gmc;r;`^}`3Pl`q)+b8JnV%4>!- PmWFmm)B^*QjHf5 ze10 U4jA|LUU_t1kndM#^eJ=TN?XA~P#uZJ5wp4tHV2@3LLkc3K7^V|V^8|H+m2_U3QK zjpKLTu~$-53A(bCjlJZ1t0m~0)b4*C14`KPSwt=Z6VmMoSHfG-(&be{EC2f2^T>q% z;NjF6DL=l6BJ}Mio fc=VH|J{kAFk=ZhQrjBB&!}<{!VpsV(s8L#kn%m#pt?ZDao!;HfVZ zRXY*R*246*0jzaqTZl+hq?nOndzU&SNFt#zk6Y)XIpY@QwzMQ2^?M~q^vG;z;>b9H z_MP#gt(1h7zon{UO^%BnlhnZ>_MtwK?&h~5TV@*IFx?K1Qw#XT4s%eFNxae+`#oiZ z!=u=kZG%9$0@VXWC$RDo^W$wiNw!d*%$#MD^E>@{4Zig#Z>QZP=JP(;alBV9)th*d z@P?W-_j;vbml07-O$~~NZRqiz(>w9M1bL}iZ-fF`HDk>c{;G1Sh)=b+mUo=I$VN KH2Y{Q9^d?$@D-|lQ>%0M39IM#fZ*f3`GRjx{c&svXN6zxtnoW- zF&xi6IZnH!M~Har(^`*_T&&rJd ?vjUuQX3f_*Ym)V8<^ zK4RZpT=nE34z;y#_;Nvo{Y|Wyl 6|XD=ceB>5j~mIrYSVmWiMxcleG!Ua`ux2zSZT2+@tNyd)J^I{GNk z=L&_tq&MGU|FpE##WA_)G#k%_yEqk{x}{lD8;0R7k*BZ&6UOQDtyIvZ7%RLY5xM17 z3H$hnNz~`0klN{JAEVk3C`3I~m(4Gp)YQICP`Opo`Q4wI_aP0*W3(6H=8OT7wOXgC z 0M0&=RA&ee|QM1FsC@0S$O%i lHGd=ifH*kiK5==q*B{B7e8;wPn)V73jl=yIpc)( zyLvV#B}{?j$E9zEHllN<`B0c2DjPlvCVX;r-w8kZ2j2#!(k)+ue9Fc)!NYU<5c~R| zp!ijLoH%Y_47v=+EFYyl5z31@&W}{R6CC~uHQ>w9pqaUsE?Lb>@3(L1uXzjKcq5z~ zwipHK1mtjl{Y`=0%1$Nyzlna _; 7+>HhnU4j3-GM4*JuTicferP5ZwY`ih8L7N#a?Fz@L56;$zq zluS(K+mnM)n0hd(#utKRgKE0Ui+%|<6Rx{cY{%1VhVs^OAQgANc01P+N(qRWrVQ01 zPbAJ(z+d6j1FU9OC )%^p!M=iAR z*B`YMSRPU+$1E0hD|WigpRUNBFUXf+;n!P@dMg0dZcW-ce|eoYs_rEj7k?wqp;O1a zC@aaE(PuHb=`i?ciL9pI!+jMb*BbZM7&fMRbFb#n34ei~#RyPg#WiGfM;CT4ID-g7 zS5J>ZXeIPjcs+632q%v5N7n2WboA tE^BB&KX>N;TE(F0Vzi+1)-sbi5T53Pw zQ0W_6yStrsq>5tH9trLI*NX|91hkSPS__AU{aW02%0muZ{@50JlrIs0YfUj`XSPEk z{;Qw$;PzRH0*9S_Q9h-z2GDte?Xf6$g~zrB_5l%<6ui EVa) z8W;EN7Xs1V41QndMPb95=Gs+BsI$gJVUIzn)IfiLM-_f4q*Xt9^>VORdoZyzX#~@S z2+0c(O!pL{S0md#+j!lX`{Pak3ldVUD SIR-+RbbzcO6RUi)@)Hn4~ z%RmvqckN;jUf}%3)R#7&=HyJ}H*Lq4Lx|rM*m{Aq|2=tEX7ThGf%0Z^5o7gK<;A{5 zr(Z1eUtUkKEAdtayDsZh052WNWuTDYt$ngTU=Z)=!^9TfK~46U+WzMisT(ohsA8mP zVjj_i!VizGCP<~R2_`<6-f*Q47iGQaivN)A((Bv!huOWDMx0DWrCzaO&foO{t*1N5 zaxr=1F`Yco(LK?fYRK40o%0FtBVqBgV9I Zj%FOVKTkQU#cj?McMqdxmkC2Qp})N*(uMR_AHq@)L@ z_GDew&3|y-vk>o4t8xLG?A tQAz$pP(+JMnr^pK}}7qjaQs*|Bzr( z=IsmWAHhc4O5J;bYRuef(LyvT<7-Pdj}$PfQ9_n~zkUTiF;pLd3?>DBvQp*hrBzQs z7M4r0OC=QtmlH+0$%PpRy;ZZA71BjY24^>^KTq8~cg%2D%ka8^ };pE-7mFtei zb)NDs)*Z9gP6jkxo?ypFqlc?rE>^`T7Ioj#!YHo9Ls8E~A2h-GVREyMJ=n+S1{A|Z zHifC98x|(1-p(9{bqusA4H{{_M$a{9n~`yH6>X8+wrwofEDKwtqNc9T?A3|3A$HQc z7Ke=^@jE%MFt)JM4rj$_KF<8Jn8>CSd(5ketBhzB#|$vIbFWAaYd;2W?k!q)38_E_ z1={&L@CPM9BDlv$v7nDcr OfRO5+v~H0l`YBTetwm*L&0`+7|Glhf+0(T||{ya-Xx@a=f2l ThhJyY zw?9hHvOBhn1UltjfQae`bFV>mgwNc22EU7FZzmrmVdt?Y$-|DW>KK}qoxLqvwj7fX)Y6^vpmXAb@F@-pM~C)W$o=N0)E6Dt z1C%nHa&GrOZ2s=xGnXqujXmIqXQ7gbHyZ>)yD(+%b+swOK#`w16b=6DJ82HMemCoH zP<{TuJhu{WU#qsfk7Q`)l@Aky+xSY@_|#6+7PfE2WYwQlm@1GLH1%VK3#(gG8hf9A zO(jIsBoQnDCgxKmnc(T;llLK%xv<8Nw0Y}6+!`)bsFW11;LW)%QnCl`-~6|u410^s z&&w(Ki-nV1zpP`n^?u|jN~qPdJSiF`Cfk>UwR!%jt1q>ZLmH-Ty{XyW2CYLPiw?ER zM3_4PH&Zrrz}S@<5`(5I+) P-0uL%ji8KPJ;!(!|9= zf?IC%yufgP9auTPuwL%@m%XnfpFZooJDe#a_cu^*92vp>F#HC)|H`|FboXC8S3xS* zdqB%McX{)xKD*gS88%s9# W# zSV_^d` CLJNSAb%ba&T2xu5_2%)DRTnLV>-f7sWYtYK!cxUO}^uYbqUYiKi>q`0J) zjN-YwTMT}uis!td`I-167wj3+ Ey zqK>J6fUzYosq1Ax`V<(@EcL{smzN#s;WFeMsi> !;21xhKkV$ qh4(3++Z>8h!r@poe4S!{6AE3=LA8PcxqZ-hh_`i9dHk=UY=0rw~Y?{6XAB9Xm@ ze@VvK3Az66a P2%VM@_Ck z4OAGhG~Pj$^dHuxchr8jDvX>{Im1aFA`!=Bl;Bo;wtG9L-zZ!4R9a1y+6`6PO;uVA zRo@gdAYOo0fmT42x$)ZunnX}|S)&Ej_zR44f{v`M;MyNd`Uu<^rLTu2cX7te1}e13 zGIXj*N2V}kU1baNKrRydLt 1gF!&t1j#_;7dLO_;BtOn zH3l{Hl=Xq~b6;OyKF=GjYO4hSy3?_{SHWWJFFJbyDX2SuIJ$bxvFH0mD9}S^C+T)4 zccM^_WA|w^dvGQ?vL{xuYyK7~nJ6TXP}F4fdyC}v^M%*@C&d;*i;YS5qIn*N3NMrj zFPNG%n3|AzKA_{+^|pyF7z$lM2SYNTL?m6NbNM`?b@P`0VJ=TJ{L)*GV29+FA|ui2 zi;?rIJ~7x!8u+aU*S|!hk~06~x7B){5veBafY_zlD6RQern%YI45c@+3X6}gXBNU{ zBI1Gqx167U^O;vi5q-G0EZfYC&|f&%kLs4%tl-1mdZ#-O2GVNN6I~oC8uedpo2|iF z0WCX5sfU0-mXMgZ-pcCdQtWVuP2D#_@-uzYzacABZ2kcrft^bB+OwerDyZs~NYfVn z?Ve#PJL$zp2`mEnDjxkp@i8*|%&Nl7s`oM7>!;AqBd^|O@_qYC=+TVwq$&TSEWs~t zGYL1w`cpNE-x=Jaa!r=BZsWqGh#aFMzVWG;49(pj=Bk+ MI#+EiZE )JKYBsm#!>V)uB$IEA2+ZO63R^NUPh$_fD75n}J0Itltq)&kA zwD3AVnShln>3>g1UXQbZufZ}f^-v&_L+aG)(X+oN8upU?2+Q-zwZ*vF4Mbq=gaz)oqXZwNguw6$F{ZkpES9^3Vud{~>SmT4=3v zIfK9#K?fbvg HEgR^*MITER28bY(E7JxRBSrp%=+v zsQ;{4eRAYzEG82PK%z=(E5r@>S`q7Av*lF}R7vlr{Oaz>LnDUM+0}qXQZ?`?mc(l4 z2uvatw%|q@pT_uWZcPfKiPC=+wPH5>0kl|^vAdX>qI7h0bYi7E^M2U$4hQX!s)oP6 zJoPJeKk?lJ4_*TL4FcWU*(qZ#f29I3&!(5>=aak5al;{eZfma&S{}zr6Lw3D&uJZg zErcqv`>9);#97%hBo63hEJb{MC=#U@+eQ>xgsW}xJ#s->KE{ONT|lN9)rv|=x>q^^ z@?Iw4emH+plohN@8zZ>3E1wNX6LD_$;Kd%d(XRF*(p%$2AM;*fIm3yqIJ`Axhf;*e zy2;k(<&}>0Ky}I9!no8N>|R>^Hhb657Np$P7Bveo>Le8q@7M~fFPokBQEh5Mk5!Gg zxY!xqe4;P15lA&kwRUj83&14%Mj!lAlPGs;_gKyQTjfdko-hHV@de1 zUCZ}_FL47LGFEeFTP7=__|t%8J(N$ifR;N_emg|B`|&0nlO2G;_Xi+^@zHrxm{-;B zQ8{riG&v4gT!Gda{#74mM&O1;fAVe1lt;&OY&RZWiNq2{$vCoRC6%GVlZE2RP!UQ| z;xXUx#~1zn*uof#ABIu%ce>OZ`1S&rCC)a`Ge_5(zawRs0;$zd?)`-Z0@2% eEFk$Yo!I|C$tOF( a8>&i(Ag(f9wTmDI#tpcLhhKDcI z;W-66t(_UrwONAyzLn)vAFV71p>)cOOil3~Uje3*qz;+BUBG*C^9|GG^jfG(5`l2* zQg$B5m7dKaCY2j)$t-+F3{@^J^$%*+5}xAv6WML~Z3^Bu%8gga6l#sR0AW=B@!|do zv{`FSx`J}FI)1b{U4UVoAe&o0R0jA>K;d!Ey4~JPMcyy_bvypOr4|av3lv1qrOOuM z*xY*)#}sQfKJA!aw!3)RNFN;deGKIa7X=CD=oY+2p#((rtQT&YglOb6u%5}$X4$yk zuq`1iUx4^k!b7kNgV%A0?s7%?Ju`?ae2hCTxteRa*Yp4kvP`?AyeHr$dSKt6K3nBw zWb+EZ9tjNs@l%l$v@psz7SDG^o$LLUb7563EA0_Q|KzIbr2vFWL7Ei^*}*=FLH_1C zgZy46h-J7ze@77``f)z5oG&9vxAH(le%RlhVXa{NvzlY=BA~2cd42m+=lT#WpdVLi z;MoVn#x(Yu+XcccdxMN6-^@3 +*@)z^vqQmK7ohdA59v(Y{OaeTo+`-TOtN?DpZkQo;D2%Z v%izJfD`yCv zDkdGybHXs*gL_#n%_kMm3xfbLKIA9)V(1mvpDz$AclOi`tiDU?Xk*-e+~1dokiK+4 zs5xZxehu 6^*6SQIEL#g>Lk}_qkQH7WOko@k)Dfkz(dP*uAb`vtU6{5GC zmDSatnWY49XW+(L0VL1UQjL;BTmEE`qpw)4`%cv9!>i*3%0{WXs6`XOadB~ ;kWzQaRL7YDG8qYPWui04MxvJWqss zZoRpix8+){5%h{dQ18u|wgDM8yy|bQPm}y0Ne}@0dA2lG^hrQFwaGdJ6v-KfAQ^{j z2)9}DB(r^QZsxmdMidZqkCgArP~FWXEVesyV**1%lLtbtwf4E%blGNy&Pp{IpJV1s zr1ciS;|m_&r1Y;d61RHY&MmRJN32+TtdiiW^^*!Xpa^JRKaz(@QUfH0$}Qe_tzS>m zEInVqK7 LdpQYYW9^T7<6+gE-h9Uq&m1 zkcGz*Dj?Z1va6qbq_u0nE(uSS$QtsW$VEyhJTp-(5D*Y3H68>7BOeYHgIfSDH9Q0- z2odmttCzX90MNJi$}$y!)Xt*}g8O^&v&*`XrA_}~!E17eJwvo~+b)Iwl)KT(CHA|o zuMI0sIW3a+%H5N6neov?&N8uL9m69du}S%CGAve^@HnQ)1g6RSD3A88 uB=ORP*HJ)^v@su2yA6iEK!1ge{%XW=1R3(9|JnHTxy|^_ip>_7L4Ec@ z>ssyJs-|U29ulskUbTy1r1*YrY-mkYl|E=P2S#DvFjdA;ra{hs#OM>6ec5%s8%TLV zrHR#8{f={;8dsY6vTV^&F?iIIJ``1D%!=x&RMmj0%HTTE(ffPF`0IE?C^SkQq6qxB zPbP1z$HUN8%A#&ggCYK_Ug+KTrWzS<4&O$}3=YandEa$=! MT zb>LK1tYJa0Y#ZrnXA~XX6@1i&%}#&IF~@!Het^K=zxZ>d^(z9Jlf=H3oj~eUpIS2r zY+;fKs7wM1LKw^d&d|>5*OJS*J120>mfyEJ^B 5I=ofv?8>BK^)2M6~UkWld~VHItf?N?#S6HH|Pp!MFnb4}jdrpE* z2lJmUE{M5=fo{pC$M&h73|0`iF{=En`|<3mfZoXN$=#4U^sz|O68H(+l(L$oq>}^? zq<)HXGSU(ls$2aMFIo%_S+RAH=#FH2on4P}#$#TrZfW&vwn!1bf+;gqmX_&OQUTyt ze$Jw+nG1VDsP-D3sv@Q~PqnlWm{Z)e@EsdLjV-)sHu+fw5lVw|X+$`3L0&n=pd!aY zm~tp@K5V`{dW!Q^g+FyAy8xOq&=Y4!?s3#s?%m?CB~AfME6!Y%zLj5`V38op5JeO< z@wPSC^6q)p%4JvN;Lv_ %~5L9 z;jiEcr4dnI%DD|xK z)2k5CfBZ!Mk%%6TXuR*#RQD5d24?FZZZ|myl;2+LBPgN_^f%!OseQwam1HH*D;jB6 zwLeFA_2Ca}Yxn#QUHeiUre{Yco;g{O;x0Wi`A!o(6sMNGtZ!;%T-;i5p|q;Q %x6;oN_NEE#M(EdMe=&p+BR{)@3Zfsq`zrG(qSfe2?^=Jmk&cKj5o! zMYZ=xp$J;JLL95!uaxqNzhIoRt|e@G^Kom}Y^v?xZ&ufDUrE9Hny*$h?obfkyOwwX z3HgW+^3m6b$sB^Wxcdx2+NH_%O32nl*!HT?cFoS7;3oJdq=pHphRJ`3(~k#LqZlV# zLpY_%4`Y50lPsoh$IY`?k} pfcC_!}mPuv2M?e3nT-IB@i45Yk%u`^WGPLz=@svw$(cO2!&940!` zY!y$bm$s`!5LacQHWVrqjBb-Qrtt|K5YGRm2d_~ R&u8V8rR--gxbf9RAF6N0)!cBrs{^n=mzC*0K+S`nEk#BHj8< zjTe9IC`eb|{!*P!#T;YQTmj1(SqA8=pFeE|cCVtl6ukgn>a7mmYr@Nw&o1aA7Is~$ z6J{)1?7Xb`FJ*VunO@9@p6|q}ID>+8=ug+a-#q`EHqAq6;rU2N(?*6n$_!r^^io=w zBd8MY{>`Z3*h)14(QLqJF!! dgndl}noCOB$QwMgmBN zO5d^#@pAq|$I9Qf4@H{+0Q3aJbT$5f8aYtw1CokTYonax!@qez9rkml^Y$;w8Rq8S z{u4rYcx0GZ(5}^qKKunLwrJqQvL=I(il2$ztq*7D>R?q= 5_cL9xy+XZP1NaFlg