From 90aeb700ea5369c751b60d9495cef814d7428988 Mon Sep 17 00:00:00 2001 From: Jonathan Turner Date: Sun, 17 Nov 2019 16:18:41 +1300 Subject: [PATCH] Add from_xlsx for importing excel files --- Cargo.lock | 61 ++++++++++++++ Cargo.toml | 1 + src/cli.rs | 1 + src/commands.rs | 2 + src/commands/from_sqlite.rs | 4 +- src/commands/from_xlsx.rs | 102 ++++++++++++++++++++++++ src/lib.rs | 2 +- src/utils.rs | 4 + tests/filters_test.rs | 16 ++++ tests/fixtures/formats/sample_data.xlsx | Bin 0 -> 65801 bytes 10 files changed, 190 insertions(+), 3 deletions(-) create mode 100644 src/commands/from_xlsx.rs create mode 100644 tests/fixtures/formats/sample_data.xlsx diff --git a/Cargo.lock b/Cargo.lock index b4d0da0aee..90b053ddea 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -252,6 +252,20 @@ dependencies = [ "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "calamine" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "codepage 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "quick-xml 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde 1.0.102 (registry+https://github.com/rust-lang/crates.io-index)", + "zip 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "cc" version = "1.0.47" @@ -328,6 +342,14 @@ dependencies = [ "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "codepage" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "config" version = "0.9.3" @@ -702,6 +724,14 @@ name = "encode_unicode" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "encoding_rs" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "env_logger" version = "0.6.2" @@ -1580,6 +1610,7 @@ dependencies = [ "bson 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", "byte-unit 3.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)", + "calamine 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", "chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)", "chrono-humanize 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1875,6 +1906,11 @@ dependencies = [ "inflate 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "podio" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "ppv-lite86" version = "0.2.6" @@ -1948,6 +1984,15 @@ name = "quick-error" version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "quick-xml" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)", + "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "quote" version = "1.0.2" @@ -3028,6 +3073,16 @@ dependencies = [ "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "zip" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)", + "podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", +] + [metadata] "checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2" "checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d" @@ -3060,6 +3115,7 @@ dependencies = [ "checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5" "checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" "checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb" +"checksum calamine 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "213df9241db37007bf06fb3da8f61f1cddb3badb9a702c62f4e80299d4d2982f" "checksum cc 1.0.47 (registry+https://github.com/rust-lang/crates.io-index)" = "aa87058dce70a3ff5621797f1506cb837edd02ac4c0ae642b4542dce802908b8" "checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" "checksum chrono 0.4.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e8493056968583b0193c1bb04d6f7684586f3726992d6c573261941a895dbd68" @@ -3068,6 +3124,7 @@ dependencies = [ "checksum clipboard 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "25a904646c0340239dcf7c51677b33928bf24fdf424b79a57909c0109075b2e7" "checksum clipboard-win 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e3a093d6fed558e5fe24c3dfc85a68bb68f1c824f440d3ba5aca189e2998786b" "checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f" +"checksum codepage 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8b0e9222c0cdf2c6ac27d73f664f9520266fa911c3106329d359f8861cb8bde9" "checksum config 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9107d78ed62b3fa5a86e7d18e647abed48cfd8f8fab6c72f4cdb982d196f7e6" "checksum constant_time_eq 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "995a44c877f9212528ccc74b21a232f66ad69001e40ede5bcee2ac9ef2657120" "checksum core-foundation 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "25b9e03f145fd4f2bf705e07b900cd41fc636598fe5dc452fd0db1441c3f496d" @@ -3109,6 +3166,7 @@ dependencies = [ "checksum dunce 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0ad6bf6a88548d1126045c413548df1453d9be094a8ab9fd59bf1fdd338da4f" "checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3" "checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" +"checksum encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)" = "87240518927716f79692c2ed85bfe6e98196d18c6401ec75355760233a7e12e9" "checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3" "checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9" "checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08" @@ -3231,6 +3289,7 @@ dependencies = [ "checksum platforms 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "feb3b2b1033b8a60b4da6ee470325f887758c95d5320f52f9ce0df055a55940e" "checksum plist 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a9f075f6394100e7c105ed1af73fb1859d6fd14e49d4290d578120beb167f" "checksum png 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8422b27bb2c013dd97b9aef69e161ce262236f49aaf46a0489011c8ff0264602" +"checksum podio 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "780fb4b6698bbf9cf2444ea5d22411cef2953f0824b98f33cf454ec5615645bd" "checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b" "checksum pretty-hex 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "be91bcc43e73799dc46a6c194a55e7aae1d86cc867c860fd4a436019af21bd8c" "checksum pretty_assertions 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f81e1644e1b54f5a68959a29aa86cde704219254669da328ecfdf6a1f09d427" @@ -3239,6 +3298,7 @@ dependencies = [ "checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27" "checksum ptree 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0a3be00b19ee7bd33238c1c523a7ab4df697345f6b36f90827a7860ea938d4" "checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0" +"checksum quick-xml 0.17.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcdba8c8d71275493d966ef052a88726ac8590c15a09968b32158205c672ef" "checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe" "checksum rand 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412" "checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853" @@ -3365,3 +3425,4 @@ dependencies = [ "checksum xml-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "541b12c998c5b56aa2b4e6f18f03664eef9a4fd0a246a55594efae6cc2d964b5" "checksum xmlparser 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8110496c5bcc0d966b0b2da38d5a791aa139eeb0b80e7840a7463c2b806921eb" "checksum yaml-rust 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "65923dd1784f44da1d2c3dbbc5e822045628c590ba72123e1c73d3c230c4434d" +"checksum zip 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3c21bb410afa2bd823a047f5bda3adb62f51074ac7e06263b2c97ecdd47e9fc6" diff --git a/Cargo.toml b/Cargo.toml index 9c64c77c17..556d68ed9e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -77,6 +77,7 @@ trash = "1.0.0" regex = "1" cfg-if = "0.1" strip-ansi-escapes = "0.1.0" +calamine = "0.16" neso = { version = "0.5.0", optional = true } crossterm = { version = "0.10.2", optional = true } diff --git a/src/cli.rs b/src/cli.rs index d12f5bbcde..d7d873bd15 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -297,6 +297,7 @@ pub async fn cli() -> Result<(), Box> { whole_stream_command(FromSQLite), whole_stream_command(FromTOML), whole_stream_command(FromURL), + whole_stream_command(FromXLSX), whole_stream_command(FromXML), whole_stream_command(FromYAML), whole_stream_command(FromYML), diff --git a/src/commands.rs b/src/commands.rs index c238b451d8..bf25e1bb23 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -32,6 +32,7 @@ pub(crate) mod from_ssv; pub(crate) mod from_toml; pub(crate) mod from_tsv; pub(crate) mod from_url; +pub(crate) mod from_xlsx; pub(crate) mod from_xml; pub(crate) mod from_yaml; pub(crate) mod get; @@ -118,6 +119,7 @@ pub(crate) use from_ssv::FromSSV; pub(crate) use from_toml::FromTOML; pub(crate) use from_tsv::FromTSV; pub(crate) use from_url::FromURL; +pub(crate) use from_xlsx::FromXLSX; pub(crate) use from_xml::FromXML; pub(crate) use from_yaml::FromYAML; pub(crate) use from_yaml::FromYML; diff --git a/src/commands/from_sqlite.rs b/src/commands/from_sqlite.rs index 7b93dc1633..55dff62a47 100644 --- a/src/commands/from_sqlite.rs +++ b/src/commands/from_sqlite.rs @@ -158,8 +158,8 @@ fn from_sqlite(args: CommandArgs, registry: &CommandRegistry) -> Result yield Err(ShellError::labeled_error_with_secondary( - "Expected a string from pipeline", - "requires string input", + "Expected binary data from pipeline", + "requires binary data input", &tag, "value originates from here", value_tag, diff --git a/src/commands/from_xlsx.rs b/src/commands/from_xlsx.rs new file mode 100644 index 0000000000..da6e3c883e --- /dev/null +++ b/src/commands/from_xlsx.rs @@ -0,0 +1,102 @@ +use crate::commands::WholeStreamCommand; +use crate::data::{Primitive, Value}; +use crate::prelude::*; +use crate::{TaggedDictBuilder, TaggedListBuilder}; +use calamine::*; +use std::io::Cursor; + +pub struct FromXLSX; + +#[derive(Deserialize)] +pub struct FromXLSXArgs { + headerless: bool, +} + +impl WholeStreamCommand for FromXLSX { + fn name(&self) -> &str { + "from-xlsx" + } + + fn signature(&self) -> Signature { + Signature::build("from-xlsx") + .switch("headerless", "don't treat the first row as column names") + } + + fn usage(&self) -> &str { + "Parse binary Excel(.xlsx) data and create table." + } + + fn run( + &self, + args: CommandArgs, + registry: &CommandRegistry, + ) -> Result { + args.process(registry, from_xlsx)?.run() + } +} + +fn from_xlsx( + FromXLSXArgs { + headerless: _headerless, + }: FromXLSXArgs, + runnable_context: RunnableContext, +) -> Result { + let input = runnable_context.input; + let tag = runnable_context.name; + + let stream = async_stream! { + let values: Vec> = input.values.collect().await; + + for value in values { + let value_tag = value.tag(); + match value.item { + Value::Primitive(Primitive::Binary(vb)) => { + let mut buf: Cursor> = Cursor::new(vb); + let mut xls = Xlsx::<_>::new(buf).unwrap(); + + let mut dict = TaggedDictBuilder::new(&tag); + + let sheet_names = xls.sheet_names().to_owned(); + + for sheet_name in &sheet_names { + let mut sheet_output = TaggedListBuilder::new(&tag); + + let current_sheet = xls.worksheet_range(sheet_name).unwrap().unwrap(); + + for row in current_sheet.rows() { + let mut row_output = TaggedDictBuilder::new(&tag); + for (i, cell) in row.iter().enumerate() { + let value = match cell { + DataType::Empty => Value::nothing(), + DataType::String(s) => Value::string(s), + DataType::Float(f) => Value::decimal(*f), + DataType::Int(i) => Value::int(*i), + DataType::Bool(b) => Value::boolean(*b), + _ => Value::nothing(), + }; + + row_output.insert(&format!("Column{}", i), value); + } + + sheet_output.push(row_output.into_tagged_value().item); + } + + dict.insert(sheet_name, sheet_output.into_tagged_value().item); + } + + yield ReturnSuccess::value(dict.into_tagged_value()); + } + _ => yield Err(ShellError::labeled_error_with_secondary( + "Expected binary data from pipeline", + "requires binary data input", + &tag, + "value originates from here", + value_tag, + )), + + } + } + }; + + Ok(stream.to_output_stream()) +} diff --git a/src/lib.rs b/src/lib.rs index 38f770dc21..d6dcee0f22 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -35,7 +35,7 @@ pub use crate::utils::{did_you_mean, AbsoluteFile, AbsolutePath, RelativePath}; pub use cli::cli; pub use data::base::{Primitive, Value}; pub use data::config::{config_path, APP_INFO}; -pub use data::dict::{Dictionary, TaggedDictBuilder}; +pub use data::dict::{Dictionary, TaggedDictBuilder, TaggedListBuilder}; pub use data::meta::{ tag_for_tagged_list, HasFallibleSpan, HasSpan, Span, Spanned, SpannedItem, Tag, Tagged, TaggedItem, diff --git a/src/utils.rs b/src/utils.rs index cef4aad193..66835ab83f 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -498,6 +498,10 @@ mod tests { loc: fixtures().join("sample.url"), at: 0 }, + Res { + loc: fixtures().join("sample_data.xlsx"), + at: 0 + }, Res { loc: fixtures().join("sgml_description.json"), at: 0 diff --git a/tests/filters_test.rs b/tests/filters_test.rs index e18f20be67..b31fe78654 100644 --- a/tests/filters_test.rs +++ b/tests/filters_test.rs @@ -495,6 +495,22 @@ fn can_convert_table_to_bson_and_back_into_table() { assert_eq!(actual, "whel"); } +#[test] +fn can_read_excel_file() { + let actual = nu!( + cwd: "tests/fixtures/formats", h::pipeline( + r#" + open sample_data.xlsx + | get SalesOrders + | nth 4 + | get Column2 + | echo $it + "# + )); + + assert_eq!(actual, "Gill"); +} + #[test] fn can_convert_table_to_sqlite_and_back_into_table() { let actual = nu!( diff --git a/tests/fixtures/formats/sample_data.xlsx b/tests/fixtures/formats/sample_data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1cd1b832a4a0390dd92093d70492298c8201f84e GIT binary patch literal 65801 zcmeEt1Dhq=l4#jowyiFkUAAr8wq0GeZ5v%imu=g&`Req!cV^yq@67uF^Ww|gnHeiG z_s&@1SX)*C7z7yr3;+TE0Du4>r!hCH8xR1X_v;b~00Kxuz{c9q$l6gy(aqM#L5s%K z$`U^h1c*Eb0O*VU|HJ=c4vZ;F*{ssRbigh7&^hAh7i!VN2xQA9oT}85$7UuzNf?0VkhHkp3#9!v| z%WHqf;$qT=CZ9OW<{7_eLa5m>jgCC}xdTU0d)`A)ApkP@eKaP6&|5MyqD-q4cJJ8n zMXIR>$u&)O0RDCvlxluO-l=8#n2ZE^SLpuMOsB{^Fl;(a838)+QM-#UHE@5XAxEIi z8Ai)MGKc8_V9ydKUT?q=S}+40swJ86kTd#gY zcj&v#YfboTKP?@`xA{nM$4cxr5?19Ofeq?`HD#ON80NZdsw)Tbu z>|H=yvV+Iq)7SR_M{KV$9HHf)L-sg6Oi*Kf0lp25zJnjwP)7s@+9XrWeNH8ut-f8g za7R;O+=h_$E{q$GI8%Vy^3cxON!v?CIli!C9-fd-A?>To^0q!1iNW3L1@LyB7qmGT zaEKVLW_Yh7bgX^+W8ADgSMi@~RrYtpum*d<+%F0NZz4H-m)lAEaE2dWs{Q#13?Tb| zDSo389nsyFG)sQzHT0L_>)0DvI?&Sm_4)r5{(rHS|Cd*25V&?=-Not=YY*(?}hu}PaKmU*_BJM`++!0M#{;MQcVtA8Cc=lSb7JiaO1rrjf z5IY!^JJnBpKuT>x|EUUao?qd-GPtIhHRmLLGTmn}sp$9{Pbjk9q^s^=PJB zA1mbV@}a9?|8TsLjV~YguSy~wBrAvaHF6080DuVq0qAN;`?sFB*w|a>+t^tAXR{E1Wd8iI+oHKLm{eS`InmMcIM@BzpXyi*o zdwS8{%UAs2jf+kvEHD4x1DHKCYklaE zVjqYLQX#P_^yI2ia~-x(Wnk3wO*rT}6qU1ao=21$VopgYS5#swYwz>A&w`8`sQxVm z+wU@7hnb&?O-9S)OBznox<|pFDrm&zJdUSAh2_2=;k)#sSU{NrxT)8xOy%rmofVu0 z-*}0}nS(q_D){MS9C~%Bagc5H-uCQ3(h3CVmU}aY`RR^(>3TAk$2dq&G(JJ9Ps0VU zPx^N=9`^89A}$1mLKv6)?|W}mKUo50I!oWc|DAZTFMdc|e%ap(FaQ9!FS+>=um37o z1xl;d`E>AJI%c1M&zb&W{Fun{`*qX8CsM1c5(OiGWU7GajZ!paFPEIbF%tD~>(t^f z#!My?V;S`8Bqy-uZp|tKheNL-_ zG$#U8)d9MdLJ=!(yX_PcrXot9V-;YNT4FG!YZ9SF_T%DINfJ(|oVXV6Gb8AtCl)v9E!K14&Q3TrAikLiT|A8(JwN? z&SSCcPs7#bRjwNX2bJgv<6OFpon0M$)>hB)R@dVumFzfkjH*bP5Q{w#fp^701!yl) zA@J3GDJ_aak_z#+m^!4{tTwM*1U=Iu+SZt$N{T~BgbcSl5x~WVfZ#p zm-2&xe3VIEe5|p|6%hN9VKD8eRi9bsKkgvUB~u z&Pt|mu>tGLu6Gx^d1J`M6%Iq3H$0^Lkzp}%0A3#0NBD8Dr8%^7fPX(Yjg66_s^#sK zUa8e3sf7dS55`tyaH-VFMmIe!)KmE7DOL-OOH69Grqh{+Uj59#AqS0%k9C<5)Sm=v z=4sEdS=%UiNI&w!CedkDsmMGti1_!Hq5DSK`bXVTZ3~SM62Zx_?++YV=7SA%z)0gV z`j+;b&Te^mX?(+Uh&7}jhy5W z#E2L>Y`^dCc;ILfa@-e}J^owW;5DQ@NBPnVD+B-l^#9Zi2U8;>M+e$J2d2NQZ-MHn z^{Ozu7wwb}{?k-5$|FCGn38w>dbB8iaJ&q8nb$`9lF zQ`&H^b*=_10*-I+WzMBGt=62Z5iIMW3}zmJFk$qp zBgEBrxOy9F{&LleZj`+o>xp?M?lHp1V&EUm>7J`uQzLh%zZlGLoi!2`_EGUKZU`@7 zp%fQK96ug9%hLC%e7$%O7{wZk!Mw@e>X0H|J}?wgi>1~VPOZU)gfDMz&)b46h>v~m zJU>}`;Ac(y3}}#CgY$R}5o^Jy+`$ZZAP2zdFsh6@N9zkeY|esF2~vnQ36N8%B4RGt zNqbS9CI@vTBVcTKpHhzL&5)D}DO@tc|LDtEC#{Q|Vt*nK7&2jK=-3oc z?LwL-LJZW85X1&$j)eo`kRa)zO{R7N8v!^$?ex~9Z>7U6oVirzzvuYqfeiX~4kRrEh&z)6RiwoLXix-GC-iWX-Yta^ryG zz$CpqB>;CYk;yS14|PxM6A{ESudG8`8NpBfHI-lKbRhAC|6r)3(z8o3@m{rlcMT`9 z3dpoGhKu1uh$n}qDQ8rfZ?KY|?_sca>id|3l+J#1dzl=?X|4MJiU(8c#yhlCTzi=c z#VP%J3&MTmjj5y5Cx3AQ+0|!qHGk^DWeG{C!e?***g>)h**71GfNFDYIsgho(bt@B z?oku;fePa$89m;xCvZpOdf(Fst8sM=F*dS`XaFn@?8_`RjOCl1v>czEOTnGye->LW zhAO|3>w*QFQOD;$n?dX$xOmQn!AF)r3+Rr;qOD-ZPPzP)v9x5ok$Q-rC%LQkLx3{Y zHB=4Hl9w~Rt`eU&;vN0|t@B&FKsh9yF!wpZC5>h`!Zq65+u%~ z6MJN@?F{JD{g!{kz1eKG#`KU|?fljZaJyEXkkTSH69Kr?dG&YaQGF&y-^{@bd`3eS z`*B}F)E*67Thz2^V$LCVU2vJ;P=;jpKsUe}BA8XZHIb|!oF$w9c+RnF?jMlk8Y8~s zg9{2#*qjhn;EaNq5So1v1gv+G$SbIgu3PlQXz&CR0nzxafYV`w;SA731KYTIh_D=C5PUyiAz8-hnuu&>1||0Wi|X3f zQHS+P%NxAJ!nhPv#Lu~5-q~M>p<SH~F5FYrSr9y`h(4-5t!?bg~f(c^M4Kh&s15w=@yW8dxRl#xCnIfy^ z9>@N;888B0CVkxTnprzkDo4?;q!F?ovw5*VQVwue5r77)YHJM$k9KeK^TCElnZ1UI zSae#?{J|R@laejiylUS3+XO zDLn17$zDM6ynr92r-AIm#&~EeYJPLkLey#Y^fwP#DNu3+;484@Apl<1X=iLUm4iSjimP z-zFn2lgZh!q2Q7|P853PO@Ws{{ft55BEfTmNoMZa6^ebr%hCEYF`EJrnzBD@#_Eh- zxQxlX2Gu}0C|?`&AYYv9h6$|DVlrrRM?PI z#xqW@$xw((LS<#>Cd32re4s5hg_RR=aeau-#uev*=qdvPjZHs&mYdO%L(YD;Cro#m zIX?&|ny7V|$XRR!HhoFz^2O8ID}kA$finc22%5NZx+4qrHC{Iov*^jM!6^6!*fy}< z<`@N1rfoILa7140V>b;)-9!ERCcP!CHx-;Wv{$MzX*OE$hqYhR;n0W$^Pz&I?WF(h;0M z3I-f8a{|FAIzw}v0>s{pl!ux|V^^El>H(X$>J6QbVirw%K8%gXi4RbnHLKj3C2MZ* z4^u34MFPGLlPye3bLnl^)#BI>P#&_aF*8i8_ylVMxsr^ z(bTM*w4YffW^Qi6`Z^YCn$8?oBHO?%P5GGxHbo5>IU0Jp(#SPn2h4S5jm_kHn%#NX zl)u=@$#VW-j4d*IU9wTVDpl{(it+iedh*+oi{oM5Tfu78%Zt&wI(j$T`tv3Ew7Kck z*|X}@8wB-XF#XzL6R(Oie)pwiLus&td(Oku&9Y5v{x?rs@$mK3{JikTv^A$#(X4)5 zdD^?G+OHFu+UXxZSWexSt8|?2J5_{R-8Js%K6V`(*y0-3Ul1MI%3dGrpK7dK!0E0V zms#H1m^g6H7gX@FAFNco)_Wa%qU+7MUp9JtAm6g(S#KVdW!j9_8wVe1qq}beBbUA3 z?B%7)?uX;v-_TNj){CihvFw0mNs;(ii`seDC1ykx`pl@>F_0deRB5M;k3V%OyuAQq z*FLel(?#~Po}c>cu38+EWw#-)8N5%LgI{ii+cvv$wRCJST|M+8MYq0O8^1Yt-p3f_ z@qJ8prM;Y&ymN8Rq+N^0m$RRiyqn+h)KB*<_Y*cyR8{;`Kpd zor^o1%x_biwqvE8_H-As7c7evh|cksb+ax`XS8!den6WpmW9)aEQ+4!Z9YU~w#sXyIpbthsVYaH{$ z1@HP5A!}e{`Q(!ZX8o@N0c>+`uh`{a$087d;4@3uOe6`6Np)0*)m4@_k}K^LlOpgf zX_a2vBZ^F*!FcF`N1qXNGqVFb+CYIEz2n#&h{1#Tk|5}x^s0Ao>BF)!Is#Fe2ziVY zCnV0p?;m|l`%$;@B*C*=m{Wl9Iy2Y-7g9%;e9<5v7!JGXl#?JJ-BIRP@VQ*q}gF4=GKy>v?%&zJmw%PazV3sZ^AE^pRH~F0}S8 zKzG1QhqZ7~=d0zlEK`WX>}+Asl1ckI?HE&8(ZK7%4>Am90wdMa=@6108HM&d?P&*B zhPCuPFj$Jvem9mo7`~)?*OHC_I0Z?x1k=FBPuavl&)P&l9McJvdqd{((JN<#s@1v% zwnjeYW8?0k{hiu3bG<{3tQ%QwI1+aN1lU9FsH>lKhJfTq+DBez?8(rld}$bZek7>| zslJM1mGePEChF_t&y+9kN(~QBJmj}cfkVLO4IiNI$BESBo(Z{%!h>8rd;TJ+Yh`&QzexLG0x#FdRT{Y$yIq?ambeY7hJ3IEy=UgdVX8(6GvTTy>~d zB!5|c`a^9wk&hb2J~tXD@QXbhIK(}~%4a01ho`h9g68uY2Vec~+%1aiI+Ihr$TAKC z_hD(Yb7>%CfG7g;i%GnlW6Yw(;rvNiTMAXtXn_!IX#!;$siTGS&ta+Vzdzym!6|N2#BLk5W-{RQbXs{c;t2u>7go9bkcH@VI%OG!4K7l^q=K>z zr`K5FVB_}bXZMdIPVM;v5BZWAnh*GrnVN5sa>rX1t4x`^J9JBKiKF$@&cv<)_T0wq z+(s-+q4@*3M{=hs&-UVu+T(aTa;x+uZc&(D-53D3{jh6ClMXaIZYa(z0drHgYB3JLj zLJTr8?V2S#{Jfr?%PKlRR#B5R-V#A3$aaU#kd+)hENj~+fZvb&c!|R7QO^ZPceled z;`K#YK6@ ziEokb$E%kXA>X<$CQPAK1HT4UfID0dP<=V$iaIfj|BZIKHQPw@HxeOs1njrT@IgcJ z3N#ole&T1Ior zTIn~zfzh*U;@rdBIK*EpBQu})ejW&MK#ew3_KZMIz74sDkTZAYL=N<(>Ra^J3!MsH zJ0L;xgK&?4?wI@0@r4k^>`)w%>6I*(^FaD)Al{PSSD4K3acJc+r$K3ds=^aW#tRf{ zFttSWs)}$&$aAW=e#eYZQAFUKW(r{MR?rg#A9nn?U?yI&p{c7W{RH9U{f+p9nFswRzf_l7W3N+ADEo2 zSb?0h?KJxsKb2-WO=7%Avj~Zhd{zrzq6lfomf|}%2E%&VDNJhC6(cU(9B7hy`>|OJ zyo?&X*MQTuKfIoaJ%pV_p2PgiGc4+TuoG%l&oVn&Iku2b6`OyVR$2D;VnGImPk^A? z$jC{30(alnEzR~n?Y+k$sDc`c2u7YueNmS2zZqpFkN^zeo$(Ok%4K~++()b&)R_=s zC-4_+;q~-MrRz~*@RP;4GGbuXQB@{mL%G{xB2w&-(a92{$0}GLQ8%gCGIHVv$)5$S zTkrva8gT;Jo&cc@kgr#%LIMy=7n$XUlZ_@H2Qzc|xgeH)i^)mQTfpAHSxp_2TeFI> zl1WRZV)(oK7eo%*XuatLXB4++n+bV|nDAI5W4yTVpQ&%tVEVd4M|NGo=9hkxCbX3% zW+nug2ofh-)(W2HET(-#X5#AMn`ICG%ImZo7}^l*u!Qt@3`u`_!#L)JCwJ4U_PQe0{U!LX;6|Iv74D5S1rG7s~I!D-Zs z!k-e_I}=L9Req&D-I*--7F_a+i+jy5j8lNO zA`qEie=nJflM#0{U#wiI0Ti!*8AD<>P)OHaLsY@|%;fp`ZX(aO7nxrT7-N-BH~xC} z_YqbC?+P;IF~1-=sbK}bBVI;GI}kO$B@Vi}nnpF~%vAE)PfsH8tpH*S`%k=pNEy0( zw^(`}+L90Z!;%{-%Qo#%>>`$GX7qMhe>82Tf(ZN|T0lnB!NC^WvjTcK<2Q!%Lyx*r z(PWhw%a12)K^7^b!v*{XRS$@{#df877Vt*o@1SCsDxy?y9G#YYVB_i_HhoGLHjjH3 z?ZochfT4z_Y<72+k=c>6t|a5k0pMPk?eHrUDNx9nFw(EPu&<`*rv7=r%bN!?b5#Pu z!S7<^Ll2d*aq8~Mj+L@tvN8F$IYyP7C2r@8lCS9FFfUrgR2_F2Bn`@-a#K9Ezg@g< z5F&j3ZO&$fdcd~)HAf>~qyOVv{mI<^v`i~vd(6LDg}j#m9|6-H&T#@5`O>ucQ>P1F zzNh3r)d;a9a85TD^OFmaotMQ#`DNhD+FrBB?t@YVh@l&+cnO}DKryL2u^&%OWT~P! zScUkZ(F~Uw%Ztykq@_pTqX}v$k@cbTMcwIx-$UySaFFDW@8~C`#nZs!Gd>-G(~8Pi zNI#8v+jPqWObGB=!RD^xMh?1`YcB%^7mp?xU42E z=01;O?eTlwq6qh=+UZ(PQ`_37i+OqCjIaG3zUoW=T7ANYBWFPQ;!5~eqwjy@%%2+6 z-<*l-k^Z~!-Y$^9DYhyGk=xj28SlIWvTqez)};#+2j5spi?l3h&Vwwm2-j+sox%S5aa5lSy2YdSux(t?ScjNOX3)1S0qW3m= z`&dCfS4yb%%R3fNckT6ldvrc2#=W+9s-I`np80RAn_v|s%3)QI0(;V9Om3#VoQ-=Q zu)TA%4p$N4#Hq6_p(Jx_ap~)OxHRv34+>qbq`0B$hR0u9^06QsIfo{pPaf$RGg^Wk*Z?=*GlBdpWnA3xvC+)sYmeC;PWEPAIKkeET)B z_@5TW&|c5Q%-Y1^AB!^narvL#pdz+b8kim?*oAn5;6~bh5s+X`6OH$z+kXUD@TUhF zvt3@_ewB?3JbsDd&!F+B^UF`1YE}uDoo^ENKbh|8fc*^PZ<)+p*SXi%{7Ni`Qez;P zGirK`e|4&N>C&wQpX@oHMDi>B?#sALEOYKPEtAA3ReC5D{7p@rKQe$j7HU54)Liyv z+-*C6tWlh6xenELk&u3~dDgJ$5e_$uON6KsBm0Bp9E{0GZ~?zC?5O?O^U|mYVa^Ea z-Df3bg`dQg<4yH>#X8Hx42hn`lS)+sJCQ6TJcBLx^5JlAC4`G6B1rP7reb1(zWuAd z{jauXj1Zig=xgNs%Y*)-iTWQr`^U*2dt9J2Y`sbc-+^|-1K<9AWgj#Nc(pbRNC=T> z7@Q8#2s&3Z(a^G(@1sLN-d;IJ^c0v`b0d8_ecRR9-4tU*t`xJ!0Xqu>T~0f!Y&#u$ zQxk0iov0A98UiWf;K`5DljHNn$hl_u~0F)1!wIx)<@Su?DzGWaM7c_5QfH;{r3WmvO?2L zB`B6?#5%v93)ynuqv9zfy~)=#j()JzIWfm>884lIx$>_k>gh9%hiVM zoDJvvwp8bjVoq3mG#|1`=@_+M<*g8(dnrJ!q&;b+IF_ZB{jRsOdbYxbS1*PRVzL|5 zoPwO195LI-iqYfPpe|@88?m5<%&q71Wph? zY@K=Rac+{VfFaa10b53}SVk~9HvmoepdCDV!~IY3r4Vy*QltoRHoCB#pQ|A`U|G_X z?~!4s7(|0{Nh{*g&hX{oK5Y7~iMmosOfcrCqz8%9DDkEus!^%Vxn1o2Y%8n0@(}sw z_@iMq713R>YIqv*a)a4mSEtO}txY4H`2OYeu;Icy#i@;V!1=*Z*Vzrh$o@=z;kgOv z8V;bQxKnO9``xY&72+@N(_U8g+mL1CDYVoKteafGMpy}PtlC1&_;yw{P$=;P8VK@4&B z2%84?Rohk!#C0%Sn&3HiA)s);Z2LpaP7*v=Ri@^A1g3i#?a8^L-}|`GTo37hK!n3T zK!o7?A@6!Wi6FU6<1Wc9g}$xa@6UJXEXY<(hLRQ;R`gYSbZIeuD&F$^TVr%jpPKOU zwJ40|zh9m3#|%}dYT4`vBYRcPed<1QKLOt&1gbF?tO~Dd2^qC{;hqsh=zFYP!|Rs6 zUvj&^fN}C-D}pRV9Abo>*5O*t*fbT~tLhz|YcB>VU$Y-&oP?#)#BaJhI z4Q&w(+`yDw70;jktw4&BPB!GR3rbbT0%e1jeX$XV;j>SH5*rt!c?27i$#AfEyvflF z8%|lU_}uJ&4J2}n#s}@{ds7WPe5$1S0a)QdqS^&S)H-KMvNQFuxZYuHdv`R-?Rj4P zUPES(A1`9W7x4xyQ47Wxr?J?WIn0Kt>Mg!3?}@PDvSE7icvc z$bvY_@Y#pvK7yqBj<|#x-r%|&or1dJP}(SY+)61M3Y3@D2jsFtnipOE9? zh5o5PY98lUMn$&!`}xOibkSb7<`|k~;!&yO2WqW$@PpML^jha;{bTY+!s%vEi9^}_gv3ubX!q$b}rf^`H(rJ<= zH6UI^Jx3l#TcaHl%fnCCx1JLKF|zcXgSMsxm>)zcXZ5=-`Li&WcC|ozmbP>SQ6W7E z=NorwnD9w)9YbKzHMeN(kugdTDu!zw~gvK;2gS4V{orq4KRCpqhZ$e^Cf zP)rjn+#GD|1g=KJD~~&TNEd`lJNbadt!q4_x5&aCDG@PIma_uu&@G5zq~o_(!)hy| zISoWPBX&J5YwYDWSX|-H z<-C(=rHoLa&fO@YNns|A8@8_FupnBFAKwSqTMPT& zR1*3ntO(tllI{$vnBQ$+K)Ns0$4)5}L4oF34%$B=5>nRi2Z|$Mq;|44)GKiuQU^uG;6{(=RX z=pES&F1($^=;FRPag+plWlUD{4cxvKlC@AQb(u^`^Ddhvz&~3XXILVkpROKH9iqIP zyv{f;yAuxNk;&V;hYb8j(!yVX-k-FeF>V?N@<=n0D|lrj^H1jo;Zz3I_oLm*xybPy zVY@)hBQb99ry7j7r_t>S)x{(RRY+xn62nFZ3&(H z(YCiH{$qk-A!D(EXBc%k0gxtnTRi&}!|ejAW0qCAo*Y_cLM5^|LkBAaa$s5`^Uxc( z*ucQ<*Z!Tdl!7Pw8fEk%XjlxHC>&M5;u*>oyL z`4PjakeQNj@^Cl~qoh5QdELIviJFk!O?s5ObmCkcJ(}V}58Hl)L<&O$a4`}15MvfD zUT3P;_APXc^JF;A58K&Eo#t>k8Pqk#38E8XaMB+VFFD)6v(w8U+#sYJSwN@FkJO>Dg%m90 z^y!FD;OTE;8n8o6(ql(NIrJFUeJxmped|+vTa?`XSqgj%6}V}jCpbh{7^xrJv|tI) zZUgW%v^KmQ^CQ5*Y${+sdT&s;$BNG$KEeegYpuh#y%?zF)*G=#qz5a=EM*5i2l&&d zPBh-Fy=5$?;knQ7QVn;7aXec_C` ze(9^DmdEzm8kq#u&A80095YC}Vd~+;3a)#N7qj;`+&K9yIPV|qIPj;v3G%d);BfWnyR5+W+DG!_`Ols;My#%!AJ-wV4q3J; zZMS^;UJfkSt$91@zmR5Y256xTEVi%bX+o-Msl-+2U)8_qWM*~ZF7TfKq7=>J+HJPu z%9ihEQ|pk9R#$`V#>Vf);%(j{4o3!ib76vwZmir%;c+c`tp+4*+($C*2AyE}BvaOV zA)|`gejbVN#2?2W_>gyb)LL>*|0z?HG6~k6PEj!pQ)QWlxVjyO+5Of z`5`sGAQwJXLlQ~)ne;}C z8q8}IRkYE-{iJ^Xbp2G;L7r-3BqyOsMR5tm6C(dSzfCDilEODHL`k9boVdu^@=&E; zy}ed;n7WikEVVz>n?%`r+jh>Y2E)Cgy9O&LRCkWZ0-qzT;b0`R9oY((UOhqZQdP|H z)&qh?_B3oNkfHF9N=nVW@Mm6GA}o%Fs9G2OvqKXkWT}Y3NYRw#;;LO$o)=4w^@IG1 zE6u12I3o-v3Yj8)GJketj4bg!b!taR=f2P&7G;lQD$DA;TtzA{A&g2=Ua0Z$#@ylN zNUki;9{2#dTTHEVuKIkuwAr+xFe8e!#@roYpbiXwBf_41fO9%<*H3F=CnnBh<(ELd&II#j@ReonOz^uviZie%Th)s_79vk;lIzz@B@bg5-}SjuuMjQ-h= z!R*juNOYoXF8>0Ct62CaUwjE0(rBZl1qT%j4onf1rJP(~IUd(hNIpZTk*rQ=p)I0) zQ>m(g9LBEy6?H`^WOW7!MJlvS7YW8j#V=pn9wb4q$Vv^+-d#pTf+43Xn!M8%w_c|7 z80fg}8TeNVRpaHbPT(5Ov?+&Br%B>>*qvZ*BIX-*!Zw|pBc6nputQ}-@gl=o!h8cF z6V(n!y)6DT8l|M_I*hFVnBr`K*R~9DNnoS?@ESZ5#GiBAupqsQvhDfo0-+u*S!9QE zbDO=^SN;N=LE6FJ;9tfsj{2)Ux}lk;wxBhDn*>c9zz8yU++yR^NNOLm;~H8=EU~w< zGtmng)?o7{ax!G`@FUDu^yQ1)dTF>lXXUz6>&emhIX@+rDz zoOLY6VK1g0KHu(I2pS4rKr$KUMm912Qvn05QDH<;nE4t6tGZwCn6J z@=j}PYLkA$B@NK!2@8h@iut<)#jVfO+NTuW_#FQ|G-YK%m?Q?524RWUWozL-evrjg zhg*Iz1F855)y2m4zzF!7jkZx?2QP_ztg@h!B|M43TPMKcy@ zdmDdF7ofVPphFDfR|U$fy}Tjx9~Rq*ph@JCoPRU1nqdjGz>L1UovXk zH;tdlzxmQr784EcBB7#m{y7CIsh65Z1q?;g>j%>d->fS>l0@2?moBXVw@jg_AZAgA ztutSb@et&?H9ln66}$uLw0dgSXt_k%O4*i_#(Y2=x@wnynITz2VRr*11TQp2D%)Df z#)O-k-fgvQ%OC2blDra z^^Fl2GYMejl1UR=OFC4JP0hqE)g+z|lRqT7oN7Iiu(3paAs~D!tR2p~5|_Iywa`P!W-t~${RrCeL)B03eSzFbDc+unV$OnPm~7G1(M8mRAYOX!i#jtir{G;6Z>EQB;N4H2zYXp5`$ZLdOO&!O>wE<1}?qK5|-eCHmd zts_qn13vS^Bpi_d#34b(<_E}g(|FzXU{YbdRDuv_i`3k;QlW3klq$I#AiCRbs0IeGz`(Hkb>Zu$ zJbG%XK!E_GFSEz9f3)}#Z}aEWauscDyGQaQ%a5I&1tks-jhr3N_oH8W!su5<7oq`x zB7R1)wL%76!%C-J@M_;0?(s12IL5nqaour)(&h^jf}&w=Ki39txRYyKM8h@DAT;G) zhT6JgXmu%a0(%KSQ7@i`ByCHL*s@77ew@lxcDxK1%+5_6lVgI1y=3XTuo}708dm;O`n^pe+ybDGnp0xm{QkQ10v`pYr+YWr1h1@&}41i@g*Q%zJmjuD+~VkF)r)V zeWly|lpyu#+kJc1yP_cb1y}M$}| zIw}$A$nim&lyO#8S@fCmxZ>zp&f4qvMZ^OVf|-<=FyqFlhX>RL4$2I@h>X8B15N^Q zrq0V4;xua&Tu%NQb`hQx-CUx4nm-Z1HB}uQpH~$Qox`x%vRu0 z-K0-^3N_Dl<52#VkL;K%<9eGUNwQ{ZAcBS_kL`-O-wlw+fqvpmUCY>WXqO;{r=Wx0 zS_3*2>7J7~%}5q+E-%3|w5)PgQw?po<*jQ>w5y>NLlnZc*b&TUDkv4SxNV%sXEwwj zFRY=8lm|=5t3{i&>TR+}aaoOk=_eKgXpI){@3+&D0#y4m3GWA-s;zbCB`}PP?tW1l zWb!zK^ZaRd>}~1!h2;W)fcBqp)^kOx$5*-^fY!T+3+IbwI;ST0!BP&t2LMnJ1NsJp zbo1Rs9N>M0z*O1TOp(=W(j|;!>DfqA+d&LWaNcgpO`JjrrJBoK8&YZ-(CeF)^vo!X z_0*saik8L$Yc*4!W>k6ruTnk*27n z((oJ|SN2<`LC0nZptYkj=iJVZ7dxIT0ja0?7;2{Odb`Aej*un#3WQ)(nn2hL6@%OR zENLk;sQv&UsmFnfA6m)HpMyUpKB>ChK!c>qNz}BXp00L7C#?m~tb!fYF;d4YytyM! z)fLNO4Gd6=rF-^N6R)os0vKh>_Fn_7Ocx2NMCM$OE@-+Rs)PsPtVQCCUQ%~|L@L&_ zfv>KnNsG*=)I;a~trES@NkP&y$XvzzKKsZj6K~k7GLW`Hc<6fL_5!q)2B!&&L6$VykL6-dn7PWVxf_6=yk=tqa;9B zcwH4GFhLpKcpD!fh`Tl|uJ6@JLuSnkO$$WEhlm&4V?0>pka{92^B6rBja2xRE_TJ_*U4k#h^z;cT} z55PUhTkF`^p9_!ObH*uuCxV%u^$?(4Ytw9EbD7v4i3Z;A?uxFDHzExY*RgH#{jD8E zINsy;yHW#o-+o{vP0!%>l&N7~t^1lz2)U7I0}1DA+<9h1tX%Z;G}OoBw!+P~8}G~x$MmLoFqwT+oYy6+ndz1xJ0@lMfelXJ z@0a*^@1PGKg-B6Zu_2Kjd$jwABCvyCCAhCH5jtY*9*{KcWNeQrUK!8ZxA7nYwMDCP z1s)Xqm|&A2Pn!W{hjs<3+DEpp!efJYkV%Ww>Xi{p+au3@6@PUyRE@~fZ@#>CkBplM&9&B&NTZMl{8qVka7jtwzdl^@WEluA_zq> zX6_$~f4?4W6xxUJgdu-|v+73M=-L5u!h)|*KkY8Z5B|NL^^k;jsN^DV0Lt9XwjR$z z8nsr@BocCxY_4CGe5$HukmdA#jdud7o_O_dG_B0OCpc=lQ>HK&{xI&aLt8kjVE$|R zxzqx(Vi*}wzpgs_6Lmn_ubWZcPU?RUsUI$c21xZUupHi zwhqHaKk0Q(27h=7xRLG^iy=zYm!`ZgMp%5d8GZ;v-?K+o5F&U5fAC=qK0j*-8QdZwn({FkFteg7hp&U^XD4Ih;%kryBk<<+KTC#?xX(lJ#w)y$@18UJGq&!Y0E0Bwiln@hg?eAxigQRzV92$Se^B?pz`0epUG`EEG+x{P0kuF%zbvr_CFkF>cKUyeO*MO~isc&_4?i%>e(VsnU7U(Q4Hzt~8E_MZPB{bv-`+A-9BVoq z#q7g~>({%?FQn}5XV2YV2n)}(n3^ne=}I4OyjEpu%6p-0s+4Rz&%+KtSPn@O?%j=; zn~TV@Bg;+{X*Sn0>Id=*j#yAoP*70t)p=oW<0xq{zj=)ttH0&i>Tl?z4HSxXR;b4v z^rFG&G7}>gdlkn|t_ps-?+T^yaYWrGYi4=qdD@29MeI-EZoQ3r`>$c)CuHfNzl|XG z#Ry!KZW-uRmUr(|I}JX4ZDDMPE3i=3(o2EKKfSg^iK+&vR7uT zHo@Cx-otk_pDiS8HV=sQ`!TD3hFbY4W`7zHJ2=>YAkV<#;uD~eXbcV>U_Y_V;E-UU zv8a_bX9g3de_=8G*8wv>bP1kQ-a$%Db6fH7gN*zCYFN7Ga)&v2ll>R9w$jg-%D&Xk@IcNg7SX*dUCLIZRBJaJ}L>7QC8#BcWrACesPa z@hms%pKxpCHhc9AR7rspScy#lkft0&b2O6!?t~jiqq#VI2Ft2oSpw^r2dd);`ka6t zoc}Sy)iRCU72?Hh)b=#V%D*F9_$9P59J-XS(b&DXDvtn%h&GD&gl#SnR$i6K()9Od zT)q@>MC&~Q}ZMOG)q!Nz{ggWH*qOCQD=2{;r>(V#a z=Jb0tf`0d<`JE`G2}8-oYRc`;Le^K4r|MIkOt~UBJ>xSuQ%7 z->+hfq0vx8VJ{1{lcytyV~G$h_Q}S+g6}EDK%=R6Fdy^DCn5LmCH&;AGVi=yqFS{H zz9>sU!S{w{Q?l?V;x`{gEG#Dc=r#E9kID=V`-RXccxCxUZ@I0;5-YoR`E29Y%x>SH zl{Qgc7lQ`3mjlPqUYlSksD zDd}#fJorfS;6qrr>(OXCXl>;+NXfIvB)xwF#K7!bkIw&5;~fQ;OEDuO9;KHstL?N6 zOOGV8vk7xc5zY3q(N)K>ti0&v;AqOFpEQ^_?*O$I-mYg6fKROk=gz^8-_>{}LDY;f zK)FBQjms6vWf#XO2GdswDGi;DVsRieOFNMec)>e9iBn*LAV&C%dD)C0W0g za`(Ro?)=`S-gJo)8%>^>#{(i15-1}uJ&V!Cvdivr+j?Bcp<)OWU1z0KV@Yx=HBgyt&Ny0N(s9*Ntz*LocG%n7;b19Z>8j+je=ae9-9d&{FSVZ`B|@QasbFx30UMtZ z4iX1RZecNG#B{N7C|P}&V3%z8KH1q{vsu~U!-Y}8?oV)sT}DSIsMQ9aXzuDA`1t>X zg;|$+)5FRH9=Qc4Cr>m;PwE`nbzJfiT`RwK(c2dGKg94;!RVz5PVnNCP8cdyS7Qzi zK40WOE(SeYP^tM04V0KHR~c~2FRU$J4hbYojJot!%jhf@x55#WN`=UI6^UcT#!8os zr4G%_khG&P!lE77)Y~@QP*Y14zV8&N1HQ*}+J?osBkOP&X&lEwB{nLtF@?}6c!l}O zLZ_J>u-jT?Vf8kT_HVPAtl%gc+j!(J{+@|bTY14v`&bDF04ong&$c!@D7f?g+B~@C(rCNHiA|Y2^`M0$ zmkxIC?1vu>WC&~=?NDE~k&$6=P~(>keUpl^Yhj;|pXaL}m7(2HY;2`0twtQwpC3w& z$iU7(c{r}e_^8d~Xh45Z!+$!4{#(JKQWjLoFV9K)B=XW2&(2J3+xpI}4c(5UQBT?1 zSF}5tkzt$RA%}rM?@RebC}kdJoz9mh#Y-0zT0^s;SYAxIeLG}+KBCi>WSPPC1(_vC zEDLS%tqB}s3`&`2%8h&(@KX&BxT6xu2ioh$n})f+tYQkfx^R zz@3-5ab1hiQJ22HXP?`{G02#g|BN0V6AlrA?>x}syLv{y@|$igT4e3uF1MHdg%$mP zc978*IoOE4=s|Nzf1P!Kcmk60poWuLSf>N zN9h6Ety{>!47;yF5T9b{!z#b~UoAEk9U3hgrH{KyOQ795>tVP$Wm(T zQFh-&LPbN8D5QK+=>&m;=Y6-_|ur#M=3vhFW@JC*2fRt8KnP92puUE zNs>Qfwk-&PZ!V_4_?(87g_LVoBYyW$#L8+)BJ-(+-FqlS)gmb8{rhc*9jzfr6iOXk zW6R2~u@HsD@Fe2curQnQ>8Blj`(d4}V@u$cFxbAr_EcewJAo`SG@FvSxrE!dBeaHU z)#jJK?4z&Ge`f!~F$f?CtY=b~yhx6Z35U3@O%S~NNzmt^wINC56NR2F%j!L&-y@+j z;0_a4rkEVM%yzWTRd z&(^g!nET)y`wuL_hCq^gc!*weH31eb0x-l_2rRr~+w9&pFy$_Ka2Iv%D%r)~qepII zylwJCIRc{CiB+RdEH`0W$CW*)$$vuHVp|!;KeFEPh@H9bSQL4CG)BFWx z+cv)MQx0s(C7Zz^L2V%aEiY;y+1-xWSd01Wdcy5H5!<_xD1NH38CYp9*+ zg(%W=I+}W2(dlTiOrexQDTxp^LfF{0!Ly<2I(Q`;(I==@ZEAf2#}VJrv+&(w4D8n> zt7|FOZ*{nPzsvS+Mi?E9b{dPsaY$STQz)Is9F8*w2PqF8bh&*y=H|@=tqns%4wo;x zOiw#Fjv&kO<=tjIrPau2bs^0Rwyh}#4%Lds$hgbk&^Hs}aiZC;OQNnsMj6evq}^4$ zNwtO68II%N`yM6F;Cluk9DC+%2mA2O)M#w&v$=DJ%sZi;lB4qv%X0$+%z2T_Iw!idmqRJMhLya4u{*0FI<^w zo$UNw)TQ4c&;M7Tm1n3EIo|eG_`jF%+cLUXwne!>{{vDkExlL_27aQLcEj39iA#Nt5i9vl{u$2t*58yZ! z)j^-W0sqAE7OyhKBW^BS^V#1+Zc3;X2D4*F$_I4$+_cA{DB;vOpMP$-Y?X$6M58LsdD3y{A zu7*}ivb`x;Tguql&e-11NYV%?bI&m$99*}=V9jHE*yZBuF6X@bw|rB}iZS_TeKq3R zAM0GZC7D~u=yspF0W}aC2*Jo_&D4i{-L@PG#W2j+*^z8+X3WiHY;Wi7P%0(MB5d2o zaeT5Y!bdS(E>Rotai(2PPdnICF6EMo5MQoe3aihug>k;?wXJ`%M z<1V|q6_O-C2tgcc_Vy%8a~)QeLJnFE?a+{A5ySmH(-Sq`eg_5yzxuOz)X&iAY91{m z>}`gq)!5H(Fe&qA)NyvDk|ua3$TLD$2wHMl*YBTVj{YaR39u`KX>Z0%9*I1tBd zy0c`}63&G-+4@fryRYF!9wNVz;q^9T>ZXyzl{L z;sKOo{&R)(q|>ycF;+%1wun>%?fu`F{!L8(zelSnR6Nv+8B%1#fJH!nK@edfDBWZK|Zod$5k*11Pq*!SSHXFbtE#8xiu#-SSTzj#j*v)=-!ONVA~0StEuz} z28JYKBOc?U4wGjBCQtiJjJeeMzS)fHu$^fN-L7VCuFc$R#N5M-g@uI2t1TATC9unR zR)!?WEf&kmU6z+4Ha9gp+lsxNEU)|?Ym|~0lMf)4r4T~ldxDZLxOv}YYTD)XH!GY! zA8=|c7jIt%W9YS6lVz~Eo-zM0=E1`@vvU!f+nR3IJYk0JeG@5DTJ4C1WtVoSaBYw} z|9Aod-=bE_ozPwPiwF6`wuF&ludZ2HO_`gEX&hv<>XPm4j7CHC_RX)YWod*+(OP0- zn0FLzDMC~PV-r57PWhZa9dLHWV|vD;a)MvQA&soTTD->k-V*D3D};DR?NZ4+9CgC? zgaWTiDl}bOd=zD}-X*SJbCENHGyK`i1ZD4N9XV1F>+w2kjb+w%7D;0p($5JRu%PRv zNGGFA%BVNYROL0M2Pc^v9tH9jbCzkcOp~Utz8Up*syx0@$aoSW-#_fE{cTMj#$ zF2+3RK9FVkWM+9W;m)m)`S~s@s}V^mNToq*Nx3AMt7b%5KT^Wb9%S@l~ z7(ey(Tq_Qr(Qep#MpyD@bbBLVcPpXU(vK~_#wfH_2%)j81g#auLP|iw7BiYv(sqA7IfpvV| zWA&D?3`a8{%Yfq`ltqv@m^9%aSjVnq*cbLuri9L__;M7j1SttVdDK&gMqw!9=jK&9 zc-VLtA`z06wy?)$549UfeRqcZJruBVel~IjE=1-tF+oOwOtd|mS9YXQ@f9_4ag zu=R`j&KQH%xdlckgH{kll1?|J)iUhvDsJ3pbN_yq5YLu6dAg6A zP07JQMysWHcrWJDKXh1GkJ;Kyk&+XwiN-(}W^8YV+_`P&@An8iL8>fL4S@}VHNlxP zKBJ=^{R852+mV~V4V`wz&Th)=LdKnY2{&%UgzbzhmPB!0KP~VCu1jxHp)p32ruj!o ziBkFTs)H%RqbXM|X0$Gsumns@x|GWT+kUoRI$4*M)*9C~KH`a`g=U? zYYRH16y>G#>x>JP3%oN{rO)eUa(EPDa*@+&rZk(1dc$za~!6`#3_z5|!pRp>PCFV56l$ z_8Mvl3n$25b264pjJsU85HL7se<`7JXgQM7kV)9u&RAZKxpuA1{W~ek^8uYuJW)2; zn0zv`yC=DOH{z2&v{_t<+1zf;XiV=ra6it#uNSSA&7b3xR1wmkQ{!B)FM-!(d z9M7jzvU^$Tzq|#-7(=(C*xXK;eUxzfZo-Wl5zU>1sF7d-fp9H6(evZ81Q>-e8CkDQ zQmMy|)Rl@&rQ%=*4r3!8tv5Boz}P8=;Dl%N^Y}(yv9;O&ws#R(i_n`T>i2B+(nain z7Fuc4(@A=J;pMm*yxs_TXzjs(WzYjnjQa>-evL3q((YfN;~5Nnz2+K@7LzLEgG3b& zz1eUVeQE{$-oK*H-NN*DbCLBlhs$YBuPv^6ywqk+KSK8XC&Y~doU0{7H~~pNM>Vo6 z@*wjNs37nO0NJOAr&BKfSo4ebEY7~;;`=Yo$;uc=Q;0f-a8Hudk7h=X5eocP-o~WX z6Fa?DTY0J@&-?ZwVO|ztsM*>|xceaHvzsv+DddR#o?b8gC` z(hsiRn|UZm6l|}DY_3PFuPa(DL$@nQVnw}?vA&mb|3R0<%N{?tQsPHHsxdt5;rpNe z*kqX|iWK#_q}k9!ZP+`A+1~52x++;)lkD$jG@FVrG|1!6i3SxyYfm$8C9JK)eD-OV z_4SDD?Tk3i?}2BnC?}I7ioHFHKMwGOVvF8hafce7cM4yNF5^jX)c)1&oh+{OtXHe((dEzN-7V z7RD&jG@Fu*l`iwMA)j20Sz5`LBc;?}pj>qs9`ShXjL+zZO}UmEZlyG=tc0wuC+zM* ztCeRHk2)DUndVw6VPhj=>mcLpw@X~P;!~}j;Gmw`P!H&~H9KjO3>%F=3j4$tGL{CF zp|l~xMxlv%a$-o7_<=1s%W;X5<5+^4Q=#7)#g8wrs}|XF7oXcV7SJaG`g935>BB9J zG0-M?f1K6&^;caJG zx!5^9>G1B40$jVw*tnlB8^$5s{fO3XMyB*p1Z+oQ2@9=`*0(H?{|&&(TsFfJdkSji z*}ehLsUmK~w09%+w?m9FkA)PLg|ID*KK3`jvhxSbXhW^4$ufi1U#=FR)|wC+oD=^xpdZW{*0z?u!3LC zGym`ICM++9?Cu&44h&JGNRm8JL8e%)z^PM$Za2?)_f>*OzLC)J{Q%chQ%0Y7IyJPjdf&>m8UP%&EBfP0~vU9U^UYkV? zZ+!V5V;>7muhlWNI-)azXpLjm-p1^n2U!MvyvwYkp8)g?8~WdoT>d4z`3sx!#LIB- zf-KRfW(U*hJ}Yzpfd%HsiQ2Mq6LX~`@H`90F<922oA;{~jiR+73^f}Y33u*vxqdU| zvzrmkdP>;N2Q=5U=&w3Vp7uF&vBH}d11_BLDfi_<2l6G9M8W2&&FZqC)|arfl(D^& zJNb4)IA}YPbwatG~D zArnKb>|#5Hf#DL4EAXB(sXg>Vn462ZdbPvKN=Un{o)l%zy++V(8`^aRQ366jIS&AM z+(!+?xoMxXGcHEwna-cb-fqU+Y{bG`m$})H2lrC;>v_`9QXr^S9nM@Vaq(inn-@LC zMjgskfh8=IGE7f9EH6bon$K8XPFdT?m*c`r6Lz50mSie7yL+BtX2xf1%z7f^)wco$ z?GXn3ajNABlC(u4yCg!Qo|k0i*h+nFXA_+A&vL%>2CtQ;nCh?MJf-j)%Vo$L)#{+E46TF@x01DC3oWMk<3;(h<%Myw2p{IMq_V+@(}*{hOapxOp?= z{;Z_Yl!W0^Z59ed3dYF;80c9KGDYJ+a}dUGLgZQ&yPTV{h{ODRm8xKL!e;8Un@=cW zO{=S^cNJNxpDWNE$3iNbt}=xB`QppAEy^Xq*oec0vmREa(W$1DXu7c`jtyC6p0aix z{njj_x77Rm#6WqLXicY;FNf~db3d@P^^^w>Q|2Efv>O>olsi!zM@qxajv`7DZr|>* zvJ}&9WG7Av4t1K!rp#Hrz5FU#1lg2Ff6^@R%~sh%-#>VbF;;*y9o=Aa_g-S z7LH>vHturqVu{PIxm-H$QXTa1OZhu%Z!ckb+F@x$v9u&vT8!A=%K$@~YU+)QRHn2# zDUo)`gu@#bf-fa>qDa%IOXlWcZr_TSeGsvKkfDL$0m1mV$JrlOm^mLXSyuFUHn#1f zbViz_Y;0;aHx=ufF>C87QIuPD^7}>8whUX_Hv0!DX{ylrtG&0raUvCA35L8;>=6h1 z9h+b-;&<1sqGJvC5U6Lu%fHaKPH5EV9#%EQnQY_S4sm{So-Fi;uzINh4N3k=&x5&# zQu;2`ao&AEdj1xv)#h`8uD@JcPCtUue?|RKVj>^iK8<)h6Y$9A97hAy)CBzdU%{Do z9ct$S#8+HL{IXa&!wz?`!wAdtb6l)g+Qvz0`53E@Osdt2&B%a*?^@&!XWDE3t0i=@ z%&@(kaOY0QZ+_EeaWP?UFGU?2*vciFv(o`Tey5M0{-VmngvaoZgC&kRO_C2FGpB4W zo%fj-Zc{CFX?J3h)I4#%)m4R*8MYl^Sq_tv{^v&O>}_lA-AeiJ4=v^&g(PX7uS6={ z8-$;44Ux*Qvy;&2NS4-P8ZAj2X-XxVp&^&)>42%zJ`>YN#WGjtVisp(7FXkEgwAo= z9mVZ?9cqIXZ@d*ysXTXAvP{u#XDlp)%+7X6Q*)v)`&?`X%Kg1yyC+}h#%Pp`QObYr zOYM-A#f0DgYm2$XkoC=!IM(!Rzzhw#TsRx>(_i#))QQ<`JYcW0%&u%d zU+6sD9hSqp{eQ(TM*f;JV>L#H`mmiRhhSHDjC!Z&pB&(g;c2F~s`zVV?(Kd0jL;d= zXL&>aoQct4CQlD@)*fe~G{j)7hUXp~H;Q5Qk>tUgWd9%|J1I(2q)=)=Rsxk8BS4%27* z@GCy&E@imQjHI4%e>Y}vTe7tU&8DK={t}A(Ib@ll)l8YY-{IkG!o3B<)_O`~E2a}` z!t^A+w45X{JbIMidKp`*5#83wBIjwe&J)0PyXu)^8)HaQ#m-L3)vFQLKa03|GopJ; ztlG9kU!TL9Z&vvGzaL;~(qnko!FG_W`#dl8+E>H5&cl#qSLJmKf%9ive)3+4AH82?=6o4f35MVsVM^;$d|iC`>{y?}5>KNcRw%|NtJ)(X~{tBCgou@>IJU3n8jhD4+A7${rJ z3`nMa4ikS>#y)e2W~IsX#T_=<5g{S^_zLuM&Uex_U2Y)9=in_D{3c@d&k?&9u+kbB z8!Yex$%1F2p6b0=(3B9B}tk) zM1K)V8a8)QJXg@^Xi9<2_?XY7OD-2KxC{@M860vL7&f?G9&vbPLU8`9#nn54hw}-$ z>nTa}?8`SzHGBIR8yhj}%OT~!qQC#-AwY=SQTW`2fM%x`&6H_moUyen+1^zsb+TZy zZHv*-e4rf|u(2JU@g*A`vbl8GXJp*tdG2fb`;z75l;*_+Ej)9;R>U6jjH40 zx<@`wuA5uD&YdrjDT_|1$YMzrNw)Vi2ld>4Ng2B*a*j-Vt}7TFbr>FY=;;{`VoR*7Jp@RsxmSX!ZPwN|xmo$&Gcz!lRT&^OA%8 zjJTDdIN6`+=(~o6g$UcWh$4w)nY?JRKG}kM^!uSwv8Ys@O?RNAVQW2R_I}9C8zFP^ zF^#5r;&}aoHa~i|#Jlg8xo|O{R&}0JU(x2=ncR12eIucp=_kgEEHiYPinV+DlvT*- zk|BMo!pw~Kxs$uy-Gqk^JFKk6xz$A)Y{w$-1ZOUkdH213PM--F9C&uTF~-Jr1f`Ni ze=Ya5iW9@~YWjGbIZTq4#RI)~@8Ouk%oTzF}o*ruH>+UdgE8(8CWxM3f5w-00ml#PWUsH9B1 zp7H+w;&Sn4E<;29iR-H`5@R_e_8^JvVaT59v*V%gxj%&CKqu1dH)Sv9jv%+@yjqSr z`}-NQvk@PC)aLHph*m3m!bB~EMY)_0fN%bw#D&)ahKE1Ddc5lj+}oS5{5C&W{1E0%OM5^Y)YkPlhFlb=pVHhJzt`31T7KK+)YW-FP@D^ z)e}0NpugW`YRc!_xe~wnmB-J1=8+emwaER{dO4jgS#%-`Z^A{DZ8}YLqR>$)_d(j- zj#-+w7#($(o;kUot?LSE{T_ezevQeqc`RYtNs0DD{&+QFzpi>=%Flk+u`On1O1$+} znb$74_!U9)lohL55uE$~sC&;J%aSy`?-%B{Ytx&`%(7k8-b~NT_RQ=qXSrNbA_;+j zL`feAebk>N2m%O5A4oyMf)ZtRxx3`fj_aAW)z#%~R(f;oaS@>pac{c1nU$GUJ(_)h zM45B*+;if@iFo6U=Xu^m&BXZe3X12?3;yb_+Wh7>9qv6oJcbM>@QYU>-v3_0(xs4Q zb69HkMO3PqH{WewM8MjnBu!g;fzA*+I|VyC1>+6Pg{g#EE!Ycml=7ZRH{vDUm{?+~ zQE)rCN4MCfU+j|F66;Pbs%xF$&h{6mTrxK?$y9R!Ye!ek>6?`2{dMlIKjPNCI~0vw zL{+2p1ecp1^DnOaOWvHGV`1Xt((pl`n4Apx;SZ}^c_X45Dc2M$WIP*l=AmAG4Uclrzk8>9`^bA^A=xx-e-OD z#cP?IR{YVQ)%fWB3e%IpNZW!TW~Krv6~)u-f}O(B**QF3n8L7mYm?inl8OruPO`8N zqE1*Budip^y47N3rQEZd2opup2)Oh{jSs#*e(diG0kxVJ%3N58sn#@sDEUu6cWmwq z#~D9%wcCbX&p)HH;I-EPsOTyel8a>1e*l*R+2&ue+u8L8jr7KWCrQuC!Dm9dcg)Hb zWzm88|A70R#y3Fdo%;|Bnst{E6V=4ga9NYc*4v zo}{>W5nlZR%_hvvc{1|fS1dm*xcNn&mFGFVUirenp*2iS!o`b{%a>msewK~ zMjcvegQw+fzIyaa5=t74x6pcDRpkeC%l-9De)04R?rwYz6Sq)Bld=9aK5G7i?@xZr z)rkqlPFY4J3?=jP5o6;4rG?I}W_vu~?s5t#7du%<+KI=p)!9+u`Fc)z7QcP6Q zFJyE=EvUrun2f0p#I-C)biqlxQr^a(B#ymI{XF&;LP>P2Q75>GOKk~~0;!Mh`<04h zb~fP6w_}tx%wK>f&k7zt^CE-%gzaHpf(52$0^WJQO19LEiK4^zzO_~G~`6FlG5EeV`Os#uRYL-WI_}s*va>hdBQXEjP-1dtmt_XSTT4A z${_}Iu$(mebBY;kA89uThzyPtV^Wy=6hsfFDpYr;xN#%o-9HXl`e&Nz)cymgCJo-b z_7lRmL96S@q08wyp;cfdgylW~+6qsa*3K&>Mk%zMfT)YP{yA0~WJfb@-eaM0owt7~ zc;`hW%F>eMhEfz*Rg5$x^PX4^Ck)OBOsR-Ms8%^KD*t_jC)7HgKF+vx zv(LtQL7I-3U=>VGz=e6m{Cs%qw#;!z62+xU73Su0f}lGf0UmDOejip=9FHFxE-V&| zH8hPQ0dBpnsn;b-i;n9TC3j~a3?!``!^-pQ#LSLVj>=@o;x)w&KS_B1MvcYAXhZ;g zaIn;9saR-Owxd-=x;Qz>>VqCu2Y2dy{W+p_vSV#Fs;B!NkOVP_$cDM3JI7 zUJ^ywp1;@7QGN&|1@($zYCK?eHlkKP>vZ8A$dq(My5OWWp!b=wgG|Wz+_a^1=*XZ> z2x5e?sK_AI@e9Q`mP|})u3nF*)g6~FO1`<3QJ9RiHOF>w{QK+shTy`2=93@Sn4av|S31iFZGf8Vl{vuC)_cB1!!{iCJ}4=eZYbs_0&0mO&?RIkvY8Ha88Mn_h7?#GV6uzo66Z6Gq}x?#7K~K%*IOe@Aj>3v4GN-zh1b^0p$y zi*>wShVQJZW1}(7MRlEbi~kH`Cb+-+8+OeT%6P|zj;Th~4I;9X8SG_!hnbawN-d=z zNwCvhipE{!(w|dF)>wG^&zQe{k?MFraL9330ukett9-chU(mV-&zDybvISA^@VT}1 zg)ij^4VOzw=SXYo$jiSZ5qB9M|F3y_={ob@52-B#sMlDP{3OJ&qSAz{xkIng!|v8N zL`G&H!dE#aY9Y%Qo!8mjfz{Q+9r5oA+U=5+m7Kc|`aF1&(mRIGsFYy5u9;{k^f>~$ zC=yIfDW;}0jYdGLRg$KMzbnrztyaOahbi}(ip3elN+K$^A*HFZ$e7-;%Xs zHolzW4;HWS2TSvWp{8wH{3`oTd{ur<7B53tL5g>IYv%iWZ|pG zW7w8{BlPel`0pOpI=WqRz`XEm!Hy6qTCX6LW#0#M^HrTz?~>c{DW) ztgdF&xnV?N+dKZ?*#`V`A8w(~k^?pWV0nVJcheCZkX@tp-a%7ui*80zToY4>`nRjVH}EjP83r8=zuhGSXo=GWuCj>?zQBx^bgxg5E+|xV@eohK zT0v0=vaKfOUIqE>_lX{CV8?G_n-6hGAE$@TSA*{xW|EZi-)qGYX}rafEuGX3mYF6X~;MuRKsVK5wB%#x%?gcIq z*ht~z>6LxX`H60QBj?fMKC5dPMRBBrgs`9roOIYSVRIAi-Lphdfl}Tfx-7lKI0(E? zkhQ-4Rh}El!r`o>-#MOhVT>b9Ei3DmC##nEi_jSHIi(cUYMn(D69;3sVueoUF^|(H zxNM!wl^9v#!oz*Gq+m;KV6yuZtG}gA%B0H(8zGx=oi8_k%e~fZOrBBEQ%qLo_;B_^ zKAwG(3)4-i)z?!P*BOU31JXSsf*c7dQmEfiQC9D)>t1~3=Y$yijJ&s(KuWR48v*F| z3_F`C51;qoQ3@tNp!`#irO&RLfFKB2TnxE(HD+$c6Y?P-4x3C*)!1&8blL@ZD!$D4#`8saP%Q+7p=5)I!XJ31L%cDm<<>ALRV< zmx4|ja55?W>o*eeZq9a=FuxEIMWcCbC*eDrnX~PJ?YlYO z{@ZE3`5T3aI`CE-X6`}M2jwt*1*P{}KpQVbKST~bKvW(ca}LvKv1{(|+1mesuBJ@a zXV7ZDqZs4Z-8DS=ZNaDiQ^}*}?^C36=qvvl`f@?J_!L(=u$S(DLiwO7F8#k#?Xyc! z386(AL8TKSM1Twno|@Zqw*ED;{l_E|-)AmfqM}Yo6nF*5)DZ4Mb$5(PFQnt#At#4D zGO`JA{c)@l6hLzfW@jNf-emRn7F%06H*dDs+{};vP|!tI3+hvo)W>7gEBF^xtFW-( zgMqEB1P)yg)dau(BFBH z%6@B%on=K{_Q2+lHUR-nqO>PqRvJ)kc!l|CVXc=2FE8iZd*q#D&Cy^`mJsdID-)KV zH%QBZN6&f);U(*3>C3bz6(I+sVOgdaQ(&#b6cUqa?%X~Q{MEOyYek-o15s} zao(G`#1ALG$HxnA^TzBFQJ^`fD0>yOx`xdiLtc!&MyVuGBO+=Z=rb8&`}WP2#iXI>W}>kTnT{n5Cr(moC+bqW#5hrQ&%^ z6B8P1BCM_YYD7wooaoza!_%iJj~;o+{AlhAI15?d@ceO)zwUGiV?F5m;=tC`e&8sj zpe$30JSXdE)>aMA9`)(93bb<&^eBTaq~l;c(LF09TkU{W2hy}WvkC5_rv>e#h&Z2j@I2RdcnlDA6k z|IBgoFEvko9nyO`K@`7>4hme=VK0A$y>JI7#r|SXjflGi1MbYhV-6>B(qfCJ%U@72 z0hRt3S7+a4Vd@$H{cXp+zbd))|2Up~5zuQ-5V|@p|1mao$lBjR^cbsqeuXF)WNroo zWyD}hYcK!^hmfG88+=yMFE=plFS!3$Q!R7MLe6aCA~oGWitjGp;qto__E(KTX*5r+qPus zFmtp2UWWL(1eKsqSlK~#Lyl%}dwoY~4Dwc=R?D)y9MEj~HX54^8J`Il3oXrxpfTpH z1LD|odE!`d@luts3E%gt6~XwpB07UBGJFStPSGuCKkoD8zmNEf{~@90KvG3_-$LA< zgpI2dKmDJv3wH)(AWrCt()ozv( zv^FEGktD?QcRs;(n&>O*i1A&VN^!#hC_IuEQAaw~Ua1NXTeQiFE|2f!h^-w|6rIB#1+?c!6)tVWEs+;Nu+Z?7;Kqo|lnjr&p=`|B0e-?Cg}ZccJKM zYJ%~Ca z^>x(F1fzHa&N}jTPS(n>BNR=)4+x@yxZWpk8H!PHpo82%R>E0gHD{r-o739LD34RN zSPf~Db_(sSjN_gUCs|sY>S7$GlT+?wxEBk`9f8js%#2MiQIEk1ie8=N=Yrj|#0Ce( znS)no3sPIKP8+EnG23sDq#=3HVN6}+M*I%%O})zpm#@Ftz3jo@+r?|F8a2gKQ?a!r z=)R_J7zGtU&;&Wcgx(FBuB?J zW1!!6Jb2LO*|Usqztww0`r1;=#Knl~jgmKJ6_;-`n41?wk@lW8Z6sGS(;|Yc>oGN{fH_CHm0{ddH zaS&2M6wy;D%jq3HyZM>uTCV2nXt^ zsWHV^UD557l*YU1SO95!>Jb5X73m~eK(i{D8qS_n6Gt zYlO+5X!%{v{Yxnz=we+!QB(zOZHQW!8=7N0C|5PKi0D%_Kg< z(csm1lx0?uZuKeqBl?ZbAm~Do5XlPHuLWGX6f$=qMhEJ|I&|RY>NK+yhP~QlT6m+z zey5<{^#M?cpo?Ox7I1MqVtOhfNe&mN4r+?VrI_UDG{Jq4YbU?sW$Af%Lx=31b+oo} zc0GnO%q(p9ls#$n%ZxuO8?)u%)BBZFqFEjk42UdQ8|ly`Y|?$5!Zf(op;!zg-g;wpd&nAM!6SziW}s@h4Zsf5R$o^ zEPcwYdw1CU;u0%g*J*z{N%Szp_0*uyfkoj^gwUPEeD#NrhscQyn7WOtJj1EX2Rc^l zJ2;yI((@sP#x%m$XYbObn{`=v_zYL{xYC%%O-aV;Rg}=E*O=WA0>V&Gt4PM0l15GN zT!AePx^-HN&U{;m1nDFShyq6x8RSXovfncp;|tHV+9ey?1^pBJX9TZ{xiIKj${|Nc z_YcBaXm>5Gjvc8CI*33(Re>lgWIcl|OZL{B!ulU45ke6qnz(Yl?KdF=ffg@jw1n}E zW96WFvG*V zv(-7?y0*YfV-yYgyzp{wAxfmQ^z(vtKczh57U@~xa);SFMx=LYlgw&=tk_+&ELyimgX2gy$j|L7CP zo&^5(4bA&+hrIb-or_nhG{>M4tAYK%+1m4!1081_{q>yH&kUdcF98pJp$JmJa0vA< z_)6ajs9?8dDf1Au6~Uzne7ptCCxaQrt13pyy-NwX^jk=K85UoKynAN?ck?o4WrA=s zqUif>76X=?9(|yKAS9rQd;T{0|NGw{KKe`a$A5ug3v0`PGcx`=f`Rn>pyz^8p5St@ zc8?X1E1qp^@bA9;8{W@yKDwltjOJ+QBNm>oh#*kJ6-Ag>RA>+{l+;iIVx|AP1#$-~ zt!<)BNiVPRs?y8fHM|#tXZ#-r11DBuJ`3W&GSMiA!nF*cP@tpy|%O{D_r9-C@WuIzvH|pkE@hQbw;P62fS z?JWV$j^THCj z&7$d8k~B0)EQ$2lrbXu*yB*8c2^<~c3cBSk?ZVJ2CtoN@aC!^_obT!#@NG6*o#Uq$ z$4Nv$OIbFyeg&PK7eDSD+`OBtYq7F>pTAux&_$DJaf8K0n4BDPY+h|UyeOd8hddj{ z6cT6m7=ABYQm7!(7O~e)&Yp4U8p}#i&^xKv(<{Mm$#we~51;0&onS+8ni3GB5QdUQ zBRCL9jD`?iVWz9_Dy)SGa3%a%TdJtqy2mM+{8W(^nien0B1wW?j-Wz2ZUM@HXLdATYB{^ ztR31>AKcgV+#Fd}k?m>Zqxa#?53o(Pu{d%Z0!fJI zO+p?KFaII&oQ9<@$)YE8$}Ma;;OVG=1br{N=`?DkiAoENyKO*%^Q zUNh%H{UWtm{e=RM=Rp_>=4L|{76s!|U3z^-r}Yxnzg6U^;`wsM%1WOL7s8jmwBHrV z(vlaR+tTkDOj?puH1%dk981D*7%=#@w$@RWNA|^K2|D#Fn=&4hYk1Ww^I0V83`Hq@ zT31-VwS@D^3OB0F4z8F+LrFmrs?jM|Cw+fnKtq!fr{wFMgYBq(H>_~*1wG7&PzagBJm^`HDO48k&B0EFYZ{$6F zmym=iB2*F6V-w8IO!IJe5|yrD!yZl^x%L4A*HMz%7KMAv&F<%fYgIn1FL0wW&t#}b zUa^jgb6^cvt8p%b<7#p{PgXT{n3+4@cwvEjxMldAL1LUCb!~E2GF)ySg%A!Q-Pt)F zT2QSDgmC1!IhLaX1J2}22*EFdbdJ!LsF!#+Spz#emhDYLdF9|29_`;p|9;%Db6#&C zi0g_s-imO_5Y!D19~7)S&Dd?1bh^IU`mjx$DzG}ml_8jD?<$66NQQUqfTFZ?x{lmB zloCh;)g~-m)~6~d0p|>Kif&2!QJ=g2XT-1n#{_3R=@@*F(+5H#5+Ztoi%#$vmOgDl zsw4#dSXv=@@&=V4qA{;&O>U7_zM{lnM!nBYpz;Q4^D6xIrkTF+g8|`fm}M{rI64QpQU%1j18HZ3 zF@mCa)nI3s?>k^ICafX!zW?wr!>^I^!*IUCZbL#w_9 zBc!BdX6d&)M<+Gsya!qOXN!XJh%d)LUS4(r`db-A@70R^{jN|=G_w;G>TUwvounAy zn0yd6NU=f2E%$34Z#}0y`44f8gb!7XuLfdg}=|J;@XgvUd6wSy@@|1IwrM1!G2H$TcjphW&)-FKXNmXB zz8sd6oRWYD2*?(<%>=)d4TaZi?BvnOYKzh?!QmbidwSYL* z7-RMc$tLhGiS;Si!&_Iwt)!u>`Lq~r(KzJ-_OlC#LmMPbqHlBAtbZ%>hy;fpkdfvHoVAyUWEKSn}I z7$1k}DNTR5L6Hwn_#)EG*Sy(jm85A&5XeKa*WVZP`#pAdH~D(=Hve(sOP;pArF2hl z7-ShC(>g9ly>t8va2VU6pDpv~@z+drW2P@wh$j;&mD8b+%ePiZbC<=ayH65Fyoy=ISM=1e%#~%^PbG>l>Lj1KlinvTVF4Mk}&H?>S*P zSyBc)a1vKkN0OY%($eb{tZx=Pd0w(GuLj(;lX2!iC*3Sqy{q}`uR^xhB$={EE0E4o zkRwrqL===1q(mqriVT576QU{TQqZTOH1&pJ=AE1ye;D(lKbxYPRe17zo?gGtZfBb` zPcgRiGK+2%HmBg$$GBTR!M2xBMU?)Ujy#SV9C5f<6T$B{6k`(B#Td zOB_>^@YeSf@BC4N&h%TGEZIrl0mOaAYd^O@>!wWaqvO3Z@4sZgeG&WF3mr?ZB zSS@d}-krzTKEA8IT4xl(JNP#0RhBNyv+}gX)2K~RI;?SfgVNC{wJc$4%dxs@*xt%% zHWWegyHi^nMNwGt%<|-J%9p?B@~fL2o~#cxI+Kv=?-}L}NJF(2)M}DO!v{Y_;r6SR zTaC!;z(7PP{6uM;qcnCv4nCc%c^`gF;hY@UraK?#95K+^`?L}y6N<{DLh6$JEa9ko z_x=&3DUqr~j4+TJ!dY`PXbq>AmxC}4m0F@+OrbY!$THC5?K(EAHsLR#@lA z%Yv=;CXb%q;j6W8_|5t^*xpkD)g_LmQMQRIs-$9@-pD`)tW7Cw&a>6q#Jd5DYLS|( zvk=w^19h${-}^8~QJ@YutD_1Cd$5-wcZBDn?;eH_(mTydb$$MR%or5pMkNuVs18|-7aXiVs_S3 zo<7Z~d{eN!6XIN*-B!tN;1#tNhl?^yp>c)7Ax09F)6}rFRr35 zVTZ2mL9X_knO`6)!=BVVOA4~2e6YmA3vktWXG6|PnDzCZ zGK@K)F4+Fna29f_3nWEDV@GViN$J!3QVzD??Af>9q!2V~iphp1)F-!nd)IOQ+mgk_ zlBH_}mlwUI{O=3WJmbOYGw!T?&CRu6aJzG#vRJ2~CYf)(&j%NOgm#9f!Dl=uc6oTh zxg3s`+Tfx2hQE0flA2xqr1B#s>Wx#S?T>>}+bF$`krfPqA1{j7XD&^MFb>@|==Q7a zqe>YN1PL;yIIUCb1nBZS^77&L_&%ra@t!N=F<6zC zU=>r*5?9AQVrlV*T$p|ntvyTVb)j07T)7glv6A!TUO+!Lw7Nc}I*Kgk9OSuWW24}k zn|&rGBbF{(fUPS5m7KEN=hOsRFxHSn2Ua6W36jJY ztDKn7EH5AK_IqY^gL|{q(a$XX%nr_bwtMnMc!n%B6q&)Ez@7}Ff_lAVdK@Mj0f7oQ zDZ#JtAw?kEiP@Z?-f}-_eKttp2(=|R$yI#+)0`#nc1mC)i91DKaeMbL3|L;?@1=x^ ziIAC@h%g-bfQ&|(I@VLilg9-Q?&VB21Ex>mr}JII;pmhZE8PvgS^I{sS3l#M-7i^B z+lWkXq51~zPkzjg7k`2jZN}6N#b(OdPLEvlDaEJ&)sc!WTjn_rHYIhLFgt#QHxMjM z*4UQ~pAo`=uzQmz;60WGK1+_F)R$MvP6#QHD)i%`up<|Vx`>I=2$e}h;YO|_&;9)Z z{7dE8uwLYH-jf{=q>O~4H2&vRZlPM$EG|})b;ySuW~j^3k!70I z4a3S>$@8b0t@W6+BYFBHgQCM$%hK*0Zbj$(He#=9Xl>@?CzwMX#JR%S%4Ep=M~b)F zJ^H!-{&!VA_(u`-nZpl6O3B2;G%EN2 zfu!=y4!`)NCVzMh)4oJxgF&vSi$D-lr9{&oG^NHfECc~DbxP#kvEe4f!X^08zl5b9 zXd0Izuz-y-$(PzGQ`a^i1kIdZE1BJT^WZ3y9F7YmTHZiMA51Ui}^) zUHr!^PF`ocGD9$`s@*Fr6q21CO?x+>=xglALQWp_u^zLF1+z0Vj5ic7YrY7W1XNllZQEll z(o=doJ z(GbPH0`;-qH#oY!T5#{HK5t%$;qq&{opZxF$CLgx-|XJw^X;E=xAis4`36O=LYz+X z?xj!oqc?uS)!AvR+(p*E&(7_DXB& z7-cC2=8PlE@1&qx(ex@B`#L7gqUsAcxno`y3%X}ey&;SJtP2&t+CNAXc5ay632@ah zf-t0B_6be>e7BI+Njt@{UOhre!g@sbiWT3JSTHlGnV#!2KEFe`(j;#mFC1vKEMI() zGC3ab-kSkZ2CtOuJ1zQ|Wo@hE?t?zR{jAOSBhBtsg$pwwl|<2Of)Fpt*}d%OL?6iu4<$g-p!UJTG^B#xXs+NGF&$oAE3))xz=CNHCt>x`0{ zj#X#4raz!!>WoEWeEw{k<@OH!60CIlmDQbq(%VuCZJBRg;zIL1-dXqqF3!Kncy)?M zon77XG6>v%FH$@7ui~M=3!V`p7?uJJCf~f3wGbuY%ha1_;X{cnsn_+O zjKJCMtJk+|@0R5K5?dI?CqwEDed_n3-|w>9+2yOPoBVp?OCGiEvf0}qPh&0wH@M#T z9v{rT%axfq#wsC3!bSZCyBA8*)NyM|^QZ$o*&dnMF~ZUgdK5fnt@XFeZ}fO;HDIza zO+7jLBFeb{XCvgm1mtLMbbwI;qa2PLKV6)C%8(jV1+O@@$CLHDeZx*_Y3Gjm8PXv| zVOd|zSbowc%j^r>H2-f2N+P91TZ=qrzQr1iEknGs_KU%xa}HY=Y+m4;FFx{4bPute0x*z>lw+FYY7(?BH~z{Ia_a?qnjGK-ID%p>G`0| zfH;wR#W?riyw^?EH|*{d?@)e^2afDJmt1BLGFSp{dtBBi1-W z={DKvbm(^?^6YTGv7w}>DC{Y{#$L%VaPD%%EMB|H(!?B{?C12d z`(y^JK3M2eKsFG@ImeaBcligi|B8!?*O;1`e?`LJ%P~8jFg5M>wr!EK+bU>xIOJP! z5W~7Z_wMx3PLRYfJ10q!;57z11x1mux(eUi%=r0#Z1MPUMypjEx+YIJ)+h2S=I1qy zMukU@`rNuLXq6pIX8fQz@SpLj2+Q-QJyxD6iVvHd*VcZw-{sEgQ;O~w-pKt$)T`sn zP1c#3tkY=dmrklh2(9`tB_Iw!I!C2fQt4Wh4LLWbOJ|U5LD_umflg7pD6t)Gf(>^G zas!z;SOVhZ5CUp7#oV0c`t^YAZAH87u(?CyGdM>lNiHImB+ao1egmD|f>Jyj8R(SCvRzGqM_`_CXS?K!hqHWe zC83_2&n{v}b>CB6jr`QmDDw2r@*rdgL49=f@*(Hl-OZG5zjn~K{Nx`% zQt?~*YtXZm6epwJ~JeV<-&yk zDZ^7KBDEGYo0`j)E7a=&t==Y2*S1)FI{8ANBa?t&B1WDvYxPQjj*y@u!PK>c%X!IK zw?zER@$AzoWfqVjP{c%0L2Wwa>PM0f|19Kj)zqQ=^Swd%7 z5ta&fNU|;|$N({rvx@=IIYtsv42;ksYJeqG+qk#?j^O$)s4V^#+gRuM27F$rfPm{0 zpKzge{qX%EKnRq8dVGO*=Kd8fzl?hJbGGaT9lTOPD3Eo-Y<-FA)8FU4`9Ef9{u;Gf z^E(f6;Qwpy&7R{r(k#!P``vHs5dZ=U0TLj=RZJ=+RVuqwS-XwZ%T&+U*tA($KaAP@ zW%D%C*48iGGh;SoR-M&Z*;!S}ETvLXQluynAh8l_AlAG2y*>{&f*?qc1SO`VRK+oq zh%N5o*WK^upMU3^VZog#xv*rTGN0DKK#Pd&?T9cu-EdNCIBYBKJqVcijfJ!gmX|e? zlNOfsRZR7AD3y^U8T-2#TN@dl-VV9_dC23(F+q?X2RR}GyN^?rG^Z;}Oh{bUJk_z= zvT~aF#aV}2=Y2kVRA#4}JV*CVQ$ed^uzMgmI7}%NQhfjHgFFlrTWfs|wlcDQ6@5x! zq*sV2Rt8+Y;`7#9KGo{0gB%ztBljSE#coojp_8T@sg#+ov&pY)2&*UTKu-B1zKVOf zX-Ztjgft~d^%Kgg0!Sf_HDNa<>_mCiZFDx35k)D7?Oaf>UN!JsiDem2+E55^J%iZ= zpXNr&%1Vz=3{Wye$A#yDHmxC1nvD&GQX#EYn~O^!%S#qBvksHf&Z*RMr843;zm~&8 z#o>O)!-o;K??wzd2{O%yGZ!Ho7A_bRU$WEDRsq{#n@{)ug^xCV&b|Hyao9o(eCFIG z-oE~0-krV0;%t%1iJ&-Fk}ume&KEE8PBX%cGCt`CY{m)QEF^norJ|qwKV_}8$ZNyhHhfZc7$<;4lVD1>bm~6^9|gv+{pm z1Ow2i=Af%M=&Bc*x;~4|wE+*l?DJ0__PBjFA~?+(>M3}Rq**ud-Pg`*y&}o+8KxYA$z+K4(Lmp0{+pmC+grN1=z!~fmGdx=S2ubr}SKjGK^CFRcFO7>bV zYM9A6rmR~S2*M$0-Nhk6kRXP?%j<&#;NlWH`$VM;%(s4y_4a>5cza|rV1Hlmxyb0K z4wk4;ai(yM0>&v7`JUZix%tAf3ZI#1Au)`+$gWbhu^owN z9v}N^U3GG+Lu3du#w$viO{mxNK#W6P|<2dC^7V)9v(K$pxqVh?7`k{Lak!rdB)iSkxbL;Djuy4*xl0Tu>4&5 zKmf&3%KU|p=hQXwe# z2F^1MCOle?SX=F~azEn!{hSGC+mfkf!nxUu=@|{r1v;8cXCx|RZ_wg) z`ys#B`xkz``%?g^kx9GP!45EZg zXNXLq<9mS zr1S>$%?^+DU0G61J*a@X6F?om##V(y#(FqvHDLAo1eH8i!sxe6z}}c7R!HR zVmU9r(T(3G{PO<}*!;{RII^*ld^dGOOV26m7AfKxI{QczFd!wx!Y3Cd4A7VU1@nhL zMW6qa)IC7U_z4xfyW3^0|A1fWzh#iNd3);5nDFPGyDq~Jl*0qp0~KHJl3LsNGi6s^VP$s9xY8ZomR~5COmoo zjS5Un*{@vOrm3deP1)R1e0n?K(MI~5!t#jDK0Q(4op+{KT53?MnM1pZSHrd?rILjZ zdbsU#`b?Q=%~3Dqu#;y?UKc8rwEHH#;4FfHuSYL8j9eYI(SVsbO+=4QnxLcNiP{UL zVC7MYWrrY+XwJFVC7a#H0bA<>);Dq;lGS;^&9@5t=tp&&r{)FEm0Xy22;cGu4?RA< zUFObx6Jx0D@*@(ItOc)P%xUn~=u|4OxR{GUnt3Adx$%_(L8RGUjkxCsCQw{l_L#rm59c0nVxC!B8*uMlmrp+l zc(@wj7hrbQU~MfW42O4O^}&pD!Ox-k?*0*cau1w(f_4II<5<$7TD6#(vY!e3QXnSH z6oG<4l)iNQs!XsI7;Fqo&a4gk61a7X#zl`GyzMba6t};KIcn$Lh9j=sX$Br)m~wES z`S>%%qfN!cXNu;u$;^y6K|K$Ge38)UYWhLO!Cu6{o}$;)U>j7bHua`Uz3Jl>p3hEs zo@8q3B#C5H0KUE&@zek3kf4(yB+Sp+)LxJgdKy8Hv9pu#crRhMr3ju1UULGDF??1g zo_DtS_l*TQwk?=!n&_J;X`&HiWJ)nLmvP~TaP22H&CAAfTUL1iXh#1~)7j8G__^l( z&jj6dgD5nI4>Kb~;b36lKH00!y|gkS5^M}CBncWthCzZZv`8B(h~*EF*M33j9p)Z7 z0LVP54+7#S;-2#{O2ib68X8UAn?B(bjFm*30bc9-F}~VQ-I;EOK+|Pq;kw zLmIVdO!M2Kxfm^U)s?t5TlNSUy+lb=7!Mn!RoyripHujqACqUiMPM95zP`-drO8wqP`xtq1;32a+nS^4#kvL9)x zNrvn#t#cax{-NUWUPimCUulOCgm8EykRrp78HORTEb&6YG1C-yo}^JXnVq(H+!ADm z*>izpnre3TQnZfHX-fT3j8k^l+X;BQ8L+oE+_Xt0=Vt8Zf?&%OG-@VG7hIxVf$l)F z^H>rMG;yR)$O=5$?n-G|M{w9m*=Y$@*E4EmMZr7S7_AoU??cpA#8F;|TPPV!PUhMl zlan?}7abat=CCdy-!2-YioQySRfmJlE}v|F$(_C5@}ToE`$_AmGiapLC?Yz^0o};Q zHq0l_@L32UFf0$tE>kc{c)}e%XMxZL;uMuwZN?}wVI#haItmFkV!|}VnUG8rDiqw) z2@sZ**BnhuNSaN9t@Zraqq`inty0ixWvr~k{OVUdDh&haX&!G3c)S&|w+E&n8BAL& zU3zgvO>t^)2 zDGwg>`TX+^N3EQlwYcaIMw*?S!EvB7q|ZOyKil1m2agm^A)wb!u?_HSf#*sVmt5*~ z^GVhzjx}+dpyGhd&6G!vG>3U{KF?a8TJX(u5Jj&Z!8X2~e(5O4i&J>uNbEsC$=Zm9X z)Q)HRtJgrSX>sExC8VF=UW&MO)8hQHO<^*>v1cEyQkr%@Wp1_MPL^Bjfz1cU}-fK$;-ES4!fw~~4umL;jzZQg&s zK)r4tWy0;-0YT6^;iJ-OWqkNiNUQ{g$T)YQ!1P>RPcwSSq-i!>^(Y>1Cw%^Cz;Ay$ zV0R}b43BGx3^SwJ=rTWNbLIRLZ~w5ujm!QE>k%L?)*TE|_V*Q?UPh!~Yc1x%=K&8_ z;!_n>M^H+$y`3UuglYD;bSYtB!5Y4R&0!r=eh*QUadecTb*^=C&{lkTKjgtmz}{Z+ z;DLnVrnI`$Ym_AN0vSuXSEry7f4t zb)>MY2x<07;=C>k>i4b|lV6>tP z`U!EAabR4SwP&g+?WqYhv8jyPy&#qt8F>d`2(PTrXXtQpr>N&q8Zx^<#DpyF`bZ(A$M9 zC9@+EGkV?tbo9BQm|zq~9NrCR?;K$)#@sk}k>%Ni7qpa#5Iz%4m_IML|GDCDsCRUl zoAlm(!aw|DE8j+v5JxF-oJ&O1YX*i5(t24`og0EqPZzng9P`DaL&E(epL?F_J0n5U z^^J^!eZlAVQYJo(n4T7tD}ud4gM)*N!@ZDxPtoryZe4e{`IgI#TP3z0D?a`>qTL=| zOHu&kov7st2MQHu{JI*WTXa6GQ=-5GGWo3Oc>uzbbi{CSgR(_~`8#PdunOA^N^?XF_;vEs8&2mJGY z@3OHG(d{N=8CZ^@G1cMf)iUqBJ;T+j9Nm=oXt02-Z1L_t))G&tHd84S#!p~EOmEwP6MlQAP2Ylb2L609L_ zApf0#<#)*DKZ5K39ev?9XzKu-Jwpf7`HB)lgOL%(0qy=iD;u91W*Zlt zxncnrRJY0`5c%WP`p32ghTt9rg!$b8jMg?S{NFDdy3lMR>VqmZ>N$>W2Buw(M1 zmR}2qO~P0(h!eUU*xy$i9HeY+MbuVIY$GG?#~8MORR~G?F+o@5tK)-|o&A{jMfxyL zp;9ubR1E5qCRcAbOiw!$3$N~qQVML_pk8;mcu^9D5yb)&T*2-^hl8U5LEj;cO%9JV z_wGkXp_yIFn3+{fH1e%IX=JE0BT4eTs5#h8*jbNH4?v6rj0jR2o!JZqn(b|c5Iy$y zV>UJ{man*6T6US5kd%t~$T&JueDOs>yRGPUbFs*+t(dLNkZxDywLnIcA78mcU$A4W ztc3ixzdxejN-8BuqhYYLJUk`>d|}93Co;j`VZ7O}WsVCJav= z!!TfW+T`*jo6DDdre~ZNvM(K1QlD_Sa#fM2j7llw!TpHGyNdoG&sfQ!&BW6aH4JN& zlqOXvuhNM2hI$?sFWKC9%j3pd1ukB6v8-d+fTOU-Mt6hzdylxkyT;>qm+fGS_1;5z z$d)TCACeLqU|$Xn!|PFDKAuk5C+XDgR7S=H3l|*Td$&L;ePkBW-jO8PQ%==7?>9l9 z2?FR1bUv@_fbR?1eaT<|aiFM_3@%gVqF6Ms?K}|61DyQbGpa8$ zjGQ54TX`13u`(LfT#Kw&GB8a^>o8^aal)4mLN+%;TKgfJTZ*;y^dzA|reKEod4@&z zI@3ghl-=!&Pesb+dP=>b@X8XeBqd~CGC=^bwb<8t5 z2KBnZbW^b13ZWZ;a?m>8KJRo>!XP6PlEWj#=B7!bk-r0~RfAGV5(S#0cFOv;;@-WG zmDP~mu&&dxB(;je;zE^cm&@FIt3b19zZR?Vcb0x=&R9%Mo3Es0_75|D`*$Jt{@&nd z+h-6PgydvzN$!L$vG6d7$#XJ!RY6KXABh|~l;@&=9^jM@N&fI}NtSos0WD zjdbWfZl`&6$4-gU0lQmUs6$O}x6e=Bicbl2a#&Uc(<~1iZTUu2D8C9S6_ZlQpxHFJ zeBI^py3Z${y8PqMZ1(yw;V@iGGXo>aGgt|ND9VWAoN4gz;Zy0(XLP(qX-chMy;U;8 zWW(apMUUm19v3e=%rz_uXEqlVfJ37p`QQW1^rXR5rNF0O9&u--#qLI(B+k3_=C)#c zC#6zJs8t6v8y1x^n4Ut&{9-pZVS7t+)J_P3leIa1$)Y*uaqapf@7(gZe%Ys7GG7|x z0PJi=OAAP1+d6+z5Yv_#USTsN$jQEETR?wl1QVfHaJ{ub$m5N0-(AWi&LcyX` zOo52~{fLi0PI&MjWNRx#>paWTY9%DeP*21Pay^}(4)Mw1e(z4e%KeaX$z)=}U~Uew ztitkg;icLe%~^|LS+Krsb9iKO_wLIDDxZdB32t1m`SJS&ZoFNhIpe~fBaSU#0_~Q`#;L)ol!sR1WHB8JGUI(d#}j#TV<*>8`rf?Oze;QNBnH< zHV+?s#P-8a*(vrpaziqGdZ*V$g7Ob(MT)^g#a`(iD-+;*{~OcAnG=-tZnw?)<_aI} z{2d?de#XIpO;0P560eqm(i*}Log}DY#vvx3?-)#ZGc4EMrd~I(tmhY+Lcq)vc$Oe) zJD@X;ei;z7pAU3SgYOC6zG?H`dqr;CD$$sHIju$rxOmaV_X~vK1Zl6&{X<1B(JwsR zXb$RjM@7tHSnFnTeVu z9g=sfwEMw=>qah&}7V$Gy9VR2#BVt(49-t?)}EXrl$%zLfJ_hn$3F3stTTkpce zxfw2B^?7vPVS7{1I!x&FQhGs(5Q0IFvGq7&cV8pTbSQ5RaV$wQITS4vR4P!d+teo< z78WedFIddZc}zDQeBU@zs#FLQ!*D5jArlo%$&+Z2VOT>2Z7Gnxg%E;tkl>jmDxOC- zH0g!;a0Ir@-+NgmND@gLOOyh~5>$%@(n>){rlx%Ku=c?#NIb8A z%*v42WNAVWrE~`=LRc7viPRd$8P?UEf$1eBxSr(gx6Akii-pCAjkTEl?Svrd5T$*R zsD#umMc=?JNvw)wx?!;}WpV9_!{VaD#H54cyxhx6h}<)$Qnk5!wM?PpFgX|TU?pUA zb%2T?Q8w2;Vg*`jSc+DiuL(!ewUG;rbPaa|<@rnvLT;zk1bZRF>k1 z3Jr4+m9=q_m?AzlKDp+)$Zw^RfR#WyL3j>Et%_C&x}Sn7@N9*Vb~L)8@po#}vl*C) z@iL#RKY^pbM+}eu%uB4O(4~X{eWGqailS&&XcVXMOQj*Z?`6-?#`j_Iq9oQfX31r1 zE8<``WDs=;!h|F$VhM+$Z(!LP!%kUP@L9azaqWu3!h%D+;XKD`I}NUDFgfY+- z%MQ(2kH}JqHnmGG`z?!|otVvan>dNF+%76AkVHO89cQTX8az3C_JWcx@rn|wVlYuR znVYbwV-HD3~0T7htACp ziF+%g>IjljK0i3m3?f5=@w8U>@LxM6q(c~Y_JOU0VPvD{Os=f4jyO-a#| z6bmMEGY;?ED$wnwv|5U_l`d=R0V_R|y%q$!2~k%O5ArtC=pmhPMDxrim1Ejx{x?F5 zltEysZc?vGEKgA`!DP*1YQbf4$z!Gljnc>v*YQVHhf1oIa>7M4m}UJ@+KiQ#pgy};ad zEXoy+*=g{d+^?v~?5(W5TY1 zYr0I;Ox!|-<)ys)ZiVaD%fp(nvoBCgQ&O$kRI4`AlQxwCJbI|u+SaUX1U%l$vpY|o zpUAb^eAl90Gx_0L7FVw3V{>8>YBj~vL2|Aq2Bnh3^Gv2EOlBrcW@iO+^EUHKB_^lD z@N+INk|eZ!L1oh5eBe^AS%4-@6OtrkvTD+(S-3S1-;|WPRr--)PbE3ETxs@Nia{i? zESD@xNs<85bZ{JtS~2DPf^}xL&`IQTo>v2}20xl{xp>28ZN=sOy#b$?ihh*f_#uOy z&!A@$hKgjkV6|-n&owawScYI~!lF85;?G(vop<=blFLNHqFjFcIeBW@r7`I+f1$+g zsLkqa;y#u)W#S_#=*PT+2>Gv0O?E*X} zxFb^$=(5bNbj+;aXao}K2vGcRbrAubgkV6mO~FDHE}%JS*Jt0>-Y3b<5@cnm=9iA$s$=Cf_@|q zNOp7H2{9Z)BH)a@6M>@9*oe38njI(*)YNz#&}w2I5&9`a^8w-MD_m&P)>dxlHTr9_ zb$L+yGCk~GDPA#S2m0p?un+F7I<$IEyv#7NP<)ymkze)VK#L+)VD3pO3T2rzicoQbkCGeVk!E*WkP|h zC7qsA)C0doh z0^U*(^fAr^^pKJRe*ywK*jp$cueJ|ww!UUdzaY0R9{kw9U<=Qi1onmes}hARB43&I zx)YXPwBL4eiM;G#rp{a%=x!<}Fin zR8ijAc zpokAfToTe3s4M9axhdG(@nh_p$g2E|$TF{%T6shHsEoxs^t#`Ot*k*=lxV`XhfbA469K z1^hMy%Y;yxB=yF~ZRN<@t3ns*MNP5MY4S3#wM>&zFEeohHC+y@EH5p>vscgvK#kebt9RQK$llaVd7j{drX9$EY zVSS9|(HyIDATT6>5-J#!bdABHxd>Id!Rs8#-<9Sc@e+js_}nEyQy|2iKKz1v#>)F? z)N45-+S;QBm^K}j`K4jp*USifRl3ZJtS4?kS}`Ck%hPB@^xYRhaJ5_`zjeR#IG=6M z$g5b5iaIje8aJS(q=u!$^YVL7Cc?<*@2&{zM%9d36 z(eg;-WOWSNH2ea0H>ktWqLW2+>+MCw%wQ2g+R|_^VoteA(hUjwh(~Ms(sfPBw|5PG z7j8aaq_=K-U-ZyW(Z5g^FfgHDz(tdfo!=$BC;38pb?4+iMCWM^LjV!}89#i^o-4(e za7kYJ%yff|&gVttJmrIXKe4ociBMA8#G_30i((2O212mlI(6Joa#NhE?gLHNZr}0Q zYa{e7qEsoHeXM)Z&W?2tLY<1w+aUpiG{osMgnl}qhYym~W=m4*%4kB-A7Vz4Pu-I` zlSB-Z{X1WpzJo=VAfhoypz|RanM-@(LKO@q@6%fHk6PuRmQ8Z4;<;zucxY%rYyy`I z2z8H}58!CdkcNT=pY9D&(u(`^W;cghJwoI&LeJpdJG`*5g|kn0S4xB}WC9y*mwO>F z&F6GQzK`~unqWopw(3?COu5}mEd3&4ps1UyYyjTF6eWA&d^R{cc93`Oe3Qbc>j_y# zDcdS-I>|%U(fAvebWt!s)j32{H~6H(0`Gr#_5V8wXVtKPNv# zM*t>Dw&aa*=mH!+xrlC#9ZEaihj7r7)O)?g#HXzx!l2~8QK}e5|1egrvD&|+>#`=C z*lAhrs&c)EZ|o~$olzNKr$KO=;uNMA*4my;;Z8T{r!r5VHH}DnO17A8Oi#+o(Dq!X z*`)~jKxh{i^#g`PBF9Q7-XDkA;uLS?$Vz9?0l>Nb5r-Vk|NMSgFnRM~-rQ4R7>FKa z+G`altDA6RUrVC-_H{_}#yBJuRRBzBdSgk8#gjWa-)-;0nZp}oRf^BiudLYyccLaO zc(!4qNCkbp{763fQb%q9E3WH7%2>TS4I(y9<74eB&*XcH8cFQ;){c{id3~_rW*`-F zSuBIax@}`Oy&kBR-4EMvC7BhDLvuKgx#vVr%fN_gJf2Av;pOM$r8Op@sib}z5*qR@ zY7z@!p*`|L!UwA^$7DLi&ZZXuMG8<4JrEF`r|a`kpME@;Y9&v9#)zk1w|O z1{}Xv;PEUAZ^(}>s9=Rdw|@N=su|vWY<4nv#VC<@LRpimNi?$5v161yHN@^@o_%?f z$MeL+*OhGS^LcxK>Wd|5VDCJI7KAB62dPIhzpVyqkK3ov=`QvM0z`ZSH5+arEzKNv zJPA2zS4r@J3eDx|9(I;x5jkQ>z1qI~KJdaZMNmzE+g!ad|IYO#gBEYN>#XL8<orP9erCK z@*poZ!NN_CNxzy>fhw3@)$r80wTL`x5UWrn}Lr^6}}-t7PR!7g+eIkaadxvS!Ulezqc zzUlxtanaC}XGt*{mDhR#xgGxs2dE6o=+~Dmj6@FRC4?S5z4FG>FAt!s{965y9d^JY z+UCUV^Hz$NNeKEJrBlH~#;Sx>wllgz0krU|+tk3zjMN$v8eUw^%>{z|Fj(nmQI9ln zIZIo!#|V`KwLJAg-9V2aTK*I75~;gK!FPA`D-F&XdaiCMxmw{Ti#^wMO)B?1p&`o; zY;I=iCMKDR2w4 zf^NP5m5NLkSGr$e*P&*yzu~@?j7kkaLQ80hK5bj}9RxjZ^R)3w_LUztA6#D}d&C

1BmEX_2$a*jtfETV{?k^+hA3VJz_x2M|HX!qcb!1lK3Y0{sQqlyzz5q~~8+549v(?&CH3WdT3m)+MzYrC9!L6Rws_NOu3;2|aq% z?KS-GekV;`9Hal{fT_6#2b$|YvcJMw{|$M)wDttu1yfCn<=Gw%05ws;4+6#SwY{aq z!67gJPyiUvcO(F$D!Nh@C;*^_1OPw;edG9%!Pd^{qk%2Gqxr`L)dR~p4xA_V@dsoX z%GBzKTqhDyuNN9#LhL5&lB!bm$e#;P5UP?o2bl=>E1w=-&Wkd>@{KI}RO1d)ruXjg zZHfDRZBvK>n%PyLVM31EB2R@KVlHapn%&a$Q!`R%b+G}R#1|b2*~#f?-~ zMx6gqT|H2z#6ok&uq@~O^5x4!5@i@?e>b30P3wwyseaI zUC>f^r;9K7U@F#FOe+rsrlCRVsQeGt@oAq{G!Mid7AAH1L~Lxa>gQ`z;6`26jhMNP zJsHq1Qc04aMn_Mt_AbC&S^b)XZ zf^;T{oSl>te(fnuMYUGB)2x{cX099({-Y{?=A`5ubN3l5->$Di3?l|p)H+PdLO|M4 zSi_h&fn|Ij#2D`eD^&-}PTOlr60;iLwUJi3<%8O$9X#aQ6ztXVEz@eP^T+}>k7MMj zf&_1kd5joQsp1zR{$+asqr!UfrUTtS*R*vvL7yb#z&=w1s)hPWZw6`>r#Bw`lPt%q3njTSIy#Ie}2^#U{Hgso{Uim zcQ7{ol~_^cb>!$u=>>Rc92a#eT$TU_BNe2dVmTu8JtH9$#u zLrJu7mgLUtL%Gy2DnZk3s)E#RO3$2z3VIB-#{EA1uC%n1EL^qP=3Kc%?ulAmbMG&qIVQ3T2mSe10^@NS#mo%Z;frADkUak0}sgzGsL*$&{<+@H+g zA9bF_VcY9bkkj%KZwL(_6odQA$~y^OW@eDXBGT2_jibf8&0da}FEb1AjlN!xVPxg9 zm}jR~Yx}zHSpDWBG}v@r0SsJf@#|Oz8AttlceTk4aZK=9>LkB`1dVv2yW6b?2G*_t zh}RpglW$z55{Sp9*^ex*Hv?_s%!(U{D^4%08CbKgW!*#nNDbIssGc9vtquCZS;2XImE7E1%u4Pm^9Evu<}!R; zEk4a0mv5jPaT z7>FS_%E9;OTU+nwp`Km<08dZgfWJnUri_**acBU5kQ4ww|0BBC85@`zF#LLF`Wa*P zRmCmw*-@IYcRYwM)0E38dYDO}jaG~v#_ z^N+pe1v`&^#H*p6!|2u8iBuOA4+$>n7Syu$bR=3v*dChAv|MtIVYHL*&EYPB-rUOt zM6qtXO%l3TasT3GPQfd?S{Z;VCHfWz4R=A+<*6yzQK5^R1ZGFBE_jcxP`v-)6!dWy)}sW0FCh!m#bMG%K%*yZcHhk!R@$38aw&^d`P z2c|K9zhTG8cVs+PNS$@)IA+rz+fc@|WeJdwTvshptWbD)#sa!KUq*gxZg0i7CN;Yd zH$1Tm=TL)6K^zTzbE}7m*p_Pc*w^niDs*z-<;^=Qh`npyHW2IQ_U!{%(dy6~k3jh$Kjz9X5}*dFSMq*q8XxI(Vb<`VGm@v(+xi!+RE=OI&zljIwTEZDcC<#FSR z;hjLs+o#=&iIICpmCmR8Md5c3*ZD*+H*8~1Q`;l%PAB_Q*hEjaLvqNj8Y>p4OPR1y z#sMiAZfTwt-HgQ>Ika2ZJDmw!7#vVbFTcOSeAAjrV#uTJQ`_xAoKbo0SpyvqUI<-= z1Kd@)(M;iJH6K>-fiHP+2)gGy)*-@pZ%Zu>hV>l|(cO28wMlDpvq(NkzsS^THx|n9 z1Q&!aaKhvia6cUG15uD?`NaquEGDF_`tIP~=6v{)NYw? z!a3(-`*5Q*E9Wja1&PxK^B)sxMKX7yBDS%%8Uq(rgokjb5|s>-x&`+Moghep$6hM& zT)%c;5m@#ivf`RpL7c3=hN<`HA>;Eg3Lm0+zZ{lX@DWW*d$G%+aQ7}oWGBpyg(WplO`eOy zg_o3vKkZ;Ov7M#U#Jh`b_|3{EDmxv^v$$~$te2QxZ!nyB0?w|c5DsQo(@i*U z8seJc9~}wddOWcEn0f~~oX*gUdly)xXBa*vBN+~ZefIpJ9bE0Yi6ugCB_(p+Y}yN@ zS>K#oiO$Z;zQM`~E4lprgb@yjd*VdCgzM#edFp|qp+ejci`y{WLQ84GY^#r5M5{lu zMtyNo^0zI@>k)SL3Y(jP+&WW}VpY6l;Tf&*afx~yV=GGZmn=u3hT$%^F=gOv`ugHY zK@q;l$(r~tlVoBNg~NM1R1o4-iIiL01i|p}$ZKys3$BT~aS;Og4IOd&Qa+K(bW;q5 z4(hQ8Q5ZQUw*md4A``6@FU|+%q;#u>TrN*!t@}9*^>Ts-$v;(&MjKjz3W#}kX89=gSH7;?PJNzz8R!I%@155e|}aY{JBr>UdZ%CtIaD zR%{^;Fb^&iEq=kU-{qyunQLXP&eYM|Bx#jp`SALbL9wkcKG*XLo`ytlE+&kBizHlW z_MYna(PwGQR1HVntshX4@v=P90tB5+=#vKEWf5%;T=IPBFJl=+*)jQ+TQei8tDQEn zwz+=<3o}6(rR&9YaWK?y2?{5ET+Jg6GhlR3R3&@4vlY7tWN)FN+++}q)x~)lksrH* z4XuuMo&zUI5rqr2%bNtJmmkc8GhjlT2Sd`AIPf&~@)2}IPSoFWg~S{ zbHQx6C%PByYUWVT7*_Q8#FX!8-s7+)eaCKGSiO^0LrqDVzl7tH*QyAE9)}!{>!D}; zaG8lnIn-~j>Ez(@!yF@}Xe;&5QKNVK-NcV!lYML3E&A<^wfTmTo6uCXnX*r16Bh}1 z(U%{CcQ1|4N%RQx9(l5_sW2K{V8WL?J9b~ljlbl7=e-WR?l0|GjJ*F|=Wlm_42rCO zkG*#9IGx);M}VNn{1O23LhqBUou#?5`9}sV8-tIw3?_C4=D#8^{m)(EEQlAt3;^i2 z|93avk+xtkCIqOJhLtxl3#r47C{aHgRj?X^YFDc4m|40^wB{@R~6w zC-wV2B|;pn7|wux20>vAa|D-)LlxQXCk;!xM|0jQodSMKVxn89$(uy6)2G*nJ`UG{ zhggjLM5uF%%0TsY*TI~TMehMV_B)AWgyzC*!D4DuV#A(jb~+aE0_G<__Z{eFmo8cB2` z(tLI8BIU|j<%yA`4emt%)Msqd3Q9rRZ=Hg7=BJoV3~h;@}2Cys!BeeZ2`EYIoNGjnWc8^>Jy8sTnxw5GraF&Z28o@{`ToI zVtHvfcLUNs&gR`q2bQb)LMg(lqiHSiYi^i@9-jkqPi?#pF%%;ibxpO?F05N7B+#${ z?j(@cirRCp2OXow)TdmN;1zoXtY$20woSk+;-u+=44sOJZXc{+$Sj90AumUV`SAUH zH!%iD4eTJp_mo$nVhs6C{k_foGB?-B`Hvfw#|MEn)N#%LUll$bv29pb23fcVl^t&q z9R9i$q<|Hya#JQ#dR&D8f47b#ClrzBa^G|>GSEDx!Mvng)Wl79e`K-#J0eE3mN_dV zmT3BDj`ZNVBzxnd4;mA)U~%N1v)3THQ~H58$zz9)nykEYdv@7T7FSj&)Vd7l`Q9bH zx~6EN+EL9aj4m6Mx;9{%aaK3w#B@>E0f|7_V@*@MPppg*`l>gRpVaj>8suo_5>^tc zg`i9}aI42(Q+x}~=C;MltdOt_)mZARcBI>a^Ht&C=KU^^a=xyNp-w|ty~wxB*e)U` z%xO!^d}za}`pSJJX;0J#KIKPqo=O}s&F8jG!N-%ymz1Hy7)c>^xL?jHr&V961Wj>) zflYRP6&?l#D>vXYl{8rl%LhiH3%RwA0QZZW$N0Y0?Aoy*eWef3p{xx>@Iv%^1*L$N zZ4DeC5xxx~FU9R7}itv_)A;jeRPT35{pNMKFf;5Ad*x}7o z7&gdckJ4>rUa*;#X1WXG)YJigOUJn`?#hWlY`iUH@44j9*f}G%5uM}2o7>He5NpX~ zH3oN^dnJ9u+3L6zmew{+l;3PVB2y=~IR^FhzHV5OX4*}RQp0HV(+7Dc8B7YjZ6dmQ zQ!TcmC5i&rci_-o$bMRT`WGuGUmvuf-NITs1T#X!uU-!@*miGj=5EDQ27gFg-kK(M zxm(u&E~UM(OlR`}&>im`7ovUzy{@HDYn>I{gU6>9V`!$FFNzB`leIf$?`h}hi z?2nfg)QeA83Tib0%K~VPebUPUTlJ5s9$m)mV3r&Up4k z#Ijv`l+wXtm+9v+4wqifjRElpavgsUEePWy6}zBNK@SN4VEo}!>~wTNMMH*PAHSkX zO3boFG9yO!5!C@9-7*#LXG%i2{5*+7QibHnJmeMc7iNz>`~1nqyA4M;#^Vt5qpmuG zUT0?x`y-l*L^0$g3tT#O@3T!rV5jr@eCg3{8<#&E0KE`cQH3rRU5*zbau?WBG4 z?O5DaXz1~C6-SwLe6Lkel*#%W@{_+t@`~+xgH?IgcRQlxCF(H=9cvdYGDD+wg=j(# z4Tx7G=(lf!J%+bqJYP^QW;?mi4B=Z?icHfg`pm+?E<}fTKv%h%Rr#XAncA(i);Qo5 zszHAYEsO;{^|8v|m)_dH8`u0^eWy^%WRkgon)_1Vh~~kZ#lnMeMQMU<2EWBUyL6{o z(JsJk!*6+f01Yp%W{_j6u&2=9vlf=j>x^~&)8N8#xQuwyd;sSyYOoitfD3UIzUg{-)xE zqC5cu6Spi+g(R0?M@9I>JCNr8ZW{`mCTm9^+mHv@#{U*@SbhZ@c}a^2UW~_Rp|9SM zfo$-dJZJ)5aRvlb3I*iV9|P>$y2%;(0)u++BEDfwx|~C(dkt8DDJ}q-nTjSM-xJRe zGi7gIu`D;HkGUXe>#UUeNjrz4@OSR$2ER=EoHlOr-eoF<)}7XrsSM7&ip#};XSI># zKF}Wim20!vrP9Wg_1w;vgST0EjoY4NS%W;dE+uZ}!OW}oOE6R~T5eA5z32#X&s*NbrTWGK3F^yimNKN}b3-F;nQ z$7>d^8qxF=Jx;PsyCVOo54pC(U#K#|#HlT@A*V-F<~zMKBvchkzOf1yc{XdxhcaMH zY`-{*NnCl(omh!=s+I$17gCS&&y3Smkqk2}TV6sA(}(e(Lb)5MsE2ed<027#aA^Dm_T=}&%TGecQD~FN2WMOM}o{cUOyM6p#cU*7cj2Pvc zEpOwdW~ekqE~d*@Wq#KvxOI|eEGA;7B6#T3ZjVEP1zwU>B8mBg=|e<;hz6}?HYDuSZ={{sBsIe2I1pdIgmhVOYq%aP_wA4EcZP=CBPqkbIq{hhAR^B4 ziiz?Qhx~@x5qy?oW-PBNJu8!YS|%gXQ@h<<5bCd1G7m*?`i;9~%Zk^EA_jX^zn8K{ zA>heO)%opl?iURr80BCF66I{naoWwMu`wzwoy&`iHaH#zxU6|^i|jVdE$@*C-EXme zY`6nrvk=}bl%0fMGfnUfbfdF66rl0k2BU8z%^P%QE5sOAFbd_yfC0X2y?Grt^O21G zT0G4;c!19<j0wD7t-@a(n8ijlX(}GcQ)+)X{P&DP0_Ib`)t} z5XP$%A7rHe1{R_|N9Qlq@0 zRxy=$gyAB$i~_ZF!NyS~26@K=NMbV~VB~OvftAQPsi>whVmP%`j;&g}jD zvTJ~MRI&mci3Dxv03hIZhWMY{kT{DR0L&l;{oud1a#(t58cBNUS7HiZdx!dHs}*Sa zfOLxG-xNBPS3%WU3lA3`ff+y9V=WbAT$WApOd zSJ4k~aWr>TWT_w_qs0bKIJ=CjN!c#y$QM|v8Qs`4gPSxpLUf1OV}-0_7Q&9Uc8==F z&h}K(xYl5lr1g(N>$%O}t_KNB59D-F|Lk=2ENu+_pV$3qX@4}=&svrfj2K7s-Tg#}rxpELG@L`C)>)`lvMWLbL3_SME+UG{Te3Bg|;*xnD+dB`rNsPemeBiC1` z^(%2wXd8T~G_O9_@kllY!U7A?@+wMm!6BUGTHNGBmHLM}u$MWHzmi0XlxN0Rh$9CU z>(ljuSCSTHbqJm0pB1$_o+H}6=LvzDQAjIMfd|I$wxKcF!bhb=iP4KVoEt&_`&xP7 zvB1}9huvLJUGX1pwdLtkin`mnl7_7rX2m|Nt?@uM;oLQAU3B4)ZEf$*FK*wJO-js9 z(!y32$I!`Sd);bQ4g+rNqP2VJ<5bE7#fz<6?_Z!jttL-x#Jq&CZ(eH4#zr;31Lq7fny>tsDW>7rT}E37=Ay8W*Z8g)DI!3J1}6vTX9--T|2)#&Sn4L7N=#z zxqK$sH@$gr>$2M(a%BQBA?PxEqD8u_&pi?>q8_g#sB#RyhVZqg2pdLnJ0QP7k73i5 zEmiX#>w*EKxW9V|7%%iPIgr8of>u8KZ{C;r*T__%Obnb4#jVE0h9sx7vJ&MZT}-87 z_xsKazus8X==W_95-4vj@bAIO`h;QQvZ{(wSd#Gxw!cG^ea27N-#<)tuw_`y^^rqh z%2F4^=A4^pr<~G5unJBkjYMZ+nq`h0?6>+qw+bd4eVJoT{%#TSUHR041_>{cjqi=a{mn4ImYrY;TC z%T#AN&0)WhHJkW`*p?>e#kay#2|TaGX$v?8U3EQQ4GSG4l^jldi975+1S{RRq5?ZRB7s5j;r^nxjE=d2CGF7`9Q9 zguFtJpW5=LoG^iQBWWAj>(noBy^`gEaGVn((hpjo%Vfud=Yyl6SH)u+{kKnxw`53Q(oM zNOlhDB>@HifXZNhYBwP7_D8+*SDEv9M=?KX86wb`k3f{+{iz$MWD5POSoTL>2TL0> zT}w-|pXdHZ9M0)S@gva54?*MGpXJ!!%?6DgF!KFPZ%#U_ASFei;Z*6{PRK0@hOg7r0a&j|>nk z8KBGLXC3Ny`@r@K#nxEI#z0@r4pi|r`n96%4+PK^@~e>meoWjmgQWlfKexYn9%8Ov z2<8U*COQlz<~l|OO!QV3M$bujzJBgE33A{6AmKl&>7I9ezBuA{*D_Fo0J=z?FO_%> z@Yflh-`xR#R~w*l-G80$d5-mbp5Qkc%hoSq{+C&U=b+E)gug)pcmLqH*(0AS`20C-+}c;5SY68F1*>&gE@(yx^6Ip|+gvEPsY zfYj-qRr#O9>^Z<+Q=mTs;DDUSZ(H~Y@H-)Tj`G)>;Lj+Mpz!)1$^1J*c;5Z_2mx9g95D?`uPG42)