From 58389a88e0af4bdced356a568da236ca8f610d8a Mon Sep 17 00:00:00 2001 From: Deyan Ginev Date: Sun, 28 Jan 2024 10:03:29 -0500 Subject: [PATCH] Subfigure model enhancements (#2302) * WIP on figure grid tests * add trickier figure cases * WIP auto-grouping panels * update mixed figure test with some algorithms * introduce Document::removeClass helper * new approach: ltx_figure_panel class with auto-wrapping into panels, when needed * more care for lead/mid/trail-ing captions; edge case checks * more advanced handling of subfigures, via ltx:caption partitions * also try ltx:figure for _CaptureBlock_; some more careful edge case testing * update 3 new tests for complex figure grids * remove leftover asset * drop diagnostic xsl:messages * use the local none.png asset, easier CI * update CI-only SI test to use ltx_figure_panel class * ensure a hard linebreak in flex figures for most Block elements * re-add partition by breaks to compute ltx_flex_size_ value * drop diagnostic message * only use graphics candidates if they already point to physical file * fix subtle delimiter bug in loadCompiledSchema; add getSchemaClassNames; ensure schema is loaded when accessed * rely on schema class information for classifying figure pieces * remove leftover debug print * fix edge case for insertBlock over empty Document; see arXiv:1706.03762 * add Document::removeSSValues helper * recognize edge case when a ltx:figure begins with a ltx:caption, without the lead-in tags * initialize figure panel tag names on first call --- MANIFEST | 9 + lib/LaTeXML/Common/Model.pm | 9 +- lib/LaTeXML/Core/Document.pm | 31 +- lib/LaTeXML/Package/LaTeX.pool.ltxml | 181 +- lib/LaTeXML/Package/TeX.pool.ltxml | 14 +- lib/LaTeXML/Post/Graphics.pm | 28 +- lib/LaTeXML/Util/Image.pm | 5 + .../resources/XSLT/LaTeXML-para-xhtml.xsl | 198 +- t/50_structure.t | 3 + t/80_complex.t | 2 + t/alignment/vmode.xml | 8 +- t/complex/figure_dual_caption.pdf | Bin 0 -> 20405 bytes t/complex/figure_dual_caption.tex | 50 + t/complex/figure_dual_caption.xml | 73 + t/complex/figure_mixed_content.pdf | Bin 0 -> 123012 bytes t/complex/figure_mixed_content.tex | 312 ++++ t/complex/figure_mixed_content.xml | 924 ++++++++++ t/complex/si.xml | 4 +- t/structure/figure_grids.pdf | Bin 0 -> 38559 bytes t/structure/figure_grids.tex | 91 + t/structure/figure_grids.xml | 1608 +++++++++++++++++ t/structure/figures.xml | 24 +- t/structure/subcaption.xml | 4 +- 23 files changed, 3416 insertions(+), 162 deletions(-) create mode 100644 t/complex/figure_dual_caption.pdf create mode 100644 t/complex/figure_dual_caption.tex create mode 100644 t/complex/figure_dual_caption.xml create mode 100644 t/complex/figure_mixed_content.pdf create mode 100644 t/complex/figure_mixed_content.tex create mode 100644 t/complex/figure_mixed_content.xml create mode 100644 t/structure/figure_grids.pdf create mode 100644 t/structure/figure_grids.tex create mode 100644 t/structure/figure_grids.xml diff --git a/MANIFEST b/MANIFEST index 7ccf0175ab..2581e8bf16 100644 --- a/MANIFEST +++ b/MANIFEST @@ -942,6 +942,12 @@ t/complex/cleveref_minimal.xml t/complex/equationnest.pdf t/complex/equationnest.tex t/complex/equationnest.xml +t/complex/figure_dual_caption.pdf +t/complex/figure_dual_caption.tex +t/complex/figure_dual_caption.xml +t/complex/figure_mixed_content.pdf +t/complex/figure_mixed_content.tex +t/complex/figure_mixed_content.xml t/complex/hyperchars.pdf t/complex/hyperchars.tex t/complex/hyperchars.xml @@ -1665,6 +1671,9 @@ t/structure/fancyhdr.xml t/structure/figures.pdf t/structure/figures.tex t/structure/figures.xml +t/structure/figure_grids.pdf +t/structure/figure_grids.tex +t/structure/figure_grids.xml t/structure/filelist.pdf t/structure/filelist.tex t/structure/filelist.xml diff --git a/lib/LaTeXML/Common/Model.pm b/lib/LaTeXML/Common/Model.pm index f12ff42ea2..034ab0abd4 100644 --- a/lib/LaTeXML/Common/Model.pm +++ b/lib/LaTeXML/Common/Model.pm @@ -146,7 +146,7 @@ sub loadCompiledSchema { $self->addTagAttribute($tag, split(/,/, $attr)); $self->addTagContent($tag, split(/,/, $children)); } - elsif ($line =~ /^([^:=]+):=(.*?)$/) { + elsif ($line =~ /^([^:=]+):=\(?([^)]*?)\)?$/) { my ($classname, $elements) = ($1, $2); $self->setSchemaClass($classname, { map { ($_ => 1) } split(/,/, $elements) }); } elsif ($line =~ /^([^=]+)=(.*?)$/) { @@ -475,8 +475,15 @@ sub canHaveAttribute { : ($$attr{'*'} ? 1 : 0)))); } } +sub getSchemaClassNames { + my ($self, $classname) = @_; + $self->loadSchema unless $$self{schema_loaded}; + my $class_data = $$self{schemaclass}{$classname}; + return $class_data ? (keys %$class_data) : (); } + sub isInSchemaClass { my ($self, $classname, $tag) = @_; + $self->loadSchema unless $$self{schema_loaded}; $tag = $self->getNodeQName($tag) if ref $tag; # In case tag is a node. my $class = $$self{schemaclass}{$classname}; return $class && $$class{$tag}; } diff --git a/lib/LaTeXML/Core/Document.pm b/lib/LaTeXML/Core/Document.pm index d46ec705f0..c534a4ffd9 100644 --- a/lib/LaTeXML/Core/Document.pm +++ b/lib/LaTeXML/Core/Document.pm @@ -21,7 +21,7 @@ use LaTeXML::Common::XML; use LaTeXML::Util::Radix; use Unicode::Normalize; use Scalar::Util qw(blessed); -use base qw(LaTeXML::Common::Object); +use base qw(LaTeXML::Common::Object); #********************************************************************** # These two element names are `leaks' of the document structure into @@ -1408,9 +1408,9 @@ sub addSSValues { my ($self, $node, $key, $values) = @_; $values = $values->toAttribute if ref $values; if ((defined $values) && ($values ne '')) { # Skip if `empty'; but 0 is OK! - my @values = split(/\s/, $values); + my @values = split(/\s+/, $values); if (my $oldvalues = $node->getAttribute($key)) { # previous values? - my @old = split(/\s/, $oldvalues); + my @old = split(/\s+/, $oldvalues); foreach my $new (@values) { push(@old, $new) unless grep { $_ eq $new } @old; } setAttribute($self, $node, $key => join(' ', sort @old)); } @@ -1419,8 +1419,29 @@ sub addSSValues { return; } sub addClass { - my ($self, $node, $class) = @_; - return addSSValues($self, $node, class => $class); } + my ($self, $node, $value) = @_; + return addSSValues($self, $node, class => $value); } + +sub removeSSValues { + my ($self, $node, $key, $values) = @_; + $values = $values->toAttribute if ref $values; + my @to_remove = split(/\s+/, ($values || '')); + return unless @to_remove; + if (my $current_values = $node->getAttribute($key)) { + my @current_values = split(/\s+/, $current_values); + my @updated = (); + foreach my $current_value (@current_values) { + push(@updated, $current_value) unless grep { $_ eq $current_value } @to_remove; } + if (@updated) { + setAttribute($self, $node, $key => join(' ', sort @updated)); } + else { # if no remaining values, delete the attribute + $node->removeAttribute($key); } } + return; } + +sub removeClass { + my ($self, $node, $value) = @_; + removeSSValues($self, $node, class => $value); + return; } #********************************************************************** # Association of nodes and ids (xml:id) diff --git a/lib/LaTeXML/Package/LaTeX.pool.ltxml b/lib/LaTeXML/Package/LaTeX.pool.ltxml index ad56953c08..45789dad05 100644 --- a/lib/LaTeXML/Package/LaTeX.pool.ltxml +++ b/lib/LaTeXML/Package/LaTeX.pool.ltxml @@ -15,6 +15,7 @@ use strict; use warnings; use LaTeXML::Package; use LaTeXML::Util::Pathname; +use List::Util qw(min max); #********************************************************************** # Organized following @@ -524,6 +525,7 @@ DefConstructor('\lx@note[]{}[]{}', . "#4" . "", mode => 'text', bounded => 1, + sizer => '#mark', beforeDigest => sub { reenterTextMode(1); neutralizeFont(); }, properties => sub { my $type = ToString($_[2]); @@ -3389,78 +3391,131 @@ DefConstructor('\@@generic@caption[]{}', "#2getProperty('floatwidth') || Dimension('345pt'))->valueOf(); - my $current_width = 0; - my @new_contents = (); - for my $block (@contents) { - my $block_name = $document->getNodeQName($block); - if ($block_name eq 'ltx:break') { +our $FIGURE_PANEL_CLASS = 'ltx_figure_panel'; + +# most block-level elements are expected horizontally standalone in a {figure}. +# (especially ones that directly match LaTeX {envs}) +our %standalone_panel_names = map { $_ => 1 } + qw(ltx:p ltx:listing ltx:math ltx:itemize ltx:enumerate ltx:quote ltx:theorem ltx:proof + ltx:description ltx:equation ltx:equationgroup ltx:verbatim); + +sub arrange_panels_and_breaks { + my ($document, $node, $whatsit) = @_; + my $float_width = ($whatsit->getProperty('floatwidth') || Dimension('345pt'))->valueOf(); + # Note that 0.0625x minimal panel width will naturally enforce a limit of max 16 panels per row. + # except that we are currently under-sizing(?) some individual subfigures, so enforce max 32. + my $min_panel_width = 0.03125 * $float_width; + my $current_width = 0; + my @all_panels = (); + my @all_contents = (); + # row contents will bookkeep triples of [node, name(optional), width(optional)] + my @row_contents = (); + my $panels_found = 0; + my $panel_break_names = LookupValue('figure_panel_break_names'); + if (!$panel_break_names) { + # initialize schema-based tag names on first call for a given document; + my $model = $STATE->getModel; + $panel_break_names = { map { $_ => 1 } ('ltx:break', + $model->getSchemaClassNames('Meta'), + $model->getSchemaClassNames('SectionalFrontMatter'), + $model->getSchemaClassNames('Caption')) }; + # what to do with footnotes? Move from Meta to Misc class? + $$panel_break_names{'ltx:note'} = undef; + AssignValue('figure_panel_break_names', $panel_break_names, 'global'); } + for my $child (element_nodes($node)) { + my $child_name = $document->getNodeQName($child); + if ($$panel_break_names{$child_name}) { # reset bookkeeping on prior breaks, be they author-deposited or computed - $current_width = 0; } + # (caption/metadata bits also flush the current line, but we avoid the explicit break element) + $current_width = 0; + push(@all_contents, map { $$_[0] } @row_contents); + push(@all_contents, $child); + @row_contents = (); } else { - my $block_width = $document->getNodeBox($block)->getWidth->valueOf(); - if (@new_contents && ($current_width + $block_width > $textwidth)) { + my $is_standalone = $standalone_panel_names{$child_name}; + if ($is_standalone && @row_contents) { + # if standalone, finalize current row content, and add a break + my $break = $document->insertElementBefore($child, 'break', 'class' => 'ltx_break'); + push(@all_contents, map { $$_[0] } @row_contents); + push(@all_contents, $break); + $current_width = 0; + @row_contents = (); } + my $child_width = $document->getNodeBox($child)->getWidth->valueOf(); + if (@row_contents && ($current_width + $child_width > $float_width)) { # break when we exceed the line width, to keep close with the PDF arrangement - my $break = $document->insertElementBefore($block, 'break', 'class' => 'ltx_break'); - push(@new_contents, $break); - $current_width = $block_width; } + my $break = $document->insertElementBefore($child, 'break', 'class' => 'ltx_break'); + push(@all_contents, map { $$_[0] } @row_contents); + push(@all_contents, $break); + $document->addClass($child, $FIGURE_PANEL_CLASS); + @row_contents = ([$child, $child_name, $child_width]); + push(@all_panels, $child); + $current_width = $child_width; } else { - $current_width += $block_width; } } - push(@new_contents, $block); } - return @new_contents; } - -sub add_subfigure_row_sizes { - my ($document, $node, $whatsit, @contents) = @_; - my @row = (); - for my $child (@contents) { - if ($document->getNodeQName($child) eq 'ltx:break') { - next unless @row; - my $row_size = scalar(@row); - my $row_size_attr = "ltx_flex_size_$row_size"; - if ($row_size > 4) { # add a generic class for larger rows, to style together easily - $row_size_attr .= " ltx_flex_size_many"; } - for my $cell (@row) { - my $class = $cell->getAttribute('class') || ''; - $class .= ' ' if $class; - $cell->setAttribute('class', $class . $row_size_attr); } - @row = (); } - else { - push(@row, $child); } } - # Don't forget the last row, if any - if (@row) { - my $row_size = scalar(@row); - my $row_size_attr = "ltx_flex_size_$row_size"; - if ($row_size > 4) { # add a generic class for larger rows, to style together easily - $row_size_attr .= " ltx_flex_size_many"; } - for my $cell (@row) { - my $class = $cell->getAttribute('class') || ''; - $class .= ' ' if $class; - $cell->setAttribute('class', $class . $row_size_attr); } } - return; } - -# Feature 1: Add flex classes to each subfigure cell in a figure. -# Feature 2: Add identifiers on each figure -sub SubfigureAndID { + # check if we can merge into the previous element + if (my $prev_panel = pop(@row_contents)) { + my $prev_node = $$prev_panel[0]; + my $prev_width = $$prev_panel[2] || $document->getNodeBox($prev_node)->getWidth->valueOf(); + # Heuristic: + # Do the widths indicate a large(8x) size discrepancy? Or a very small joint size? + # If so, contain the two pieces in a single panel. + my $prev_name = $$prev_panel[1] || $document->getNodeQName($prev_node); + if (($prev_width > 0 && $child_width > 0 && + (max($prev_width, $child_width) / min($prev_width, $child_width) > 8)) || + ($prev_width + $child_width < $min_panel_width)) { + # avoid markup complexity - any time we do a merge, require a ltx:block marked as a panel. + # if one exists, reuse, otherwise create a wrapping one. + #my $prev_name = $$prev_panel[1] || $document->getNodeQName($prev_node); + if ($prev_name eq 'ltx:block') { + $child->unbindNode; + $prev_node->appendChild($child); + push(@row_contents, [$prev_node, $prev_name, $prev_width + $child_width]); + } elsif ($child_name eq 'ltx:block') { + $prev_node->unbindNode; + $child->appendChild($prev_node); + push(@row_contents, [$child, $child_name, $prev_width + $child_width]); + push(@all_panels, $child); + } else { # create a new block to hold the two siblings. + my $block = $document->wrapNodes('ltx:block', $prev_node, $child); + push(@row_contents, [$block, 'ltx:block', $prev_width + $child_width]); + pop(@all_panels); push(@all_panels, $block); + } } + else { + # otherwise keep the last panel as-is, and append a sibling + push(@row_contents, $prev_panel); + push(@row_contents, [$child, $child_name, $child_width]); + push(@all_panels, $child); } } + else { # no last panel? just add the child + push(@row_contents, [$child, $child_name, $child_width]); + push(@all_panels, $child); + # yet if standalone, finalize current row content, and add a break + if ($is_standalone && @row_contents) { + push(@all_contents, map { $$_[0] } @row_contents); + if (my $trailer = $child->nextSibling) { + if (!$$panel_break_names{ $document->getNodeQName($trailer) }) { + my $break = $document->insertElementBefore($trailer, 'break', 'class' => 'ltx_break'); + push(@all_contents, $break); } } + @row_contents = (); + $current_width = 0; } } + $current_width += $child_width; } } } + push(@all_contents, map { $$_[0] } @row_contents); + # simplify: if we only ever added 1 panel, remove its class (so that we only mark complex figures) + if (scalar(@all_panels) > 1) { + for my $panel (@all_panels) { + $document->addClass($panel, $FIGURE_PANEL_CLASS); } } + return @all_contents; } + +sub BuildPanelsAndID { my ($document, $node, $whatsit, $id_kind) = @_; - # 1. Flex - # A little verbose, but much easier to do than XSLT 1.0 would allow. - my $contents_count = 0; # count with author breaks excluded - my @contents = grep { my $name = $document->getNodeQName($_); - my $ok = ($name =~ /^ltx:(?:graphics|float|figure|table|tabular|break|inline-logical-block|inline-block|listing)$/); - $contents_count += 1 if $ok and $name ne 'ltx:break'; - $ok; } element_nodes($node); - if ($contents_count > 1) { - @contents = add_subfigure_row_breaks($document, $node, $whatsit, @contents); - add_subfigure_row_sizes($document, $node, $whatsit, @contents); } + # 1. Each figure/table/float is comprised of 1 or more "panels", possibly separated by line-breaks, + # where multiple panels tend to correspond to subfigures/subtables/subfloats. + my @contents = arrange_panels_and_breaks($document, $node, $whatsit); # 2. IDs # Note that even without \caption, we'd probably like to have xml:id. return GenerateID($document, $node, $whatsit, $id_kind); } -Tag('ltx:figure', afterClose => sub { SubfigureAndID(@_, 'fig'); }); -Tag('ltx:float', afterClose => sub { SubfigureAndID(@_, 'tab'); }); -Tag('ltx:table', afterClose => sub { SubfigureAndID(@_, 'tab'); }); +Tag('ltx:figure', afterClose => sub { BuildPanelsAndID(@_, 'fig'); }); +Tag('ltx:float', afterClose => sub { BuildPanelsAndID(@_, 'tab'); }); +Tag('ltx:table', afterClose => sub { BuildPanelsAndID(@_, 'tab'); }); # These may need to float up to where they're allowed, # or they may need to close

or similar. diff --git a/lib/LaTeXML/Package/TeX.pool.ltxml b/lib/LaTeXML/Package/TeX.pool.ltxml index d9019fb2b3..3554447be2 100644 --- a/lib/LaTeXML/Package/TeX.pool.ltxml +++ b/lib/LaTeXML/Package/TeX.pool.ltxml @@ -2252,8 +2252,12 @@ Tag('svg:foreignObject', autoOpen => 1, autoClose => 1, # from block, logical-block or sectional-block, or the inline- variants. sub insertBlock { my ($document, $contents, %blockattr) = @_; - my $model = $document->getModel; - my $context = $document->getElement; # Where we originally start inserting. + my $model = $document->getModel; + my $context = $document->getElement; # Where we originally start inserting. + if (!$context) { + # edge case: if we start the doc with a block, the context is empty + $document->absorb($contents); + return; } my $context_tag = $document->getNodeQName($context); my $is_svg = ($context_tag =~ /^svg:/); # svg is slightly tricky my $ignorable_attr = $is_svg || !scalar(keys %blockattr); # if we do not REQUIRE the attributes @@ -2292,7 +2296,7 @@ sub insertBlock { my @candidates = ($inline ? (qw(ltx:inline-block ltx:inline-logical-block ltx:inline-sectional-block)) - : (qw(ltx:block ltx:logical-block ltx:sectional-block))); + : (qw(ltx:block ltx:logical-block ltx:sectional-block ltx:figure))); my @filtered_candidates = (); # Filtered containers that can contain the content foreach my $candidate (@candidates) { push(@filtered_candidates, $candidate) @@ -2301,6 +2305,10 @@ sub insertBlock { = grep { ($document->canContain($context_tag, $_) ? $_ : ()); } @filtered_candidates; if (my $tag = $allowed_candidates[0] || $filtered_candidates[0]) { $document->renameNode($container, $tag, 1); } # Rename the capture to the correct container + else { # we didn't know what to do? + Warn('malformed', '_CaptureBlock_', $document, "Did not find a block-like candidate in $context_tag (with attributes (" . join(";", map { "$_=$blockattr{$_}" } keys %blockattr) . ')'); + $document->renameNode($container, 'ltx:block', 1); + } } return @nodes; } diff --git a/lib/LaTeXML/Post/Graphics.pm b/lib/LaTeXML/Post/Graphics.pm index bdfa7e4fbe..ff9aa82d0e 100644 --- a/lib/LaTeXML/Post/Graphics.pm +++ b/lib/LaTeXML/Post/Graphics.pm @@ -134,18 +134,22 @@ sub getGraphicsSourceTypes { sub findGraphicFile { my ($self, $doc, $node) = @_; if (my $source = $node->getAttribute('graphic')) { - # Find all acceptable image files, in order of search paths - my ($dir, $name, $reqtype) = pathname_split($source); - # Ignore the requested type? Or should it increase desirability? - # - # If this is *NOT* a known graphics type, it would be best to treat it as - # a name suffix (e.g. name.1 from name.1.png) - if ((length($reqtype) > 0) && !(grep { $_ eq lc($reqtype) } $$self{graphics_types})) { - $name .= ".$reqtype"; } - my $file = pathname_concat($dir, $name); - my @paths = pathname_findall($file, paths => $LaTeXML::Post::Graphics::SEARCHPATHS, - # accept empty type, incase bad type name, but actual file's content is known type. - types => ['', $self->getGraphicsSourceTypes]); + # if we already have a usable candidate, save ourselves the work + my @paths = grep { -e $_ } split(',', $node->getAttribute('candidates') || ''); + if (!scalar(@paths)) { + # Find all acceptable image files, in order of search paths + my ($dir, $name, $reqtype) = pathname_split($source); + # Ignore the requested type? Or should it increase desirability? + # + # If this is *NOT* a known graphics type, it would be best to treat it as + # a name suffix (e.g. name.1 from name.1.png) + if ((length($reqtype) > 0) && !(grep { $_ eq lc($reqtype) } $$self{graphics_types})) { + $name .= ".$reqtype"; } + my $file = pathname_concat($dir, $name); + @paths = pathname_findall($file, paths => $LaTeXML::Post::Graphics::SEARCHPATHS, + # accept empty type, incase bad type name, but actual file's content is known type. + types => ['', $self->getGraphicsSourceTypes]); + } my ($best, $bestpath) = (-1, undef); # Now, find the first image that is either the correct type, # or has the most desirable type mapping diff --git a/lib/LaTeXML/Util/Image.pm b/lib/LaTeXML/Util/Image.pm index 173e1cf611..856272e6ec 100644 --- a/lib/LaTeXML/Util/Image.pm +++ b/lib/LaTeXML/Util/Image.pm @@ -46,6 +46,11 @@ sub image_candidates { $path =~ s/^("+)(.+)\g1$/$2/; # unwrap if in quotes my $searchpaths = $STATE->lookupValue('GRAPHICSPATHS'); my @candidates = pathname_findall($path, types => ['*'], paths => $searchpaths); + if (!@candidates) { + # if we have no candidates, also consult kpsewhich, + # e.g. for "example-image-a" + if (my $kpse_found = pathname_kpsewhich("$path.png", "$path.pdf")) { + @candidates = ($kpse_found); } } if (my $base = $STATE->lookupValue('SOURCEDIRECTORY')) { @candidates = map { pathname_relative($_, $base) } @candidates; } return ($path, @candidates); } diff --git a/lib/LaTeXML/resources/XSLT/LaTeXML-para-xhtml.xsl b/lib/LaTeXML/resources/XSLT/LaTeXML-para-xhtml.xsl index 7549e3e3e0..b525c174a8 100644 --- a/lib/LaTeXML/resources/XSLT/LaTeXML-para-xhtml.xsl +++ b/lib/LaTeXML/resources/XSLT/LaTeXML-para-xhtml.xsl @@ -168,66 +168,22 @@ - + - - - - - - - ltx_flex_figure ltx_flex_table - - - ltx_flex_figure - - - - - - - - ltx_flex_break - - - - - - ltx_flex_cell - ltx_flex_size_1 - ltx_flex_size_2 - ltx_flex_size_3 - ltx_flex_size_4 - ltx_flex_size_many - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -264,4 +220,128 @@ + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ltx_flex_figure ltx_flex_table + + + + + + + ltx_flex_break + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + many + + + + ltx_flex_cell ltx_flex_size_ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/t/50_structure.t b/t/50_structure.t index ab576bd31e..c6f8ee43d3 100644 --- a/t/50_structure.t +++ b/t/50_structure.t @@ -8,6 +8,9 @@ latexml_tests("t/structure", requires => { amsarticle => 'amsart.cls', csquotes => 'csquotes.sty', + figure_grids => { + packages => 'graphicx.sty', + texlive_min => 2021 }, glossary => { env => 'CI', # only run in continuous integration texlive_min => 2016, diff --git a/t/80_complex.t b/t/80_complex.t index 28918d36cf..e9bd5aea5c 100644 --- a/t/80_complex.t +++ b/t/80_complex.t @@ -7,6 +7,8 @@ use LaTeXML::Util::Test; latexml_tests("t/complex", requires => { cleveref_minimal => 'cleveref.sty', + figure_dual_caption => {packages => 'graphicx.sty', texlive_min => 2021}, + figure_mixed_content => {packages => 'graphicx.sty', texlive_min => 2021}, si => { env=>'CI', # only runs in continuous integration packages => 'siunitx.sty', texlive_min => 2015 } }); diff --git a/t/alignment/vmode.xml b/t/alignment/vmode.xml index 0a03f71d25..c618ee2d66 100644 --- a/t/alignment/vmode.xml +++ b/t/alignment/vmode.xml @@ -180,9 +180,11 @@ This is random text. This is random text. This is random text.

2 Figure 2 -

A Figure line

-

Another Figure line

-

Yet another Figure line

+

A Figure line

+ +

Another Figure line

+ +

Yet another Figure line

2Figure: This is a figure. Figure 2Figure: This is a figure. diff --git a/t/complex/figure_dual_caption.pdf b/t/complex/figure_dual_caption.pdf new file mode 100644 index 0000000000000000000000000000000000000000..929837711b54d8e4693e52b757d62db54ede69fa GIT binary patch literal 20405 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 literal 0 HcmV?d00001 diff --git a/t/complex/figure_dual_caption.tex b/t/complex/figure_dual_caption.tex new file mode 100644 index 0000000000..6bb3bf4442 --- /dev/null +++ b/t/complex/figure_dual_caption.tex @@ -0,0 +1,50 @@ +% The data model needs to recognize dual captions in the same {figure} float. +% and produce two "logical figures" inside one physical float. Or something equivalent. +\documentclass{article} +\usepackage{graphicx} +\def\imgfile{../graphics/none.png} +\begin{document} +% dual figures in a single {figure} +\begin{figure} + \centering + \begin{minipage}{.5\textwidth} + \centering + \includegraphics[width=0.95\linewidth]{\imgfile} + \caption{Left figure.} + \label{fig:dual-left} + \end{minipage}% + \begin{minipage}{.5\textwidth} + \centering + \includegraphics[width=0.95\linewidth]{\imgfile} + \caption{Right figure.} + \label{fig:dual-right} + \end{minipage} + \end{figure} +% dual tables in a single {table} +\begin{table} + \centering + \begin{minipage}{.5\textwidth} + \centering + \begin{tabular}{ccc} + a & b & c \\ + d & e & f \\ + \end{tabular} + \caption{Left table.} + \label{table:dual-left} + \end{minipage}% + \begin{minipage}{.5\textwidth} + \centering + \begin{tabular}{ccc} + 1 & 2 & 3 \\ + 4 & 5 & 6 \\ + \end{tabular} + \caption{Right table.} + \label{table:dual-right} + \end{minipage} +\end{table} + +Ref test: +Figure \ref{fig:dual-left} and Figure \ref{fig:dual-right}. +Table \ref{table:dual-left} and Table \ref{table:dual-right}. + +\end{document} \ No newline at end of file diff --git a/t/complex/figure_dual_caption.xml b/t/complex/figure_dual_caption.xml new file mode 100644 index 0000000000..bed735d2d4 --- /dev/null +++ b/t/complex/figure_dual_caption.xml @@ -0,0 +1,73 @@ + + + + + + + +
+ + Figure 2 + 2 + Figure 2 + +
+ + 1Left figure. + Figure 1Left figure. +
+
+ + 2Right figure. + Figure 2Right figure. +
+
+ + + Table 2 + 2 + Table 2 + +
+ +
+ + + + + + + + + + + + + 1Left table. + + +
+ +
+ + + + + + + + + + + + + 2Right table. + + +
abc
def
Table 1Left table.
123
456
Table 2Right table.
+ +

Ref test: +Figure and Figure . +Table and Table .

+
+
diff --git a/t/complex/figure_mixed_content.pdf b/t/complex/figure_mixed_content.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4e900ce1fedb30556d7578f84c17b226a90c1fd8 GIT binary patch literal 123012 zcmcG!V~}XgmMvPgZQI&q+qP}nwq3hy+qP}n#xA?w?$>>8bi{We?s-36{>rshtjx%% z9CMCIDlaTb%SiVNiga#icnyk`fPuiy&=QK98;V}q#MaE&oPdRqmEgYz6uqd0wX=yM z0llcTfwPIQiIJVL2^23cl#{cgiGdB2`$l#0xa|@@Lg=k;Bxeh$c6qT{tN=~q5a7O6 za!`;Ah6S2foW zO@CVYQyLP4NEQ^R^K~2)=4~zL*>ilkLYdea|BtHv&i+fyj4c1uH!}nKf2{9orE%K< z288Yp>K#UowW&3S)SQmM30O+DAwW`ug;d<&rP^8{B#6fa__71{)Tyo)Zbt}E2w(xX z)NNUP`{c5C%m7l8W`PzIt+oolnc~1?3BxGlibpiHEGge;NO45R@ST$1d_CNZkv_=A zi<|^7mDhzK7Uw2;xYf4S!!vM^8LgLQQd^W($<`r}w4l$?YYvr35M&kUSeJ?2FQkVq zw4yf_jG}5HF?msVFBZYJ`C8P@To6q2RM7=L`(HlpFE8>f=n7caEZ(O^;+MfSsQw!rF#azcD0|qO z5YVg38CsecIYZGaxfnYCzi%XL49rZR=+!KY|9T`N0|OMjxQT_Cx$}R|1udMN}>4qY)x#P3D}|Nh3u^D9F^=1jQ*}CY~pHRWTGf0_;*Da11Bp2#$SK;RQx|K&cw>j z@}Ii+b@rwliUi6?W88<|d-#D4iMtSrg0KiF6;`zW+08^vcqDo}po{P!XqRXVTUQA9 zuJ^7U`=6o(6&hDh@5ueG~mb$vT?M#Zh%%F$s z&DPCUySV7+&(`1HF>*M#xVS!#XNaYrWOIaM_e9Ns%-r1G`vW0V?5_97+p0a6+=VWpTqCh4t`; z`4NI;9BRsrudb?sSLN}3;>pDxk4dr+mK~{5l5X4=gr4kxIj6 z2A)-cA5m+lBvR&f?q&7%QBX!NWF4(+Y;4TU`JcypU2Qj-C=q=mR4@amK|t8a5i6to zsnu${Uv6|jDs47fNDFGE4UQSkNP|M(y0(T9bO_goY&@{{FOEp;GyLwLZA*{ctj!N~?v1 zjqT;-^&}V+6tqP)QKiv%GM6vJ=ljWU9WIo~W_QxDG$O7CPv|Hm1#PB4Kv$rJ1hpwk ztj}3bw79w|c5*zK#;VFb_<4PG#qIS>qnO0!`B)~SM_~q1IT!}d=W%~@GM#zEQD0ek z`Sx&XWMuT&?f27@9Q?@Z`zdZ}Xc+i48jG9s^>@g~$msR@ru1H}R4Y}<=5Rxv;PZMD z=+U5YL{+k5?pPQKY9KZwVj3Dt6UPijR=2mOXPOu-&(8-id4GRm9`E zB{T;26lo%gSqiBuS=8$F+Omayak^km zTqL6jb&th^3l z91c|sNV)cbR29@qhU~ZW_STk7&&_3v+K-IybvljBDPU!1V;d!eaorJjP$f<#HUF&+ zh{7hgK9!aJ_Wkw2U$y2h@>{GpC|7}&7C;`S0X!}+#Xj(8`6F@=%0{6w4rLHbWN@9r z+K~&E-R(v@Pf5~9*an4;0Ei;9swg_%j6n5Kb>Y^$5ue+=PtUT1xPTN1_wRMP?I*gQYNrGQdAYL zK%u&k8LU4Hc8_=t0PX`U^lr}lY2vBJs(RrwZ1D8{Wc54Ua&u#&ZFLJ}ER0t+k`Rsp z5X+;kfT}uRb7^M>Zl({K%~9!~0I(!NB!_+NVQQTIT&edMlN-pcqqMt4*W=`<&`yeH ztlIqwdK3V6k=qw*Dz(N&yY*-Rc=+P}cyh9lsV1<#mR_$%{|Yt=5_-GWueZZeqE)Na zHr)#0Q=Ox`hjfDpEZXmY)!YPbi14~IJ0K7I5x9ctT2Z=gN9-ckka*_6cD z@9&x8O-vL4%*r(difHE054fHto<#%_$y6M^T-@B)y45A#v9zRTu--pDt`XeYJgHSn z6xVAyafbCx%62cru4LNb#)TIz7F-h_8(qq(Z*sJ%+%hv0`yJfN0tdvX&PX98ab&k*U8~ z+1Q+tE5(H;YY0ge@Q^Ma#AFVslEn*~V)nU*io;CJ%s7hnYyXDRKWem`bjmmVP|U*o zH@~vz9v+_S>+8h7K9C1UR`=I$-@U`6 z)zs9osx8X4f>I;_4S`}KP-zpu7G3Vuy3DHyxfk&6t%-)2=_B|rUNsG6Oz~+0#eKit zpI&aZ7lmfz+wrMo`#FYS`9(eGEJl08%P9OPjYfKqL^g!-#NTO9xh(6Dit<5+Zp@i| z!Z0x+pi{i=pD7{eg2c#GKP4fQuM{8%8UF4;^Xr`Xy;`fa0OJHNVeG2sui=@qN*nT8 zKLt-5{{5p3naMp`Kcx5p{Ygk&fiIF!)4ho22-Bya9sk~Z+}Ck_ZO#0?F9w^91gO?0 ziBB0XEaf2?onCj&-Q$M101&YT+Du|HWX1T7VlG5@16TkeR|#bHYNL6wM_x}4Ur>bI z=60w11W&Gv8;*LG@}4_EC=XozFSy|JMy_(c3*Y$rbratLK36H(+)%5eMRK?YNybW= z4V(#D>#e@FXc0?ks(N}!>Utu=r}+2EZ}S;fuvX{#S`?=i_H8g){&uJS4#R+3|T#PLfK4MV~d}K(k^vFiFc$nV_IX5$bF6XWX~t(m9wZ` z&Y*hff%2=1^Q!qY*(s+BEyaibdXk<`dlU4Rlu#>QUeqY0*LL^_0XWv0R_uDt@4&_b zdWC_7J#XYYPQMSiM^?Mp6T~_HzG5R!wxjVqm^klrv*ycJB+>RORr=B~Q1NKi{K9pX z*sti_WI)t@ax)$2SMfu)5^>M_j@=dhlKR@7r$njxmc1{6QuSNyR_a&u76Q~@_wn}b zlBbZCm6iQ#OmcFQW+;)vL}5qFPzklr$A7S)OsjZ@(WP0^@%O^Lqlxc5VzvD;iAB;- zUdq!T*qh&{(cukc=d9JU-q9rR3TMzISq&q~*cB>b?36>C|2)~{h6I)DER>i?h6Sf<<yS+FZ92@`MC0b*cfFa=lzTCE+0 z&?044>jn}68t}Ph3Rx%(TYhv0Ud_Z^3OHZ&TSM@10$F!Oq+}hf4|Fzi>}WyYA|n55 zgDn}TRQ~Yho{j+dhz49=gFRT_N=%~D^ngrI-IAH+7u})y*^$z5PIMp`#|-3AVIJ#N zx>={3TNKxfOy7v1J7*CvD@HiC1NQviy+Ck-&&cPD;<$)nXw&7U2|zA#uJbItQupdH zYkMf*G@*#AVh3?oPg*4Ll7gS^4Df%b7u>vi^gR@&IcZ)XvMrPr+N1vDE zm;!;J2_DeT5@f|{(RoD7XC^W2vTwnO`)zKS^$Vr(BX<9U#}md#M$XLJbEKE9uxbtu z$I}XQLTzs=j}UsKBM)o>E9bzBNjW4UDeZnAq=#0{x)}FF^GEA3s0uQo$Vx9{Aw9e$fxoZ=DqbL2VV!gPQyk|o?q-D4D2?@$i9S~bUVSim1 zGI1@UdNub2HmyGr@}GicV*00`8JYf7?fSnLyM|Sz;x<_kdTwjy62L4)P@cG1ZCcFh zB(Rr6;055ChMpRVNwi3kzCUN|DSD|;Xc6+#P&qzNcy`?zkK&ET;o&ttbMV-`8-vLU zs+4ruBvhi5jfu`f!{Txqio!-)B~n*xvb`ba2=_g}5R_TQ>EZEbMs#oSba~J;7D{YV z)W&b#44aTFHY1H!$??})PZ*{*x?wVHG*+VRc&~SQJf~`(D#&OXaH10jOtn}*KWr8u zSSJr18mF;KJeQC;-q-^BefJrS92FylzXFMQzHV!wFHG7ZD;*xe`y&c6lzuzwVs)WZWr{XkqWCQQ zI{vf*QS=GnANo;A@WTsfpj#-R{hp-w^f_opu+Zs;@SoQnBFHV#5D*2mOXt5Xw2&yvn5tV6c7oo zjKiLWiG5^{Op+>Ux0;pHC2f#xjOkVT!VYILQzfcJ8a7qWOSRKs0pTW{Us45t6ZkMf zW9oZV_-Q>O^H5ni1oS0D22Xa64U04^5_Lf*?wSs2RxD68~Iz-*~GDQ75< zan>-UX-aP7T$+8$2ilIou$ieD@fv)jvb-^dOg*b5E1`N!3=k=96*g}hLVRoa&RuU_+Yntvs zV)f%Y-#UIJ)J*n?-oNVhZ%FShe4dkeV1(((fRqF_j;Drza_$vlLxklm@u*ePKv4JH zch?ngo^vl^n9_-c9lprJ5mh_7V*D%^T$v|i1bO#}W`}x6B$_x$v$(3WbwAICY$GkG zX9GvY6%uH*x=OD{67)YuhnSi^6Hji!;J=8;bSWh=RUYdHU?&GMEEgpebB3%uqO78@ zHtQQ!(a0yZtBtX2&}3>;FTGvwuG_N&N0pCy@x7{pAeBDzEf+mAjX`xeby{OLP~5wZ zM(#oY0u|$<7bCIOMbF2@VE3T%FEN9#J<&I0(gZfG%th`#mIFFOUu`?ILi7?dyFi7i^?T1_ zVOKF&4w+=BxWNnSMYt>cAhAHIjRD+^+42uaj}GjI zjiHW|iVx?I!w0e$PP(BXCMpW(?);*s*;mPotdP#rRncUH6_MZiseDGyUNwOJH}UY_ z6#to+{&TEztSBP|ECACzTRY|ep3ahP+~Y~3IiFd__NQ*S8HHweIq>xo7nfG^$Dbge zOM>Y(Bp9J8U~g*<(edf;y#tyg3c;IKF>t-YjU{@F(&Y2@Y%5Zr`Z|=6rDKgL>vmGH zA;1nnMg_jIo9rxDuE@;3;(u>cTDHgB7S*G6|V#f8^}OKUr-`<&hn z_Y7Sy`b-J%)M(_Y{RxJT-K^UKm_Q(v`rn9*pvJB^5_gKWkbfhknRI9R_!h^ARmwbUL)in^L{cmG zPZ={a|5L_{%>Owa3YqSP0%Ak}+2fUCEJo8vl3{Ic0?*OEbTvGFbBY=8xQ$C_L`19% zNsrSAgT`SU`D(AuP#J{_kvst535tq`4?H6_vCZRojYSReqYf ze#1{ccrq=!_o?K8*mYAt5az{cuLe5;I6C*+hJ6;o*K9P@e5ZQkCr{K#aitp~pam-R zloG%SaF*QX6-8=L+5=PyI3)u`k%9H^Aq@mv8n6c`g5ZT{ql!*cbxn?&b#_>v*!VGa zpEd?5u7roAAtE!_!A!>wfT@O+p_|V*|hZc z5XACJFto*$p%Z5dgD!yFAQ!|Mum}$Ov{aE_PJE|qE%4quYLUln&1Sw;r0>=mnQh$H z<95cnB6y#IgYJ;7dSg{i1*o1ZPpq-GsXefm#Tnywu!FJbd&<>|xDdT@%N~3a@A@A> zw@!&ACO~p0PP!B9pikUWD1x-D*=!c6Wz%#SFtdpnm4l0a2wakpbYnNVwA)N%5O#6m zq0f{Cc}wZ52b+OgI|Z#DfSY0EHeWV;Y_YcINAHh7FNQ^;j06Zu%1Jf!3)uk+k$tGJ z?w;DHjMlo@?G8-~b#`|9T>lY>*mDnsg7Q!HX0KN5Bs(|RISpAM`%tZ3$>ft5yr|b6 zxo#HT2Jd~Abk(G&RF|yeXVjWK0O$A==LXClmX-LYxw8E4H2Yr}$zKZTKc$SSn z84-fL_=Z#6hOe(ZKcz7D5S+zV387F3Bojaoy7-_)!6jm7JXCk=Ol_cT#Lp(iBPy;1 zC86wPLlBt27oTRjIZZ_P&Bt;(eu-!vie1}x?NI9AY*km2vO`y{3_rmq0E1{twj8{) zRIbM)O-pDqLru@3urMzn7c`*EeTutf-`<{PI@}AUSlypvH$__-WU;VD_Ld#Tna^Qh zE@RNbyn@MWPLFOX@d2DIXz&FibUuWoy<8jk8S|+K9^hPK;-xsPq^ibor!{_nP}iwH z{~Iy=yTtAP1DQG<&t)~p4>S7mfr53tk8<-(`>p>-sLe(N8^RPfl8R0lNFyvt9%39*w zbZ0|gVmn;HB|lAUj@OR{d=z99O|c@J81E$-U%{dz8)^-NMdJY97jo^%g77!U&PgtaaB&d8E4u>>^?I?w?e zWdXm3Z*TH2`KNq-{coc4UuN`+`9C(J*R|1uVPr zWf@U5w)EkL(tJ%tOF%GtK2DAa`K%ltXg+8#SIF*}OEH>MRJ=44EB_PJN+Bf09&W}M zhzhXWFjFi3hf8^SdwiuL*J;#rhwXg}Zbs$%b-df=eX-~7E<0)wp8$UTDKaoXv2M-) zmC_wlOv6#zHm1rj!UG13W;?nYuE5M}&#PHuoOy)e^JRRRxca!2jD#3*5FRO?^t5pB zRO8^|EHx|-m-hKt@f)`x>pIb{AG0CTa(V=(`S2LMqXiE70mL-}z0>J9zANSa7b{Bt z68@1!{HX|8LO-CZn$q@vBg}up-2df;|L0o#zbCKT8Zvg+95CG{=8|0JM@D9TA%2P65>FYSG}0Dh_f zfgnhjb=PT1AP2rWw!XefL{NV}RLd`blKb+8??6IOG&_BMsCuh+aZ!F)HM{>2rA9Qa zGatTqPg4Yn5U8pd8a=Muoc{9t_&T{cNbJ%*7%pAjM7O(pF;Si5&;EArXVVpE+Pdke z)!ngi+w|kLTgeVgf~{4f%$<{{V|a`R%zZ5HW2;ld^s9UNdcTaj_WfdNu-MCXU0~<- zbnD!%4qFgl$IJ?peOD|L7CAuT2Qz|;B7p8o427izJsTzlu!iNI2Dmavu)Pkz1Uhr@ zzx?nan(mkIwjPpCNW&XYIJ@A@rIyufp>J3;1rD$#M;+ZKz%6&P`Ag|g)VisKLCuGC zT5<`&IDa}ylP1PGK`ZmNM?Y44`oA3f0SxQfMI4yTyuRj4(8Fk(TjO|$f@ZcS4wso; zg<{brmGOYW88QNy03#N4_hj%kV88(%3=SxNYY?)g>NwDUJaD)A($&m_cgDt{XvJt4;z65-;UCMoSvUVayki6*rq0I$wu$X-0r7>jLLy%g>~h{_G4 zq!qoeUuYPIr|I%TJH#Qe#H0SZpz>50D#z~(k#V$>yvn-sc3WYvqL&~d;hwkWV5b(d z`;EjkoNB80=gV8Z=T6}*k5vCWF&)`Ns_j)xHKB@6MM2}@mVrdm59d_tg)Px&dVy#T+4!hP}38Kj8g=dN0BBu~$(5+nwOVqZB5}~=PeHipvNVN~O5?j+&Vu<*{ZWkCb&g*=vjFKA z0U2G+6DyB>!Ek$~!Hu$D8SqW;zq4SRAIABe%I&rHHKoBcHFAc(7pzj91KJmuQ$A%#;^0@5ys@y9z*8f$W1GTPi>wTxzrw zw+JW$0HzVF=ZzL|c>h~=_nOjgk%{>i)4v}7qVIoA2^g7K*!~-({@(*kOcSVlwgwt)bZ4iNgPWThBwRne zy+d1@mVIC+s2lVR2n2{51YN%lFbR9y&3XDw`cJKAZCQu6)#b)%m5({a5{m{2O`j=& zMqME`G&pr90l%b(Vq6ez-^|SL#LP^Duu!4Np(*@(D{h1+_|btSuq(=^Sa32l#M!fH z5?Dt!XoWv6VC2m+0300vcr5{VE&&&pe^R#2-fn<%5P>WZzM&-WK(9-A3}Jp{xZ<4-zVygfks+HYW7Kq`JVtN1}JF{eBpeq?J~V8@5= zTBOH;6b6e;NS4Xc&1=PXBML7}N-` zJQJJ4clt20wS{TqGa#TY%qyEIf!G>5%9~g;0`xvDH~*4AroC+Bu|InK6F*S;V4p7R z0C1|YKgl1|A8~@Lv3_L0)6@NMvixFp*kaWF#W6e(ce1MK%hQuFm;laAufz!Ew@|*5 z;GO_BR{^GWfPRYLK*pp?fPJlyKN+*jTf-yc(<#f#Bj0hD>)#X)u2W30Xo~va;PHi- z)C>5ZMK;>}Cw8Yd)6c8N8ytZ=xIRBIG&VT2G(Q-F1KSZYoAV> zW3YXLGcz-zlkfl>!2G%=E7pE2bN8-5U*|`!gP*KHy|u_|kos?|U}L)@NRQ9()YrajvG`^vGw|k>v(EI$qWPEV|p83AN zA50!g7@+G4yI*$q{d5^KD*}s(O28KNh<`>YDIuSMUK{T2fYjMN)&OyEy0!p%TH$|w zY6`)c-l9hN98qy-`vC&{=6$$I{gj?xrGOv(Xd!_2dacR>cax!k=6-0MgHpn+RFt>iEX@8rnejCkS+29CR>Z@h) z<)8sTgL8fSyzaD2ZrxnJ+50RW<Bl-RQ7WVD}U_JgJ@RbF~9N7)W z?kjo19~y+$X9nNwo&RnZ92n@@ttpMBMR<>^NUJvIs0@uWWItMfV`3 zVREDx;G%F68qI?b-`N>oPW-F9O+qgei~H>DxA`Tg`djYaagSec$~CcJ^jGD#tM^od zd@3^yLzbf$z7!v_O8TkHa{Q2|BZ85A;V$PP-(SzGII25K)a`~u$caA|G-?sG-(+T6 zUtP1F&1j`o^n}0ic>yUOX;)rhs%wu7GKjtl>^v-{;1h9wa$~lL0M3 z=<-o%h}H!rc-EG>J#tRg>7F@Hlqvu;IqyY5b{R4pIVO*0m5GnZI7nCnUS^exG9*0X z(WLcy5}$H%tX>%2Nr#ak9Eb3vIpe>O`gd+-AoqMa!i*|`X2vK7OEd+o<*Unj1~aqg zXztSHF&tuSsGfgexYO#>eoY%f+hFgjU7YB*5x&B%N8#()+|Nr_pEJB2T(uXG_j?ZI zwZomFu^D3x7HJVUnr*~9giyDK+)^cL1R(1nT~|?s`KdD=f`4$w22n?_Cf_u@2ZiiV zf{su5V{B|W$-Zb5uT{KrtWdsSiW6({qOF_X5L=Zf<&8grM68v2ksH~tJ)B~ z7@iyZ0EbB%wHW9>Y;E}N0l9GsHh#gr*e`JJeg0|o??d9K@+cfn!!$-o^RwcRFs0udC*%}U3@WD^(f|Le3}$QS-0HTVGa+3 zj?xewOk=7p`zJ*bWVdsgftZMpC1HYWwwKtDw5Gk_Nlu0w>G6l&K%`HkUCcNPa7sWS zK^q82SF_HN4s_?vru&xWXS3FVNCXcPZ z;zLlg@e$QL7^YvWr$B?@nyGrvWO`#A6#PUg@W=Dax*tu-dH< zc3?>epGYfHI%s9&yv-+^o&B9>LU^Zx)TV(GgNV~&h`ARNZVEgfRU zCwRm~3~VWlX|!O*LwUGqs2HQb?rv-Es_4QQ+itD!A<{czZjenmSW1E|^Pzg4lHS8> z4_`M?>}lAld|UHgzU?51r&aySLpO8%X=3G=h}ciQny#@4HL?+*P_nMn_<*OH=(;g* zBkrZUci6aVmz__FJWF82bVYerx6h&Un^R&zf;L`sT@r8yp;BM<607EP-}$t z4;MaNM}y+Vx$@4!oYc(YueLZImOAOjayAWDff87d1wP$1tk8VL>$7^%#DjxtCWb7_ z`7LQbOnixFK4Apw*;VWbKL~c;IGg)QLz?n)Q1pGo&8!l19)G+rLr{r%qj^-=Z9XIM zK97DUKhH%s@?18Y%ZH*%W2O>GbFu^6YEG$Mr8__!liPh8=Y08Mw!fidz5dy#LqnIOk z&-$0ImXg4l_kCM}o`YVOHtBYRKo-ONc#6UBF_^mRb+!%sJN>VVljT@{tpN7~WAcZm zZXW}i@?H@TYG`r9w>*b4RVqSM-a6&rEYg;`=cgAJGlR`?;T}wcnS{$tz=%ggp8`e1~TZm>;mg+Pi%=Ep^|HD7bn2Oz(S-x9pPm-GjYOp!1$)2K^2K7wgukkzXg{F*HkpDJX)M;Kow8 zMZ_XjjRScT!cs1_4#)lP^y)!4i#;helltVUN?U&Mo=kUGxp(hZYvjk$%hJUri~W%f zMoy)jW3DERqZmXb#vM$FT6eHUZ|SegKVy>S4dnHJ-JBX-uTs%xf!;RqPpe6zA5oDi z;9>y|u~Xow;k#aMac!tz7!vaF%Vxl3UlicBE#6}g+Q3woJDa@4`5#kShVN#a5i>CW#Wi^4q_F$p@6TRd4&&} zqavTf{qHB*mXb;}8qU_b&3v;|5RQfwwyB8DfYuOwtHh8VFnL1_+I8-|b%~E6We^GD zE_1Jlv@iVo>BVlf?wIGsHY(7M-|`Tma5d8p7d)d5LJYpvH!=-JWzD3WUYYfRf$pm%usZo)oenz5}*si+NEJodpXvsgrSGI247OJ%vBtB1kS3r z&>k`Pln>p+H@qqTT;0O*0YzVh@;zJG#sK><-f*~YF9i9j zC4HhW;^0&lw)u_Urdf~wI)u-#&7Bw08B;DV`&d9x3Tjqvi7^Q}LTOD$oMt$3R0v4K zuj`y~$PU?R#mEJvr$I6A*S6vw)oL(HAFNurWYM^Bdt0xO3hE82eG8Rd0^>lUYbeG8 zVYq>``Ajb4)DkD!(J+f~`E8_WML>x?-`!s&{je>Nd8D*T=$b@AQ5KcZ5xa$W)jV7b z(${v~xsrdwO2P7q^?;LVP);j6_JxGI881}^XSV5^{fMyf`xSAff;n)D>I>Z62sR}! zR5=r(v~`lRqNuDgEsjH=y6yc%djFUp=d4^Y@)S zMy9+MjU@AN512&Epy%#smv!iDFO_|R$pMT`s0)XD&&)JQfRbcMJz3xRtZ=GKkcw{nWKY{h`IpO*y>Mz87|FE&#c;9y6TR0!I<3%mAQy++dHJ zj*hjSrU+Z6#iwfrM_pxCrgyD(u{e^aa73-gE_7+4vZAnAj;=PA_7j0Q*!<)><#qE5z5Ji#7RN`>o zm@)kfa4Kf!9szRiENw}lA1sz&wju}aD2OH`v+%ezQa_6&pKl7;!7)WAukzz&uPKc-)ihlG*;@(7rJe~J;u%m}xc)u0-%BM2d387t8{|Ed<@aOU zl|1HH(jk4DD{v9Vojc{3U1p^e0!@XV)V?{2Sp3 zX@ehIfC@VN(|9J8-j7{nSQw2>miXL$X<&dYCNQlsec0m<&W!snf+QvoS2E;_h^*Tz z!_Cp?%RL@e3NeKdb@ow!Rv%K^Wx==hPoT9utRSC1y3zwrIzwLaMDtPPQ(Y>J?-u`=vB z6w*b*BTsS}#tc^M-ug2yHa-a8;9YmqftMj~Dx#NM)3-Yvu@c@tO;ai!j&?Q% zv_VhWwW*n6U>FR`+x_acNvJls+|^@q!nG{rzkS+sN)l-ymK|G(FA9W}-m6x|woyHEK*wd8Lk}o}|aI+&oWGsR|Uyxgj6j)oX zgP6O-sUn88#BNFrfCJ#Jf7yus?Wy|VXN86);1&M4LMsHgkP1r(&%i*=<}s10A!X8B zC4I}mvZXJHYwsOUdz7)B?4ZsU=2Ol`TC$|gBvb8lb~F$$(_4twup3g3seLobddscD zi7?1wks#DvxvZ|@2M7tqi_aGX=|$dFZB+;H-6q#X(I0AqS4todfVMFJHj$dIA%bZt z)_QNL0)AWB{T^0}=y(2K(AQ`Ilb&J^ zk7CaOST|%Pk7xXe=s3W916${8!NwUOk3HQWF2wt{dv=GZi}Qfcsp~{Dxjjt>6uy-e zsU>rI*Ewp5WO(Vne%?QR`^vS+$LUi9`2RYM_tyL_!%dOGqj!WLsuE=UZh_Z~xuv5_ zv5cnC4Jx13_Nt6jma>9QK>%2WiHJZbl)@elpe(z5}vhSG$~?_kJ`sp;^3+!xzOQ48(saLE`~2<2ck0bo!;`NJft>@FoWhmo{G1d%-2A za!q-5n(DMb$AZ@@HS2baRWHo{y`$3EVw}hI0*8Cxs z$}YYGN{t)`PC;_)V;>=Hv#D?34*PwCknb)7xv>CKITr9^sb` zkJUhsEO8`Z>|GqRrzn8m|Ey)VrU8zs#=gDOd0>eBK64<&K-&4O$k z;F8|`(dWD&rfo!I$lkWr){c{i4~i3!iR7GFshYugrnJ=qndBHG5$l*ruSe%Z5$D5( zaOeQ#?wqw|A2sodHrc$Ike7F=I3iEM!>Ro34akr2DclBAvC`&~4#f{!8X;^tYXptC z10hlcWy?mN%=OeuQits*`lE=vK)WPLTK>gzlW(rSJ#z-42d6LCswQ&Na#10YQq(d}}m2JEj%fhF3ht3$b;b6Wnp>}^XNs+^W zPY}A*FOM;?GOm>*3y}lKUAIJ5*{w1lEWRfNwFfLJM+>J1M$Z9cY>djr&)n-4VMP}! zNlD|{gjo#tzf;ngXBdkR$7^l3K}ECO{uopJvZaQe%1BcsgCG-~e!DWj=fiIti@BKI zePh968h;}tL{ZNmX~!5JBdz%c;H>qHY?P#M;?H8URCS>7lo7kjt4*@ix9ZSPV67a0 z;f~a8TI*3?DMQpunM6Ydrh2|K&$sJ#$HuQ&>1xqLNAo zq{t|(wAw-~WarYHv&*aXy`TA9e}|^wF{n@}r$B{obfv}LF9g)?#LOU8@v?NM)0FO4 z=Z?jC!ulj3-FZVwsybkyv_`<6TJaNO%>%c+z*@H zF9$df`XsN)S%|rsNvpl$@}rI?YP{tEMdHoj^5)awef**!Uxz9LuKG*hep}53zbWCD zN264pc6AfC<~8Oo`d_V?j%v)J)diTw%!+9P?G-=)O9SMmrUaFWWMmKeu#x8R%86`= zK2$*XIyFHiOiVV&?#V{_m4Xb`yC){BRX|R&*-e1U`sXq^vIG~LJ$O$Z|;#^ zH??wlceuIgu$h(Uic3tE=>1LiBmEEa*q-Gb292W>>w4+9{g_?FZSJffV_h0OYa~ZI zI;#nZ$)EE1-gjre`u8mr6=cNi#yC0(dpE0RIa@I-S(0IUy%c4WQH#>~5wNXKe_=}9-1^{A!C~}F;u67;^9A!1WCdWd=D;{%^C2%!F zelpK~%^nhG^|0|2gPmaf#vx>E6ADj__as)hMkrSg(dyy(6$V9ZpxzKN7+!dM<;aoi zN!$vzi@ID%1l^K8?G_x$GKu6^eVlrdG52r^1(o6Hae1bMd`ikY&|l@(l=!vdSeJ_H zZ9-OSD<8zHBj74B4*;h*D_Rnqck0?EC^U+y*}a3T5~h&?3Af0D63Eekt8Yj=*<3aL zgp4Np@gzNAj(k!F%;zee9kO^^`75t0UTM%=95JvzV1j8ML4Fz@#OGC*z3BMS+;&Y; z49lcBNQGVRfjaRs>X-#zWR(1XfIFiMDqo_q8B%4{>;29cz4Lv#J?q=)$x6I~J61R? zo4_`4A|Iw0``q%dB8(n9rNM*}VRPqzmuaYIe=qRS`&uY!HVy*lmQ-hGgQYqDb#-H% zlMpInAO@&qegcXisu)F?4L+NRwb4|@=y`?`L-*||mr854d*Y#c&@S;@5Nrw<_9_tf z<9+PU&3;m^K3Yge&#g-~$@>%oAUiAChh!YBDMTgm<{WOFyz$}#9wPCccdn>Rq~tvI zC@Af?l*f+N(h!(`Tkyy+u^X@94@_2#4%eUCOF#iR_y}~B2U5CgLdk`X=X9e`txFm? zqR0U8k>~;FDcL{(O+;<;Y{%v&q`FP>-&qliQF@Hlujch!6_O%zFim#X&_$`rJ`Q+K z>b^8jD*Vq6rsR!D+00IzYFjOtkRYdM#WD&<4n9b~8w3c5t-KO?cOC~2G@;fIYZ0Z9 zBL3jsq8UgTmGsvW-KNfX)NlCSUXh|3*0v7h3Jc6gS9|hNLZdp~W?IHgFHDWE#F^Tk z`{U^zDweLt{Ct)Aew?H4GcFehGRtV3-3CWT;kc%Fj-o;3$}(q|H{@NoH^Zleh;d)@ zIaGpXhE)jC05-^fv6?p2^rm9>sFxA1sAXi~nz-EydAr>NW3UMPD60@$*{fG9iRqT{ zm zm%WpH`F_u{)>|7=m-!NVWJsTCC*66ZHelgt^&-OheOp(7xiOpof=|$!rp9~klpdh3 z_xEZ|)I-H&LBdLcb0}g)d~=u@L}f6KH~3+wZuldob3gybc7qrZqi1P|87>!(`k`MA zQK{8xM^ZNav1ImZj6&piAmM*x+g{74eEnkWcD= zL+y`Dy5{MTStq6a#5X<-8^kP2cb>jCM9KSx`yQEI5~;EM&c_8*eRkY<#B7a3!c6Fy z?;r4hM3;ovYUsmyzV48I{Gegvx&;Ld>wuGrL<<$b*Diq$Jn?c%M^sqIjeNgQcJ8$F z9bY1lulfZk#y4}?WVDD;OPf@%!1g}sDl>snLfTpL_e<}{QB~8Gn1h95MlT7 zM7byil$`!JNuh}S_q{{R$CmZVGSm++0BOeH+ZLC9OQdE9x%#m&(3O79?UC)cyvyVg zX73$0D6v)DU6N&PMio0hgzVFY8;^eG!onFUeZJm|ZOe6gO0UO+MBYD8m87-8HVub7idG=GZfKRvC0D}bV2Cz~K|hu6uc+xGdHGL4GU`_x|J~BU{twAv?WyPuR8V$Q*BL|D z-34qUEEOmjaM9-Y_}6?lu=qfEX5M<~{I)Nu-w|(a%=~|HE=Ly=W$S$)j7D=)Km>t& zQVzekJCx$+M9;9EcB<|?m!a}EhoCyh+;wDaOK`$uux1>YN*ictqgG{1Z^3;?Cr)1 zA&e^;Fz=wn>d$=dPn1mlFpj2mHWnl#D0D`tUhYmSsV{Vs3(#(#&6(A^707hPZYq4Z zmU6W1vP^(&>q)5x1!4+*gU-4@{JGm&GS}XrWP0E+W|CO^*0IUefJZsXP_*7XmAmer z$&smT(I7!yhy|r?lY#+e0vH)GD>GY-EKcDu&;=LX@MSjoe>H(6WEc8?PcxRuBmuqu zTG|&8TUj*2$!oC=a=kLqqz{o6a1qNiBA(nDtL|y#veY>xPLlRXabRiGKITa@wSG%l*r2TD z?_T=tLj8lh&b`~+t@&n`5f4q|@= z!$QN-(i;cUq;sUj%JAs1&VH&o(r{{0dru>#-#S1{oCtJa{;5)j8Y*y@*rLB7?%#cw zKVm;4tk{Mx0wNKheiz%Ok`wM;bJ|1HP^Cu_VSy1+<~#cl7D|B0>eWtXoowh9f85%)!T97gq}1>P`XE66jrs{;vq?$(4>{q2CA~P z$hb`?_mtuG0%MfLHu>R6rk9_XK@oGE^59 zq5?jU`)(Uu%53H8V1P!cm+E%u5G72@FOWHHx6@!b>zGU9ucOy*ao2Xk#=*RzHTRQ& z57lrMMe2LJURT1GicUmrad-z3glW0KroP-@oAUrZn>tC_tvw7zQCC;D_$ZjLrUyRW zuXNVY{t-pNh5V>1W+yP|HU`&;$%-eY~y9yI#IXPo3a zTOc(oSDaO*foH?*q)Q=Vw)k>d)O})cCr>g_mT?8L_%c$VVy^!Rk-b31LgJM)>|}($ zpw&2}nxKtQJhdO!Vo^J(w3Wz`f#tZ>V9w2kq}Z8Kg1?P{DeCG8O|}X_cRPfdafx*{o92v;?U+RO!H!~Q z8?eVg$RA>I4rWYYg*HeyOf88Cs zNAc%;!Af?5ciaVb!mieEcJ_mWqYvETB~AwB%2Ux>Bcm$Wtaoczrw=bCsqhH=h|;i7 zQmP~=Y}HqUOcI7oal&*^dOCKQ&dJ^GC)sCCfxPJ6iHx4 ztfXS7eY$>zj4g;sMNU zJNkKWq&gn(fhQ3W(6V#a2V$#0*;e$tuQ01pbd=An-8<5281Tk`Vc|~htTVN8uB)R2 zmyYG|iBKq4*;?0$q#LR&IP3+?U{jT}lcpa3eP3iTl&sB?-rW#nY^0 zg$1njeygGsLIG;=WzfvQ*1O#XzVc%_t+W6cA6!-=C-V%jLW$tOMQ6)V#dk%VMkeDmw8+^q((07@9Ij8}zvw;WAsS`30Baar0!C3ZMEuqSNH|{q`cBXI(mE4bZ z2!>*{`!VN1tggoxTQl2}Q}m69t$Z#}YlBV6XO6s|eyxY_&_CEgTyh3efbSvn8Tzz9 z-B9c7S{TiTM!KOC4{^$RM)LJ>jH^uI}~CeWpp^E?2!s2q({xCy8%(K%+OS zO+7dwM+|b9Ma<`BN}lIrjY3<9y!6u{X7L^FRp|Yc`Vv#CGJR!CYJ1GGQ&FwYlQ5z^ za2sPNMkBKzZ&FPEbcg+HcRA6X@{MHbWg&r9mIXv>9sI>w;-U^ zLUzFYnrIp=Q)sNRyB6JWg`#PuG1U(QORCByU7Ei?TTprg!UDFDZ`G!T!lbJ{$^g-goJf^ZqwO#h}bFA?EfqTgzz&yhPTAi&9Y?$UIv6XXL{KH+0jlmG_n+>2hAfXkL} zS3YCK?2P7!KJ3}BV#DkJPs7wGo}{Hjm5k2AxTI2*^scW3!F`6Wc?`#9?W{$dx3-1# z+Fj-{13g89>$LhL2OLTrfytw!*?wQZymhtkUlS6I4s}P@Wc+YJIoY4YSLr;pUeRH* z{SKjq+)`qZrolqVsT=MAg2Md=Hi3f9%`JO;_|CzYD6hrp(`5yWJ<*7C$b zQO>W{X#C3lMTa25f7~a<`mx=;T$&bEQkF82=M*pf*+!99Huy4x)E|LAcv6)p68+Uq ztt>msv5EUI1Y!m$&UW@{jI}oP_&wO)heH_jn}GdUmQpjdZk&;eM2@*{Ir5F7T9|kl`v6s#w|N^p(I~_ZMuqjvt1HB(OFJ{uuz?n;yZ%88H}({C47Y&O;ipK*6e@*BCApN0U4ZbHuhjBCG@c_i7=f} zV_0kXXrrFGdfxlmqg6Ky5yRFAf%uMC3=zzkt-500M}D}3=rx$x`%4A$)BZZ$H8wkx zYO#xe{IXnrkL08Yyjgyg{LDV=wBpXoA_#^J<;5fsEexdIK9}yK)4(BWcRj$iSR%!pvncCD zss8LvW&Bk4lZo(Pr~;aw)HEttTg7K-0b zl1}hTs#NQGn`DOrSmSvieW$9k5^+XK2~#Ch{P*&lqmgzQg|DU|PfI|-t5!m-y@=6HTcp&Ul<1Z`OAxSKU-b zQ3$y$+ij>)%P7dRFm8Uv_zu)*2oG8BFY47Wza1cwsD=&)YqqvuYt=q;7MSCQzjQ#( zATd`_UZc&0!CwKs%e*4An>v=LXt}V1+k{&BtcCX1z)oRjGAORj2W`7hAsr|7;6XUC z^k>XP==k2UancFDL02T<7WuV<)TNqqnR!(!twKw>ubD5AVF}5eVS0+e!ihenpL2NC zYK80T%B0tE)wT!D+k@I=!rTtwT(42Oa~iYlWm%&ny&AF%{;IEVT{9-sxY(YzJi6%@>+QbnqP z)YX})?DZaFA--O1Wr;?t?Qs7_2`4(p6DD>qJ_>{=uqzB*HV4Q;kMF z$!u`337@^WfB6o{(TZTZ0oxEEl6ks!@GF(Rv+)S81S54a5WUKrgY%Q$?iUK3M`r`} zb_+I1VceP>=&@$OPEIj=H&6+br%~<{OFyx#R}cpfw(jNsYMmHL$18@ zZ((ld=S}c;PQZ84Q0U4XW%*|7-*@{PEsoO|UBcdxH~r*XH!?YP2a@aEgXLVe);L3w``XCU7=RQ{(#*`n$c<$$GHeGN>k9HdliF))I`5o4lly#DVkR1uM zuIggTB_l5IwSq2gk(RXCNrTDq@sp#hV^dX|8F7gbTU=2aH+!IO@mLF>-`amPQEhiq ziiZTqLe{W2xYI&#jgLgLs&!If+ECA<@V=yaM#Lf%&xjSl6k?0pE| z#dd^gfZdRCUujCoxvOA#8I_e66dp=fWTIzQ=aDIn*mG&ci-e{h8R@ARi^2azC1qGa zWkUMTE0oC?7NxMlav;vKlDTSi{<_6HHVsy#k-!i$)fSLDP;Ng^W;X4#YY~{R-$CV7 z@g5jtkL^S9)*$`t6p$kq^u*IO93072e5{qYi@(~8k>GBMFG@>=j=Me#J4$8LSU;ly zq3dk?fUW#)n3ddaD9v%ot{duFzkh5~JFSU3^To)VMTL@8-s*nqq{rVjOb@fP284z# zL1O%G;HdwK@cx6N*qE696MB}=cOeP zAPRA|w&>|en1=oO42&~aB{?MBTAX3#a|`{b%2*`>z~;$6?=pZpH$F2SI}J|FGcGGm z`ZG>jGjEYeXJMc*od}z_`CxA154R6s*t?>Ajnjsa1cL`YwK}^=NLzKT*1_h zVNfB1cw|0nV8qBE0=t{2|IW7jU3W0|8-~O7(?{-QAn9YE0fhjA@Dsf20pF8^^+O%S zumYbwhP3F-BBlaU7vt;)hiz(**r|SaA@#$b1l`5L!aDjU#V5Lf5EAYqGWTPLu|@jR zu8RWi4+_6)Km~DiM@YU}bU9}c2tk;Wk@1sZ6m|$sVtvfP0emyp!pn~z0#c}5*aoDB z8r)e>KDMXy4z(5x{wl9j03XUhyYVLsEa)b#fgyqjfh~SqZgopE%3no5HQj_7}jts$e^#|(U*?ND|T9*4XXaE zOrmKE^uC+##9T?3SJxfB*Kcke3G>#BhLxRB%yS##kBs0cIEb7$mc=7TQQfneRBg1r z9(EoWTq1aMGz@e!C_x<%WVc$rof}AaKIB+|%+H>w7Ci4xWCw`e=VYisXe+q3FXCI_ zzdFPqtoM+EBNqUkZ#0zK2XLEQ1J+(#BWM?j*OvDx9HS4)Zax6nBEA7sXA+?R$m_?$ zOu}1Lzs>G6V+>#b$Z5nc2hJyAYFgbx1w2qy^y>icbccWh;RWj#1QAe_geUU+*nP-x z$@a?yJl*v;E@j#7`Rxq(zIb&g0bVZOQ(#ts>Bxw^0L+EIJJMKS20)FonZNylw^vv| zV9Pd8@~vm=(=7>DG7sz^O~PVaCG>q30RKi37=``u@JhR{-p(-FVw{W6gAa8AL}dH> z$%(DX_tYN|P$pC9Tx&*HcB8BxOYz$@eQ}}KG| zRe8k<1A9dWiW!0M7Xjip{S@8^$$TSvfkb;dr><5)K+RWsvEGwM26Pax*G-@wPzdT1 zEUeS?BjksD+IJMNRf7oG4JOsV^9N!wykjYx6;DN6iOYf3&$#|I89pzXUKVAGzaiIZ z1PwaT9HZlzb95?c*Lxau4yTJs4qOv@ua2ipzh_>DMNR`lluQ?*=eS+Zj}NCs{a2{* zAJC=H#IvR9!2(2K>#+`CeaI}ax+|k}Yd~qkUJlx?YhdkcUS!ln+59)0x!bLzS(>QM z2BUfa3lbdKNZ8e|gh~R_Z^w@`4&>(^?&0#>4aKS>Ttc1NY-h^A-CjH`q^}N10K$r2 zlTR`-Yg+vwNLKvpmeoO<_kKkt>PnWgBZIZtk2d^_?R&B4!v^jw@QB?H{9Y^ZL>WSkSf# zWHcC9RTiiCpCId;tVd+@H7b2yEDda9T$>R3Y&>)lWSh$;#nQ&=u8e=C?u>vg3y?7-?Bs+_GIlYJVW!D-2&>wxv9 zetCAVkWi(kw~%MHIl2~6UZ&=Ou`ELss8Y6k?vLi&8xwXSh{X0bEef0)jXbO%nsEz; zfZPqEm0XU2OC8k7^Td6B>IuuHSzc%4Fw;}F`{D}A-}mn6zxzk2Ol7`6cXGGhQ){b_ z4UHuS-3W}=NT>B;ci9q4J7H3|^a zyk7jnL`a2r)%4+lkH`GAVJ{X~*Y#R1G3RI{6zcIt!S z+w|p>5q?6fEd)&tib-;Vo&@R!THwz$Y)`2`mfUsu9Gylif#{ZI&((fa~3 zx-h&Erjmb-UYFzKQFCa0w8G8{p4Bio3L+$&7R_$8jmmE9jP7%k&h5>gsOi|K9pX2; zc|}UbP(O1TU9;p6W0%$m_;p{UiXKK|Rt{BukCWJH0pz`j5f`b}cIh?*Nd@w(kgzIG z{;UXzMf@WZlQJfpoawg>R%W($sdbnmENsj;SvVPo8lBc{0K~HQ5Elpe*wNcr-&Tpz z(qXn}G)TE{*PU349!{)GPSYqZpz&SoA(VnzyO!?o;m|VEd9~TrsbH}?;8<;vGr}0{ z(&X>b{b<-wCaauxPzfcYThus8A=~5q-lj+SUJ2!=Ud|Ua!M58pLQLAEdfHt*yA7dT z!w|yTGil2_t&X)#2z_Nmgu$(4^6R+4-Tcs*-9Ub1rNGeS`OksP8t_|PpO(ivQ&@k+ zV0g&~0?-{$U-t6i&Zxj}xRw!G7)w34^K^pp9%(7#S|$v5C~e%(LKiAJX* zGueQD-IYiYs2(b(m2!X~O0{F!PW+`Wtkiwc!!d1wVDK1|6@55TSM5=E_GhRDmC&U1 zzDI6QW&f%7oG8qUa){zaznK{Razx}Q!9K{Rxj|GKbyhkQuVWrSN3c(zsu*8At)JJT zl}+I2F*XZu_C~T!Y*R+-Y_gLQbRctj+8amar_mjil9+omJnb)-wSPzP2TLKJvIs;} zz0^2KA+Myol~wfTzM#MIODsDt#R9G&tZHTzL&*egp_WZ~V@4x3-#x%(GAyjYqA)^> z2u)B5hj7e$Jrc%QR#g);EIngp-Yl|~Sa;yYLLty@t`B}I;e&sU33Ir zjkgXl@NOl)7n|YgE`(fNOK;2X9ki7955)In8v5jfb@eSMNh$2$(rfJ~bRH?LE+!mF zww8-Hk*IS03n8;z8#M*o4v1#b3{5#O%Qe)sLuT|kiMbB-3nWYiu?s_Mw?C;UJ(jCN zi4oU~RG5ro$VPj9@W=2mB;)5riyMi4O4?f2@s|JSmSH!mh%m3e#c?WPEqNT`a`sU>ZvG*7tmgH*i8tbR@$k%eWe*(R6#Gx8Zfw`wM5Szp%7+SL&-INW zjEy<>gkj^9Eq2JcjoCfasDGsc%~_vL62**|Be>C!UQQRbDi$aGuY|?t4okqrUFd@YW8x zqxl0b=}Ml{2ph%A?{OvGb!sP>91TTr!;2Ip=y)dvwjXcp;jDc{ zmE}q)_$3cqGc3haxWSkBQFdT#h}?zSQa0dS*|$=CG9p&i^o0CrD25XEH;X0no_25T zEBT528ip|zC8O6zT|FhYE^T0KCUeU`tOXPm zJI}kV6>`$gG8RO?G-Z(tp`OV9!YTubn~njL7_Tp&h-|hzg>cdJ@QW|Jgnx;)uwhh=U` zWNcR2p)OWNvADm$S+<>K`t@(5-iC*9{1fpb|8&;B4j{dSfFoEZL^k z*33L2B^`0$_#l);J_%{Dm{e(_7JJ#Hq^eH5H(CcX9P% zyg${e448R7Y|^2$6KPs3|mkXvT8TDv`oDhB+xzKOV zZi;k^`{ztO6}io#NSv&tDd@;Y=@$7=``8O?RX9OC1cY&odC3#nn;304pGq><6u&7S zL=UI95@Bx0D-*EJQI%t&eUP7ePnU(AX+0)GSZr@$5MRaX^Jbm4)c?M6h}|U}EbMnz z2aewyua~AKJqQOrzpV_22R$7Hrg4__T{TfE(ZSG#NcU8C)3?|;Gh#J5gZ@@4Rbr3( zdbR?awNqW>X^dHCwH2an_hc(y zmSUMa$`u-sZsg3ccO$(zJX|Rgg0(nC>DvjdD-xUZ0Mbj#ryH|W@jU#rKRnCVAWk4q znE#xHW)N~R6Xi@uj`Q1AcS%14MMC5}evj!?1_6#v3+u&83#n*?S-1$Rt)>rC}k9-3-vzW%l<&q4-_xqe1v z;mb7C)?)I!@zfaKI`XujCaFf%F%+Nj`)gWXuf!)EDx_n`1V?ir)_t(I>LM5R4_W;c zOZGf9>yW5CCgVNU?Hw?#SoA)%qA9Z)W;R2<&jf65{kTwc*vWbt(FqlHQioe;wVJ}q zSW<_z3l(Fkg6!tm@G~n4lIl6WSHO6z!vmA}wxNdxAulc8K{V5#`sc8z==ATUD69Am z`!qkRg8|twJtf!+c#^p&4PX6iu#G64T0pgxsm}?-Ad!0NcXE)=oBS$%vEsrWkob5yIHCVuB zTS#`w#r4U1z_RX1BxiaThvmUgl2;MlO6 z^NH69k$iW*(ThG~>Z3`r;cj1a{^E7DR*TAywUGAYs{%FavkP{fd=qgbtB4?j{Kf73 zd3^rsFS()E@!hecpP_dOlF~%AXYWxA{9ljsatTqfyj9DUjV`lSHfo53yIrgv-t?%) zFZ`5RBl{gmT&Mxd34wRFU&@+n?xQxw_N&9Ab%KSefPc#;zS9sXh7_eM z@O`lrEU3d=Gc|X|M%OX(&FQHv2bHM#c4P|L+}MEy*L(PM9$R?N<;aWB8^6_`+hhhq z=PPj=Kz_>8Ad&bhI?c3DYlM*=@OBf+1-d3vV3ZC0$ucZ z{~R8YdE;;;E{7#_fqy6M^#McEpx2K*>?D4m%})qt!VLe>HW8P>_EK~bS684u2K~Zf z_$%oW?D!$ek{fxQZfZ)@fbYv~EuIMiaDS#C9C5k`{*T8Vt;~MK-DH%up57Uy$*HlP zH#4bSa>5VBBFbri*=VZVdwP25 zH|9bq^>RKD9T%fy96`0_GUuxvFqHagr8>EMbpVY~AYMuoT8QF@ugXZ*)@O@C04Gd} z;M0j7mlvjzac)I0GmTNE2^fP#b8M$=FItLe>6c-BuX+|B<3E~p+tCi)2_HKDGlE5M zlvT&z6S$IJDBh68f`Hcx!SUK{UA#!u-hw*cc%o0X=P$R$VQ`bj1w8&Orab;gapH8F zWZ&{4^tK`P3CkQ#D#CAaQe!lH&i6)ean=0o&yiA5`$IkT1ced*Fk)R&(KEl4wD7I- z&$ofD`rDj>&q>_^+3}U>h{OYz#GNBl8`d^%ARdQ=)l8k`pPLT{%IG%SF&e2quL$Hf zX;@~TG@Ei(TQN1S&9z1EZ8?{^V2HyT&LYWjE>{VrF_MwaOwz>sww^cXEm<*+g;k;i z&wB>@gLz?8;)8h5IJs{bt;)+MQfXXMZZPVOr3009H-tyKY&&e+Me9#N{~uu(ac839^ES9%(Y^ATuVB9Be0j$In>6n`JFG^C$Wt6zVIcFr)mY&-Rv zBEg~BS-MS>x*dsgR@Jm)K8QNs3FD)isSlb2mYa;L@nXD;Z8%> z<_~X)hS(zW>i82|rcEEG>M9~cWUokAo)w}&I)U6r$4SI6(tJ(4@*Qx$;SNIh%Z|}Z zgE{l&5X1A4IFHA0evfH|k-Ws>AbXv1f`zY))XG;Qv0C3LcQ5N*YeZ@fJ)@*F!lWtn zANneR7I>N-5%Qg?DlkybllO?CP;8C;oOE9D!OvDa)sem17*=quz>B9inIk`}5^;&~ z`)rJs!ZohuMu$|Q@Xbn!d+k*X-Y0Pi&p() z(ZM%MN5p9hJ*zfsx{pN_Q8_;#8=I%xD!gL89*~SQg)lJhO<2;dzMwyT?t#on2ML(| zr6ceC7R|VnQ36#d7LM=yIE~`E&PnKc41|M5 zM4w7p*-$lzqv?@t#WT6+CcMRHsVTg@EK+Bwp}U>pojDwj{F}7T7YU+-6>8{7Y#Ns6 zfuJ{UsOkKQV4QL?1X#&y8UeEk>jAvMNvAN55*b#{fTk z54CJiTLpL_l1@k1EDyMQ<>xBxFFMni2VFPZqa0z`Do<;XkcFmg2rbBKrBYMH9~+B? zK-DkDfBbB;G0E>2VPd;6Lmt!pAqX8MfdGg@?rXgV>tLX7eK)gg;=G79;vdG-Pdy2tp@Jk^D1@1nPdbyNA6jh-nF z>7e=Lot0m*veP=`>++&XC6vltww+JrKuopU{cOa>8%dy`nY1ANT+kivNE99o9G!?#E)ri|BMK!xF+yU7)yrjJt_!$Th{Ll8m@u#)^Gp-}Bn>B4hK~5O318 zN7(U8VSA7^T?`b-ZE7N!G!w}fqrVmx^SN7V9HBqXkG}#nyzZIr|L%(@nnG&uRI>1zDbcR+mg#U!9dvJYO&Ln`MOG@af-j>(^|{LPH@d?{iKq8>uq9ljZcyD|hG$25~^Xln?RXL1k0c zaIWFUJJ#X7Fp8vU=!|%)X>H-uGA|67gkh=&XA^aS9<%=PtRE0g8O@>TfNYz$EQho=R?eB5+zY!*FEq^_cb z+r)1S|JbfdIFx@4uJ#dBO9RcBD)Xu{JGeM|H4K@ndl@d*41YG_4@7*}Cr{BL>V9)} zIv;`FFhN=rA|JG4(l@@HUmS&G3rG_P1;3wukke9qlv2?XpxCS79(j1tB|uZB?LlT} zUB^n-0KOIsnwR8KF@~XMQN0wX`kHpDv&=sQx4)t4=GoLPZf(aS|DNQwqx&~ifjunC zZO8*b4t`MWDlwY-muFKmj@VkZd&<`(z#~eiC#nRoEw6cErIG(|Xs`!r{;<0lzJmg5 zA>}Q1?r*_Oxi9~dM3QQ9(A$@ct<*zJYq@ps!HkZVj0CdQv*u$+9aBK9>mtza^*5;2)<`VXOQF z80hD|MDO5F7!p7_Mxry8Zzlvq?;)R&@{@i3v5@3{FHoO%0&RM{P8ocwaAVem3U-op zW6Ysa_Vi_Q?s{2PiZ;VHwk}7`;*s|;T{d5GCX31Oe zcRaFmRyT4%1AfAIPE(?I$DN?7_|(xC>tLOXk7LgDbf;-7{zgbn#yI7f;(IEPkC%V> zTsPBDXG3Pv4?XxT0+wHN72o^Abhd)C=riON5Q_3O}ZG>dBR<*pv?OD$xh!xMd9^!^>1yy-b0nw{KtI!?`f}Ubl{u zkTutLtM>DAO@{w&pZVi&*`>=NY7P|zf=Z^1Z_3jp8|r zAy!$*M0GIrx;`LVY%7Dnq=hCtQm0$ zTN`{m=C%oL(@4wRmGf%2BFh)NEdB4U*Q|rs%v?;jLW{hxgs5`dHHhAPq@~{tZR@JdxzsEx^D&YSfBd2(f#Zte+HpM z-i~HS13bki^L5Y_e2Vji_psbum-1zrdR*^u(r2{$Qj{QE(x2i~Z23~pb{c<0JtOG0G~3&9PH@XC{thJ|^^1L#$A6*2K zI&PAn?qNi5b<3MYwdScgu@d^>t7vSGRTsve%NMre7E28+RT!q;nrn)nujTmx(gpUF ztvwrksKoigxBY9(e>d5A^)V}TP~T}%c}$H~aaL9UxuM=OgI~AP(g-BN%}@h`)~>tc z{YQ|`6c@HbLEJB$!Okkg2x0LoAIwcbRsp+2p}l0@PUW^`5-ANF9D~>oB366~WVtQg ztS@F2BAfgTN8KV%N22~BTN4!0ysk*i6q3KPnmKOY8=t}G3ZhZJo32XO#w?<+G0!ct z+nMwDlT%R~=YC{s#=9Q8u z^6Z%L$!2-+=(ewV(XCSZcz=7}>mj97S1iV2uVVv~UR~#$V_{*u0}(Y%N=*Zim92!A zm8GjaJfy*tSMLQx7>+IZAx2|1v-1KOkzGJ=xqU_l;j{QJO>AvJ^fRkKCM!YA5DCoW z2`DH);Ly-sfY|HYw;+S?x^%K2_3(ZS&Fq2_nvP1^JZ{i%EKVgctiT5pK~q@-gMW*b z3qMkL1XpoS4Ge88z+>5*nW29JOjy|)!KgNHwL!8rfwT}9Ic*6E_(-G$6&17rc}=7N zRRL)rZ1}xP{bP8!5Y7`8_L&f}!aa=I5&rXrwyu2*aou2-%s}Vem_XP7$wC(=J}sAu9eq$V+{jNb3##!6uQ zQ2?Xk(+jlp+Xrva4;W2u{!!N?2(pwzzG7%(&iws4^a<=d2Rgn1H*S0KKX;Np0a#>v zHl|MuY)d_lK*FZHrl6#c9t8g6<+ZZ|5EEO0>E2^NMmac;|F>3dSWv?ga9NrQ#~07P zHY#liux_zOWw-~$s#NR1%ntO@{!Xs=b}?1QWEX_gmWb%d#sK*mvG`88K4^^W@#V#j zCZzqxw%i^#e)ANyM%7h~=~E8(PlGZ#J1{zjd|}^18$r7>12*$vXRq{S;0;V_>s;O) zK)q)lpiL3M+gpYAT$4Kv^L?6&TCb1s@{LG_3=s!Ltimw5wppoH#SqZ2kfl!3r(tBv1 zTa~W>{`<0j=K!Jsfm70sxqokOy$XbWiJ041KQR>o<7(@^$m^QF4}dF=*mB>X0#*>; zVYhuBH%o5{(7^c(9)Qg!VM@$!+V@`oafAShCeZ&E5aumqdwFe-@SBjr4CqJ5mJTd? zEkHZIc0Cr%0BCxT(*65Rc;hGZ=jqG}p!eTpb;D{5q89Kkp#tJT&gdm!H9H~PC(;+R z?uNjSH|NH8%6mZM7U7cwu`6Lrz*UZKy^ljfgQM$b$VABCH{or-m4Ij8r_fal(}zCH z={?f*CE;;2p~59$NK7W6_~A~Oi93x41UPq%{40L$iJ^e&_og+vA^dbdU15=Me zUIgOnyaU~U(4Pi3cOmBzWJtLKJ7wP&>rq+wc>LYB-%kVpUPxd7@agIYL_27dA=Zga zlt%#Fh5tH%Rp6b@ncK)~$(Y-cO6eIN7XErx4ssr9Sp^H&GX8ZS8gxgTM)OdaT~KnU z9$!qxMV_$sK8AKqm)@gs5`~+#Ar=KAAO;H$4tPrH*H@x}vi{)N^rHL#{IL!HegWqZ z-Nk~HFHEo=U|mzV5z}3N6c^j3JJe-`XxW-lPyJ4{B#95)$GO)jnAEa~SCD^%m}M=+ zvXf+Kaa$-|JGc?mH?lPBQpneY<7;Bq>=u~ztW+7>r6<1fyp2Ih-yaD*Io~; zz7ZseQQ9ge{CliA@s1(sFl$ItzwTPHY-*Jj*)z!Zbb!wokZb9Cxw3flreoj3&H0$| z%}>^LWLW#hqGLk4OS4u1d1o>yO?*>_$J;cGGK&bOe$o=XQU#wXC|b7VFn;t2%o2O@ z1jm8;K5(K_t#`0+2yzXa+aEBTecLtw#{uYAZvhgFeFY+5ujPd6DPZg`O$AGphcXKXfku{y=2fT z@7M7^%?|@Mg<5$$kBL42HSzQUmO=EBV;G`2hhF`yb_K=G{ik1Q$KBy+;BeV@3S@BiaUS3Y)vS|55sX=th` zSZmePFt2FW4Chl8Mk*J;29_Izq)3u0)cj^f{XYObK*GP#2kN4eE|t&}SjBURgXno` zQ7BP1-X??*zaUjJKrZ&yiGCRa`QlUtLeb;N`6-5@7M9dsZK7wQ^LTdd^DJKcbp&JS z5TeAqnJb9|dqTA9rE(aVSM|HUts>vp{#Y^`+@yiePrgh-W~Ndv=+t+<)n5kY@7%Eo=iYpb3CVTV?a%#mT3Ytl zBaU~bB;^R37z4fNo%DkLg?#8D4%@i{xw#zF4&tdoq%afjXgYmzo~O!mhDtY zAy~ToeZ2SP+2)hVv1@z$UK?4CiJXpTQ+mPJlKkD=xKN=wiyP4amp!qJ$yC)gp6#*E z4zn6#jrDKS%Amu9Z5$0OP4u-C zeKw>LyP(o~#fY3~F$I$5$sp|*sy8=&J)Y6@wkOl7om@ejC6|X#O_*9)M22yXuMG2y z9j#0>OE`c1KGTY~%5%6Aj*7HpK?Bl8;!_+6bOcBWND!B&(t>RqN>{H67S)cv`URMg z@SCr+m#r+EKHA)LvO3E88-8p%g8Po_!8?avc}}ff`@Nx477?_NJo9lbVfr&W$g-?3v@ebZuN*<#U9ACp{s-X4(8Y{2M|f5*ts_5)Uf5M$aj+ z9cupHt*ETbs=6|ljHW81R*9Pq%4U;hhjlhz9}U?QnXzg{d;sO#TlQ*&O~oUHfH+6J zucvvACg0O-5IthMprI=B_X~LD@MW?*aCE<;T$DM$g%{?P1-i(IbwtQYa&nVN$ymHm z#0xK&;cePjakztqeu0UWkZ-u+lZM$nRv0ai|1K(J+@4Gf-l}EAP@SwRnUr)I> z2BN++u^ULynaAWW4S2)BNMp2su~?jPhB3;*?G}aQ>hJXs{#-bl%?b+Z&Tyrjj z>clMUTv?V0Zznv?pv{)Ayuf1Qnm}s|a4Ic0lLO*no8ya()UCqxk)#q6`s|eR(sJ7A z6u7$KplWVO!s@NEi&u@V9K>Uw;%DoxG$%6psF)VxQ(C993-y;%-*bHqZ-`Q z+;1C}P$n};bV)sYu#=1JT&}thG6_OrQ|}h~N*EkOxWAEM*feR1R*Et|^*WWA2$9~G zaDhyGl?$DTkgfsEndZ&!JerBO@|Sp``UJNSDR&)S1j@UyS!nWB(fxc18dr(@vQE<$ z&iA`0H*vcUEeNd)+_AHWo3BAK8bMUtAXx1%&wQhOu$LS|F@8*<&{maB^uV3FZ8~q8?ANQ9Qk0L8pu@V>q0LZ7O3We zHurhHgrT}@oy)ARwCv@v#osWekolrHSPQ?OIVPfa|GvJm(OL(mNp0mXy&rPCy|7J3 zHxlxUb)SQSCKeSXitxlThGtOr)%tmIPPoT}WdpZiWEX7asE}epMn9=@S3Ne9P9ei* z_X`5G3CRi#-mBRsy`JmfiD9re=_jq}SigsRiAx~Srhc7>N7YbhcE}Bjpvz1f^e3>R z>$cnZ&>js?!+c^coY?|v*rer9Y%|wIVklVX2hLpy7)>E}WnG`k;B2te%10|(k-5W) zco?FjOc!FN$AiXjiG%?7)%B;dQt@>|?XUpT2L(4azt6!r7+yzE>M!-Y%aVk1=*XIA zB&;Gg?2Fegdk>qRbx5YmwLd*DCyk|^8neqiaF^K$uyB596?wgGaAX8O3;$_GbyMnw zp-6}5B%ocj#Wfl)>Dbrg&qJg{#;wbNP7(HG?OsJ~(SQ@~GI(g&eWzX$A=9fQqDP=4 zVrcd2*zJdY&b($OPaV5#aW%yH-q|wxc{mi>_tr|J20Y)AXGY6{;Ele;Tw?DvgM_nV zF$#5jzk#xyIYo_TvQMAai}#U6oTLgW+hBYLW*HVW@h^oIY%t0ll92UpPHa~EyP**} zvM_%~^F|pE)=Zq1NQ;E7U2p(vj6(^p*L=&f;{@@g)>7yQ-L3pb zpg0wivKPF6Ca%<&q%0QOPbWLW#y z`Cj{}LVv-XhzSp7QDxdr{CoxG9v?#BAeb`CC>(3~mn7Mxp`b)7s>|sHGHAjU;Gp6z zqqUtJyEG@L`YSNpi@IldVa+i7b5iAoR`YZZTLI=X8FN#Stl8JU``6%=ZA&>**F0bHovC#Sj_u zGEMs303T(CH+MsJfUJV1Wa;b#FCjNX6uvG*=_HmW2xdgE5W8R8>iQ%VF6=`_tN>hQ zPhjJq*k{YoJmhUh3fG_K$yG~My}T4j)uep;OKCM%z!+-N z$sGxgbc4qJM!~#oDPs^J<JJ{luR;&LiYMze5j>ekam@{29S}5L!2OxTfn;D83Rq6DG~DqTY`lJyqD(I6UOg z%2pk;UY6=A`jZ1lV=?Kn!Tf}crl;ky0jrl4m5xaOp1Le_f)FB1cx>xoZw!k>xs&_Jscbd2@bznx62o!&?W+r=U%xd2D&?s1cDGpT z$fA||3lTPFJZ2ue=Ixy5kIFvl!v?*d)soKa`jY8T4-JdVMbAi1jFB^NZyQk~TNkh! zY~N~`D{aE`pTz{c?LN`&nUN>t5aIxoV$0Kbb<+bU;2N5WBtOiH=$_A%s#Y1YZTj3p=5} zAJdn`(4kXrwHTHa47QkWjdN?y6g$5|EAL}-OUK~^q4cUqml|r2?YNo^#{ZNL)ZPMf zi@>w*56pLmkfKU@Z?i;Zmnklj>NIZf_A)2zB#ZSB+d@+v?~ZY8)r_KTf348s89U$a z9WUt1VE%R0VCB0A?8NH_HE@0q0>kx!s5l|Qm|F=us89Q?x5R;W#+cxQ&< zuKp7eDs|T;)bV=?lMM}`Ct|ggpjN5JbwuJ2YJ@=3KG!Lc9lgvX#X$Zu__?%!0KlNW zguL4zDer9c*PvsWV2jIe>u)`smv1z27;~?RLz^XXMyA2E%WWNNL0PsWFj0%esxWOH zlh*#tFMbh~5NNoQVQPp^I8?+fGNCO8F7sDBq+r+&7H$pULBsTAfUIrJ0@QQ~7{ae9^Q z>%Vz)+%58Z{>m+-aT8~nUz#xqzV$x-`b>+qSfn9-Qk;Z5z;Lul+&R%hLi1%=nG>;d zNt3V|8vg+D+;SO#fMRM<_}~jXZTVi0)Fo8@+a$T%T`~@rI%QlHO_Xn>%h**i z$?t4q#b^71=^*2jcPIBfkG>LECTfy0b9A)(n2s0~l5YhYdW=n__VqmwgLk0jk$p%N zkB?e}6&^uirA|WdtoK0FwDjx)*##j1OKLuKbAuh(wlIPB`Mkk*pH1M#shZfAS+C@l z77Zlt$zoB5@BysfDg(j;2XLm?uV5+paS00EypZ7}({0js)1+guDmjga68BF!`?#<7 zdNc9h1i0XEys0pqUPnp*F`eE3gwM`19Pf&KuM;VhnTo6fM!asMP2Y)FuZfgLc*-n| zP)?W0o1DJHLNN*q<;uUGWe_;1t@(H3xarn3e`*t;-a60jYS8tw%6tT8x9vdI-p`$o z;6q)e3(ugM{xjI1z-$pWjTDnN=5&J&iRS_a^f{~QlE?4MLFXNb3{&ut#e(2l zh4qplYVnvbE~J1L)xwM?SL&(@Gqmtw4Eq_L4HHY!!shA~j4*R3`+m5>j5bGG1o~#7 zI9O?LNzUkPl1eYdiBPb;vZq~u)|H2&S8#xLey_}Iy)s&OA&;MF*{pS2aknt*dGy?c zG8{`UKThnN_79WBh4_~*89FOJFbOO1uP}{ImazR^9+A904LfyMGEe?a7v6Vx3&*JH zoUD4o8TsPUO(#v{1qyRjA3UC@wiXkU0h{uYt{7CWy|Tuq+NHsR4-v4mEND!7N4`-D zb1K)mBBIRB9r6&^^#e4jEQ_RPt~cX{*@4Po+v<*U_Ep>Vu#8eO^-sp!Vn59hh$!16Dd(V1I93aZ&-Ru04Rrt&al-L(#UIghBO;4 z&8WXLJ6r1<9eD=W2^)?B&4@XXFeDnKBm-;)}>m?MuT|t%x@Ak~^)8%mueHLhdQkHmP?ZXg8td0uYYjzm9zt zAvKz2f+g~ie1sF{{a!{mkP0D}JSEYF(Rs6DV*BuD-Y2%;4l3ICnN`tdYZrFJZ-;IK z(Oer-lmY?fXJ0mmMYh-5+cog8-jSbO5?8dh!jZR`)&z!tIdtGwGY?V|m6x$-3i30) z-i&eMfVFvoKbZeHuPV3;;%|H{$;!?4oc*y1`Od?~Z^kcbmIu&PfT1cUO*sB3L^aCg zUgiZ;eLTgZ zSOQ&~g+R96afQ3xg)KPL$|wiCrNqSrov-Ot6b9q>(yUybA&QT%o&p-Vul*CuT|eSpIG(h~a77$C{IMl5TwN zLjiSMQ}LXE#R1Czq9F_t=7t#hP+a!ntZ^GI1S!>0c=3S5l#5{VY zM7x?0aC{+o#yGv4;V)S6?WymQB-O^d_vK`c%GHIqjya`VI&YG!LKmiYrs%uXU)Hse zf52CkBI?Sb0Vh7qLz9&8WYW8R*rB5S9a9h9fPB5sgj=tR!PEE{6v#ZJiMgiRi*U1c zZpa%)_@;f&0Mt&;-sH+f>?LZ4t>ge(`soLNDux| z+JlM+pI(sLGh9X)RhEk(Z=WZIkz!;@lM{HFHe40}_#!2;pRv}Lk7JW=WxMoVGT<`s2S3973!K&WjJ`5HrF9I$>1 zsh*XAwTX{ZEs1>JYD|#fFt&O_!lIBw;oh4tLpE2Trwr&Z{pQvdkx1EC22IwgqWH8W zc|)LzV}19`Nb^HPMw89rS1%zOUie zX6%g38!*#S8X)p3WaU=fWb`Ir*u;!})EaS7lj=EBI;0?)4Y4)tR|F=XUArbF{e?{;Ntiud#6Ai%m;PSnb&sG!qM+(uDdrL@V?(o zBe?=|Q>Hvu`6w^c-#veRpm{?$dr3<_vvaH);b=GYUe?fpj0Q*|Kh^B>-IJCT%X(2k z@~VtlN`;l9t5kUmZ?plZ+F9Tm7_(;_F6V8ZG&aPk_&?b!Lz_vs=Vx^m-*dMq^WB?& zc3jvPGz4C*mc2RB$})ysS1sm9YTq}jnPQrn%RoWuZ{`17zzS}R{q871Aq_(sHP#+b zWeJnVhMqO5T^A_Zjw~H59(8$5F>}Qc5&}A+&n|WNi<>DTog$=$&jpJI?R^fl!)@_X zW64TWnO_(Ii9=WO;mK8Dh{+2&7+Du=$m|>a_`M=CW@}!2CpBlobhJXbQ3IGplk$W% z;bEmDO^ID4xf`L``-#r@cT9niGztu75ik{Exq6Sn>$sMYplM}c9Ol;}DE_&!I*dl%S2{VGOMEzAz25@8nJ#jXF3LizsckFI zh4(La0UH;$@KoXa?VL~npBISECXI4LoPOxX(hyN!0dG*`dlF>u|MG~$guK)R`D&}>E{qi7J>xS ze_Clsb$D-6Z*7$lq{GwUx^&Ew9Kx$}?Z}p5kVWgE)*)fL9x+!rah;T6m}_%C;=wU) zW~Zx)yxbaobN+fr+M63TUN?T9zd=H78N9+L>^*RfG+S-?o(TkOZ)7mbDC4CMwpCy^ zURdp#HW(pIda80D3eW^1!#cTMXyTHN_Y1rTM%#914>D;q4}vGAlp8NVuAW!-edC3O zNx#q&W!)akZ5_e~6YjrRg;dT%I+H9+s|&PiCup}N<0p3VF-lUsoA)O_Q%Px&b^3`| zu;p4ha*m*fjkdls9Vqac>T7vRorZAbY^rqYPrmG>q9##@-T$*u(p)jqX5S!lC?Oh~ z4egU?+sV;{i=V=Uv8u;=zx{V`a$CN%@4xn!Gt!VNo?!MPIeo;wFV_TgsFZEC(!kGx z@-k~Q=j9G-s%s9SjUhhyme@s(8-M^9uWWjm9j2C5t1+A$hTm@-95K0YZLpHE*0Jrr zvFoxp`*L^$mW(L@$$cxbefEytd)%Q9VI+mFPY6If?wat2^+zTDMWv}_EzdH?is zKAGNW#a9r!&!n*VRhLOpL6R}yCy+YuHVqkhHYrT;^;b`E;n7OpZG^zlo!Yh`Q6^JZ zz}yYoeudd$2TuCDS*?%!BkS1bD#KI#pr_p4PN>0!m%z3ejzP<* zg%oJnmc=H0{juHi{qWTuRNmud*TqdD51I#m>r*114(hJBIpLXh1g=gxcE3cvNUas? zQIgi&&m|(4MyDDgi%;9=1#AQu!uYUYE`9T!wswKZlcX#^9qfR5;omABCTiU6-VcNY& z41a}CC_r!l#1Q8?!h|56{y!Cez{D%P(}->~+8PAKHf|z?)A6d98g(Y#^r^LE9w4>2+Ueo(5RGgt;N)T4gO64 ztCNQBN=DSTh=Z2YsCbxZ9;IejMjU0qL=*94`YsGs-#39O6UQYWLm((tK^syJE&H3& zSJ1e+txq`yndo`099dc(u8fa+Xcg(U!IfCQd>?>yy_C{cNTJ_k4*(fOg*Q0V^SZo* z{)tOBCbHxS`+h7EzDBl+=U;X7Mk2&mC~RY`!x?d|3@9O+*bZyB&vY5qt&3G?Pdsp3 z!}FKvtt%JJi`-|PCfRn@^1yfK&b(AOUHxia_q}uc@q@!~&6vLpt%3-a@o?=E^Bx zA#OJs?y#it74BjZ?GcN#=Do4~+7&xVWQ_JXL;+kvjdOAA5#sd3N3e7DoK2A9Q4SIN zGMjX4$EK{LKz^p?mU+b9=+Z59X<&8w_cdRqj&93A?uVN_gCTA+8r#wf+eSXP=3g;YmPw!wG$B01Xcc> z#6#JRM8rK&3!nUcu4K{hRDv<8a}pjx38ROttn5-Hx~10=a=Pfua(46``|;ZNEL1F& z;6_sHI;&$0@(9 z{a(j%PZXJ9e*)Ix}pGA;4GjTqB6C{k9Z>*V%`xv|^NGW=5iq&6Yyt>Xo z+CcpDizA%rrNO2CvLYREz!BlpRHZ+A89!+j>ki@KrFW+cQteOsH|S}rl?HP%Tzx?~ z6)oZsadsnyO{Oh(sw7w%pqOqWKht7C|9k-R2$gwBNG#mp8rK|%XYsK6ud74tsCyyk zTwPMRxbD$r+%K-SrF_9@NaENQ1<8>@Z5e{3hr_|5%irG}sHiVV`1|K;*SNYRX*cb^ z$-UsuUVs-2L@@bPAm7w3OFddXBt6z-nJWdLD+naE*kd^7a1X5~HY121kr-9;U80sJ zBwTR*m*o>$#uh9= z$8EoK1I8YJ!+uMIXN3hX#2n$ESF`F+hh;8X>W3bChFNNZh(>hmUSV2Y@$PfDrD*d&cVv%cG;95f6z{nC#N z)v1L$=4xohB3WplfO7~fvUFJvooL(OqNb9?;I;mGg+mD7EV3VaO+Rerc>8)yCT^ae zE|>~YP*i_>-WtlDH&Wf)Y}!^bXY=cEjsinQ5KM;}{+3WPVbcnTnyV@}N$p&l(NHm2 zAG{evIZTSFVzt%V@=e-B{Tgz8tOjzMFbr#f_OW_hHpMqq7|=x?76lC*L9W%^_zQ)y ztbVdMCgY2V6&S`Da!Uhzw_H*QDmbMzrg8OAxsB8cGBt7Ui%D zaz`b#k`MiRwTqZ;rN7};qu|9%*npkuaV|Ech`+Twk=*va`^yoFL4D75f=!!}ylJRV zQhKy%x%jlPNh>^%Dy69lV zk2sX{APP3$gC(O_lb9<;9$^u=8WFQZIfx~jo3{O)A-{w{UkvC!zRlNmD5vnzeKVR* z&LklE(Ot0XpC8o{UHC0}WPq6X0T}}72ro91Obyh7y;@OCPd_%Zx@W>J(fzned5UKb z3%0b(l|ac3TDc>L<-#v~X4h~cGmn7dW(n%6R2?D59@bv>hm zHB!7sC4uY4BH=T}w4T!bV#e9cb}4iFez+%ZH05u96e;fCs&U!gJwM%i*S@v0q0IFuDZKDkY9UzR<)yxsGlj@`7o@&lybwl}kfESrPl@v!l+>Ct9`JM?@ z5{>ISzff|avN zxv!xuL)b<^qs_(j(@{p%eOZ;0?N6+K^lhzaN!Ko=4}Ic z5?cc2gIxe~dMQ826W83ado5f07N{TY8E66`W5&g!GS|~1~$X(v96RI#dXjVe2 zVKJ>uUc%(U)1`|2fg$u#3Fp;ve4#T-h%7lH@|{)vGp*waJb`T}vaY`0lKp|%eaGdu z8ulPUxtFZT;K1Dz*1W$q{tzvyQEB zak>Vak;csw_BecJC%rw~n{=icCY3AGCx^?o@HcIlNm8i4$w1&;ZD?FDfCdyPmzEuJ zO|#|J`5;bsx)7(WSn+P}bi2JV=`vt=evcIm^w>!-H(PkA&`&hz!GY}w^Dus0RXZbk z@M}Ma+77V{5k%xn$F5RTfTFB>9EQ@@F|@ib8uexx8R0PHYE4{zk-Qn{m8p*TVtf3% z&PfJCIdlb$11)cUAqoz4nuMhOK(OXLe8TPe*Msa{Xd~Aa#%(V>K_81T%)mOP)?(tG zMK}5vEM%;{5+Kd_beu3Rd_*n+a|Y3ECSsQo3i>nV;;{Rs(AJ>8%s0IO18H z_2uoLgQYS?8X0-Kvstrio<_+>g;Rv?w~G-NrTjV_qFCX$81=4#^nm)za+-F%Y?Gpb z@l@B)IO)gMUlvuHshTekfNT9>{a^QI3`MV8YB=iz@w8qPV43I1oNZCnDQM5* z1FJF;XeHuCnYlk$o4&O*kU4}eQX4wj`MjGFYEU>?DunPY{lGg?m;krlb=KWoN}d|J z69ANxT46m<-MMD<-QkO48!e5g(UTv}=TQq?;wK$L1j1LOH3*bwX`~x4E=wsnnU|Ja zJK7Sc5>@g-T52=0$`DJ)#=gVV!8J$k|1f*u&{h2XN%`50?Icl})AyilZg0IR)!N~H z41&t1Z6ixuSAZCaW30f6a`35drV`P(=ghYxvZ_7*Jcb?Humv~T=0}i1(%=GA=I8A8 z;j(W;v<4Au&2s_FDQFGuROwl!ER%~QeD_4ZwiVLEs(CET;aN;BjvgF z+nNzC!q9nM9-PVZW9hZTVpweygADGO~zK$>lcv5_lc2vA@G{y}*}z60W9iVPfCx zM}N}sue#57)Y(h`^5)>WG!FdI(3n`Iygc3VA*zt=d)!2$soG^Jk<_tLbY&#)VcRxi zg;p5w27WolFZ)JP%t#ZSGFnRnzG&DRIreN3gn2AGULxq^wEd!siXY_@GpL zSMBQ@GUb!$;UGpzGo2T~V&;jba&h3Dyi` zm0_mxQNd{63dyFmb?M^FL^k*d$hNdg5oJt4xS;`A->UhPC}hO>icjZ61SSIq6n$z? z-ddU-DE`)IAJ+lR-uZ7YTqVx|lj;Vi2uVYdd{XnnIClYmRiZ@E1Lhnes!Q>Ew%mfK zHu-n_J1;X<_3qO=y=z{qz|U&AFAgkx5E$C4Mh55F5j$7e!9{5WPEops&JX&V`T2dA z;#pp#s3s}vpe6PD?64GebYm+Z#nAp?HelzJMOXL)-kKEwI@uFrgkuV>JzL7Sq$i2a z#+wmTe!@7L9cAH{s#2sBb1(TDvcCnk9)tO)JG6@;w*ofpIf581W7@Mr5oML{J?~S$ zpRr@Y)s#qa>=wETu!yEnBOUO*V(T_N>Sgc;N}YX+2E);U-?I4q-5otZ^NGR#tlf$j zMViVTekJv}sKd@bK$Kb4TTb8-T~;mcO^t^fmb|J*qKJwEtQE+K|56Xuo7quSh^tz- z?(%{Fk=bZ(2)r169YT}=kFM1X=KMLN>KuA8FV$8i2>T9_%P=bhMxmt!%Pzn8>wv|d zo;r&`C7f@w5+N8}IEeud-9~3l!8YD2gb0G+tB6DscE7HFM5&!<1RQxfylp$p3IViLDByoF~#g^q7j$w)}5pLrEnsDO%5$}T9bM{tphrP?;(sT4m^ItR88O%^eMD!3a z2)~{x4kkCN;-?vozW!#pc7C)0Yn>W}E=)vjP2olyv444?NcK|PHL+F8Y{iOL2-x?= z^6x5C*u7tN=2tOSg_uAPd6Ovx>uQ)IFt#4GqD(FShBNrv2wKKk8UAEkjwK3 z33`82nX)q746z)!++`TE_Xc*J!+ekGPjtR8=suO9eYGYc1P#dV4#EgwN*WCoO(3{S z`cWO(Kbbh}D^CMPEp1iSyZi=5ryO1{CpTW|sY@pc>RD`HOc92!H8^36*T)V^y52W# zI?O0Heu@jm^2+M$7oe9>x^w4q>3BF~5-O7>q@z2euFFvX-fXgrzk%YNgnU&QK0dj$ z4|4%4sh~qT&jibfK06-#fZLY0J4&;MN+GZuQ-2v7bh#B+p5fs-Q&3d%g+pFrRPqj8 z`un2{vCg9>K2_$jPNL(QJ0g#zG<*oO!f1XW>W}C>EFKe8VrTpVD|duW``@x$=~K+v zVgwB2SlvG`iW*vi)ra`dlh5p_&lbb`X5fH6$HJdPGH2hQY$s;O9ri8k#h!b;Vs2g$ z9}OqCu(ZahMdN6G5VD)gOx$mSq%*ZSZXA%i@~EL;w=){ObBumLA7{G9%t)J)PSxG` zIS2<)JuxvC6z3A@dv)ojj~O1AN0Y$SkHRdHZQ9ZGW6!2YXb%64S=xi?AVt?C`;J*< zEx<=mtLxsUZNP%hSI*z$*wB>U)f4i|6N1*8w`MB$FAZSAI8~QHFJ3!O072%YFf2G! zR2zypN%~6`=hp)VS=sEa`3hj96zLT=mVqpXUbx_JUA_Er%BMwl9qQGW;ELIi6I$=^ zkwaFa{fF{0dU&U8jS(h4ZG@}f>BEgl*HON082fPQ zW^zr6OVklgyxp?l)D|K>-d*pvp}y%y0l9=KOL%S8))UYk~ZmC&x5W2DeDwH zLGk9;{`h%1_oOgPK6rPtm*vj5bhI_c&3=}Y20&2W76HvH?3r1zh_NY1=q%f3F$`yE zIMDB86+!-b$>QZ0UYuOQAc0?Wb@z_-E>hC*LU6XTht`>l7q+6CQC0T&3zj#>v{W~O zIwN2c%R2ikP@I#{Fa>gT2^MW4FJJiaf_6`f2571{J$o^5#$2%M^oa3k87Z;shusn; zf-%D@lD>*I^FWn6{SK7h6zIX#`79Oa#&u(;>ln$0NRx9XGB5N<`IuLm|GJvi+dcG)F2oOek-r`{*d@JirMnHl_VCNa#g9wY_kiIbYBA%1$lC#Vy< zLFfEga1{7*%$NyJ0ix1EA)5LF#o*B6HC}}iO0k%$GHR|~dXoxe*@KojAV0?rKuaB* zx_5HZ5pA4a_t5%;H9l;n-%kZy#AI((?8S- z*!h!~mAthbs}aKwwuO~urfQ0b-ZDh>XTvV1_W&^^8;&E@W{kEUZ`w#Hyn0L{;~}L& z+=;3q;#WthA}luayL?Vd26N8JF^|TH!9?2$a7-8mbbq`<1 zFZCQzh+nZ=x48U(N8Mn@u=A-CRixQGiy|x_zbvS$=5G&()Toi1yBfF%kDO;{?TbH? zo>-FP23aG6zgR2j^c;k{A}JF1%lFJhsv|qjrrbLDhwE!~fpeLK$kHM#{W^=y+A&2t z>Ue#W>}wjQ7+!f4(b7&aman;y+FD0y99Aiwy>7{nm}Q7v=L>pO#zJ-x}7N( zvJk-_c(=;WTcKsNTkiRG`eQNJyr>rnW#7*iU;~dsPQDn=tiRY0>(D z`c)FUEHzs2yEK$#f{f;2y(%VcN=S4%8!R0>EEi(Praxt#HHDua*~S9lyCfP*&_H5Z z+2o=;gY(u>{uW;3%c0QOyVKddB7FX3rszJ?09QH4A9&ggR;3W#F-f==;*3TH&YE?HU zNFiVwKFufYEoT^Z&k8Qscv+f<+!roe?P>V8D}FLpx5Rx%*xD%D265Z@ETOnSUeo(c za6t%3*nlMao@-!+Qw+0HBN#3qg@?r$&5XH4dn>wghw-GvxG6k99Jj ziY-~|?(yppAZYd0k{j6Io*p<0KB{)2%V9tGiT}E2JWwhste^_YzmXFiz&X z;Dd?MNYM_(5Q>s=X(uj|wdya|sR8Cgo%Ja{1k?_HQ43bq-1Vo(xM}fwS`6Kn2o1@6 zu5ps?ucj%b^tPO%&l)+{V7CjxjZsJD(%)=ypbYwqkr{>YZ0nvM{Qsy z8727iYi_m1Ocy)w%Q(L$^i1@j$J~vB3K0DAj}SdT%f;U#aUQvki4);{*)4@8a&5}G zIRddJ!!7n_JZB5ub%{Hn>k80%UY~s-dP*t~(q=qL@eU9rT=T(d!k$=BChs;EGaxF~ z1qV@@kmm|5J~`#~JWU&8A3LmI|pKVDNfXHD1%GOlS_(v+R zThD9K*OpbXS}TPN?&Wy3*PPbc>t82JBiwpB0LEq%E9636tZvLuFg_KiAGJ`5HC&U;+`XV^{=yaJ3H?h(ran~V?IsIVY^syH zFyu1_ozS`brmWj3ck*Z%FA`k{YTH2SUPGf8l%=JDf#!n)!EVBCmR6n51XsCu6`<+J z`aYy2eB!{!H$*E!8Axg9vlEwWQ=ngM2yphcC~W|fwg_Ut_!>pa;%z5{p1#d8pAjZu z7%{9TAHFGAx@>8v-b%qCPYl_3(8*Ns3_WGYCK); zuoLCFY%sy`H|S(d?{{#$#8b1OU*^oPP?9ONerX2?_s;HZ6yOltA+Cgk1Vo7PP-)t?_&%=N_I#z=;-%NjZ%(%!rrtbqfd&zH-Ag`8_x0<%lC5Vc^?U&LS!R7Hv_o2pe7o z{$_^lLrZDMR6@_EZJ!Y90$1z}+w?t6E3#|kH$s!`g}G+{1Q`V;&WtGQvv2xIT+H3} zV&iXSB=AM5y31Qlzz=#tQjXxhe6LkFdfBe!W6~@rBWy#qvEPVCIFVZwcT0^l7T|{RJmtz~k@dl!o<{ zM~HH9%Vj#Vudppw4AWb|L>`EKf%+v~8j5c5h_#l8s47BUQ=RCUGB{I;%bdlyuSWr< z3?mFZZvOC|@ZOM4Lgu0)!6s|W!RU$Rq}bY7zhRGcK0R%Y#+&*z)i`2!mJ@{Z89nQX zm24851t3KK+W8GuBuPKNFMcz|_3SyZx*M0da7l|yYse#EAQ?~bjTK#3m7;1YGY*l6 z|L$ZwvEIoQ|H+A@3|6<>10$m76VL=u+5?Q;I0V>?cf?S4>Y8B1FapW3U^a zrgQ`jSE0~4ecs~`nO*V7D!K;ouI2OIgAHnFDA&ELK9@t%jh~M^&@Sb}SfmB}rBl~s zu55$miNqmMK)M!!DQ=h$(2xICGE`Iq1(0v?Tigao)IaT1EA=?Q`^0QV=b-6Rrja}# z(k4qkx?WnXgxGfT2&|x(Fxwrx+{dW`^##_dGIf9#h}8*dVrDmOwZjp9gAAGYCLy{bR)rTta51-|siagAAm<)T7E@$n44WjQHrZZu6a6HCKu_6a zG{JRf*=8P8p0c>2F1t2YOWjv;Q<5|0jtL zcJRE~OX7u0(IfWrm3hSukR%8AA8`FO3&pIiYVnZbq}WQ-fwHC-E*sn1QMnC8F-17( z2?-Zw&%T1?v8-Ko9Br%}DgnFlkzCQ9wAmFRNO2#?a$y{@=w?Fq1M_B|FghMjU#O)C zQ7O!Ml-B70qQw*lpzGt!a{HG5w%Pl1LNAP7Htsx+lnMXHV$b%X8MOm$hh}=bMY$dN z49&VXSq3L@#QHXEB%`->!YZq1DH8J`_#GX3@<*kF+9)4N zh1|+IAqh0(%~LQa0iQzmO)KJG?60`Jg|EnWK*aTTiML(e(Y3`{U*s zivVdl{FheHldqCBa)H@6Q{~_<%G-(1civ4|Ipm|%WNJi*8hP(K;BpIzuk7MtcO3RW z?vPAO%N7w)L6sSHb!KK`5=H+rWC_Y{8QWy4NG^yTFzpPAn^ga(K;QD>4p+OviBir{ z^C*Ie-%su^zL9D~=X2TJ&fif$ki-1*f#1~S1LE1!*{|Z>uYKp-(?CfgLpqG?5B)v@ z;Lg89BcadwojS2vPpyd^xTr2>*N;XSqp~emuR}_XWP#SwW?>Rzen&FPt~Y-{Cb0F% zev=XvO*xWpx(G!}hLXR=uh{uD)Hy~EvOd~FVv9pAXhySybtu6>=0=%nYxE~}SvR6| zBs0}_toX9`6_HufJqJ)K4|BY=lC!Mv=+XJFu+uF>Wi22K_k4AQJ@yahXb9sXS^MR_ z?<^7JsP&r`IvS;a@`|2~exrs8A~=^3NDu%3&n*M2Ke$l3Jq1+a1H)QzQAvWrE(IY#%4R*-Z3fB5$t_E?3bv6R^Smjb$yp=tgH%~M`P zRSTQ?WoUq$23eNV6)z@;a@8X_(LDX4><#9nUUC?xaYDp!i9OdFDPE<4qSPWHRDnk} zpxG%lKjimc zu`{N3+)Z-j_VlKDtY+1}clCbzz0bBW$P!N79mQ@11cK|Nf?1%P>&MsO6MmGaS`UCI z^R?W3!JJ_U8oxztv47^yY$Z(>(EZs8ULQ$Enm;=&UrEXeDz-zZy9K}B)0gN3)M7#%uZXxcW(1xe3*Q=DNK`$4|#Vq6B38FH4$-} zwHZ9kYTB)N?)VN7>3(U;n-sE!)TcP*Q_xch^yKm4Wi-ZlH8v5|@v!7^)HS2ePCar$ zVS~#_70$Zvy!BmQNa>4G(M{?HOf>Y@DCy`Rv!Rb!(VC+q4O!(YKC}(BSioAgo15>y zZSyGI*_PXltJ_JoiAY8@btz|sxM`fR)M-FTPec`Y?fvHc47b@>{jbXPYTMiGLM|$M z1tT}DPq{XN!n|DQcSF3xPet_xo_s+;zLufo!i5ueSEX79SBXzpkzdYb*VC*U4Va?^ z5vYz@pSdQ$l?P84L`hoX1yt2M3FZu>Kxavasp(Lq$g(I}X$himE626ps_&Qm@gQO} zQwb$t??FQWB6T?M6-fb@+Z>#X*i26&1pN-saTasP1ByY}pdXd^4UAv9obEBzIOa7W zySEy=seKfpF}0S>+<78mbno`NbO6x4mpj2(mg5u=qN-rd|3+X8VVp1{*u<1-RQEW+ z^Q=cQ1SVyyj4pCJ*1ka>9XOwHrzn5H7OUwU+WKSZQC{;3_5^q&<-`ubt9E| zWe~GPr9u1T+7Z!=&r>uCf!&d%ydBMfhVBV|$|C@gwW)Hf-NXj)%&AbU#${cIr6i+5h^?l^Q&sN%34a(*GpI_V#Y*+b=bx2U_#L*Nj1rchT0{e0w+!^g{R z>Pa|rHpGn2xftzRKd{uN7cij1$KL0|V*l43SA8sbdl!Ik>U66v|1$$_nr;gOvcx5% zSZCU5NLiwe*0YR53eO{rfm#$F!K5a8Ph!oPkhz=@xH!69&unwB&pNAZR09^h zBfgsCL@FhU!k7i3_^@F^154A+;CTt}CyzoCdZ8&&K*y36*P$trB7ttduomau|NOa# zH5(7ETyk}m*BDyuzz&N@UYqsuw;wlV;WI|RUok#hvU#V-wpAZ@SK5WUrsPvVi8mJb zoGm9N$uQIAPv`mjb8tA{!$=z!Z+?JZur&S|urKEuPG<9L$F8=mATg#vPOIKy2}!~P z!b6*mHFC0+a*48kam4ou%^4isC}Q3hOOL~Q1l_yNb&vWdo3K}h#-x_-wDeW})_2r& zvHoe56Q7TFm@6@-%%dyQqowl5B*we4)`D(uv>&;+KygAczVg@2mP!Phj%Zo-i?w+1 z1yL~)OB^=_hQ3RbXBu`KCVM+MH$GqND|jHV$w2-(PRXq(Mn{=@rh-8_iAL;e$Afb$ z;O^L$W@mvfwR~H8n1(*i0s>B1IHr!6G^83WF({Be?7BAHd#c&(I?sG(V>ULqPZ?g5 zv>y?mb6O&7Ct7p`u|uOsQ;j(1#^$>4=L?=k~a%k)syCTRuI ztAI}-Fw1Il?@xrFqsxYojBPtSu`<4kLrl%(GQ~iZw%D~#8&p#M*&$lqG~>wHuvBRw z)Z|JxgDljOsr5MC1RF0~(@AuQ697_WXY4d{&WyfH02=WQ`R`AnVGb zIHcoTjAfwAl%rS0F1>>~`#8)j=fB*z&FCQWaNI0-RX4c`4z{9y zi0fa?^d#!mpZC#;GQOPx=~R@xXUCUx2hMXy{Tnav@gruZfBl%C;lhEXH4Ue0TVzpJrXBM7RfZ;g#vWF=T@*_Fn=YBVZDa@)Z+iw`aRcm&sg^!|f!Sw&9AWp)m%!Kpg-C=9{v& z0p3{>XTVJ$H`a3QvRX^9x9_qNwhgf}!ejYpSocjO3I{+R>r)jpzk&+b!X^{DZ5tLj zuVFfOmDTd4GGWC0RZHQ<{=NYsr})8}OZ-adTDS0%_ZmtKz~4+6aA(DLnnZf3uCbp8 z+PGI<0Uoca6ktWBnz$K`AZShB0P9?lzm3DK;sK%H?oZg?D}ha(Ye-<*$XiZHf++l@ zMtzAT(bxibTCS4v9D664H%GsR#;YG#jiOEh2#k5WFDlB0J_A_e+rtXaf8b3!^f=mR31eol{WSgx7YO2OqM9!Z=7ZQtPnt}gwt zsp}g3dYs(Ce8i^pfSX~8W`?y}j>lVu2Xq0`X^XhIlejhy(!LFAFs3QA18jZ0OMO?} z2{q_+{UYIUeohr8X2&+MjGdk-!nVq{aJesdg4b&QgHRq{Ic>VoB?c?KAzHBo*QiMw z0_aSpC4MfZzD|`BG3d}ttRZdi(AUW#N}t*{y`XZGqFeu6(X;=X2PMz9V2ej62>U$$ z#@@+A*Tt==-xS^}NKILj)2!lZb#b<-jz!h2WdnaA{e(5r?Gl!uzA4@0dTWZFLoD~5 zwYNeKZ?gaL5syq6{1&(wdCqqElwS_i<6&S?EDtd!_^vV61Cm&9 z$cfDD*4i+>U5p5@0-7diw@Bwkv~Mrt{p2G*Lo{xfapO&XFef{m)b(?w3$!XeF*I)Jd_I<_tbunUAR5fcx)`5;0h!h&?dk}CD zR>ma2pdkbUivoUopGMS>f790j_{HTI0S^!x|E2Hb0)rbqaKTcb*_lR&0lIki1R_Kd z2yf;Q5yOK4iwx>_{B;yDItsv2;16b=Q-CQC6YKW@__{E!6Mz|5hK;Iws3TSYAcF`V z8y^qgOKOAYe@~jU<05A3NFm{;}+uenR|0D$4A+RbQ$3OvcQ2_Qep)Zx_|uU&4Gsr zx*PZie<$GalZW`o0rMNrq%d<~L4p)F^a1GoTof?aWB9585B#ZK1`c@<-~Zw2Bv6>4 z>lL?uc?QzVN7(7H*Ny4ry`$>$bFQ_gQGkL0n;Z)Wu(u=N0XPBs$l2nVgZ>$Xc&{0G z#SeTG@&eSoBkmJMptJvi2RH?O4gzk#(07Np@x%V11SCMnX9fxdoxv5VGIY@(`CSOM<956J>4be=4r{ErgZTr=vlbF=fUR)D;`!}*xR1^UFb0|7s z=9jmjU_b%DgG z`uKCd#x8P*>HlG;F8!wO%o@y1?49syvpg(xkE0;k?)meHgvh5A4$#)b2n6l)2~Fj9 zPV0+2g&YuwUF3t%i;t2|0Rr6f}B(myxTyG}|+3LE@~ zVNL+Rci3GLDm-Y<;tU4+0(co_dwzTU0F^W$b;OmMLW9 zK`A3`PZ^8xc_6(L(J7;N<@tAxb6y%ND4eQk8@+v2jNRCuOeNXO*}z#`B^hz`EI?)A zsoT&zo640Zdqw-m%&KZoeRuHPh&uvX66?jo+1Hnp5=J^>o|oGdxbpLg^lt>-cFV>W zC9S-Nu7e`;LeW4Qk#i2efW<{fH9Vzi3iNh_K|O%$xBYnx;hj6uR=r3D0%K~$LJYGe zf?Q`N#HZu-_BMHLZ2T-(YV>=;!LWI3j=wQ5ys7eSjR)<84%)kk91*kEAg&t)Nzy1x zPyyj6>*^CeL#wMg=zg|;71?0&MVgJOOqp_Pbi-9bRXq?TYija>;2%E*&Rp%2bWmYj z>O3}P^2W>Ydp*2eB)RBx;$FEr3lH|ES#Efzf-w1QOE7J(fm@<0FXss?ZILZ$u?E=- zcQmtf3Ruux?963UU+Q7i)%S4!uWsgs`$}dW5`iUyj7T33^B8) z(z7xd@BOnHa(u$0+JcGZi>Qrg`L-Rn=TAg^w9wD?3NV3LO+x4L9X)9+Flf@PNo|%J zM^U#k8pkXEocP6BbEOJ$;+ipR*I_#TrAlydOVp=!{2 z7EjhkpPRB%-8*I51xJSfmfFtLX7cx-(7<<3luhzGpLgGlX{5D^EyWYMxF5>-k0QvL z3CyNWY;E4J@LIIqZKF#wN7`00FFy+7OB|nXxF^laCHcxa$r!j-U4y;?+Vry- znhCp% zI%1mkZP-7Wjm)Y5`g-|yo4n_~hNTIFt+|r#^|?CNMNHq_6uV(-XlH3i&^6p+kwpS; z;+h#=&cY^u7YG)oCX1E?i`#J$QvyGi$8;prcYsIhrJ7mi&MQP{`Q2bRFVlKN^IySv zE5Ys4-5+iLYol6+oiDZYJNO{G!`#@j2wCEf`8*TZB3q%DSl%48efa}w^rEj^A(vj- z5molJ01^%_Mk*>2MYNx@yBo`jo-ZJ8wTV81nT*3IF+cU<6G9`7fT^gurVd}4;p-GyoQ zP$YRowPuG4uoGXdhv@wWM?#nq8T(a06Ul!?XP^H}H=PqmKAPVMDC+uG(UyCZHHCY)rO8;gzle4NO1EtAJV zFB;n{YHspb^JK~)(7;F4?`zpJR2O`(F~w%r3v(wv8%Il;PTxn4a+{>p8iM$3UYG&8 zxNq@BX;k;m=*LD;@rX~F0a8H2ah)t1`d2`aAH_#{{1woG?kPg>V>1tN!X7)VfMysu z|DJ|>f>+63t6>@2pI~nBAV-4nSr5i$A zxjJULEo{Gol=@-`a?GCRi`Zsh{FjdG%t<(aoVHVz9WRrX3i*vG8)3>>Sr@^^WaG(R zeYIqiPoy}1hep0jJ=@kIef)MBX-j5!`J+o^OJGAxOr*5+eZgzPsuT0sK|Y}}+lCIp z-jwW90X&{1PfA}l=fqp|z}XT5*&#{r4BKN{_8>A5?_BjbWm#4w%hH#aj=c4Qu~p*H zNP>n=`;o#`+IoQnz=C9a<%qGDtWRWbHhuey5|E9jpo+kDGD}yxd6^{Ktg0V?jy-&5 zDv6)(sbdXq$QInUz#vcDZjmYn0K%c9HyT>T`@I*jA)2I@v@Ne0J# z{ySS$s~{x!*6*(t*mbG*4@ zEM7Y)tF~!l3!Q9ctEB}rCheSGlA{2Y)-?J#Z|5Vn1oE~x?& zd~GX8(}@Ccaqoe#xl;Ubu5TZ{`yjAwmPX14>1&&DB+4>X69JP_tVIIU zM`r=aC0hBsh`JJiB@1uq?sM19x2%Z^3kn@7 zVWP$AeakCUCgid{CQ4<;*v`)!+o{ErM5H6|0qQHn|CF;!yWZ=O2WqJ5*6Q4fJCvTA z{YF^Q`mksAE@$YFHQb-)w56CZA_e>~W|`8vLKND=+&=NqAC3rt-;lF5zoJu8EPPIy zb__6(+g%Bkd)CYtjs$o%@5EVp*2;}6lv37Z>$!dkmZ;>8k4@Q;iW5lz`4{-9P%oGZ^|7@lx_IcR=&~YFTMc3y_g(acWpk&C}4Dlxl)a-e7h4^WGnRQxR7y= zlqNgu1~zFLmw(8oSiIr5FjNZ$)4EoS{bTRT7a6Cqb$*dkd!;6Q6SS>Gw#d8NP5z=C z<7#I-42vyx@O#4fFhUa~urgSGzGoxU#GcVAXj*vvxu^YVN7wra~` z=U#-AhGygurQOYdKvz3faBex+&EnD9r*m|x{$f^VF}t80}x zW6)V=$m{R=bacPUUsGwxF0WXY$gh{+MsnJ?*KC06@{!ifdB(6Fys)7}IKr)_?)I)@ z6_DXrF`I@mgCeO$i4Ifn=jGEyODO5cl-jJ1RttiBW%J4B>r2MN3ZPg|V0ylW@rdE4 zOf=YJP@%D{aj71!LMB*CU#{GaY#8P+b&5uj89K#wn4Qij(=uK3-$FRl*noP^3_J(i)rlgs}Q==0~FDO|fSksVDX z+%x8nVqsFUJ!cE%dlW$dF(0PEi|m=89R*?I)qy2lJ-vIP*!pN=Y{4i{=kdk7ggC`% zt3n5O6v69V6=8Ec{2X$vNfnbiVm4d768cs}ip5E>+#A6mdWSCFf`M$#)^oZV9>q0y zvtXB+bFwVgDE0;9-ol^-s(Mntl_WBzHS!|`wu8=jy+qStl5>}bceCyO-9^$ln>1LZ zd0RJ_*@(lWLsJX%DQVQe%_2Rx6;mtZ{O8vXD7pvm`G(bhb?$Wi%mkKfb2IV~sez~Q zlYy#Z8=t=;os@Kh@Z-oB*^~Q`oDTAP0jw~LtZq9z=|<$xW2-!rkwY~t?;etlVQ8nPRyn1!s8!B;803&U z2AUujNlFusTprEhw>HfB=%qT-W6F!JqOaeAwY7*>o5`hnce~7w6aBW8^^UwG+QKf9$(6mFU@Uka+bEPzGcj( zAMQ+c!zIoI1QppIKgZ-A6SEqpzxB>%zx?^mO9%oX+HFOZmZ6b2AMUe~F67t-IQ`j*U?Y>hkF;A#~^E@o(ZxwXD(;g$hHBO&`8wEFX8wiu*jm5g5>6*AVJK|34Z zq94VCkxJPkjk3g?Pj)OkPDz-^_#}nR_LprYz;`pm#5AfWUI~|U&l_WiN{6-!V!2Cd zISuNZSdU{vRZV@{sj^!N(ZB^6=$D{d1&5E!>`%R({V=j+^>KNEF}gHbqL<6~iP?lz z|0%plH<9$s$lRNs4F(EQ`H@ABSJ6VNLXUp<8|6vFZR{C=XxAS#O^FTd=`{Qa`SCIZ^=rK6Y}^I@^` z(=&CGS(*g&JY@ z`JG>enYDt&<3}EU0Sbt;+&hzX^e$*kviH?)l8)n( z_YPIDi%g?-@+7lXJx(iR`C8^G)yAoV{jQE+o(*90#n;i{S z&-}nkSKAEC=C~1mZd`jR(&bufSJh-y#=Yvo=_KbXVO=KT z%A(__I^a>w9&K1*7r9|TEoO$5cO@b$rW%joWN0BgZ>)~ez!7so=H*tq)kZDECRm~2 zdbZWU+WCqV^0?zUcqdZ1@B>AV2lMH>dfweBG+p#;#cAxo)xZ=#Tfcjn*C&LoM#(tI zIay%;+?o+{p)hnj;#GSM`^Jmt%|u_T<||<7!a{5fY0{WYxUhff7Kp5Zm;=73I(jz# z;SLe-yZI{dk;OPJ3|^$`#p;C84=HfkM$4=2E0wbD2P9r^W=tNKfTx};`BYC%^|tq7zo?o}Ew2eYt5BQK zd#nXvI6H%|x+8yE57yd|Q|S?=nXVK6O=Q?JP4j5G$$V^XC40OsrHm+w=((b{-8}5h$#}9yuirHMp*Cm}S}vhc?)SOq zE3a?^XkP=|Y#n(d*T$NUd7<|t1apdqf3?1SM4VHtYPICN{<&jeA%u}aIkd&npjunZ z@sU)Z-Q4>Jy`$vfZ59~fPtx}0{v$K}HA9Sqmh+%#g|_cX-;KcB=lyF{tX_qeCE~2v z`}_@UUI4$G)+LvyMaYb76-35r6xNx*l}cg>vrSe@XC*M&tu~_o_t98f(+P-g8i5}u z5f0Ry3P|bu4lw~%az)VM{|ckrUDZPjtoO2ALlx)Y^DT}-l9qEOQcDmbMAfC|yu&Wl z&)SJ|WEDDE*@kgU-?o4f?!d|Q__QR(Sf9!}sz6t>Am8w5kV#UqhBPJ8Nt6C@u7LxT zi$JTxw(Qj7#!slXVDN{CPn|qv6@f2$F53rPKWPg^rIM$!K0u!>tw9`hH z0V+)*P4HUyfArF$?{toI522Y=exm#EWmjo4ExKq!3qzY;g}~;6k{r`pULfgvV)1f9 z#7Bfj*n>&Pw&dHF!_N+Bk>ZZn<(d zYnyB8gx^7)k$gf=!ZM81EL>7j?>L+j@7CgDA0oQSf*_pN0tckzvSy2W`sNOhj2i zuSJ`xyF!C;8I@FQ=G;hJI<=YIU-LT9oWpCyg~EAoT)}0P599N$cH5Oen(5{ndan>- zNQ6a1Nqs$crOjIJ_(vH76#h%r$MWB@J~j@{|D=0N1e_cU|JTO$KeIkY1`bZP{}cB8 zzx8V|&7ca|=SXzXR`#t7ZIgRQfmZg?_PEX%Tf87{&^I?&TRD4pTaXAe{oje(yq#V% zzv|oCDzN&mi{H(?EGQF}G=-%tBLtM%;mFYODY^gzwfPg^24<(mCT6Ds1qF(&&Okvw zONDdhfjBs{HiSUG1H-riVsi9cki=!^%%Iv30yCH}0FFTZJU{|^fUd3p;N0B5elRw; zAOJ{Wbg88Pplbfvv>->}Ld3RKr#A)`w);;=$NYH!p2%PT@p*Y^@9=K^<*;M@3que< z3Ji{o0P9^MEQ~`e%zeuX<3RaP zjv$>;69!(WoI{`L>4VZ)IB3D^ugkV}Ky;ivF~+0tln%;AY{JV}N%^ z*!g7C@CuErcUIEVTj|8&P~Yt2XzbDq z@>?5!%|0!iL`qnC(89(>5S~Olar;F=gDXHruj^*^X;i&}psgN$nzw73ilE%IOPbEL z*wC)uP5mb5 zlicc^fzRrDY48yGem-w+>ATamnf`|OZ~rp>8nszxVl_q|nO=h38Sftf z*4x`R0sCKdT>GGAb-|; zC?9~I|8g3|0L)!g!GdBppT!~MP$MEnf`(Hr99xz-2Gdh@gofav?lPo)+_Se zl;CH@0cdTSO83j;0cmS`d36U5dKYq^2e3sCDWIqIME^w^e7#GA{u}i~|5k!;9ZP^d z*Nf4n$3l<(0^cvK_B(MFGBZ8^_(UI>29mAw3ki7S&gk$$V#Y=8tNbtF~f~>;b&Y(Jw;H zCAlz}i6Z*?qi6H$!c%LgP3TQ>(Rhp7iLm<2aJ$2Gl55o^y)GVX=C0~`)qzLYhXU6$ zQUzkcr9O*vl2JCJxJ1O>kWlDQxX(!_qn8J3P!8+83?2Gp@PQA?xaM9(cR!*F_i2Mx z?acm~sEBN_tOS@>1TUB9C1uO6W~@PfQ=7rIA&UiEuaEU286daIQ{sxJ^*qU78hpdS!U7+~8BuF6i$8s8-BHp6Nq+O*G zQ1cCilap8tmeT>(dQxC6QELN`J`OZ6?CG~hn0fSslEix=mak;4!`Sedw)yAUc#7&QIe&GAG?1_j18b3Rny^1t z*no>M`ha%o@~Sx8`0|GaiV`T>w))T(C8%>INVRZra5gSg-68 zMS+U<`o)sQ43^)iF@auKRK*oW7_g0~@@@_Yq+Zn^WR~i1blJ@?YC?l$ipSbY z>c-+17v|L-ZxoPP2(fzpM&4OdcoqePh)>v1mKCdhxLU_zqkRfvw77y-;6KkVW5sjd zB%^x{mSrF~=yM}Og*F>gIvlhi5a)>!D-?Q7h+%{}b^VkdA>%I0(<(}c>piM5#*&?Y zBwY|i)IAmHmUe;wR!jv)WtHXNw?y#p>D;i+{k7>WGjhSoYJ;aoX_veZ5S-7}gXOY@ zMxf!D1aMm-qFEy=^k>d=qbY6EquajUXVMx#I-Em;MSFmfZFf|xsS&>(Yy|0weU7UN zH-8k&K`wi`*>TFog7qQVUu&uxR5ryil+7UK_o%BAs`%Q9WzB!_+O*Ls+@Oc8fszTW zxvaWiua;pTrpzYMBqnej$$mcV*dS1$JWERjSd+! z0pMD>hmUKY?lN5{4J>QOK>7pwD(=$RNmmx~Sz11q2L>O3qcgl4<6epzbr{%ts7x?L zRRUNpMvG2VzIx%zE;4(KQ*NZwjvVR2D0bCHxK5~rknhx!Q!z6>#<%E}m6I&;n|)D`_=bn@I;=>@L4I+@+Vp>LLn9JHZA$>Otwrcuy^ zTfXMAHMAaGKyXjc^kR&a8ge``!?oOMqisl4&v1w#M}$rsm(J55X?S^YG$& zKw1ivbnZ|qu%j9V6fBX5tT2%18-Sa3@>UmIKhv4^G9F#GMhQ$_b-n!0x^aZ){LQ6c zFDkxhTRMSQ`iU}fK#y981Z*=o*0gn`%{3rg=93+!e+k-*B_m7gBOWwzoM((nhnivG zog;SvX9Cj1sClH&5UBluGP!k2)B46_%PP6*v?4;fo(<-wKgC zBcz}8Cg42;udbA72&sOMC}ry?=tiNY#1@iAgAvXL(>iz(KO+kk_Q(nXlNdse>;1Cj zDt09b4bL)ew1rB82M9@zd0PuF6u>%}*Ht^(AoB28s!{JKS>qd?X>;#)KIhHQGgcuy zauTH2tIt;Rm*}XFW6s)2atCl(k1N=sbIOuAhy}VVXfJqOvDr{9ZueFClz6Lyhd$`i z!5dBv3{AMwr49EesQWr$X;#O&dg#<`G8*-x9(0PCJ+9L$s4o7KCB=77EB4kWPM>Pn zU03j!_1M;FdVqCgfaif3cbP`vV&eK6*VEWb^D|9?d$bfDC4uLKWqm^KYQo;u$n@KXWgO6j>6IlF zWYs?b6Nth4$80~Y{Zb`?h@%#}3CUrY+G9_utlDM{NVcFEf6=4V^fV^YMifX(pqFP z9t>+lP`9L`*p1|eVjZG5Ck<2xOFI-=XlMhEy|P>i^3^XyIQC^E{Pc?tsAgNjw(uBC`(y&R=NqKBrF2$Hmo+vu#Y3hQeibMFXt6iDxh~%+GZ!b5! z&AgQt$eCTeKPptUvj@9E7s+8W{$x6g6 z6J%FZ4lhhh-Flbqa{^O{G7CK@kz`!!)x1vsh+quu8#=i+r&g}U=D9u`K!@EjV)Zpq z@_uOaM`ue^(0<&j)T9-Y_;rBNHkIkRKwHeu%AJVs_RykmLT*d*?Gb}?=hHV~G3*Co zMRB6BeUeKYi!AF?-P93}ka+8}eo^W2BI(L9QGYgTVFl0y=SX2tG~eHSc(9{fbHk!p za0~Wh9UjXhuql}g@XQw?tGn5H8?R%XDRa5zDr|$px&NVB&`^>V$0wq%utN>`~-Q$lto^oi%d-^&I?mdF}Gc5-N zFGz2AEMl=`!(<@h_{RoNs|LdYkYGWd>z;PIq$H(C{2B&j-MC@==-hg;sDlGwuRMQ+m$*;d{}n8xdFRekEHQH8u{Cku9(IfLVK7Sd6a{m{S$6`Je;~i z_B&Z0!YTu8bc&#Or!(gYmQ{+H%5YG_jAqjop1vZ{J|;aeDJ^L7?wh+9=Zh=}?X$f6 z`DW69xuLK8 zNs^jyLY9+eElZGJQVP4H#-GR8i~NF$2>Y+%P?4l3mR;4!7nvo&v8pJBGq|(Z7i1}> zk;$?@8t^)vq90TDJD*BxD1%8Vo;1NL3l>$gcEf{-{?P}66~mW}YnY4@Z6k88aQ$iw zWRkbn+_gDh!7j$M8IPe9J7I&MhYMMb){$l@8|7i!4Z}B2$MhxL9G_Yf%%x z+x;XVY7mf0Kt(Q9jHW~OV_Yj`xuJl!;&^CUuJaP^(dOg>kazG?*||CtC3h+Ba^3ca z=?1*sDBs+v8Nox|!l-u*wYt-E2z9%TyLNn_;&<^iY44GAB@+`Ni=tkQ;el2av>@^} za8*!ZozdQ zt+=^fOnO7ctO^8F=kQMW`H*O?_to%IFXOR8V#RCqFl`apgHtqqF|OGw=STjQ(4w&l zBr$0EEI-*($!6`Ro0+MTEI1CzEg=1lFFRvnk>xy591TFN`(z{%-iTOi{?j7=ICa)~ zh9IF1PX?d8)&`icY_UR@IEvz+T1`Ta5YJB~yop%jK!Ow2#|WCNg!C(=fav$1lg(ej!~FSs3vU6MG83 zOnX|fv$Y)%rif+LS~1lZT6ps(GjO_Za#{xxgi`Eapqdz*yHY72ez!#}TMZ&m{{ z^9juxw#*jhT;OUACzL5Gzy7+Nqdv?gM*jh4BmKuQDsQhMn;Kk3o6@u^pVHbk&rR2> zn{;wAA@A75cdis76jc%>&8gyK69r|GCDPMKS!jlbv6(|yYYX%*IZ1JsGz%8*uX19olf4|JI(dlY_n%xetB#ao3IOPG zQf=$;q#pT=9PJ{9DGU|7^x>f*%^SG}c>1Z&o2R1TAY|6~D_2@QL@_RE#J~)8T6cgK zIS6%U2Gk-9p6&Cj_t=YqgT1OM4c424LisBt>_3-RC&U@m*5v9dQ$*>Yhopsvx11P? z&eFYl!qYLToL zy0A$HLI{r*+IZRsrrek%^!RE(AC8~+r9=BLYg1t^nQ_jdi_d^N&iwII)`qxsGM!g; z*vUBay2*n@nm_OZzKeV=)c_}9}f2GX|vpuT7!4~hB>m6<`I&y)U z0|HFcm}eVoFj}QJTbM>?5|2ITd@ z>1A%E=t8`kYB0vzwfDBjhH6!G9J1EUaKh=`K78?EP&4}wPOXIr`x~O4{4#Kjhk$fO z@hmiP$5y?h=8P&!NwwrMUt${X42?@`?CTrAoDHXt_`5-PHYU}Z261wgi@H5T`=KEH zW;sYaIazi=H&RdZY&|l@v+i_AJPIY>F3(lNn(4dmlIlu4&6&J}?qC&&b0w)gSj0l7 zr$xkUdt#Qasl9IE#j3F{P^ zrfReHe7(XN><3f^A7wU(W%L-nW631sZ|KWHM0SnG7&s2wRFrl!QeeV;&Q*vlV=py? zDlg5q8l0^wo`3wsgnXcjFp^dg+70BY|I}$ zV^<-ML`*v|y&J)cF(y+mHY73ZwDIn6w&C;SX#8jLqZx;*a%pV*RuCbMfrc&{-22Bn z9Js(x!MO6yH_(4;{|_N8rb;E~>faK55heuodoR*@y#Td;r*5dMmDoyZa?SFcu84VF zPXocDOFNo%u{c;%_uDhw!$=~-bPg1Iz@*ERjM+IhcAx|_Ubst4n5xpu9TP0rpaVF5^aC3 zop=UtR6zkD$o}}5Ue^Qc2ZvAB-FyCM~3=+>q#@S+BZE1Y`I16Pv z>F@HyAC^u2j@qUb>XV9DWAIMa)Xm{SjpHIp}D8aUDH~$m z=GsFpto<`1ueL^I7p??;rBLo}lVBa3DgDDa<^fd?Ze*xeC`nBbEy)p27h^m(E8hU%%r~&{It}w^4(qF2e_w*nqaXiDVcO%uDEAiCoILRj}w@Zncd%j3PX9hO{a61X?2)KGXn|(s0;$a3px7r=C6QNj_U>@Y9BR2t z6isE3ncX0z0>iEvOq3ZPQ2^Ju$cv7ji_`$csF$%HTH6SF`ID=hV3AN0J3CQMQ?paF zY3L`1-k$g@loD{x@lDRjNOx7W4$W&6DhYG7`Aa`aS|Ov%g_YWe`Ah{Kh)m_^X`-Wq z*K{tD_~FQ#iDo(CLXTy7g1NIG>)vfIILnn_$meX{kjApcjRP!S6tO=3QN-MGZ)c=< zm*{T`-Sm3pqk;GN3{lD>$AQ)isY`HH;qn@xyHs=B2*suSh<2~~9xUvm<&;Y!{14b6 zTAKa`4c80*)y8Mf7Jm{ZrLYmj^mq8co0CJO*e2{isD2$w#Y<)O=>{ZsBy8zL_+qh< zc=-a$3Z?VZ!s*&Jh1avb;#2u>j!gmQ9yU7ES2r7NV;AkF<5q@BkUt#dhsT#t;x7GZ z6sLL5A^|r^KE#dC1dAlu9dYlsKejG=&T}I{ifOl&eS+ayZgT6N=X{A#n zC{)+bRvx?heT8SG)Z|J_| zV%^QY%$J@DXoI`#JC7?t=`U9cGaR7Z;7Atvuzz&f;?KY(H&ijA=W&d5LO^A$SEehqq*LjY689^f)C)GMx4SCEXVQG zFj1@CSim8lRa4;vpxi;^*&hE4;^CCg9z=qC8qDJ{aA?UoNF6az`-m%OwF^!3aZ=a4 z_X@No@qg;~4`WVdZjULSAS=8e0MK`1dr7?$6LD>|2HJEV6Z8-5H-_bCux_l-*k@QG zX^$H#!zJ^ptD7^u2IZt=Pjp|JX%iX#lw4@8{w?J{qQY0zpR+jVOjGU`1=9}$)aNL3 z^`+jofW%c6@fhbk%wseTuL$&I^geW6q=25nrB4sr0^erC1N1C+WH>XMfxK|vx(yyX zxAKLe5;M}{Os*lW&i!oMSVF-F#V^D*R6-N|nG0!BJ+|0|$ZDr{ITW|z3pyz5&a!0d z+Qp#}o(tNqP3AA!@3eZ9p)0Ic$oh_vk9uhwrc?06oZg|NN+I)1zRpY544%t_i2W!4 zO^iW^D0Kr1m1g|V)_bZ(5lM6aBNOV(+Z49MC7s$#%4a-vre4oK1+`dhoC0K$^qUfM z8(p<(=Z{&s@53K=e50P5(eW;%rvPzbJMh}G$;nU{sYD81%my4Q*y0q|-cVSPibBpG zS6x-K(;;#L(oXI=&{$mP+~+q5-nJ$qVY%sz`q8q|G8xBjk*z(lZ8aZ!T_5I6zWplf z9M3@mvI1dG z6U$_#a`ZcKoJR-^o;gZ@n~+Ib94m{N?wUOG$Xu;teP6EGbp|l)o(={JqVV6}5+bnu;AZSZxB3v_` zp`l~wOY5`;A5kNwD{CDGQdf0bpfgphjTdpCZWkr0Ev|tPB^}y!c_WF2V7z1GXU<8v zuibRL`eF!msR1zX{MwjS(5JiM``7~rl|3=%g~D9p?7gTP68qh#L$^4rV~1G)Z?V3{ z%L!`jT&%>BpUVZ^Sz%mu`aJgG^S37OH^Is1`v@q zdz$O05*WM=)Y-=txuX^NYADrtm2(uU-GQ5IQ{N{Gfg8gpX{B@F_|o4?6oLkB4f!f_+qqW%a+g^QZ~I!eI&lN89Py z0heCBX}h`c`SHvUN*nxUs#U20`}E+uz+_d-m4Z;8RzmW;nZg6nJ} zqT>nJ+((#W8Y`ThI4Xt{1Z`Qx2W3MGICs zm?@^PvAOJprztsnc$H>^DKlN63p2;J8n#GD)IaZuYBYsJcO_qJtU3j`%g(!pPNe9O z3`$@XiD_nz*2jpZ5vBKJGeXc(Y`A_Z?PP?m=o}x3LgHID73kbVxf5gS+md3ju=cv{+8nT3S~rN3-XdZ zt!>uVS^F)(1HSxXhgSrOWUaTrN}Sxw{i1!GhC{ zG>;spA@_zQKby;zR1t+Wg_AIqHOAuveX@IxY1N8q7z6ZR<+P%ATtA7~_zxwg*2yE4 zCMf7Pq>tcJZia`%B%X-WeNRsCZ;Y^$GG?7EkPI|698X*D5B-~z86HndE?|WQ#1MXW zQY%_qqhY(s$)1 zA;2acAK~7xMDoWrv&zg>=#i@>5lCT}Xt|HNj9HXlV>>qNRIhB0cs;h>blGBpdxL8F z(X&$AFGhXJ5#{}ef64@h7Ye3e;IwE1n~y?P{@0k3 zSc^W-X2v>LnHJ&l(K4#@FDith5pWS%_u*?oih8iN>+{Uy8$Z!I!vS(pOEhi#tHXp! zW4Fzl!ByOZ8)IaH{1X15I#3aJfBU-L5W=+iXVu~6Ik8%U)^c1j>=Wo~B$M3|$`KvD zr3`AG3#}2fn3bTq%JPx<`3jIsbCaxCfUbUd@5BE1cKvSrivbus>@1$s4%3t1hKD~S zY~;Hwvi}(A9#Fnpd_IZA=rP}}#NDY4(>H=M0cp?6K8c+;21zc2=d7e0-8+2S41E6X zC^bj7&De{B?_DW7+>Kak;rJ$Dkh`DO4M46|9-3HK?iEu7PQC2Ady3;Ki>=>Do!=6YX?Dx! zJ%;<2&|U*hI6U9+x_!@xkT_8OmVEgJFz+08+!IV9PNDs&`wGY+>58C2Xt-h}1Ns_E z*fDob`k&^9f*kO{Xi}fc*%DiH?*0Hz@u{r;hZ-!~|5SrzVPyH=HCQ%IHje-A^ncc1 z**Tg2?~ymopvucyZ>D!&Tej0jQs$>(=af?K@t#)i&E?m5@8TfNI;7_ zq%ezt&VPz`UjNa%_S#n8YBa9c&v@o`zpi~=o8X~?TJh4NVF#fK!~Kie-8%#e0XSiG z5CI^D=U{;z4w~xEg%#!E`6>9K2th8OMEgbm(CNd1{T12Mc`#gzN(20Xm3OiMy1xN- z#|pcJ3JDPW;X#l-;s}8#q2j^2glzz@wgFT?a1JBqh{Eh&g@kUd71_(a%^(3Zn*iNK zMS?l}x`6*<)RQb@!GN3lE50JE&qS>1ll$WhVnGRd{7{1^Y~zJEqMaN(+~4nm4QY2E zN^ncE$@zn$n8446vRVZXOk={l z1rFW-v?`E82uLgDV4p-Bg7_b>^}!6t)rMpH)pKK9g0yxrzUOdYKWM5X#m<1hxrc>*e6r})_orrNQA%4)ObC7+g1_d900z3G_{5d z+F1Lg=pUU<8v%rMwhJmB|24J;-2V++6HxdQK!6}29RLex10cv-dFAR2y!2!f_DSyQ z-OK*^^36h+`QOMwBJh{f9-qSRjiFw{0p`csBJk(^$$oo<%}qhq2WS=ns3LGv;QZyC zvoj38&i$4?NtBcCL!OJdcLU7V?d?%FVcTpF?91u?rT^K|#npBPWOp)--39)Y8k->I z0^rm6A_Ac25kT}qANs){bZWf+a7VIXe5#@4`+2MEw?g=j=Na4CUhqS9{jK=y>je#f zy}QxK4#yZ00_^hx`9UFpXzY2r|Mi*tZk_y<-s&m-;sgENd86!PXZtqw>plMs1R5xi z*Y&+)_jDH6HrEBTX8^qWWnl^aMpuCigI$7s*{Onp_GSQLw&yJEr9rr;1bYfuHy2P? zeewVM2*UoxVj!o$DU7iX`Snx)(C#Lf_j6!ZGP!YoGH>5Ke_#jgz|8c+uK;KhTmR0a z;~N+QU_gR=9qhAsn2|%+AM#=jWkZyP@CDEULHbkU7YzpB+1H!T z%VF>zyS)1kGthtJ{lw6pL(p38r?A^M&+qdC`bSM{#eNJM@mZ6e<^0$5$NP;CPCks~ zXNhA#i*~Jmy6yarQ21yd~r-uUXG?FRY8%u#>GSMc5Pi(>+d_**C zO0N4#lEc%TMJSuoUbYTvD&VdSbtLc3sB;|MhwGGAt#a;cQ)ooSL`pKuLt>kI_>#CQ zwOESrKq;C3%Ve=hkSCAtiO=kj1|9JYOV5&1nH@-XPxWG#`z6ASlo}D?JNy)SLdyGO z%kv*JNfDZcN0BH9WM$$WqEOrGgsN-p#rS>K4Ol`Cni z>fH{m-J>&&WG>iPh|2w#-A-Qf9wXOv3)t|?ze2R1Tm*UM1X6wn-560V1kLS{jom52 z1YP!lja(vL!*g2>H(c*|`MXzZSD>h~l6tUU-PpJxa@Xyo#Q2OJ(<$~pZ?@qC+MZsa zU+b!-FTB2Odv~FB!9{VTP3}iL-m?TKH}3vrpjGTVAh@ z%Mh+h#U_LA$W{{uS$ucGksighjf}n}uX6aRnS>r^O%*gd4E2}Qe`ozs zGmgIDhOfi3U_vG3iP>>1`=5oM*O_F4PxH1~1R^u;XFER_d2>p?B`aeOlo4-1Y9Xr` zb(Zs9buGoLvr$eZxuvh$fQ#ixp$0x)*g1h$Gl>zbVl|}|o``lEx{2)9?6%MEK5|}Y zB`~(hY_JPPGcV)HqxOVTqoo_}ZH%(t+C8{N7kSt739hr$@+lcCuC#cg#i?B{?-aU> zre*!LyH=@Rxc=wY4^C#K)*7)meGwODF=yn)alOi_sOOg%W+zE;=5NcrfMHa4wQBnS z{Jhe2h1Hxy`b6gD9@scM;+kAbINCgv&^Z4JOhyuHed0Shx7&p7&_`RIHJ8C}NS&fS zcx9eJs2Q#o)cOJwgpk0W%COgN@JZ5i==+2dJFmG?yBjb$%&gAbk+xm0EIJrOF1NoA z9|;>;sC3tXXNg^Er=1tr_AWZfSX|t}#6_e=ESMofY5lx=?F=x#!N}NX_g|r`Wg|`^ zyvOEw!m8-J+KYOXoRU#gHWM+2KDM(WFeg4k zKTfJPQFDwEIA-gYhN^mUd_rCT+SG@c>^v-LeB8;0d_&ly%R*0eG^6z{^G;~NMrgRCQp>31E=OXMYD%pzww(~m0#0BArLHSJ2A7?BuSAgueq#l{B9&$`Tau^cv=yJ>9O$92Lqg4eeKB?O8but zMAn#Dg6hc#KQ^*A#%LoGa*Mw)g6N zAp1{g)lB`3DCAZNUd62&Q0J^Dl9%OPV;tVU=zQloO%W^@Th;$FveK^b$w%5@V?uQ{ z3Q7rQt2iJ0j={LvCc2JcQTpGCq&4j_-123s8yS6(N(W@dT{}SThmYqc6!L1Tx9zSt#o#aXoCAXADBA;v;N-swth_zkTkRkWCyj_Q}DS%8?` ze_%h1y9!XI1|1`sQ~r`PhSW!EXDtUh_?blXJq_I_xrud=I$tIj>y{~(O5TD@#8&fu zRVqh&jQeDzWqO-ARzvGUmoiy1*;w}C_}3&5uuC$w9P+k^h9R?M^&>(MMbX z>}6u$MNu7BXCKG)Nda5Rv$k?%PtK*uy>AFl0@}kq`vpAq=3XcP6po!kuNvk)e6#-X1sikg>0Q8wT8w?9NQdiz|aOnJvdu)to* z0su3_m-eYG_trE1UML_(Ld|XBPT8dR+kY0pBo?P5AL~9>wWV>N$rR!t##<)8eBh>9 zdjA#=ycC1ZbBS?UWxw)x4?~>FFDA^|o^ajoE{u~M9=>`cr%Uoy#>iKkj+lyu4fjY} zpAV{Ez_C_g*?i{;^(gkUUF$4tp-av7F>u*gsW|{_nX!h13uO0nUG`qH%IBcZ@tuYiGiV{Yn!wC-MkWZOL`;AFF4eTa!Tf{jCg zen27}E_09a=&RYcwW{weEeSF(Px(zuvb52%jhC71@UWhAzSYCA@0I)jA&A4 zk@5Id2^;g>P&$v}zbj5g)2o}-Q>vhhU0UTzXRIramMD$SwVJ-kc@Cu&98fc+v5HE+ zO&s>U{U9`x<6;g>8nO{)?ryJY!6;<5u>d*_YGf*>mYZflSLv0n#)5OGm_=m7Mn+RFJ`wD8) zHgEXw{&XeW!`oUPsM^|~^W95!Vue?mi>6Dfs%Kz4UpX$29D66t6Umm^6~iksPp^&A z5fRRkgw=IV9~+#{o45yHaGfZ>DW5E|YDwkFr{$ytNvSX2(|+@IyTtvkCr==xyMb@T zEa>qUq*Ili=YghX|F`A3i=G;(>ftg4&w7!R*m$FoNm369B7t%E0@NlN?OBgjo#-rNOG&y#VEt`l5zgp1 zE+8kgVV13iDj2uEXTj+vYddhqRpCT zsq!mq@F(aXS(!H9@_G9!h)S6~_Mf4B8SnaLBy?wA#DQWFIg^4}Dp0avsSAm#cZttN^dGk)&|+;8H6o1Gd7+B9 zV`uPNm55Ldes8F4aVkvJN`0T2ma{u(DjM=**=C5$!fCz%cw8$yNWSw$NT(J@yJ7K# zZX8Q1OS9DH&4l&i&(km7Zspz#Usa9P<4fVYp-()#+|?9LXM)xp1nX}UX{ov#p$Fxt zP>BO(ZS!Iy-zj}Uu5AL}Ay-Q}vqH%LfBX5TM_ih|h8v~v=kk#(glnM>9-Vu#o8bwd z>`N#9uk_)Go2|Xc9dso0cec)q;A-T3A4cM_KKp0#u(5nQmU6rrnL>Oy3p1k6d**VBYx;E_vUXw&J z0QAkC!ESvrv}?20F-R-~?6NRk_IvNC)2~wC8m)cns4?5Z^`vqcp~XWfff>|b`8mAz zAEhu5GoU7b);F@ue#Z4lhqP6l%aY38Kz8$i^+CBf2VK8fje{j~@4TDsp{UF?vI#ef zmvJ{5(Z%q@vZ^O-yCacpw_d&mw7Yjr7D`fn6b4UyRbS8Kz)@lLq%!R(S1QQ_HAv=F zhEMc@P*D`QXNrx^@Gx#;H6BsK{gN2;R;%_C#K-ChG?qiP{x6}hwTev1%Q(LJX!ZMC z_A4X06kfD}XGc{SzrQ9O#{~1Yi$P*e`DwGu%oyt-Tz(j}2BTACxGF!MWuO_xTs7k| zoZuLR34mNO*X|wC=R3_bB8s&tPnXpyFmT&<)3Om>{L9kKW9U-}xe zSO#;8RNaN@q{R;cBx%?tQ^g%h>&zPw=JB5~k4HVygnme4eILE$pH-h3b+Ch$jLfD1 z_a~@zR8#}%4}_fk%G-GE)iDg6-z|9+4|>oDE@oYU=cP21jJ=5C)K66Z1X1#&+r(tR zj-*u_&x|rdEDy=d?PRJxgUiOr=*LBgT3K!nhT|3tjySn_T{mq^j*5+{R3WV1 zx4_juzFtewG)2#OgmFuwVO1Jl|5YB^!uS%UjU`!*0&=z5^}QbIJewn+MyTcX^s19D z``R(D+xAHnV+nmRGJpYyBL6FQm6gsSP___?x&-& zTmz~;c`STk)2zmzjXdP)Mw=~&#a+=GHWBWtr<;@=vs6#iPO%3Km_L8SpyFnnN}^D| z(UG{L-ZPQZfK!MD1GIVHT`HHb7NqtlBYzURi@;jKStV6ju=VQ4*x4u?890ueXN!5t zVQC-$9*G>d3E6B*iixXHyy^c*%?+bnadXzc^0j90>K04PbV-EAFL3D|AK`>?-?s5= zWyy)g|22Rov&z(}{NlIqyeE0LX1P5Z(WOyM>`^{I$3_Tm)#9>0sm9S34O1-j^L_F# z-4Yvn*|khMlJ2ZQNAtuH)J4Q_Kn10LCGjD%aJ@Krl3aObVay9j@(ZT9#XAA878uKs+(P0 zXF&H0lq^dI3xyEs9m(9OQs0afN>V;VN$eL>!|6MQ3ZZax`EV=&L5gmpsXEJl%7_Q07BI{}+FS zF-3uu$o~f#XpcVEc8`r}`05yS)d^MI5BV$XZ(7dUHLoFYT%6DJZABb(XN>(*L zVlYt-JWUL5w4nv86oj~aB`H7m?3x-|zM!PeNJeF=rJFojdsi%R%XfV;lW%3Qiyw_R zqclj@MEQ3csOX$OQEjOf?E|Lfrt^^C!uVl%Dv+XXvu@&BPFKP zL3pD_@obS^Z`NlKNw!W?P&HG$F47Vuyd72dR z#Z&Y<`XYDw{Eo_%G{92Y%$PV4hl5ZM2Pj6@Xi?PoY5ig$sL_a9Ugms{ofPLVWzj)H zmnU2XMml`wD#~P>{`m2~F}hWGfOoXn(04!KW&3auj8M+UfzC2pe8^Vf*ZG-`vNTUG z>4|RI-&Axfl{U)9O#2a2_zpIKnupsK`K3ze;&Y>0wqv!{7SgOzJ80>|!S zGn~AilTAAJr$(`I$BJlsU>&#JKH#6O+}~Ut@~=?^IH%w?peLmpM<+$G1|)yz7@rM3 zla*u}ljgYT_(JxaTP_iB+l~LBwNYla;pu)1@jKL`;+ti*!|HK-p%?0xGyHs!7MF-R zQU`UL;hIF>ODXosqJARu7f*D^1g6Yt)XG(Ut$FHFUUEnl9SSnP{d?lSBdfp)Vu8ID zDsnkfD9rTj0)guMxnp4tNQ$=PI2tt6RUqY*7v374nH4V_03zACQK}H&Znh=z#d9W> zz}TvNaGPb2tI9em4b-Zqy3M|BUEXb^suoVZ-&4Z@kKPJNaVx%f=9Ie0W}O`Xj#|{> zM0Y<%4plEjd)On1yuGO~Tu=h1*=6=#?14F;Fie{lccB$Lv1fDW&&Ik?hKd1V9OK5_ zx!N|XP%%7TtCiFg4P^K`j{^~I#=L~kDwq=#Jk3#io^nCAwK9E+ZK0bXUXeAS zv(U%=;<+_*KyVok!xq~!yQpTQ`rk&vO4!QPts!0 zqd5~lU%Nb>%vH?7x~KILS=WM?Q;+y7FEgJCV(k8#hOu5+VIZMP+_N6%CyhO;Yr3v_ z*9YhpMe(4VLhmVI#5YO>YDUtpvqZ5>7(Gt143*FUojI_x{|uLMHt%;xp`j_%3YP1ZV|$`p24Bbx2>3X;qq5X>ZTuhq5PML&BS$|(GY@w2M2;%jugHvPAD!y6y}e8VQ-SbW|%y|KZ-$BooA4QQpB+)y6)Q5=vp>GH;dCj{8Ru zMs=44!ffPi-@H8yzh}J*y22t?3h?56BMm@n0Ny$Wjp3O=Dqzr6h#*X}h*4MLe!7=Ay z20hhYx)+Yfk373GqoY=3AH)zPYno`Z{_mrq?$AX$PCh`Gx}EKcFzETM6GXzYr2ne) z8lI%dP7+M?QH2WovgL3$*xNa0?x%s@jhd7K%qR?1?L9Hy>Li1ah@?4Hl-Z6$->501~$_-TM87>WWZ%j@^$ z4<$nh3g~}`B*Ifu1PO(7anTKBAbO^N>nJ}+NLT5${O`pso`63wj_#cyZ z=Ko(W^Pg;nnT_#(Ox~H9|6l$T!T$w-${k!eX={;F$fZvWYF@HIUGaemSUP)>p$K)nV4)Bym)`s2;3qu7z4o`Ce-z|$?S0AYCb$NR=T{SZL_{oud> zkidSZxAFfA-}lG=3*R9?PHq9kK8F%!0mwOkz!;Y2kw@PRKmhegp3xDb1&Zo__3;^S z09}WXe9Pd#%qg&e``4lVmcv5b2Y4CG4OnmBlX4C=?KV}mOTw|5LAU^3s;d@b$i zF+jX-e~J7uuR=vWh=BieIR_FH%JfVGdU!>q6YS;f(pxw2;n0YF*-v4H07(3q5)+XK z0H%=vo`TxLzc>4*_kdrw-mynl5pd1}9sxKEru;#Na`e~X4+U7(!NL07J%$2-|Ca9O zP#GaW{09j!{E4SAV@ZD9oM~X3KCNPI`p~!G^?`>c;Xwd?J%6qy(5e_Hpd#-7*nixj zM4e%)WnpAMev`lHiz1;W;SnfEsDKd?6F`6j2;xZuq@;ilzUMf^^xyM%euvbsFM@%_ zzft_|6m~S_wyQH6x2@!0lNRtK6&#&5CVOGfAUWLpWMCd@xR<%t>Dj1 z3~Lu+*pB;7FZgc^&NYnq`;Vc1@?})NOaMP52lUuaiPpd`rj`!|>dp1fu8IvTItR?8 zm|1l}h`_-h|6Pv*rv~sXNHAs}BYaA)@&lUvkJS!>1IaX4XvlAeL7kr9zR!A{FsR+Y z4v|GQvrm@c8s^7I&xHg8^oP~D5GfI$J`H_64`a*f`oH@?49bzBoW5yI10WiZKn1w~ z>RZ8paTIii`>~>dpn!&Rcm@zMfJ{R^O}&DneF6WijQSlA(Ck3N{Or{0?eixFxO;gR zkUzCq{)eCH`SpSA*Y{G1Zp4#96=>+^(;+_! z&!G0Sx-1g7`E}Jjb-~c&d0Geo`L8TWvd?SoX-Jj11&Wd5QaFoBTu8J?Pd=A>NWFkU z?2NLax?Og1NZAO@5geNbJJ)$CWQwA~w;`u&i&U-WJg1B43&2fa0~6GX44F)^Bi{}G zEr6B#jLUTT6HgQ=B~7-qEu-~g8TA&}eX--eUD+YEKiRC}?1nZwy<>QIlL%b&E4XFJ zRWT*zd64sZ^ysn}hWXOdtL6fSb`_FYWoqVs92inNMICB&+!8gudDM8fQn-juwhn9x zuw54JeaPYl7=`u#aj~cZ z^UGb2N`7!Ex(>EAVO`sq0`B}m)3#opt0BUMwp0?!Y{GbiypOjLk;RCCD@NNBjvtS5 zVE&m2QJWH9oq%0eop0|pf(P{Sq5CVU))(VTJFnQkgb&5W(-V>k`PK0D3pzdNiJ(-SfDaL4JoQbr<<5ANTdRZ4Y`^MPY z^{Fxc;Btxxid?^xCmx+U#2!zKKJHyVU@jE)e^M@rtSm?IlPIy+?6BVaM%ttup1F_^ zNgJ1FuY0Zz6>R&9f)M2c+HT9VZ!6X3LUAQ&tI;aI8Q>erYTNzl<|!Y%7SnQ;Qip`7 zPfFLj!rQ}qnh3LA<#ijMw{hhRXMNdz9P-1+jmG4wPPQ<25nGPZORpisjVTK|Sv3lk zUTzp{vO8uN)a$;QbH=OwN|dfH)R5w5IvWfhb}1Zl2Pln8~VuS&27BMDji$c0C>{6 zoCPyQ%t-(k|9DxnhrPJt6En2ijZnvw>b+MJdtvqN?CUeKx|k?NtKAbsu%hi%^+no| z)3DCr`D?vRTb8ndrA#KWNp_w{~`qP5#D0@AHR<*=0p~5|8PDG<1t3l0|1B$VcQ&@y-D6a7}I1blVNjc_5nbrwY$y9(DhfJBY=P^}66Zy)Dr-L8;)@ z=m<1}A^K=B*jd|kE^u5l_jF8|RTz60Rej^B9V#mI#i@z7aG~s`8snbmoEu#i{9Zf@ z4d=w>)SjMpMV-rbLtR_ubx$uM^%37wnx@AHR1n0@I#hS2s@d8#tj8Z-qBJ{?pvmx!!HuUis zoWC*!Z5q%5)ea%hE=J)JUiG4F$6oK`K1mYML$^)Cl>FWOx5mcN!R;2Wl6w1=)ePHh z@GHqkOUgn->`@iFGl-k%u|r~VG!$2lu506KK!M=`^44>vtmLB9rL!JSDVC_?cqdxg zjvHr*!_Xw+2uBjtV=~1M|5z$^gG|vz&T&YYU3_`kgS4dvVjx&S!e0M+`o8?%fp%#> z@ToS(MoX0xg!>{eXJ_LE&zmh@edKaJ6VBOu2=q_O<&YvEK-tktry!)x`|1}~)Je@m zLO7qjN$t%=?O`_oR1TfC7nwoebFgqsNmz=`}6UWUl# zYWIv2%)GM7@jeuMU=Qt!$)3%4cDxJ@JuBnp$+qoP{LjWyq+K()Anws zl7cw(1hgU!VksfO+F9{_dI?`?@Cf@e$?cJ%iyJ*Ac+|^yaanE-9jVZ$yk@Bai*!5d zgNLVPNgbEVUUqIX+P#S%;WG__dk;{<>l{YrITh`6mza!A-5=Azq@YAa1cHQ#p#8|O zQzrikgO6$iV+{r^VHj1fO?}}=(P>P5Y&aH=8*{yNgRg6TgS(j;X*=apkk-;9z(M8& z;N9bQa?UvsIw*qL$Kz#@mod8BAjt=~NW2$_>lId&F_J+{Ux}tQey_m z4e>?!;1JMO+I%9D&tx-5c+f!COOH0L{~8W;BUY-*1jU0cIq5VOK&m}ZH}J=OR*oQ# z$`NtmS{J~R?q9aB#w;TEOd#Ri7M40t=_}an*qFe}JoS6m7|{Y9*~549I< zugE6}FX>o?>!s*dFi|&?TJYStZ~6#5ut}O~qHG+d2EON#KZdCkMI67UV+`shju}cC z^s#kYj?=WO(6k77D2k#?*~AW>`wZF0D9dV<06!O( zcBxqyZ1aW(e2qCRv-=vqiyAJ`gfAp7_756nx2zce-?eY14V6`dL_z6aITgYi3-2cs zXum-;8Nmj16&^R>q7-XfPry6Omi%jlatGLfAjs%IvH71NqjMy{n;sCXJ;Fy_Ya@fR zS~0=#^nJI6)kxjx{wEkgPHa2{~ic2KUvg zh&;NSZbX!M=e1=-%|yc4PtN8O>-k`KB&wH<|8FWRNmiWD+-T2F3v2)C* z$oZ4Tw?bn$1=)FOaL#z->!$h9PfNAoyNwj4kn3OEPDq=in)G6i%bO{&XPwS;;{Ss? zF0MY8txdSN#>exkR|-_<*39LgxOZbvwK7H`Y z6*Cw(OKTE*?uFyG7$L|?y~1v79QxDDzp0c9i%7l4Q2H}pHfZVKnfD|i*3+IuH=>gJ9#BJ+ z@A;;fPw$(<+Y!9(Q87w>*3nD$AWp^ErR9O2LS0$0>cxXy7CSnzv6@>m8{UR6+BBM6 zEaL~n%j($qaw#?wu^)J$P;mU8SC8+>s4melYq@RC2WL0IxsAnJzL@_8`hk1x_*-Kf zMWge-fwJ~8qsP<9P%G3YyHXDpGABIY3v5Tl!DE|c9(Ti%p3xEhT?G;u!o~wBMl^H6 z?Xilcre{310F=d@A{N8`s_Pt;`eAs&-fD*Q zINIpF2vA`5vBxcxZx=~wf^x2OI1=2)XpQu3>q0)aRgy5N##v7_b2RviGXGm@B?z9- zxTUbx9m>wznZsXrZ<5h3q0DH|PA_`fcDvWd6q;-+AE_kief3!XR$rL2jP9{HN4 z93FF4iPx*;w8YWIU%FbU%$4x15_TWax5jmC7Rop-fty)xoj<|!kNXlB-HT&ntq1?# zgc+W1C$)T)LX*|F(KK%92S}R{BGHJHq8nIm-~(mZQfy~X^h?Yk^xsx@mJ6KrRDg;M z%E|T4X!Qq?fbDap-dM#_tW=A@O!r!l@Jov@_VjdPQvsb*;REulU3SbPOZ45K-Wm0+ zV9GFoH%hCaN_2*?*VFV9hxYg9faWxCG$+0k^s#b*{A$yKcn^;!#-$)jty&0Hax{uh zLp%iwG})0r(wVpLi>_%IIKD3J9_B!tw^yt7q+xHU$8M~hM+q(a%L{jeRwj`oZ_#jwt&_CZ-2?>0&__ciAOOwb zW`3vFY9~6GXbnX5=?n*Ppm0XI<4fjA_6~$euF`|16?6#+0Zy*(2gwsF-4C_k+c;_{SLd~@bIiBSz3Th{5xZr*hrNOZA*y}w3uj|kN3wPd^5@C6=RDFCr8o`^D9=)6d;>eKAtrsH2sW&HUpMoq zyJZn^8)0J5^Rrczxp#3iEct1;R@0D%;KY_9XicVwwDzuo=lqgDZ*9hLIR3XhF(`Jq z=@=PuWlGurw4Y^T-Wj(xH*M3FD^@%)r#|xA?vX;a@I}M7Oszstv`4RpG1G^2QtsLF z+KXp_Xc{iLQB?pnu;j_8lIq~$c)fG}Zn#g;q>FjuE0Und)rJNk9P4#bgGE?&Nz?1i zlr&DYb}}<|Um$t2g|ier?VFc-Uo=Hu`I?3H=}goqvdF?gG81wc0K*N|UIt?49CJz( z0EcVjw8H%GX^^)-@DGvbOM$EPvaV`f??YD#yB8h7R{<$^Q!OhzjQfgzM4T$^+0K9%3~;7KVIm7)XY)lABdZRkE666 z&%$?fTc)a3)FQZsSFxxI*azS3n!C<9<1uoU70}|G^2qocq(^H~tMF($J*}N67F{XR zXlD{MIgex|Z>NFbk~Du#3{(4|r&rb)r2N~gK6`npXTnv6HUrMP;xg}dym&mg?uMwk zW6*(y$`jc$0N3FkK>ZZ6d$ItK_%n&;Xju~M-IN*T?}2}Z1-Vvl8z0nQd)IY?;Kg;tua1!;9&-Wcalv~7S{v;tKjO=1%IlmIF zZF<D(X($RqNDRV}Y1-{Y}%% zPU8PI`eKl^Or|mB6L;Vxc;ff7nP=2z~TOV{A|bCXNvV-WE`E=n$6)9Zrq2h zw$IsSRqHNl53>_v0w;~X_&xH_ww|gTbILB#RKD_4(V{{{ur$9axA!wBWofm^LKq>D z=MTP7SonY3PJcsh2*fp}!og{=f7XkaqBItG+4SBd8_>wpi2h{-CRu6AhnZP|m8$cG z0Ft=JlxdoZgnvLLwy z7xTU#rJ6u)?9SvYEyk!fR7kpGcJ3P~x!uS?2Mp~T2S)V9Zs`;mS0AO*Kk{1N@9Ewn zt2lZ=uW_0E;Zz$Ov#`PutVJ~vyTG6494`7iUH|=yY(H^?0X{S8W^?(C{o&;w0oN-42l-^P`+YalRd7qkwyuWc4Zu`(6 znvcW?12V+jzEp8bsF1I=eJ66n-=tC)>kyd3gY!k*sd;y_yk6};$nD!W8--^*y7^#C4EV#UpX9r55dHh&&pm-P<$33j6%?<(z=$SstK6fVLX_`PUS z6JjtiqlVIR?GPOsg7NOIBi+-ZwX5lPtNxo<**uWVu0fDaYDdDznQkTB4PBYZOGFHnaEw9k>s)Zp09`Il1gIi5N`X3P1+ zDcGZ${^gRUtdox`JSjqkSqg|&@1{=3F=5d|$+1ww1Rv@3O_&wjF|*!y=NP=Zn3AdF z=ribll{1j|jG#U;XkmRl-pm>qp}aVX^LqGHQbDY-J7&q#>E_r(RY?_ywWzZgHVZ$Z z*6od+(;#mFFAB+me{;j0;mQJHW}@UL*F-;_Q8&Zdb-3!R16H@nuH${F=Ez^^GO?YQ8p@bX)nF3qmJGnin`6i!`VT`CZIRrM=Zoygyeoc4-OcWVyIxL{^qH8O(b9kK4vp)$~C7Zi=Rw zhrmxhGs(a1cSo7P7R75Qd#BBH!FxTRKf0+c#^Cy%M?mArt7wo8k(8Sjg-b7#3&=*`5ANR|(-bU!CfTkpo?lthHtOXF<5G!-kK83Lo za90WZ5acSaZR3gD8%kok-JB#nuy8-7x&)u7^B+A}!8R)+0ZO;YY;PTGX@s>NA+UIQ z{t6;BUb9yfmHDmgI?);CqB`|gc1A;G7G6eswA#~&^a*y0i{BIuJ28JeiCM=LiRakE4OOaZNybMKJIN-kcVkb0? z;T^NPc|6+cW_#6HGwcKQ!=P*h9mNm)fg$|n|NnTDgW-RTM>+l{5M?4{XX5-HO!@x= zlR23FJN$p^=lOrZWHtbRQkY%XP0B4zX^5d8Y8r^y8Abv|DgugvFop#sF_DN?M~adZ z@GV~V`n&V#yQ{g|W?HkGZFXyR+w{sg$9FXiG5RHiVDA-NE)#96>Lp`RvdzY%0QhcL1qXY_uo1VKDGn7x^ONZ?I%?#x3K;nqRTJQJp6g`QOq{)Ng8Jv=?qnFo+?*wjcvP z#WeIDluHQE(~2`#e6Iu_5Y)+C6qKWA|LuX`4q-X<_)qLzmot)p>;w`}=jENeA5=a0 zGF}9dfPjwQGt^hg$xXVd0m7s`J3ACyME|F19?UW-NH4b=|6bmdOTd7SKCmCLIK}k9 zy&4XJ?u~#l=JF71VZ}q3liA>B+zfOeSU5Bcj1-JC2q8XDIQ=@-n-wT3zuUN7**yKD z4x%9NjlG-yp$<+wVL9>94I(`d@Ixq2e6DVMzP}&WPt09#Fc5+Q1ByPPL*U@uPtx}+ zoWmFFE})Nm8RJgjPR>^dXh5&;S4U%)avB)H>G>1!`xPBjHkswwMaKQN`KxdC^L4-1 zAIKM(5vZ>|olrnRLLH6Jp$+Q84IdQgNgnSvd?lE35Ln4C#mi03FYW4E98}xyKe+7f zR@?KA`&bA_`xm)0B|n|;?S}a2m-cn{?=O4G@8rWT+J~Q7@yYSU$JX34#{TbJ&~|>U zuOFt{fTy+Y4j}_1P!5of%aD#J6tpk;T|j(*&W$eea1M)K7oi*T)2)xH zfqwf?odN0}R7igwUO``XH#eWKVIW{3H|2An`)^uPAO#=@@tqK$8&5b8jzQjgU!Ce? zG$5!SlaH9-n_`IIFVIL3|Jh%E6rlVm{ym-QEx)~-?tnYL{x0=7KLH0Iq<5U3D&P9F zvQq%V@1IQ_C%?m8dPuMXSm47MnZW@jn#7h z3Sj2Qv{D(g$FEh%qoZ1^8%U6m!dny3mN=*9fbT)WDc&Yh@ACN)=Z_g#A-C(IY1#L* zOS}W;O;=)n#+MZY)y%0=Z3FQcqhJY{tf{$kYk7jYX8PWk45TbDqt|h;uQL7*06PP1Xhs-u54^Z<^T`$0zt)%< zCYfv7lGOoovog3{ejavFtkX1ce-*sl%>;B{GKDkP?4hksz}S3=q(N*8RIcY=T)DK3 zhsZ+^ygH{p53N^j(ZI~ zjo6IR%j-iL>tl(d9Th(0M7oEm5nIar#_7VVH>uxjT$m>xdKy#O=!;{wdfomtAY4qM z8*sy{C*ei=Q0WxFS`ex9v5P76seU;`n|7w?!pmQNJsesez6<`mS94vf| z!qgOCXtnM9%@jlQ&6+@QxVSG0R0&bIsFfZqQB!AgN9CF|IR;P5l&B;`5gVs?fdLo4 z#Li0;1Yk8R-0#Tq@@oi`C*Leij&F805=&MW(8H>~SUg;{>GPg8s=E&8bZtO3IWQgqjM2vi170T!&BT|6zA>vXM5Ov|1I-K*XyKl4)lZAtTD@Dt>pRuV1abl^n7E9GE%h57w zwT*;g#w*$&utw_}Wg!;w;in^As)H$9P(HIDX1M*Y8vbn%U)+rA7#4e zULx`OYZpttlKGEj);nqB&Wa(OLT99StBUQ=NllE-Q#WEvAzDe zl6|IY{5Wr`Ij@alH+5VED-~Hz8~_!rlD2#+}YST7-e~ToErBcvjU~tf>O>r+x^^c+=y-OguP=rW@$UOeI@O2ooz6EP` zcC?PC|Ggu`^qu~)EwJ~+6>Iw0%5ev?f@{w2Oti0iY#uEV#>jQo0|(5;((B@)U?3xn zgdmE{+d<~35WdXwpQPV9E2mI9nnJ=@rgwnoU42CFFM44Pbgs02)Wg0KxQBfQu;z*> z93G5h5<=!*iv*C1S#@q(b_0#+b}szx<30r(m~04VO^~~kU<7j_crT?0>VQG^L?ENd z7`5H3NcI3W3nK*6S7>|uzz>PX<}WL37A3Ge50e_D(0?(QYjXp6Ahg%@oH^|y6ntsc z5?ZREoTz;bGWRNW268q}pc1OG?yg)#flaGcg10$e(vy7y7GZjglww-a2dBMWM$P}q zJdN#Dy6kSWw?deB*AMJ!#Dpq1bCyo{)tY{U%_!nUHCh(Q&wk>jZ&JTv90wec5nhFF z$qPdlb$d4HeKcd;4JHoEbFy|-CVl_58JoVvs~fW4$Ct+!O*J$6+dBzmL~YqR$Cc(C;I`~0C%6a(1E zI)1s^FEv%i4>7n%-5FSomM7LeTa7_S5x}_guD%}R$C#b-zv!1fV06Vfoo?{6YdgiX zW>JtVhL$11C?Ev}J2QY;`dmQd=Z}-?u}(_avB_zq9KK&?ADxvqOyOa)-^(Ocsjd(U z(-oEf#mdyJMBBFqXZ0liVr+PdgQ`dzHfs@?E)XZaNX^YLuukIS2kNpzaQU~@HAkUI zl9W@@hR-PEz^vLEgjGnQg9$e4s@+D-6%MKcDk+Hy9ckrXV)j^P%(2uF3}0>HkfvW| zq*mf&4G z-}|ONNL*tYg8RWoe8*_oTEY!fnO*pURTRMHDzWxF>AEeOU$CiiItt{VIUFB z^QEs$LTd(-quC@IFqia`x4ryykso-(2L1gpBvn(K5C@%}OE2})x))AEYfijHhI8R$ zxUPaWog)C$yOB?5^!>%nGON!HUZ zoT#1YYOY**RpQlhg-wpArImcX3*5oH>qiS!W7=F~f;e-yoYn%bxVR9!y(z8Y2r>Nm zdAB$xng+s}9xYi>gbyA^Z0=lP?LP!08@s4{h#OYUOYUgIXh#kJ6-z5Z8T59b#IKB9 z3|s*Jo{~+yGZ73weLX-kis*f!o`(E2Cz%QVm4SDc+lYtpf+6>)zWH`*JO3!7Vtq(# zi?LAlE3Rl8M;wWUvu#cqBX6kKt_~-7^icBZasf&ernt5u=ws!oaGrc?5=?%;>ba_3 zyXe1S*G!W6t0sSW!=Qg(IwVQQ==#9n-XBM>m>yD==|v_~dG$%@v@qhjVUFO}*EYwB z%u9lF#3n%VIkprI96MsO)^#)DJ6bjiFk%ln0qZzCfNt}mm`dykxJA)5tCS8&skVYC8k35quh8u-?|zhfz2qossbO>b_-pAz_(;=5OFp z5gr)?EWUM)P?$RmLUhd0Q-t2on1|Vrkz8&TNG09mTy$)}+O^&&9V1FfDN@%B)RNZA3*!$noHwj6gP#4bryKD=71leH0c zmX3k0V%;7F(MR;dl0Tyg{?)+R%szq3f@kn^rzrkuZi21^;!O^Yx}P@_o3mQ-U?}Od zb+we@wega#^uvyc6gB&=^;@|Dlzd+ z*0A8GiKlQfQJ#^Jb2RUnADO~~nqs)5#MsX&Q$Wi?hQyu)+L56?F$l57J*{kvkR zawL^k|5jQth6gf?KZuOYK=Sqh0=HJiuM*{QXOTBJSCqb@Wkl(uqypzs#pe zS>xch!lT+g!P0$+fXN{;sCO?BEcNjgzztE8Yqc)B-k{jWfqYHWLpX{Pt3|SuuGlsK z=1Al)Z8uXV&aYPk@4*;;zwTCKv?QT(PWxIgw&obE1~#+WWO~0heJCrXEizdn3JglW zLw%|RWfmIynx)*r{7F&rUF`P0JZ4cyU1iRL{RdfZ=fIHgTtaJ;qE4aHSN+8p=neoT z%Atbu=4(+S+cguZ@PlK-qqX@aqj$CZpO&#TzU@#@UdWx@lFCi!vy5{H*lb}aPq}* z$q^AeU7WG5VXT%h`Vce88qZK#tpC9n+C}M#vo85!9D~UqiS8;ORGvTC>J{Y)hd^vq zCO$1L2N~a6(19y0DiNTpU5&hoeBEFnY?nh3T(B`LO{WyjW3fx^)8VZ|c&T>Vb$s_d zSUT};d5vfMDb8T zk^WQ^7-G4uRKosc=2=EPr~aZK|CNgD&3lr2x+soV!xtU7p~|;T=_B;Gm2I<`*x#~}Ycgr{C?`t=o5&bpu(X%jXtWiVF4mQu zcZD#2qPpv0@pNQ)b@2qpy=^!PBBPnO7cch~mIFFB6p!fIjdKTihk#9k_DqQE*E+ku zG2C9MR!N4T_xxpNv1kLqPpPjd#@#S6=Vh1_Olgw?@H?>6j)MVY%X=NT;l^52#(m~f zYw7%*g7%Yk%aEQVFxSYpT1A+N~l>U1&1_wlvJknAoq<4F3Bmc5|6o|#>j8+h3e z7l|L08Ds`SYwMfr_p&=gS@&li~$0J2P#>Fe%SA^_8wLXi<@DE=4{L;HZV8sbHm)nE5+3ltnn)G zU>W(Yu4(0-G^f@!p5FM>Ys>|s=Upi-{pf(7RP7-DL`dxD9$*Gsb*WCbC%7uFd~as2 zi}x}B-f=m}+;0_IihbK_uT+<>geYR7?uDGU?^vQ45~x_!i9>Ljk2mz(3sPTCW2 zqL5Qklp^+Y35l9o#O3ty3GPwmt9c8T)Pc1LudooJxNc1AnU%wt;_!T{Y8X9_VsgU( zSXH1Lz&DH$lWHU9O9Hw&=_uw(81n7sxv?oR5KBAY+{M_fY4BKXXPnymbe7rC{ada1 zsFV1Es>m_0R%GH+Q`ocAos^l?;y%}W&xrnnc|NW?;YAn2J_w`8LUxYH?Trx%o@&*e z8Iy*C%=)Uz&d{RC$&*E}eyHSAyUc!*fQ9&?kObmq$V*KD9<*f6FH_pab@p_!0sGQ@ zW=9<3^}N#YIk2qTqR0{Q&wySa*G#(yOz(OF?pn$}nu&Z^71eqlg7A1MI~HXwN9I(0 zR@FtCJ9xox7#6dlZX1D0RH#y#NWrt~ku7*>1`G7Q*<`V@K1v+;IQZeLcg~7FV~)}Z z)e{=(-UTuxc4^FnO0LYyC@B2OPE7<#%PC;cX|51?dz4lX`%2v(H8Nn3uFRBxS-&G5<;4v1=l50~O?1%#qx%@;VOd~3UKlt7R zOiFXNN@4b-$hMb1z;bnLum~gdSHHWrjedr*J7`?p#QQkBbPY0W zn+vs)s)+>eQP1@}IwnkE&soCf6Z1ceRc)Qju|H#~Xi8zYY~kkc#V+WA0TY6$UM0%s+!VjTjy+n_*3Iq8GE0vf8qavx z&!-_3wAopZs?`)$A|xCy`*YkC8${vmePHzLZvgwbf#4t*1-fo&>l{SCs7{VabM@8s zIyM2K$&RGm4ON##@zQD!hN6XMn)L2|s<$-Dv`YkMEy_Hrmgr~ts41GsvkO!OPr~SW zsU~&1)j#onoHr1x;&n9Tk^ByF|3q_9g(AjSb*d_1ni3hJqaZj)@*O#fA=r&B= zIK!b=(P_VC97QATNdiE*De4Bl1Ib0x0Ybf%r`>@>#AXkY<3sus`XTE}(%KN?_}yo6 z7Y6-}-<;8>!+)2UxErg1a^9^$UwuyDUl$0oVZqi3MprGkvSfn19=FXxt9~Y9Q9IRr&)z% z{CV29rX$n&+_`&IV!_c$~)|x{aJh$HlDpgcgHCM0;Xiu zWItMu$aBVL8>&rDn(__(9dCUu^vZhMl-H`|h*p)G#+Ie`_X@vKFo1X8?G-Ep&=eM3?pEESck{+ zg82pC`avGC#Aa8rJwqGnIIh-4S3d|n$?nng4u?;lfG3s_7xY^uv6GXwOfqq4iMua{ zt%i;&JJ}9f{(}->u8;nK%mjaV&*JZap=8u^|Mh9Rzn6+*>Y`*`5}eDl@y$ln-eMT= z#n|KZv~u)Z(sdj1+d|AVv*kYo0g#%;)6_r6s1N+9ytDuO>0EjSu+)g15wVfd_HsF2 zh8Q|Y~*qNmpj+A02|1CFUP&2V%H=(nh&MvFGHTsd=`MbM> zQ&1U&&dwoT#L%_9j>Q?rnT+8`DPf`z1_Af5twbzJB0DD=6mzbbK6eT3od9U~r^jy1 zzeo@wjr0pJE$lxvth;G~ zAaqieIs8=9&rA03Bs?)6Ahaz-rkk}fv6n0nh%aEH&o@)_LbChQH0*(!=cwc8h3KIi zg1PebxGzlkAz(aWrr(Io>R}%(oBZ)L(w>F)-L*{M?r~T3SL~ZmS|FS{V7ku{&J$=2 zjpWkNcnIaxYd;e1HJ{-{h?HW|=|V0mDn1RWd^NwA+2Yg%iB9w>is4QRT*FZ9a-TY1 zq#$K)6PCh+kH=}diTLV`?c{}!KON!s;ZAhmL_fw!IQLYQjV&-8mk7f1b(ys}TNj?a zB26uJI3BP%rJNP$Z2D4i1vcAD%6jj*;tGUUY+;~vBu#^ijSOcV!c6P!2y*s)PVb+3 z6%0nekJ6*_U~0XjrnEkrg3<&~7k8wq&d(fSHa>4#Ik;PbpH-xUnR($Ab@iLT9bl(E zLN4N8ghc8&vV!qZs8HKa#-iJpRlY1>FN5>(8F;kNuODjs;LR9Q%=kx=fK)XsZG_lS zRpp6t_)P5jW!#lxX<9Jnas|sZiE_(2lGIjKa;ru2AKF*0CS5);TBMHWbfFeUYThJ$ zKStP)S{zkLwmPXLXbunli^@%_<|Y0(^=z<&jyjspm#W>$xs3FR(cR7!&_(VIMGz%yBE~5j#w?q zI38WK4dI-NK4;gE9?-NgCKP#{F`3<_cq>GZ)egq!V-V|^+oX0`(EB!EHW~`^Nwh+& z&cw%7i%O4d9JNuoPKMHT7B8yzj@EUOu#55dH+$@je;Be)Y>L@G5caJ|%451c0>Oe> zPLVst@oVx7ZJP){j&sewB#ej(*5a{%DsDa1PYFrvn1RDxlBwsRZgF%T*x!Aob1|Y# zIZop^|}jQKl@ zwN68$1}=@#Ce_gD_$)tyKo&V@JCt>nyF@cbSY*ZK1Ne5@VyUm(t!4W&}I2sMMmLJx5r!no^|wwszhks^lQs%%~)F zJ;Bhf&Q+`@FRKt~{)?b2lkoa~sWUMBZ*>M%PUioQ?`9(8WMluIa>M^wXJBMtXJY!l ztur)(tKe*+&_$zD-=M+X+$c5AA0U871|t!oL4mosQQRoxw_{NM+XmFMTScK!f1D+F z&G!8Et$I;gk-nSuX7Dn9X35Ielupo@K(K;O3EJRoba1wd05MH!YHn)-(b4H5(9z*L zdwSA_7qPzCadY(`V4eU4Y({=X{RIUD#mlp<^N*DmF)61N7?{BBpMl-`gS7t#ZT|q| z&fWp~S2lQ11gOq`7Kz!P2~q&q64q6qEG=NOV}S5aYOMU}*EdE#m?4BcEG%r}H!?ze zBk&L*VLq(@)|okUs|Ob{STlsVkRVch(UxC{K1!3bb2IAxk+XxtKF}tIy@0`=gK29Z zjPN2-0njU;P|lzkpgt{#av+<2zn0MeImG$KV2-cz`QS|MP9OvQ{-gnH5Rfe{o)C_W z%m4%bvL)cm2Pq&`?)vLI;}U*oYyZAb(7ltrANkI{LO=4r^&ez7uz-9vR{<^d@EY)b zTtj$>@<~buj!v#dVE~h)h1@9|}CE_#`DrpggXxDt<^LIK$Jk z{(Yc^9{};`EsMNSY71*pz~;KY4IbXS-`Xn-2xw65$<65d+Hr4NNawoeSIqR^R@0Nd zEe5B?!{yeHb?$&;z3&kZrh;FiCLnH*w~qGqV0RB7eJ`MObmNKlPas-$?mGgxo86N# z{BEABd{>~yGPZtQB&WM2#Lh6#c`P{lV9tOZo}cSCyWrUwc!nT*@2Czv1FHew7+ANwD2zA z?)8tr>mKeNz+c^gK)?pT{%d|_il9P2l?QqW53MH({&#sJe6r`afjPfQKuda;18{G* z+Enx8fIwiG-|;Uz41SEW^Qg~XjVr(4uV0HVx76RN>EAXYPI9YD{x2CnlplWIeE8wb zYx>b7+Z^0HR{^Y#X6V*m=@szbj`m4?=J2GMU(aK_0QoLL6Dx!7JV7DcBf?sJX4Y`x z@drekFN@Wm9t$OTb;D=8W;Cd$~hwr#siw=R?JYB>va><{45dP~~zdQ;n*uczh zT_${AU?3z2(9QxUUdo8DJc7M}@8%d&{WX3OxV@wL5H7wDpxn+!kaS^#v%WeNb)hd^)(BBwGp!Ppi5I1EMVSWQ;OnATGd0dVk7~Yl>?}%@D zPN19v`tosO1dG1d7rSq9X)tiE;6d{krUirx0#z6Nb!&MgNm6)084Wb2y~48f7pNcgt^h5pb*&g)$FTvg~+oqm5X}TC)~T$09t( z9uP__Jt^kLH(E&Ccy6zGUA}gR*#_Gv=gqdbp$#g02K!vkeXli_lp8s4dAe$Pl_~Sz zzG{sVd8N1?a`g6Dd}1w5;Gp3fiMhe4V0R*@U!F#e(R5eWiBp7Vs5{pb(d>G|ez51l z^q6m^Of-2Au8Wb~@I}EBs_0Mo92uSZYY<))JP=wG{V*66 z632*78bfKJ`tVC1Eo=9mytYCDQX6V449Apg+`?JK2Q6<7h+aREEQJNz7UcY(HdQI2 zS7bIgu|-E_jLdw1&xLO9gzoRWp3?(9^8?-?usmt=s`@3A0F`vT<3VI zo(wyw;^?Xxh`T7)@YH5fca$~==h^uW#`4e2ZI-ggRAVc4?<3wkc~ z*)R#e$;x`h|C6IV_P_F)sq>3U+^+&gLb_*XxD2WVa(B_{awlQXK6Ucy;ee@GvuSl1 zsO?;$LG4c6ESThcn1|IhF(#;pXPXbF{`DeCuogJ zu9Kv?-p*VKtHMn(pG6ekLO{$>9dnV=uqdHNS-}m784k0QEq~!`5;PP|J?QBsTVui{ zxsA|c`j$S+VXfv}%;&k`IA7OAS0hwhJT95In;>zwAg0awtF-}Gh^2^Sc5sVNo~No< zU0Z6bK-?LvMhv|9u~WWn&frx6jn{I?3j;27(og-#j^AieRkA~H3$ePQOat|A3n*le z);N7MqqEyVm#ST5{>JCFtG=b>`@m)k(nX{Y08+h! z@MAv2$q#w*S2jlgeQKOEC6iUs)_CtsF~Z&GIHl(lD)=d^6p9736fNa$Wu-xgQ@F2s zY=k%SI1IF}*0bVr71zxN@j$F<+|Cy424|U4WnIUY&x~snNm#_&{`{L+-XCT^ikIbFjvHFOXcls@AJxd;O1imwY_m<8 zjwXgr6Ae#@-|@LRzG`E=2VZq)*LeaV5`v@%w!2S<49R_Rp|EC-{n2Y-J#+e)scSWz z5f(>sj>*_}`Bi$q#Nq6>Bk5_`%@i$Kv*N!A!?_vh9;+Jq@@V0P$$~yO5&eTU`;IMB zOSwa18u2+R{aa)jo%c6Q`JY7d-}-@B-g%tWxkj|lM`e1!)m44?M#_E@E5Lr`xZ|fK zHLBEeVpDJrG~xR6qairN7dM{nacgTV(mMx|)1x3DI1}p|_ z5;{hZeX?|BYcP+JrBV_j7K%7LOFf~cN}dFr#8I7NOD*y3X|cC<+hF_yoX=xrJJT7-#By-+Ts|9Y8L)P z*ekIfuxNeDj2z{PW$!H}ZDO&QBbSBov}zkE8$04a9xX$$Z<&EIRfd^hqhv>sOU-0R zZ7XBI6lu0^I$m2*Q6E8Z>k(}A(0j7bpNQt3)3`@Utc_K;x1Ssv}Id7U)=rWO)RU?4&yPEE-+xYxE$h1jAiszCET`~ziJGk z{a)oNqWs^+kdBw7FoA?!th7`2#G$S(BZ?Hsp=;ShW(l$*d1>X77sYEQb2$)in8b zT4Dz?g4)hT*}GJFGxl#KZ~D_z;Aqig*Mcf_8TtgN=XM-7I_aUtmMyZ$NRBuayIhNc zr7Q;A1TQeA1d5k%`*B=BF|-i=mX6+YgE6LWtb*0%+- zoCp{K+L@bO>P;$1_jBpLs{uBK0Kl^X9@lG}B|SxJ9nm(j@?t~Sa+Cw)u`CQKG!WhB zSm$4QC0zOLCO96BZla_Z#eh4--rCPzdH1%P(mGh z56tf4N$uez%To2{)JKi-H*MUtfjRS>Zt*mWa^ZC^TA9W z7+!S_34t1lu_t(Ya)yn97wTHw&u7TFQ^jZeWB^r-~BC> zV=c;FoN}S{vY6GOE$J149j39BM|$o5Z) zlKj*fBEIylY$f!;=ZrSWIL|2vqaHO+r_-w0RgZ!7N*OGimcMk48vYDw5@(;_c+~{hQe7Ei|^6KwK5ti6? zLCr4(jaDKn_jjiufHGD7E$b~4I(fO*C3uP74&X&Fl(*DGFoP0ZUPE#9bUHh3B>47(bI~#L!C%3{A0BO~M^U zVQ|asF#;MDsren;6&!b-pBI}syCoLqZUXNnzM3<3bqwJVHyi40Zd2D{B^r(5p;r)+ zyf?W}1?FE(2ZyAhPYM1nw!e2E5w?6H!RyWf>$Xk*X2)q{J(C^(2?jyy_WSEZ9di@7 zh%E z@KNr`-iU!+`(W`5a-=jFA()}ioFxGqC%|cv_shew+66A;u^i8nhP=q(b{%^Ft#-9@ zursL39@}r{k$)XEt$%R>LAqX@YrIwU-{x9a{Q-t0Hf*O0xU}TYyyivY4;xd;^pRW} zn*~IrvNHn($aJx9t&@n`)YEe_wh=@i=6(p1#Bt$lpOsiBhb?f+Icz8v{cXG?JJ+Oa z6U2?A^H0*nW}}}vwwY39F)=T@GteG%w7vMB?Ty}Fa?R)P5S=!+TukBQ&Mk{67uOU_ zf^6(9!QWa%`t7DT>;1g6usk3bN8p&+Eyi-a9xlNF z<|DqS!Px6Q#n=>k-upMn7{nIX{(lyNARKDIpXsvt|J-BhUw0j)t3QZCj=L`uFYIE+ zj5sKMGjy;bvdrY>3?*1!E__2V8O&bN^rfGXWuSWek$WnlMP9pmZ-L0&Z_oA)S@l{= za;An|inBYIQQ%A$ndfGUm1Z92BpO3bJb%2p+LD?biSV8rj(Gv-Z1j3yj>P!G8Jy#Q z%twCgb&f`5|D-UDvEOS-Grbx)`HQG7IDEqM3m51)gW1AAFBT|}VwTp8Nk6{On>a@U zbzI`pr$zyN=+PjnyR(zB$C@JKg)f@yscsAEWiG+keZT8@#l20tv3Y}mBDfP#l+H*^ z-0uys!^`4rV{LtiwvPFCDz%VS9C(vdpS?nXf5}zRqf@lZ+D;zs2BQqZqMz5Sp>DA4 z#l?ASt2TTZ`1SM(exJQ@oR_$|CGV}vzEvm;w2 *ZN5Xc{}6;z2%JMM=U)Q0UJeF?|Nq%fJgen!R)2H98_S zt)d6{A4d&leqRhD>R$lAzLt>2lL>o-=bg~|$7vB_l&6oItqR(=*Y;%b({zsq zcJFiLS^CAB60arRTU;%PC?g%K#;xIHR~s1^{1Fa9Pvk#yWoSlb^SroV{)XYf^eYNx zBkVwBqB1YtOzC3AG_S)!hKuGUuF<9<|DiY#kcm5xnGhGa#)d`n}PR zqW4Qao@QeE?0UP?(~?RqT?)ptPWe;W8Z8tI>h?`~jJ`ZfZ(J6HB}$1O*d77&H){YZ zh%dUBKj5PW=u+pQu%c0VK#zs9sI*rzDN&N;!Wf#)wdmh@@I7;?T}Pdz2o`!0R@dEp9j?WEv5~rB4Y&liQh|*8@!y^jD9!z`90R zO^I?0+j2;S!t(a7p<1Wr-PXMaW4cusSwU=3Wr2fbkHzZHLYgK%&24*gZk)p6tF+(N z?7xZ8@>KWHlz40LkGF5Z^J2Dr8yobKwiLZO6o0Dmtpfpmo^`d}jyEjHMLp9R(g{51 zuGy3?Fjgo?S*$Pp!5g&`?CR(IG)tsl@vy~_wgw?IM2n?EHa6s5i>SiJ;}j`KKq!_S z&lKw+H@{lQGN?KI$Ckn-jC^evg(Ym88-E-7t6`e@t)Y%e(zg@<>`4zj2iy`yANd<* zmlOE(`^>!PB;-{zWp$~sUs6!$Csg}bv^b>*Tm}pN8F7XRPndyRCa-mz$~@PX!$V7d z`XaqQXK09qHR`xQ)7hsR8YcZS8&6B~sCKlFPbIsWv#h~pRH((O<{`(OZxe0TlCU@( zXrN?dqP+|$AvoJAC76A;eWvu1l<0J)GVbHtBPQwneU$u3S@#*_%!5TPd{`A7f&@k(d+Uv7``hh4Ye2{$5?tGF?;BHzytDDpxfosZC zt2(wiakoksCb~&qGy0K(p8I1yrnllCAJIa}L2TNp5w%PBii0%pY4Izgd>f8G+R&MC zom;uRh0N#=ApC_$C_6+9z09z?%3m%wdn2fl7X@_x4}0$zoLRfI?Z&okbZo2Rq+{E* z?T&5Rww;dcbnJ9&CwK7WSugh5dp%WqeY?Kezuu}@bywZy=}$9auwjG^;eq1`^@ zKNo9|LQu6zMGyoGKUF*U{Hn?+i=TF7vR3$KY&wa`%ahdN^i)qHy^C8HDnL40vpA!m zC`goz7E0-$nr)ivMU!N%gGz-k;%~2=F>6;*2t$))Ho9~P(TtH0e=r8_rQ}qu&@N3hXJ!C8o@=k9HbWqfS^x#nfNSpel6pAia7_s*GXa^T-LT zbZ%3IjZ_t8aj@B{dNmOt7QNI#VS3jw$2C6nQ%b$7E+r(vt9J*`>3D6P{)P!B1Gxcg z;ZglMnr?B#(gl94tAl`^A$I3wX2m_@IJ$(K+Px_W+tER@0S4Fcawx{vM6tB`?#$6m zxdVpRVLy&(qqxWcN6+5so3EK>f%pFR#R@o#n$qgj41l@e_` z8ASob@mxi*mgCCjL|x}u&bWhZY-v4T)}+vsVW$KzS({W>5EV%?L;vxeHIe8OG=^s| ziXBu=@EKCL!kg6)$p&4&YGiNV6cb6Rk(Hj;N`Y%PA*-fZqpo2&EhI;&q8!Jt+ppbe zjb5UEMd*dEm%jH%SGR(IN*w>R6`h_1&fP`F_)Tb64V<7KW^=#(2pP09Y7I zgZRx8dN8TV1698arZgPik@)fQc$gm%5v=}r*a0d!d?8QEaY0GBL?3+`2?}*3%fl-G zyKKELR7FZB+`==lcwwGU@PJ*YrUXa9Zcs@SUN;!YXK zmx`(@caF^_y8Q1N@vPX#1~4kpsoVA0vj{=#aqW}p@>w^-E|Vf2!#|(8N7BUB#$ahupF7S^- z-eYP97m_Y!W~PD)&cJC_Lw=EWHbsF*e+MP9cLFdDj&b3sT|Ij2t|V9MY-U(* ziQ5;9MrXK?WpyroY{+y1v^g%_lwo^9d+!^Zw2RDBAejvnPwV7}@M0c99Xhru6!^}W zoY1gMUcvw#nNz|Uoe)%l5aQan#g{qbv{xQqNqp&ir*%Sx^r<;65Uf**c;{(Z*~lY$ zJ4a&Q!S3sP#fik2%4L)M*;MRf8AP>r_q>y%NY_!7#w#AsC<@zK!fYEmp{?I=ReOXo zU4~C6aChR_m*krIR}yB#wsEQDVUIhPc5o>$avDol_Nel4tS5>)?{7xZWXG=d;LEDC|NxBBravbH`bduFyZM&Fvn$EE1Vp`GHccEia93?CxJj zl(T5CmNv(t5~33rsnk`AsQXd_CvWDsv;IifjspwjCyibloALfVdQ zg`YfSUM#-pU$q4zo^+joJAJEuwU!L1N5Fc2on>y(YjiDjOMCPZP!d5NLmpA{8_X|> z;3jotl9^TydZzW0>v?)Rt}C!EWHxcrKE0W?zr{}!t71lcZ`0{JYC){v^iNY! z1Xj>R9dHuWNMH1IHFG5(dTUj3yIui+2!zt8F&@ivu)HuhY*JRI-gEq{ldW%IwOpXK zM&7loTVs3?H_gOVvC z&#;t*m)m=aotq>d>*>mB&#dSQjY}lUJ4Wz(FY$aqx}@}OtKX2$Te`ySh=^fqeR+zm z_|2g}jKKDVJU(j@VFn4alW3B`W%5C-K8e`y6U0hL^TvXM_)o}$bh3!PEjfd&DM0-@ zM)%af9ZMQ#$kA>nXogMZq1%;v^h*p6NhhsW)W~{L$w`f#hpu@(2NzR1W^x>u85T#2djf{6`@C+}Z zQhRz4Z#3|P8y&;5ByEblKlXwL@54)l&@tf2GSguul{3BHo?g(zLZ#acPJ@FWll4M` zvox7BuPQn_(E3)+HuyFga-#?BJWJRSchP8B(%{dqcPJCe3q?F&z-;NhsiY`O@ULs) zj@IqVY!1R)Jld+n!)4;qKqx_F_$4HWROq@qWGp4t5()o_V+3kS$Ck#pRBn0Thv4LP z{^hCwUgCxKwM8v3MGV!gL$BXVgFA5CDO<%MvyzbAy+pFS-cbq1I!^hXFOD$zMn){9 zN6y%O2NH~Yqd>Yboh3`HswlZJ7%94B$r|@W((*38WyiE2%S1f{TB{odH}$N#;=XG8 zoq&f-81{WF5c-%Xlo1gMo;`oBGQAx~^{gNZ^cWz}>2NeyJRo$FTFXw|SPpxN0O~dp zINS7tzQn62vlO+`Xpxtcbb#G;r|@{-|Mx+`_CPF8PsV-F2mXAtnEdjS29O zZAL}LtF{gqu-EPlI`wZ^Y@&DSzC5`A=X^PZgMew{g{1unbkm0VglW?VQXb@) z%nOtp1&kW}*H@S5hmw~Vxu!^|Z2Y8OwfD0YhbU8o1-FW<7uaWdEL$q+*~q*AboQ)E zmO$rOnXxv%<8cbv$>lpEFYtTVCJbG{s)ld4XwDrbV0h<6#KLVkCkXSXIP(YRtn~vV z%{zsf;dG|yR2t&B`GqzoOL1)kf2p`5@ew5xhNGPm5(yOH z%7romGP+Dc+$lKqNN;gxj!aW+A5@ge75FDU6i3SDS~ZR z-z?}ud|}`XB+^nXa2PVYn8Ew>>#4B|$0Zf`ZGH@kc~!H(QLQ*e4{L*wN|>aqMeI*E zm&lToQBzSJT31i6iQjKV{oOiN0XzC=cKHt~4R;^1Yq$7&%w!x8qY;Rg=44vuL780? z(^PxVGuDTYs!R+6r~w~X!()nwMFUafV+3KfTyw$W^gMVoY|%%BQpB-hlm!^1DKMQS zgQVmBhPD>fGfp6ZV`}W^fR6qR-DyIyPVbXw_L@&aKeJ5$gM*Gm=aL++_@`O7Sh8#UB@`XgGB zn+HwEIt^nG7oLWKJHb7JT<^LYI9_Q94O>f$TJ4EzM|s)7NjaCxv#3^gnR4j#uT9IX z&BIh$<-JN!q&1Vi#I*+ne~1UErDMVmcT##dApNZEc?Z5W3l~#yxr{U}s=CR-*z(h0 z&q0O_w8m>N$42Ow(FC(-ie_qO^2%dnt+@kRFo?y_A^uFW;#MvK6m@n@LOz@8_1B+S z4Q>7w;hj7EjIIM-qSqbj3Pm_a^FgEh`7Yt~{QaH8Hr(wuDXD_Te8EC&13XpCo^LPn z??O}=Z1ao->?iE{316+zmhn{-mdfAZDutyhE%I{SxpY!iBJDGfuFXQ@rS50r$pZ_o z&aLA*IVslQS*x+elxZuAb6BF`ReBw7OAf+;&V&`p>98P$RF#*ii5DLBv|ro)P)078 z&*FB*xc>oBBGR*g4Vgk$1RX4N`0~waQnXA7-k>18Z;AJI!UN20^&$-{2E6=f5oh_@ z=i;QLlvY##ewPX;**cV+ab1yjE4hS<$JfKi@@RQPDsyZqBTt(zI4@<9HTr6Ou*8KE zh9J2lcy0l|aw{yj+<4tn>ZCy9#y4w7lh?4YZI+R*aJM@^a4rf?sEvnbsw4gKIFals z@K$^I>qdUZBJnb?#qdT0@6V}BrG0@+)z}6_DB~{btLKEsMExE$RTDj6C5*3j5j8ZCE4X)NSu4Mo%6=BNX>j&O#UR zL%jPTijG<~SXXEtmnoKuCGv-(e9(vtf#Ib8g)!=I1Gx77+_#+4=T!6b{rR{TgKVt_ zn?6Mg{?=_FH@J1Tr8~9CZqxqWTk$d(Vyv~QT0cdbQrd(^awEnemFcTtj~VMRBOP4D zpOPY5#2fjWNLmS0O^N|@T54Y%#(L!z_&g{%@B@Pt>?s3XO$wkj7|dqc!FiYP%cBW{xd2qQbpzSQ;O)gC_vY!tJ;KIU@FA4gtM zbIoEAdAt17=S97ZFnmmr3PzQVJq+I~+8KRoR0?S25}t1iBVe`ElZ+qSbb+Cf93;z>eWsg3(f06qRAUpFZlv>YS#Q!aqe0$m6+ZZkIJ&X{np-DuG9@_x zorZ^*#Z$acxu8{rw>l9$)OM|k@<4I=$o**%K5zCy=QA-)Lxu0RG#$lkgtO^4}${p2Ei4Hj?n&Esr4s+T&H0VzYt_uYXySo+)LD-;W0nN1BoB+8o^ zXdhII0g)+1!OG5RcXsn_)=hFiSb?le;+w39$2*Kf$yk~bY0 zS0g))DnZ|#TFZ~T9FHL2uh$@hEmZ zHc`yljx-WZk_&jmAIXzGeK?kLCeySqSmQMa&O@y^y5&p7*N_#gkW-rpBnupKFqZ{X zo9~zviCyTpE1P21SB-kDLOle%+vw(v3LVK7RWUqyI$^{Va1Mx$S2X+{hqmqjsWBfu zD9VA~nhk7FGdRDNqHIxJQy^~*>_)$%_*1Do%^!)t^yq~a6!>G)%WUe-LoDF>q zoJ;pWdBLGq>9sb@7h^KtS-IszU_wj6K|NF^o-kyy=S-s9RwN3a3qEtI?zd!SCzZ&K zPYP!BhmcXWC!vlDVhv0g(tK`zwOC&1*Q31|x*~M2+zZj+XU5Xl(OhQOTJF>4S`q*` z0`8<&=+-TIUgM+-L*Le3Jl&&PLsBrcACgE!^Sd#JuF$gy7Z$`2T?fnkH=($g3gTL0 z4+7a^(e!i3x{slQ^^=TqD6#23DnfkRIgVEHFO1KOb7m{8mKGL1J!_1hk<0|-#l9&_ zs}^{=raLpttq;WwimzvpZ3Z*@i(MyUM##2F2iM;jLuh<7eLxs4nj``TVx5Mgugweu z%r984;NziDJZQ=3;H1e0)9YT%{58XQ@40bHIuU+gA{0!o=MBE@Pj(%zw)c`y<)UkkWkmiY?C}oc~{r;Iu?HAc4@mY zsCMF%o>6|?94$nd*$LUp8IW}eRbe7wzOdr(+J6o~F{8bjh1OQ~rSb7n|2mGqBE_z6 zGn1hq;*A~(qe_Yx6M5Ndr0{{?S3qYvM1BSA!vbCi``y8r_F=s285D%bYGZnXXzn{n z!_4&AOLmUYhMVZu_Vrhv2z8b1$OslvzxzVWJ|9)w!76-LtkaWry<`CsP#cm=VXr^8 z&VnQ}V_r8JoD#*t>jBbRhQ$b`$^|(SeEBUR^tr+*?D8`z(jG3;6Cx?G*ld; zgorYPewl3^EDAb0cvwVO;>~S^KC(P7N}y`+9x^i!Dj1%Am_3C5Adq1}0THvVKg{qd zeq>YQ2q>8TPrvW}^{8kuBE{k@~qbVcHznBuGGAd?5Of z&O$)S_xDpxeK{g8_;N0d;1rU7vH$nqh6uQQv^vv4xm6<) z*`TN5_{CUHR?E`UUvIoO}XY9+%JNDC%N1Gpe|C|8mg`4N%H;-7^0pOM}ytF8-W*U-HNW)gk8VCsP3z2H5_3GA)Ko)HEc&B|VW z^4xkx3xEkZb}S7LfSmh8}NUZI9l5s*jIjamX3Wl3MuJwP8U4CB%6{#bKo0e)t{q=NQ#P zv3|tvE_c3VesYn4^}_>`X5tO>8H3^{R0P6$FFHcN*g?bJYv4jh2S5#b;kHg$#8*FF zn@RPmKM_@>GkjYCyjvgi+D%(s_#A``6Ma+d@FHm!q8m|{+qywpdr6wkc~5rHB(Q9D zSx5s12i@L4SRbO4lX*P@^&;CU`K0yPOQ4ji1deE$uC?hAWx?cO^7j9Y)O1iP<>4tA z@Jy^M#G+4_)NOM2Y;2IgNXD|mGsMm?!2&o35jZMFYUJyba&S!az;#BoJr*5D6?fSg zXP$7BNOQJ5-XfPVBuHp|+FA??pS15CM9FnJKv*k1DY%)16Z#Q&2*aaKaF12|VsfdE zgfFK4?JnvSsf|-jgrsF33V^Jz&+x4CzC*1&UvDt&M=*M;7*u;UT$T=Dr~2J@Tv#Tz zKiF{g{dqCn1m%*2l7*5VL8rC;v0y(H!$$v^PnglHH;=x571dyE0BuwMrqxk?~ zCyHHsI@lNvnCO&-^w}hOUNxMYfzU{BhnyC%?(XO~`v50Ctn?v_#tjqZritTgc13U$2@6413< zHNSERr!O0=Y}!G4fKenukX z-P}d_Y-3)e&b^m~KYW1dkVtwP9Hu218B;_WtN52#n{Nf32Yi(nT7@hL3>-}0Jwf${ zwBK@yZCZSYL(*_=w5REFrbE|~O!!2?gS;YU!etV4Q}Bqc!GDVmF*nb_5ZBE2yD>bn z&=i*@N(A8(us@!6^1=F{T`bA`Vto{(+~M_PaK5f-$P%vU&+gxszjaFvvelmcZW^C` zj`z{f1jbI-ok+|b9Lzm}dG12DGwN%nVHKN|Qt@_JHH0`(XJ@Q{cR1FEpSbAe$g(>r zP{BTiqBWpII)q}eGO|KlmVSg4L>M$4`s}{=60MwES{y7xAn~W3%hVc0f|)*fu)Wts z0_s*vhdT#~fU1(2Q!-~-U8yF(`GBi*w2kaB5x$o`HIamH_R$A@D`u`^IA1B#%`&HOquxJ{9%w4~>vO zo6@nRv9AaRy@*nz*T}_p z--p0qLn7TaGRNaXL%CWZ{p=judpf;XTQs_vLUfX)s5j9F{OIsTK(M#P)@>WtiGGaQ zwg8v0J9oB0$AUH$VFjZj_|pXDT|*E|4ubM-QODN3-hFZ`7-8=`bpsr&4CMxz7m2Fz zu&AiD}X@T0tP-<`m_SjCziN5 z#MXWza9ss?gcw1&`6<8B zfHAdvwoP$HohaWtaEJM=eUS$E&o^4ihtMA(h4Ny;Jj>!kJIjPWF=2x<%E%aWrLdIK z+Ac@?NIQpAe%5NXR$KrMn@OjC71g^F%%(@*7h=kuVCnkif?5kj{d(`&nCcSi{Q=J_ ziA(9uQFdRY+!5kC=s&H>YqBeJ#j0|>o>?E%E}3yVTd(|69tYk9k^~^<;@Q&j)}mnM zr5(c$p?Mfd8(Atcoby^}@tbPw{pG3T~`Ug!olel zM?J6Lgc{WWNDqt1S=}S8&IL`?Z~5WM{+`Ba5u~A@bg?H>)uSpdnPCb zo7g+9R~NxR;wC42bozA1oAtj|*Arng%G)%_cpUCca^{pt`GS`u<}rs%F{zf@*fg zUDd{Q1o_wD<~-YY?)LRcnF#%D%Z!aM*XIr}SK8VA7iJ2|j`kSAfOt4DdcU z=a`&Yw7^iNegLGtl4qxYyUMDANo)qwkJ3?pZL*K4aymCffcyK%FkBX)h3YE=>hzFp ze*ZJsE~GaLiDkGJpR*GQ83e`;wmDwfuP!#D?+Sy72;#^#mnyv0S!J8|YIm`_qS2LH zT3qG`Br%-CM_cBov4!$fvmKP0oIelesC=1O-E1q=Ghb!sT{qtnmKSoXP)>5^oJz%z zL6%iHcEB(}1Zsw6nLWXiP2l~sF6yjQP9jeV&L7EG>@L{(xl1Lvc;a~z%CCOp`c-%A z)-$KfdpiHRxSpOWfjEzmHj>~htgUxdH8-f)xso^gbl;p{Z6DCySJNf4(WxAG&~j4fitZzg*6TR`^?kZ<9R5kn=-xs zm6rvg2G{Y?#5|v;THT|Ov-^ zHH{p#HRY+)bzf4Ka5W&3BYeIH#1kELfF<4GAkRB7SpLfH_nRKwnAuTs7-A}JAe@Ps zc-;Wvb_PKlg?xMb4+gT5W`<@K<^p?>5kv5iH0*K|5Kw;SdPB;ea7(O32N;;%1*{O+qa%4z1M zF+`_17(1CL=p>{n!O>;Ki>Jm_soiV<3qNh@ZQ|I*ij=}dN_d#hb9ap72|+}J^w?0* zMa;2vOhjD#?>=@aS3|6qBWAYu=)o;RxnCDvX`R7u5aLR${}2YWCUV!-F-SgTXo8j4 zaaLJ`+htKEkleMpB3#B%VR*Hhm3dknSon#GD6-ukvAJX8n^lS|DpSMb*Ug9Y%^poD zsE&i0u-$LDctb9B6I9->`FD)1=O@)h@yypU*ll$-m!kHUS!1L)(jirK7tze#7w4kz z3lOfVGYUs{5NMN5ytIsT?Ve&Zw8J3j;XDQ~M4q3V+%n+GcM~6Y#9lae(06Qg5>z*kYJN5&-l)|hA{^%YDr8Y_b z^IhcpS;BNDu}pmx;p;xogzODqbZ=pN0;n_K36w7QA-?IogBbre7h~lKjY`b1v(25g z3hpn*_wQCeFnl5zrhZ(b{od@3aP6Vp-|)Og7D|*_@Kp+nKm5?Em^WblnC5pA*!0ri z5(HFxbi8}VPzrETw`yRU!X+3-f~$R-*t3*}(J8C-Uj<_lwd`88v)+O<<(uanns zCZD!5CVD?%3PR@%HJ6Px%#K6;?%NxtI6^f^S<_sy?dV~S@2Q_y?@AkR<;hlSi1liJ zZa&xi&V*X4RdUjJPu9bPK3*~DwbB2>Fd)qraci-65bkT&UnS4wxE?Q;HQs=CvA^E6h0^6U!34^0kRLIuS#F1?v1e*QO^^>W=F>2Fg=oB7GG zg})0Ek^Xc^C9Oz6A+A-F7sph3A}0jQ7Vl~|^O?iEf&^36PGP+3fM-SsNb-_0!+xAG>8PmGhQ zS?&v}GuSxr%x&Nc@Z=)a);f9ka7RBfe=m#uULf{4ZQ7P zQ%)^NsIT9Ei+7_1y02Goy6}AehcTZi9@5;`sh7eFE*>6Wjbv3d;U3DJT&KE7O0( zoBzg^bQ={JyFEsw1OPgx_YDqcc^R&y#54Lbr!>qH})d(A3ejUG{K}WH>nSQvyZd^PRuXq-@xea-wT7mfSgcQ&-$iT$Ei+{CauW22f~Nu zSvKT?S!tylHz_Xq=gNk|{Ad?sf)ht-%t&9-<=YOi0X#2h7N~d=C}a$DC;z~-EuHfZ zVjVeVIZj0F8UJj^bncit zA{KLWXLy)UT9gW!9j?x2PNbC!;-h_me;~4IvxNh=^$I1|Vh2G$N zQ07lA6&>co@09zG#3XZZ(O);p(r2P0yls`woeEKMaf`ie(M&`IW4}@c-^072+jZXZ zJ$AW_?L*1P8ISo}ryS?wyCO4wIqqAJ`TCheS?`?tjU!10@0_NuKh};UOTS*-dCa%Z zB+`55C|=$r!Q_@Izw#D0o@KY|^#F?ZZTh7=eICc9mRB+7_*yUX2T;{G4qr)f*HBg4 zW4*>lJ`tjFB6k?RPgbb^4Ky783Jp6K`@av3@?X#(b^jMMgk%9Q#H-NpoYq>&md$Ds z(i|v~@=&24fCpUEDpfutnVjv(t{YgVr!yCxIhEE{)Q8d4Og^{No~Fd}r%SZW%|ALG z7S=qxT3V}?ynF)n%RMx$uKG`_6x&S?*E^$`ExfwaJPp1S*Z_srfS>&5ADbW9Nis^X z{HuDW`|_=*2)AB*c=#tHPKVzg(T$VtM;?zlta8)b53+dlH&r#3^`o3vyMGugC~V~0 zR(@23UgXoGB&fJ>X>T8EuwU}Wb-nW;;lq~|-YJH~4ojuvW~-fQ0L<`VAE zwJ?UL8*Cmfq#bh`1fn(;9bWJdi}#a3;r7^o#W=s`WrXp?0ez3SrlNqX1ImLQCi^9WCoH*4FRgipH&U`)egca>?y7D4A*a1XXG3&34#xeRc=P6 zZ|*!7$(S{)Ef%yJ1;U6pfL(-(8sc<{7Z`$uw;lwzZt3dog)cT4X_vH`{_x_yfm^1}t4^<(A8vn-@MDz9&T0qxNHB;K78vo7 z3{_uJ`xtc^beTo}NYFH9pLY~b6I>^-pExq;6vkcF3V+07zkPoeAMKhXiv#&rFOgpH zeq!mQ1I(U;{_XB#@=sgb*Wx0p$pF;;YkWmHa9IgHVS6ENQh2^OauCkMFivDn1wr3@ zV(KwW&*7}+*|-B`NC9Hs7=GvzXSZ_BlR*#aU8lmLnP?av+r`NvF;RXF>c@74@R?{u zevXKSf;@4ZFX_0vD~kA%j@$o~j@mEju=;$B@O}U2<}Qjat&@;pJ-ueFJ3BZwt9#AK z>qLr2%I~t{Km67h`v8L#jh4(m{8sCq-w5aYo5q!<1GcS;8hh-T>Ql}r5y#JZP>QcdNJd&&dYQ&%H>rCmiV(y&W2>)-o=PVU8#(dc_5j=of?M+!7Jk86VhZZ zVEobLZu(LH)(Lf8Y8js{>=NpPd!1t?A^{Nd#%mLQD2@doRllrBNTwuTSEI_(BH8U19}D z7ik*!FSmt#C#Erk))+__LjuC`9GQ>9V!(tzFxfxVe-1Mk_j(HSNmZV4)6sLl$ui#&H z>loWGot@9GV^~iBS?(*dbPYS zZvTIi8IAvznWcY~nK$MV_6JTcPeTSDwd$$9%SM$R%go(h32HXY0?VexK63Mi-4=Y{ zfI0xjotYy3>x;3M?W6F5EN7YBR9$P5ooPB<{S5gb#vA*4`N`UUR4DRIF2C{hchIC6 zNLHManyuD4dcPTH9m50}yC}h@#sg{)9?9z5-yLu!4VErDh-6mpmt=E7J_b&_ph{+Z zY+g%z%${OT>U7^4!Vr$YGp|uUQ_>aje8Q8)aSU8A)M+UNDU{H>u(<01+B}#^f zY3GFsAvU*N8oEToB)pWBy>^~3ta-HcF~Z|$|0FXso<8?~$;{I%U-N&-49ES?&j6u2XL1nJ5Yhnfupu{B-zy(FICJG4bF8O`h1`A>ad7faM#)7|R z{&WV!A{4(Bjy!2qV+rsBPCABf6&HhsvfW`2w^nK}?dIh8Hd zA*mW#YLMNx!$iA2Ma?Z(Y%-|=d)9;)%@#VtJ?(0yl8w3_2hfM|B;q&m>Wd0hKP`|L zI3YW%#&rGrH65b3HJzfmGq{qB^D?T1USMOWww(?6O zjCE6)7LSpIG$#NvrMJNt&qWwj2y0>szwj1>_J zxkujv0x7QP0eaUFsd^o2RL#oSmT(2ub+Dr5{Gv0(E$^!zyBmdfQ=j6f8RI~2JH@0k z0za~&^m&NQP>!%IpZtF1^4QC<`q?x2@uc$D+q(L>W%3E&1_+Fvf95rO22Otv>0u`)LTHR`7Xf5Y@w+b)rvp(PA2?|(J&5^=Eo?=k)V2OS2`D zC?NaGIkE^}H(Ugm^ZK&*&iLY7`gYlxbyz;RmJo1xH41xO{!_JeH^#o-*qmHlvbh`H z{bv0gCf23rrujO=Jng>Aa|MHxo z_Oi#%{y5qkYj|nJsZD#DnPv{R66_jpX%KFuvFWwqw~n*#F_l!P0$o@Bycklh7m%J^ z5qv@6{}K9EwH0Xs22IZdoH;IUc!E-4?;rt<2`NdYjb|m@#wlUA5~XB580-iQ&v$?7 z8L`jCq<$N&@M5;C*XGpxlNlkp_yBn@;kM78CIWsCHo_@Pm^(liPa(>Op3;c!I!VY- z4h32CI?&~GnMU2rH@lzv6H>q+VjXV>%n}LaQpg{IUInh6jP@F}EFcqnuuQNdOc0(K zwB~1y-~f4K+AYo=`4S04^9>x+Jp`9Ia+yp}o?cuH$W0NIsI)8=G}B3+Q*quh#E0TM zizyPS88qLYpKS(ss1TRJa~e37=-I`2s&kvzJJ`Baz;5U$6kyV63w%JWbwu5>EPFwa zwhm$*eIr3Ld2-TkH_>dAIrcM}?gADk??uT^iMs9rC$j)a@hv&-N8kB1fMjAQ>-8Mw zMc7Q&jI-|->*Aj;Bo22LFE9q4-_<~ z#_`Bq-q{jJ{k9vH`=O-&pa|v%d@@-J_BZtWYll41S4;fAAMYvuvMv0Ix$n@ogo_{J zhS`A=s3VMV;~ZC7EWgf%Q0+S;!Uex0yaOJhgiSk7f$y<;(>?Yn4=+c~Y)eib_04Wb z&Foyw8GKC44v%^wzv8`?j;w0j-0Er@zH9`!^JcrsZ2Z;k)kCf2D8!sDm!%WM_3#Hi z$@SP_WboHIfE&O|HG4$idUba`Yj}8yGj2Qc=0I{ghlS8sFAy%#ch%Qi^J#F9^k@ST zMlJIZ&IoSqjXHRW(qUwH>0Jep$G<~DLX~65{k`AK8P5gWzKWz(C)(? z3m~`nj5PI??mb2W^q=&KUkW#i&tx&aQf?desupp*xtY%{0WJ1V*J0eF_r|ZNq7|y6 zqNPQ+wbr`VjgVc_smI`~VMFBi(q}d~@xFalS$gR$d6!|bbwM*4!2}w}h7qCvKoML( zF=A2QC=6UtpM0Nur560QOGWNYx!!}>wqEj$J34?hCYwwScmgT(l@~!BR2NJeNLC0E zffF9eN zC`0kr6BvSLpT>0UbgO`VP)I!{J~bvzH!4myCXSyN>nX^88sxo5^-{)itH3ZO-c3T- z{Pj=}HWL%N$nu~5^j;)?G3R_S2YWFmdoee>9ip}M-6ah1Lwnn;i?y97?6~jVrfF-k z*Xb)T&+5KtuDKwBCDaaEfC#BgWqyUNl?fX8o9~_NZ`6Y6-;c9>zK(VN@x9Y@h5on* z7-kPjqmCFXO&VxXQL28-__-iz2?WgbS2PDFsajb9IcxN0`gXWFITd@9ox8Z1`4H$u zrF*`T9Wws9I^%P-xpAQ5!oB9|+0@eV;NjwpG$X8baZYC2Xwzepc`_Z}YV+VwagqMO zM%8>J<5jFr=m4yQ;9r|5k|mlLvvAOoPc?NvU;>QvhHQ!hiFU$+*qL9D5}J9O}CGQ82*$2>hV zvkNY<8=|hPX))@pJ+HIdu5L|nB>ipDeq*im+1j!f)jA*z{~g}&DPi8g&PFJ7YQDQ^ z5sFNoECOT~1vvV<5EVk__g(vrz3;mqRHwz0_AB7bU@!>AMQ2q+5z`SB0sw>G^d>>o z#d}dmoCmKEShq#fPWo$VW;FVjq*MV))8xLxZ)lvQvdVjP^HKR4qSv(J(6!$#=keJ4 zs6zM zUOh1=^gkVv?I9=({qhIuO1($m^ce1qR+PfKWgH)-iPQ2WY|M85Bzt!`5ftplAYU-fO-d3gzu7PewIg;2 zt^PSTa81k4(#gbiBm4Ch=Z(_K9*)-WjPlK@0`{RjZQp)OuyYBL2*1NGEh-d$ued&A zWGKwIX1bstT&`y$LcN*2P!M19U#7>u@Ag~>4n&7s!2|=&5YfKQ7&jnT69&?Rz|@4b z;K3LqIgl&iR{yhz3k)ztk}-fYrUnoY1O@^_pb#ij2doPOX`cpxPIL8a1JVCW#W@&B zBx2A2EpsHEgb~)d;B4lmX&!>dqmTgs`&gX)a3laX{R5K*zy%Xb;&u&yYJy>4ZGDK2 zHWUca)cGgaze5Dr;6gC~E-Hu`z@LaD`;jn6KG-m(W zBr?}z1mW=a^X~pm9{NXj7JLd4o3xM3?vx>zQi94h(dckAy>R35D?THCe20z@!-rkM z^pBL+qX;3(iXRJ;LzphJISVe%+f1nbY!d z@@G3a68fjKlj(0)hk>v8o4+pu4W;~uv3&A_RswCOWh_>chpEyPUP;KgIUINV4z|q(^Pn{wbXuo%6s}cKC7<`ufTI_s&or6gOyIr?#lnx`@ zq*uv{SHEwt9A+n)e#q#wj2LJ2?_L_xo`1rO#4MxW+QHr>51u8;bPNx%%JRlQ+9F0? z=t^LOk7tP^D<7iEb7smM0}422tZEd=$xv-&kiY^hX}z@W$s6ER7m?0u zV|LA=UY>(Roaua{`k4beul@Xfa6*E*297fOj>uGKCyA*Rw)6Edt+S%h;#q44Jf69^ z>%N^L&{ML+1qRx^U`a8evh#fxtS`hoQ}udFeJDmTW2PR=cS0(UJV*T!KvzFs)o1nK zXfNvINY|nBSNnTL&YeHeioaa0F*Ob6$r|A;7cWv0k2)J$3uakM`&rFvUXBm#8uCs~ zSEgJCUbv*y^rai^uW0s$P7t3~{6An`-XH_dKRa9Rv-Sd6yrxIq! z3ApOXAL5nX*nWjiQFV2OkH1c!+WN-f8?n08)y$k9kV<)m`2fNd2P|v6Z=~t}n#t^o z{n7YCBLktP0eo~d#rkEruira=^A&pfd0~!c@mGiRYaGAii0-e>J0;4#j*3=+2o>0B zyR?&~Rq~Crtcy(LWTT!!m$Wk0v>89}r~1+Y@8db2`U~jF4v96-Z|SLdeC>Fvv%u<{ zkX#j%30A2yO~0&lpzn0Hnun@!BQOD2KQ-vZ+AjL&OF|SZ6gRAXsRz8TxM-7bAE-jNu-#ZM5~@7fT@fZ(dsbB&TX2tgV` z$kGH#W@{AtUDD5^Yg|eoaxQ_HmvbL?DwhtJV?`@}&({FzWze<8 zk8(|{+LWyd^Q-%9>n1Y4x5`^pSGrvs>5$8;JM+UM#T1LQc^bq9cmFr%8k>tI-7-0l zYPO=ZQ|Y2_S2N=Rt7N4p`1cahYB%bA-Y+cdXDbtn#qX@%+J@$qo7H>W9Sd6mYQ5k& zuZdl{%FuwrE+b@)QTQaCMrS;`b(8SEgtwWRG&b$U*5sGY2p46w;bdp7tCo_k51lx? z<^O<+*pQp}dvjd0uvLzrQg_+!Wp0UVMf0k7neSdm6Ri=(+;z zQvm_3%1xu)HiZ{)N0F_%Hic|oIu=dAOIE4t^wk8UgtTycR&2-bd9hd#pjJYHkK3J( z<+}3gzqatOcQ9+jM)f}_8%k>nMhl<9l14vOZR(7%yVo~7c4>PZV&Z}p+hOCMODG0+ zOmz$phuew3G7G{D+%+H+`aT*M}=mDLWY!Ck*8~ zRf8zDpT<<*8`ErGIcE2kH5S`@-)-O2c&DoD`k=wxckJgAwncV3=LMz|e(N$>vXyR! z2t6l`mrp;Q;D%Tx_s>dGyvtM~BKr+btX*%D?MXZOW%B)x(Oh`1k!K6fa8ueE5DPEce@XObnGplV2k|E?=V8bWpt)!_}BBZ?+}# zu%9QZbqm@fM&*C7l3oa;mIkuys9j_t7!iXDw2)%;d8=KVmz&@IAA#xAEj=7uhBa^xTJMdUbn|fN2TnYZ zI=K@q6EFuA)vG)+^anq75;#gbS!<9Jx*K@l>KzD#a4gwdrZeqvPKn=^zNxpm4$%ANQGR$947NN#5g8WXr$&FEso=DX5zx##dO&DgccM z2Y7%0U=YYlSj!0)f!WUrYq+;89;2+-eW_4@@=fQJ#( z)Xdb(Ob@nC&-GwtI;Q4ea~-&;4iu~p<&ySuCV>B~!tKQd6M!ZA0U-MS|5}ksUz67D zAer`Ml6!-CWqQ8|!N+~wFl0);S{r=a9~#%!ib@#N2_M|KHk*-J;ZgA(D=k1tZy6>9>q z=ibK2DsB-*9}31AD9Y6V&&*Js({pPJ9bn>J@X>E(ZZWZMiwP1aL_7rtR#GgaSWeA( z)y5uWU<|Jm-sxnGj;Oi|RpGISI_lwMspDY9npTP2LhCQF+a))$PrJZfK0J5nD!cb& zuVzL?J<#O_x&k$5FEv!b-}#9)2xxSulT{R>Rov}Lxsp_}NL#u0d5q-A(qo05dWWTD z8^4&({XDrBr4ehkvOGf2QrYGSVStYQ=aWDpBZJA|!Q6WfhCsN%Duh*3% + + + + + + + + + + + + + + + + + + + Table 1 + 1 + Table 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1table with two resized, minipage, tabulars + +
HeadMeta
BodyContent
Head 2Meta 2
Body 2Content 2
Table 1table with two resized, minipage, tabulars
+ +
+ + Figure 1 + 1 + Figure 1 + + + + + + + + + + + + + + + + 1tikz nodes with includegraphics + Figure 1tikz nodes with includegraphics +
+ +
+ + Figure 2 + 2 + Figure 2 + +

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

+ +
+ + (a) + 2(a) + + + (a) + (a) +
+ +
+ + (b) + 2(b) + + + (b) + (b) +
+ 2math array figure + Figure 2math array figure +
+ +

Testing and inside .

+ +
+
+ + + Algorithm 1 + 1 + Algorithm 1 + + 1A Wrapped Algorithm + Algorithm 1 A Wrapped Algorithm +

1- mock algorithm with just enough textual content.2- mock algorithm with just enough textual content.3- mock algorithm with just enough textual content.

+
+
+ + Lorem ipsum dolores + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Nibh sit amet commodo nulla. Id nibh tortor id aliquet lectus proin nibh. Quam quisque id diam vel quam elementum. Ut porttitor leo a diam sollicitudin tempor id. Pulvinar etiam non quam lacus suspendisse faucibus interdum posuere lorem. Magnis dis parturient montes nascetur ridiculus mus mauris. Quam nulla porttitor massa id. Mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare massa eget. Fringilla urna porttitor rhoncus dolor. Eget mauris pharetra et ultrices neque ornare aenean. Lorem sed risus ultricies tristique nulla. Nunc lobortis mattis aliquam faucibus purus in massa. Purus ut faucibus pulvinar elementum integer enim neque. Cras sed felis eget velit aliquet sagittis. Odio aenean sed adipiscing diam donec adipiscing. Lacus sed turpis tincidunt id aliquet. Blandit volutpat maecenas volutpat blandit. Donec massa sapien faucibus et molestie. Blandit aliquam etiam erat velit.

+ +
+
+ + Figure 3 + 3 + Figure 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3a tabular + resizebox + Figure 3a tabular + resizebox +
+ +
+ + Figure 4 + 4 + Figure 4 + + + + + + + + + + + + + 1st item + + +

post-minipage item 1

+
+
+ + + + 2nd item + + +

post-minipage item 2

+
+
+ + + + 3rd item + + +

post-minipage item 3

+
+
+
+ 4Two minipages and an itemize + Figure 4Two minipages and an itemize +
+ +
+

First

+ + + + + Second + + + + +

Third

+
+ +
+ + Figure 5 + 5 + Figure 5 + + + listing + + + + + + + 1st item + + +

itemize 1

+
+
+
+ + + 1 + 1 + footnote 1 + note1 + +

.

+ + + + + 1. + 1 + item 1 + + +

enumerate 1

+
+
+
+ +

+ + + = + + + x + + 0 + + +

+ + + + + + = + E + + + m + + + c + 2 + + + + + + + +

Some paragraph text

+ + + + + + + + + + + = + A + B + + , + + + + + + + + + A + + + + + = + + + + + + + + B + , + + + + + + + + + + + + + + + + + = + C + D + + , + + + + + + + + + C + + + + + = + + + + + + + + D + , + + + + + + + + + + + +

Quote me later

+
+ + + + Theorem 1 + 1 + Theorem 1 + + <tag><text font="bold">Theorem 1</text></tag><text font="bold">.</text> + +

mock theorem

+
+
+ + some verbatim $#! stuff + + 5Highly mixed figure + Figure 5Highly mixed figure +
+ +
+ + Figure 6 + 6 + Figure 6 + + + + + + 2 + 2 + footnote 2 + Note + + +

.

+ 6Caption + Figure 6Caption +
+ +
+ + Figure 7 + 7 + Figure 7 + + + + + 7mid-fig caption + Figure 7mid-fig caption + + +
+ +
+ + Figure 10 + 10 + Figure 10 + + 8leading caption + Figure 8leading caption + + + + 9mid-fig caption + Figure 9mid-fig caption + + + 10trailing caption + Figure 10trailing caption +
+ +
+ + + Algorithm 2 + 2 + Algorithm 2 + + 2Algorithms in minipage + Algorithm 2 Algorithms in minipage + + + 0: + 0 +   line + + + 1: + 1 +   line + + + 2: + 2 +   line + + + 3: + 3 +   line + + + 4: + 4 +   line + + + 5: + 5 +   for line do + + + + + 6: + 6 +      line + + + 7: + 7 +      line + + + 8: + 8 +   end for + + 9: + 9 +    + + 10: + 10 +   line + + + 11: + 11 +   while line do + + + + + 12: + 12 +      line + + + 13: + 13 +      while line do + + + + + 14: + 14 +         line + + + 15: + 15 +         line + + + 16: + 16 +               line + + + 17: + 17 +               line + + + 18: + 18 +               line + + + 19: + 19 +               line + + + 20: + 20 +         line line: + + + 21: + 21 +               line + + + 22: + 22 +               line + + + 23: + 23 +               line + + + 24: + 24 +               line + + + 25: + 25 +                     line + + + 26: + 26 +                     line + + + 27: + 27 +               line + + + 28: + 28 +               line + + + 29: + 29 +      end while + + 30: + 30 +       + + 31: + 31 +      line + + + 32: + 32 +      line {line} + + + 33: + 33 +      line + + + 34: + 34 +      line + + + 35: + 35 +   end while + + 36: + 36 +    + + 37: + 37 +   for line do + + + + + 38: + 38 +      line + + + 39: + 39 +   end for + + 40: + 40 +   return line + + + + + + Algorithm 3 + 3 + Algorithm 3 + + 3line + Algorithm 3 line + + + 0: + 0 +   line + + + 1: + 1 +   line + + + 2: + 2 +   for line do + + + + + 3: + 3 +      line + + + 4: + 4 +   end for + + 5: + 5 +   while line do + + + + + 6: + 6 +      line + + + 7: + 7 +      for line do + + + + + 8: + 8 +         line + + + 9: + 9 +         line + + + 10: + 10 +               line + + + 11: + 11 +         line + + + 12: + 12 +      end for + + 13: + 13 +      line + + + 14: + 14 +   end while + + + + + Algorithm 4 + 4 + Algorithm 4 + + 4line + Algorithm 4 line + + + 0: + 0 +   line + + + 1: + 1 +   line + + + 2: + 2 +   line + + + 3: + 3 +   line + + + 4: + 4 +       line + + + 5: + 5 +   line + + + 6: + 6 +   line + + + 7: + 7 +   while line do + + + + + 8: + 8 +       line + + + 9: + 9 +       line + + + 10: + 10 +         line + + + 11: + 11 +         line + + + 12: + 12 +         line + + + 13: + 13 +         line + + + 14: + 14 +         line + + + 15: + 15 +         line + + + 16: + 16 +       line + + + 17: + 17 +         line + + + 18: + 18 +         line + + + 19: + 19 +           line + + + 20: + 20 +         line + + + 21: + 21 +   end while + + 22: + 22 +   return chain + + + +
+ +
+
diff --git a/t/complex/si.xml b/t/complex/si.xml index 440b88af75..61be96be19 100644 --- a/t/complex/si.xml +++ b/t/complex/si.xml @@ -7066,7 +7066,7 @@ Some text 11Controlling complex alignment with the tablenum macro. Table 11Controlling complex alignment with the tablenum macro. - +
Heading @@ -7105,7 +7105,7 @@ Some text +
Heading diff --git a/t/structure/figure_grids.pdf b/t/structure/figure_grids.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d819f569108d7b63838ae1227e05b1d8d0b9215a GIT binary patch literal 38559 zcmcG#1CS+Kw=PauOywr$()E_d0s?W%QapL70m&waZi?*8A4mk}8& zGiPSb`Q`Y=m;-Z>D~f%gXJ%lBA)lTbT7qFCVj{9JFo)segJG04wl;AzC1PgbB>K+{ zhVhG;rK7Pu5#tw2eMe(4V?!GwV;BJe7zamtV|^rmtyV3r}eTLbi&T*=9FkjlMb?3l0(qcih-83PZ-;&9IjT24DI zg>buKi-78m13%H|o&`Y)kCZ{?{7pWOQnpN4#a6M1QpQ%U%OWD|6V#S0=STNE!y-i9 zdB!OiV{4=T8p-F;UnrRW2O3p3TVo=|uL=g{#)ghCj4DnBj{k8*%1YnF7=}^9%;+zy zOiVD0lE!8xrjGx4EMn&9plEC_YGY+F=J;lLt|wL zkg@cRjpMJaZtW^axDYW5+m{*^d&>d|uS5Y)2F>!JloJilJ zi_z-PaLia>C$U}d&M#4%ok5VBo}0Q{*M&1`+A8a;OzXR^j?f<0qDBTz0(5RdyY^aajG@a^L0B4Git?4R(>MNKl@n!0>$mMMlt}M2GK>cg z4i5U2>R+3-haB%u=0)a?3bsU!_`TWKq_efArbk0A|BDx56} z7(-Nr;7>!+(S~W|6Ec?0QodVE3X14Jg;eF3r!Mn{*4mHoEw@F#Mah?pudkFR0C(sQ zN;QTNd0&eTeHaBw&Wc>WL8l8RMKuzZ4Wuvm@%n{nL$D?FCtAeNnmAFGNSJw@AikZr zsWd4i4tm@uB_*W;W{(q&jQLKz*(ky-j4zyajaJ*u$$W)pkd@W3GHOalF&Gs;nX1CO zLXN-$vX)(zhw@H7!D>D@9<)49lZ%nj-u3PXyQmg%GFC|rj@m7+)9mc*W{*z|@D5C! z7(}*RNdY%rP!^v&eu%x8F2RrxQlOk&b?N@uS!Lj&A^{+lQsQo(EE8$oo+c^bB9~%r zoRwk%*^8ULuFyOxIy#s%@*ouDAgh~i0gPx;#g_W_u-H|2edkZToD^pXUho9cg z)+>$F$X-%v*nYHNU|f{Q6%oF)8r7bU7usMIR;$hA`8Bfo`^*ek;=V7-#(b3wAo(JH z5m;|1PwXyJ&2p?g|%NZRi6 zq0Mr&iifl1fpyQ@gNbB%O&nZY4-b!fk$`}JHHy*7Zw&|2d7^^eZ%pT*q8Xev2kmpi zlDde*_A)ZCCQ3vM`I;y&tMa6JJar_qi;EHm`(r5_>RbbF=Vxbp9uIWN34-o-rE
)nSsbRyytkzoN8UniuzavYSi+)uxtI_ST<_v!4b-767(_nVP^1`T8 zD&uiT|_q#y3gFxQ%gQACx;V?Qo zpM#5&bA%Yqc|+1poivf$H1#Vm8mGwecxKx3$NQ^L<&v*>szgyhjuJgRkRo0^WQ>23 zt^eNqYxn?+l~P3v+5m+3z%rGkJuf_$%Y|01inO7a6&eE(2vtU9VPvcck@}tb%%y1q zA)jlnu6Z$OF~?197r(1&C0osg2A=v%3cu&m)u(+-C3Z17UuoKFs@cvz8yQ?uXtL+Q zL^n)9fSqEhP8nG!6`mh1tPEA6QeVjk)Ek1hK|Th8^a2%qF=c%-cGu-lKk*vUzkj*6 zNKG?eU0G>eTtoXAA|M}5j6em9<5rtbQ{}fhx3PgR*$c~Qud;ng!C^SMIKE@)Z`WSA#jEYK>NsvE}B

8BWJlaIt zw2`MYm~{u;{?HF_t7BBK zqF#7XY~yxT&mFIGkj$ML)Xhxm>+1`5oINpAp)`z*zcU{0rU^}AU86KKVWmhos>@wl zo}83tCDDkRNSqVZ{c%>||8-g4DC$?}=#aP^f5sp;Ie`U2hr5Rd>A4Y;Owfm-+aSaQ zPBb1j2wm$==KRcz{lPdkD(wdcC#OSVg{0V6H8I%?0m|vEgxoGoqGUm1)HdH>QOFMy z6Yj$8noo0jtwGPjpnA~%@EvJ zk_@pjh6$ZKeK(N%K}hc}>HYq4|9G)JD>|vzMo25)$2|xy^u>+AY@}PVl*)(NaJU;q zd_^=@@`Vna*Sr>`Fb{n2!j#o31RE<1Hp%1Wff|Y-K!Q^JO&Ut|ObLpZ>9Y?y_G8wU zD$SOBtOJ6$pJ&~l#53iPH4w184;7i~EISW}%NETSl=enB0Ssaz|s);$7^U*M`qSS>{(@AHD7RS08 zG>2x?D)3VB7wHy^-kxEyUD)1)nG{*vfp2mx!-GA})Qrhk^158a@)__(W`LQJ&aVbi zFDR`>^hVs_+uvRi-R~V2jv{(^0_tS@%g#=YD}SfRk2{=bD&PKfCi^?(S;SXbN~3Ik z_FDm?mfdR*(7xt`a_2){J1zmp6C6DJaf9G~+D*_6s>a2Z2;T9>87F0;4W0MS=y8XO zrC^>inU+t9%Dc9{np@NNcYH^w?ed;gCSsdx(7V_6CmSJTS`CZd7-wB^^#7Yr$af=Nti4uh~#E~WA) z8`U7k>wBA=pn&4dIoLoM3aG^BBz_mrCP;d z6P8WtvT|Ru)GCr$RM1+!D2EVq!)tUyv#^n^5({(ia&iU4K02Ung=d_N&3{% zX**G4F-HCzT4;YdF1j(2Ol>E$I#QFfj&Y&564qu2%ijFF>JJIF!KsVNAufs{|2n}} zwJ0)J72wx_q#^7pwW!`LF``S*O_UjkH6PcLQR5;eaO)cN7+YpVL*ywUk4GX{Bx zGZ`skPxXFMP*n&ecqMwx4W-~hRSwH~G9o(2=_V?9m~YlXn05l+<2R`gyuV%=K>i|< zcU4A7)Yg2(bX3T^6c_frh3$M@FXf(Na@COJ&=%K+CYo@{#5 z8LXQcF8RfS2?A%IjyfX7Z`r~y<&b@e=A5449X5F7C=Ox4jNr1vm6zHBf-vxaddw_| zk1T;PQT8Ja#7V*VH(QU)&DW@NkvCT+#B16a7td}zH>GjK zHi#YV)Hw<-^BUUqi~l0!h2TTF`62Z6(tY3AJd*NT~bx7Mf z;_&t)8PF;0`!`wLdJExid zXEgY)*p`*~pU1Y*T`(ZRaDlIULy6zD7=C>WTJ3)Zx6Ply?FE-7VEFz5j8LffCsUfI z7_l4-BHp|{wLL@dt0bd22ROCE?&6dT`ZxK-<^B&gn&2=7xpsSSZO8qcZJ+Ur*GisM zdBG;Hq7PI5esaw(UL=xRb6eJ>h+3S@UGuE?G+n@Yc}$Rhfb^$uosIP$Lz7QnkuTI(c4vbwx#ue1NP|5ob@Hqd68TyyR*jfHDymJ-iza)0{ zh)&(qs#U*yX8m1Bm{*^-PWcSs8W0u7KM1K+A{!T*24_SBx2H#iEQb}3PF7}{)z8XQ zZrfD-biyk&7uNP-%O?xBD#69=`d~bfYW`tK|KnS7BVOS92MJRxj=CHG$eY2p+%%ET zS6OkdYPFH+g48c>KQ(V%SW@xVn`Z9%R;To-3~#VDEF<1@;oaYHvM~J#C-*Oz)x zcJfXz6{2R|JgJNtB5rZJxYh0wn&se#G?5nynr8pSJ#THRbLPGXZ@s#e@-!af;}39I z{{)xmpTkvd`%A3nx1VBNvW(}R4To8Qo()SfXbA;uVx@_nHPyzVac?N`k^I#07pGnf zSAq$H%BE}$h{?v2C?xibNIsXmbCjXymYPIrzs%Z(NK!0Bl9JJI2(i2pmUpg~cOg7)3Y^uHQ>y{3J%HE*L zfG$^3>JjbRbMl!2=zzCl$`3w;39S0b{G@T2vGtmS9cD>b7DEj7$%?Ja$cFU>JC4cW zWiH%9a9ac%Me$qa% zkFBI65H1zg3%4Y)Ol9k{btH^tl2E}Bq&u<0>gP(`SkdAqfF_u{C>w4B_uhK}chz1q z*Yv=aV;6CQJb@!cg`!3=rn0$O>kMQ#v&dhNNj$h+X~}kAJ!8}jxh?ae=WU^WVkB>>csQ0Jn3Xzv<86kwWFOA~?AsVg_pY$9nuvJKz*6jQBi4)HbX|4s(BKk=XY zpOc{}h8OnJX8S&Vgh#pz3>6;V*M-BhL$A+mtAau5mI5~2H!P4ip$m!4y04fOVIU5C zg~0~79E*b2rPdR3XIBDW#%ilWWbc-(Hs)~F^I#lKo9a)*0U$677e<6Pd@utI|zDMu5K5IPI2fCgJq9eFS>}mmh1xv=Rx{l zGVSHnMozZs=)I~CDM6vEn`^4TeV3;p;SX$M_W~}Z(M>^_>eAJVV1*+kjDmk@+D9*`q4%Sk=FZT z#!ONkxg4w`QPjkp`2Fg%=F#8`uA^hPa0cUqyj5JWg|*yYfp$%s*lDgLpTpwc!_3V+ zO6zS9RSN118aem{-ok+2q~6I!n3J(!Z~k(>dVODOlXKhkZC?c+IYfK$J)l=ITLTF_ z(vK0HqW}aE<|RYqo%+C6An25m2^f$mL>Dhx6zO<)_~;|Q^#W1?_5*zwi~+5=0U9kF zlpZa56Rjdr35+f*n|ZL{9P`Dy`VVd#+aJ`6mF>R@2Soq(s!LNMzrp|$Qt;y&Ow2F6 zMVIa;Lvdd)TxAZuBgi0xBBCw8E|oJ1b=9h5H66J+URSro1F)D7C@`(5@-iMnu51*=ss}@VjrhmU8}@MrR{fAi)J`Q7^dVn z6@R$e9|PHAnBT^Ve1wM3%We*B)a)Af-JkC}csBfxJr>Yzg%R?#rs95)_`Jf}VCS)aD0YQeRuT+4&L}Od4A&t=(6s zbaQMLNPtZTk9OH0H>xn5kth~=YwCZ+>_V_l8A?G8EE#tx{P|c`hNOTbiy#c!2}fvv z3yS$U=TR_~V%#I4XrX81-&xN72c2hQ|2HCti@Y3bso%*sGZ&4o`DM*vCtGM43J*;ds}b0I|S^47a| z^@IU+4H&Xhh-m1buRZm;7s8D!JI7j;x376Icc#TJ05^=iKP3(gs}fQ30WhSiuefsyzF9tW9JKY+Sijg3Q2Say4qba$r|XK0M1?(LV&2l)YB_4# zdFNytXbf6KhCiiX-WITEAwmZ|f8IsdwD)B>)W?Y#z*Srt3)?tU;uG)T{Q_T>ho;5t z((m(&05J2W|CRuPLMLHp;O8{!+&sx3Y!;#DUpS-)f~IYGoxbir1Cj?W1-$7mxkcXs zF#rzQj#gyB^ow5ubgL9!#ors!O5rKv3@7mbkzEo7j=gqz2;_1Zo{Am`Cl(D0hsbIi z5U1@s^OgrB&b>_HRf&Wh_W)MjzS?sC9vCt#y1! zZNi8UuF`@NgbInZisG;9>A8Ghhhprn7$E)XVZvKTstqbJ`>5ZwM&Q-bgT^j5<%*&h zTTZ8P9(N_~*VZsOC$5MBz&I2i?jP40ee-ZKJBVu2=zGzCPI)?nrsQCmR;hYb{LU?b z^&y+ZjWCYd%z*14@LtP$t(%1&E1DT2YbSMjLp|Dn4g(Ati57BF0QIfDYo~-Tk}y~| zM3Zvh4@uQtZCn9s7@`nT5gedl38)c^L)d#5SS*q-ci6IE8}T4<{xo9YcJ$&2YvUFW`~GdFa?Lobf>qvWJZgmH_G#s*nZabD9&R{+aq;W#*nLSlbpv3Q0f zdE({#cK_)+|3b@BeWE__%^ci>g%pNT@e6!mZn=gD4gCR;s+ zQ)QB-#4B8ln{?Se-hL`T4KQ9Hq(SHXU`U`)FK^J9ekCYZVf(!-i079Wl(D*7iM^E| zVW24}Skz~<_y*55G1giJzS`pi1HM@w@W;B~&;k9kJ7_nLn+b<-FDgtNuG#z$(1wX* zk^6*^7_hR1Ojkm}7ur3*Vj9Z&e~<SjB_5Ac0IZ$1 zr76VLQ`FAY6FTw5W#>({htHz{^7@9UvjB2jrNr$_b=<2Ce^Td^%0F^Lv#tw;SQ59% zc4KBltgZ{~as+X-%;5z%q=ktO4?H{*xugo2x%;Ft~?Fwx4`WD!JJG)FZYsKIr-hSnjO zb}A&svY2JfPitAsEkcv6)Uhnh=Hgp2HY00qG9z-H0Yu2!Q9kdP(QWAVBXS{g%s48% zp6BOFV3Y;hm#wKC?P2iv*mKGu{vVny{cBI$+Z2LeqL(vGy^j}xZQ%C(a=>!wxuW#7 zmvX5YK2oh=J(W8!fCFx52im>B41{EL+gxLHZajC?;s$aMpZ=k>`M{>@5$#-0VV~73 zCQfhp)?YczwNC5+ZI`~ax3(>co-c`88VtQL8~$z2DgGHxX3!Sxue5Kk3D+s(t|ioAU^3JY~o>(Dvb&%6uE*JO@e;? z07D?m#hzs`#6QF}94volD<}8AF`=i9$>R!tPUs)u-&P{bieJ`OslpP^NZeA4wjpcC z^q^uF7faG*IZ541TMOgKEkzx?5YGivu-bubrh^JW1}717@is22FGy@)v zK2}`!Q9~a;ulQJjJRr&e)_=dlbAhK4t@rHByx-DXI?np&zMR(ixYzlxjCzo6`i#FT z0F07a>W+Qf?>09fs(=(?9Rcw&k1c&v722}^%lVL2J{$wppnzNvwjGG{y>83gJ{qP6 z=(E&kktawFsOK)tPn-$}T0t;5`_&g?S!el}O0hPfRTfOSBY(i>C(257S5L?0gP+_2G;J<+i{Be9W zoBa!c%l##ND~V7|oVR#2gopJ(ekuqjtSwVhVK1h6YQ2f&x>$lsE!M!0yavc{i3MV8 zWmgfI`IZx*5Ya-tjU({YqJNGMT?}MTjkx*Ur#6J>`eR7Q(MQYp$A*yLGD!S|F1Xmk zR0W6*2#&9=7I0oj(!hH%#x$9Wx)4N7?}}N{omfuK=Y7@xaUY038|YOC{bvs}L?}YI zeEUe>eJ6sgh|K)WiQ<7`f>~U>tf8CFs3kLVxk4! zV1?&szSCRhNnM=z7`VBD<{&nt%?TP?NVfaTBS8ZpjD&8PK&2A?LN}8%RKnQ)wvjBQ_X9G7q$vYc-P&>39cXGZ!zn*88%*~amM)h_$vKU@(Sf*JIa zAGj+Z*>K6$9?-J;i7ravK(%31BL9#jR9!Sqqso@xy8qtu27eoNdko?vI#54ltuFXxi5rJg-y=8~YgyR3sRJLkSytc~F(wI_O zQmTiq6My*Z5_p6Y>Jh7u84SR>OV*cWQ&VOB;fYySb=pUC$a$^GZ{e-EzD75}qFa*K|wZ;Es19#aVwt0&qH&+NBE zGYDYBGY@+5wI)KWvm6QNTLE&Glnn|2`4#Gke=LR6z_pb4w3ATAgMDlDDXzX%$SfSD zM-m8O>71G&n%(#$?P)S%HV_Bq2>`ISHPDpuS{o}Y3fkpXv2qWmF{VOt>qZ-PzU}1j z{qSMZ@{4jzW5pfFkDNl5KcM`d72E$VmHZnegxETSekM4vN6#P$tdp0_!NE_rYbmz= zUzH%`@Igq&BgJ*SvF?s-ze3DXE*a+0pKw^~?N=~op}!#qHhDUUZs4OE1e-??8a;v? z7$d8M48DF8{m?X>Mdx6qrsOp5td-PJln-K|r@~BR6-p!F!YulN4i`qa+Z_CmD>7+q zu1bgoPG`G9HP5T9j>0cL10o)F`Y5dP1B_^_LsAdQ~7Mm=j^}T|is6LYycPkpkEo3&-H|Cbrr4OBWDV z?uDZ0KWOy)=em>yVP!W#Iez=6Qd;vxl)qQJbxKFXGK8#9YvsNVw9?F32h>ND#I|a2 z(}-=aK{8+pF!<9e7%OCmxU6NwO#cDr|HlH~`CkP-Cb+d*bOQa-(}s*j9b}@u;KaYk zTOJP3l}z$~0^*p4Z@wr3l>+|h@cRLmo5N3?t$OB7wl{yn9 z8LiAO?sH*K(CESZa&Mp1tj~E(HM@eu)F-*$xe(N!50K|4fro zpa#5wk$>3%6DAVeYDZq(xLL-p_W(6o&-z2U^wY)s-|H*>rLCO*JW4vB{f|ll#8#I= zoKnab`7yhdhLSL6UIrJnb;#34#5G?Zq%GHlbZ~O71MX!CMN?&0$T0c&I3vVXdqR2dC^9 zhw{mL!Kq0%;mcYc#=$m~m@-xq{eXk3jaKUFby(ry%6!F(t*|&QQ8X$}t{Spx#{DDb zp)MfP6G@uC%bol0v}Pt^W@qO9*IE!3A}&^L=6{`i=2-r9NW{&?{9m^F|8BaYn!r`j zzGHI8N=dsQuEUAC$hb%!0)Y+y4NMae<;A1;JCYJpYtQ7dNv1T$`_Ei&-*-Po0d!Aa z7b@8u9vXJfTpzG8An?5ixIH*EYvXa@`apN~Q6Z^JPyC*MJUu}=Jw4x+=;$Djz|h_} zBPR^Nf;~jm^mYLHxj>MsL}2jJkoU_eCrcCn#cgoM61F$!n8!Pd5R zzWGs{g9N$1U=p{=dGZy`xg4i2ybctDoUxqyh6nUODg)`0D+^|%HnAt0t3 zg}MB+39TC&{6Oy3&xrH_H+_QiQXEBy)`t9q2nh*wa5WTkI9m(YAUS&>{cS;x{P_E9 zZEE?qT>60MaW$@TMqTT^0YS(kO$oMkXMpyPKp;Ty0V#&!V;wwiZG$&J4ge#jfZnOG z1Fc->EfE?<2|}#-_IQ8-UHgAPKejwx3L!1&PI5RqTUTFjFbP79BX0ru`2(*=<8(sl zf^qgj`~a*@L!2BxY}xEuf%>g131Gb?wZRKX$z$r>DsFA=yRGyQUqC77C_vr0g!OLf z6STj9{ixYGIDrW!=Bx8LEP?V1I44-SfP7>9hMAgyNVjFv2Mp5S@}wQumBKrX1aW-@ zQbF@!bpxaiz;ys41rqV}^dvC=0jh-rI5w= zg4zM{e(FQGYP^O3MY3hIRqXYl`Oxf#@B?~4;sxu)ID_)j2k^dt!Z|;Y3c?X0T!W`x z^V=eVZN0uf9~xZ?F?w)f&0TID_)K7yR*{r2mh|42?D#m|+*o(}0ucxc03r4u5dz(1 z7?B``13_+iHqX1WGLENptgC9n()5SisdaT|LoA``d z=<8*EPrr|xvX7K80O5d-#B)#Fn-8k;jlT#$xdBiF0F+v35i9oez!ONG2DyF(l4}WJ z_kFJ^V}6>NG50?w)~NDG23faxFJh0y!h4s2>d1oigv zSZBv>PQmyd>azg~JigNNri7FX-1^1)l=UKJ+-_Qq@vL`4-kJ6w zrJ#_2+?T{XYAgkmuS5 zz6u)99pnH22%uJlSc@M2e=#b>gm?vKfFa|WQnypSh=o>H{mrQPA!zq zp^YV9Ya(R(y18~Nq7w|`MwgEtR$Q^Raf+^k$>1t1`TSy--h?<~U)1k3m71~YLg=iM zp3Yb@AIiq1JSC)EOL(1@h!7tzBMzk)eiYSR z-m%>qPrh(Ys^yuKTP9Pe)Q@yK>M%>@Tdib7i#&oN_%17-Z>alrtZSko#%=g`XAZ5k zB>Y+jA`V<^@n)Bz`sqDe~mA4)P2JJ^k7F{4PNR9VA%YA7HV;Fp~FoH3RpWT4rA*q(flD$JYfv~YnF zVS-|Av{CpsWK2~hpUU|<4mmE^d*XVi4n)+2_LlclcTX+JW3sD39@cn%#$Bn!iq0fg z4(+h-w(pK#v9DaK{3A8$=3;b6?X*oVMt~gRa?9_zmtMQ{)0 z6O5i9eXG~#!4ZA3SZ!iliX$*Vp&O|)vS!R@`PPKUj`QAH5MQ#u+4|GuMpyJCEemg1 z?}@Lj4-cq{$%k@j6)YAhTuL;EqLyXcIyu#U^?SzM9EEv6cmpnj}T!5rv? z+J(Bl;LTd6FyWw@iQd5C{?fDZ97W_e!1tqcgWKlYVGpznv~bzAcQt=f>x?<@ut1;t z5;uorELq79Omb8cWKo+Y5;g2G%=_3qUh0`A&l3fa?A@=D?sTWGiXt8T_?!ob=dL{w zn3L16cQj!`hcxMb`4(V=fgf7KhQxZVQ-7avs-(TUuXQjQJ9{l{{bWAWf;9f}a&iKf zMl5ZSrV^LP&w^L6y(aO)hDTo9%ZUtJSl3jc2+0tWMiTa^6{X*7LQdG$iE*0K@6=Hg zyig+6v7QHAO#FOMbvlg@e0_YKm6r$ORxPFg={7mpO4v%+2BHD3!eKu7?W6!vjkEB5 z)%mxoXGP;aWx9DvIyZ&qWyo$9XrKmlyvaDDI}p_sUQC|j7hvf!hq*nv04Y?b4RWXO zOHn-SwY|}tIZ#U-n$%HRlNQ6--!Js_yW(XH;ty9Aw{qA;>M#{2Ost|cJ=$G1J5nUN ztfz%b84xjW;<|8(`pV^qQ}s6uTokM7&plikxW%%&5B46#&)GdG{XRpq%=C{#jZ7x) zv?k2fx}4U}gI!A_zvI=?HbCx;Sa=b_rwk8uCt~m&kkBhxig4`=y98_Wk03k*&ZSnZ z#@imgAHc|A2Nl4sn6Mhwix0nb-*w~@z~MY3B;n3kdrWZ%f9XvXcB5WS&(VN{^9<9b zaI^kM8HY^SJp?7D>p~}_43_ljuJ+t-v86rz2Cn*jeYBLvYxr?xBEf}URfH0=269_} zvS`UL8Q}#wNAObXEATYUc5Z`2g6CHmw};~Liu$B?M(M$B6-oGda_f4;&E~QV zE;H@<2{21@RN$)(e?|7r^X}Go0slEnmwE&i^9vuB^CT;_50r1hN?*6zjmG*p0T0NB zNlq^WUu<+{%u%MdH54!!v&0XfeX_Z-;_yPcJ0WZ}>m$z;LtABuHLLaR`Cw_3u&>%s zL$b<@FOEr5QQS#Lf3VGH7TW#>>f&w@>#x=UwSSPK-8DqhZ0pdw7vhw|quog>Q#I_L z=S>fE*6NX)SoheDy;;K}Jgd*F)0AsRiR3ULBebDYKy5S}yvDJT^07r0`IY5@)_!v# z853F=R$1DmM(qsLRH;oF;nJcFYDF^m2vU{WKWceb_FG2e#&0&Ky-lqZg6FZPbHJXl zt}mw*b^Q{fw12BlUP?nwO2VrtjvTABwDk|&);Wt)PLoVLyqQFK2Wx(kCe91IFZJLaBE()LFI`Q+08vu92u>y1Yi9X zzGNI+yk5^ptt*h>)7908JO>`9fhY)?7*XYch0flE%K$>={=FS<&tql8xcBM}wVjEX z2F4j?$i$Sb{+*hB2P$T4i%UuT*;s$$dpQ2@^idLn@p7D4-UYHYZi$l`rqWu%8(8*A zSMu{0R4J#*D*miEk#jC??r?>TIH^9`glW%(tQXjXs%4($XC<=TpzA88g-OqDMWfR z(>c2>_fiM-phVKJh)un!X!2~~15IOGUXf;Sj#C_CQ$Av?Nb=c1)$5?#@9^L6@T{epbn+x6a~&W&5SC}? z^*LKqeV@1&$KUffea^J~5gY##t8kCknX4Gk%p$R3V4><4|-oD`tTcj#?yL-9yvQj|;EIdtiG5@V*He6U{^;AG?i=D1jZ@9TwH8 zNdx9z?)$Dr1YRozfod`eA z7R#F8*V|4d5-8V|BfSRU6>;70_BluCS}oy*Eh;|B&rH?KeGHI z`+!q`r276_^wH)bMnf0llEECqB=HBE!P-EXm{A=ZUGoEN#P6y;ckV>X>eu3o?_mv= z&;~*eq|S@Vu(m&J)N;-6)v?N^46cML#I?z~VG?8*t$u96=_J~*n%-2zJoOHO;?1eE zO5C0YTBESaAc#mPAtOI)iRE+Wx^XFO7; zW&I$>Bk8Kd=WLTNsI44fPu!GUD#o;G$AxqEuH_GcRH!Ki)>p6PEH%e*GvZ1;qpn|S z;%&j5!|XYZ80!crBjf$hJhJUwy(#dG5KCwg7l zR9JSi@eL}Ww!72*zGBaJPUVXmqL;&k04qb-!qI#}OX274=e>6Ou9w7X z5l^l|TlicJW99T}8@ERV6Tns71k#hu)4GRqq=i+tz?n0G)M$|9*;?|`To#q(YcqGj zYhxO=w(OQ`4eDmoPt7O-{e-aLBe~U;m)VH+}T}1Ix6G3fuykWR2 zsP+&cQ*-maLX$8t5?wI%`VGyb4kDTpe_m&N%XlpZmi|4e;mieP^9E60Vd*(hP%5%H zmf^%bcQ6TotOKi-ozMhT(nzNJAvbu!$~}lA7Y8P{u%rtp54l{`GA3|YC+1haV%o%! zolmU4fCi;Sp*b9v5d2JaWmFs@2@Trj>p<7_x)z!F^9GXD$gc0lcZ##tl%6Pw&Oo5yIS)Mve zp-Ha7op?gm;ViCDp8jxL&04s37@|gBDth-@_z81vR_saO!T` z#hXI}NDd!$e}-`v#nHgDjt#@K2z8G_(&#sGy$EsGSOw~t>Jnxe^bFTGe*GxXaGFWR z8)yzbsqMlkuN39l7PpQf%wd!A@|$5TWm?SKE|f}YHQ9Jx*yDN1twlTp)C}nl?1d=M zD3)j3a%ai<7n(}y_{W$P6vW@X8%$(MJJWPUhinJ9U)YU7yh=FG?cuz=t#Ee)i(4h@ z&#_=UV+f1*TJUE(Gu-ackC4b})8p$N+g$Yml-k&WY7Igrgl8Q<4AVc#>b9+>C%$+MRg%m9yrYY_{RtExJ)+duJj#DCEs57PZ!Fq4coDJkJ7Fu(sfpr}uX9B)f}Fzg zz%7#HO`HRqGEFg$?U$`rxaP`2z|_39piu%1RekM@)y87bRczre@Ktef?|^n}(nYiS zoWX*DIGjyp`tMWG1F|5Qm{s5)c~l#XNelFr<oZTUFv^>T8hJ{O2 zip00K{YApA5B+6iY?|T&y6a%b4TmgA$JX5s++;M1oPERhuOf|b3mG_Ig;X>-7gfI+ z+u}>fbz-k&p#yVfML2$_8Kvli@I(f!x3e8zUl_l&-~WKcw%sQ;!2P{>q;83y9rCh1 ztrAKWw=c-?%wBMnmp^r{*<~!6RG$)?WDhYc{?1qWghL1%nKs;}8G)}OIIM%}sRml^ z+tt{vo`_&Cak%14<$&g3P~1gxEZQ8)KhxQm-H>Uit}d8>L?gj?hrMJWzN#AJf%hv3 zit8u8E<16cYZv0N&c+$HSq|4q4jGFds%L@Pn-c{AVTYbVNS;PuJDg;^D3ZX&F15#m zTz}n$fr>iU+)kqa#Sf16$x{LqpAZpQ{y3J*+C`zRxdZCk;+S1U!yPR1@*OX^LX_?D2Vg!!P6h*Y7mET_6m?qXEthgb5;4y1BQUQl z!h{MZd40EA@+ZJX7B#Tn(8`4xA7AeZS!EbqPG?@}F$2pG{g%B^7Z*52+{A_gT9tmN z6)1r%B;XGy)Wf!Wm9`U{uTCooPTp2B$9FM=uE3nYJ`8ONuvohW z#x;X`Y-2wrBMygQ`f7kDG1K1*MtR?cQGIVWleqKU$dWMhcdFgOxtCo3j-#io(LZCA z74OsfX7{r}ws`2(!J?<=d4hIQY$i=}T|rl-(Gs7e6=Ri0y}w}{tIptX6WgHaSs|0h z+Xb&~Inv`?tt62*j$&E#?QYbjt?cZbYZToCcQki*xhr>E#XI6+(Vv{=nDiODf$}(6 zdzS!5uVrPtB^a_~iXaD*oFY0x^3vfBGrPE~SI4BFF;Vqr7?U@wV&q%`*bS*Q`zwUE zj=ME_h*n2vnZSG6k)mQcw_m%rptHw>IG^s@-LH=hG=JfZOI>W95f3cxd5nAUD;`YQ zqjDxQXF_~##+{jZ`N^^Ka{dFFP4DNrHuMBjKgkn~aP9ag#-5RdTYg>PT-+9U!g?zQXA6GAXORqNJ|O z+@J}X?qq@Rna6f+>M2^=VvhLjVC-878`R6k4i-=imvP)TP#6CO3t0QYS9D8zi(kI# zFm_C)`kh7khzWN0kY z3K|jPTRM_CG?vh@g4@btNLr(9LDICfv~I-7k2?;t==*}qYWD~v(*^SKSWQU3W%-TP zcrf4=3=3#n=0dj7&Mz`8GWTM}?t6z^UL}!!Pkv{aGsw@;3;YPdAG6iQ-8jD<@v7u4 zhFOpD&ixT4q{E}+uOm7g2;mgD=~zx2+4+g_HH1FCIYk@#qgFgZ zXU~nf#5(~a!$RRAL z_i<&i=Z@>mOA*z_E$%@6I4xoHsG-D8=~N-X?2g65q^$UanoJ>M784(YZ8*y+-@2_^ zx-n|qyi$_*4ks2Zh|`E}u4Rh06|k(r8$T#%HYEC;xo6odWi$;6q8-)i&dNizru-I_ z_rX`fkRFY27X9I~0IyxGnW*o@&ohuL?J()6EFJIQ;jtMqZ$fudp$I0^Vm`rZ2yYDG zjr9)sH_`TACpt1TvjmW^PYW3g&Z2&go-U>>+1Ri+4xElBtCPWZWQWh@^6P$0tlQ-= z{8rJ&Gi|ONzlezv(Ft|>;)|!5Jh8+&oAKOdx45ObdQ)6vRc1#>@j~K3PsvI&4Eg>( z!~kigDm(KfkUR_nv@?HXut&0n}*n=rd-Gh-V+-qaAFru2;+eh0LR})*c~;h zidndW2d#FPm#NLcFta%mMo^YWtMUW(l>Ah?odm!n!2Pxt>SL`XE>RfK8Gg}gH0v5# zqJDe}3*pZ*Hg?vnhwy_3>>MnbWGm#?w|QX*@}%r>t+g!@Qu z@z9(py#ULY0v|rm0xD`OeHezJL;CE|nS>|q|`ITd>)Lf-sQul;BD>>0- z3w1ttcbW0Vx6mfUXS17lFb>5s5DgQbPpo>IcJ=&9yGwc*c~xzLyx@H- zg{qzvFeNJ^x5j`{kG41_N>_)0KRwAa7-J2yA>L9Uyjvp&_|56#m3 zFb<*%RDOxrv4fX!K}0sU^P1=R0`E_Kj>VVcapGy#KnlXB^TP#Mv>gv-$#U*RS zsMc+d8dH?Z`)#>7J+DxQJOfoLP{hnZqYS+n0DkaW*JEy0bD(|c=QoIA{G2*u4t6Oz z8b+_Jo~aXy_{urF#dMD4UZDG#ZP|z1?;pqZ3vD!}vFy@avLn+dDoEG1r zOt%^|nCNpJC(@ypv@&{lE@i3?#%!9{jn*$zX@Qxkr}-s-@Qpk|kB)XI`0q4I59Hw` z!^We^V9DjM`~rx2zD~5$&LQWxTzPL+j0}U3JiTl#=~Uv^OQXMpgB(m)5sb*3uS?E< z&p-DpJr}6~Q>ZY*N>AATmaW&7aEQV*D`6%nT&KoYkTg26h>iq$lOp<}IGx5^hAnm)K79dM4OW)x2TI;`?rakR(K2aH}YPpRe>Ku zkoQ_2Q67OEgMMEIcd_W7ILskujmAE_PrC3g?MbpchP||)c%zS0ju4dhuEQZ+RglG_ z&Vt=PKI2CZLsek~zK2Hy0(C43k*7TdBxv^=K&8 z{*at4zn(es9JWksG>i;*O41B8-q1QbA701$UU@1O_^?LT4Si(29A)%q3K)WgJ}rHE zwNL3vuU13ZjM`Wg-$h+e6lRr-Gg*FCG3DbXPl%1{pPLUfpi_s-U6*LC>+fLmpwi}i zfT&Ye^?>Ir&?Za-LN%F*?#JIxL=<#0wQnTYep4fo<;n-!8bhhA7IAym0X62&G~e`4 zj{$4)3KU1nfq}4bco#~RWz6*7#cyFMq>k3Zxkdw{5{GHP53*Q7QyE& zyE%QvG!e1-9E+-^p;^cTy_c?`Hjo2WgRP6lhu$}>@}$qdU!UO+}!mB2Bm$aD=eQTr5`-r70+_%V5iMpV;eZ# z+$q5UR_fQXE5NwwTogiT&zqSSh-mHbXXY?vLybCUpc|vYY}Mi)M|5U9<`tUWlzejc zl-BTy66}|WL{IA-S?w#>;WjZ_Gv6qPnTeOn@QA}=I3TJ6KJVnElJc#*;vTXbd?Pk% ze#=fZAGKM+>Teo%;hL0cvXpjr=FOCwa7Z*Z_aY;5{on%P8RAm5}F3QlrX-bYS@9#M@J3 zO)u<@EK>0+P)pDO2IYn~51se{G)oY8B=>!@5=hl}% zL3i_7_KR3RN=-6E91VXUo=PuBKp4BtiAt$Tb*Vwh>#p@+$IzW^{Z?I1i1quG1yc*VNr->X}EbG_F+La-t$Z?8f& zCGd3RQ(!q{ zV_0)QtgC5667v};2PW0^YbU?*h{!=?HfnPEE2()`ZLA| zuoCp`s4TsB1{;^Njo&+6Ps_L^f>5Ee;{r=w7-O|+pt!*Xux1Mopr1InF@VMMu83AO zL$K?1DkVwQyLcoBcp!*Qk{!Q(Au*=Ux|7?5hz_0nohfvdV;hA>Mpfg?NaN=vjP=vl zE^x!Y@X3+yZ1H9Nhh!qLcBH3Wng(Q&j-q~{-V-ztsl3*4$RK^Ch7tC#LA0|+Te$HT zJS6Tu+Fc;VORI>Y5_!I^FbL+3HqjloeoHQ2nyviobF?L^az0_lFE+dkv9~GBoo%r( zGVn{qB`J}NFEK~h8;UkRs4tN}+tA)AOz58PG`wLc)k-rHa&yn_M#1-X2=2F(On|af zIBvcXpZ<~%SKIwrqH<1S49`0nvAUH#kaA488(meK;TA`+eXW z*>rqhon5;o0DaM)qal;I5LK(MNtJJPgM^$L0zKJ8-T~`Fb?c~7A-Z0vQxVTJdKPp^ z7+twA=}bS!6-&3ZG-|f1_Pag{E@Vcz8ELk{oLyi+c(Ft2U8kkHPAthl#Q z73=mFz|ocM`o9>b{?Dk>KjRcTJM;heqnQ5TIvE++{%83Ac1|%eGyQLq^8bZ%ss&UY zXJUmmsuR==%B4 zbAD?HF7L)14yeQ9R}B&i(2AX%oX^x$PEL+Y$xDq)44s-#6U?7{Y#J*M%o()99e@^~ z_ZTQi`Z~Z5(&$efh`IV-?O(P^Zp{vlj1B-mJ237z&bj_)+Wzf+pfe!%P3%0nN&tCR zAg(XmsyjCT;Jw^Jz&fV-pVBS<^#LQG| z;J&5)1Gl{L?8-x}p7K!2v6-bS+CBP%5&%jC760?h9>1mbj86ZoE$wt|LDybXreC^8 z*RcdRw1b$J7Xff~wV>TE5&=4a$5y3R)1OOC8(bV-T<>39tw0qlDSuT0@F2g+-t>SJzr)r{H$V@- zCygDfSk%6U&&S;4eJwi;4z4wiU+kaNV_~=B? zzKMYu&^=$Rw_i6@RHZq78ug#)WS2T;kh>q5m+PdT(7I9nR=LMn{W+kY&Xj~htx+IA zmS46uKxp#F_f7Q6U#HC9?qImZ_Mw#I@UPa z0ZQoTN_HUZ)V@ME0DG$JjLZR_J}UnLPD#VX*xFJ0vwQpiNQt2b?Y@pr!s@eq+k9Z( z1Efv=h;#v%KK|zIUZv6g_*Vg#?%~J5_F2D!8-p`weFJg=Os)6{$O15*!HpFh@r+mO4xktKqdY$83`KQ?aYHIw}|7@52p7coA z{{a6h|CUSG|64Bc#{4Q1_=$ff6FB;xa@rer9i6g@e-|D5`k(Qv-d!)<&eryEbi=0J z-}e>N-@m_}Mgao!d7J|efrXrYX);3Ur#jgb0py1}L3=dEIj&r^g|`h-sh_}5)=)M! zu45&W)#ekazD>s0n7fhc9GnVYA~ExUs%+BjJ{dUbqlaN^66O!=nY!Lc(`J zQCLKuzOysFn*A+t*L%EiKuKn5{(6ECSX8KZT^lIktFql_4~F4k=Vgu%B{3@@`=HGNXpEP|-Jn4@d` zJ!}__Jdd_0X762advr-&0=o=3XCLnm7KfZQJghUX#iV$y$+OHfzL3eZ;P35>HbyS9 zo*hh7D>ppZEjC&wjxAMskKL69XUB>6!ibZ4f792 zMU>Dgl!2~wAWtLpk|S2A4Zi803P3WpZra{tx?X#qtCo{BzOUnFHHBQZ9M{J7{E0~} zxoygAGmEl}g7EriL=ZZXM}Kj~d`x+g`YgO$>V!mk^=}rTI1$GaAqeNd{^x=TM5m(y z)maSJ8$aCe(%Q&c;R+8;jHegBI$)m1FJx8fWPmUr;pyGh!y#k#!w^r8k*%OQ2yy-` zn|blPp0DRa^bSNpXurL7{gl}Wyt>RGE!UkfZev(fm>d%yUtfz3@o~yuYuxUca&i4( zmyr2p;4O~}fkIxkveQhAw#aJcriLcSNwU@qk0d*+)9#}dj9QIerX2P1$ZoVe0@>|3 z?yDHl8&9VkGx*#JMWL7R;$KV_LBXev41#Uw>7PTO&=(cFRvt1Nc$YsBoIaeS9_J;^ zgz=@yx!0RJv82YC8bu9`R3a2OROE`9CW<^^J3rHwa?MryL!rpOh}d2PJPpUx78dRZc7`|X$gjD6ETw{j{aDXQXGx3qn*eJ0M z#_Ip7G7ZhOZZ_{(q>5Gm5R9AU4WPb%#;=={_daZi5Su&s{)wenP!IlS>jsd!I=aTjKZ z#|X6lBMY7p65Y}ejxK2#i!1rUHan-vx6$7HG0?Eq&Pl%;G%X==8}iW_S`h@Q>cYs_>l zYygYZ^x?j{7wcUtg1PCX`+fVSU=$A4z+>NTH*72o?TU=m`hja6=HW+L` zu-IOHb9)ejT1sptW_k9z&x>A*{Spk%G0z_Pa+d9-@69|&7eDyg10kC5h(!TjI-uqy zmg^haNNXb0!cuIKY&n!s}0^B%mmq; zrYT40U%Xo_@@zJGpwmci7)W#_7YN?UwTS2nolR@T(A69@CNFh5%C#z)d&={K>Q_#O z`uZy4W_x0P@5AB#8>nJ=(syj$F+Aq0AcxU6S#riIQ(}5k7_OzOb<_r~@ZL;Lv9B+k&3`_s zBd#)T?^HdaHuH-oZLG<!8( zOrAj=t&GrDTo8SAa>jBf0Oxn5eocdtB;>X%by#kFn`z#cUHSB(M?_M3UQBj3(Z2rnj8IFsb#hlBzw$0Uwr^v)g!Q-0#{NSj1M-_d+IBcUIGY3M8%75tW~;Ff@Fc6`{meSrF(~ zbTVTd{F&Fu%Y0*E0bek0mUj6XBVVU6QNK68z=R+sEY8)MW2WgY;Uryj2m^RlS_$!` zS;TGs$ArAIHDg!ka|jJL9o4h`eQ8>7K>jXV@eYq=K8ge*a5ww;_xZqgh!RZ=$2=9S z6`Q0d3(3)P<{HW^L~0?0*mroW!?mcK>1@O`atZm)iEy<@bqbf(SfpIMjr1`J&>qD8 zHgZ~yJ*Y$j>Jm-73z=4*wZhkDw`X%d`8J!0(aq=krn+&YvvpF7p2-Z?aW!aBNc&pH zoTSifRiLFoVv9fLaZqwAU1k+_GWP@){RtoSl7iOr7Yb2L{KpI@3@;sSIoBH4Yuh-C z#{Yc|f`{prUQyQ%=L`4;;X`?fl(CN5q|XIh;2_Q>s3qhGKlaUtmtb5mSSMBp0Hg!= z3Gildag^4X--UTx<#8=v=r%l_zDl!DSv@THip5n9+w&@$UZ7Tqw;4-O+xK#YM@0ip z-;0(7zw!@cPRZ=@2ZOu#PJh-tZ_$+ksYB9^F+;d5rNXrumD5RoOT?jSgynPctWuif zGV4S}_qR{U3!%?(AqJLo7|2~qC+L|@e;!wcpBG}FxW+ET32pqye-#VuWLpZYYGAPN zUdLEJ0W&Cf*3lyqF4_38_n@2r^Vyuukn!r*I12r0vL><(;)BC#ZmYi*F*R0xiD5OI z9hp>uVsuQhz83PSk{4mtyg%qMfImlKGloXazL+}r%lfH#r9If2^=bY3qOD6eW_V> z5U0lWjj+sSP#i3Zpd?t}GGpImQxDI#&~d8I?ZY=93uJ;K`k= zI(*qEz+KPr2B~D>LFjOzpkiifzb6r?I&kP|5#4<%o$gElt%{G{l3~lXkPm}etD=ly zoj>=@bcqr67U^oU;a_!Uuem0FXikaU|M`;yt>b&UjzBGT^?BSd`y7jlz^0Ivhi?-? zy1Wrv!TP;3!mI86@Ln}ILZr^rL#Er$KZn#+bAb?5ja3B`Vyv}YFeBb@acD%uc@0ka z=pWSkr7r6QnV$x{&MLr{LoT1cE0>@B-CL4Ev3<3h+HK9+<9~`Y5dl=}M+mJrdKo4p zAXg}Tmo$pUJ%R-_%MYqL0`$tW$Yg$X9`po$TjT+saWV5Tl|I!*nx8sI_*L0i$+%2! zK@xd7dJI%T0;I4sHPF2$Glc_`c}_=ksfe|&RlJLfT+A6U&vs-WT3~M!PgWj^H=Qio zWu3u61UdMyvnrgd@%a-M(RhsN6`I$l`FPp3u^BIls>T%`NNQ9+6W5*b1raEyQIj-E zum2fE^Wyzb<>PBC(B3~EVOlqMsW0Zec=2Qe4inl7#fX5IJTYH`oJx9rNq?bxq&gv> zlOGCM4M#efxEEiXR%g|@?}EaSsV(SR`?!|ce{oq=`+ZgB)x*D{+6xuU(K;E_(YZncrr7xS8k^-SF8z^G*;0EXdUz)Y0hnBc1bR*l)WdXfX@=}P z--I#hrfaG={)!UIHs-y&Qe+XqZ+nBlD}D-Y#@NOGb-cTPTt$ z{!n~}8ks=imD64h?gq#FR#fbYG+%?ZF1_|ulCWU*gJ(?({W->&Z!eQs);(T_bb537vN#Zr6U#OqR4b2vWpsR=Br_R;d%oaFkH@s4q)Oh8 zG^f?n$66s^yUyS+^!YUj>b5Ht8fKYr4DmdjBC54GLS>#_>1iAtdf*hT|K7?kZU;@!N@gKt)#o1g{m?p8C?@1iVn2R;nO`rWS z*1KU#32aYXJ;hw%Xoyi{q-?*K7K~FtAxSr8ccP});cP%eF+wC&Vw*#)FNrVu0zgG> zI`T1zj81qzUU&Zuc6>M`lFcN*a)#1t7E>n4u2Qk#vj%K(ykZH-Gz>eO3QtMY_XyzzT@)qNFTKr=C?6U~HGNY&=5H!iT>CmFK@2t&s7|794d*)aM-MRiJn| zU0kGxE=T!g$-8Dv3Z;NoNyxGWEN+oCI9535FcBCfoA6o^sto-uZ$lW9_039|zQzOg z_Q*y%QIHs)yG>N2LNf_@VZx{%3j}oNX$vxg(%$^-kd=5FCkm3*)1O2#L7QrCD=Hfb zLxKBynoNFWr3%{%=f-x!^1qW?HgP8vuhhTR%Ux_&Ps++4dFwaV#UJ7lT zKA1k0rDzp3;-A?q@xtW$BNtEkJB)i0F2(!&!QQD5bmAnE49Dw)p%{=p3}wTE{8^$* zBpLBYs(EAT7gS-g;5^)+Kk9u3oH`~AQ&DD4ZH#WlVdeFjr&TWRe|~zdS8f@mdQyU& zfL}Iuq6)W~7xSdA6|-Yhg~Q1s z5>>t3lL?_$A5UsL$P$I>tYRXi=SOMzR_#@kV^-t|Ik87b8B%0d2%FjDw$4JS%B|5o zG2vP&R25yfMMR%;t8@pEJ3Lr6C%(XCnqG$=zmV+>>n(UG6ixYyPpp)XJZgX)@^G9V zG8T=)6Y_*n0YvNB!=1kgH4I{;L(9S7FU&Su-@GQ}Av+pw$amVfYL*8u!iJ2h+J(D$ z)s!H;hZp8p|6zx+`X_6XDUPbB^6_y{w0l1zI4^x!oBE|JTD<2`wH!EOV)iLRS?$HT`b*XJv3phQbcj#eS3(E5mLMCbz4NfjmR1#uP#Rziy!VHG@6#R|Zv zD(>c|vgk0Ny;2}yw(nF=r7qrW7w=H`=E~J4tu`Z_lk(VYXplt75}gaOZ)4Efs{%-` zNQ-}w%m32!=onW_#W4kyIkSZMYv*u>keJ<^?dvN~lQC|l$goJ6$3`$Ll^J{k$W5DR z&OPWX8BkqkCr6)oGBv9OrKd#%3tZd&JI&x3q@lbJ2pIj!`9>^aLI< z=MTy|z^Ltoi~p&>`h59If!(cGHq5vl1D=M0-gP9C@WY90**{d3lb{#|0yuB`3y)-_ zUA0EUkMsonj{hf%nNd26*N4CesS`Ug`kI}CNhl58u21l-o4#osZRSu*Oe+2QL;0@Gl za|RBZwM?UuZVds=vL=OtrYI9G`;i3W^f`;vx|=!1NCHa4(4`{~FM^wa*T$QOv+bR& za4M`M{du>#A>gU(dYo%hAaQFvy#rw{hv{O~A61oB^uTSL?+o+qX~`!yw!w56-;THn z9FoG%10Z$JzVTvaoY7k^cqG9(OqZ?Z&QwOPZdUR!*G{GV&au%=&pO&9mKO_z=rlz@ zC&G32v?Tz1kZT@yxUalX`oiuLvL5oZo4b*dxDT3bouHl0Uvr9V;_cW2VL446W4 zyP5U@pn@FyF|>B7Z1_-qdr};Lquj%x8+_p=9h;qG*#GkE&_P8x>uLVao#KwAe<+dV zwGx9c61N#G=mtRls%%*>6x9ZbUjWZ>r0KpEX3od)#TJ00j4O>;&_aWz04F<_ER&Ki zAF9v$;Mm=03z881dCm$t);~R|uyt9d){QcuUQ3tFI(P+N*=R6?OXsZ*xCv3sXS`?h z%=+ZjP`lgDisUjR4mC+zCt9T5*KV%R*+aDTEmhj209HQTZbujtw#CNan;&b*4bAP& ziH;Jo!Jce3cqcBN)-H{YJpM9O6(2I>)kDKdplx(i5{gA7sh;S--3K15q5Z5pw*^L$ zJ3EGi6V1Cr(V1`rSu0rsT7^9543HP|#n@s9Ta{-p3{msc>^~37Vew=i5Z^-9PjfDp z5Da-fSSuj8a;k6we~1?^4B2aMWQ1TND{mB(a#|Ohs|mwjpy)VBM?Ge?o!rAaq8#s< zq0NPCKL#h`OHo}v9;;hlIn5TF+V0a=q14+R#G&({04Knu49?Ra1%=Tp*TN7Zl6`dc z)g7llOy=oi z>(VKP_Lq_*jhED{0+75%w%#)sT91xz2l*O4Z3A`&O_1M8%-nY##^dg5gB)Hm4jrmz z=fURZii@L^*+tTX-(&m5_y(3u?ag)+I(&u6(Rm-&72~KH?(TRCRP1LknD91QjNPIi zA@3Ev7S(n#^=(Ox%6P30En`R{i9x}# zN*E7<#3B&tmR_WXeCcfL!^A?N$ImW_I^;SsEix=)T8lp?rABL6VjN36q>$hU3d&q@ zlM9Oi4s+?>p1Q~TOCCBk<;^Of4*#Ni$%qCgH9_UtqQpy@Yd&a=H8GUSck5ZDZdbT|}=oKee z!>zb73;+3D1$KTX>5k0$orT_SvPmFj>I&C_4MJtCU1?1<5t6#b(iT%1e^qU0$D_m3 z_54_Pl26vZ$RkISs1O-=L(9^wX1Kfm>0EvxjN?a*|C!VwW%4i?pDLicetai~hB>BO z;YN(}i?`}Z##FTUomNg(|U&XFdIlSy{#P(*w{~pML za!$@%EvuQVY=GnqeD`n`+4*q(Hlv&Wpwc)XRl=p)BN=39lajl1oD2uBt7*{Jo9hM> zv9va-qI^HQWtk@oin8t2qVprR87}fBs5l#O35a}(|FQ7Zi0)MLcc@Ds;S}XM5{br|Et`I$B$OKAE*7!68Z&&$44bEkx=4@_kJHsin5ehFLe|=* z>1Z3EhnNrera4zEp7+ zx-y!yK$GGg%_}cBmy;%y=B>#04GJTr&prX;_A~AC6gasmumIYG zXM%VeN#xXD*fEeW5U}?v)TJe*xHvwlOD`=Nl^ZH(+3KDmx3+6>VYua@=6s#>4!-RD z>g!OG>=~&jn~%+586_(=IiXBw|K3SuOmT;U&2;sePPccS+Q!3%gN-%Mg@QIPRF|Eu zXFZtacLt( zl({ejNla)+`ZSR9lS!&zGnsL0P0|(Hh$Z83y={)yKo{&_%3}Rw;uGjKhZGn5`6^-q z+#OLhkq;{Kpv3`;U3K?+Sq1&y<6z4pkVX#&F{p_Df9OlL)D2GShe)@Y=$9XwmI zTR3=EUANQt^pi$sRA1LN_^q7KE{HKDxrSZ5AQ~9aN(s%#75zzD8!}vI(5349`^LJd zC!Z$&pg1>+yyBFE*5X0+m8Oz&kHnWp;`V6t*zk)s+v8aQAxaI*&1__DnmlzU);|<; zp>^HQp<9F7otRz+ks_$WtqOPHUU33Y_~X5F7*cwzEC?{V!wmS*P0dV(s|p%NC39{l znTdW6%z88AQV&l3j3^Q8zZD4xN$pSnqsuddF2{VS%p&PF>O;4)QgguCFU-ZXoF_Gu zyJO}n_%Wt=SIV`T6btF?HjA$KYL}c#}7e2qqwL^1kv{W!6?q1!flSttwhL;%HCR`0rfBp zZ~&R4yz^&5Nua?yZj0sHaZ}y9Kxo%FAHlnJ8oRT@v&!8wR6Wnh%KkiaJ8^2IM9sIv z2`OB*;#r`C;-+DTQR^{6m7ji{7%TV0DePmo29|?01a2-AUdQ*XPIHiKJUHNkN6}8K zZB*U8;12OhL#a?{Y(H^@>4yy#;sXgYp@gzGFcdDEoVYB2#v;fXdUR6X?{bUuHe<=( zl~8VkeqN0r#OSXV{cUN(npHHt?R(sGJP4n7Z|S*7PB%a5jU>$Empc8i0fH$PJ=Fwl zFL*~Vy+Jt0RT=lTDzTJPSwG!;B5JS@3L@(b#Kd)~nGrc9n;+*|!B) zl$fCIj-VkjD^!$IT^Kh*A|qdVuX_wRq%;69UvH1R=CO{zQ1nkhgu|s+u@igBT|iHmmZNsNj<{7J>YQe z#Ujv+_nj+dg_Y32Z2u^T)?ZIAh~^}8R_-NJ+xy3iD4_{a4kVwx51hY$ zM@8!)xeaK_J|3kCdr7y+ouF$|y@%k@Y~uX&iU_brMxzRj zY{M;zHM(jeD0A*X1?kGJ=b8*sJ`s=aOwUk&;SmCZl$OM81ZDqH1pz@UujXhe9hXHT z?ihs_t@~+rPcW&@yEYa&b^&E`8xxL57`;&@dtkXgg*afU^69la z%XEf0V*-nhwc%6E5`hYPyoPqY6&M3^%A2c%LX@2PMp_uc$*@_NMMzIH8IEtNfxxKc zyFpAo;&0F~PH&*6IkUVq!bria>N0=vzWIYDcep)<1R*Q&C~3d9@oyKER0Y-p9}|8K z+FSP~WJ+$Kvu|@FinBv&YXVM<#k+KlT_=djUI?cM$kjUkYwU>cNvDGd$_I`~PDg;} ztL1_EgEuX!=dxg@7_@$h>8O+95LfI68?TA-m3B=?RDzw_q3hb4uz@iyq-iW>ck7p7 zW|@Zrq5@Y_sjkLl&KvJgYNfY;A-Oc|(Ukg(CWsvDWdTfy#=AuipB?nuprim$t)}T( zfTm_BhAywJttIsKKN{%1c0=2l5#dLxa7tjF+SJ8`C+1QGAZ#!U4f8YGuIX2stmC}Z z(bvZgVY*gRq2+R>!&%6&1ecAR*LnX0pGeijbY)*xfF-Hg9=RgzL$|Z z3)O$WrLy@=P<|hYSyQrvPC+bBQEmphGg$vXVhl+xVy#-G?3rV-AJ+(n|S!jJ3pv zv~gb-(R>gQorX+GI|G`_h~P`g!5K77aE#Ci59HOM{X)AjMpy%GGwB^KdCl$r5Wzi= zT|8!8XWBwlPhQaMP_rN@-28O@&2L`RK&9rw-Mbif`tG zntYdC>u@ySY&#|-2~~p!o-J*BytmrwCmxFw#r0yxp0)iJo?1d9{8s2^;2XqjL4kTW z(q4Wx_`UUG9+hPv%%{Qw?zBtBuj19@S?sYzc-ko(pK2NnpR=BBi_7!urltDQM%e2= z=fr6!8x*c&fQ9ibAZKe9ypHQf4+v4R`9U(5a;v3VwSc~uITOwghv!OmW6-&;XmCF40fZs>NK*63U9r|F}4Mb762TGetRlO)J97U+Q~ zaxVXRa!TE2g5oK8scOE|8-|RsmrOfo*|c^Ps+XX3Lt<3dV%?_{C&-L06)d6&J#?I^ z;{|8VER-H^(t0r8;-m3Vz6@rikJd}?9Vr~25jbMFY#0-G+sz1fxFv6b{B^M2 zOh=S{SpvQp>%42y=QULtrRh_%DEO{4?>+|HJ{}(o?j8UR9ct*g43r0o7#Tm?Ewvh> znxRqv?8Y7&c$v-1NIO{u3eQ=)7Z@&)msl>ub`nu_M{$tZdAInIqdBBU^0+PPkDR40 zR%IV?jQeL_K%Sr-N%a1k0-w#3AXZop$qdD7fvQR0r5Gs$+`Ux@-d{7S&IZ_vc0e!H z7inDC`YmaeBhzRG^ekb-eP7_zemR?dgL#~UEp|8-c@#6X+)u^fKof+9aN#G5;|4Ec z8BBC7;{po>V@PE2q3Q5P3H(OsJO~t@#X@Akfl}|zCeDiEn50I@qewq{Gd9hl|0U&} z|5DU@`Z9aRv1T9F-9RBYBY+=yT1r<~G$axzI4bxMo5r%?J0l9TP%_@&b%+nmkR?RHgyy$=a`uRo;7Fcfl7;aAR+A)8Q%mWeM3ymy~!#MJ~Q5 zbzS-0U}a>p`jMGMm^(eDVtT0rA>kQI7$g34rVDuyrM6K+>0}qlxatv9%A;9vECb5q zHal#kB<2jUFWUjTWnFbLhxwb^A{%vDE1Sqhxx?ecaU(}LaWkh2u2IOMr;o$Qflqt=zEvWTaWe}A7?;#X`R21WIg^z8)eAv;>-dRGZGFfkJM84l1bsx=?Ug&e3{Q%(&zQ^c;J&0%Df)EomYN$5(Ez7Be*yX8^FjqW}of` zt-)d<$W|U*Ej{Na?0`U%fQR9d9>rYC;f&&59JB-YyA;wPO*YfvelR}7-Zeym3z%is2FdB4$6itkB zMBPBcRfZW?Ij#mFkz=N-7|tO= zS(dnbsvpTt;C0|}r`1vU4Ep>ITb{A1o*y6N`Z2~Pc8{52>jWc+d*G$r{@lmemW<7< z`T;5E)F=Tlw6v1^%1TMc1*%ypDAIMYpYzZ0%Gl!p)6H)pgAWP~Apk$~~ zP#+C`cg+cgNF8zWQB_n6#92u5Dyx4<8}JhvM#o)^R|za>-m*U3rrf)lb!uu9i<~(A z!c8M1^|6xA5nc@UoyyS^PmSxT(RcGk)?w?|EjK?j`f-tD|3p^;`Ld1PH%`S}piE5U zh@l7K#=O8jt(W4vF)6%6QxZQ(EeJ_>v00v^4hdoowFUTyPM^_Gw8JghOe-_8{yPt| zH)b5yHs#GcVIg$vfHd(VITt;%#VvQKdAz!EqUn}N9rxOHFn)$+g4QBH`pY#l!Yl1Q5q1X>YQqQbK=6K* zh?a@xh&w2&7}Doal=Bj|%f_f}k7lhEFUf`^7pE8^aGj@7OB+qt%)tg}u1VPMSG(;Vx?8Wls3xplXlJto3_eR6r zPe+tJRuXxr{!^L5V4}DEtoTR*qb^m$mA2XWOBc=9KofC0ARWIL5 zNTyS8ik~op*ZEGeLaI6+%Qe+iB4IXl7Lb@r4Q;mXCW^5RYppY|g#7}jeFhWrqeRm- zICl}4LUdC@V$w7s#wLmT

RmEOMCsgMT^3pT#Gl();&ivR@4)Uxo)x$gb*J->LrRu zz;@0}3Krsq5BBY5XB4?)aLH1p@eaM#yG}R=NVDGvvzMiZ4*1sWjm(wHbUL4$oppccMc!i|k+Zw`sipbU z<6=G=FD>Z+jXtHmYsFeZ*hWT7Y;HMqqnlRx?e7_XNg*tJ-ktSInxs6RQ>dOWXmGH} zY#=IUeu2*d^LGAAM(Dplwb_~f?@{nJDl&El3@BZvYVPpK8^FV^;y@}v#-~CDbv7y$ z%esV&+v0I~2yox8m-oc(>n{LU{IR)aSN&Vx?mBYH+cwiA-bYu{SshM#=@KtaPB1q& z4>er)(%d}QN|~Nnyu9_RJ(Vk_`mgI$dd<^!`s0-?8@X1@4L#%*kMm7Afj(>Bo$tKm zaNT=}*X`@@GTi%nJ?w)!jy;*CEhDy;Q?&0UA4-eOa?(7GGdB6=msQ+-gOq8y&UNQy z)~ih}eu#rDacB_Z7bRG9#IHKIR|fj`ACD|)gB9B@f*B3xnb|zB-=#`#2-12V8&5Ky z{Wo?=>*>$$?pxSp`aJ4%8aA#i`OiOHoEZNgFMG)kKOQX79rXk%Dr%XF4od01i@s?D z$KK-$4ccHO)xVii=EJV+ipWyOPTs*(nqcKHv?+{GTZUSF#%1LUt-*Co90h^Hf>_Xz z$j4A<;1+@7Btpb=b3*x{n%Zvl9ipJ)-pb0~>rd#{Jlgu0Vn&o6Ff`?Gpgbg10cJta zdtt77eT)XHrwxr-(AkROtBKM>jC>eozFmDBuZJ*)2lzi@ly+8o|1Qc4;(!K(e<4BE zm(V^#o&jEE);|?AjXC5Q!_frQ`8z-u8FT^VE^CE5>T%e9IERaJN0h~m*xyT_SA3XQ zI^_U$Ag=$g|B@VNi~UhtWHl9lJaC7rCuoOXNEw`;&^Lw;^4!_2oa21RgKFQYuxK_K%ExwT>Qq#OkDcnJT_JonT9J=E zqM;y9Os9+6_vW!EVw0!*flV%B_e3JH)??wpD#!WkvB->1j_bi=p?)?|);s5E>r{f? zJE!U2gN;*(|4hAlECkOc()r{t-8?2i=9Wr-@R&4SX1DA0d=?+t3~+n;JXbjFZi3JA zw%p_oBCj@`eEfs?5UaMwdX0_t!ba&%?9typmdXDY$^4faJ^ufZ%w~mhW%nP$j(7q= zLY$A=)k87+|Bqxe{vXLK|DTfiVk%*K=J4_~r1w#)p8j9$U58T>+ZvamXh1*&3@t8* z1O!3|C5W_8^5oJx7!ei{nvh5c5SpS=C2}!bE1vz6i}l-;)Rd08hY34 ztGk<7!9=fl+e&S<<0FV4jTn|%#iZVfx-^nkrgCNf(RZSsHCZLIV{kdx@#$LY>fmQm z?&HGdDl*S0X*FlZ8e8N++zccJA8fZj;~KM^|D$XLl@%!d2l#ZU5wIBj@YFIV?#n-C zBlZ^dM+IyZMtN`K#*QX_rA)$i%H*!I&ITdLhid7he z#&mDeZxb5$%yHZ3jDahQ!~(hN-P4~S4%K|NVyBcmh3ngEqn}vYfka-=H_&)@(q(l~ zQFynA68{i)s%aedbY8rnKu!IUNAOh$eY3cDt7%qcEUdm2mE2*w3U#)Xf>2L7bM@~% z)OujC^`hsa@_vGMov8NhlyZ1xf@dVM?=$sc;8LepM?3ugl=*=&is4Zob||wkpj-2u zGUDGT)6sc>kCxLje)v^$QNn*yMiu#^YK%3Rgb(&4kOBE~crSZ`v$85e9f?4xD?n6? z$OMo=V&7qhzq`I9qA^Gz0P^gg?nsn6QWd49s;P!lM=K*W;7BB#oo7M9|18Cx44ykj zzym5+&_9R(QL(l+aYkT+{rx>aB5?7*_AY}^GG8Y0lM}?qt3HmM@Nh4}C zhEA8Q4lNKQod#m5NgN`R*)_3-4?>|*D{bOKblK26X=KdP0uF_2;I8ShvXhtZg=A4A z$9_R2)VUJ{m+#0M;KJvh0D1;jRtoBa@iMy)c0sJ~Umv%HSW1+*pEgju3=|yWwJwk^ z3ch$NoyU}~gwr^>@!gP+{8#mu8A)y1VEP?yvb_96uvwIJeu&wsA0z1rVeDSILy z%+^A4UP5~c>1=<6ceU7Hi!*GhvDoRJ_IN<_;Ffk}K%z(j>{2{y^UEjC;}$vDyuy#W ztD1_7m;|%-LmeVGf8Ay2sX;QEr$Ar#{q-z>iqY^b;>mu!f z7Mw#U!aCy(brqrLv`c|{`9vPWSKiA~r=gJbh2F~-#%}VE&SZrAG1~T1ES$Ks7TUp9^Av(Gy75Tl-rS1x1hva%ssc#bojoLEIrNSNP9`~WWTV_ zp_H=op0@+idnq=qwd*ntubZCi)>(EVEs$sz#9Ce*l>E5%gs)#(!M&>Nt%lC$a#Ni< zd;2PV_SF05XNJ6RGnk^1HyiJGd26kgx(BAs;0_KpFf9AZW;-H7&IpZfyjYzKEx6Ue zl)TFg^vNYTKhv-5>#{7Hr)N)gd#w4Lxi8*Q_y93|r-bMnQ7dou?0o5H2H9pitC;8n z1!i6x8u5Ho_c~JRIZFc~ATaL;mf%LWjq4b1hIPSC|87etzDn$brwFs_i^ufBrCyg_ z#3mtxDYD!KEUGcp2m0&9M!a-(V68~CO20bK;* z?ITj)0o(IOkEo%f;Ri!M$q`qa0xvpAgnXVGBD9oPifb=W+WU#FjNH*-N}g=fU~&!@ zf}w062OPCar5zJnUmFbO9NO0Du6=*sz`NLh>D$WIAP}!qT&SLQ~~xD2<)IOi9}%scZ7CqcS?AX*xpW; zwc{BBI2~0ZG*V3!tA)a#F~-M@(P(3op%z91i#9RFV6a$}9`N%Nc0J$Jd;Z<3{||EA zQoRk9oFFuIVmW#|j&FXKOoBWT$%Uw=NfgK4jZJS3byr$6S2C}zM0J=|R9D@vsH>}3 zhtYD3R;D7XR^cs~thR?r9)T%slI#3SJdF`2>lozOa9gV(?xB%6 z-y4SS40Vn6;roY~Q`SNa)+a0!rlNwcqs~dpxpv#}#|}1eHps)u%kDCiC{e7$aOrE$Oe9oja|4SKhK0% + #2\expandafter\replicate\expandafter{\number\numexpr#1-1\expandafter}% + \else% + \expandafter\@gobble + \fi{#2}} +\makeatother + +\def\compoundfigure#1#2#3{ + \begin{figure}\centering + \def\row{\replicate{#2}{#3{#2}}} + \replicate{#1}{\row\\[2mm]} + \end{figure} +} +\def\imgfile{../graphics/none.png} +% just graphicx +\def\figcell#1{ + \includegraphics[width={\dimexpr (\textwidth / #1) - 1mm}]{\imgfile} +} +%{subfigure} +\def\subfigcell#1{ + \begin{subfigure}{\dimexpr (\textwidth / #1) - 1mm} + \centering + \includegraphics[width = 0.8\columnwidth]{\imgfile} + \caption{subcaption} + \end{subfigure} +} +% minipage +\def\minicell#1{ + \begin{minipage}[t]{\dimexpr (\textwidth / #1) - 1mm} + \centering + \includegraphics[width = 0.8\columnwidth]{\imgfile} + \end{minipage}} + +% grid shorthands +\def\grid#1#2{\compoundfigure#1#2\figcell} +\def\subgrid#1#2{\compoundfigure#1#2\subfigcell} +\def\minigrid#1#2{\compoundfigure#1#2\minicell} + +\def\setupgrid#1{ + % 1x2 grid + #1{1}{2} + \clearpage + % 2x1 grid + #1{2}{1} + \clearpage + % 2x2 grid + #1{2}{2} + \clearpage + % 3x3 grid + #1{3}{3} + \clearpage + % 4x4 grid + #1{4}{4} + \clearpage + % 2x4 grid + #1{2}{4} + \clearpage + % 4x2 grid + #1{4}{2} + \clearpage + % 5x5 grid + #1{5}{5} + \clearpage + % 6x6 grid + #1{6}{6} + \clearpage} + +\begin{document} +% plain {figure} +\setupgrid\grid +% {subfigure} +\setupgrid\subgrid +% {minipage} +\setupgrid\minigrid + +% Side-example: consider manually adjusted sub-sub figures as in: +% https://tex.stackexchange.com/a/78100 + +\end{document} \ No newline at end of file diff --git a/t/structure/figure_grids.xml b/t/structure/figure_grids.xml new file mode 100644 index 0000000000..1dad3702a1 --- /dev/null +++ b/t/structure/figure_grids.xml @@ -0,0 +1,1608 @@ + + + + + + + + + +

+ + + +
+ +
+ + + + +
+ +
+ + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + +
+ +
+ + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+ + (a) + 1(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 1(b) + + + (b)subcaption + (b)subcaption +
+ +
+ +
+
+ + (a) + 2(a) + + + (a)subcaption + (a)subcaption +
+ +
+ + (b) + 2(b) + + + (b)subcaption + (b)subcaption +
+ +
+ +
+
+ + (a) + 3(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 3(b) + + + (b)subcaption + (b)subcaption +
+ +
+ + (c) + 3(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 3(d) + + + (d)subcaption + (d)subcaption +
+ +
+ +
+
+ + (a) + 4(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 4(b) + + + (b)subcaption + (b)subcaption +
+
+ + (c) + 4(c) + + + (c)subcaption + (c)subcaption +
+ +
+ + (d) + 4(d) + + + (d)subcaption + (d)subcaption +
+
+ + (e) + 4(e) + + + (e)subcaption + (e)subcaption +
+
+ + (f) + 4(f) + + + (f)subcaption + (f)subcaption +
+ +
+ + (g) + 4(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 4(h) + + + (h)subcaption + (h)subcaption +
+
+ + (i) + 4(i) + + + (i)subcaption + (i)subcaption +
+ +
+ +
+
+ + (a) + 5(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 5(b) + + + (b)subcaption + (b)subcaption +
+
+ + (c) + 5(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 5(d) + + + (d)subcaption + (d)subcaption +
+ +
+ + (e) + 5(e) + + + (e)subcaption + (e)subcaption +
+
+ + (f) + 5(f) + + + (f)subcaption + (f)subcaption +
+
+ + (g) + 5(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 5(h) + + + (h)subcaption + (h)subcaption +
+ +
+ + (i) + 5(i) + + + (i)subcaption + (i)subcaption +
+
+ + (j) + 5(j) + + + (j)subcaption + (j)subcaption +
+
+ + (k) + 5(k) + + + (k)subcaption + (k)subcaption +
+
+ + (l) + 5(l) + + + (l)subcaption + (l)subcaption +
+ +
+ + (m) + 5(m) + + + (m)subcaption + (m)subcaption +
+
+ + (n) + 5(n) + + + (n)subcaption + (n)subcaption +
+
+ + (o) + 5(o) + + + (o)subcaption + (o)subcaption +
+
+ + (p) + 5(p) + + + (p)subcaption + (p)subcaption +
+ +
+ +
+
+ + (a) + 6(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 6(b) + + + (b)subcaption + (b)subcaption +
+
+ + (c) + 6(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 6(d) + + + (d)subcaption + (d)subcaption +
+ +
+ + (e) + 6(e) + + + (e)subcaption + (e)subcaption +
+
+ + (f) + 6(f) + + + (f)subcaption + (f)subcaption +
+
+ + (g) + 6(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 6(h) + + + (h)subcaption + (h)subcaption +
+ +
+ +
+
+ + (a) + 7(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 7(b) + + + (b)subcaption + (b)subcaption +
+ +
+ + (c) + 7(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 7(d) + + + (d)subcaption + (d)subcaption +
+ +
+ + (e) + 7(e) + + + (e)subcaption + (e)subcaption +
+
+ + (f) + 7(f) + + + (f)subcaption + (f)subcaption +
+ +
+ + (g) + 7(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 7(h) + + + (h)subcaption + (h)subcaption +
+ +
+ +
+
+ + (a) + 8(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 8(b) + + + (b)subcaption + (b)subcaption +
+
+ + (c) + 8(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 8(d) + + + (d)subcaption + (d)subcaption +
+
+ + (e) + 8(e) + + + (e)subcaption + (e)subcaption +
+ +
+ + (f) + 8(f) + + + (f)subcaption + (f)subcaption +
+
+ + (g) + 8(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 8(h) + + + (h)subcaption + (h)subcaption +
+
+ + (i) + 8(i) + + + (i)subcaption + (i)subcaption +
+
+ + (j) + 8(j) + + + (j)subcaption + (j)subcaption +
+ +
+ + (k) + 8(k) + + + (k)subcaption + (k)subcaption +
+
+ + (l) + 8(l) + + + (l)subcaption + (l)subcaption +
+
+ + (m) + 8(m) + + + (m)subcaption + (m)subcaption +
+
+ + (n) + 8(n) + + + (n)subcaption + (n)subcaption +
+
+ + (o) + 8(o) + + + (o)subcaption + (o)subcaption +
+ +
+ + (p) + 8(p) + + + (p)subcaption + (p)subcaption +
+
+ + (q) + 8(q) + + + (q)subcaption + (q)subcaption +
+
+ + (r) + 8(r) + + + (r)subcaption + (r)subcaption +
+
+ + (s) + 8(s) + + + (s)subcaption + (s)subcaption +
+
+ + (t) + 8(t) + + + (t)subcaption + (t)subcaption +
+ +
+ + (u) + 8(u) + + + (u)subcaption + (u)subcaption +
+
+ + (v) + 8(v) + + + (v)subcaption + (v)subcaption +
+
+ + (w) + 8(w) + + + (w)subcaption + (w)subcaption +
+
+ + (x) + 8(x) + + + (x)subcaption + (x)subcaption +
+
+ + (y) + 8(y) + + + (y)subcaption + (y)subcaption +
+ +
+ +
+
+ + (a) + 9(a) + + + (a)subcaption + (a)subcaption +
+
+ + (b) + 9(b) + + + (b)subcaption + (b)subcaption +
+
+ + (c) + 9(c) + + + (c)subcaption + (c)subcaption +
+
+ + (d) + 9(d) + + + (d)subcaption + (d)subcaption +
+
+ + (e) + 9(e) + + + (e)subcaption + (e)subcaption +
+
+ + (f) + 9(f) + + + (f)subcaption + (f)subcaption +
+ +
+ + (g) + 9(g) + + + (g)subcaption + (g)subcaption +
+
+ + (h) + 9(h) + + + (h)subcaption + (h)subcaption +
+
+ + (i) + 9(i) + + + (i)subcaption + (i)subcaption +
+
+ + (j) + 9(j) + + + (j)subcaption + (j)subcaption +
+
+ + (k) + 9(k) + + + (k)subcaption + (k)subcaption +
+
+ + (l) + 9(l) + + + (l)subcaption + (l)subcaption +
+ +
+ + (m) + 9(m) + + + (m)subcaption + (m)subcaption +
+
+ + (n) + 9(n) + + + (n)subcaption + (n)subcaption +
+
+ + (o) + 9(o) + + + (o)subcaption + (o)subcaption +
+
+ + (p) + 9(p) + + + (p)subcaption + (p)subcaption +
+
+ + (q) + 9(q) + + + (q)subcaption + (q)subcaption +
+
+ + (r) + 9(r) + + + (r)subcaption + (r)subcaption +
+ +
+ + (s) + 9(s) + + + (s)subcaption + (s)subcaption +
+
+ + (t) + 9(t) + + + (t)subcaption + (t)subcaption +
+
+ + (u) + 9(u) + + + (u)subcaption + (u)subcaption +
+
+ + (v) + 9(v) + + + (v)subcaption + (v)subcaption +
+
+ + (w) + 9(w) + + + (w)subcaption + (w)subcaption +
+
+ + (x) + 9(x) + + + (x)subcaption + (x)subcaption +
+ +
+ + (y) + 9(y) + + + (y)subcaption + (y)subcaption +
+
+ + (z) + 9(z) + + + (z)subcaption + (z)subcaption +
+
+ + (aa) + 9(aa) + + + (aa)subcaption + (aa)subcaption +
+
+ + (ab) + 9(ab) + + + (ab)subcaption + (ab)subcaption +
+
+ + (ac) + 9(ac) + + + (ac)subcaption + (ac)subcaption +
+
+ + (ad) + 9(ad) + + + (ad)subcaption + (ad)subcaption +
+ +
+ + (ae) + 9(ae) + + + (ae)subcaption + (ae)subcaption +
+
+ + (af) + 9(af) + + + (af)subcaption + (af)subcaption +
+
+ + (ag) + 9(ag) + + + (ag)subcaption + (ag)subcaption +
+
+ + (ah) + 9(ah) + + + (ah)subcaption + (ah)subcaption +
+
+ + (ai) + 9(ai) + + + (ai)subcaption + (ai)subcaption +
+
+ + (aj) + 9(aj) + + + (aj)subcaption + (aj)subcaption +
+ +
+ +
+ + + + + + + +
+ +
+ + + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/t/structure/figures.xml b/t/structure/figures.xml index 19accfc905..ad3567cbec 100644 --- a/t/structure/figures.xml +++ b/t/structure/figures.xml @@ -43,7 +43,7 @@

Two figures, and .

-
+
(a) 3(a) @@ -52,7 +52,7 @@ (a)This is a figure (a)This is a figure
-
+
(b) 3(b) @@ -74,10 +74,10 @@ 3 Figure 3 -
+

[Graphic One]

-
+

[Graphic Two]

3Collectively two figures @@ -96,7 +96,7 @@ and collectively as .

4 Figure 4 -
+
(a) 4(a) @@ -105,7 +105,7 @@ and collectively as .

(a)This is a figure (a)This is a figure
-
+
(b) 4(b) @@ -124,7 +124,7 @@ and collectively as .

Two tables, and .

-
+
(a) 0(a) @@ -133,7 +133,7 @@ and collectively as .

[Tabular One]

(a)This is a table
- +
(b) 0(b) @@ -157,10 +157,10 @@ and collectively as .

1Collectively two tables -
Table 1Collectively two tables
+

[Tabular One]

- +

[Tabular Two]

@@ -179,7 +179,7 @@ and collectively as .

2Collectively two tables Table 2Collectively two tables - +
(a) 2(a) @@ -188,7 +188,7 @@ and collectively as .

[Tabular One]

(a)This is a table
- +
(b) 2(b) diff --git a/t/structure/subcaption.xml b/t/structure/subcaption.xml index f7c4acc936..3d20c5e153 100644 --- a/t/structure/subcaption.xml +++ b/t/structure/subcaption.xml @@ -18,7 +18,7 @@ 1 Figure 1 -
+
(a) 1(a) @@ -27,7 +27,7 @@ (a)Caption A
-
+
(b) 1(b)
(a)Caption A