From a726d52c18b3a012b67498a12b7f1924d6504bc9 Mon Sep 17 00:00:00 2001 From: japabu Date: Fri, 23 Oct 2026 01:48:15 +0200 Subject: [PATCH 1/4] toyos-crypto: SipHash, and ChaCha20 and Poly1305 alone, for formats that compose them bcachefs hashes directory names with SipHash-2-4 and builds its own construction from raw ChaCha20 at a chosen block counter and Poly1305 keyed from a separate nonce domain, which is not RFC 8439's AEAD. B2's engine needs all three. - SipHash-2-4 moves here from toyos-net-wire, which re-exports it, so the tree keeps one copy. It gains the paper's published vector and a differential test against std's SipHasher at every length to three words. - `chacha::xor` is the existing RFC 8439 keystream, now public. - `poly1305::tag` and `poly1305::verify` are new and public. `verify` takes a 1- to 16-byte prefix of the tag, compared in constant time, because bcachefs truncates data MACs to 80 bits. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q --- Cargo.lock | 3 ++ lib/crypto/src/chacha.rs | 6 ++- lib/crypto/src/lib.rs | 5 ++- lib/crypto/src/poly1305.rs | 39 ++++++++++++---- lib/crypto/src/siphash.rs | 69 +++++++++++++++++++++++++++++ system/netstack/wire/Cargo.toml | 3 ++ system/netstack/wire/src/siphash.rs | 44 ++---------------- 7 files changed, 116 insertions(+), 53 deletions(-) create mode 100644 lib/crypto/src/siphash.rs diff --git a/Cargo.lock b/Cargo.lock index 8559887ff71..ffd31c4d6ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3730,6 +3730,9 @@ dependencies = [ [[package]] name = "toyos-net-wire" version = "0.1.0" +dependencies = [ + "toyos-crypto", +] [[package]] name = "toyos-osrelease" diff --git a/lib/crypto/src/chacha.rs b/lib/crypto/src/chacha.rs index 994fe6344e7..e58f007d755 100644 --- a/lib/crypto/src/chacha.rs +++ b/lib/crypto/src/chacha.rs @@ -1,5 +1,7 @@ //! RFC 8439 ChaCha20; the original 64-bit nonce construction serves SSH. //! Rounds and memory addresses are independent of key and message contents. +//! [`xor`] is the keystream alone, for formats that compose ChaCha20 their +//! own way; TLS and SSH use [`crate::aead`] and [`crate::ssh`]. use crate::{Error, poly1305::Poly1305, secret::Secret}; @@ -116,7 +118,9 @@ fn stream(key: &[u8; 32], counter: u64, nonce: &[u8; 8], data: &mut [u8]) { } } -pub(crate) fn xor(key: &[u8; 32], nonce: &[u8; 12], counter: u32, data: &mut [u8]) -> Result<(), Error> { +/// RFC 8439 §2.4: the keystream from block `counter` of (`key`, `nonce`) +/// XORed into `data`. `Length` when the blocks would pass 2^32 - 1. +pub fn xor(key: &[u8; 32], nonce: &[u8; 12], counter: u32, data: &mut [u8]) -> Result<(), Error> { check_ietf(data.len(), counter)?; let (counter, nonce) = ietf(nonce, counter); stream(key, counter, &nonce, data); diff --git a/lib/crypto/src/lib.rs b/lib/crypto/src/lib.rs index 24a2afb9936..8faf7fc988c 100644 --- a/lib/crypto/src/lib.rs +++ b/lib/crypto/src/lib.rs @@ -25,7 +25,7 @@ pub mod aead; mod aes; mod arch; mod block; -mod chacha; +pub mod chacha; mod ct; pub mod ecc; pub mod ed25519; @@ -39,13 +39,14 @@ pub mod mlkem; mod montgomery; mod naf; mod nist; -mod poly1305; +pub mod poly1305; pub mod rsa; #[cfg(feature = "rustls-provider")] pub mod rustls_provider; mod scalar25519; pub mod scrypt; mod secret; +pub mod siphash; pub mod ssh; #[cfg(feature = "wpa2")] pub mod wpa2; diff --git a/lib/crypto/src/poly1305.rs b/lib/crypto/src/poly1305.rs index d36f5c5a516..0d26eaa42c0 100644 --- a/lib/crypto/src/poly1305.rs +++ b/lib/crypto/src/poly1305.rs @@ -3,11 +3,30 @@ //! bits of each 32-bit word (Bernstein, "The Poly1305-AES message-authentication //! code", FSE 2005), so r1·2^128 ≡ s1 = r1 + r1/4 (mod 2^130 - 5) exactly, and //! every product sum below fits in 128 bits without reduction. No key-indexed -//! table or content-dependent branch. +//! table or content-dependent branch. [`tag`] and [`verify`] are Poly1305 +//! alone, for formats that compose it their own way. +use crate::Error; use crate::block::{padded, place, terminated}; use crate::secret::{Secret, erase}; +/// RFC 8439 §2.5's tag of `message` under the one-time `key`. +pub fn tag(key: &[u8; 32], message: &[u8]) -> [u8; 16] { + let mut mac = Poly1305::new(key); + mac.update(message); + mac.finish() +} + +/// `Ok` when `expected`, 1 to 16 bytes, is that many leading bytes of +/// [`tag`], compared in constant time. +pub fn verify(key: &[u8; 32], message: &[u8], expected: &[u8]) -> Result<(), Error> { + let tag = Secret(tag(key, message)); + match tag.0.get(..expected.len()) { + Some(prefix) if !expected.is_empty() && crate::ct::equal(prefix, expected) => Ok(()), + _ => Err(Error::Authentication), + } +} + pub(crate) struct Poly1305 { /// r0, r1 and s1, each below 2^61. r: [u64; 3], @@ -224,13 +243,15 @@ mod tests { 0x85, 0xd6, 0xbe, 0x78, 0x57, 0x55, 0x6d, 0x33, 0x7f, 0x44, 0x52, 0xfe, 0x42, 0xd5, 0x06, 0xa8, 0x01, 0x03, 0x80, 0x8a, 0xfb, 0x0d, 0xb2, 0xfd, 0x4a, 0xbf, 0xf6, 0xaf, 0x41, 0x49, 0xf5, 0x1b, ]; - let mut mac = Poly1305::new(&key); - mac.update(b"Cryptographic Forum Research Group"); - assert_eq!( - mac.finish(), - [ - 0xa8, 0x06, 0x1d, 0xc1, 0x30, 0x51, 0x36, 0xc6, 0xc2, 0x2b, 0x8b, 0xaf, 0x0c, 0x01, 0x27, 0xa9 - ] - ); + let message = b"Cryptographic Forum Research Group"; + let expected = [0xa8, 0x06, 0x1d, 0xc1, 0x30, 0x51, 0x36, 0xc6, 0xc2, 0x2b, 0x8b, 0xaf, 0x0c, 0x01, 0x27, 0xa9]; + assert_eq!(tag(&key, message), expected); + assert_eq!(verify(&key, message, &expected), Ok(())); + assert_eq!(verify(&key, message, &expected[..10]), Ok(()), "a truncated tag is its prefix"); + let mut forged = expected; + forged[9] ^= 1; + assert_eq!(verify(&key, message, &forged[..10]), Err(Error::Authentication)); + assert_eq!(verify(&key, message, &[]), Err(Error::Authentication), "no tag authenticates nothing"); + assert_eq!(verify(&key, message, &[0; 17]), Err(Error::Authentication)); } } diff --git a/lib/crypto/src/siphash.rs b/lib/crypto/src/siphash.rs new file mode 100644 index 00000000000..9d7fce3f476 --- /dev/null +++ b/lib/crypto/src/siphash.rs @@ -0,0 +1,69 @@ +//! SipHash-2-4 (Aumasson and Bernstein, "SipHash: a fast short-input PRF", 2012), a keyed +//! function of short inputs. Key and message reach no branch or address. + +pub type Key = [u8; 16]; + +fn round(v: &mut [u64; 4]) { + v[0] = v[0].wrapping_add(v[1]); + v[1] = v[1].rotate_left(13) ^ v[0]; + v[0] = v[0].rotate_left(32); + v[2] = v[2].wrapping_add(v[3]); + v[3] = v[3].rotate_left(16) ^ v[2]; + v[0] = v[0].wrapping_add(v[3]); + v[3] = v[3].rotate_left(21) ^ v[0]; + v[2] = v[2].wrapping_add(v[1]); + v[1] = v[1].rotate_left(17) ^ v[2]; + v[2] = v[2].rotate_left(32); +} + +fn compress(v: &mut [u64; 4], m: u64) { + v[3] ^= m; + round(v); + round(v); + v[0] ^= m; +} + +pub fn siphash24(key: &Key, data: &[u8]) -> u64 { + let (k0, k1) = key.split_at(8); + let k0 = k0.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)); + let k1 = k1.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)); + let mut v = [k0 ^ 0x736f_6d65_7073_6575, k1 ^ 0x646f_7261_6e64_6f6d, k0 ^ 0x6c79_6765_6e65_7261, k1 ^ 0x7465_6462_7974_6573]; + let (words, tail) = data.as_chunks::<8>(); + for word in words { + compress(&mut v, u64::from_le_bytes(*word)); + } + let length = u64::from(data.len().to_le_bytes()[0]).rotate_right(8); + compress(&mut v, tail.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)) | length); + v[2] ^= 0xff; + for _ in 0..4 { + round(&mut v); + } + v[0] ^ v[1] ^ v[2] ^ v[3] +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn the_papers_vector() { + // Appendix A: key 00..0f, message 00..0e. + let key: Key = core::array::from_fn(|i| i as u8); + let message: [u8; 15] = core::array::from_fn(|i| i as u8); + assert_eq!(siphash24(&key, &message), 0xa129_ca61_49be_45e5); + } + + #[test] + #[allow(deprecated)] + fn every_length_through_three_words_agrees_with_std() { + use core::hash::Hasher; + let key: Key = core::array::from_fn(|i| (i as u8).wrapping_mul(37) ^ 0x5a); + let message: [u8; 25] = core::array::from_fn(|i| (i as u8).wrapping_mul(101).wrapping_add(7)); + for len in 0..=message.len() { + let (k0, k1) = (u64::from_le_bytes(key[..8].try_into().unwrap()), u64::from_le_bytes(key[8..].try_into().unwrap())); + let mut oracle = core::hash::SipHasher::new_with_keys(k0, k1); + oracle.write(&message[..len]); + assert_eq!(siphash24(&key, &message[..len]), oracle.finish(), "{len} bytes"); + } + } +} diff --git a/system/netstack/wire/Cargo.toml b/system/netstack/wire/Cargo.toml index 87075fd18fc..27295039910 100644 --- a/system/netstack/wire/Cargo.toml +++ b/system/netstack/wire/Cargo.toml @@ -5,3 +5,6 @@ edition = "2021" description = "Ethernet, ARP, IPv4, ICMPv4, IGMP, UDP and TCP wire formats, parsed in place and built, and what every net crate shares: the caller's clock, SipHash, IPv4 address classes and the counters macro (no_std, forbid(unsafe_code))." license = "MIT OR Apache-2.0" publish = false + +[dependencies] +toyos-crypto = { path = "../../../lib/crypto" } diff --git a/system/netstack/wire/src/siphash.rs b/system/netstack/wire/src/siphash.rs index d62032a6a70..f5f6b2c19e8 100644 --- a/system/netstack/wire/src/siphash.rs +++ b/system/netstack/wire/src/siphash.rs @@ -1,45 +1,7 @@ -//! SipHash-2-4 (Aumasson and Bernstein, "SipHash: a fast short-input PRF"): the keyed function -//! behind every value a net crate keeps unpredictable, each purpose with its own key. +//! The keyed function behind every value a net crate keeps unpredictable, each purpose with its +//! own key. -pub type Key = [u8; 16]; - -fn round(v: &mut [u64; 4]) { - v[0] = v[0].wrapping_add(v[1]); - v[1] = v[1].rotate_left(13) ^ v[0]; - v[0] = v[0].rotate_left(32); - v[2] = v[2].wrapping_add(v[3]); - v[3] = v[3].rotate_left(16) ^ v[2]; - v[0] = v[0].wrapping_add(v[3]); - v[3] = v[3].rotate_left(21) ^ v[0]; - v[2] = v[2].wrapping_add(v[1]); - v[1] = v[1].rotate_left(17) ^ v[2]; - v[2] = v[2].rotate_left(32); -} - -fn compress(v: &mut [u64; 4], m: u64) { - v[3] ^= m; - round(v); - round(v); - v[0] ^= m; -} - -pub fn siphash24(key: &Key, data: &[u8]) -> u64 { - let (k0, k1) = key.split_at(8); - let k0 = k0.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)); - let k1 = k1.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)); - let mut v = [k0 ^ 0x736f_6d65_7073_6575, k1 ^ 0x646f_7261_6e64_6f6d, k0 ^ 0x6c79_6765_6e65_7261, k1 ^ 0x7465_6462_7974_6573]; - let (words, tail) = data.as_chunks::<8>(); - for word in words { - compress(&mut v, u64::from_le_bytes(*word)); - } - let length = u64::from(data.len().to_le_bytes()[0]).rotate_right(8); - compress(&mut v, tail.iter().rev().fold(0u64, |a, &b| a.rotate_left(8) | u64::from(b)) | length); - v[2] ^= 0xff; - for _ in 0..4 { - round(&mut v); - } - v[0] ^ v[1] ^ v[2] ^ v[3] -} +pub use toyos_crypto::siphash::{siphash24, Key}; pub fn low32(key: &Key, data: &[u8]) -> u32 { let [a, b, c, d, ..] = siphash24(key, data).to_le_bytes(); From 62873ce7676806ad916a632446e2854594cb3431 Mon Sep 17 00:00:00 2001 From: japabu Date: Fri, 23 Oct 2026 01:48:33 +0200 Subject: [PATCH 2/4] bcachefs: the engine's reader and mkfs replace upstream/ (storage B2) `lib/bcachefs/src/engine` implements bcachefs metadata version 1.39 as bcachefs-tools v1.39.4 defines it, on one device. It is written clean-room from the storage design's analyst specification and black-box results, and replaces `src/upstream/`, which was written from upstream's GPL headers; that module and its test are deleted whole. - The reader opens a clean volume: the superblock copy chosen as the format says, every field validated where the bytes become types; an encrypted volume's key unwrapped from its passphrase under scrypt limits the caller sets; btrees walked from `clean`'s roots with every bset's crc32c or ChaCha20/Poly1305 MAC checked and decrypted; inodes, directory lookup by SipHash slot and probing, listing, symlinks and file reads over inline data and crc- or MAC-checked extents. Anything outside that is refused by name: an unclean volume (replay is B5), compression, reflink, more than one device or snapshot, other hash types, nodes past 256 KiB, a poisoned extent. On an encrypted volume a node or extent without a MAC is refused rather than read. - mkfs writes the storage design's minimal complete volume, unencrypted (ROOT's) or encrypted with 128-bit MACs and the key wrapped under a passphrase (DATA's): three superblock copies and the layout copy, an empty journal and `clean` at sequence 0, the root subvolume, snapshot, snapshot tree and root directory without lost+found, the inode cursor, and alloc, freespace, fragmentation LRU, backpointer and accounting keys for exactly the nodes it writes. Every btree a v1 volume writes gets a root, so the node count only grows with the keys its own nodes add, and the layout is that count's least fixed point. Every identifier and key comes from the caller's `Random` and every time from the caller, so its bytes are a function of both, which B4's reproducible ROOT relies on. - `fsck` is ToyOS's check v0: the design's superblock rules, identical superblock copies, the root world as mkfs writes it, every node in the member's btree bitmap, and no bset or inode stamped with a journal sequence past `clean`'s. The engine's tests read the committed upstream volumes: `crc32c.img.gz`'s tree, and both encrypted fixtures, new here, unlocked and read whole with every extent's 80- or 128-bit MAC verified; a flipped byte in an extent or a node then fails its MAC. mkfs's volumes read back and check clean at 8 MiB, 32 MiB and 1 GiB, and fsck finds a bset or an inode stamped past `clean`. Code and records cite only published sources; the analyst's facts are stated where they bind. One gap is recorded, not filled: the specification does not give data checksum type 5's seed or final XOR, so the reader refuses type-5 extents by name and cannot yet read an unencrypted upstream volume's extent data (`issues/the-bcachefs-reader-refuses-crc32c-data-extents.md`). Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q --- Cargo.lock | 2 + NOTICE | 44 +- build/licence.rs | 18 +- issues/bcachefs-crate-is-not-bcachefs.md | 13 +- ...r-classify-trusts-a-lying-transfererror.md | 3 +- ...s-are-published-and-toyos-consumes-them.md | 2 +- ...hefs-reader-refuses-crc32c-data-extents.md | 25 + lib/bcachefs/Cargo.toml | 6 +- lib/bcachefs/src/engine/bkey.rs | 250 ++++++ lib/bcachefs/src/engine/crypt.rs | 171 ++++ lib/bcachefs/src/engine/fsck.rs | 183 ++++ lib/bcachefs/src/engine/mkfs.rs | 719 ++++++++++++++++ lib/bcachefs/src/engine/mod.rs | 183 ++++ lib/bcachefs/src/engine/node.rs | 268 ++++++ lib/bcachefs/src/engine/read.rs | 507 ++++++++++++ lib/bcachefs/src/engine/superblock.rs | 575 +++++++++++++ lib/bcachefs/src/engine/tests.rs | 287 +++++++ lib/bcachefs/src/engine/value.rs | 579 +++++++++++++ lib/bcachefs/src/lib.rs | 9 +- lib/bcachefs/src/upstream/bkey.rs | 506 ------------ lib/bcachefs/src/upstream/bkey_vectors.rs | 80 -- lib/bcachefs/src/upstream/btree.rs | 141 ---- lib/bcachefs/src/upstream/csum.rs | 230 ------ lib/bcachefs/src/upstream/dirent_vectors.rs | 29 - lib/bcachefs/src/upstream/fs.rs | 710 ---------------- lib/bcachefs/src/upstream/mod.rs | 37 - lib/bcachefs/src/upstream/node.rs | 500 ----------- lib/bcachefs/src/upstream/raw.rs | 104 --- lib/bcachefs/src/upstream/sb.rs | 781 ------------------ .../tests/fixtures/encrypted-wide-macs.img.gz | Bin 0 -> 774007 bytes lib/bcachefs/tests/fixtures/encrypted.img.gz | Bin 0 -> 716785 bytes lib/bcachefs/tests/upstream_fixture.rs | 168 ---- 32 files changed, 3825 insertions(+), 3305 deletions(-) create mode 100644 issues/the-bcachefs-reader-refuses-crc32c-data-extents.md create mode 100644 lib/bcachefs/src/engine/bkey.rs create mode 100644 lib/bcachefs/src/engine/crypt.rs create mode 100644 lib/bcachefs/src/engine/fsck.rs create mode 100644 lib/bcachefs/src/engine/mkfs.rs create mode 100644 lib/bcachefs/src/engine/mod.rs create mode 100644 lib/bcachefs/src/engine/node.rs create mode 100644 lib/bcachefs/src/engine/read.rs create mode 100644 lib/bcachefs/src/engine/superblock.rs create mode 100644 lib/bcachefs/src/engine/tests.rs create mode 100644 lib/bcachefs/src/engine/value.rs delete mode 100644 lib/bcachefs/src/upstream/bkey.rs delete mode 100644 lib/bcachefs/src/upstream/bkey_vectors.rs delete mode 100644 lib/bcachefs/src/upstream/btree.rs delete mode 100644 lib/bcachefs/src/upstream/csum.rs delete mode 100644 lib/bcachefs/src/upstream/dirent_vectors.rs delete mode 100644 lib/bcachefs/src/upstream/fs.rs delete mode 100644 lib/bcachefs/src/upstream/mod.rs delete mode 100644 lib/bcachefs/src/upstream/node.rs delete mode 100644 lib/bcachefs/src/upstream/raw.rs delete mode 100644 lib/bcachefs/src/upstream/sb.rs create mode 100644 lib/bcachefs/tests/fixtures/encrypted-wide-macs.img.gz create mode 100644 lib/bcachefs/tests/fixtures/encrypted.img.gz delete mode 100644 lib/bcachefs/tests/upstream_fixture.rs diff --git a/Cargo.lock b/Cargo.lock index ffd31c4d6ba..8b791e31ed6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,6 +191,8 @@ name = "bcachefs" version = "0.1.0" dependencies = [ "flate2", + "toyos-blockdev", + "toyos-crypto", ] [[package]] diff --git a/NOTICE b/NOTICE index 9ea46447e6e..414c4393252 100644 --- a/NOTICE +++ b/NOTICE @@ -272,11 +272,22 @@ lib/bcachefs/tests/fixtures/ — volumes upstream's tools wrote 144,978 bytes gzip -9, of a 33,554,432-byte raw volume sha256 7be2c99db0e68c784ea59ef394454a084fa57868b14027528ab6b8b21031840e raw 021c816a064fc2fca2402c8b2a87a9e6124e0b2f4a32779ef14654e908bcacff + + lib/bcachefs/tests/fixtures/encrypted.img.gz + 716,785 bytes gzip -9n, of a 33,554,432-byte raw volume + sha256 2a32529edf3e30de75d02cdc4ad0b2060552555b012e9647dc24702c0ee7f82d + raw a640704b34cadfc6544f096a36c74bd60b047a079fb20fd96c622f9bcd81a72e + + lib/bcachefs/tests/fixtures/encrypted-wide-macs.img.gz + 774,007 bytes gzip -9n, of a 33,554,432-byte raw volume + sha256 fd137a545190906ded0269eeec3e32835ffe3585d3e4c2cebe84d234a96b1b1f + raw 52638d7b3c31abb202e6b12c5ccb5a58fe95bee412bada3d7fc3756705cdcace + SPDX-License-Identifier: MIT OR Apache-2.0 -`lib/bcachefs/src/upstream` implements upstream's on-disk format, and the only -honest judge of a format reader is bytes the format's own implementation wrote. -This fixture is those bytes. It was produced by `bcachefs-tools` v1.39.4 running +`lib/bcachefs/src/engine` reads upstream's on-disk format, and the only honest +judge of a format reader is bytes the format's own implementation wrote. This +fixture is those bytes. It was produced by `bcachefs-tools` v1.39.4 running in a QEMU guest booted from the Arch Linux 2026.09.01 install medium, as a development instrument: neither the tools nor that medium is a dependency of this repository, nothing fetches either, and the suite reads only what is @@ -295,7 +306,7 @@ The commands, in the guest, against a 32 MiB raw disk on `/dev/vdc`: bcachefs fsck -y /dev/vdc `--block_size=4096` is explicit because `bcachefs format` picks a smaller block -for a small device, and 4096 is the only block size this crate reads. 32 MiB is +for a small device, and ToyOS's block devices have 4096-byte blocks. 32 MiB is the smallest volume that formats, fills and passes fsck at that block size: 16 and 24 MiB both fail during format, and 8 and 12 MiB fail even at the default block size. `bcachefs show-super` on the result: @@ -331,6 +342,31 @@ layout is a published on-disk format, not a copyrightable work of the program, and the file contents are ours. The tool is not distributed with this repository in any form. +`encrypted.img.gz` and `encrypted-wide-macs.img.gz` are encrypted volumes +upstream's tools wrote, which the engine unlocks and reads: ChaCha20/Poly1305 +with 80-bit data MACs, and with the 128-bit ones that `--wide_macs` sets. They were produced by `bcachefs-tools` v1.39.4 (commit +d997ad76e906), built from its tag, in a QEMU guest booted from the Ubuntu +26.04.1 arm64 cloud image, as a development instrument on the same terms as +above. The commands, against a raw image file, the second time with +`--wide_macs` and the label `toyosencw`: + + truncate -s 32M enc.img + printf '%s\n' 'toyos-test-passphrase' > pass + bcachefs format --block_size=4096 --encrypted --passphrase_file pass --fs_label=toyosenc enc.img + bcachefs unlock -k session -f pass enc.img # in a fresh session keyring + bcachefs fusemount enc.img /mnt/t + printf hello-toyos > /mnt/t/a.txt; seq 1 40000 > /mnt/t/seq.txt; sync + fusermount3 -u /mnt/t + bcachefs fsck -n -K enc.img # exit 0 + gzip -9n < enc.img > enc.img.gz + +The passphrase is a published test value. The files are an eleven-byte string, +the output of `seq` and an empty `lost+found`; the UUIDs, hash seeds and keys +inside are generated values; the member's device name is the image file's +basename, and no model or serial is recorded. Timestamps are 2026-10-22, the +guest's clock. The same reasoning as for `crc32c.img.gz` makes the bytes this +project's own. + lib/fat32/tests/fixtures/ — volumes macOS's FAT tools wrote ------------------------------------------------------------ diff --git a/build/licence.rs b/build/licence.rs index 465ee826784..7ebdef0ff38 100644 --- a/build/licence.rs +++ b/build/licence.rs @@ -417,15 +417,27 @@ pub const COMMITTED_FILES: &[(&str, &str, &str, Terms)] = &[ "ours: OVMF's answer on a q35 guest, read off that boot's own loader log", Terms::Spdx("MIT OR Apache-2.0"), ), - // A bcachefs volume upstream's own tools wrote, gzipped. The bytes inside - // it are this repository's test material; `NOTICE` carries the raw digest, - // the commands, and the fsck that called it clean. + // bcachefs volumes upstream's own tools wrote, gzipped. The bytes inside + // them are this repository's test material; `NOTICE` carries each raw + // digest, the commands, and the fsck that called it clean. ( "lib/bcachefs/tests/fixtures/crc32c.img.gz", "7be2c99db0e68c784ea59ef394454a084fa57868b14027528ab6b8b21031840e", "NOTICE", Terms::Spdx("MIT OR Apache-2.0"), ), + ( + "lib/bcachefs/tests/fixtures/encrypted.img.gz", + "2a32529edf3e30de75d02cdc4ad0b2060552555b012e9647dc24702c0ee7f82d", + "NOTICE", + Terms::Spdx("MIT OR Apache-2.0"), + ), + ( + "lib/bcachefs/tests/fixtures/encrypted-wide-macs.img.gz", + "fd137a545190906ded0269eeec3e32835ffe3585d3e4c2cebe84d234a96b1b1f", + "NOTICE", + Terms::Spdx("MIT OR Apache-2.0"), + ), // FAT32 volumes macOS's `newfs_msdos` formatted and its `msdosfs` // populated, as runs of nonzero sectors. Each boot sector carries // `newfs_msdos`'s boot stub; `NOTICE` carries its notice, each raw digest diff --git a/issues/bcachefs-crate-is-not-bcachefs.md b/issues/bcachefs-crate-is-not-bcachefs.md index bfa39185346..8ec8f86e94c 100644 --- a/issues/bcachefs-crate-is-not-bcachefs.md +++ b/issues/bcachefs-crate-is-not-bcachefs.md @@ -32,10 +32,15 @@ default filesystem.** The name stops being wrong by the crate growing into it. This entry therefore stops being a question and becomes work: what is owed is the implementation, and the gap between the two formats recorded above is the measure -of it. The upstream research this tree used to carry went with the documents, so -whoever picks this up reads the format out of upstream's own source and -specification again — that reading is part of the work now, not a head start on -it. +of it. The format is implemented clean-room (root `CLAUDE.md`): an analyst reads +upstream and writes the specification, and a different agent implements from it. + +**Where it stands.** `lib/bcachefs/src/engine` reads clean single-device 1.39 +volumes, crc32c and ChaCha20/Poly1305, and formats a minimal complete volume that +upstream's `bcachefs fsck -n -K` passes. It replaced a read side written from +upstream's headers. Its tests read volumes upstream's tools wrote +(`lib/bcachefs/tests/fixtures/`). The rest of the crate is still the interim +format, which ROOT, the loader and DATA use until the engine replaces it. The track itself is not planned here. diff --git a/issues/deviceerror-classify-trusts-a-lying-transfererror.md b/issues/deviceerror-classify-trusts-a-lying-transfererror.md index 587f2389608..6e0d20f4332 100644 --- a/issues/deviceerror-classify-trusts-a-lying-transfererror.md +++ b/issues/deviceerror-classify-trusts-a-lying-transfererror.md @@ -56,8 +56,7 @@ and by the same rule would refuse `kernel/src/file_backing.rs`'s `impl` for the kernel's `BlockError`, the fileserver's for its `Attempted` (`system/fileserver/src/cache.rs`), the loader's `Outside` (`loader/src/microcode.rs`) and the crate's own test devices -(`lib/bcachefs/tests/crash.rs`, `lib/bcachefs/tests/integration.rs`, -`lib/bcachefs/tests/upstream_fixture.rs`). +(`lib/bcachefs/tests/crash.rs`, `lib/bcachefs/tests/integration.rs`). Implementing `TransferError` from outside is what the trait is *for*: a foreign block device is the only authority on whether its own transfer was attempted. Making `classify` crate-private has the identical problem, because diff --git a/issues/general-crates-are-published-and-toyos-consumes-them.md b/issues/general-crates-are-published-and-toyos-consumes-them.md index f6a1c4e25a6..38a3ee9522c 100644 --- a/issues/general-crates-are-published-and-toyos-consumes-them.md +++ b/issues/general-crates-are-published-and-toyos-consumes-them.md @@ -14,7 +14,7 @@ opened: 2026-10-11 **Candidates** (scan of the restructured tree, 2026-10-11), best first: 1. `toyos-fat32-check`: FAT32 checker written from Microsoft's fatgen103. No ToyOS dependencies, `no_std`. 2. `toyos-fat32`: FAT32 read/write hardened against hostile volumes. It needs `toyos-wallclock` folded in, and its tests made self-contained. -3. The bcachefs `upstream` reader, split out of `lib/bcachefs`. +3. The bcachefs engine (`lib/bcachefs/src/engine`), split out of `lib/bcachefs` once the interim format leaves it. 4. `toyos-microcode` and `toyos-usbhid`. 5. Later: the TCP stack (once `wire`'s grab-bag is factored out), the SSH server (once its track and defect issues close), and the AML interpreter (once it is decoupled from `toyos-acpi`). diff --git a/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md b/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md new file mode 100644 index 00000000000..d8846f551ac --- /dev/null +++ b/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md @@ -0,0 +1,25 @@ +--- +status: open +kind: defect +opened: 2026-10-23 +--- + +# The bcachefs reader refuses data extents checksummed crc32c + +`lib/bcachefs/src/engine/read.rs`'s `Volume::extent` answers +`Unsupported("data checksum type")` for checksum type 5, the crc32c that an +unencrypted volume's data carries. So the engine cannot read a file stored in +extents on an unencrypted upstream volume: `crc32c.img.gz`'s `seq.txt` is +refused, which `the_crc32c_fixture_reads_its_tree` asserts. Inline data, every +encrypted extent (types 3 and 4) and every node read. + +**Why:** the facts the engine was written from, clean-room, name type 5 crc32c, +distinct from the metadata's type 1 "crc32c, non-zero seeded", but give neither +its initial value nor its final XOR. The implementer may not fill a fact from +another source, so the reader refuses rather than guesses. + +**Exit:** type 5's computation is established clean-room; the reader verifies it +and the fixture test reads `seq.txt` whole. Writing ToyOS's own unencrypted +extents needs the same fact. + +**Owner:** the storage track, before ToyOS writes unencrypted extents. diff --git a/lib/bcachefs/Cargo.toml b/lib/bcachefs/Cargo.toml index 3c5177cae10..bd26285f07d 100644 --- a/lib/bcachefs/Cargo.toml +++ b/lib/bcachefs/Cargo.toml @@ -1,10 +1,14 @@ [package] name = "bcachefs" -description = "The /home filesystem: a read side of the real bcachefs on-disk format." +description = "bcachefs: the on-disk format's reader, mkfs and check, and the interim ToyOS format they replace." version = "0.1.0" edition = "2021" license = "MIT OR Apache-2.0" +[dependencies] +toyos-blockdev = { path = "../blockdev" } +toyos-crypto = { path = "../crypto" } + [features] default = ["std"] std = [] diff --git a/lib/bcachefs/src/engine/bkey.rs b/lib/bcachefs/src/engine/bkey.rs new file mode 100644 index 00000000000..22f1e843206 --- /dev/null +++ b/lib/bcachefs/src/engine/bkey.rs @@ -0,0 +1,250 @@ +//! Positions, key headers and the node's key format. + +use super::{le32, le64, put32, put64, Error, Result}; + +/// A key's position, compared as the integer (inode, offset, snapshot). +#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)] +pub struct Bpos { + pub inode: u64, + pub offset: u64, + pub snapshot: u32, +} + +impl Bpos { + pub const MIN: Bpos = Bpos { inode: 0, offset: 0, snapshot: 0 }; + pub const MAX: Bpos = Bpos { inode: u64::MAX, offset: u64::MAX, snapshot: u32::MAX }; + + pub const fn new(inode: u64, offset: u64, snapshot: u32) -> Self { + Bpos { inode, offset, snapshot } + } + + /// The next position, carrying from snapshot into offset into inode. + /// `None` after [`Bpos::MAX`]. + pub fn successor(self) -> Option { + match (self.snapshot.checked_add(1), self.offset.checked_add(1), self.inode.checked_add(1)) { + (Some(snapshot), _, _) => Some(Bpos { snapshot, ..self }), + (None, Some(offset), _) => Some(Bpos { offset, snapshot: 0, ..self }), + (None, None, Some(inode)) => Some(Bpos { inode, offset: 0, snapshot: 0 }), + (None, None, None) => None, + } + } + + pub(crate) fn decode(b: &[u8]) -> Bpos { + Bpos { snapshot: le32(b, 0), offset: le64(b, 4), inode: le64(b, 12) } + } + + pub(crate) fn encode(self, b: &mut [u8]) { + put32(b, 0, self.snapshot); + put64(b, 4, self.offset); + put64(b, 12, self.inode); + } +} + +/// A key's 96-bit version. +#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord)] +pub struct Version { + pub hi: u32, + pub lo: u64, +} + +/// A key's header, unpacked: its type, version, extent size and position. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct Key { + pub kind: u8, + pub version: Version, + /// An extent's length in sectors, 0 for every other key. + pub size: u32, + pub pos: Bpos, +} + +/// u64s of an unpacked key header. +pub(crate) const KEY_U64S: usize = 5; +/// Format byte of an unpacked key. +const UNPACKED: u8 = 1; + +impl Key { + pub(crate) fn new(kind: u8, pos: Bpos) -> Self { + Key { kind, version: Version::default(), size: 0, pos } + } + + /// The unpacked key followed by `value`, zero-padded to whole u64s. + pub(crate) fn encode(&self, value: &[u8]) -> alloc::vec::Vec { + let words = KEY_U64S + value.len().div_ceil(8); + let mut b = alloc::vec![0u8; words * 8]; + b[0] = u8::try_from(words).expect("a value no key can carry"); + b[1] = UNPACKED; + b[2] = self.kind; + put64(&mut b, 4, self.version.lo); + put32(&mut b, 12, self.version.hi); + put32(&mut b, 16, self.size); + self.pos.encode(&mut b[20..40]); + b[40..40 + value.len()].copy_from_slice(value); + b + } +} + +/// Which field of a packed key, in the order a format lists them. +const FIELDS: usize = 6; +/// Each field's unpacked width in bits: inode, offset, snapshot, size, +/// version high, version low. +const WIDTH: [u32; FIELDS] = [64, 64, 32, 32, 32, 64]; + +/// A node's key format: how wide each packed field is and what it is +/// offset from. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct Format { + key_u64s: u8, + bits: [u8; FIELDS], + offset: [u64; FIELDS], +} + +impl Format { + /// Every key in format 1, the unpacked one, which is valid in any node. + pub(crate) const UNPACKED: Format = Format { key_u64s: 5, bits: [64, 64, 32, 32, 32, 64], offset: [0; FIELDS] }; + + pub(crate) fn decode(b: &[u8]) -> Result { + if b[1] as usize != FIELDS { + return Err(Error::Corrupt("key format without six fields")); + } + let bits: [u8; FIELDS] = b[2..8].try_into().unwrap(); + let offset: [u64; FIELDS] = core::array::from_fn(|i| le64(b, 8 + 8 * i)); + let mut total = 24; + for i in 0..FIELDS { + let (bits, width) = (u32::from(bits[i]), WIDTH[i]); + let max = if width == 64 { u64::MAX } else { (1 << width) - 1 }; + let span = if bits >= 64 { u64::MAX } else { (1 << bits) - 1 }; + if bits > width || (bits == width && offset[i] != 0) || offset[i].checked_add(span).is_none_or(|top| top > max) { + return Err(Error::Corrupt("key format field out of range")); + } + total += bits; + } + if u32::from(b[0]) != total.div_ceil(64) { + return Err(Error::Corrupt("key format size disagrees with its fields")); + } + Ok(Format { key_u64s: b[0], bits, offset }) + } + + pub(crate) fn encode(&self, b: &mut [u8]) { + b[0] = self.key_u64s; + b[1] = FIELDS as u8; + b[2..8].copy_from_slice(&self.bits); + for (i, offset) in self.offset.iter().enumerate() { + put64(b, 8 + 8 * i, *offset); + } + } + + /// The key whose bytes begin `b`, and its value. `b` runs to the end of + /// its bset. + pub(crate) fn key<'a>(&self, b: &'a [u8]) -> Result<(Key, &'a [u8])> { + if b.len() < 8 { + return Err(Error::Corrupt("key past the end of its bset")); + } + let len = usize::from(b[0]) * 8; + let kind = b[2]; + let (key, header) = match b[1] & 0x7f { + 0 => (self.unpack(b, len)?, usize::from(self.key_u64s) * 8), + UNPACKED => (unpacked(b, len)?, KEY_U64S * 8), + _ => return Err(Error::Corrupt("key in an unknown format")), + }; + Ok((Key { kind, ..key }, &b[header..len])) + } + + fn unpack(&self, b: &[u8], len: usize) -> Result { + let words = usize::from(self.key_u64s); + if len < words * 8 || len > b.len() || words == 0 { + return Err(Error::Corrupt("packed key past the end of its bset")); + } + let word = |i: usize| le64(b, 8 * i); + // The key is one little-endian integer of `words` words; fields run + // from its top bit down. + let mut top = words as u32 * 64; + let value: [u64; FIELDS] = core::array::from_fn(|i| { + let bits = u32::from(self.bits[i]); + top -= bits; + take(&word, top, bits) + self.offset[i] + }); + Ok(Key { + kind: 0, + pos: Bpos { inode: value[0], offset: value[1], snapshot: value[2] as u32 }, + size: value[3] as u32, + version: Version { hi: value[4] as u32, lo: value[5] }, + }) + } +} + +/// Bits `[lo, lo + len)` of the little-endian integer `word(0), word(1), …`. +fn take(word: &impl Fn(usize) -> u64, lo: u32, len: u32) -> u64 { + if len == 0 { + return 0; + } + let (i, shift) = ((lo / 64) as usize, lo % 64); + let mut v = word(i) >> shift; + if shift + len > 64 { + v |= word(i + 1) << (64 - shift); + } + if len < 64 { v & ((1 << len) - 1) } else { v } +} + +fn unpacked(b: &[u8], len: usize) -> Result { + if len < KEY_U64S * 8 || len > b.len() { + return Err(Error::Corrupt("unpacked key past the end of its bset")); + } + Ok(Key { + kind: 0, + version: Version { lo: le64(b, 4), hi: le32(b, 12) }, + size: le32(b, 16), + pos: Bpos::decode(&b[20..40]), + }) +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn successor_carries_from_snapshot_through_offset_into_inode() { + assert_eq!(Bpos::new(1, 2, 3).successor(), Some(Bpos::new(1, 2, 4))); + assert_eq!(Bpos::new(1, 2, u32::MAX).successor(), Some(Bpos::new(1, 3, 0))); + assert_eq!(Bpos::new(1, u64::MAX, u32::MAX).successor(), Some(Bpos::new(2, 0, 0))); + assert_eq!(Bpos::MAX.successor(), None); + } + + #[test] + fn an_unpacked_key_reads_back() { + let key = Key { kind: 6, version: Version { hi: 7, lo: 1 << 40 }, size: 32, pos: Bpos::new(0x8000_0003, 64, u32::MAX) }; + let bytes = key.encode(&[0xab; 9]); + assert_eq!(bytes.len(), 56); + let (read, value) = Format::UNPACKED.key(&bytes).unwrap(); + assert_eq!(read, key); + assert_eq!(value, &[[0xab; 9].as_slice(), &[0; 7]].concat()[..]); + } + + /// An upstream alloc leaf's format: one word, offset 16 bits + /// from 82 and snapshot 8 bits. The fields fill the word from its top. + #[test] + fn a_packed_key_reads_its_fields_from_the_top_bit_down() { + let mut format = [0u8; 56]; + format[0] = 1; + format[1] = 6; + format[2..8].copy_from_slice(&[0, 16, 8, 0, 0, 0]); + format[16..24].copy_from_slice(&82u64.to_le_bytes()); + let format = Format::decode(&format).unwrap(); + let word: u64 = 1 | (27 << 16) | (5u64 << 40) | ((1991 - 82) << 48); + // u64s 1, format 0 (packed), type 27. + let bytes = word.to_le_bytes(); + let (key, value) = format.key(&bytes).unwrap(); + assert_eq!((key.kind, key.pos, value.len()), (27, Bpos::new(0, 1991, 5), 0)); + } + + #[test] + fn a_format_whose_size_disagrees_with_its_fields_is_refused() { + let mut format = [0u8; 56]; + Format::UNPACKED.encode(&mut format); + assert_eq!(Format::decode(&format), Ok(Format::UNPACKED)); + format[0] = 4; + assert!(Format::decode(&format).is_err()); + Format::UNPACKED.encode(&mut format); + format[8] = 1; // inode offset at full width + assert!(Format::decode(&format).is_err()); + } +} diff --git a/lib/bcachefs/src/engine/crypt.rs b/lib/bcachefs/src/engine/crypt.rs new file mode 100644 index 00000000000..c36b081bf44 --- /dev/null +++ b/lib/bcachefs/src/engine/crypt.rs @@ -0,0 +1,171 @@ +//! bcachefs's encryption: raw ChaCha20 at a chosen block counter, and +//! Poly1305 keyed from a separate nonce domain over the ciphertext alone. +//! This is not RFC 8439's AEAD. + +use alloc::vec; +use toyos_crypto::{chacha, poly1305, scrypt}; + +use super::superblock::{Crypt, Kdf}; +use super::{Error, Result}; + +/// The magic a correct unwrap yields, "bch**key". +const KEY_MAGIC: [u8; 8] = *b"bch**key"; +/// scrypt's salt, which the format fixes. +const SALT: &[u8] = b"bcache\0"; + +/// The smallest scrypt parameters the format admits: N = 2, +/// r = p = 1. For a high-entropy passphrase scrypt adds nothing. +pub const MIN_KDF: Kdf = Kdf { log_n: 1, log_r: 0, log_p: 0 }; + +/// Each structure's domain, XORed into its nonce's last word. +#[derive(Clone, Copy)] +pub(crate) enum Domain { + Extent = 0x1000_0000, + Node = 0x2000_0000, +} +/// Selects the MAC key's nonce. +const MAC: u32 = 0x8000_0000; + +/// A nonce: `d0` is ChaCha20's first block, `d1`–`d3` its 96-bit nonce. +#[derive(Clone, Copy)] +pub(crate) struct Nonce([u32; 4]); + +impl Nonce { + /// The record at byte `offset` of node `seq`, whose bset is + /// stamped `journal_seq`. + pub(crate) fn node(offset: u32, seq: u64, journal_seq: u64) -> Nonce { + Nonce([offset, seq as u32, (seq >> 32) as u32, journal_seq as u32 ^ Domain::Node as u32]) + } + + /// An uncompressed extent of version `(hi, lo)` whose crc + /// nonce field is `crc_nonce`. + pub(crate) fn extent(hi: u32, lo: u64, crc_nonce: u32) -> Nonce { + Nonce([8 * crc_nonce, lo as u32, (lo >> 32) as u32, hi ^ Domain::Extent as u32]) + } + + /// This nonce `blocks` ChaCha20 blocks on. + pub(crate) fn plus(self, blocks: u32) -> Nonce { + let [d0, d1, d2, d3] = self.0; + Nonce([d0 + blocks, d1, d2, d3]) + } + + fn parts(self) -> (u32, [u8; 12]) { + let [d0, d1, d2, d3] = self.0; + let mut n = [0u8; 12]; + n[..4].copy_from_slice(&d1.to_le_bytes()); + n[4..8].copy_from_slice(&d2.to_le_bytes()); + n[8..].copy_from_slice(&d3.to_le_bytes()); + (d0, n) + } +} + +/// A volume's master key, decrypted. It never reaches the medium unwrapped. +pub(crate) struct MasterKey([u8; 32]); + +impl Drop for MasterKey { + fn drop(&mut self) { + erase(&mut self.0); + } +} + +/// Overwrites a secret before it goes out of scope. `black_box` makes the +/// compiler treat the zeros as read, so the stores are not elided. +fn erase(secret: &mut [u8; N]) { + *secret = [0; N]; + core::hint::black_box(secret); +} + +impl MasterKey { + pub(crate) fn new(key: [u8; 32]) -> Self { + MasterKey(key) + } + + /// `data` XORed with the keystream from `nonce`'s first block. + pub(crate) fn xor(&self, nonce: Nonce, data: &mut [u8]) -> Result<()> { + let (counter, n) = nonce.parts(); + chacha::xor(&self.0, &n, counter, data).map_err(|_| Error::Corrupt("keystream past its counter")) + } + + fn mac_key(&self, nonce: Nonce) -> Result<[u8; 32]> { + let [d0, d1, d2, d3] = nonce.0; + let mut key = [0u8; 32]; + self.xor(Nonce([d0, d1, d2, d3 ^ MAC]), &mut key)?; + Ok(key) + } + + /// The 128-bit MAC of `data` under `nonce`. + pub(crate) fn mac(&self, nonce: Nonce, data: &[u8]) -> Result<[u8; 16]> { + let mut key = self.mac_key(nonce)?; + let tag = poly1305::tag(&key, data); + erase(&mut key); + Ok(tag) + } + + /// `Ok` when `tag`, 10 or 16 bytes, is `data`'s MAC under `nonce`. + pub(crate) fn verify(&self, nonce: Nonce, data: &[u8], tag: &[u8], what: &'static str) -> Result<()> { + let mut key = self.mac_key(nonce)?; + let verdict = poly1305::verify(&key, data, tag).map_err(|_| Error::Checksum(what)); + erase(&mut key); + verdict + } + + /// The key of a volume formatted without a passphrase, which + /// `crypt` holds in clear behind the magic. + pub(crate) fn stored(crypt: &Crypt) -> Option { + (crypt.wrapped[..8] == KEY_MAGIC).then(|| MasterKey(crypt.wrapped[8..].try_into().unwrap())) + } + + /// `crypt`'s key unwrapped under `passphrase`, its scrypt within + /// `limits`. + pub(crate) fn unwrap(crypt: &Crypt, uuid: &[u8; 16], passphrase: &[u8], limits: scrypt::Limits) -> Result { + let mut key = passphrase_key(passphrase, crypt.kdf, limits)?; + let mut bytes = crypt.wrapped; + let unwrapped = wrap(&key, uuid, &mut bytes); + erase(&mut key); + unwrapped?; + let master = (bytes[..8] == KEY_MAGIC).then(|| MasterKey(bytes[8..].try_into().unwrap())); + erase(&mut bytes); + master.ok_or(Error::Passphrase) + } + + /// `crypt`'s 40 wrapped bytes: the magic and this key under + /// `passphrase`'s key. + pub(crate) fn wrapped(&self, uuid: &[u8; 16], passphrase: &[u8], kdf: Kdf) -> Result<[u8; 40]> { + let mut key = passphrase_key(passphrase, kdf, limits(kdf)?)?; + let mut out = [0u8; 40]; + out[..8].copy_from_slice(&KEY_MAGIC); + out[8..].copy_from_slice(&self.0); + let wrapped = wrap(&key, uuid, &mut out); + erase(&mut key); + wrapped.map(|()| out) + } +} + +/// The limits that admit exactly `kdf`: a caller formatting a volume chose +/// its cost. A cost past `usize` saturates, and scrypt refuses it. +fn limits(kdf: Kdf) -> Result { + let (n, r, p) = kdf.values()?; + let memory = 128 * u128::from(r) * (u128::from(n) + 2); + let work = u128::from(n) * u128::from(r) * u128::from(p); + Ok(scrypt::Limits { memory: memory.min(usize::MAX as u128) as usize, work: work.min(u128::from(u64::MAX)) as u64 }) +} + +/// scrypt of the passphrase with the format's salt: the key that wraps +/// the master key. +fn passphrase_key(passphrase: &[u8], kdf: Kdf, limits: scrypt::Limits) -> Result<[u8; 32]> { + let (_, r, p) = kdf.values()?; + let log_n = u8::try_from(kdf.log_n).map_err(|_| Error::Unsupported("scrypt N past 2^31"))?; + let params = scrypt::Params::new(log_n, r, p, limits).map_err(|_| Error::Unsupported("scrypt parameters past the caller's limits"))?; + let mut workspace = vec![0u32; params.workspace_len()]; + let mut key = [0u8; 32]; + scrypt::derive(passphrase, SALT, params, &mut workspace, &mut key).map_err(|_| Error::Unsupported("scrypt parameters"))?; + Ok(key) +} + +/// The XOR of the 40 key bytes with `key`'s keystream at the fixed +/// nonce the internal UUID gives. +fn wrap(key: &[u8; 32], uuid: &[u8; 16], bytes: &mut [u8; 40]) -> Result<()> { + let mut nonce = [0u8; 12]; + nonce[4..].copy_from_slice(&uuid[..8]); + chacha::xor(key, &nonce, 0, bytes).map_err(|_| Error::Corrupt("keystream past its counter")) +} diff --git a/lib/bcachefs/src/engine/fsck.rs b/lib/bcachefs/src/engine/fsck.rs new file mode 100644 index 00000000000..2a17a8c2d7f --- /dev/null +++ b/lib/bcachefs/src/engine/fsck.rs @@ -0,0 +1,183 @@ +//! ToyOS's check of a volume ToyOS wrote: every invariant the writer +//! maintains, grown with each stage that adds one. It is built from the +//! same facts as the writer, so it judges ToyOS's consistency with itself; +//! upstream's fsck is the independent judge. + +use alloc::vec::Vec; + +use toyos_blockdev::BlockDev; + +use super::bkey::Bpos; +use super::mkfs::{self, COMPAT_CLEAN, COMPAT_INITIALIZED, DOWNGRADE, EXTENT_TYPE_U64S, FEATURES}; +use super::read::{read_bytes, Volume}; +use super::superblock::{field_type, member_flag, Superblock, HEADER}; +use super::value::{self, data_type, inode_field, InodeValue, NodePtr, Subvolume, SUBVOLUME_LIVE}; +use super::{kind, Btree, Result, SECTOR, VERSION}; + +/// One way a volume departs from what ToyOS writes. +#[derive(Clone, Debug, PartialEq, Eq)] +pub enum Finding { + /// A superblock rule ToyOS writes by, by name. + Superblock(&'static str), + /// A superblock copy that differs from the chosen one in more than its + /// own offset and checksum, by its sector. + Copy(u64), + /// The root subvolume, snapshot, tree, directory or inode cursor + /// missing or not as mkfs writes them, by name. + Root(&'static str), + /// A node outside the member's btree bitmap. + Bitmap { btree: Btree, sector: u64 }, + /// A bset stamped with a journal sequence past `clean`'s. + BsetAboveClean { btree: Btree, sector: u64, seq: u64 }, + /// An inode stamped with a journal sequence past `clean`'s. + InodeAboveClean { ino: u64, seq: u64 }, +} + +/// Everything wrong with `volume`; empty when nothing is. +pub async fn fsck(volume: &Volume) -> Result> { + let sb = volume.superblock(); + let mut found = superblock(sb); + found.extend(copies(volume.dev(), sb).await?); + found.extend(root_world(volume).await?); + found.extend(nodes(volume).await?); + Ok(found) +} + +/// What every ToyOS-written superblock carries. +fn superblock(sb: &Superblock) -> Vec { + let h = &sb.header; + let clean = sb.clean_flag(); + let ext = sb.field(field_type::EXT).unwrap_or(&[]); + let flags = sb.member.flags; + let expected_features = FEATURES | if sb.blacklist.is_empty() { 0 } else { 1 << 5 }; + let expected_compat = COMPAT_INITIALIZED | if clean { COMPAT_CLEAN } else { 0 }; + let has_replicas = |t: u8| sb.replicas.iter().any(|r| r.data_type == t && r.devs == [0] && r.required == 1); + let padded = |kind: u32, want: &[u8]| { + sb.field(kind).is_some_and(|b| b.len() >= want.len() && b[..want.len()] == *want && b[want.len()..].iter().all(|&x| x == 0)) + }; + let rules: [(bool, &'static str); 26] = [ + (h.version == VERSION && h.version_min == VERSION, "version and minimum version 1.39"), + (sb.flag(5, 32, 16) == 1 << 10 | 36, "version incompat 1.36"), + (sb.flag(5, 48, 16) == u64::from(VERSION), "version incompat allowed 1.39"), + (sb.flag(5, 0, 16) == u64::from(VERSION), "version upgrade complete 1.39"), + (ext.len() >= 80 && ext[..80].iter().all(|&b| b == 0), "no recovery pass required and no error silenced"), + (sb.flag(0, 0, 1) == 1, "initialized"), + (sb.flag(0, 60, 2) == 0, "no errors or topology errors recorded"), + (sb.flag(6, 0, 4) == 0, "inode shard bits 0"), + (sb.flag(6, 40, 8) == 16, "extent backpointer shift 16"), + (sb.flag(1, 14, 6) == 9, "encoded extent maximum 256 KiB"), + (sb.flag(0, 40, 4) == 1 && sb.flag(0, 44, 4) == 1, "crc32c metadata and data checksum options"), + (sb.flag(1, 10, 4) <= 1 && (sb.flag(1, 10, 4) == 0 || sb.flag(1, 9, 1) == 1), "encrypted only as ChaCha20/Poly1305 with wide_macs"), + (h.features == [expected_features, 0], "format's feature set"), + (h.compat == [expected_compat, 0], "compat bits 2-5, and 0-1 exactly when clean"), + (has_replicas(data_type::BTREE), "btree replicas entry"), + (has_replicas(data_type::JOURNAL) != clean, "journal replicas entry exactly while dirty"), + (flags & member_flag::FREESPACE_INITIALIZED != 0 && flags & member_flag::INIT_STATE == 0, "member freespace initialized"), + (flags & member_flag::DISCARD == 0, "member discard off"), + (flags & member_flag::ROTATIONAL == 0 && flags & member_flag::ROTATIONAL_KNOWN != 0, "member not rotational, and known"), + (sb.member.identity_zero, "member device name, model and serial zero"), + (padded(field_type::DOWNGRADE, &DOWNGRADE), "downgrade field of 1.39 above 1.36"), + (padded(field_type::EXTENT_TYPE_U64S, &EXTENT_TYPE_U64S), "extent entry sizes of 1.39"), + (sb.field(field_type::COUNTERS).is_none(), "no counters field"), + (sb.field(field_type::ERRORS_V2).is_none(), "no errors_v2 field"), + (sb.field(field_type::RECOVERY_PASSES).is_none(), "no recovery_passes field"), + (!clean || sb.clean.as_ref().is_some_and(|c| c.key_version.is_some()), "clean carries the key version"), + ]; + rules.iter().filter(|(ok, _)| !ok).map(|&(_, rule)| Finding::Superblock(rule)).collect() +} + +/// Every copy is the chosen one's bytes but for its own offset and +/// checksum. +async fn copies(dev: &impl BlockDev, sb: &Superblock) -> Result> { + let len = HEADER + 8 * sb.fields.iter().map(|f| 1 + f.body.len().div_ceil(8)).sum::(); + let reference = Superblock::encode(&sb.header, &sb.fields, 0); + let mut found = Vec::new(); + for &offset in &sb.header.layout.offsets { + let mut copy = read_bytes(dev, offset * SECTOR as u64, len).await?; + copy[..16].fill(0); + copy[104..112].fill(0); + let mut want = reference.clone(); + want[..16].fill(0); + if copy != want { + found.push(Finding::Copy(offset)); + } + } + Ok(found) +} + +/// The root world, as mkfs writes it. +async fn root_world(v: &Volume) -> Result> { + let mut found = Vec::new(); + let mut check = |ok: bool, what| { + if !ok { + found.push(Finding::Root(what)); + } + }; + let snapshot = mkfs::ROOT_SNAPSHOT; + let subvolume = v.get(Btree::Subvolumes, Bpos::new(0, u64::from(mkfs::ROOT_SUBVOLUME), 0)).await?; + let subvolume = subvolume.filter(|(k, _)| k.kind == kind::SUBVOLUME).map(|(_, v)| Subvolume::decode(&v)).transpose()?; + check( + subvolume.is_some_and(|s| s.snapshot == snapshot && s.inode == mkfs::ROOT_INODE && s.state == SUBVOLUME_LIVE && s.fs_path_parent == 0), + "root subvolume", + ); + let tree = v.get(Btree::Snapshots, Bpos::new(0, u64::from(snapshot), 0)).await?; + check( + tree.is_some_and(|(k, val)| k.kind == kind::SNAPSHOT && val == value::snapshot(mkfs::ROOT_SUBVOLUME, mkfs::SNAPSHOT_TREE)), + "root snapshot", + ); + let snapshot_tree = v.get(Btree::SnapshotTrees, Bpos::new(0, u64::from(mkfs::SNAPSHOT_TREE), 0)).await?; + check( + snapshot_tree.is_some_and(|(k, val)| k.kind == kind::SNAPSHOT_TREE && val == value::snapshot_tree(mkfs::ROOT_SUBVOLUME, snapshot)), + "snapshot tree", + ); + let root = v.get(Btree::Inodes, Bpos::new(0, mkfs::ROOT_INODE, snapshot)).await?; + let root = root.filter(|(k, _)| k.kind == kind::INODE_V3).map(|(_, val)| InodeValue::decode(&val)).transpose()?; + check( + root.is_some_and(|r| { + r.mode() == 0o40755 + && r.size == 0 + && r.field(inode_field::SUBVOL) == u64::from(mkfs::ROOT_SUBVOLUME) + && r.field(inode_field::DIR) == 0 + && r.field(inode_field::DIR_OFFSET) == 0 + && r.field(inode_field::DEPTH) == 0 + }), + "root directory", + ); + let cursor = v.get(Btree::LoggedOps, Bpos::new(1, 1, 0)).await?; + check(cursor.is_some_and(|(k, _)| k.kind == kind::INODE_ALLOC_CURSOR), "inode cursor"); + Ok(found) +} + +/// Every node: inside the bitmap, and no bset or inode stamped past +/// `clean`'s journal sequence: upstream's fsck reports an inode above it, +/// and upstream's read-write mount of such a volume loses it. +async fn nodes(v: &Volume) -> Result> { + let sb = v.superblock(); + let clean = sb.clean.as_ref().map_or(0, |c| c.journal_seq); + let node_sectors = u64::from(sb.node_sectors()); + let mut found = Vec::new(); + for root in v.roots() { + let mut pending = alloc::vec![(root.level, root.ptr, root.key.pos)]; + while let Some((level, ptr, max)) = pending.pop() { + let sector = ptr.ptr.sector; + if !sb.member.bitmap_covers(sector, sector + node_sectors) { + found.push(Finding::Bitmap { btree: root.btree, sector }); + } + let node = v.node(root.btree, level, &ptr, max).await?; + for &seq in node.bset_seqs.iter().filter(|&&s| s > clean) { + found.push(Finding::BsetAboveClean { btree: root.btree, sector, seq }); + } + for (key, value) in &node.keys { + if level > 0 { + pending.push((level - 1, NodePtr::decode(value)?, key.pos)); + } else if root.btree == Btree::Inodes && key.kind == kind::INODE_V3 { + let seq = InodeValue::decode(value)?.journal_seq; + if seq > clean { + found.push(Finding::InodeAboveClean { ino: key.pos.offset, seq }); + } + } + } + } + } + Ok(found) +} diff --git a/lib/bcachefs/src/engine/mkfs.rs b/lib/bcachefs/src/engine/mkfs.rs new file mode 100644 index 00000000000..f9418006747 --- /dev/null +++ b/lib/bcachefs/src/engine/mkfs.rs @@ -0,0 +1,719 @@ +//! A minimal complete volume: superblock copies, an empty +//! journal and `clean`, the root subvolume, snapshot, snapshot tree and +//! root directory, the inode cursor, and the allocator and accounting state +//! of exactly those nodes. Nothing it writes names a journal sequence, so +//! `clean`'s is 0. + +use alloc::vec::Vec; + +use toyos_blockdev::{BlockDev, BLOCK}; +use toyos_crypto::Random; + +use super::bkey::{Bpos, Key}; +use super::crypt::MasterKey; +use super::node::{self, Build}; +use super::superblock::{entry_type, field_type, member_flag, Crypt, Field, Header, Kdf, Layout, Member, Superblock, KEY_VERSION, LAYOUT, MAX_NODE_SECTORS, PRIMARY}; +use super::value::{self, class, data_type, inode_field, Alloc, InodeValue, NodePtr, Ptr}; +use super::{kind, put16, put64, Btree, Error, Result, SECTOR, VERSION}; + +/// What a volume is formatted with. +pub struct Options<'a> { + /// At most 31 bytes. + pub label: &'a [u8], + /// Nanoseconds since the Unix epoch: the volume's time base and every + /// time it records. + pub time: u64, + /// ChaCha20/Poly1305 with 128-bit MACs for data and metadata, its key + /// wrapped under a passphrase; `None` for crc32c. + pub encryption: Option>, +} + +/// How the master key is wrapped. +pub struct Encryption<'a> { + /// The exact bytes upstream's tools take as the passphrase: no NUL, and + /// no trailing newline, which they strip. + pub passphrase: &'a [u8], + pub kdf: Kdf, +} + +/// The root directory's inode number, the root subvolume's id and its +/// snapshot. +pub(crate) const ROOT_INODE: u64 = 4096; +pub(crate) const ROOT_SUBVOLUME: u32 = 1; +pub(crate) const ROOT_SNAPSHOT: u32 = u32::MAX; +pub(crate) const SNAPSHOT_TREE: u32 = 1; +/// The first inode number the cursor hands out. +pub(crate) const FIRST_INODE: u64 = 1 << 31; + +/// Each copy's reserve, 1 MiB as `format` lays it out. +const SB_MAX_BITS: u8 = 11; +const SB_SECTORS: u64 = 1 << SB_MAX_BITS; +/// Block size: the device's (`toyos_blockdev::BLOCK`), in sectors. +const BLOCK_SECTORS: u64 = (BLOCK / SECTOR) as u64; +/// Bucket sizes from 16 KiB to 2 MiB, at least 2 048 buckets where the +/// device allows. +const MIN_BUCKET: u64 = 32; +const MAX_BUCKET: u64 = 4096; +const WANT_BUCKETS: u64 = 2048; +const MIN_BUCKETS: u64 = 512; + +/// Every btree a v1 volume writes, each given a root here: a node count +/// that only grows with its keys keeps the layout's fixed point monotone. +const BTREES: [Btree; 15] = [ + Btree::Extents, + Btree::Inodes, + Btree::Dirents, + Btree::Alloc, + Btree::Subvolumes, + Btree::Snapshots, + Btree::Lru, + Btree::Freespace, + Btree::NeedDiscard, + Btree::Backpointers, + Btree::BucketGens, + Btree::SnapshotTrees, + Btree::DeletedInodes, + Btree::LoggedOps, + Btree::Accounting, +]; + +/// Writes the volume to `dev`, every identifier and key drawn from `random`, +/// then flushes. +pub async fn mkfs(dev: &impl BlockDev, options: &Options<'_>, random: &mut impl Random) -> Result<()> { + if options.label.len() > 31 { + return Err(Error::Invalid("label longer than 31 bytes")); + } + if options.encryption.as_ref().is_some_and(|e| e.passphrase.contains(&0)) { + return Err(Error::Invalid("passphrase holding NUL")); + } + let geometry = Geometry::new(dev.blocks() * BLOCK_SECTORS)?; + let mut draw = Draw(random); + let internal_uuid = draw.uuid()?; + let user_uuid = draw.uuid()?; + let member_uuid = draw.uuid()?; + let hash_seed = draw.u64()?; + let key = match &options.encryption { + Some(_) => Some(MasterKey::new(draw.bytes()?)), + None => None, + }; + + // The least node count that holds the keys of its own nodes, from below. + let mut nodes = BTREES.len() as u64; + let plan = loop { + let plan = Plan::new(&geometry, nodes, hash_seed)?; + if plan.nodes() == nodes { + break plan; + } + assert!(plan.nodes() > nodes, "the layout's node count shrank as its nodes grew"); + nodes = plan.nodes(); + }; + let seqs = (0..nodes).map(|_| draw.nonzero()).collect::>>()?; + let tree = plan.lay_out(&geometry, &seqs)?; + + let magic = node::magic(&internal_uuid); + for n in &tree.nodes { + let build = Build { btree: n.btree, level: n.level, seq: n.seq, min: n.min, max: n.max, journal_seq: 0, keys: &n.keys }; + let bytes = node::encode(magic, BLOCK, key.as_ref(), &build)?; + write(dev, n.sector, &bytes).await?; + } + + let member = Member { + uuid: member_uuid, + nbuckets: geometry.nbuckets, + first_bucket: 0, + bucket_sectors: geometry.bucket as u16, + bitmap_shift: tree.bitmap_shift, + last_mount: options.time / 1_000_000_000, + flags: member_flag::DATA_ALLOWED | member_flag::DURABILITY_1 | member_flag::FREESPACE_INITIALIZED | member_flag::ROTATIONAL_KNOWN, + seq: 1, + bitmap: tree.bitmap, + journal_bucket: 0, + journal_offset: 0, + identity_zero: true, + }; + let crypt = match (&options.encryption, &key) { + (Some(e), Some(key)) => Some(Crypt { kdf: e.kdf, wrapped: key.wrapped(&internal_uuid, e.passphrase, e.kdf)? }), + _ => None, + }; + let mut label = [0u8; 32]; + label[..options.label.len()].copy_from_slice(options.label); + let header = Header { + version: VERSION, + version_min: VERSION, + internal_uuid, + user_uuid, + label, + offset: 0, + seq: 1, + block_sectors: BLOCK_SECTORS as u16, + dev_idx: 0, + nr_devices: 1, + time_base: options.time, + time_precision: 1, + flags: flags(geometry.node, crypt.is_some()), + write_time: options.time / 1_000_000_000, + features: [FEATURES, 0], + compat: [COMPAT_INITIALIZED | COMPAT_CLEAN, 0], + layout: geometry.layout.clone(), + }; + let fields = fields(&geometry, &member, crypt.as_ref(), &tree.roots); + for &offset in &geometry.layout.offsets { + write(dev, offset, &Superblock::encode(&header, &fields, offset)).await?; + } + // Sectors 0–6 are zeros here; the layout copy is sector 7. + let mut first = alloc::vec![0u8; BLOCK]; + let at = LAYOUT as usize * SECTOR; + first[at..at + Layout::BYTES].copy_from_slice(&geometry.layout.encode()); + write(dev, 0, &first).await?; + dev.flush().await?; + Ok(()) +} + +/// The feature bits `format` sets, all of a clean volume's. +pub(crate) const FEATURES: u64 = 0x000f_ba80; +/// Compat bits 2–5, set at initialization; 0–1 at a clean shutdown. +pub(crate) const COMPAT_INITIALIZED: u64 = 0x3c; +pub(crate) const COMPAT_CLEAN: u64 = 0x3; + +/// Flag words 0–6 as `format` sets them, clean and +/// initialized, at node size `node` sectors. +fn flags(node: u64, encrypted: bool) -> [u64; 7] { + let word0 = 1 // initialized + | 1 << 1 // clean + | 1 << 2 // superblock checksum crc32c + | 1 << 8 // error action fix_safe + | node << 12 // btree node size, sectors + | 8 << 28 // copygc reserve, percent + | 1 << 40 // metadata checksum crc32c + | 1 << 44 // data checksum crc32c + | 1 << 48 // metadata replicas wanted + | 1 << 52 // data replicas wanted + | 1 << 56 // POSIX ACLs + | 1 << 63; // promote whole extents + let encryption = if encrypted { 1 << 9 | 1 << 10 } else { 0 }; // wide_macs, ChaCha20/Poly1305 + let word1 = 2 // string hash siphash + | encryption + | 9 << 14 // encoded extent max, 2^9 sectors + | 1 << 20 // metadata replicas required + | 1 << 24; // data replicas required + let word3 = 1000 << 30; // journal flush delay, ms + let word4 = 100 | 1 << 32; // journal reclaim delay, ms; transaction names + let incompat = 1 << 10 | 36; // 1.36: no user replicas in the superblock + let word5 = u64::from(VERSION) | 30 << 16 | incompat << 32 | u64::from(VERSION) << 48; + let word6 = 30 << 4 | 3 << 14 | 16 << 40; // write error timeout, checksum retries, backpointer shift + [word0, word1, 0, word3, word4, word5, word6] +} + +/// `ext`'s extended flags as `format` writes them. +const EXT_FLAGS: u64 = 0x0900_2850_1000; +/// The downgrade field of 1.39 with incompat 1.36: the entries for 1.38 and +/// 1.39 that upstream regenerates on every superblock write. +pub(crate) const DOWNGRADE: [u8; 52] = [ + 0x26, 0x04, 0x00, 0x04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x03, 0x00, 0x7c, 0x00, 0x72, 0x00, 0x7b, 0x00, + 0x27, 0x04, 0x20, 0x88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x03, 0x00, 0x83, 0x00, 0x69, 0x00, 0x10, 0x01, +]; +/// Each extent entry type's size in u64s, pointer through reconcile_bp. +pub(crate) const EXTENT_TYPE_U64S: [u8; 9] = [1, 1, 2, 3, 1, 1, 1, 1, 1]; + +fn fields(geometry: &Geometry, member: &Member, crypt: Option<&Crypt>, roots: &[(Btree, u8, Vec)]) -> Vec { + let mut ext = alloc::vec![0u8; 14 * 8]; + put64(&mut ext, 11 * 8, EXT_FLAGS); + let mut members = alloc::vec![0u8; 8]; + put16(&mut members, 0, Member::BYTES as u16); + members.extend_from_slice(&member.encode()); + let mut journal = alloc::vec![0u8; 16]; + put64(&mut journal, 0, geometry.journal.0); + put64(&mut journal, 8, geometry.journal.1); + + // `clean`: sequence 0, the key version, both clocks at 0, every root. + let mut clean = alloc::vec![0u8; 16]; + record(&mut clean, KEY_VERSION, 0, entry_type::USAGE, &0u64.to_le_bytes()); + for rw in 0..2u8 { + let mut clock = [0u8; 16]; + clock[0] = rw; + record(&mut clean, 0, 0, entry_type::CLOCK, &clock); + } + for (btree, level, key) in roots { + record(&mut clean, *btree as u8, *level, entry_type::BTREE_ROOT, key); + } + + let mut out = alloc::vec![ + Field { kind: field_type::EXT, body: ext }, + Field { kind: field_type::MEMBERS_V2, body: members }, + ]; + if let Some(crypt) = crypt { + out.push(Field { kind: field_type::CRYPT, body: crypt.encode() }); + } + out.extend([ + Field { kind: field_type::CLEAN, body: clean }, + Field { kind: field_type::EXTENT_TYPE_U64S, body: EXTENT_TYPE_U64S.to_vec() }, + Field { kind: field_type::DOWNGRADE, body: DOWNGRADE.to_vec() }, + Field { kind: field_type::JOURNAL_V2, body: journal }, + // The btree's replicas entry, on device 0. + Field { kind: field_type::REPLICAS_V0, body: alloc::vec![data_type::BTREE, 1, 0] }, + ]); + out +} + +/// Appends a `jset_entry` record. +fn record(out: &mut Vec, btree: u8, level: u8, kind_: u8, payload: &[u8]) { + let mut header = [0u8; 8]; + put16(&mut header, 0, (payload.len() / 8) as u16); + header[2] = btree; + header[3] = level; + header[4] = kind_; + out.extend_from_slice(&header); + out.extend_from_slice(payload); +} + +async fn write(dev: &impl BlockDev, sector: u64, bytes: &[u8]) -> Result<()> { + let at = sector * SECTOR as u64; + assert!(at.is_multiple_of(BLOCK as u64), "a write off a block boundary"); + let mut blocks = alloc::vec![[0u8; BLOCK]; bytes.len().div_ceil(BLOCK)]; + blocks.as_flattened_mut()[..bytes.len()].copy_from_slice(bytes); + dev.write(at / BLOCK as u64, &blocks).await?; + Ok(()) +} + +struct Draw<'r, R>(&'r mut R); + +impl Draw<'_, R> { + fn bytes(&mut self) -> Result<[u8; N]> { + let mut b = [0u8; N]; + self.0.fill(&mut b).map_err(|_| Error::Entropy)?; + Ok(b) + } + + fn u64(&mut self) -> Result { + Ok(u64::from_le_bytes(self.bytes()?)) + } + + fn nonzero(&mut self) -> Result { + loop { + let v = self.u64()?; + if v != 0 { + return Ok(v); + } + } + } + + fn uuid(&mut self) -> Result<[u8; 16]> { + loop { + let v = self.bytes()?; + if v != [0; 16] { + return Ok(v); + } + } + } +} + +/// Where everything goes on a device of `sectors`. +struct Geometry { + /// Sectors per bucket. + bucket: u64, + nbuckets: u64, + /// Sectors per btree node. + node: u64, + layout: Layout, + /// The journal's first bucket and bucket count. + journal: (u64, u64), + /// Superblock sectors in each bucket that holds any. + sb: Vec<(u64, u64)>, +} + +impl Geometry { + fn new(sectors: u64) -> Result { + let wanted = (sectors / WANT_BUCKETS).max(1); + let bucket = (1u64 << wanted.ilog2()).clamp(MIN_BUCKET, MAX_BUCKET); + let nbuckets = sectors / bucket; + if nbuckets < MIN_BUCKETS || sectors < 4 * SB_SECTORS { + return Err(Error::Invalid("device smaller than 512 buckets")); + } + let second = (PRIMARY + SB_SECTORS).next_multiple_of(BLOCK_SECTORS); + let end = (sectors - SB_SECTORS) / bucket * bucket; + if end < second + SB_SECTORS { + return Err(Error::Invalid("device too small for three superblock copies")); + } + let layout = Layout { max_bits: SB_MAX_BITS, offsets: alloc::vec![PRIMARY, second, end] }; + let mut sb: Vec<(u64, u64)> = Vec::new(); + let regions = core::iter::once((0, PRIMARY)).chain(layout.offsets.iter().map(|&o| (o, o + SB_SECTORS))); + for (start, stop) in regions { + for b in start / bucket..stop.div_ceil(bucket).min(nbuckets) { + let marked = stop.min((b + 1) * bucket) - start.max(b * bucket); + match sb.iter_mut().find(|(bb, _)| *bb == b) { + Some((_, sectors)) => *sectors += marked, + None => sb.push((b, marked)), + } + } + } + sb.sort_unstable(); + let front = (second + SB_SECTORS).div_ceil(bucket); + let journal = (front, (nbuckets / 128).max(8)); + Ok(Geometry { bucket, nbuckets, node: bucket.min(MAX_NODE_SECTORS), layout, journal, sb }) + } + + /// The first bucket btree nodes go in. + fn btree_start(&self) -> u64 { + self.journal.0 + self.journal.1 + } + + fn nodes_per_bucket(&self) -> u64 { + self.bucket / self.node + } + + /// The bucket and sector of node slot `i`. + fn slot(&self, i: u64) -> (u64, u64) { + let bucket = self.btree_start() + i / self.nodes_per_bucket(); + (bucket, bucket * self.bucket + i % self.nodes_per_bucket() * self.node) + } + + /// Node counts of the buckets `n` nodes fill. + fn btree_buckets(&self, n: u64) -> impl Iterator + '_ { + let per = self.nodes_per_bucket(); + (0..n.div_ceil(per)).map(move |i| (self.btree_start() + i, per.min(n - i * per))) + } +} + +/// Every btree's keys for `nodes` node slots, before the node values that +/// depend on where each node goes. +struct Plan { + /// Per btree of [`BTREES`]: each key's position and encoded bytes. + keys: Vec)>>, + /// Each btree's levels: per level, each node's key range in the level + /// below (or in `keys`, for leaves). + shapes: Vec>>>, + node_bytes: usize, +} + +/// A first bset fills at most two thirds of its node, as upstream splits. +fn capacity(node_bytes: usize) -> usize { + node_bytes * 2 / 3 +} + +/// An interior key: a `btree_ptr_v2` with one device pointer. +const POINTER_KEY: usize = 40 + NodePtr::BYTES; + +impl Plan { + fn new(g: &Geometry, nodes: u64, hash_seed: u64) -> Result { + let (last, _) = g.slot(nodes - 1); + let end_copy = (g.layout.offsets[2] / g.bucket).min(g.nbuckets); + if last >= end_copy { + return Err(Error::Invalid("device too small for its metadata")); + } + let node_bytes = (g.node as usize) * SECTOR; + let mut keys: Vec)>> = BTREES.iter().map(|_| Vec::new()).collect(); + let mut put = |btree: Btree, key: Key, value: &[u8]| { + let i = BTREES.iter().position(|&b| b == btree).expect("a btree mkfs writes"); + keys[i].push((key.pos, key.encode(value))); + }; + + let root = root_inode(hash_seed); + put(Btree::Inodes, Key::new(kind::INODE_V3, Bpos::new(0, ROOT_INODE, ROOT_SNAPSHOT)), &root); + put(Btree::Subvolumes, Key::new(kind::SUBVOLUME, Bpos::new(0, u64::from(ROOT_SUBVOLUME), 0)), &value::subvolume(ROOT_SNAPSHOT, ROOT_INODE)); + put(Btree::Snapshots, Key::new(kind::SNAPSHOT, Bpos::new(0, u64::from(ROOT_SNAPSHOT), 0)), &value::snapshot(ROOT_SUBVOLUME, SNAPSHOT_TREE)); + put(Btree::SnapshotTrees, Key::new(kind::SNAPSHOT_TREE, Bpos::new(0, u64::from(SNAPSHOT_TREE), 0)), &value::snapshot_tree(ROOT_SUBVOLUME, ROOT_SNAPSHOT)); + put(Btree::LoggedOps, Key::new(kind::INODE_ALLOC_CURSOR, Bpos::new(1, 1, 0)), &value::inode_cursor(0, FIRST_INODE)); + + // Alloc keys for used buckets only; the rest are free holes. + let journal = g.journal.0..g.journal.0 + g.journal.1; + let btree: Vec<(u64, u64)> = g.btree_buckets(nodes).collect(); + let mut used: Vec<(u64, Alloc)> = g.sb.iter().map(|&(b, s)| (b, Alloc { data_type: data_type::SB, dirty_sectors: s as u32 })).collect(); + used.extend(journal.map(|b| (b, Alloc { data_type: data_type::JOURNAL, dirty_sectors: g.bucket as u32 }))); + used.extend(btree.iter().map(|&(b, n)| (b, Alloc { data_type: data_type::BTREE, dirty_sectors: (n * g.node) as u32 }))); + used.sort_unstable_by_key(|(b, _)| *b); + for (b, alloc) in &used { + put(Btree::Alloc, Key::new(kind::ALLOC_V4, Bpos::new(0, *b, 0)), &alloc.encode()); + } + let mut free = 0; + let mut ranges = Vec::new(); + for &(b, _) in &used { + if b > free { + ranges.push((free, b)); + } + free = b + 1; + } + if free < g.nbuckets { + ranges.push((free, g.nbuckets)); + } + for &(start, end) in &ranges { + let key = Key { size: (end - start) as u32, ..Key::new(kind::SET, Bpos::new(0, end, 0)) }; + put(Btree::Freespace, key, &[]); + } + // A fragmentation entry for each partly filled btree bucket. + for &(b, n) in &btree { + let dirty = n * g.node; + if dirty < g.bucket { + let time = dirty * (1 << 31) / g.bucket; + put(Btree::Lru, Key::new(kind::SET, Bpos::new(8192 << 48 | time, b, 0)), &[]); + } + } + // Backpointers' positions; their values follow the layout. + for i in 0..nodes { + let (_, sector) = g.slot(i); + put(Btree::Backpointers, Key::new(kind::BACKPOINTER, Bpos::new(0, sector << 16, 0)), &[0; 32]); + } + // Accounting's positions and sizes; its values follow the layout. + for (record, counters) in accounting_classes() { + put(Btree::Accounting, Key::new(kind::ACCOUNTING, value::accounting_pos(&record)), &alloc::vec![0u8; 8 * counters]); + } + for list in &mut keys { + list.sort_unstable_by_key(|(pos, _)| *pos); + } + let shapes = keys.iter().map(|k| shape(k.iter().map(|(_, b)| b.len()), node_bytes)).collect::>>()?; + Ok(Plan { keys, shapes, node_bytes }) + } + + fn nodes(&self) -> u64 { + self.shapes.iter().flatten().map(|level| level.len() as u64).sum() + } +} + +/// The accounting classes a fresh volume carries, as class records +/// and counter counts, in a fixed order whose values [`Tree::accounting`] +/// fills. +fn accounting_classes() -> Vec<(Vec, usize)> { + let mut out = alloc::vec![ + (alloc::vec![class::NR_INODES], 1), + (alloc::vec![class::REPLICAS, data_type::BTREE, 1, 1, 0], 1), + ]; + for t in [data_type::FREE, data_type::SB, data_type::JOURNAL, data_type::BTREE] { + out.push((alloc::vec![class::DEV_DATA_TYPE, 0, t], 3)); + } + for btree in BTREES { + let mut r = alloc::vec![class::BTREE]; + r.extend_from_slice(&(btree as u32).to_le_bytes()); + out.push((r, 3)); + } + let mut snapshot = alloc::vec![class::SNAPSHOT]; + snapshot.extend_from_slice(&ROOT_SNAPSHOT.to_le_bytes()); + snapshot.extend_from_slice(&(Btree::Inodes as u32).to_le_bytes()); + out.push((snapshot, 3)); + out +} + +/// The root directory: mode 040755, owned by root, siphash names under +/// `hash_seed`, the root subvolume's root. Its times are the time base, so +/// zero. +fn root_inode(hash_seed: u64) -> Vec { + let mut inode = InodeValue { hash_seed, flags: 0o40755 << 36 | 3 << 20, ..Default::default() }; + inode.set(inode_field::SUBVOL, u64::from(ROOT_SUBVOLUME)); + inode.encode() +} + +/// A btree's nodes for keys of `sizes`: leaves filled in order to +/// [`capacity`], then interior levels of pointers until one root. +fn shape(sizes: impl Iterator, node_bytes: usize) -> Result>>> { + let cap = capacity(node_bytes) - node::record_bytes(core::iter::empty()); + let mut leaves = alloc::vec![0..0]; + let mut fill = 0; + for (i, size) in sizes.enumerate() { + let last = leaves.last_mut().unwrap(); + if fill + size > cap && last.start != last.end { + leaves.push(i..i + 1); + fill = size; + } else { + last.end = i + 1; + fill += size; + } + } + let fanout = cap / POINTER_KEY; + let mut levels = alloc::vec![leaves]; + while levels.last().unwrap().len() > 1 { + let below = levels.last().unwrap().len(); + levels.push((0..below).step_by(fanout).map(|i| i..(i + fanout).min(below)).collect()); + if levels.len() > 4 { + return Err(Error::Invalid("a btree deeper than four levels")); + } + } + Ok(levels) +} + +/// One node as written. +struct Laid { + btree: Btree, + level: u8, + seq: u64, + sector: u64, + min: Bpos, + max: Bpos, + keys: Vec>, +} + +/// The nodes, `clean`'s root records, and the member's btree bitmap. +struct Tree { + nodes: Vec, + roots: Vec<(Btree, u8, Vec)>, + bitmap_shift: u8, + bitmap: u64, +} + +impl Plan { + /// Assigns slots in btree order, leaves first, and fills the values + /// that depend on them: backpointers, accounting, and every pointer. + fn lay_out(mut self, g: &Geometry, seqs: &[u64]) -> Result { + // Each node's place and range, before its keys are final. + struct Place { + btree: usize, + level: usize, + range: core::ops::Range, + slot: u64, + min: Bpos, + max: Bpos, + } + let mut places: Vec = Vec::new(); + let mut slot = 0; + let mut first_of: Vec> = Vec::new(); + for (t, levels) in self.shapes.iter().enumerate() { + let mut firsts = Vec::new(); + for (level, nodes) in levels.iter().enumerate() { + firsts.push(places.len()); + let count = nodes.len(); + for (j, range) in nodes.iter().enumerate() { + let (min, max) = if level == 0 { + let keys = &self.keys[t]; + let min = if j == 0 { Bpos::MIN } else { keys[range.start - 1].0.successor().expect("a key below MAX") }; + let max = if j + 1 == count { Bpos::MAX } else { keys[range.end - 1].0 }; + (min, max) + } else { + let below = firsts[level - 1]; + (places[below + range.start].min, places[below + range.end - 1].max) + }; + places.push(Place { btree: t, level, range: range.clone(), slot, min, max }); + slot += 1; + } + } + first_of.push(firsts); + } + + // Backpointers and accounting, now that every node has its place. + let bp = BTREES.iter().position(|&b| b == Btree::Backpointers).unwrap(); + for p in &places { + let (_, sector) = g.slot(p.slot); + let i = self.keys[bp].binary_search_by_key(&Bpos::new(0, sector << 16, 0), |(pos, _)| *pos).expect("a backpointer per node"); + let value = value::backpointer(BTREES[p.btree] as u8, p.level as u8, g.node as u32, p.max); + self.keys[bp][i].1[40..72].copy_from_slice(&value); + } + self.fill_accounting(g, &places.iter().map(|p| (p.btree, p.level)).collect::>()); + + // Nodes from the leaves up, each level's pointers from the one + // below. + let mut written: Vec> = (0..places.len()).map(|_| None).collect(); + let mut nodes = Vec::new(); + for (idx, p) in places.iter().enumerate() { + let keys: Vec> = if p.level == 0 { + self.keys[p.btree][p.range.clone()].iter().map(|(_, b)| b.clone()).collect() + } else { + let below = first_of[p.btree][p.level - 1]; + p.range + .clone() + .map(|c| { + let (ptr, max) = written[below + c].expect("children laid out first"); + Key::new(kind::BTREE_PTR_V2, max).encode(&ptr.encode()) + }) + .collect() + }; + let (_, sector) = g.slot(p.slot); + let bytes = node::record_bytes(keys.iter().map(Vec::len)).next_multiple_of(BLOCK); + assert!(bytes <= self.node_bytes, "a node past its size"); + let ptr = NodePtr { + seq: seqs[p.slot as usize], + written: (bytes / SECTOR) as u16, + min: p.min, + ptr: Ptr { sector, dev: 0, gen: 0, cached: false, unwritten: false }, + }; + written[idx] = Some((ptr, p.max)); + nodes.push(Laid { btree: BTREES[p.btree], level: p.level as u8, seq: ptr.seq, sector, min: p.min, max: p.max, keys }); + } + let roots = (0..BTREES.len()) + .map(|t| { + let top = self.shapes[t].len() - 1; + let (ptr, max) = written[first_of[t][top]].unwrap(); + (BTREES[t], top as u8, Key::new(kind::BTREE_PTR_V2, max).encode(&ptr.encode())) + }) + .collect(); + + // The bitmap's shift covers the last node; each node's regions are set. + let end = nodes.iter().map(|n| n.sector + g.node).max().unwrap_or(0); + let bitmap_shift = (64 - (end.max(64) - 1).leading_zeros()).saturating_sub(6) as u8; + let mut bitmap = 0u64; + for n in &nodes { + for i in n.sector >> bitmap_shift..(n.sector + g.node).div_ceil(1 << bitmap_shift) { + bitmap |= 1 << i; + } + } + Ok(Tree { nodes, roots, bitmap_shift, bitmap }) + } + + /// Each class's counters, in [`accounting_classes`]' order. + fn fill_accounting(&mut self, g: &Geometry, nodes: &[(usize, usize)]) { + let n = nodes.len() as u64; + let node = g.node; + let btree: Vec<(u64, u64)> = g.btree_buckets(n).collect(); + let sb_sectors: u64 = g.sb.iter().map(|&(_, s)| s).sum(); + let sb_frag: u64 = g.sb.iter().map(|&(_, s)| g.bucket - s).sum(); + let btree_frag: u64 = btree.iter().map(|&(_, k)| g.bucket - k * node).sum(); + let used = g.sb.len() as u64 + g.journal.1 + btree.len() as u64; + let inode_bytes = { + let inodes = BTREES.iter().position(|&b| b == Btree::Inodes).unwrap(); + self.keys[inodes][0].1.len() as u64 + }; + let mut values: Vec> = alloc::vec![ + alloc::vec![1], + alloc::vec![n * node], + alloc::vec![g.nbuckets - used, 0, 0], + alloc::vec![g.sb.len() as u64, sb_sectors, sb_frag], + alloc::vec![g.journal.1, g.journal.1 * g.bucket, 0], + alloc::vec![btree.len() as u64, n * node, btree_frag], + ]; + for t in 0..BTREES.len() { + let count = nodes.iter().filter(|&&(b, _)| b == t).count() as u64; + let interior = nodes.iter().filter(|&&(b, l)| b == t && l > 0).count() as u64; + values.push(alloc::vec![count * node, count, interior]); + } + values.push(alloc::vec![1, inode_bytes, 0]); + + let acct = BTREES.iter().position(|&b| b == Btree::Accounting).unwrap(); + for ((record, _), v) in accounting_classes().iter().zip(values) { + let pos = value::accounting_pos(record); + let i = self.keys[acct].binary_search_by_key(&pos, |(p, _)| *p).expect("a key per class"); + self.keys[acct][i].1[40..].copy_from_slice(&value::counters(&v)); + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn a_small_device_lays_out_as_format_does() { + // Upstream's own 32 MiB layout: 65 536 sectors in 32-sector buckets, copies at 8, + // 2 056 and 63 488; buckets 0–127 hold 32 superblock sectors, 128 + // holds 8, 1 984–2 047 hold 32. + let g = Geometry::new(65536).unwrap(); + assert_eq!((g.bucket, g.nbuckets, g.node), (32, 2048, 32)); + assert_eq!(g.layout.offsets, [8, 2056, 63488]); + assert_eq!(g.sb.len(), 129 + 64); + assert_eq!(g.sb[128], (128, 8)); + assert!(g.sb.iter().filter(|&&(b, _)| b != 128).all(|&(_, s)| s == 32)); + assert_eq!(g.journal, (129, 16)); + } + + #[test] + fn a_large_device_takes_two_mib_buckets_and_256_kib_nodes() { + // 171 GiB, as `format` lays out a partition that size. + let g = Geometry::new(171 << 21).unwrap(); + assert_eq!((g.bucket, g.node), (4096, 512)); + assert_eq!(g.journal.1, g.nbuckets / 128); + } + + #[test] + fn leaves_fill_to_two_thirds_and_one_root_spans_them() { + let levels = shape(core::iter::repeat_n(104, 300), 16384).unwrap(); + assert_eq!(levels.len(), 2); + assert_eq!(levels[0].len(), 3); + assert_eq!(levels[1], vec![0..3]); + let empty = shape(core::iter::empty(), 16384).unwrap(); + assert_eq!(empty, vec![vec![0..0]], "an empty btree still has its root"); + } +} diff --git a/lib/bcachefs/src/engine/mod.rs b/lib/bcachefs/src/engine/mod.rs new file mode 100644 index 00000000000..caad4d8bf20 --- /dev/null +++ b/lib/bcachefs/src/engine/mod.rs @@ -0,0 +1,183 @@ +//! bcachefs as bcachefs-tools v1.39.4 defines metadata version 1.39 (1063), +//! on one device: a reader of clean volumes, [`mkfs`] of a minimal complete +//! volume, and ToyOS's check of what it writes ([`fsck`]). +//! +//! **Everything read came off a disk this crate does not own.** Bytes become +//! typed values in one place each, the superblock in [`superblock`], a node +//! and its keys in `node`, a value in `value`; what those return is not +//! checked again. A structure outside what this reader decodes is refused by +//! name ([`Error::Unsupported`]), never guessed at. + +mod bkey; +mod crypt; +mod fsck; +mod mkfs; +mod node; +mod read; +mod superblock; +mod value; + +pub use bkey::{Bpos, Key, Version}; +pub use crypt::MIN_KDF; +pub use fsck::{fsck, Finding}; +pub use mkfs::{mkfs, Encryption, Options}; +pub use read::{DirEntry, Inode, Volume}; +pub use superblock::{Kdf, Superblock}; +pub use value::DirentType; + +/// Why an operation on a volume did not happen. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Error { + Device(toyos_blockdev::Error), + /// A checksum or MAC disagreed with the bytes it covers. + Checksum(&'static str), + /// Bytes that are not the format, and what was wrong with them. + Corrupt(&'static str), + /// Valid bcachefs this crate does not handle, by name. + Unsupported(&'static str), + /// An encrypted volume opened without its passphrase. + Locked, + /// The passphrase does not unwrap the volume's key. + Passphrase, + NotFound, + NotDirectory, + /// An argument the caller should not have made, by name. + Invalid(&'static str), + /// The random source failed. + Entropy, +} + +impl From for Error { + fn from(e: toyos_blockdev::Error) -> Self { + Error::Device(e) + } +} + +pub type Result = core::result::Result; + +/// Bytes per sector, whatever the device's block. +pub const SECTOR: usize = 512; + +/// The metadata version this crate reads and writes: 1.39. +pub const VERSION: u16 = 1 << 10 | 39; + +pub(crate) fn le16(b: &[u8], at: usize) -> u16 { + u16::from_le_bytes([b[at], b[at + 1]]) +} + +pub(crate) fn le32(b: &[u8], at: usize) -> u32 { + u32::from_le_bytes(b[at..at + 4].try_into().unwrap()) +} + +pub(crate) fn le64(b: &[u8], at: usize) -> u64 { + u64::from_le_bytes(b[at..at + 8].try_into().unwrap()) +} + +pub(crate) fn put16(b: &mut [u8], at: usize, v: u16) { + b[at..at + 2].copy_from_slice(&v.to_le_bytes()); +} + +pub(crate) fn put32(b: &mut [u8], at: usize, v: u32) { + b[at..at + 4].copy_from_slice(&v.to_le_bytes()); +} + +pub(crate) fn put64(b: &mut [u8], at: usize, v: u64) { + b[at..at + 8].copy_from_slice(&v.to_le_bytes()); +} + +/// Bits `[lo, lo + len)` of `word`. +pub(crate) fn field(word: u64, lo: u32, len: u32) -> u64 { + (word >> lo) & if len == 64 { !0 } else { (1 << len) - 1 } +} + +/// The btrees this crate names, numbered as the format numbers them. +#[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] +#[repr(u8)] +pub enum Btree { + Extents = 0, + Inodes = 1, + Dirents = 2, + Xattrs = 3, + Alloc = 4, + Quotas = 5, + Stripes = 6, + Reflink = 7, + Subvolumes = 8, + Snapshots = 9, + Lru = 10, + Freespace = 11, + NeedDiscard = 12, + Backpointers = 13, + BucketGens = 14, + SnapshotTrees = 15, + DeletedInodes = 16, + LoggedOps = 17, + ReconcileWork = 18, + SubvolumeChildren = 19, + Accounting = 20, +} + +impl Btree { + pub(crate) const ALL: [Btree; 21] = [ + Btree::Extents, + Btree::Inodes, + Btree::Dirents, + Btree::Xattrs, + Btree::Alloc, + Btree::Quotas, + Btree::Stripes, + Btree::Reflink, + Btree::Subvolumes, + Btree::Snapshots, + Btree::Lru, + Btree::Freespace, + Btree::NeedDiscard, + Btree::Backpointers, + Btree::BucketGens, + Btree::SnapshotTrees, + Btree::DeletedInodes, + Btree::LoggedOps, + Btree::ReconcileWork, + Btree::SubvolumeChildren, + Btree::Accounting, + ]; + + pub(crate) fn from_id(id: u32) -> Option { + Btree::ALL.get(id as usize).copied() + } + + /// Keys are extents, positioned at their end. + pub(crate) fn extents(self) -> bool { + matches!(self, Btree::Extents | Btree::Reflink | Btree::Freespace) + } +} + +/// Key types, numbered as the format numbers them: the order of +/// *bcachefs: Principles of Operation* §11.5's list. +pub(crate) mod kind { + pub const DELETED: u8 = 0; + pub const WHITEOUT: u8 = 1; + pub const ERROR: u8 = 2; + pub const HASH_WHITEOUT: u8 = 4; + pub const EXTENT: u8 = 6; + pub const RESERVATION: u8 = 7; + pub const INODE: u8 = 8; + pub const DIRENT: u8 = 10; + pub const REFLINK_P: u8 = 15; + pub const INLINE_DATA: u8 = 17; + pub const BTREE_PTR_V2: u8 = 18; + pub const SUBVOLUME: u8 = 21; + pub const SNAPSHOT: u8 = 22; + pub const INODE_V2: u8 = 23; + pub const SET: u8 = 25; + pub const ALLOC_V4: u8 = 27; + pub const BACKPOINTER: u8 = 28; + pub const INODE_V3: u8 = 29; + pub const SNAPSHOT_TREE: u8 = 31; + pub const ACCOUNTING: u8 = 34; + pub const INODE_ALLOC_CURSOR: u8 = 35; + pub const EXTENT_WHITEOUT: u8 = 36; +} + +#[cfg(test)] +mod tests; diff --git a/lib/bcachefs/src/engine/node.rs b/lib/bcachefs/src/engine/node.rs new file mode 100644 index 00000000000..906ab242f84 --- /dev/null +++ b/lib/bcachefs/src/engine/node.rs @@ -0,0 +1,268 @@ +//! A btree node: a first record with the node header and a bset, then +//! later records each holding a bset, every one checksummed or MACed. + +use alloc::collections::BTreeMap; +use alloc::vec::Vec; + +use super::bkey::{Bpos, Format, Key}; +use super::crypt::{MasterKey, Nonce}; +use super::superblock::Superblock; +use super::{field, kind, le16, le32, le64, put16, put32, put64, Btree, Error, Result, SECTOR, VERSION}; +use crate::crc32c::crc32c; + +/// The node magic's XOR with the internal UUID's first eight bytes. +const NODE_MAGIC: u64 = 0x9013_5c78_b99e_07f5; +/// Bytes before the first bset's keys: header, format and bset header. +const FIRST_KEYS: usize = 160; +/// Bytes before a later bset's keys: checksum and bset header. +const LATER_KEYS: usize = 40; +/// Node flags bit 8, set on every node. +const NEW_EXTENT_OVERWRITE: u64 = 1 << 8; + +/// Checksum types metadata uses. +pub(crate) mod csum { + pub const NONE: u8 = 0; + pub const CRC32C: u8 = 1; + pub const CHACHA_POLY_128: u8 = 4; +} + +/// Every node's magic on the volume of `internal_uuid`. +pub(crate) fn magic(internal_uuid: &[u8; 16]) -> u64 { + u64::from_le_bytes(internal_uuid[..8].try_into().unwrap()) ^ NODE_MAGIC +} + +/// What a node is expected to be: where its parent pointer says it is, and +/// what it says it holds. +pub(crate) struct Expect { + pub btree: Btree, + pub level: u8, + pub seq: u64, + pub min: Bpos, + pub max: Bpos, +} + +/// A node, its bsets merged. +pub(crate) struct Node { + pub level: u8, + /// Live keys in position order, each with its value. + pub keys: Vec<(Key, Vec)>, + /// Each bset's journal sequence, in the order written. + pub bset_seqs: Vec, +} + +/// One record's place in the node and its parts. +struct Record { + /// Byte offset in the node. + at: usize, + /// Byte offset of the bset header. + bset: usize, + /// Byte offset of the keys. + keys: usize, + /// Byte offset past the keys. + end: usize, +} + +/// The node `bytes`, its parent pointer's written sectors of it, checked +/// against `expect`; `key` for an encrypted volume. +pub(crate) fn decode(sb: &Superblock, key: Option<&MasterKey>, expect: &Expect, mut bytes: Vec) -> Result { + let block = sb.block_bytes(); + if bytes.len() < FIRST_KEYS || le64(&bytes, 16) != magic(&sb.header.internal_uuid) { + return Err(Error::Corrupt("btree node without its magic")); + } + let mut bsets: Vec)>> = Vec::new(); + let mut bset_seqs = Vec::new(); + let mut format = Format::UNPACKED; + let mut at = 0; + while at < bytes.len() { + let first = at == 0; + let bset = if first { 136 } else { at + 16 }; + if bset + 24 > bytes.len() { + return Err(Error::Corrupt("bset header past the node's written sectors")); + } + if le64(&bytes, bset) != expect.seq { + if first { + return Err(Error::Corrupt("btree node of another sequence than its pointer's")); + } + break; + } + let keys = if first { FIRST_KEYS } else { at + LATER_KEYS }; + let end = keys + 8 * usize::from(le16(&bytes, bset + 22)); + let next = end.next_multiple_of(block); + if next > bytes.len() { + return Err(Error::Corrupt("bset past the node's written sectors")); + } + let record = Record { at, bset, keys, end }; + let journal_seq = le64(&bytes, bset + 8); + let flags = le32(&bytes, bset + 16); + check_bset(sb, flags, le16(&bytes, bset + 20), at)?; + let csum_type = field(u64::from(flags), 0, 4) as u8; + // An encrypted volume MACs all its metadata. + if sb.encrypted() && csum_type != csum::CHACHA_POLY_128 { + return Err(Error::Corrupt("unauthenticated btree node on an encrypted volume")); + } + open(key, expect.seq, journal_seq, csum_type, &record, &mut bytes)?; + if first { + format = parse_header(&bytes, expect)?; + } else if end == keys { + return Err(Error::Corrupt("later bset with no keys")); + } + if sb.blacklisted(journal_seq) { + if first { + return Err(Error::Corrupt("first bset's journal sequence blacklisted")); + } + } else { + bsets.push(parse_keys(&format, &bytes[keys..end], expect)?); + bset_seqs.push(journal_seq); + } + at = next; + } + Ok(Node { level: expect.level, keys: merge(bsets), bset_seqs }) +} + +fn check_bset(sb: &Superblock, flags: u32, version: u16, at: usize) -> Result<()> { + if flags & 1 << 4 != 0 { + return Err(Error::Unsupported("big-endian bset")); + } + if flags & 1 << 5 != 0 { + return Err(Error::Corrupt("bset with separate whiteouts")); + } + let offset = field(u64::from(flags), 16, 16) as usize; + if offset != 0 && offset * SECTOR != at { + return Err(Error::Corrupt("bset at another sector than it records")); + } + if version >> 10 != 1 || version > VERSION || version < sb.header.version_min { + return Err(Error::Unsupported("bset version outside the superblock's")); + } + Ok(()) +} + +/// Verifies a record's checksum or MAC, then decrypts it in place. +fn open(key: Option<&MasterKey>, seq: u64, journal_seq: u64, csum_type: u8, r: &Record, bytes: &mut [u8]) -> Result<()> { + match csum_type { + csum::NONE => Ok(()), + csum::CRC32C if crc32c(&bytes[r.at + 16..r.end]) == le32(bytes, r.at) => Ok(()), + csum::CRC32C => Err(Error::Checksum("btree node")), + csum::CHACHA_POLY_128 => { + let key = key.ok_or(Error::Locked)?; + let nonce = Nonce::node(r.at as u32, seq, journal_seq); + let tag: [u8; 16] = bytes[r.at..r.at + 16].try_into().unwrap(); + key.verify(nonce, &bytes[r.at + 16..r.end], &tag, "btree node")?; + if r.at == 0 { + // Node flags through the format from block 0, the + // keys from block 2. + key.xor(nonce, &mut bytes[24..r.bset])?; + key.xor(nonce.plus(2), &mut bytes[r.keys..r.end]) + } else { + key.xor(nonce, &mut bytes[r.keys..r.end]) + } + } + _ => Err(Error::Unsupported("btree node checksum type")), + } +} + +/// The first record's node header, against what its pointer expects. +fn parse_header(b: &[u8], expect: &Expect) -> Result { + let flags = le64(b, 24); + let btree = field(flags, 0, 4) | field(flags, 9, 16) << 4; + if btree != expect.btree as u64 || field(flags, 4, 4) != u64::from(expect.level) { + return Err(Error::Corrupt("btree node of another btree or level than its pointer's")); + } + if expect.btree.extents() && flags & NEW_EXTENT_OVERWRITE == 0 { + return Err(Error::Unsupported("extents node without new_extent_overwrite")); + } + if Bpos::decode(&b[32..52]) != expect.min || Bpos::decode(&b[52..72]) != expect.max { + return Err(Error::Corrupt("btree node range disagrees with its pointer")); + } + Format::decode(&b[80..136]) +} + +/// A bset's keys: sorted, inside the node's range. +fn parse_keys(format: &Format, mut b: &[u8], expect: &Expect) -> Result)>> { + let mut keys: Vec<(Key, Vec)> = Vec::new(); + while !b.is_empty() { + let len = usize::from(b[0]) * 8; + if len == 0 { + return Err(Error::Corrupt("key of no size")); + } + let (key, value) = format.key(b)?; + if key.pos < expect.min || key.pos > expect.max { + return Err(Error::Corrupt("key outside its node's range")); + } + if let Some((last, _)) = keys.last() { + let ordered = last.pos < key.pos || (last.pos == key.pos && last.kind == kind::DELETED && key.kind != kind::DELETED); + if !ordered { + return Err(Error::Corrupt("keys out of order")); + } + } + keys.push((key, value.to_vec())); + b = &b[len..]; + } + Ok(keys) +} + +/// Bsets merged by position, a later one winning, deleted keys dropped. +fn merge(bsets: Vec)>>) -> Vec<(Key, Vec)> { + let mut merged = BTreeMap::new(); + for bset in bsets { + for (key, value) in bset { + merged.insert(key.pos, (key, value)); + } + } + merged.into_values().filter(|(k, _)| k.kind != kind::DELETED).collect() +} + +/// A node's first and only record, written fresh. +pub(crate) struct Build<'a> { + pub btree: Btree, + pub level: u8, + pub seq: u64, + pub min: Bpos, + pub max: Bpos, + /// The bset's journal sequence. + pub journal_seq: u64, + /// Encoded unpacked keys, in position order. + pub keys: &'a [Vec], +} + +/// The first record's bytes: [`FIRST_KEYS`] plus the keys. +pub(crate) fn record_bytes(keys: impl Iterator) -> usize { + FIRST_KEYS + keys.sum::() +} + +/// `build`'s record, padded to whole blocks, checksummed for an +/// unencrypted volume or encrypted and MACed under `key`. +pub(crate) fn encode(sb_magic: u64, block: usize, key: Option<&MasterKey>, build: &Build) -> Result> { + let end = record_bytes(build.keys.iter().map(Vec::len)); + let mut b = alloc::vec![0u8; end.next_multiple_of(block)]; + put64(&mut b, 16, sb_magic); + let id = build.btree as u64; + put64(&mut b, 24, id & 0xf | u64::from(build.level) << 4 | NEW_EXTENT_OVERWRITE | (id >> 4) << 9); + build.min.encode(&mut b[32..52]); + build.max.encode(&mut b[52..72]); + Format::UNPACKED.encode(&mut b[80..136]); + put64(&mut b, 136, build.seq); + put64(&mut b, 144, build.journal_seq); + let csum_type = if key.is_some() { csum::CHACHA_POLY_128 } else { csum::CRC32C }; + put32(&mut b, 152, u32::from(csum_type)); + put16(&mut b, 156, VERSION); + put16(&mut b, 158, ((end - FIRST_KEYS) / 8) as u16); + let mut at = FIRST_KEYS; + for k in build.keys { + b[at..at + k.len()].copy_from_slice(k); + at += k.len(); + } + match key { + None => { + let crc = crc32c(&b[16..end]); + put32(&mut b, 0, crc); + } + Some(key) => { + let nonce = Nonce::node(0, build.seq, build.journal_seq); + key.xor(nonce, &mut b[24..136])?; + key.xor(nonce.plus(2), &mut b[FIRST_KEYS..end])?; + let tag = key.mac(nonce, &b[16..end])?; + b[..16].copy_from_slice(&tag); + } + } + Ok(b) +} diff --git a/lib/bcachefs/src/engine/read.rs b/lib/bcachefs/src/engine/read.rs new file mode 100644 index 00000000000..eb28c46fcc8 --- /dev/null +++ b/lib/bcachefs/src/engine/read.rs @@ -0,0 +1,507 @@ +//! A clean volume, read: its superblock chosen among the copies, its +//! btrees from `clean`'s roots, and files, directories and symlinks over +//! them. + +use alloc::vec::Vec; + +use toyos_blockdev::{BlockDev, BLOCK}; +use toyos_crypto::{scrypt, siphash}; + +use super::bkey::{Bpos, Key}; +use super::crypt::{MasterKey, Nonce}; +use super::node::{self, Expect, Node}; +use super::superblock::{Layout, Root, Superblock, HEADER, LAYOUT, MAX_BYTES, PRIMARY}; +use super::value::{inode_field, inode_flag, Dirent, DirentType, Extent, InodeValue, NodePtr, Subvolume}; +use super::{kind, le32, Btree, Error, Result, SECTOR}; +use crate::crc32c::crc32c; + +/// A clean volume open for reading. +pub struct Volume { + dev: D, + sb: Superblock, + key: Option, + /// The root subvolume's snapshot, the only one read. + snapshot: u32, + root: u64, +} + +/// A file's attributes. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct Inode { + pub ino: u64, + pub mode: u16, + pub size: u64, + pub nlink: u32, + pub uid: u32, + pub gid: u32, + pub rdev: u32, + pub generation: u32, + /// Access, change, modification and creation, in nanoseconds since the + /// Unix epoch. + pub atime: i64, + pub ctime: i64, + pub mtime: i64, + pub otime: i64, + /// The journal sequence the inode was last written in. + pub journal_seq: u64, + value: InodeValue, +} + +/// One name in a directory. +#[derive(Clone, Debug, PartialEq, Eq)] +pub struct DirEntry { + pub name: Vec, + pub ino: u64, + pub kind: DirentType, + /// Where a listing resumes after this entry. + pub next: u64, +} + +const S_IFMT: u16 = 0o170000; +const S_IFDIR: u16 = 0o040000; + +impl Inode { + pub fn is_dir(&self) -> bool { + self.mode & S_IFMT == S_IFDIR + } +} + +impl Volume { + /// An unencrypted volume, or one formatted without a passphrase. + pub async fn open(dev: D) -> Result { + let sb = read_superblock(&dev).await?; + let key = match &sb.crypt { + Some(crypt) => Some(MasterKey::stored(crypt).ok_or(Error::Locked)?), + None => None, + }; + Self::with(dev, sb, key).await + } + + /// An encrypted volume, its key unwrapped under `passphrase` with no more + /// scrypt cost than `limits`, which the superblock asks and the caller + /// bounds. + pub async fn unlock(dev: D, passphrase: &[u8], limits: scrypt::Limits) -> Result { + let sb = read_superblock(&dev).await?; + let crypt = sb.crypt.ok_or(Error::Invalid("a passphrase for an unencrypted volume"))?; + let key = MasterKey::unwrap(&crypt, &sb.header.internal_uuid, passphrase, limits)?; + Self::with(dev, sb, Some(key)).await + } + + async fn with(dev: D, sb: Superblock, key: Option) -> Result { + if sb.encrypted() != sb.crypt.is_some() { + return Err(Error::Corrupt("encryption option and crypt field disagree")); + } + if !sb.clean_flag() || sb.clean.is_none() { + return Err(Error::Unsupported("a volume not cleanly unmounted: its journal needs replay")); + } + let mut volume = Volume { dev, sb, key, snapshot: 0, root: 0 }; + let (k, v) = volume.get(Btree::Subvolumes, Bpos::new(0, u64::from(super::mkfs::ROOT_SUBVOLUME), 0)).await?.ok_or(Error::Corrupt("no root subvolume"))?; + if k.kind != kind::SUBVOLUME { + return Err(Error::Corrupt("root subvolume of another type")); + } + let subvolume = Subvolume::decode(&v)?; + volume.snapshot = subvolume.snapshot; + volume.root = subvolume.inode; + Ok(volume) + } + + pub fn superblock(&self) -> &Superblock { + &self.sb + } + + pub(crate) fn dev(&self) -> &D { + &self.dev + } + + /// The root directory's inode number. + pub fn root(&self) -> u64 { + self.root + } + + pub(crate) fn roots(&self) -> &[Root] { + &self.sb.clean.as_ref().expect("opened clean").roots + } + + fn root_of(&self, btree: Btree) -> Option<&Root> { + self.roots().iter().find(|r| r.btree == btree) + } + + /// The node `ptr` points at, `level` of `btree`, spanning `[min, max]`. + pub(crate) async fn node(&self, btree: Btree, level: u8, ptr: &NodePtr, max: Bpos) -> Result { + let sectors = u32::from(ptr.written); + if sectors > self.sb.node_sectors() || ptr.ptr.dev != 0 { + return Err(Error::Corrupt("btree pointer past its node, or to another device")); + } + self.in_one_bucket(ptr.ptr.sector, u64::from(self.sb.node_sectors()))?; + let bytes = read_bytes(&self.dev, ptr.ptr.sector * SECTOR as u64, sectors as usize * SECTOR).await?; + let expect = Expect { btree, level, seq: ptr.seq, min: ptr.min, max }; + node::decode(&self.sb, self.key.as_ref(), &expect, bytes) + } + + /// A pointed range lies in one bucket of the device. + fn in_one_bucket(&self, sector: u64, sectors: u64) -> Result<()> { + let m = &self.sb.member; + let bucket = u64::from(m.bucket_sectors); + let first = sector / bucket; + if first < u64::from(m.first_bucket) || first >= m.nbuckets || sector % bucket + sectors > bucket { + return Err(Error::Corrupt("pointer outside one bucket of the device")); + } + Ok(()) + } + + /// Visits `btree`'s keys from `from` in order until `visit` answers + /// `false`. + pub(crate) async fn walk(&self, btree: Btree, from: Bpos, mut visit: impl FnMut(&Key, &[u8]) -> Result) -> Result<()> { + let Some(root) = self.root_of(btree) else { return Ok(()) }; + let mut stack: Vec<(Node, usize)> = Vec::new(); + let node = self.node(btree, root.level, &root.ptr, root.key.pos).await?; + let start = node.keys.partition_point(|(k, _)| k.pos < from); + stack.push((node, start)); + while let Some((node, i)) = stack.last_mut() { + let Some((key, value)) = node.keys.get(*i) else { + stack.pop(); + continue; + }; + *i += 1; + if node.level == 0 { + if !visit(key, value)? { + return Ok(()); + } + continue; + } + if key.kind != kind::BTREE_PTR_V2 { + return Err(Error::Corrupt("interior key that is no btree pointer")); + } + let (level, ptr, max) = (node.level - 1, NodePtr::decode(value)?, key.pos); + let child = self.node(btree, level, &ptr, max).await?; + let start = child.keys.partition_point(|(k, _)| k.pos < from); + stack.push((child, start)); + } + Ok(()) + } + + /// The key at `pos` in `btree`, if any. + pub(crate) async fn get(&self, btree: Btree, pos: Bpos) -> Result)>> { + let mut found = None; + self.walk(btree, pos, |k, v| { + if k.pos == pos { + found = Some((*k, v.to_vec())); + } + Ok(false) + }) + .await?; + Ok(found) + } + + /// The inode numbered `ino`. + pub async fn inode(&self, ino: u64) -> Result { + let (key, value) = self.get(Btree::Inodes, Bpos::new(0, ino, self.snapshot)).await?.ok_or(Error::NotFound)?; + match key.kind { + kind::INODE_V3 => {} + kind::INODE | kind::INODE_V2 => return Err(Error::Unsupported("inode in a format before inode_v3")), + _ => return Err(Error::NotFound), + } + let v = InodeValue::decode(&value)?; + let mode = v.mode(); + let stored = v.field(inode_field::NLINK) as u32; + let nlink = if v.flags & inode_flag::UNLINKED != 0 { + 0 + } else { + stored + if mode & S_IFMT == S_IFDIR { 2 } else { 1 } + }; + let time = |f| self.time(v.field(f)); + Ok(Inode { + ino, + mode, + size: v.size, + nlink, + uid: v.field(inode_field::UID) as u32, + gid: v.field(inode_field::GID) as u32, + rdev: v.field(inode_field::RDEV) as u32, + generation: v.field(inode_field::GENERATION) as u32, + atime: time(inode_field::ATIME), + ctime: time(inode_field::CTIME), + mtime: time(inode_field::MTIME), + otime: time(inode_field::OTIME), + journal_seq: v.journal_seq, + value: v, + }) + } + + /// A stored time, signed units since the time base, in + /// nanoseconds since the epoch. + fn time(&self, stored: u64) -> i64 { + let precision = i128::from(self.sb.header.time_precision); + let ns = (i128::from(stored as i64) + i128::from(self.sb.header.time_base) / precision) * precision; + ns.clamp(i128::from(i64::MIN), i128::from(i64::MAX)) as i64 + } + + async fn directory(&self, dir: u64) -> Result { + let inode = self.inode(dir).await?; + if inode.is_dir() { + Ok(inode) + } else { + Err(Error::NotDirectory) + } + } + + /// The entry `name` in directory `dir`: its name's hash slot, then the run + /// of entries and whiteouts after it. + pub async fn lookup(&self, dir: u64, name: &[u8]) -> Result> { + let inode = self.directory(dir).await?; + let start = Bpos::new(dir, hash(&inode.value, name)?, self.snapshot); + let mut expected = start; + let mut found = None; + let mut failed = None; + self.walk(Btree::Dirents, start, |k, v| { + if k.pos != expected { + return Ok(false); + } + if k.kind == kind::DIRENT { + match entry(k, v) { + Ok(e) if e.name == name => { + found = Some(e); + return Ok(false); + } + Ok(_) => {} + Err(e) => { + failed = Some(e); + return Ok(false); + } + } + } else if k.kind != kind::HASH_WHITEOUT { + return Ok(false); + } + match k.pos.offset.checked_add(1) { + Some(offset) => expected.offset = offset, + None => return Ok(false), + } + Ok(true) + }) + .await?; + failed.map_or(Ok(found), Err) + } + + /// Up to `max` entries of `dir` from `cursor` on, in hash order, and + /// whether more follow. Cursor 0 starts the listing; an entry's `next` + /// resumes after it. + pub async fn readdir(&self, dir: u64, cursor: u64, max: usize) -> Result<(Vec, bool)> { + self.directory(dir).await?; + let mut out = Vec::new(); + let mut more = false; + self.walk(Btree::Dirents, Bpos::new(dir, cursor, 0), |k, v| { + if k.pos.inode != dir { + return Ok(false); + } + if k.pos.snapshot != self.snapshot || k.kind != kind::DIRENT { + return Ok(true); + } + if out.len() == max { + more = true; + return Ok(false); + } + out.push(entry(k, v)?); + Ok(true) + }) + .await?; + Ok((out, more)) + } + + /// The target of the symlink `ino`. + pub async fn readlink(&self, ino: u64) -> Result> { + let inode = self.inode(ino).await?; + if inode.mode & S_IFMT != 0o120000 || inode.size == 0 { + return Err(Error::Invalid("readlink of a node that is no symlink")); + } + let mut target = alloc::vec![0u8; usize::try_from(inode.size).map_err(|_| Error::Corrupt("symlink size"))?]; + self.read(ino, 0, &mut target).await?; + // The target is stored with one NUL after it. + if target.pop() != Some(0) { + return Err(Error::Corrupt("symlink target without its NUL")); + } + Ok(target) + } + + /// Bytes of file `ino` from `offset` into `out`, as many as the file + /// holds there. Holes read as zeros. + pub async fn read(&self, ino: u64, offset: u64, out: &mut [u8]) -> Result { + let inode = self.inode(ino).await?; + let len = inode.size.saturating_sub(offset).min(out.len() as u64) as usize; + let out = &mut out[..len]; + out.fill(0); + if len == 0 { + return Ok(0); + } + let (start, end) = (offset, offset + len as u64); + let mut extents = Vec::new(); + self.walk(Btree::Extents, Bpos::new(ino, start / SECTOR as u64 + 1, 0), |k, v| { + if k.pos.inode != ino { + return Ok(false); + } + let first = extent_start(k)?; + if first >= end { + return Ok(false); + } + if k.pos.snapshot == self.snapshot { + extents.push((*k, v.to_vec())); + } + Ok(true) + }) + .await?; + for (key, value) in extents { + let first = extent_start(&key)?; + let last = first + u64::from(key.size) * SECTOR as u64; + let (from, to) = (first.max(start), last.min(end)); + if from >= to { + continue; + } + let dst = &mut out[(from - start) as usize..(to - start) as usize]; + match key.kind { + kind::EXTENT => self.extent(&key, &value, from - first, dst).await?, + kind::INLINE_DATA => { + // The bytes from the key's first; past the value, + // zeros. + let skip = (from - first) as usize; + let have = value.get(skip..).unwrap_or(&[]); + let n = have.len().min(dst.len()); + dst[..n].copy_from_slice(&have[..n]); + } + kind::RESERVATION | kind::WHITEOUT | kind::EXTENT_WHITEOUT => {} + kind::REFLINK_P => return Err(Error::Unsupported("reflinked extent")), + kind::ERROR => return Err(Error::Corrupt("extent recorded as lost")), + _ => return Err(Error::Corrupt("extents key of no extent type")), + } + } + Ok(len) + } + + /// `dst.len()` bytes of the extent `key` from `skip` bytes into its + /// range, its checksum verified or its MAC verified and decrypted. + async fn extent(&self, key: &Key, value: &[u8], skip: u64, dst: &mut [u8]) -> Result<()> { + let extent = Extent::decode(value)?; + let crc = extent.crc.ok_or(Error::Unsupported("extent without a checksum entry"))?; + if extent.ptr.unwritten { + return Ok(()); + } + if crc.compression != 0 || crc.compressed != crc.uncompressed { + return Err(Error::Unsupported("compressed extent")); + } + if extent.ptr.dev != 0 || extent.ptr.cached { + return Err(Error::Unsupported("extent on another device, or cached")); + } + if u64::from(crc.offset) + u64::from(key.size) > u64::from(crc.uncompressed) { + return Err(Error::Corrupt("extent past its checksummed range")); + } + self.in_one_bucket(extent.ptr.sector, u64::from(crc.compressed))?; + // An encrypted volume MACs all its data. + if self.sb.encrypted() && !matches!(crc.csum_type, 3 | 4) { + return Err(Error::Corrupt("unauthenticated extent on an encrypted volume")); + } + let mut data = read_bytes(&self.dev, extent.ptr.sector * SECTOR as u64, crc.compressed as usize * SECTOR).await?; + match crc.csum_type { + 0 => {} + 1 if crc32c(&data).to_le_bytes() == crc.csum[..4] => {} + 1 => return Err(Error::Checksum("extent")), + // An 80-bit MAC in a crc64 entry, a 128-bit one in a + // crc128. + 3 | 4 if crc.csum_len == if crc.csum_type == 3 { 10 } else { 16 } => { + let master = self.key.as_ref().ok_or(Error::Locked)?; + let nonce = Nonce::extent(key.version.hi, key.version.lo, crc.nonce); + master.verify(nonce, &data, &crc.csum[..crc.csum_len], "extent")?; + master.xor(nonce, &mut data)?; + } + // Type 5, upstream's data crc32c, among them: its seed and final + // XOR are not established (issues/the-bcachefs-reader-refuses-crc32c-data-extents.md). + _ => return Err(Error::Unsupported("data checksum type")), + } + let at = crc.offset as usize * SECTOR + skip as usize; + dst.copy_from_slice(&data[at..at + dst.len()]); + Ok(()) + } +} + +/// The byte an extent key's range starts at: its position is its end. +fn extent_start(k: &Key) -> Result { + let first = k.pos.offset.checked_sub(u64::from(k.size)).ok_or(Error::Corrupt("extent larger than its end"))?; + k.pos.offset.checked_mul(SECTOR as u64).ok_or(Error::Corrupt("extent past 2^64 bytes"))?; + Ok(first * SECTOR as u64) +} + +/// A dirent key and value as an entry. +fn entry(k: &Key, v: &[u8]) -> Result { + let dirent = Dirent::decode(v)?; + if dirent.kind == DirentType::Subvolume { + return Err(Error::Unsupported("subvolume dirent")); + } + Ok(DirEntry { name: dirent.name.to_vec(), ino: dirent.target, kind: dirent.kind, next: k.pos.offset + 1 }) +} + +/// The hash slot of `name` under directory `dir`'s seed: SipHash-2-4 keyed +/// with the seed and zero, shifted to 63 bits, never 0 or 1, which are `.` +/// and `..`. +pub(crate) fn hash(dir: &InodeValue, name: &[u8]) -> Result { + if dir.hash_type() != 3 { + return Err(Error::Unsupported("directory name hash other than siphash")); + } + let mut key = [0u8; 16]; + key[..8].copy_from_slice(&dir.hash_seed.to_le_bytes()); + let mut h = siphash::siphash24(&key, name) >> 1; + if dir.flags & inode_flag::DIRENT_31_BIT != 0 { + h &= (1 << 31) - 1; + } + Ok(h.max(2)) +} + +/// `len` bytes from byte `at`, read through the device's whole blocks. +pub(crate) async fn read_bytes(dev: &impl BlockDev, at: u64, len: usize) -> Result> { + let first = at / BLOCK as u64; + let skip = (at % BLOCK as u64) as usize; + let blocks = (skip + len).div_ceil(BLOCK); + let mut buf = alloc::vec![[0u8; BLOCK]; blocks]; + dev.read(first, &mut buf).await?; + Ok(buf.as_flattened()[skip..skip + len].to_vec()) +} + +/// The primary copy's layout, or the layout copy's when the primary +/// is unreadable; then of every copy it lists, the valid one of highest +/// sequence, the later on a tie. +pub(crate) async fn read_superblock(dev: &impl BlockDev) -> Result { + let primary = read_copy(dev, PRIMARY).await; + let layout = match &primary { + Ok(sb) => sb.header.layout.clone(), + Err(Error::Device(e)) => return Err(Error::Device(*e)), + Err(_) => Layout::decode(&read_bytes(dev, LAYOUT * SECTOR as u64, Layout::BYTES).await?)?, + }; + let mut best: Option = primary.as_ref().ok().cloned(); + let mut failure = primary.err(); + for &offset in &layout.offsets { + if offset == PRIMARY { + continue; + } + match read_copy(dev, offset).await { + Ok(sb) if best.as_ref().is_none_or(|b| sb.header.seq >= b.header.seq) => best = Some(sb), + Ok(_) => {} + Err(Error::Device(e)) => return Err(Error::Device(e)), + Err(e) => failure = failure.or(Some(e)), + } + } + best.ok_or(failure.unwrap_or(Error::Corrupt("no superblock copy"))) +} + +async fn read_copy(dev: &impl BlockDev, sector: u64) -> Result { + let device = dev.blocks() * BLOCK as u64; + let fits = |len: usize| sector.checked_mul(SECTOR as u64).and_then(|at| at.checked_add(len as u64)).is_some_and(|end| end <= device); + if !fits(BLOCK) { + return Err(Error::Corrupt("superblock copy past the device")); + } + let at = sector * SECTOR as u64; + let head = read_bytes(dev, at, BLOCK).await?; + let total = HEADER + 8 * le32(&head, 124) as usize; + if total <= head.len() { + return Superblock::decode(&head, sector); + } + if total > MAX_BYTES || !fits(total) { + return Err(Error::Unsupported("superblock past 64 KiB or past the device")); + } + Superblock::decode(&read_bytes(dev, at, total).await?, sector) +} diff --git a/lib/bcachefs/src/engine/superblock.rs b/lib/bcachefs/src/engine/superblock.rs new file mode 100644 index 00000000000..68f995f8d3e --- /dev/null +++ b/lib/bcachefs/src/engine/superblock.rs @@ -0,0 +1,575 @@ +//! The superblock: its layout copy, fixed header and variable fields, +//! validated once into typed values. + +use alloc::vec::Vec; + +use super::bkey::{Bpos, Format, Key}; +use super::value::NodePtr; +use super::{field, kind, le16, le32, le64, put16, put32, put64, Btree, Error, Result, VERSION}; +use crate::crc32c::crc32c; + +/// The bcachefs magic, a UUID in RFC 4122 byte order. +pub(crate) const MAGIC: [u8; 16] = [0xc6, 0x85, 0x73, 0xf6, 0x66, 0xce, 0x90, 0xa9, 0xd9, 0x6a, 0x60, 0xcf, 0x80, 0x3d, 0xf7, 0xef]; +/// Where the primary copy and the layout copy start, in sectors. +pub(crate) const PRIMARY: u64 = 8; +pub(crate) const LAYOUT: u64 = 7; +/// The fixed header's bytes. +pub(crate) const HEADER: usize = 752; +/// The most a copy this reader reads may hold. Upstream's default reserve is +/// 1 MiB and its fields a few KiB; this bounds what an image can make it +/// allocate. +pub(crate) const MAX_BYTES: usize = 64 << 10; + +/// The largest btree node read, 256 KiB: `format`'s largest, and +/// what bounds a node read's allocation. +pub(crate) const MAX_NODE_SECTORS: u64 = 512; + +/// Feature bits this reader knows: 0 to 23 of word 0. +const KNOWN_FEATURES: u64 = (1 << 24) - 1; + +/// Variable-field types. +pub(crate) mod field_type { + pub const CRYPT: u32 = 2; + pub const REPLICAS_V0: u32 = 3; + pub const CLEAN: u32 = 6; + pub const REPLICAS: u32 = 7; + pub const BLACKLIST: u32 = 8; + pub const JOURNAL_V2: u32 = 9; + pub const COUNTERS: u32 = 10; + pub const MEMBERS_V2: u32 = 11; + pub const EXT: u32 = 13; + pub const DOWNGRADE: u32 = 14; + pub const RECOVERY_PASSES: u32 = 15; + pub const EXTENT_TYPE_U64S: u32 = 16; + pub const ERRORS_V2: u32 = 17; +} + +/// `bch_sb_layout`: where every copy is and what each may occupy. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Layout { + pub max_bits: u8, + pub offsets: Vec, +} + +impl Layout { + pub(crate) const BYTES: usize = 512; + + pub(crate) fn decode(b: &[u8]) -> Result { + let (max_bits, count) = (b[17], usize::from(b[18])); + if b[..16] != MAGIC || b[16] != 0 || max_bits > 16 || !(1..=61).contains(&count) { + return Err(Error::Corrupt("superblock layout")); + } + let offsets: Vec = (0..count).map(|i| le64(b, 24 + 8 * i)).collect(); + if offsets.windows(2).any(|w| w[0].checked_add(1 << max_bits).is_none_or(|end| w[1] < end)) { + return Err(Error::Corrupt("superblock copies overlap")); + } + Ok(Layout { max_bits, offsets }) + } + + pub(crate) fn encode(&self) -> [u8; Self::BYTES] { + let mut b = [0u8; Self::BYTES]; + b[..16].copy_from_slice(&MAGIC); + b[17] = self.max_bits; + b[18] = self.offsets.len() as u8; + for (i, offset) in self.offsets.iter().enumerate() { + put64(&mut b, 24 + 8 * i, *offset); + } + b + } +} + +/// The fixed header's fields a reader or writer sets. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Header { + pub version: u16, + pub version_min: u16, + pub internal_uuid: [u8; 16], + pub user_uuid: [u8; 16], + pub label: [u8; 32], + /// The sector this copy is at. + pub offset: u64, + pub seq: u64, + pub block_sectors: u16, + pub dev_idx: u8, + pub nr_devices: u8, + pub time_base: u64, + pub time_precision: u32, + pub flags: [u64; 7], + pub write_time: u64, + pub features: [u64; 2], + pub compat: [u64; 2], + pub layout: Layout, +} + +/// One variable field, as stored: its type and its body. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Field { + pub kind: u32, + pub body: Vec, +} + +/// The member entry of the one device. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Member { + pub uuid: [u8; 16], + pub nbuckets: u64, + pub first_bucket: u16, + pub bucket_sectors: u16, + pub bitmap_shift: u8, + pub last_mount: u64, + pub flags: u64, + pub seq: u64, + pub bitmap: u64, + pub journal_bucket: u32, + pub journal_offset: u32, + /// Device name, model and serial, which ToyOS writes as zeros. + pub identity_zero: bool, +} + +impl Member { + pub(crate) const BYTES: usize = 328; + + pub(crate) fn decode(e: &[u8]) -> Member { + // A shorter entry reads as zero-extended. + let mut b = [0u8; Self::BYTES]; + let n = e.len().min(Self::BYTES); + b[..n].copy_from_slice(&e[..n]); + Member { + uuid: b[..16].try_into().unwrap(), + nbuckets: le64(&b, 16), + first_bucket: le16(&b, 24), + bucket_sectors: le16(&b, 26), + bitmap_shift: b[28], + last_mount: le64(&b, 32), + flags: le64(&b, 40), + seq: le64(&b, 120), + bitmap: le64(&b, 128), + journal_bucket: le32(&b, 136), + journal_offset: le32(&b, 140), + identity_zero: b[144..224].iter().chain(&b[232..296]).all(|&x| x == 0), + } + } + + pub(crate) fn encode(&self) -> [u8; Self::BYTES] { + let mut b = [0u8; Self::BYTES]; + b[..16].copy_from_slice(&self.uuid); + put64(&mut b, 16, self.nbuckets); + put16(&mut b, 24, self.first_bucket); + put16(&mut b, 26, self.bucket_sectors); + b[28] = self.bitmap_shift; + put64(&mut b, 32, self.last_mount); + put64(&mut b, 40, self.flags); + put64(&mut b, 120, self.seq); + put64(&mut b, 128, self.bitmap); + put32(&mut b, 136, self.journal_bucket); + put32(&mut b, 140, self.journal_offset); + b + } + + /// Whether the btree bitmap covers sectors `[start, end)`. + pub(crate) fn bitmap_covers(&self, start: u64, end: u64) -> bool { + let shift = u32::from(self.bitmap_shift); + if shift >= 58 || end > 64 << shift { + return false; + } + (start >> shift..end.div_ceil(1 << shift)).all(|i| self.bitmap >> i & 1 != 0) + } +} + +/// Member flags. +pub(crate) mod member_flag { + pub const DISCARD: u64 = 1 << 14; + pub const DATA_ALLOWED: u64 = 0x1c << 15; + /// Durability 1, stored plus one. + pub const DURABILITY_1: u64 = 2 << 28; + pub const FREESPACE_INITIALIZED: u64 = 1 << 30; + pub const ROTATIONAL: u64 = 1 << 32; + pub const ROTATIONAL_KNOWN: u64 = 1 << 33; + pub const INIT_STATE: u64 = 0xf << 34; +} + +/// A btree root from `clean`: where its root node is. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct Root { + pub btree: Btree, + pub level: u8, + /// The root's key: its position is the root node's max key. + pub key: Key, + pub ptr: NodePtr, +} + +/// `clean`. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Clean { + pub journal_seq: u64, + pub roots: Vec, + /// The key-version counter. + pub key_version: Option, +} + +/// scrypt's cost as `crypt` stores it, each a log2. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub struct Kdf { + pub log_n: u16, + pub log_r: u16, + pub log_p: u16, +} + +impl Kdf { + /// N, r and p, when r and p fit scrypt's `u32`s. + pub(crate) fn values(self) -> Result<(u64, u32, u32)> { + let pow = |log: u16| if log < 32 { Ok(1u32 << log) } else { Err(Error::Unsupported("scrypt r or p past 2^31")) }; + if self.log_n >= 64 { + return Err(Error::Unsupported("scrypt N past 2^63")); + } + Ok((1 << self.log_n, pow(self.log_r)?, pow(self.log_p)?)) + } +} + +/// `crypt`: the key-derivation cost and the wrapped key. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct Crypt { + pub kdf: Kdf, + /// The key magic and master key, wrapped. + pub wrapped: [u8; 40], +} + +impl Crypt { + pub(crate) fn encode(&self) -> Vec { + let mut b = alloc::vec![0u8; 56]; + put64(&mut b, 8, u64::from(self.kdf.log_n) | u64::from(self.kdf.log_r) << 16 | u64::from(self.kdf.log_p) << 32); + b[16..].copy_from_slice(&self.wrapped); + b + } +} + +/// A replicas entry: a data type and the devices it lives on. +#[derive(Clone, Debug, PartialEq, Eq)] +pub(crate) struct Replicas { + pub data_type: u8, + pub required: u8, + pub devs: Vec, +} + +/// A validated superblock copy. +#[derive(Clone, Debug)] +pub struct Superblock { + pub(crate) header: Header, + pub(crate) fields: Vec, + pub(crate) member: Member, + pub(crate) clean: Option, + pub(crate) crypt: Option, + pub(crate) blacklist: Vec<(u64, u64)>, + pub(crate) replicas: Vec, +} + +/// The `[lo, lo + len)` bits of flag word `word`. +pub(crate) fn flag(flags: &[u64; 7], word: usize, lo: u32, len: u32) -> u64 { + field(flags[word], lo, len) +} + +impl Superblock { + /// The copy in `b`, read at `sector`, validated. + pub(crate) fn decode(b: &[u8], sector: u64) -> Result { + let header = decode_header(b)?; + if header.offset != sector { + return Err(Error::Corrupt("superblock copy read away from its own offset")); + } + let end = HEADER + 8 * le32(b, 124) as usize; + let mut fields = Vec::new(); + let mut at = HEADER; + while at < end { + let words = le32(b, at) as usize; + let len = words.checked_mul(8).filter(|&len| len >= 8 && len <= end - at).ok_or(Error::Corrupt("superblock field size"))?; + fields.push(Field { kind: le32(b, at + 4), body: b[at + 8..at + len].to_vec() }); + at += len; + } + let find = |kind: u32| fields.iter().find(|f| f.kind == kind).map(|f| f.body.as_slice()); + let member = members(find(field_type::MEMBERS_V2).ok_or(Error::Unsupported("superblock without members_v2"))?, &header)?; + if let Some(j) = find(field_type::JOURNAL_V2) { + journal(j, &member)?; + } + let clean = find(field_type::CLEAN).map(clean).transpose()?; + let crypt = find(field_type::CRYPT).map(crypt).transpose()?; + let blacklist = find(field_type::BLACKLIST).map(pairs).unwrap_or_default(); + let replicas = match (find(field_type::REPLICAS_V0), find(field_type::REPLICAS)) { + (Some(v0), _) => replicas(v0, false)?, + (None, Some(v1)) => replicas(v1, true)?, + (None, None) => Vec::new(), + }; + Ok(Superblock { header, fields, member, clean, crypt, blacklist, replicas }) + } + + /// This copy's bytes with `offset` as its own: the copies differ only + /// there and in the checksum. + pub(crate) fn encode(header: &Header, fields: &[Field], offset: u64) -> Vec { + let words: usize = fields.iter().map(|f| 1 + f.body.len().div_ceil(8)).sum(); + let mut b = alloc::vec![0u8; HEADER + 8 * words]; + put16(&mut b, 16, header.version); + put16(&mut b, 18, header.version_min); + b[24..40].copy_from_slice(&MAGIC); + b[40..56].copy_from_slice(&header.internal_uuid); + b[56..72].copy_from_slice(&header.user_uuid); + b[72..104].copy_from_slice(&header.label); + put64(&mut b, 104, offset); + put64(&mut b, 112, header.seq); + put16(&mut b, 120, header.block_sectors); + b[122] = header.dev_idx; + b[123] = header.nr_devices; + put32(&mut b, 124, words as u32); + put64(&mut b, 128, header.time_base); + put32(&mut b, 140, header.time_precision); + for (i, w) in header.flags.iter().enumerate() { + put64(&mut b, 144 + 8 * i, *w); + } + put64(&mut b, 200, header.write_time); + put64(&mut b, 208, header.features[0]); + put64(&mut b, 216, header.features[1]); + put64(&mut b, 224, header.compat[0]); + put64(&mut b, 232, header.compat[1]); + b[240..HEADER].copy_from_slice(&header.layout.encode()); + let mut at = HEADER; + for f in fields { + let words = 1 + f.body.len().div_ceil(8); + put32(&mut b, at, words as u32); + put32(&mut b, at + 4, f.kind); + b[at + 8..at + 8 + f.body.len()].copy_from_slice(&f.body); + at += 8 * words; + } + let csum = crc32c(&b[16..]); + put32(&mut b, 0, csum); + b + } + + pub(crate) fn flag(&self, word: usize, lo: u32, len: u32) -> u64 { + flag(&self.header.flags, word, lo, len) + } + + pub(crate) fn clean_flag(&self) -> bool { + self.flag(0, 1, 1) != 0 + } + + pub(crate) fn block_bytes(&self) -> usize { + usize::from(self.header.block_sectors) * super::SECTOR + } + + /// Btree node size in sectors. + pub(crate) fn node_sectors(&self) -> u32 { + self.flag(0, 12, 16) as u32 + } + + /// Encryption type 1, ChaCha20/Poly1305. + pub(crate) fn encrypted(&self) -> bool { + self.flag(1, 10, 4) != 0 + } + + /// The variable field of `kind`, as stored. + pub(crate) fn field(&self, kind: u32) -> Option<&[u8]> { + self.fields.iter().find(|f| f.kind == kind).map(|f| f.body.as_slice()) + } + + pub(crate) fn blacklisted(&self, seq: u64) -> bool { + self.blacklist.iter().any(|&(start, end)| (start..end).contains(&seq)) + } + + /// The internal UUID, which seeds the node magic and the key wrap. + pub fn internal_uuid(&self) -> [u8; 16] { + self.header.internal_uuid + } + + /// The user-visible UUID. + pub fn user_uuid(&self) -> [u8; 16] { + self.header.user_uuid + } +} + +fn decode_header(b: &[u8]) -> Result
{ + if b.len() < HEADER || b[24..40] != MAGIC { + return Err(Error::Corrupt("no bcachefs superblock")); + } + let layout = Layout::decode(&b[240..HEADER])?; + let total = HEADER + 8 * le32(b, 124) as usize; + if total > b.len() || total as u64 > 512 << layout.max_bits { + return Err(Error::Corrupt("superblock larger than its copy")); + } + let flags: [u64; 7] = core::array::from_fn(|i| le64(b, 144 + 8 * i)); + match field(flags[0], 2, 6) { + 0 => {} + 1 if crc32c(&b[16..total]) == le32(b, 0) => {} + 1 => return Err(Error::Checksum("superblock")), + _ => return Err(Error::Unsupported("superblock checksum other than crc32c")), + } + let (version, version_min) = (le16(b, 16), le16(b, 18)); + let major = |v: u16| v >> 10; + if major(version) != 1 || major(version_min) != 1 || version > VERSION || version_min > version { + return Err(Error::Unsupported("superblock version other than 1.x up to 1.39")); + } + if field(flags[5], 32, 16) > u64::from(VERSION) { + return Err(Error::Unsupported("superblock's incompatible version above 1.39")); + } + let features = [le64(b, 208), le64(b, 216)]; + if features[0] & !KNOWN_FEATURES != 0 || features[1] != 0 { + return Err(Error::Unsupported("feature bit this reader does not know")); + } + if field(flags[0], 62, 1) != 0 { + return Err(Error::Unsupported("big-endian metadata")); + } + if field(flags[1], 10, 4) > 1 { + return Err(Error::Unsupported("encryption other than ChaCha20/Poly1305")); + } + let header = Header { + version, + version_min, + internal_uuid: b[40..56].try_into().unwrap(), + user_uuid: b[56..72].try_into().unwrap(), + label: b[72..104].try_into().unwrap(), + offset: le64(b, 104), + seq: le64(b, 112), + block_sectors: le16(b, 120), + dev_idx: b[122], + nr_devices: b[123], + time_base: le64(b, 128), + time_precision: le32(b, 140), + flags, + write_time: le64(b, 200), + features, + compat: [le64(b, 224), le64(b, 232)], + layout, + }; + if header.internal_uuid == [0; 16] || header.user_uuid == [0; 16] { + return Err(Error::Corrupt("superblock with a zero UUID")); + } + if !header.block_sectors.is_power_of_two() || header.block_sectors > 128 { + return Err(Error::Corrupt("block size")); + } + if !(1..=1_000_000_000).contains(&header.time_precision) { + return Err(Error::Corrupt("time precision")); + } + if header.nr_devices != 1 || header.dev_idx != 0 { + return Err(Error::Unsupported("more than one device")); + } + let node = field(flags[0], 12, 16); + if node < u64::from(header.block_sectors) || node > MAX_NODE_SECTORS { + return Err(Error::Unsupported("btree node size below a block or past 256 KiB")); + } + Ok(header) +} + +fn members(body: &[u8], header: &Header) -> Result { + let size = usize::from(le16(body, 0)); + let entry = body.get(8..8 + size).filter(|_| size >= 32).ok_or(Error::Corrupt("members_v2 without the device's entry"))?; + let member = Member::decode(entry); + let node_sectors = field(header.flags[0], 12, 16); + let usable = member.nbuckets.checked_sub(u64::from(member.first_bucket)); + if member.nbuckets > (1 << 31) - 65 + || usable.is_none_or(|n| n < 512) + || u64::from(member.bucket_sectors) < u64::from(header.block_sectors) + || u64::from(member.bucket_sectors) < node_sectors + || member.bitmap_shift >= 58 + { + return Err(Error::Corrupt("member geometry")); + } + Ok(member) +} + +/// The journal's bucket ranges lie on the device. +fn journal(body: &[u8], member: &Member) -> Result<()> { + let ranges = pairs(body); + let total: u64 = ranges.iter().map(|r| r.1).sum(); + let valid = ranges.iter().all(|&(start, count)| { + count > 0 && start > 0 && start >= u64::from(member.first_bucket) && start.checked_add(count).is_some_and(|end| end <= member.nbuckets) + }); + if !valid || total > u64::from(u32::MAX) { + return Err(Error::Corrupt("journal buckets")); + } + Ok(()) +} + +fn pairs(body: &[u8]) -> Vec<(u64, u64)> { + body.as_chunks::<16>().0.iter().map(|p| (le64(p, 0), le64(p, 8))).collect() +} + +/// A `jset_entry` record. +pub(crate) struct Entry<'a> { + pub btree: u8, + pub level: u8, + pub kind: u8, + pub payload: &'a [u8], +} + +/// The records of `b`, back to back. +pub(crate) fn entries(b: &[u8]) -> Result>> { + let mut out = Vec::new(); + let mut at = 0; + while at + 8 <= b.len() { + let len = usize::from(le16(b, at)) * 8; + let payload = b.get(at + 8..at + 8 + len).ok_or(Error::Corrupt("journal record past its end"))?; + out.push(Entry { btree: b[at + 2], level: b[at + 3], kind: b[at + 4], payload }); + at += 8 + len; + } + Ok(out) +} + +/// `jset_entry` types `clean` holds. +pub(crate) mod entry_type { + pub const BTREE_ROOT: u8 = 1; + pub const USAGE: u8 = 5; + pub const CLOCK: u8 = 7; +} +/// The usage record's counter id for the key version. +pub(crate) const KEY_VERSION: u8 = 2; + +fn clean(body: &[u8]) -> Result { + if body.len() < 16 { + return Err(Error::Corrupt("clean field shorter than 16 bytes")); + } + let mut clean = Clean { journal_seq: le64(body, 8), roots: Vec::new(), key_version: None }; + for Entry { btree, level, kind: kind_, payload } in entries(&body[16..])? { + match kind_ { + entry_type::BTREE_ROOT => { + let btree = Btree::from_id(u32::from(btree)).ok_or(Error::Unsupported("root of a btree this reader does not know"))?; + let (key, value) = Format::UNPACKED.key(payload)?; + if key.kind != kind::BTREE_PTR_V2 || usize::from(payload[0]) * 8 != payload.len() { + return Err(Error::Corrupt("btree root record")); + } + if key.pos != Bpos::MAX || level > 3 { + return Err(Error::Corrupt("btree root at a level or position no root has")); + } + clean.roots.retain(|r: &Root| r.btree != btree); + clean.roots.push(Root { btree, level, key, ptr: NodePtr::decode(value)? }); + } + entry_type::USAGE if btree == KEY_VERSION && payload.len() >= 8 => clean.key_version = Some(le64(payload, 0)), + _ => {} + } + } + Ok(clean) +} + +fn crypt(body: &[u8]) -> Result { + if body.len() < 56 { + return Err(Error::Corrupt("crypt field shorter than 64 bytes")); + } + if field(le64(body, 0), 0, 4) != 0 { + return Err(Error::Corrupt("crypt with a key derivation other than scrypt")); + } + let params = le64(body, 8); + let kdf = Kdf { log_n: field(params, 0, 16) as u16, log_r: field(params, 16, 16) as u16, log_p: field(params, 32, 16) as u16 }; + Ok(Crypt { kdf, wrapped: body[16..56].try_into().unwrap() }) +} + +fn replicas(body: &[u8], with_required: bool) -> Result> { + let mut out = Vec::new(); + let mut at = 0; + while at + 2 <= body.len() && body[at + 1] != 0 { + let (data_type, count) = (body[at], usize::from(body[at + 1])); + let (required, devs) = if with_required { + (*body.get(at + 2).ok_or(Error::Corrupt("replicas entry"))?, at + 3) + } else { + (1, at + 2) + }; + let devs = body.get(devs..devs + count).ok_or(Error::Corrupt("replicas entry"))?.to_vec(); + at += devs.len() + if with_required { 3 } else { 2 }; + out.push(Replicas { data_type, required, devs }); + } + Ok(out) +} diff --git a/lib/bcachefs/src/engine/tests.rs b/lib/bcachefs/src/engine/tests.rs new file mode 100644 index 00000000000..f93949e08d2 --- /dev/null +++ b/lib/bcachefs/src/engine/tests.rs @@ -0,0 +1,287 @@ +//! The reader against volumes upstream's tools wrote, and mkfs's volumes +//! against the reader and ToyOS's check. + +use std::io::Read; +use std::vec::Vec; + +use toyos_blockdev::{block_on_ready, BlockDev, Bytes, BLOCK}; +use toyos_crypto::{scrypt::Limits, Random}; + +use super::bkey::Bpos; +use super::node::{self, Build}; +use super::value::{Extent, InodeValue}; +use super::*; + +type Image = Bytes>; + +fn fixture(name: &str) -> Image { + let path = format!("{}/tests/fixtures/{name}", env!("CARGO_MANIFEST_DIR")); + let mut raw = Vec::new(); + flate2::read::GzDecoder::new(std::fs::File::open(&path).unwrap()).read_to_end(&mut raw).unwrap(); + Bytes::new(raw) +} + +/// The passphrase the encrypted fixtures were formatted with; the tools +/// strip the newline its file ends in. +const PASSPHRASE: &[u8] = b"toyos-test-passphrase"; +/// Upstream's default scrypt: N = 2^14, r = 8, p = 16. +const LIMITS: Limits = Limits { memory: 17 << 20, work: 1 << 21 }; + +/// `seq 1 40000`'s output. +fn seq() -> Vec { + (1..=40000).flat_map(|n| format!("{n}\n").into_bytes()).collect() +} + +fn path(v: &Volume, path: &str) -> u64 { + block_on_ready(async { + let mut ino = v.root(); + for name in path.split('/') { + ino = v.lookup(ino, name.as_bytes()).await.unwrap().unwrap_or_else(|| panic!("{path}: no {name}")).ino; + } + ino + }) +} + +fn names(v: &Volume, dir: u64) -> Vec { + let (entries, more) = block_on_ready(v.readdir(dir, 0, 100)).unwrap(); + assert!(!more); + let mut names: Vec = entries.into_iter().map(|e| String::from_utf8(e.name).unwrap()).collect(); + names.sort(); + names +} + +fn read_all(v: &Volume, ino: u64) -> Result> { + block_on_ready(async { + let size = v.inode(ino).await?.size as usize; + let mut out = vec![0u8; size]; + assert_eq!(v.read(ino, 0, &mut out).await?, size); + Ok(out) + }) +} + +#[test] +fn the_crc32c_fixture_reads_its_tree() { + let dev = fixture("crc32c.img.gz"); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(v.root(), 4096); + assert_eq!(names(&v, v.root()), ["Documents", "empty", "lost+found"]); + assert_eq!(names(&v, path(&v, "Documents")), ["a.txt", "deep"]); + assert_eq!(names(&v, path(&v, "Documents/deep")), ["link", "seq.txt"]); + assert!(names(&v, path(&v, "empty")).is_empty()); + assert_eq!(read_all(&v, path(&v, "Documents/a.txt")).unwrap(), b"hello-toyos", "inline data"); + assert_eq!(block_on_ready(v.readlink(path(&v, "Documents/deep/link"))).unwrap(), b"../a.txt"); + let documents = block_on_ready(v.inode(path(&v, "Documents"))).unwrap(); + assert!(documents.is_dir()); + assert_eq!(documents.nlink, 3, "two names and one subdirectory"); + assert_eq!(block_on_ready(v.lookup(v.root(), b"absent")).unwrap(), None); + // Its extents carry checksum type 5, whose seed and final XOR are not + // established: refused by name, never read unverified. + let seq_txt = path(&v, "Documents/deep/seq.txt"); + assert_eq!(block_on_ready(v.inode(seq_txt)).unwrap().size, seq().len() as u64); + assert_eq!(read_all(&v, seq_txt), Err(Error::Unsupported("data checksum type"))); +} + +fn encrypted(name: &str) { + let dev = fixture(name); + assert!(matches!(block_on_ready(Volume::open(&dev)), Err(Error::Locked))); + assert!(matches!(block_on_ready(Volume::unlock(&dev, b"toyos-test-passphrasf", LIMITS)), Err(Error::Passphrase))); + let small = Limits { memory: 1 << 20, work: 1 << 21 }; + assert!(matches!(block_on_ready(Volume::unlock(&dev, PASSPHRASE, small)), Err(Error::Unsupported(_))), "scrypt past the caller's memory"); + let v = block_on_ready(Volume::unlock(&dev, PASSPHRASE, LIMITS)).unwrap(); + assert!(names(&v, v.root()).starts_with(&["a.txt".into()])); + assert_eq!(read_all(&v, path(&v, "a.txt")).unwrap(), b"hello-toyos"); + assert_eq!(read_all(&v, path(&v, "seq.txt")).unwrap(), seq(), "every extent's MAC verified and decrypted"); + let mut middle = [0u8; 10]; + assert_eq!(block_on_ready(v.read(path(&v, "seq.txt"), 100_000, &mut middle)).unwrap(), 10); + assert_eq!(middle, seq()[100_000..100_010]); +} + +#[test] +fn the_80_bit_mac_fixture_unlocks_and_reads() { + encrypted("encrypted.img.gz"); +} + +#[test] +fn the_128_bit_mac_fixture_unlocks_and_reads() { + encrypted("encrypted-wide-macs.img.gz"); +} + +/// Flips a byte at `at` bytes into the device. +fn flip(dev: &Image, at: u64) { + let mut block = [[0u8; BLOCK]]; + let lba = at / BLOCK as u64; + block_on_ready(dev.read(lba, &mut block)).unwrap(); + block[0][(at % BLOCK as u64) as usize] ^= 0x40; + block_on_ready(dev.write(lba, &block)).unwrap(); +} + +#[test] +fn a_flipped_byte_in_an_encrypted_extent_or_node_fails_its_mac() { + for name in ["encrypted.img.gz", "encrypted-wide-macs.img.gz"] { + let dev = fixture(name); + let v = block_on_ready(Volume::unlock(&dev, PASSPHRASE, LIMITS)).unwrap(); + let ino = path(&v, "seq.txt"); + let mut first = None; + block_on_ready(v.walk(Btree::Extents, Bpos::new(ino, 1, 0), |k, value| { + first = Some(Extent::decode(value)?.ptr.sector); + assert_eq!(k.kind, kind::EXTENT); + Ok(false) + })) + .unwrap(); + flip(&dev, first.unwrap() * SECTOR as u64 + 100); + assert_eq!(read_all(&v, ino), Err(Error::Checksum("extent")), "{name}"); + + let inodes = v.roots().iter().find(|r| r.btree == Btree::Inodes).unwrap().ptr.ptr.sector; + flip(&dev, inodes * SECTOR as u64 + 200); + assert_eq!(block_on_ready(v.inode(4096)), Err(Error::Checksum("btree node")), "{name}"); + } +} + +/// xorshift64*, for the tests' identifiers and keys. +struct Seeded(u64); + +impl Random for Seeded { + fn fill(&mut self, out: &mut [u8]) -> core::result::Result<(), toyos_crypto::Error> { + for b in out { + self.0 ^= self.0 << 13; + self.0 ^= self.0 >> 7; + self.0 ^= self.0 << 17; + *b = (self.0.wrapping_mul(0x2545_f491_4f6c_dd1d) >> 56) as u8; + } + Ok(()) + } +} + +/// A volume secret as DATA's passphrase: 64 lowercase hex characters, here +/// of bytes 00–1f. +fn hex_secret() -> Vec { + (0u8..32).flat_map(|b| format!("{b:02x}").into_bytes()).collect() +} + +fn formatted(bytes: usize, encryption: Option) -> Image { + let dev = Bytes::new(vec![0u8; bytes]); + let options = Options { label: b"toyos", time: 1_761_177_600_000_000_000, encryption }; + block_on_ready(mkfs(&dev, &options, &mut Seeded(0x5eed))).unwrap(); + dev +} + +fn empty_and_clean(v: &Volume) { + assert_eq!(v.root(), 4096); + assert!(names(v, v.root()).is_empty(), "no lost+found"); + let root = block_on_ready(v.inode(v.root())).unwrap(); + assert_eq!((root.mode, root.nlink, root.size), (0o40755, 2, 0)); + assert_eq!(root.mtime, 1_761_177_600_000_000_000, "the time base"); + assert_eq!(block_on_ready(fsck(v)).unwrap(), []); +} + +#[test] +fn an_unencrypted_volume_reads_back_empty_and_checks_clean() { + // 8 MiB: the fewest buckets, 512. 32 MiB: 16 KiB buckets and nodes, so + // alloc spans three leaves under an interior root. 1 GiB: 512 KiB + // buckets of two 256 KiB nodes, so a half-filled bucket takes a + // fragmentation entry. + for size in [8 << 20, 32 << 20, 1 << 30] { + let dev = formatted(size, None); + empty_and_clean(&block_on_ready(Volume::open(&dev)).unwrap()); + } +} + +#[test] +fn an_encrypted_volume_unlocks_from_its_hex_secret_and_checks_clean() { + let secret = hex_secret(); + let dev = formatted(64 << 20, Some(Encryption { passphrase: &secret, kdf: MIN_KDF })); + assert!(matches!(block_on_ready(Volume::open(&dev)), Err(Error::Locked))); + let tiny = Limits { memory: 1024, work: 2 }; + assert!(matches!(block_on_ready(Volume::unlock(&dev, b"0001", tiny)), Err(Error::Passphrase))); + let v = block_on_ready(Volume::unlock(&dev, &secret, tiny)).unwrap(); + assert!(v.superblock().encrypted()); + empty_and_clean(&v); +} + +#[test] +fn mkfs_is_a_function_of_its_random_source_and_time() { + let a = formatted(32 << 20, None).into_inner(); + let b = formatted(32 << 20, None).into_inner(); + assert!(a == b); +} + +#[test] +fn a_lost_primary_superblock_is_read_from_another_copy_and_found() { + let dev = formatted(32 << 20, None); + block_on_ready(dev.write(1, &[[0u8; BLOCK]])).unwrap(); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(names(&v, v.root()), Vec::::new()); + assert_eq!(block_on_ready(fsck(&v)).unwrap(), [Finding::Copy(8)]); +} + +/// Rewrites the inodes root of an unencrypted volume, its bset stamped +/// `bset_seq` and the root directory `inode_seq`. +fn stamp(dev: &Image, bset_seq: u64, inode_seq: u64) { + let v = block_on_ready(Volume::open(dev)).unwrap(); + let root = *v.roots().iter().find(|r| r.btree == Btree::Inodes).unwrap(); + let node = block_on_ready(v.node(Btree::Inodes, root.level, &root.ptr, root.key.pos)).unwrap(); + let keys: Vec> = node + .keys + .iter() + .map(|(k, val)| { + let mut inode = InodeValue::decode(val).unwrap(); + inode.journal_seq = inode_seq; + k.encode(&inode.encode()) + }) + .collect(); + let build = Build { btree: Btree::Inodes, level: 0, seq: root.ptr.seq, min: Bpos::MIN, max: Bpos::MAX, journal_seq: bset_seq, keys: &keys }; + let bytes = node::encode(node::magic(&v.superblock().internal_uuid()), BLOCK, None, &build).unwrap(); + let mut blocks = vec![[0u8; BLOCK]; bytes.len() / BLOCK]; + blocks.as_flattened_mut().copy_from_slice(&bytes); + block_on_ready(dev.write(root.ptr.ptr.sector / 8, &blocks)).unwrap(); +} + +#[test] +fn a_journal_sequence_stamped_past_clean_is_found() { + let dev = formatted(32 << 20, None); + stamp(&dev, 0, 0); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(fsck(&v)).unwrap(), [], "the rewrite alone changes nothing"); + let sector = v.roots().iter().find(|r| r.btree == Btree::Inodes).unwrap().ptr.ptr.sector; + + stamp(&dev, 1, 0); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(fsck(&v)).unwrap(), [Finding::BsetAboveClean { btree: Btree::Inodes, sector, seq: 1 }]); + + stamp(&dev, 0, 1); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(fsck(&v)).unwrap(), [Finding::InodeAboveClean { ino: 4096, seq: 1 }]); +} + +#[test] +fn a_node_without_a_mac_on_an_encrypted_volume_is_refused() { + let secret = hex_secret(); + let dev = formatted(32 << 20, Some(Encryption { passphrase: &secret, kdf: MIN_KDF })); + let tiny = Limits { memory: 1024, work: 2 }; + let v = block_on_ready(Volume::unlock(&dev, &secret, tiny)).unwrap(); + let root = *v.roots().iter().find(|r| r.btree == Btree::Inodes).unwrap(); + let node = block_on_ready(v.node(Btree::Inodes, 0, &root.ptr, root.key.pos)).unwrap(); + let keys: Vec> = node.keys.iter().map(|(k, val)| k.encode(val)).collect(); + // The same keys, checksummed crc32c instead of MACed. + let build = Build { btree: Btree::Inodes, level: 0, seq: root.ptr.seq, min: Bpos::MIN, max: Bpos::MAX, journal_seq: 0, keys: &keys }; + let bytes = node::encode(node::magic(&v.superblock().internal_uuid()), BLOCK, None, &build).unwrap(); + let mut blocks = vec![[0u8; BLOCK]; bytes.len() / BLOCK]; + blocks.as_flattened_mut().copy_from_slice(&bytes); + block_on_ready(dev.write(root.ptr.ptr.sector / 8, &blocks)).unwrap(); + assert_eq!(block_on_ready(v.inode(4096)), Err(Error::Corrupt("unauthenticated btree node on an encrypted volume"))); +} + +#[test] +fn a_device_under_512_buckets_is_refused() { + let dev = Bytes::new(vec![0u8; 4 << 20]); + let options = Options { label: b"", time: 0, encryption: None }; + assert_eq!(block_on_ready(mkfs(&dev, &options, &mut Seeded(1))), Err(Error::Invalid("device smaller than 512 buckets"))); +} + +#[test] +fn a_scrypt_cost_past_any_limit_is_refused_at_mkfs() { + let dev = Bytes::new(vec![0u8; 8 << 20]); + let kdf = Kdf { log_n: 63, log_r: 31, log_p: 31 }; + let options = Options { label: b"", time: 0, encryption: Some(Encryption { passphrase: b"x", kdf }) }; + assert!(matches!(block_on_ready(mkfs(&dev, &options, &mut Seeded(1))), Err(Error::Unsupported(_)))); +} diff --git a/lib/bcachefs/src/engine/value.rs b/lib/bcachefs/src/engine/value.rs new file mode 100644 index 00000000000..8dcd56aa788 --- /dev/null +++ b/lib/bcachefs/src/engine/value.rs @@ -0,0 +1,579 @@ +//! Values: what follows a key, by key type. + +use alloc::vec::Vec; + +use super::bkey::Bpos; +use super::{field, le16, le32, le64, put16, put32, put64, Error, Result}; + +/// The inode fields' varint: `n` bytes for a value of up to 7·`n` bits, `n` at most 8, +/// or 0xff and eight bytes. +pub(crate) fn varint(out: &mut Vec, v: u64) { + let n = (64 - (v | 1).leading_zeros()).div_ceil(7); + if n >= 9 { + out.push(0xff); + out.extend_from_slice(&v.to_le_bytes()); + } else { + let encoded = (v << n) | ((1 << (n - 1)) - 1); + out.extend_from_slice(&encoded.to_le_bytes()[..n as usize]); + } +} + +/// The varint at the start of `b` and its length. +pub(crate) fn read_varint(b: &[u8]) -> Result<(u64, usize)> { + let first = *b.first().ok_or(Error::Corrupt("varint past the end of its value"))?; + let n = first.trailing_ones() as usize + 1; + if n == 9 { + let v = b.get(1..9).ok_or(Error::Corrupt("varint past the end of its value"))?; + return Ok((u64::from_le_bytes(v.try_into().unwrap()), 9)); + } + let bytes = b.get(..n).ok_or(Error::Corrupt("varint past the end of its value"))?; + let mut word = [0u8; 8]; + word[..n].copy_from_slice(bytes); + Ok((u64::from_le_bytes(word) >> n, n)) +} + +/// What an inode_v3 value holds. Times are in the volume's +/// units since its time base, as stored. +#[derive(Clone, Debug, Default, PartialEq, Eq)] +pub(crate) struct InodeValue { + pub journal_seq: u64, + pub hash_seed: u64, + pub flags: u64, + pub sectors: u64, + pub size: u64, + /// The 28 packed fields, field `n` at index `n - 1`. + pub fields: [u64; INODE_FIELDS], +} + +pub(crate) const INODE_FIELDS: usize = 28; +/// Each packed field's width in bits; 96 is two varints, low then high. +const INODE_WIDTH: [u32; INODE_FIELDS] = + [96, 96, 96, 96, 32, 32, 32, 32, 32, 8, 8, 32, 8, 8, 16, 16, 16, 16, 16, 64, 64, 32, 32, 8, 32, 8, 8, 8]; +/// A 1.39 writer's fields-start, in u64s. +const FIELDS_START: u64 = 6; + +/// Packed field numbers this crate reads or writes. +pub(crate) mod inode_field { + pub const ATIME: usize = 1; + pub const CTIME: usize = 2; + pub const MTIME: usize = 3; + pub const OTIME: usize = 4; + pub const UID: usize = 5; + pub const GID: usize = 6; + pub const NLINK: usize = 7; + pub const GENERATION: usize = 8; + pub const RDEV: usize = 9; + pub const DIR: usize = 20; + pub const DIR_OFFSET: usize = 21; + pub const SUBVOL: usize = 22; + pub const DEPTH: usize = 25; +} + +/// Inode flag bits. +pub(crate) mod inode_flag { + pub const UNLINKED: u64 = 1 << 7; + pub const DIRENT_31_BIT: u64 = 1 << 11; +} + +impl InodeValue { + pub(crate) fn field(&self, n: usize) -> u64 { + self.fields[n - 1] + } + + pub(crate) fn set(&mut self, n: usize, v: u64) { + self.fields[n - 1] = v; + } + + pub(crate) fn mode(&self) -> u16 { + field(self.flags, 36, 16) as u16 + } + + pub(crate) fn hash_type(&self) -> u8 { + field(self.flags, 20, 4) as u8 + } + + pub(crate) fn decode(v: &[u8]) -> Result { + if v.len() < 48 { + return Err(Error::Corrupt("inode value shorter than 48 bytes")); + } + let flags = le64(v, 16); + let (count, start) = (field(flags, 24, 7) as usize, field(flags, 31, 5)); + if start < FIELDS_START || start as usize * 8 > v.len() || field(flags, 20, 4) >= 4 { + return Err(Error::Corrupt("inode fields start or hash type out of range")); + } + if count > INODE_FIELDS { + return Err(Error::Corrupt("inode with more fields than the format has")); + } + let mut fields = [0u64; INODE_FIELDS]; + let mut at = start as usize * 8; + for (i, field) in fields.iter_mut().enumerate().take(count) { + let (lo, n) = read_varint(&v[at..])?; + at += n; + let width = INODE_WIDTH[i]; + if width == 96 { + let (hi, n) = read_varint(&v[at..])?; + at += n; + if hi != 0 { + return Err(Error::Corrupt("inode time with a high part")); + } + } else if width < 64 && lo >> width != 0 { + return Err(Error::Corrupt("inode field wider than the format allows")); + } + *field = lo; + } + Ok(InodeValue { journal_seq: le64(v, 0), hash_seed: le64(v, 8), flags, sectors: le64(v, 24), size: le64(v, 32), fields }) + } + + /// Every field to the last nonzero one, zero-padded to u64s. + /// `flags`' field count and fields-start are this encoding's. + pub(crate) fn encode(&self) -> Vec { + let count = self.fields.iter().rposition(|&f| f != 0).map_or(0, |i| i + 1); + let flags = self.flags & !(0x7f << 24) & !(0x1f << 31) | (count as u64) << 24 | FIELDS_START << 31; + let mut v = alloc::vec![0u8; 48]; + put64(&mut v, 0, self.journal_seq); + put64(&mut v, 8, self.hash_seed); + put64(&mut v, 16, flags); + put64(&mut v, 24, self.sectors); + put64(&mut v, 32, self.size); + for (i, &f) in self.fields[..count].iter().enumerate() { + varint(&mut v, f); + if INODE_WIDTH[i] == 96 { + varint(&mut v, 0); + } + } + v.resize(v.len().next_multiple_of(8), 0); + v + } +} + +/// A directory entry's type: the target's mode type, or a subvolume. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum DirentType { + Fifo, + Char, + Directory, + Block, + Regular, + Symlink, + Socket, + Subvolume, +} + +impl DirentType { + fn from_bits(bits: u8) -> Option { + Some(match bits { + 1 => DirentType::Fifo, + 2 => DirentType::Char, + 4 => DirentType::Directory, + 6 => DirentType::Block, + 8 => DirentType::Regular, + 10 => DirentType::Symlink, + 12 => DirentType::Socket, + 16 => DirentType::Subvolume, + _ => return None, + }) + } +} + +/// A dirent value, non-casefold layout. +pub(crate) struct Dirent<'a> { + pub target: u64, + pub kind: DirentType, + pub name: &'a [u8], +} + +impl<'a> Dirent<'a> { + pub(crate) fn decode(v: &'a [u8]) -> Result> { + if v.len() < 16 { + return Err(Error::Corrupt("dirent value shorter than 16 bytes")); + } + if v[8] & 0x80 != 0 { + return Err(Error::Unsupported("casefolded dirent")); + } + let kind = DirentType::from_bits(v[8] & 0x1f).ok_or(Error::Corrupt("dirent of no known type"))?; + let name = &v[9..]; + let end = name.iter().rposition(|&b| b != 0).map_or(0, |i| i + 1); + let name = &name[..end]; + if name.is_empty() || name.contains(&0) || name.contains(&b'/') || name == b"." || name == b".." { + return Err(Error::Corrupt("dirent name empty, holding NUL or '/', or a dot entry")); + } + Ok(Dirent { target: le64(v, 0), kind, name }) + } +} + +/// One pointer into the device. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct Ptr { + pub sector: u64, + pub dev: u8, + pub gen: u8, + pub cached: bool, + pub unwritten: bool, +} + +impl Ptr { + fn decode(w: u64) -> Ptr { + Ptr { + cached: w & 2 != 0, + unwritten: w & 8 != 0, + sector: field(w, 4, 44), + dev: field(w, 48, 8) as u8, + gen: field(w, 56, 8) as u8, + } + } + + pub(crate) fn encode(self) -> u64 { + assert!(self.sector >> 44 == 0, "a sector past the pointer's 44 bits"); + 1 | u64::from(self.cached) << 1 | u64::from(self.unwritten) << 3 | self.sector << 4 | u64::from(self.dev) << 48 | u64::from(self.gen) << 56 + } +} + +/// A checksum entry, sizes in sectors. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct Crc { + pub compressed: u32, + pub uncompressed: u32, + pub offset: u32, + pub nonce: u32, + pub csum_type: u8, + pub compression: u8, + /// Its checksum or MAC, as many bytes as the entry holds. + pub csum: [u8; 16], + pub csum_len: usize, +} + +/// An extent value's single pointer and the checksum entry before it. +pub(crate) struct Extent { + pub crc: Option, + pub ptr: Ptr, +} + +impl Extent { + /// The entry list, as far as a one-device volume with no erasure + /// coding can hold. + pub(crate) fn decode(v: &[u8]) -> Result { + let words: Vec = v.as_chunks::<8>().0.iter().map(|w| u64::from_le_bytes(*w)).collect(); + let (mut crc, mut ptr, mut i) = (None, None, 0); + while i < words.len() { + let w = words[i]; + let size = match w.trailing_zeros() { + 0 => { + if ptr.replace(Ptr::decode(w)).is_some() { + return Err(Error::Unsupported("extent with more than one pointer")); + } + 1 + } + 1 => { + crc = Some(once(crc, ptr.is_some(), crc32(w))?); + 1 + } + 2 => { + let w1 = *words.get(i + 1).ok_or(Error::Corrupt("crc64 entry past the extent's end"))?; + crc = Some(once(crc, ptr.is_some(), crc64(w, w1))?); + 2 + } + 3 => { + let rest = words.get(i + 1..i + 3).ok_or(Error::Corrupt("crc128 entry past the extent's end"))?; + crc = Some(once(crc, ptr.is_some(), crc128(w, rest[0], rest[1]))?); + 3 + } + 4 => return Err(Error::Unsupported("erasure-coded extent")), + // Flags, the first of which marks the data lost. + 6 if w >> 7 & 1 != 0 => return Err(Error::Corrupt("extent poisoned")), + // Old rebalance, flags, reconcile and its back-pointer: one + // word each, background work this reader has no part in. + 5..=8 => 1, + _ => return Err(Error::Corrupt("extent entry of no known type")), + }; + i += size; + } + let ptr = ptr.ok_or(Error::Corrupt("extent without a pointer"))?; + Ok(Extent { crc, ptr }) + } +} + +/// The extent's checksum entry, which precedes its one pointer. +fn once(had: Option, after_ptr: bool, crc: Crc) -> Result { + match (had, after_ptr) { + (None, false) => Ok(crc), + (_, true) => Err(Error::Corrupt("checksum entry after the extent's pointer")), + (Some(_), false) => Err(Error::Corrupt("two checksum entries for one pointer")), + } +} + +fn crc32(w: u64) -> Crc { + let mut csum = [0u8; 16]; + csum[..4].copy_from_slice(&((w >> 32) as u32).to_le_bytes()); + Crc { + compressed: field(w, 2, 7) as u32 + 1, + uncompressed: field(w, 9, 7) as u32 + 1, + offset: field(w, 16, 7) as u32, + nonce: 0, + csum_type: field(w, 24, 4) as u8, + compression: field(w, 28, 4) as u8, + csum, + csum_len: 4, + } +} + +fn crc64(w: u64, w1: u64) -> Crc { + let mut csum = [0u8; 16]; + csum[..8].copy_from_slice(&w1.to_le_bytes()); + csum[8..10].copy_from_slice(&((w >> 48) as u16).to_le_bytes()); + Crc { + compressed: field(w, 3, 9) as u32 + 1, + uncompressed: field(w, 12, 9) as u32 + 1, + offset: field(w, 21, 9) as u32, + nonce: field(w, 30, 10) as u32, + csum_type: field(w, 40, 4) as u8, + compression: field(w, 44, 4) as u8, + csum, + csum_len: 10, + } +} + +fn crc128(w: u64, w1: u64, w2: u64) -> Crc { + let mut csum = [0u8; 16]; + csum[..8].copy_from_slice(&w1.to_le_bytes()); + csum[8..].copy_from_slice(&w2.to_le_bytes()); + Crc { + compressed: field(w, 4, 13) as u32 + 1, + uncompressed: field(w, 17, 13) as u32 + 1, + offset: field(w, 30, 13) as u32, + nonce: field(w, 43, 13) as u32, + csum_type: field(w, 56, 4) as u8, + compression: field(w, 60, 4) as u8, + csum, + csum_len: 16, + } +} + +/// A btree_ptr_v2 value: a child node and where it is. +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub(crate) struct NodePtr { + pub seq: u64, + /// Sectors of the child that are valid. + pub written: u16, + pub min: Bpos, + pub ptr: Ptr, +} + +impl NodePtr { + pub(crate) const BYTES: usize = 48; + + pub(crate) fn decode(v: &[u8]) -> Result { + if v.len() < Self::BYTES { + return Err(Error::Corrupt("btree pointer without a device pointer")); + } + if v.len() > Self::BYTES { + return Err(Error::Unsupported("btree pointer with more than one device pointer")); + } + let ptr = le64(v, 40); + if ptr & 1 == 0 { + return Err(Error::Corrupt("btree pointer whose entry is no pointer")); + } + let ptr = Ptr::decode(ptr); + if le16(v, 16) == 0 || ptr.cached || ptr.unwritten { + return Err(Error::Corrupt("btree pointer with no written sectors, or cached or unwritten")); + } + Ok(NodePtr { seq: le64(v, 8), written: le16(v, 16), min: Bpos::decode(&v[20..40]), ptr }) + } + + pub(crate) fn encode(&self) -> [u8; Self::BYTES] { + let mut v = [0u8; Self::BYTES]; + put64(&mut v, 8, self.seq); + put16(&mut v, 16, self.written); + self.min.encode(&mut v[20..40]); + put64(&mut v, 40, self.ptr.encode()); + v + } +} + +/// An alloc_v4 value as a v1 writer sets it: no stripes, no +/// discard, generation 0. +pub(crate) struct Alloc { + pub data_type: u8, + pub dirty_sectors: u32, +} + +/// Data types. +pub(crate) mod data_type { + pub const FREE: u8 = 0; + pub const SB: u8 = 1; + pub const JOURNAL: u8 = 2; + pub const BTREE: u8 = 3; +} + +impl Alloc { + pub(crate) fn encode(&self) -> [u8; 64] { + let mut v = [0u8; 64]; + // need_discard and needs-gen-increment set, trailing records at 8. + put32(&mut v, 8, 0x23); + v[14] = self.data_type; + put32(&mut v, 16, self.dirty_sectors); + // The IO clock when the bucket filled, never below 1. + put64(&mut v, 24, 1); + put64(&mut v, 32, 1); + v + } +} + +/// A backpointer value for a btree node pointer. +pub(crate) fn backpointer(btree: u8, node_level: u8, sectors: u32, node_max: Bpos) -> [u8; 32] { + let mut v = [0u8; 32]; + v[0] = btree; + v[1] = node_level + 1; + v[2] = data_type::BTREE; + put32(&mut v, 8, sectors); + node_max.encode(&mut v[12..32]); + v +} + +/// A live snapshot-tree root, with its subvolume. +pub(crate) fn snapshot(subvolume: u32, tree: u32) -> [u8; 64] { + let mut v = [0u8; 64]; + put32(&mut v, 0, SNAPSHOT_HAS_SUBVOLUME); + put32(&mut v, 16, subvolume); + put32(&mut v, 20, tree); + put32(&mut v, 56, SNAPSHOT_LIVE); + v +} + +pub(crate) const SNAPSHOT_HAS_SUBVOLUME: u32 = 1 << 1; +pub(crate) const SNAPSHOT_LIVE: u32 = 0x757c_47a2; +pub(crate) const SUBVOLUME_LIVE: u32 = 0x4ad5_447e; + +/// A live subvolume rooted at `inode` in `snapshot`. +pub(crate) fn subvolume(snapshot: u32, inode: u64) -> [u8; 48] { + let mut v = [0u8; 48]; + put32(&mut v, 4, snapshot); + put64(&mut v, 8, inode); + put32(&mut v, 40, SUBVOLUME_LIVE); + v +} + +/// A snapshot tree: its master subvolume and root snapshot. +pub(crate) fn snapshot_tree(master_subvolume: u32, root_snapshot: u32) -> [u8; 8] { + let mut v = [0u8; 8]; + put32(&mut v, 0, master_subvolume); + put32(&mut v, 4, root_snapshot); + v +} + +/// An unsharded inode-allocation cursor: its generation and next number. +pub(crate) fn inode_cursor(generation: u32, next: u64) -> [u8; 16] { + let mut v = [0u8; 16]; + put32(&mut v, 4, generation); + put64(&mut v, 8, next); + v +} + +/// The fields of a subvolume a check compares. +pub(crate) struct Subvolume { + pub snapshot: u32, + pub inode: u64, + pub state: u32, + pub fs_path_parent: u32, +} + +impl Subvolume { + pub(crate) fn decode(v: &[u8]) -> Result { + if v.len() < 48 { + return Err(Error::Corrupt("subvolume value shorter than 48 bytes")); + } + Ok(Subvolume { snapshot: le32(v, 4), inode: le64(v, 8), fs_path_parent: le32(v, 20), state: le32(v, 40) }) + } +} + +/// An accounting key's position: its class record read as one +/// big-endian 160-bit integer. +pub(crate) fn accounting_pos(record: &[u8]) -> Bpos { + let mut r = [0u8; 20]; + r[..record.len()].copy_from_slice(record); + r.reverse(); + Bpos::decode(&r) +} + +/// Accounting classes. +pub(crate) mod class { + pub const NR_INODES: u8 = 0; + pub const REPLICAS: u8 = 2; + pub const DEV_DATA_TYPE: u8 = 3; + pub const SNAPSHOT: u8 = 5; + pub const BTREE: u8 = 6; +} + +/// The counters of an accounting value. +pub(crate) fn counters(c: &[u64]) -> Vec { + c.iter().flat_map(|c| c.to_le_bytes()).collect() +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn varints_take_seven_bits_a_byte_up_to_eight_bytes() { + for (v, len) in [(0u64, 1), (1, 1), (127, 1), (128, 2), ((1 << 56) - 1, 8), (1 << 56, 9), (u64::MAX, 9)] { + let mut b = Vec::new(); + varint(&mut b, v); + assert_eq!(b.len(), len, "{v}"); + assert_eq!(read_varint(&b), Ok((v, len)), "{v}"); + } + let mut b = Vec::new(); + varint(&mut b, 1); + assert_eq!(b, [0x02], "one byte, low bit 0, the value above it"); + assert!(read_varint(&[0x01]).is_err(), "a two-byte varint cut short"); + } + + #[test] + fn an_inode_value_encodes_to_its_last_nonzero_field() { + let mut inode = InodeValue { hash_seed: 7, flags: 0o40755 << 36 | 3 << 20, ..Default::default() }; + inode.set(inode_field::SUBVOL, 1); + let v = inode.encode(); + // 48 fixed bytes; four zero times of two bytes, 17 zero fields, then + // the subvolume id: 26 bytes padded to 32. + assert_eq!(v.len(), 80); + let read = InodeValue::decode(&v).unwrap(); + assert_eq!(field(read.flags, 24, 7), 22, "the subvolume id is field 22"); + assert_eq!((read.mode(), read.hash_type(), read.field(inode_field::SUBVOL)), (0o40755, 3, 1)); + assert_eq!(read.fields, inode.fields); + } + + #[test] + fn a_crc64_entry_holds_an_80_bit_mac() { + let w = 0b100 | 31 << 3 | 31 << 12 | 3 << 40 | 0xbeef << 48; + let crc = crc64(w, 0x0706_0504_0302_0100); + assert_eq!((crc.compressed, crc.uncompressed, crc.csum_type, crc.csum_len), (32, 32, 3, 10)); + assert_eq!(&crc.csum[..10], &[0, 1, 2, 3, 4, 5, 6, 7, 0xef, 0xbe]); + } + + #[test] + fn an_extent_is_its_checksum_entry_then_its_pointer() { + let ptr = Ptr { sector: 5248, dev: 0, gen: 0, cached: false, unwritten: false }.encode(); + let crc = 0b10 | 31 << 2 | 31 << 9 | 5 << 24 | 0xdead_beef << 32; + let value = [crc, ptr].map(u64::to_le_bytes).concat(); + let extent = Extent::decode(&value).unwrap(); + assert_eq!((extent.ptr.sector, extent.crc.unwrap().csum_type, extent.crc.unwrap().compressed), (5248, 5, 32)); + let after = [ptr, crc].map(u64::to_le_bytes).concat(); + assert!(Extent::decode(&after).is_err(), "a checksum entry after the pointer"); + let poisoned = [0b100_0000 | 1 << 7, crc, ptr].map(u64::to_le_bytes).concat(); + assert_eq!(Extent::decode(&poisoned).err(), Some(Error::Corrupt("extent poisoned"))); + let flags = [0b100_0000, crc, ptr].map(u64::to_le_bytes).concat(); + assert!(Extent::decode(&flags).is_ok(), "a flags entry without the poison bit"); + } + + #[test] + fn an_accounting_record_is_its_position_read_big_endian() { + // Replicas (btree, 1 device, 1 required, device 0). + assert_eq!(accounting_pos(&[2, 3, 1, 1, 0]), Bpos::new(0x0203_0101_0000_0000, 0, 0)); + // inum 0x80000003. + assert_eq!(accounting_pos(&[8, 3, 0, 0, 0x80]), Bpos::new(0x0803_0000_8000_0000, 0, 0)); + } + + #[test] + fn a_node_pointer_reads_back() { + let ptr = NodePtr { seq: 0x1234, written: 8, min: Bpos::new(0, 83, 0), ptr: Ptr { sector: 4640, dev: 0, gen: 1, cached: false, unwritten: false } }; + assert_eq!(NodePtr::decode(&ptr.encode()), Ok(ptr)); + } +} diff --git a/lib/bcachefs/src/lib.rs b/lib/bcachefs/src/lib.rs index 64afa13218a..becd6579e16 100644 --- a/lib/bcachefs/src/lib.rs +++ b/lib/bcachefs/src/lib.rs @@ -1,6 +1,6 @@ -//! The `/home` filesystem. [`upstream`] implements the real bcachefs on-disk -//! format, read side; the modules beside it are the interim ToyOS format the -//! kernel still links. +//! bcachefs. [`engine`] implements its on-disk format; the modules beside it +//! are the interim ToyOS format the build, the loader and the file server +//! still use. //! //! **Every number this crate parses came off a disk it does not own, and a //! CRC is not authentication — whoever writes the image writes the CRC.** Each @@ -21,7 +21,8 @@ mod superblock; mod alloc_bitmap; mod btree; mod fs; -pub mod upstream; +#[warn(dead_code)] +pub mod engine; pub use block_io::{BlockIO, BlockBuf, BlockNum, DeviceError, TransferError}; #[cfg(feature = "std")] diff --git a/lib/bcachefs/src/upstream/bkey.rs b/lib/bcachefs/src/upstream/bkey.rs deleted file mode 100644 index c68cd6299a2..00000000000 --- a/lib/bcachefs/src/upstream/bkey.rs +++ /dev/null @@ -1,506 +0,0 @@ -//! Keys: the position they sort by, the per-node packing, and unpacking. -//! -//! A packed key's first `key_u64s` words, read little-endian, are one integer. -//! Its three header bytes are the low 24 bits; the node's `bkey_format` lays -//! the six fields end to end below the integer's top bit, `INODE` highest and -//! `VERSION_LO` lowest, each `bits_per_field` wide, and each unpacks to its -//! packed value plus its `field_offset`. The bits between the header and the -//! lowest field mean nothing, and a field crosses word boundaries freely. - -use super::raw::Raw; -use super::UpstreamError; - -/// `BKEY_U64s`: the unpacked key is five u64s, and its value follows them. -pub const BKEY_U64S: usize = 5; -pub const BKEY_BYTES: usize = BKEY_U64S * 8; -/// `KEY_PACKED_BITS_START`: the three header bytes a packed key keeps -/// unpacked, below every field bit. -const PACKED_BITS_START: u32 = 24; -const NR_FIELDS: usize = 6; - -pub const KEY_FORMAT_LOCAL_BTREE: u8 = 0; -pub const KEY_FORMAT_CURRENT: u8 = 1; - -/// Value types this reader decodes or steps over, `BCH_BKEY_TYPES()`. -pub const TYPE_DELETED: u8 = 0; -pub const TYPE_WHITEOUT: u8 = 1; -pub const TYPE_ERROR: u8 = 2; -pub const TYPE_HASH_WHITEOUT: u8 = 4; -pub const TYPE_EXTENT: u8 = 6; -pub const TYPE_RESERVATION: u8 = 7; -pub const TYPE_DIRENT: u8 = 10; -pub const TYPE_INLINE_DATA: u8 = 17; -pub const TYPE_BTREE_PTR_V2: u8 = 18; -pub const TYPE_SUBVOLUME: u8 = 21; -pub const TYPE_INODE_V3: u8 = 29; -pub const TYPE_EXTENT_WHITEOUT: u8 = 36; - -/// A key's position: the btree's sort order, low to high, is exactly this -/// tuple's. -#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Default)] -pub struct Bpos { - pub inode: u64, - pub offset: u64, - pub snapshot: u32, -} - -impl Bpos { - pub const MIN: Self = Self { inode: 0, offset: 0, snapshot: 0 }; - - pub fn new(inode: u64, offset: u64, snapshot: u32) -> Self { - Self { inode, offset, snapshot } - } - - /// Read the on-disk `struct bpos` at `off`; its words are stored low to - /// high, which is the reverse of how they compare. - pub fn read(raw: &Raw<'_>, off: usize) -> Result { - Ok(Self { - snapshot: raw.u32(off)?, - offset: raw.u64(off + 4)?, - inode: raw.u64(off + 12)?, - }) - } -} - -pub const BPOS_BYTES: usize = 20; - -/// One field of a `bkey_format`: its packed width, and what unpacking adds to it. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -struct FieldPacking { - bits: u8, - offset: u64, -} - -impl FieldPacking { - /// A field packed at its unpacked width, with nothing added back. - const fn whole(bits: u8) -> Self { - Self { bits, offset: 0 } - } - - /// Whether every value this field can unpack to, `offset + 2^bits - 1` at - /// the most, fits in the unpacked field it fills. - fn fits(self, unpacked: Unpacked) -> bool { - // A span past `u128` is past any unpacked field. - let top = 2u128 - .checked_pow(self.bits.into()) - .and_then(|span| span.checked_add(self.offset.into())); - top.is_some_and(|top| top <= 2u128.pow(unpacked as u32)) - } -} - -/// The width of a member of the unpacked `struct bkey`. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -enum Unpacked { - U32 = 32, - U64 = 64, -} - -/// A btree node's key format: how many bits each field is packed into, and -/// what is added back to each on the way out. -/// -/// **Holding one is proof it is valid**: the only way to make one from disk -/// bytes is `TryFrom`, so unpacking never meets a field wider -/// than the one it fills or a key length its fields do not add up to. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct BkeyFormat { - key_u64s: u8, - fields: [FieldPacking; NR_FIELDS], -} - -pub const FORMAT_BYTES: usize = 56; - -/// `BKEY_FORMAT_CURRENT`'s widths: what each packed field is unpacked into. -const UNPACKED_BITS: [Unpacked; NR_FIELDS] = - [Unpacked::U64, Unpacked::U64, Unpacked::U32, Unpacked::U32, Unpacked::U32, Unpacked::U64]; - -/// A `struct bkey_format` exactly as stored, before anything in it is believed. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -struct StoredFormat { - key_u64s: u8, - nr_fields: u8, - fields: [FieldPacking; NR_FIELDS], -} - -impl StoredFormat { - fn parse(bytes: &[u8; FORMAT_BYTES]) -> Self { - let [key_u64s, nr_fields, b0, b1, b2, b3, b4, b5, offsets @ ..] = *bytes; - let bits = [b0, b1, b2, b3, b4, b5]; - // 48 bytes are exactly one word per field. - let offsets = offsets.as_chunks::<8>().0; - let fields = core::array::from_fn(|j| FieldPacking { bits: bits[j], offset: u64::from_le_bytes(offsets[j]) }); - Self { key_u64s, nr_fields, fields } - } -} - -/// Each way a stored `bkey_format` describes keys this reader cannot unpack. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum FormatError { - /// `nr_fields` is not `BKEY_NR_FIELDS`. - FieldCount, - /// A field's largest value, `field_offset + 2^bits_per_field - 1`, is past - /// what the unpacked field holds. - FieldTooWide, - /// `key_u64s` is not the words the header and the fields' bits fill. - WordCount, -} - -impl From for UpstreamError { - fn from(err: FormatError) -> Self { - UpstreamError::Refused(match err { - FormatError::FieldCount => "btree node's key format has the wrong field count", - FormatError::FieldTooWide => "btree node's key format packs a field wider than the one it fills", - FormatError::WordCount => "btree node's key format is not as many words as its fields need", - }) - } -} - -impl TryFrom for BkeyFormat { - type Error = FormatError; - - /// `key_u64s` is required to be exactly the words the fields need, so a - /// format cannot carry slack a key could hide in. - fn try_from(stored: StoredFormat) -> Result { - if usize::from(stored.nr_fields) != NR_FIELDS { - return Err(FormatError::FieldCount); - } - if !stored.fields.iter().zip(UNPACKED_BITS).all(|(field, unpacked)| field.fits(unpacked)) { - return Err(FormatError::FieldTooWide); - } - let field_bits: u32 = stored.fields.iter().map(|field| u32::from(field.bits)).sum(); - if u32::from(stored.key_u64s) != (PACKED_BITS_START + field_bits).div_ceil(64) { - return Err(FormatError::WordCount); - } - Ok(Self { key_u64s: stored.key_u64s, fields: stored.fields }) - } -} - -impl BkeyFormat { - /// `BKEY_FORMAT_CURRENT`: what a key outside any btree node — a journal - /// entry's, a clean section's — is written in. - pub fn unpacked() -> Self { - Self { key_u64s: BKEY_U64S as u8, fields: UNPACKED_BITS.map(|width| FieldPacking::whole(width as u8)) } - } - - /// Read the `bkey_format` stored at `off`, refusing one whose keys could - /// not be unpacked into `struct bkey`. - pub fn read(raw: &Raw<'_>, off: usize) -> Result { - let bytes = raw.slice(off, FORMAT_BYTES)?.try_into().expect("a FORMAT_BYTES window"); - Ok(Self::try_from(StoredFormat::parse(bytes))?) - } -} - -/// A key, unpacked, and where its value sits inside the same window. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct Key { - /// The key and value together, in u64s: how far the next key is. - pub u64s: u8, - pub kind: u8, - /// Extent size in sectors; zero for every non-extent key. - pub size: u32, - pub pos: Bpos, - /// Byte offset of the value from the start of this key. - pub val_at: usize, - /// Where this key starts inside the node it was read from. - pub base: usize, -} - -impl Key { - /// The value's length in bytes. - pub fn val_bytes(&self) -> usize { - self.u64s as usize * 8 - self.val_at - } - - /// Record where in the node this key was found, so its value can be located. - pub fn with_base(mut self, base: usize) -> Self { - self.base = base; - self - } - - /// Decode the key at the start of `raw`, unpacking it through `format` - /// when the key says it is packed. - pub fn read(raw: &Raw<'_>, format: &BkeyFormat) -> Result { - let u64s = raw.u8(0)?; - let fmt_byte = raw.u8(1)?; - let kind = raw.u8(2)?; - let packed_format = fmt_byte & 0x7F; - - let key_u64s = match packed_format { - KEY_FORMAT_LOCAL_BTREE => usize::from(format.key_u64s), - KEY_FORMAT_CURRENT => BKEY_U64S, - _ => return Err(UpstreamError::Refused("key names a format the node does not define")), - }; - if (u64s as usize) < key_u64s { - return Err(UpstreamError::Refused("key is shorter than the format it names")); - } - // Every byte the key claims has to be there before any field is read. - let whole = raw.sub(0, u64s as usize * 8, "key runs past the end of its bset")?; - - let (size, pos) = if packed_format == KEY_FORMAT_CURRENT { - (whole.u32(16)?, Bpos::read(&whole, 20)?) - } else { - PackedKey::new(&whole, format)?.unpack()? - }; - - Ok(Self { u64s, kind, size, pos, val_at: key_u64s * 8, base: 0 }) - } -} - -/// A key packed in a node's format: its first `key_u64s` words, header -/// included, read little-endian as one integer. -struct PackedKey<'a> { - bytes: &'a [u8], - format: &'a BkeyFormat, -} - -const FIELD_DOES_NOT_FIT: UpstreamError = - UpstreamError::Refused("packed key's field does not fit the one it unpacks into"); - -impl<'a> PackedKey<'a> { - /// The key part of `whole`; the value past it is not the key's. - fn new(whole: &Raw<'a>, format: &'a BkeyFormat) -> Result { - let bytes = whole.slice(0, usize::from(format.key_u64s) * 8)?; - Ok(Self { bytes, format }) - } - - /// Bits `[lo, lo + width)` of the key as an integer, for `width <= 64`. - fn bit_range(&self, lo: u16, width: u8) -> u128 { - // Nine bytes from the one holding bit `lo` cover any 64-bit field. - let mut window = [0u8; 16]; - for (dst, src) in window.iter_mut().zip(self.bytes.iter().skip(usize::from(lo / 8))) { - *dst = *src; - } - (u128::from_le_bytes(window) >> (lo % 8)) & ((1u128 << width) - 1) - } - - /// `(size, pos)`: every field's packed value plus its `field_offset`. - fn unpack(&self) -> Result<(u32, Bpos), UpstreamError> { - // The format's validity puts the lowest field at bit 24 or above, so - // `top` never passes below the header. - let mut top = u16::from(self.format.key_u64s) * 64; - let [inode, offset, snapshot, size, _version_hi, _version_lo] = - self.format.fields.map(|field| { - top -= u16::from(field.bits); - self.bit_range(top, field.bits) + u128::from(field.offset) - }); - let wide = |value: u128| u64::try_from(value).map_err(|_| FIELD_DOES_NOT_FIT); - let narrow = |value: u128| u32::try_from(value).map_err(|_| FIELD_DOES_NOT_FIT); - Ok((narrow(size)?, Bpos { inode: wide(inode)?, offset: wide(offset)?, snapshot: narrow(snapshot)? })) - } -} - -#[cfg(test)] -mod tests { - use super::*; - use alloc::vec; - use alloc::vec::Vec; - - const FIELD_INODE: usize = 0; - const FIELD_SNAPSHOT: usize = 2; - const FIELD_SIZE: usize = 3; - - fn format_bytes(key_u64s: u8, bits: [u8; 6], offsets: [u64; 6]) -> Vec { - let mut out = vec![key_u64s, 6]; - out.extend_from_slice(&bits); - for off in offsets { - out.extend_from_slice(&off.to_le_bytes()); - } - out - } - - /// The format `BKEY_FORMAT_CURRENT` is: every field at its natural width, - /// no offsets. A key packed in it unpacks to what an unpacked key holds: - /// its fields land on exactly the bytes of `struct bkey`. - #[test] - fn the_identity_format_round_trips_a_position() { - let bits = [64u8, 64, 32, 32, 32, 64]; - let raw = format_bytes(BKEY_U64S as u8, bits, [0; 6]); - let format = BkeyFormat::read(&Raw::new(&raw, "format"), 0).expect("a valid format"); - - // Pack (inode, offset, snapshot, size, version) most significant bit - // first, from the top of the last word down. - let want = Bpos::new(0x1122_3344_5566_7788, 0x99AA_BBCC_DDEE_FF00, 0x1234_5678); - let size = 0x0BAD_F00Du32; - let mut bitstring: Vec = Vec::new(); - let mut push = |v: u64, n: u32| { - for i in (0..n).rev() { - bitstring.push((v >> i) & 1 == 1); - } - }; - push(want.inode, 64); - push(want.offset, 64); - push(want.snapshot as u64, 32); - push(size as u64, 32); - push(0, 32); - push(0, 64); - - let mut words = [0u64; BKEY_U64S]; - let mut at = 0; - for word in (0..BKEY_U64S).rev() { - for bit in (0..64).rev() { - if at < bitstring.len() && bitstring[at] { - words[word] |= 1u64 << bit; - } - at += 1; - } - } - - let mut key = Vec::new(); - for word in words { - key.extend_from_slice(&word.to_le_bytes()); - } - key[0] = BKEY_U64S as u8; - key[1] = KEY_FORMAT_LOCAL_BTREE; - key[2] = TYPE_DIRENT; - - let decoded = Key::read(&Raw::new(&key, "key"), &format).expect("a packed key"); - assert_eq!(decoded.pos, want); - assert_eq!(decoded.size, size); - assert_eq!(decoded.kind, TYPE_DIRENT); - assert_eq!(decoded.val_at, BKEY_BYTES); - } - - #[test] - fn a_field_wider_than_the_one_it_fills_is_refused() { - for (field, bits) in [(FIELD_SNAPSHOT, 64u8), (FIELD_SIZE, 33), (FIELD_INODE, 65)] { - let mut widths = [64u8, 64, 32, 32, 32, 64]; - widths[field] = bits; - let total: u32 = PACKED_BITS_START + widths.iter().map(|b| *b as u32).sum::(); - let raw = format_bytes(total.div_ceil(64) as u8, widths, [0; 6]); - assert_eq!( - BkeyFormat::read(&Raw::new(&raw, "format"), 0).err(), - Some(UpstreamError::Refused( - "btree node's key format packs a field wider than the one it fills" - )), - "a {bits}-bit field {field} was accepted" - ); - } - - // A field at its full width may carry no offset, or the two together - // exceed what the unpacked field holds. - let mut offsets = [0u64; 6]; - offsets[FIELD_SNAPSHOT] = 1; - let full = format_bytes(BKEY_U64S as u8, [64, 64, 32, 32, 32, 64], offsets); - assert!(BkeyFormat::read(&Raw::new(&full, "format"), 0).is_err()); - - // A narrower field whose offset pushes its top past the unpacked max. - let mut offsets = [0u64; 6]; - offsets[FIELD_SNAPSHOT] = u32::MAX as u64; - let pushed = format_bytes(5, [64, 64, 31, 32, 32, 64], offsets); - assert!(BkeyFormat::read(&Raw::new(&pushed, "format"), 0).is_err()); - } - - /// A key whose `u64s` is below its format's key length, or past the end of - /// the window, is refused rather than read short. - #[test] - fn a_key_that_does_not_fit_is_refused() { - let raw = format_bytes(BKEY_U64S as u8, [64, 64, 32, 32, 32, 64], [0; 6]); - let format = BkeyFormat::read(&Raw::new(&raw, "format"), 0).expect("a valid format"); - - let mut short = vec![0u8; BKEY_BYTES]; - short[0] = 4; - short[1] = KEY_FORMAT_LOCAL_BTREE; - assert!(Key::read(&Raw::new(&short, "key"), &format).is_err()); - - let mut past = vec![0u8; BKEY_BYTES]; - past[0] = 200; - past[1] = KEY_FORMAT_LOCAL_BTREE; - assert!(Key::read(&Raw::new(&past, "key"), &format).is_err()); - - let mut alien = vec![0u8; BKEY_BYTES]; - alien[0] = BKEY_U64S as u8; - alien[1] = 42; - assert!(Key::read(&Raw::new(&alien, "key"), &format).is_err()); - } - - mod vectors { - /// `(inode, offset, snapshot, size)`. - type Unpacked = (u64, u64, u32, u32); - include!("bkey_vectors.rs"); - } - - fn stored(bytes: &[u8]) -> StoredFormat { - StoredFormat::parse(bytes.first_chunk().expect("a whole format")) - } - - /// Every format vector: valid ones read back unchanged, and each invalid - /// one is refused for the first condition it fails. - #[test] - fn format_vectors() { - for &(id, bytes, want) in vectors::FORMAT_CASES { - let got = BkeyFormat::read(&Raw::new(bytes, "format"), 0); - match want { - None => { - let format = got.unwrap_or_else(|err| panic!("{id}: refused a valid format: {err:?}")); - let stored = stored(bytes); - assert_eq!((format.key_u64s, format.fields), (stored.key_u64s, stored.fields), "{id}"); - } - Some(refusal) => assert_eq!(got, Err(UpstreamError::Refused(refusal)), "{id}"), - } - } - } - - /// A format one byte short of its 56 is refused, not read past. - #[test] - fn a_truncated_format_is_refused() { - let (_, bytes, _) = vectors::FORMAT_CASES[0]; - assert!(BkeyFormat::read(&Raw::new(&bytes[..FORMAT_BYTES - 1], "format"), 0).is_err()); - assert!(BkeyFormat::read(&Raw::new(bytes, "format"), 1).is_err()); - } - - /// `field_offset + 2^bits <= 2^unpacked`, decided over the integers for - /// every width a byte can state. - #[test] - fn field_fit_vectors() { - for &(bits, offset, unpacked, overflows) in vectors::OVERFLOW_CASES { - let width = match unpacked { - 32 => Unpacked::U32, - 64 => Unpacked::U64, - other => panic!("no unpacked field is {other} bits wide"), - }; - assert_eq!( - FieldPacking { bits, offset }.fits(width), - !overflows, - "{bits} bits at offset {offset:#x} into {unpacked}" - ); - } - } - - #[test] - fn unpack_vectors() { - for &(id, format, key, (inode, offset, snapshot, size)) in vectors::UNPACK_CASES { - let format = BkeyFormat::read(&Raw::new(format, "format"), 0).expect(id); - let got = PackedKey::new(&Raw::new(key, "key"), &format).and_then(|key| key.unpack()); - assert_eq!(got, Ok((size, Bpos::new(inode, offset, snapshot))), "{id}"); - } - } - - /// A field whose value is past its unpacked width is refused, not - /// truncated. No format `read` accepts reaches this, so the format is - /// built past its constructor. - #[test] - fn a_field_past_its_unpacked_width_is_refused_not_truncated() { - let narrow = FieldPacking { bits: 0, offset: u64::from(u32::MAX) + 1 }; - // The key's top bit packs a 1, which lands one past `u64::MAX`. - let wide = FieldPacking { bits: 1, offset: u64::MAX }; - let none = FieldPacking::whole(0); - for fields in [ - [wide, none, none, none, none, none], - [none, wide, none, none, none, none], - [none, none, narrow, none, none, none], - [none, none, none, narrow, none, none], - ] { - let format = BkeyFormat { key_u64s: 1, fields }; - let key = [1, KEY_FORMAT_LOCAL_BTREE, TYPE_DIRENT, 0, 0, 0, 0, 0x80]; - let got = PackedKey::new(&Raw::new(&key, "key"), &format).and_then(|key| key.unpack()); - assert_eq!(got, Err(FIELD_DOES_NOT_FIT), "{fields:?}"); - } - } - - /// The identity format read off a disk is the one `unpacked` states. - #[test] - fn the_identity_format_is_the_unpacked_one() { - let (id, bytes, _) = vectors::FORMAT_CASES[0]; - assert_eq!(id, "F1"); - assert_eq!(BkeyFormat::read(&Raw::new(bytes, "format"), 0), Ok(BkeyFormat::unpacked())); - } -} diff --git a/lib/bcachefs/src/upstream/bkey_vectors.rs b/lib/bcachefs/src/upstream/bkey_vectors.rs deleted file mode 100644 index 4e341cca94b..00000000000 --- a/lib/bcachefs/src/upstream/bkey_vectors.rs +++ /dev/null @@ -1,80 +0,0 @@ -pub const FORMAT_CASES: &[(&str, &[u8], Option<&str>)] = &[ - ("F1", &[0x05,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F2", &[0x03,0x06,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F3", &[0x01,0x06,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F4", &[0x04,0x06,0x40,0x40,0x20,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0x00,0x00,0x06,0x00,0x00,0x00], None), - ("F5", &[0x01,0x06,0x00,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F6", &[0x04,0x06,0x40,0x40,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F7", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F8", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff], None), - ("F9", &[0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F10", &[0x09,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F11", &[0x05,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format has the wrong field count")), - ("F12", &[0x05,0x07,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format has the wrong field count")), - ("F13", &[0x06,0x06,0x40,0x40,0x40,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F14", &[0x05,0x06,0x40,0x40,0x20,0x21,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F15", &[0x05,0x06,0x41,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F16", &[0x05,0x06,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F17", &[0x05,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F18", &[0x05,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F19", &[0x05,0x06,0x40,0x40,0x1f,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F20", &[0x05,0x06,0x40,0x40,0x1f,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F21", &[0x05,0x06,0x40,0x40,0x1f,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F22", &[0x01,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F23", &[0x01,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F24", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F25", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F26", &[0x01,0x06,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F27", &[0x01,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F28", &[0x04,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F29", &[0x06,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F30", &[0x01,0x06,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F31", &[0x02,0x06,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F32", &[0x01,0x06,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format is not as many words as its fields need")), - ("F33", &[0x02,0x06,0x29,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F34", &[0x01,0x05,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format has the wrong field count")), - ("F35", &[0x05,0x06,0x41,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Some("btree node's key format packs a field wider than the one it fills")), - ("F36", &[0x03,0x06,0x28,0x28,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F37", &[0x02,0x06,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), - ("F38", &[0x01,0x06,0x08,0x08,0x00,0x00,0x00,0x00,0xe8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xb8,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], None), -]; -pub const OVERFLOW_CASES: &[(u8, u64, u8, bool)] = &[ - (0, 0x0, 64, false), - (0, 0xffffffffffffffff, 64, false), - (1, 0xffffffffffffffff, 64, true), - (1, 0xfffffffffffffffe, 64, false), - (64, 0x0, 64, false), - (64, 0x1, 64, true), - (63, 0x8000000000000000, 64, false), - (63, 0x8000000000000001, 64, true), - (65, 0x0, 64, true), - (255, 0x0, 64, true), - (0, 0x0, 32, false), - (0, 0xffffffff, 32, false), - (0, 0x100000000, 32, true), - (32, 0x0, 32, false), - (32, 0x1, 32, true), - (31, 0x80000000, 32, false), - (31, 0x80000001, 32, true), - (33, 0x0, 32, true), - (8, 0xffffffffffffffff, 32, true), - (1, 0xffffffff, 32, true), - (16, 0xffff0000, 32, false), - (16, 0xffff0001, 32, true), -]; -pub const UNPACK_CASES: &[(&str, &[u8], &[u8], Unpacked)] = &[ - ("U1", &[0x05,0x06,0x40,0x40,0x20,0x20,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x05,0x00,0x0a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0d,0xf0,0xad,0x0b,0x78,0x56,0x34,0x12,0x00,0xff,0xee,0xdd,0xcc,0xbb,0xaa,0x99,0x88,0x77,0x66,0x55,0x44,0x33,0x22,0x11], (0x1122334455667788, 0x99aabbccddeeff00, 0x12345678, 0xbadf00d)), - ("U2", &[0x01,0x06,0x08,0x08,0x00,0x00,0x00,0x00,0xe8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xb8,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x01,0x00,0x1d,0x00,0x00,0x00,0x09,0x07], (0x3ef, 0x7d9, 0xbb8, 0xfa0)), - ("U3", &[0x03,0x06,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x06,0x00,0x0a,0x00,0xff,0xff,0xff,0xff,0x5f,0x0f,0x35,0xc4,0xb6,0xc0,0xbd,0x18,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00], (0x1000, 0x18bdc0b6c4350f5f, 0xffffffff, 0x0)), - ("U4", &[0x03,0x06,0x40,0x40,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x09,0x00,0x12,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff], (0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff, 0x0)), - ("U5", &[0x03,0x06,0x28,0x28,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x03,0x00,0x0a,0x00,0x00,0x00,0xef,0xbe,0xad,0xde,0xef,0xcd,0xab,0x89,0xb4,0xc3,0xd2,0xe1,0xf0,0xe5,0xd4,0xc3,0xb2,0xa1], (0xa1b2c3d4e5, 0xf0e1d2c3b4, 0x89abcdef, 0xdeadbeef)), - ("U6", &[0x02,0x06,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x02,0x00,0x0a,0x00,0x00,0x00,0x00,0x10,0x32,0x54,0x76,0x98,0xba,0xdc,0xfe,0x5a], (0x5a, 0xfedcba9876543210, 0x0, 0x0)), - ("U7", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff], &[0x01,0x00,0x0a,0x00,0x00,0x00,0x00,0x00], (0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff, 0xffffffff)), - ("U8", &[0x01,0x06,0x00,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x52,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x09,0x00,0x1b,0x00,0x00,0x00,0x01,0x00], (0x0, 0x53, 0x0, 0x0)), - ("U9", &[0x01,0x06,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x09,0x00,0x1b,0x00,0x00,0x00,0x00,0x01], (0x0, 0x1, 0x0, 0x0)), - ("U10", &[0x04,0x06,0x40,0x40,0x20,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x05,0x00,0x00,0x06,0x00,0x00,0x00], &[0x05,0x00,0x22,0x00,0x00,0x00,0x00,0xd9,0xfb,0xff,0xff,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x02], (0x203010100000000, 0x0, 0x0, 0x0)), - ("U11", &[0x01,0x06,0x08,0x08,0x00,0x00,0x00,0x00,0xe8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xb8,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x01,0x80,0x1d,0xff,0xff,0xff,0x09,0x07], (0x3ef, 0x7d9, 0xbb8, 0xfa0)), - ("U12", &[0x01,0x06,0x08,0x08,0x00,0x00,0x00,0x00,0xe8,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xb8,0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0xa0,0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x03,0x00,0x1d,0x00,0x00,0x00,0x09,0x07,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff], (0x3ef, 0x7d9, 0xbb8, 0xfa0)), - ("U13", &[0x01,0x06,0x01,0x00,0x00,0x00,0x00,0x00,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x01,0x00,0x0a,0x00,0x00,0x00,0x00,0x80], (0xffffffffffffffff, 0x0, 0x0, 0x0)), - ("U14", &[0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], &[0x01,0x00,0x0a,0x00,0xff,0xff,0xff,0xff], (0x0, 0x0, 0x0, 0x0)), -]; diff --git a/lib/bcachefs/src/upstream/btree.rs b/lib/bcachefs/src/upstream/btree.rs deleted file mode 100644 index f5e70589072..00000000000 --- a/lib/bcachefs/src/upstream/btree.rs +++ /dev/null @@ -1,141 +0,0 @@ -//! Walking a btree: merging a node's bsets into one ordered list of live keys, -//! and descending from a root to the leaves a key range touches. - -use alloc::vec::Vec; - -use crate::block_io::BlockIO; - -use super::bkey::{Bpos, Key, TYPE_DELETED, TYPE_EXTENT_WHITEOUT, TYPE_HASH_WHITEOUT, TYPE_WHITEOUT}; -use super::node::{clean_roots, BtreePtr, Node, MAX_DEPTH}; -use super::sb::Superblock; -use super::UpstreamError; - -/// The btrees `BCH_BTREE_IDS()` numbers that a file needs. -pub const BTREE_EXTENTS: u32 = 0; -pub const BTREE_INODES: u32 = 1; -pub const BTREE_DIRENTS: u32 = 2; -pub const BTREE_SUBVOLUMES: u32 = 8; - -/// A node's keys, merged: one key per position, the newest bset winning, with -/// the bset it came from kept so an extent can resolve an overlap by it. -/// -/// The node is a log — a later bset overrides an earlier one at the same -/// position — so a reader that concatenated the bsets would serve deleted -/// files and stale extents. -pub fn merged(node: &Node) -> Result, UpstreamError> { - let mut keys = node.keys()?; - // Stable by position, then by bset, so the last entry of each position run - // is the newest one. - keys.sort_by(|(ga, a), (gb, b)| a.pos.cmp(&b.pos).then(ga.cmp(gb))); - - let mut out: Vec<(usize, Key)> = Vec::with_capacity(keys.len()); - for (generation, key) in keys { - match out.last_mut() { - Some((g, prev)) if prev.pos == key.pos => { - *g = generation; - *prev = key; - } - _ => out.push((generation, key)), - } - } - out.retain(|(_, k)| !is_tombstone(k.kind)); - Ok(out) -} - -/// Types that say "nothing is here", whatever an older bset said. -/// -/// `extent_whiteout` is one of them: it is what the extents btree writes where -/// a snapshot deletion took data away, and a reader that served it back would -/// hand out an extent with no value. -fn is_tombstone(kind: u8) -> bool { - matches!(kind, TYPE_DELETED | TYPE_WHITEOUT | TYPE_HASH_WHITEOUT | TYPE_EXTENT_WHITEOUT) -} - -/// A btree, opened at its root. -pub struct Btree<'a> { - io: &'a dyn BlockIO, - sb: &'a Superblock, - id: u32, - root: BtreePtr, - level: u8, -} - -impl<'a> Btree<'a> { - /// Open the btree `id` at the root the clean section records. - pub fn open(io: &'a dyn BlockIO, sb: &'a Superblock, id: u32) -> Result { - let (_, level, root) = clean_roots(sb)? - .into_iter() - .find(|(btree, _, _)| *btree == id) - .ok_or(UpstreamError::Refused("filesystem has no root for a btree a file needs"))?; - Ok(Self { io, sb, id, root, level }) - } - - /// Hand every live key whose position is in `from..=to` to `visit`, in - /// order, stopping early when it answers `false`. - pub fn range( - &self, - from: Bpos, - to: Bpos, - visit: &mut dyn FnMut(&Node, usize, &Key) -> Result, - ) -> Result<(), UpstreamError> { - self.descend(&self.root, self.level, from, to, visit).map(|_| ()) - } - - fn descend( - &self, - ptr: &BtreePtr, - level: u8, - from: Bpos, - to: Bpos, - visit: &mut dyn FnMut(&Node, usize, &Key) -> Result, - ) -> Result { - if level >= MAX_DEPTH { - return Err(UpstreamError::Refused("btree is deeper than the format allows")); - } - let node = Node::read(self.io, self.sb, ptr, self.id, level)?; - let keys = merged(&node)?; - - if level == 0 { - for (generation, key) in &keys { - if key.pos < from { - continue; - } - if key.pos > to { - return Ok(false); - } - if !visit(&node, *generation, key)? { - return Ok(false); - } - } - return Ok(true); - } - - // An interior key's position is its child's *last* key, so the first - // child that can hold `from` is the first key at or above it. - for (_, key) in &keys { - if key.pos < from { - continue; - } - let child = BtreePtr::read(&node.value(key)?)?; - if !self.descend(&child, level - 1, from, to, visit)? { - return Ok(false); - } - if key.pos >= to { - return Ok(false); - } - } - Ok(true) - } - - /// The one live key at exactly `pos`, if the btree holds one. - pub fn get(&self, pos: Bpos) -> Result, Key)>, UpstreamError> { - let mut found = None; - self.range(pos, pos, &mut |node, _, key| { - if key.pos == pos { - found = Some((node.value(key)?.bytes().to_vec(), *key)); - } - Ok(false) - })?; - Ok(found) - } -} diff --git a/lib/bcachefs/src/upstream/csum.rs b/lib/bcachefs/src/upstream/csum.rs deleted file mode 100644 index 75971126d54..00000000000 --- a/lib/bcachefs/src/upstream/csum.rs +++ /dev/null @@ -1,230 +0,0 @@ -//! The unkeyed checksums a bcachefs superblock may name, seeded as the format -//! computes them. `crc32c` and `crc64` are the bare Castagnoli and ECMA-182 -//! updates, seeded 0 and not inverted; their `nonzero` variants seed and -//! finish with all ones, which is CRC-32C and CRC-64/WE. `xxhash` is XXH64 -//! seeded 0. - -use super::UpstreamError; - -/// The checksum types `BCH_CSUM_TYPES()` numbers. A type this crate cannot -/// compute is refused by name at the boundary rather than skipped. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum CsumType { - None, - Crc32cNonzero, - Crc64Nonzero, - Crc32c, - Crc64, - Xxhash, -} - -impl CsumType { - pub fn from_disk(raw: u64) -> Result { - match raw { - 0 => Ok(Self::None), - 1 => Ok(Self::Crc32cNonzero), - 2 => Ok(Self::Crc64Nonzero), - 3 => Err(UpstreamError::Refused("checksum type chacha20_poly1305_80: encryption")), - 4 => Err(UpstreamError::Refused("checksum type chacha20_poly1305_128: encryption")), - 5 => Ok(Self::Crc32c), - 6 => Ok(Self::Crc64), - 7 => Ok(Self::Xxhash), - _ => Err(UpstreamError::Refused("checksum type is not one this format defines")), - } - } - - /// The 128-bit `bch_csum` upstream stores: the digest in `lo`, `hi` zero - /// for every type here. - pub fn digest(self, data: &[u8]) -> (u64, u64) { - let lo = match self { - Self::None => 0, - Self::Crc32c => crc32c_update(0, data) as u64, - Self::Crc32cNonzero => (crc32c_update(u32::MAX, data) ^ u32::MAX) as u64, - Self::Crc64 => crc64_ecma_update(0, data), - Self::Crc64Nonzero => crc64_ecma_update(u64::MAX, data) ^ u64::MAX, - Self::Xxhash => xxh64(data, 0), - }; - (lo, 0) - } - - /// True when `data` carries the checksum `stored` claims. - /// - /// `CsumType::None` verifies everything, which is upstream's behaviour and - /// is why a mount refuses `none` metadata rather than trusting this. - pub fn verify(self, data: &[u8], stored: (u64, u64)) -> bool { - self.digest(data) == stored - } -} - -const CRC32C_TABLE: [u32; 256] = { - let mut table = [0u32; 256]; - let mut i = 0u32; - while i < 256 { - let mut crc = i; - let mut j = 0; - while j < 8 { - crc = if crc & 1 != 0 { (crc >> 1) ^ 0x82F6_3B78 } else { crc >> 1 }; - j += 1; - } - table[i as usize] = crc; - i += 1; - } - table -}; - -/// The Castagnoli update from `crc`, with neither the pre- nor the -/// post-inversion the standalone CRC-32C carries. -pub fn crc32c_update(mut crc: u32, data: &[u8]) -> u32 { - for &byte in data { - crc = (crc >> 8) ^ CRC32C_TABLE[((crc ^ byte as u32) & 0xFF) as usize]; - } - crc -} - -const CRC64_TABLE: [u64; 256] = { - let mut table = [0u64; 256]; - let mut i = 0u64; - while i < 256 { - let mut crc = i << 56; - let mut j = 0; - while j < 8 { - crc = if crc >> 63 != 0 { - (crc << 1) ^ 0x42F0_E1EB_A9EA_3693 - } else { - crc << 1 - }; - j += 1; - } - table[i as usize] = crc; - i += 1; - } - table -}; - -/// The ECMA-182 update from `crc`, most significant bit first, inverting -/// nothing: seeded 0 it is CRC-64/ECMA-182. -pub fn crc64_ecma_update(mut crc: u64, data: &[u8]) -> u64 { - for &byte in data { - crc = CRC64_TABLE[(((crc >> 56) ^ byte as u64) & 0xFF) as usize] ^ (crc << 8); - } - crc -} - -const XXH_P1: u64 = 0x9E37_79B1_85EB_CA87; -const XXH_P2: u64 = 0xC2B2_AE3D_27D4_EB4F; -const XXH_P3: u64 = 0x1656_67B1_9E37_79F9; -const XXH_P4: u64 = 0x85EB_CA77_C2B2_AE63; -const XXH_P5: u64 = 0x27D4_EB2F_1656_67C5; - -fn xxh_round(acc: u64, input: u64) -> u64 { - acc.wrapping_add(input.wrapping_mul(XXH_P2)).rotate_left(31).wrapping_mul(XXH_P1) -} - -fn xxh_merge(acc: u64, val: u64) -> u64 { - (acc ^ xxh_round(0, val)).wrapping_mul(XXH_P1).wrapping_add(XXH_P4) -} - -/// XXH64 over the whole buffer. -pub fn xxh64(data: &[u8], seed: u64) -> u64 { - let mut rest = data; - let mut hash; - - if data.len() >= 32 { - let (mut v1, mut v2, mut v3, mut v4) = ( - seed.wrapping_add(XXH_P1).wrapping_add(XXH_P2), - seed.wrapping_add(XXH_P2), - seed, - seed.wrapping_sub(XXH_P1), - ); - while rest.len() >= 32 { - v1 = xxh_round(v1, le64(rest, 0)); - v2 = xxh_round(v2, le64(rest, 8)); - v3 = xxh_round(v3, le64(rest, 16)); - v4 = xxh_round(v4, le64(rest, 24)); - rest = &rest[32..]; - } - hash = v1 - .rotate_left(1) - .wrapping_add(v2.rotate_left(7)) - .wrapping_add(v3.rotate_left(12)) - .wrapping_add(v4.rotate_left(18)); - hash = xxh_merge(hash, v1); - hash = xxh_merge(hash, v2); - hash = xxh_merge(hash, v3); - hash = xxh_merge(hash, v4); - } else { - hash = seed.wrapping_add(XXH_P5); - } - - hash = hash.wrapping_add(data.len() as u64); - - while rest.len() >= 8 { - hash = (hash ^ xxh_round(0, le64(rest, 0))).rotate_left(27).wrapping_mul(XXH_P1); - hash = hash.wrapping_add(XXH_P4); - rest = &rest[8..]; - } - if rest.len() >= 4 { - let word = u32::from_le_bytes([rest[0], rest[1], rest[2], rest[3]]) as u64; - hash = (hash ^ word.wrapping_mul(XXH_P1)).rotate_left(23).wrapping_mul(XXH_P2); - hash = hash.wrapping_add(XXH_P3); - rest = &rest[4..]; - } - for &byte in rest { - hash = (hash ^ (byte as u64).wrapping_mul(XXH_P5)).rotate_left(11).wrapping_mul(XXH_P1); - } - - hash ^= hash >> 33; - hash = hash.wrapping_mul(XXH_P2); - hash ^= hash >> 29; - hash = hash.wrapping_mul(XXH_P3); - hash ^= hash >> 32; - hash -} - -fn le64(buf: &[u8], off: usize) -> u64 { - u64::from_le_bytes(buf[off..off + 8].try_into().expect("an 8-byte window")) -} - -#[cfg(test)] -mod tests { - use super::*; - - /// The check values the three algorithms' own specifications publish, and - /// the seedings upstream picks out of them. - #[test] - fn published_check_values() { - assert_eq!(crc32c_update(u32::MAX, b"123456789") ^ u32::MAX, 0xE306_9283); - assert_eq!(crc64_ecma_update(0, b"123456789"), 0x6c40_df5f_0b49_7347); - assert_eq!(CsumType::Crc64Nonzero.digest(b"123456789"), (0x62ec_59e3_f1a4_f00a, 0)); - assert_eq!(xxh64(b"", 0), 0xEF46_DB37_51D8_E999); - } - - /// XXH64's three tails — the 32-byte stripes, the 8- and 4-byte words and - /// the loose bytes — are separate branches, so a length past each is what - /// covers them. - #[test] - fn xxh64_covers_every_tail() { - let data: Vec = (0u8..=200).cycle().take(201).collect(); - for len in [0usize, 1, 3, 4, 7, 8, 31, 32, 33, 63, 64, 200] { - let a = xxh64(&data[..len], 0); - let b = xxh64(&data[..len], 0); - assert_eq!(a, b, "xxh64 is not a function at length {len}"); - } - assert_ne!(xxh64(&data[..32], 0), xxh64(&data[..33], 0)); - } - - /// Every checksum type puts its digest in `lo` and leaves `hi` zero, and - /// the two encrypted types are refused by name rather than numbered. - #[test] - fn encryption_csum_types_are_refused_by_name() { - for raw in [3u64, 4] { - let err = CsumType::from_disk(raw).expect_err("an encrypted volume must be refused"); - assert!( - matches!(err, UpstreamError::Refused(reason) if reason.contains("encryption")), - "{err:?} does not name encryption" - ); - } - assert!(CsumType::from_disk(8).is_err(), "an undefined checksum type must be refused"); - assert_eq!(CsumType::Crc32c.digest(b"abc").1, 0); - } -} diff --git a/lib/bcachefs/src/upstream/dirent_vectors.rs b/lib/bcachefs/src/upstream/dirent_vectors.rs deleted file mode 100644 index b5cd7e3768f..00000000000 --- a/lib/bcachefs/src/upstream/dirent_vectors.rs +++ /dev/null @@ -1,29 +0,0 @@ -pub const DIRENT_CASES: &[(&str, &[u8], Decoded)] = &[ - ("D1", &[0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x04,0x6c,0x6f,0x73,0x74,0x2b,0x66,0x6f,0x75,0x6e,0x64,0x00,0x00,0x00,0x00,0x00], Ok(("lost+found", 0x80000000, 4))), - ("D2", &[0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x04,0x44,0x6f,0x63,0x75,0x6d,0x65,0x6e,0x74,0x73,0x00,0x00,0x00,0x00,0x00,0x00], Ok(("Documents", 0x80000001, 4))), - ("D3", &[0x02,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x04,0x64,0x65,0x65,0x70,0x00,0x00,0x00], Ok(("deep", 0x80000002, 4))), - ("D4", &[0x04,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x0a,0x6c,0x69,0x6e,0x6b,0x00,0x00,0x00], Ok(("link", 0x80000004, 10))), - ("D5", &[0x03,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x08,0x73,0x65,0x71,0x2e,0x74,0x78,0x74], Ok(("seq.txt", 0x80000003, 8))), - ("D6", &[0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x65,0x6d,0x70,0x74,0x79,0x00,0x00], Ok(("empty", 0x1000, 4))), - ("D7", &[0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67], Ok(("abcdefg", 0x7, 8))), - ("D8", &[0x0b,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x00,0x00,0x00,0x00,0x00,0x00], Ok(("a", 0xb, 8))), - ("D9", &[0x0c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f], Ok(("abcdefghijklmno", 0xc, 8))), - ("D10", &[0x0d,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Ok(("abcdefgh", 0xd, 8))), - ("D11", &[0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Ok(("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqr", 0xe, 8))), - ("D12", &[0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's name is empty or past BCH_NAME_MAX")), - ("D13", &[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent is shorter than its header")), - ("D14", &[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent is shorter than its header")), - ("D15", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's name is empty or past BCH_NAME_MAX")), - ("D16", &[0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's last word is all padding")), - ("D17", &[0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's last word is all padding")), - ("D18", &[0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's last word is all padding")), - ("D19", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x88,0x78,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent is casefolded")), - ("D20", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x73,0x75,0x62,0x00,0x00,0x00,0x00], Err("dirent points at a subvolume")), - ("D21", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x2f,0x62,0x00,0x00,0x00,0x00], Err("dirent's name holds a separator or a NUL")), - ("D22", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x00,0x62,0x00,0x00,0x00,0x00], Err("dirent's name holds a separator or a NUL")), - ("D23", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xff,0xfe,0x00,0x00,0x00,0x00,0x00], Err("dirent's name is not valid UTF-8")), - ("D24", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x68,0x78,0x00,0x00,0x00,0x00,0x00,0x00], Ok(("x", 0x3, 8))), - ("D25", &[0x15,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xc3,0xa9,0x00,0x00,0x00,0x00,0x00], Ok(("é", 0x15, 8))), - ("D26", &[0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x61,0x62,0x63,0x64,0x65,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent's last word is all padding")), - ("D27", &[0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x78,0x00,0x00,0x00,0x00,0x00,0x00], Err("dirent is casefolded")), -]; diff --git a/lib/bcachefs/src/upstream/fs.rs b/lib/bcachefs/src/upstream/fs.rs deleted file mode 100644 index beaa6aaaa5e..00000000000 --- a/lib/bcachefs/src/upstream/fs.rs +++ /dev/null @@ -1,710 +0,0 @@ -//! What a file is: the inode, dirent and extent values, and the read-only -//! volume API over them. - -use alloc::string::String; -use alloc::vec; -use alloc::vec::Vec; - -use crate::block_io::{BlockBuf, BlockIO, BlockNum, BLOCK_SIZE}; - -use super::bkey::{ - Bpos, Key, TYPE_DIRENT, TYPE_ERROR, TYPE_EXTENT, TYPE_INLINE_DATA, TYPE_INODE_V3, - TYPE_RESERVATION, TYPE_SUBVOLUME, -}; -use super::btree::{Btree, BTREE_DIRENTS, BTREE_EXTENTS, BTREE_INODES, BTREE_SUBVOLUMES}; -use super::csum::CsumType; -use super::raw::{bits, Raw}; -use super::sb::{Superblock, EXTENT_TYPES_MAX, SECTOR}; -use super::UpstreamError; - -/// `BCACHEFS_ROOT_SUBVOL` and `BCACHEFS_ROOT_INO`. -const ROOT_SUBVOL: u64 = 1; -const ROOT_INO: u64 = 4096; -/// The snapshot id a new volume gives the root subvolume and every key under -/// it, and the only one this reader serves a key from. -const NO_SNAPSHOT: u32 = u32::MAX; -/// `BCH_NAME_MAX`. -pub const NAME_MAX: usize = 512; -/// `INODEv3_FIELDS_START_CUR`: `bch_inode_v3`'s fixed part, in u64s. -const INODE_FIELDS_START_CUR: u64 = 6; -const INODE_FIELDS_AT: usize = 48; - -/// The `d_type` values a dirent carries, which are the POSIX ones plus -/// `DT_SUBVOL`. -const DT_DIR: u8 = 4; -const DT_REG: u8 = 8; -const DT_LNK: u8 = 10; -const DT_SUBVOL: u8 = 16; -/// `offsetof(struct bch_dirent, d_name)`. -const DIRENT_NAME_AT: usize = 9; - -/// What a directory entry says a name is. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum FileKind { - Dir, - Regular, - Symlink, - /// A type this reader does not open: a device node, a fifo, a subvolume. - Other(u8), -} - -impl FileKind { - fn from_dirent(d_type: u8) -> Self { - match d_type { - DT_DIR => Self::Dir, - DT_REG => Self::Regular, - DT_LNK => Self::Symlink, - other => Self::Other(other), - } - } - - fn from_mode(mode: u16) -> Self { - match mode & 0o170_000 { - 0o040_000 => Self::Dir, - 0o100_000 => Self::Regular, - 0o120_000 => Self::Symlink, - _ => Self::Other((mode >> 12) as u8), - } - } -} - -/// An inode's fixed fields. The varint tail is not decoded: nothing the read -/// path answers needs a field past `bi_size`, and a varint parsed for nobody -/// is a bound nobody checks. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct Attrs { - pub inum: u64, - pub size: u64, - pub sectors: u64, - pub mode: u16, - pub kind: FileKind, -} - -/// A bcachefs volume, opened read-only. -pub struct Volume { - io: IO, - sb: Superblock, - root: u64, - entry_u64s: [u8; EXTENT_TYPES_MAX], - /// The largest byte offset any file on this volume can have data at. - device_bytes: u64, -} - -impl Volume { - /// Open a volume: validate the superblock, then take the root subvolume's - /// root inode. - /// - /// **Snapshots are refused here rather than filtered later.** Every key a - /// volume with none carries sits at one snapshot id; serving a file means - /// deciding which of several versions of a key is visible, and this reader - /// does not make that decision, so a root subvolume at any other id is - /// refused by name. - pub fn open(io: IO) -> Result { - let sb = super::sb::read(&io)?; - let entry_u64s = sb.extent_entry_u64s()?; - let root = { - let subvols = Btree::open(&io, &sb, BTREE_SUBVOLUMES)?; - let (val, key) = subvols - .get(Bpos::new(0, ROOT_SUBVOL, 0))? - .ok_or(UpstreamError::Refused("volume has no root subvolume"))?; - if key.kind != TYPE_SUBVOLUME { - return Err(UpstreamError::Refused("root subvolume's key is not a subvolume")); - } - let raw = Raw::new(&val, "root subvolume's value ends early"); - if raw.u32(4)? != NO_SNAPSHOT { - return Err(UpstreamError::Refused("volume has snapshots")); - } - raw.u64(8)? - }; - if root != ROOT_INO { - return Err(UpstreamError::Refused("root subvolume does not name the root inode")); - } - let device_bytes = io - .block_count() - .checked_mul(BLOCK_SIZE as u64) - .ok_or(UpstreamError::Refused("device size in bytes overflows"))?; - Ok(Self { io, sb, root, entry_u64s, device_bytes }) - } - - pub fn superblock(&self) -> &Superblock { - &self.sb - } - - pub fn root(&self) -> u64 { - self.root - } - - /// The one snapshot every key on a volume without snapshots sits at. - fn pos(&self, inode: u64, offset: u64) -> Bpos { - Bpos::new(inode, offset, NO_SNAPSHOT) - } - - /// **A scanned range spans every snapshot id, so each key it hands back is - /// checked rather than assumed.** `Volume::open` refuses a volume whose - /// root subvolume is not at [`NO_SNAPSHOT`]; this is the same refusal for - /// a key that claims otherwise, so no version of a key is silently chosen. - fn one_snapshot(key: &Key) -> Result<(), UpstreamError> { - if key.pos.snapshot != NO_SNAPSHOT { - return Err(UpstreamError::Refused("volume holds a key at a snapshot other than its root subvolume's")); - } - Ok(()) - } - - /// The inode `inum`, or `None` when the btree holds no such key. - pub fn stat(&self, inum: u64) -> Result, UpstreamError> { - let inodes = Btree::open(&self.io, &self.sb, BTREE_INODES)?; - let Some((val, key)) = inodes.get(self.pos(0, inum))? else { - return Ok(None); - }; - if key.kind != TYPE_INODE_V3 { - return Err(UpstreamError::Refused("inode is a version this reader does not decode")); - } - let raw = Raw::new(&val, "inode's value ends early"); - let flags = raw.u64(16)?; - if bits(flags, 31, 36) != INODE_FIELDS_START_CUR { - return Err(UpstreamError::Refused("inode's fixed part is not the length this version defines")); - } - if val.len() < INODE_FIELDS_AT { - return Err(UpstreamError::Refused("inode is shorter than its fixed part")); - } - let mode = bits(flags, 36, 52) as u16; - Ok(Some(Attrs { - inum, - sectors: raw.u64(24)?, - size: raw.u64(32)?, - mode, - kind: FileKind::from_mode(mode), - })) - } - - /// Hand every entry of directory `dir` to `visit`, in the btree's order, - /// stopping early when it answers `false`. - /// - /// A directory's entries occupy one contiguous key range — the hash is the - /// key's offset — so this reads that range and nothing else. - pub fn readdir( - &self, - dir: u64, - visit: &mut dyn FnMut(&str, u64, FileKind) -> bool, - ) -> Result<(), UpstreamError> { - let dirents = Btree::open(&self.io, &self.sb, BTREE_DIRENTS)?; - let mut failure = None; - dirents.range(self.pos(dir, 0), self.pos(dir, u64::MAX), &mut |node, _, key| { - Self::one_snapshot(key)?; - if key.kind != TYPE_DIRENT { - return Err(UpstreamError::Refused("dirents btree holds a key that is not a dirent")); - } - let val = node.value(key)?; - let dirent = match Dirent::read(val.bytes()) { - Ok(dirent) => dirent, - Err(err) => { - failure = Some(err.into()); - return Ok(false); - } - }; - Ok(visit(dirent.name, dirent.inum, dirent.kind)) - })?; - match failure { - Some(err) => Err(err), - None => Ok(()), - } - } - - /// The entry `name` of directory `dir`. - pub fn lookup(&self, dir: u64, name: &str) -> Result, UpstreamError> { - if name.is_empty() || name.len() > NAME_MAX { - return Err(UpstreamError::Refused("a name of no length, or past BCH_NAME_MAX")); - } - let mut found = None; - self.readdir(dir, &mut |entry, inum, kind| { - if entry == name { - found = Some((inum, kind)); - return false; - } - true - })?; - Ok(found) - } - - /// Resolve an absolute path to an inode, following no symlink. - pub fn resolve(&self, path: &str) -> Result, UpstreamError> { - if !path.starts_with('/') { - return Err(UpstreamError::Refused("a path this reader resolves is absolute")); - } - let mut at = (self.root, FileKind::Dir); - for part in path.split('/').filter(|p| !p.is_empty() && *p != ".") { - if at.1 != FileKind::Dir { - return Ok(None); - } - match self.lookup(at.0, part)? { - Some(next) => at = next, - None => return Ok(None), - } - } - Ok(Some(at)) - } - - /// Read the whole of file `inum`, up to the size its inode declares. - /// - /// A range no extent covers is a hole and reads as zeros, which is what - /// makes the inode's size — not the extents — the length of the answer. - /// - /// **`bi_size` is a `u64` off the disk and it sizes this buffer**, which is - /// the allocator-sizing defect this crate's `alloc_probe` exists to catch. - /// The device is the bound: a file cannot be longer than the disk it is on, - /// whatever its inode says, so an inode claiming more is refused before a - /// byte of it is allocated. - pub fn read(&self, inum: u64) -> Result, UpstreamError> { - let attrs = self - .stat(inum)? - .ok_or(UpstreamError::Refused("a file whose inode the btree does not hold"))?; - if attrs.sectors > self.device_bytes / SECTOR as u64 { - return Err(UpstreamError::Refused("inode claims more sectors than the device has")); - } - let mut out = output_buffer(attrs.size, self.device_bytes)?; - - let extents = Btree::open(&self.io, &self.sb, BTREE_EXTENTS)?; - let mut failure = None; - extents.range(self.pos(inum, 0), self.pos(inum, u64::MAX), &mut |node, _, key| { - Self::one_snapshot(key)?; - let val = node.value(key)?; - if let Err(err) = self.place(key, &val, &mut out) { - failure = Some(err); - return Ok(false); - } - Ok(true) - })?; - match failure { - Some(err) => Err(err), - None => Ok(out), - } - } - - /// The target of symlink `inum`: its contents, which is where bcachefs - /// keeps it. - pub fn read_link(&self, inum: u64) -> Result { - let bytes = self.read(inum)?; - let end = bytes.iter().position(|&b| b == 0).unwrap_or(bytes.len()); - String::from_utf8(bytes[..end].to_vec()) - .map_err(|_| UpstreamError::Refused("symlink target is not valid UTF-8")) - } - - /// Copy one extent key's live bytes into `out` at the file offset it covers. - fn place(&self, key: &Key, val: &Raw<'_>, out: &mut [u8]) -> Result<(), UpstreamError> { - // A key's position is the *end* of what it covers, in sectors. - let end_sectors = key.pos.offset; - let start_sectors = end_sectors - .checked_sub(key.size as u64) - .ok_or(UpstreamError::Refused("extent ends before it starts"))?; - // A key's offset is a number the btree chose, and `1 << 60` sectors is - // inside the scanned range and outside a `u64` of bytes. - let at = start_sectors - .checked_mul(SECTOR as u64) - .ok_or(UpstreamError::Refused("extent starts past any byte offset"))?; - let at = usize::try_from(at).map_err(|_| TOO_LARGE)?; - if at >= out.len() { - return Ok(()); - } - let want = out.len() - at; - - match key.kind { - TYPE_INLINE_DATA => { - let take = want.min(val.bytes().len()); - out[at..at + take].copy_from_slice(&val.bytes()[..take]); - Ok(()) - } - // A reservation is allocated-but-unwritten and reads as zeros, - // which is what `out` already holds. - TYPE_RESERVATION => Ok(()), - TYPE_ERROR => Err(UpstreamError::Refused("file holds an extent marked unrecoverable")), - TYPE_EXTENT => { - let bytes = self.read_extent(key, val)?; - let take = want.min(bytes.len()); - out[at..at + take].copy_from_slice(&bytes[..take]); - Ok(()) - } - _ => Err(UpstreamError::Refused("extents btree holds a value type this reader does not read")), - } - } - - /// The live bytes of one `KEY_TYPE_extent`, checksum verified. - /// - /// The checksum covers the extent as it was *written*, so a trimmed extent - /// is read whole, verified, and then sliced — a checksum over the live part - /// alone would verify nothing, because nobody ever computed one. - fn read_extent(&self, key: &Key, val: &Raw<'_>) -> Result, UpstreamError> { - let (ptr, crc) = find_ptr(val, &self.entry_u64s)?; - self.read_ptr(&ptr, crc, key.size) - } - - fn read_ptr(&self, entry: &Raw<'_>, crc: Crc, live_sectors: u32) -> Result, UpstreamError> { - let word = entry.u64(0)?; - if bits(word, 1, 2) != 0 { - return Err(UpstreamError::Refused("extent's first pointer is a cache copy")); - } - if bits(word, 3, 4) != 0 { - return Err(UpstreamError::Refused("extent is unwritten")); - } - if bits(word, 48, 56) as u8 != self.sb.dev_idx() { - return Err(UpstreamError::Refused("extent points at a device this filesystem has not got")); - } - if crc.compression != 0 { - return Err(UpstreamError::Refused("extent is compressed")); - } - if crc.offset as u64 + live_sectors as u64 > crc.stored_sectors as u64 { - return Err(UpstreamError::Refused("extent's live range is not inside the extent")); - } - - let start = bits(word, 4, 48); - let whole = self.read_sectors(start, crc.stored_sectors)?; - if !crc.csum_type.verify(&whole, crc.csum) { - return Err(UpstreamError::Refused("extent's data does not match its checksum")); - } - let from = crc.offset as usize * SECTOR; - let len = live_sectors as usize * SECTOR; - Ok(whole[from..from + len].to_vec()) - } - - fn read_sectors(&self, start: u64, sectors: u32) -> Result, UpstreamError> { - let per_block = (BLOCK_SIZE / SECTOR) as u64; - if !start.is_multiple_of(per_block) || !(sectors as u64).is_multiple_of(per_block) { - return Err(UpstreamError::Refused("extent is not block aligned")); - } - let first = start / per_block; - let blocks = sectors as u64 / per_block; - if first.checked_add(blocks).is_none_or(|end| end > self.io.block_count()) { - return Err(UpstreamError::Refused("extent runs past the end of the device")); - } - let mut out = vec![0u8; blocks as usize * BLOCK_SIZE]; - let mut buf = BlockBuf::zeroed(); - for i in 0..blocks as usize { - let block = BlockNum::new(first + i as u64); - self.io.read_block(block, &mut buf).map_err(|e| UpstreamError::Device(block, e))?; - out[i * BLOCK_SIZE..(i + 1) * BLOCK_SIZE].copy_from_slice(buf.as_bytes()); - } - Ok(out) - } -} - -const TOO_LARGE: UpstreamError = - UpstreamError::Refused("file is larger than this machine can address"); - -const ENTRY_PTR: u32 = 0; -const ENTRY_CRC32: u32 = 1; -const ENTRY_CRC64: u32 = 2; -const ENTRY_CRC128: u32 = 3; -const ENTRY_STRIPE_PTR: u32 = 4; - -/// The buffer a file's contents are read into, sized by its inode. -/// -/// **The bound and the allocation are one function** so nothing can size a -/// `Vec` from `bi_size` without passing the device it is on: a file cannot be -/// longer than the disk holding it, whatever its inode claims. -fn output_buffer(size: u64, device_bytes: u64) -> Result, UpstreamError> { - if size > device_bytes { - return Err(UpstreamError::Refused("inode claims a file longer than the device it is on")); - } - Ok(vec![0u8; usize::try_from(size).map_err(|_| TOO_LARGE)?]) -} - -/// Walk an extent's interleaved entries to its first device pointer, carrying -/// whatever checksum entry preceded it. -/// -/// **Each entry's length comes from the volume's own table, and one word of -/// error here is arbitrary device blocks served as file contents.** An entry -/// can precede the checksum and the pointer: a `flags` entry is written first -/// in the value, so a value is `[flags, crc32, ptr]` and a walk that oversizes -/// the first entry lands somewhere other than the pointer. -fn find_ptr<'a>( - val: &Raw<'a>, - sizes: &[u8; EXTENT_TYPES_MAX], -) -> Result<(Raw<'a>, Crc), UpstreamError> { - let mut crc: Option = None; - let mut at = 0usize; - while at < val.bytes().len() { - let word = val.u64(at)?; - if word == 0 { - return Err(UpstreamError::Refused("extent holds an entry of no type")); - } - let kind = word.trailing_zeros(); - let u64s = entry_u64s(sizes, kind)?; - let entry = val.sub(at, u64s * 8, "extent entry runs past its value")?; - match kind { - // **A bset with no checksum is refused, so an extent with none is - // too.** A pointer with no crc entry before it is data nobody - // computed a checksum over, on a volume whose superblock says it - // checksums its data — which `check_supported` has already required. - ENTRY_PTR => { - return match crc { - Some(crc) => Ok((entry, crc)), - None => Err(UpstreamError::Refused("extent carries no checksum entry")), - } - } - ENTRY_CRC32 => crc = Some(Crc::crc32(&entry)?), - ENTRY_CRC64 => crc = Some(Crc::crc64(&entry)?), - ENTRY_CRC128 => { - return Err(UpstreamError::Refused("extent carries a 128-bit checksum, which is encryption")) - } - ENTRY_STRIPE_PTR => { - return Err(UpstreamError::Refused("extent points into an erasure-coded stripe")) - } - // Rebalance, flags and reconcile entries say nothing about where - // the bytes are; their length is the whole of what matters. - _ => {} - } - at += u64s * 8; - } - Err(UpstreamError::Refused("extent has no device pointer")) -} - -/// How far the next entry of an extent's value is, from the table the volume's -/// own superblock states. A type it sizes at zero is one nothing can step over. -fn entry_u64s(sizes: &[u8; EXTENT_TYPES_MAX], kind: u32) -> Result { - match sizes.get(kind as usize).copied() { - Some(0) | None => { - Err(UpstreamError::Refused("extent holds an entry type this volume gives no size for")) - } - Some(u64s) => Ok(u64s as usize), - } -} - -/// The checksum and geometry one `bch_extent_crc*` entry states about the -/// pointers that follow it. -#[derive(Clone, Copy)] -struct Crc { - /// Sectors as written, which is what the checksum covers. - stored_sectors: u32, - /// Sectors into the written extent where the live data starts. - offset: u32, - compression: u64, - csum_type: CsumType, - csum: (u64, u64), -} - -impl Crc { - /// A checksum entry that states no checksum verifies everything, so it is - /// refused where a bset's `none` is. - fn checked(self) -> Result { - if self.csum_type == CsumType::None { - return Err(UpstreamError::Refused("extent's checksum entry names no checksum")); - } - Ok(self) - } - - /// `bch_extent_crc32`; its sizes are stored biased by one. - fn crc32(entry: &Raw<'_>) -> Result { - let w = entry.u32(0)? as u64; - Self { - stored_sectors: bits(w, 9, 16) as u32 + 1, - offset: bits(w, 16, 23) as u32, - compression: bits(w, 28, 32), - csum_type: CsumType::from_disk(bits(w, 24, 28))?, - csum: (entry.u32(4)? as u64, 0), - } - .checked() - } - - /// `bch_extent_crc64`; its 64-bit checksum is split across two fields. - fn crc64(entry: &Raw<'_>) -> Result { - let w = entry.u64(0)?; - Self { - stored_sectors: bits(w, 12, 21) as u32 + 1, - offset: bits(w, 21, 30) as u32, - compression: bits(w, 44, 48), - csum_type: CsumType::from_disk(bits(w, 40, 44))?, - csum: (entry.u64(8)? | (bits(w, 48, 64) << 48), 0), - } - .checked() - } -} - -/// Each way a `bch_dirent` value is refused. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -enum DirentError { - /// Not whole words, or no room for `d_inum`, `d_type` and a name byte. - Short, - /// `d_casefold`: the bytes after `d_type` are laid out differently. - Casefolded, - Subvolume, - /// Empty, or longer than `BCH_NAME_MAX`. - NameLength, - SeparatorOrNul, - NotUtf8, - /// The last word is all NUL: no writer pads a name by a whole word. - PaddingWord, -} - -impl From for UpstreamError { - fn from(err: DirentError) -> Self { - UpstreamError::Refused(match err { - DirentError::Short => "dirent is shorter than its header", - DirentError::Casefolded => "dirent is casefolded", - DirentError::Subvolume => "dirent points at a subvolume", - DirentError::NameLength => "dirent's name is empty or past BCH_NAME_MAX", - DirentError::SeparatorOrNul => "dirent's name holds a separator or a NUL", - DirentError::NotUtf8 => "dirent's name is not valid UTF-8", - DirentError::PaddingWord => "dirent's last word is all padding", - }) - } -} - -/// One directory entry, borrowed from its value. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -struct Dirent<'a> { - name: &'a str, - inum: u64, - kind: FileKind, -} - -const D_TYPE_MASK: u8 = 0x1F; -const D_CASEFOLD: u8 = 0x80; - -impl<'a> Dirent<'a> { - /// Decode a `bch_dirent` value. - /// - /// The name's length is not stored: a writer pads the name with 0 to 7 - /// NULs to a whole word, so the name is what lies between `d_name` and the - /// NULs that end the last word. A NUL before that word is not padding. - /// A last word of nothing but NULs is refused: no writer pads by a whole - /// word, so such a value is not one a writer made. - fn read(val: &'a [u8]) -> Result { - let (Some((&inum, &[type_byte, _, ..])), true) = - (val.split_first_chunk::<8>(), val.len().is_multiple_of(8)) - else { - return Err(DirentError::Short); - }; - if type_byte & D_CASEFOLD != 0 { - return Err(DirentError::Casefolded); - } - let d_type = type_byte & D_TYPE_MASK; - if d_type == DT_SUBVOL { - return Err(DirentError::Subvolume); - } - - let padding = val.iter().rev().take(8).take_while(|&&byte| byte == 0).count(); - if padding == 8 { - return Err(DirentError::PaddingWord); - } - // At most 7 off a value of at least 16 bytes, so `d_name` is inside it. - let name = &val[DIRENT_NAME_AT..val.len() - padding]; - if name.is_empty() || name.len() > NAME_MAX { - return Err(DirentError::NameLength); - } - if name.iter().any(|&byte| byte == b'/' || byte == 0) { - return Err(DirentError::SeparatorOrNul); - } - let name = core::str::from_utf8(name).map_err(|_| DirentError::NotUtf8)?; - Ok(Self { name, inum: u64::from_le_bytes(inum), kind: FileKind::from_dirent(d_type) }) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - fn decode(bytes: &[u8]) -> Result<(&str, u64, FileKind), UpstreamError> { - Dirent::read(bytes).map(|dirent| (dirent.name, dirent.inum, dirent.kind)).map_err(UpstreamError::from) - } - - mod vectors { - /// `(name, d_inum, d_type)`, or the refusal. - type Decoded = Result<(&'static str, u64, u8), &'static str>; - include!("dirent_vectors.rs"); - } - - /// Every dirent vector, names that fill their words and names padded by - /// one to seven NULs, and each refusal in the order it is checked. - #[test] - fn dirent_vectors() { - for &(id, bytes, want) in vectors::DIRENT_CASES { - let want = want - .map(|(name, inum, d_type)| (name, inum, FileKind::from_dirent(d_type))) - .map_err(UpstreamError::Refused); - assert_eq!(decode(bytes), want, "{id}"); - } - } - - /// A `bch_extent_crc32`'s sizes are stored biased by one, so a reader that - /// forgets the bias reads one sector short of every extent. - #[test] - fn a_crc_entry_states_the_extent_it_covers() { - // csum_type crc32c, compression none, uncompressed 80 sectors, - // compressed 80, offset 0 — the second extent of the fixture's seq.txt. - let word: u32 = 0b10 | (79 << 2) | (79 << 9) | (5 << 24); - let mut entry = word.to_le_bytes().to_vec(); - entry.extend_from_slice(&0xc522_c42fu32.to_le_bytes()); - let crc = Crc::crc32(&Raw::new(&entry, "crc32")).expect("a crc32 entry"); - assert_eq!(crc.stored_sectors, 80); - assert_eq!(crc.offset, 0); - assert_eq!(crc.compression, 0); - assert_eq!(crc.csum_type, CsumType::Crc32c); - assert_eq!(crc.csum, (0xc522_c42f, 0)); - } - - /// An inode claiming 256 TiB is refused having asked the allocator for - /// nothing like it. - #[test] - fn a_file_longer_than_its_device_is_refused_without_allocating_it() { - let device = 1u64 << 20; - let _ = crate::alloc_probe::take_peak(); - let refused = output_buffer(1 << 48, device); - let peak = crate::alloc_probe::take_peak(); - assert_eq!( - refused.err(), - Some(UpstreamError::Refused("inode claims a file longer than the device it is on")) - ); - assert!(peak < 1 << 16, "refusing a 256 TiB file asked the allocator for {peak} bytes"); - - assert_eq!(output_buffer(0, device).map(|b| b.len()), Ok(0)); - assert_eq!(output_buffer(device, device).map(|b| b.len()), Ok(device as usize)); - assert!(output_buffer(device + 1, device).is_err()); - } - - /// The sizes `sizeof` gives at the pinned commit, and the refusal for a - /// type the volume gives no size for. - #[test] - fn an_entry_this_volume_cannot_size_is_refused() { - let sizes = super::super::sb::EXTENT_ENTRY_U64S_KNOWN_FOR_TESTS; - for (kind, want) in [(0u32, 1usize), (1, 1), (2, 2), (3, 3), (4, 1), (5, 1), (6, 1), (7, 1), (8, 1)] { - assert_eq!(entry_u64s(&sizes, kind), Ok(want), "entry type {kind}"); - } - assert!(entry_u64s(&sizes, 9).is_err(), "a type the table sizes at zero must be refused"); - assert!(entry_u64s(&sizes, 99).is_err(), "a type past the table must be refused"); - } - - /// An entry ahead of the checksum and the pointer, sized right and sized - /// one word out. - /// - /// A `flags` entry is written first in an extent's value, so - /// `[flags, crc32, ptr]` is a value a volume holds; one word of size error - /// on it puts the walk on the checksum entry and the pointer out of reach. - #[test] - fn an_entry_before_the_checksum_does_not_move_the_pointer() { - // The type field's width is the type: `flags` is 7 bits, so 1 << 6. - let flags: u64 = 1 << 6; - let crc32_lo: u32 = 0b10 | (79 << 2) | (79 << 9) | (5 << 24); - let ptr: u64 = 1 | (0xE000u64 << 4); - - let mut value = flags.to_le_bytes().to_vec(); - value.extend_from_slice(&crc32_lo.to_le_bytes()); - value.extend_from_slice(&0xc522_c42fu32.to_le_bytes()); - value.extend_from_slice(&ptr.to_le_bytes()); - let val = Raw::new(&value, "extent"); - - let right = super::super::sb::EXTENT_ENTRY_U64S_KNOWN_FOR_TESTS; - let (entry, crc) = find_ptr(&val, &right).expect("the pointer"); - assert_eq!(entry.u64(0), Ok(ptr), "the walk did not land on the pointer"); - assert_eq!(crc.stored_sectors, 80, "the checksum entry was skipped"); - assert_eq!(crc.csum, (0xc522_c42f, 0)); - - // One word out: the walk steps over the checksum entry and reads the - // pointer with no checksum to verify it against. - let mut wrong = right; - wrong[6] = 2; - assert_eq!( - find_ptr(&val, &wrong).err(), - Some(UpstreamError::Refused("extent carries no checksum entry")), - "a `flags` entry sized one word out still produced a checksummed pointer" - ); - } -} diff --git a/lib/bcachefs/src/upstream/mod.rs b/lib/bcachefs/src/upstream/mod.rs deleted file mode 100644 index f6def9b5709..00000000000 --- a/lib/bcachefs/src/upstream/mod.rs +++ /dev/null @@ -1,37 +0,0 @@ -//! The upstream bcachefs on-disk format, read side. -//! -//! Format source: `fs/bcachefs_format.h` and the `*_format.h` beside it in -//! at commit -//! `d997ad76e906ca9cbe1d4045d3880185e504191d` (tag v1.39.4), whose -//! `bcachefs_metadata_version_current` is `per_dev_fragmentation_lru`, -//! `BCH_VERSION(1, 39)` = 1063 — the version `bcachefs format` writes. -//! -//! **Every number here came off a disk this crate does not own, and a checksum -//! is not authentication — whoever writes the image writes the checksum.** A -//! bound is applied where bytes become typed data and nowhere else, and each -//! refusal names what it refused: [`UpstreamError::Refused`] carries a -//! sentence, never a number a caller has to interpret. Nothing in this module -//! reinterprets disk bytes as a Rust type; every field is read out of a slice -//! at an offset this module states, because the format is packed and a -//! `repr(C)` view of it would be both unaligned and unchecked. -//! -//! This is the read half. It has no allocator, no journal writer and no -//! mutation, so a consumer that links it cannot change a disk. - -pub mod btree; -pub mod csum; -pub mod bkey; -pub mod raw; -pub mod fs; -pub mod node; -pub mod sb; - -/// What a refusal is: a sentence naming the field or feature, so a log line -/// says which byte on which disk stopped the mount. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum UpstreamError { - /// The image says something this reader will not act on. - Refused(&'static str), - /// The device would not answer for the block the reader asked for. - Device(crate::BlockNum, crate::DeviceError), -} diff --git a/lib/bcachefs/src/upstream/node.rs b/lib/bcachefs/src/upstream/node.rs deleted file mode 100644 index 74cb22f384e..00000000000 --- a/lib/bcachefs/src/upstream/node.rs +++ /dev/null @@ -1,500 +0,0 @@ -//! Btree nodes: a node is a log of checksummed bsets, and reading one means -//! validating each in turn and merging what they say. - -use alloc::vec; -use alloc::vec::Vec; - -use crate::block_io::{BlockBuf, BlockIO, BlockNum, BLOCK_SIZE}; - -use super::bkey::{Bpos, BkeyFormat, Key, BPOS_BYTES, FORMAT_BYTES}; -use super::csum::CsumType; -use super::raw::{bits, Raw}; -use super::sb::{Superblock, BSET_MAGIC, SECTOR}; -use super::UpstreamError; - -/// `BTREE_MAX_DEPTH`, and therefore the deepest descent this reader will make. -pub const MAX_DEPTH: u8 = 4; - -const NODE_MAGIC: usize = 16; -const NODE_FLAGS: usize = 24; -const NODE_MIN_KEY: usize = 32; -const NODE_MAX_KEY: usize = NODE_MIN_KEY + BPOS_BYTES; -/// After `max_key` comes the unused `_ptr`, then the format. -const NODE_FORMAT: usize = NODE_MAX_KEY + BPOS_BYTES + 8; -const NODE_BSET: usize = NODE_FORMAT + FORMAT_BYTES; -/// `offsetof(struct btree_node_entry, keys)`. -const ENTRY_BSET: usize = 16; - -const BSET_SEQ: usize = 0; -const BSET_FLAGS: usize = 16; -const BSET_U64S: usize = 22; -const BSET_KEYS: usize = 24; - -/// A pointer at a btree node: `bch_btree_ptr_v2`, the only kind a volume at -/// this metadata version writes. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct BtreePtr { - pub seq: u64, - /// Sectors of the node actually written, or zero meaning "the whole node". - pub sectors_written: u16, - pub min_key: Bpos, - /// Where the node is, in 512-byte sectors from the start of the device. - pub sector: u64, - pub dev: u8, -} - -impl BtreePtr { - /// Decode the value of a `KEY_TYPE_btree_ptr_v2` key. - pub fn read(val: &Raw<'_>) -> Result { - let seq = val.u64(8)?; - let sectors_written = val.u16(16)?; - let min_key = Bpos::read(val, 20)?; - // The first entry is this reader's pointer; a replica list it does not - // implement is refused where replicas are, in the superblock. - let entry = val.u64(40)?; - if entry & 1 == 0 { - return Err(UpstreamError::Refused("btree pointer's first entry is not a device pointer")); - } - Ok(Self { - seq, - sectors_written, - min_key, - sector: bits(entry, 4, 48), - dev: bits(entry, 48, 56) as u8, - }) - } -} - -/// One validated bset's keys, as a byte range inside the node. -struct Bset { - at: usize, - bytes: usize, -} - -/// A btree node this reader has checked: every bset's checksum matched, and -/// every key in it fits the node. -pub struct Node { - bytes: Vec, - pub format: BkeyFormat, - pub level: u8, - pub btree_id: u32, - pub min_key: Bpos, - pub max_key: Bpos, - bsets: Vec, -} - -impl Node { - /// Read the node `ptr` names and validate it against what the caller - /// expects to find there. - /// - /// `seq`, `btree_id` and `level` are checked against the pointer rather - /// than trusted from the node, because a node the allocator has since - /// reused is otherwise a well-formed node of the wrong tree. - pub fn read( - io: &dyn BlockIO, - sb: &Superblock, - ptr: &BtreePtr, - btree_id: u32, - level: u8, - ) -> Result { - if ptr.dev != sb.dev_idx() { - return Err(UpstreamError::Refused("btree pointer names a device this filesystem has not got")); - } - let node_bytes = sb.btree_node_size(); - let byte_off = ptr - .sector - .checked_mul(SECTOR as u64) - .ok_or(UpstreamError::Refused("btree node offset in bytes overflows"))?; - if byte_off % BLOCK_SIZE as u64 != 0 { - return Err(UpstreamError::Refused("btree node is not block aligned")); - } - let first_block = byte_off / BLOCK_SIZE as u64; - let blocks = node_bytes / BLOCK_SIZE as u64; - if first_block.checked_add(blocks).is_none_or(|end| end > io.block_count()) { - return Err(UpstreamError::Refused("btree node runs past the end of the device")); - } - - let mut bytes = vec![0u8; node_bytes as usize]; - let mut buf = BlockBuf::zeroed(); - for i in 0..blocks as usize { - let block = BlockNum::new(first_block + i as u64); - io.read_block(block, &mut buf).map_err(|e| UpstreamError::Device(block, e))?; - bytes[i * BLOCK_SIZE..(i + 1) * BLOCK_SIZE].copy_from_slice(buf.as_bytes()); - } - - Self::parse(bytes, sb, ptr, btree_id, level) - } - - fn parse( - bytes: Vec, - sb: &Superblock, - ptr: &BtreePtr, - btree_id: u32, - level: u8, - ) -> Result { - let node = Raw::new(&bytes, "btree node ends early"); - let uuid_lo = u64::from_le_bytes(sb.uuid()[..8].try_into().expect("eight uuid bytes")); - if node.u64(NODE_MAGIC)? != uuid_lo ^ BSET_MAGIC { - return Err(UpstreamError::Refused("btree node's magic is not this filesystem's")); - } - let flags = node.u64(NODE_FLAGS)?; - let node_id = bits(flags, 0, 4) | (bits(flags, 9, 25) << 4); - if node_id != btree_id as u64 { - return Err(UpstreamError::Refused("btree node belongs to a different btree")); - } - if bits(flags, 4, 8) != level as u64 { - return Err(UpstreamError::Refused("btree node is at a different level than its pointer")); - } - let min_key = Bpos::read(&node, NODE_MIN_KEY)?; - let max_key = Bpos::read(&node, NODE_MAX_KEY)?; - if min_key > max_key { - return Err(UpstreamError::Refused("btree node's key range runs backwards")); - } - // A node's own low bound is held against its parent's: a node that - // starts below where its pointer says covers keys the parent gave to - // its sibling. Upstream instead *overwrites* - // `min_key` where the pointer sets `BTREE_PTR_RANGE_UPDATED`, so a - // volume that has been through topology repair is refused here. - if min_key != ptr.min_key { - return Err(UpstreamError::Refused("btree node's first key is not the one its pointer names")); - } - let format = BkeyFormat::read(&node, NODE_FORMAT)?; - - let node_sectors = bytes.len() / SECTOR; - let limit = match ptr.sectors_written { - 0 => node_sectors, - n => (n as usize).min(node_sectors), - }; - let first_seq = node.u64(NODE_BSET + BSET_SEQ)?; - if first_seq != ptr.seq { - return Err(UpstreamError::Refused("btree node's sequence number is not its pointer's")); - } - - let mut bsets = Vec::new(); - let mut written = 0usize; - while written < limit { - let (head, bset_at, data_at) = if written == 0 { - (0, NODE_BSET, NODE_BSET + BSET_KEYS) - } else { - let head = written * SECTOR; - (head, head + ENTRY_BSET, head + ENTRY_BSET + BSET_KEYS) - }; - let bset = node.sub(bset_at, BSET_KEYS, "btree node ends before a bset header")?; - if written != 0 && bset.u64(BSET_SEQ)? != first_seq { - break; - } - let bset_flags = bset.u32(BSET_FLAGS)? as u64; - if bits(bset_flags, 4, 5) != 0 { - return Err(UpstreamError::Refused("bset was written big-endian")); - } - if written != 0 && bits(bset_flags, 16, 32) != written as u64 { - return Err(UpstreamError::Refused("bset does not sit where it says it does")); - } - let csum_type = CsumType::from_disk(bits(bset_flags, 0, 4))?; - if csum_type == CsumType::None { - return Err(UpstreamError::Refused("bset carries no checksum")); - } - - let key_bytes = (bset.u16(BSET_U64S)? as usize) - .checked_mul(8) - .ok_or(UpstreamError::Refused("bset's key length overflows"))?; - let end = data_at - .checked_add(key_bytes) - .ok_or(UpstreamError::Refused("bset ends past any address"))?; - if end > bytes.len() { - return Err(UpstreamError::Refused("bset runs past the end of its btree node")); - } - let stored = (node.u64(head)?, node.u64(head + 8)?); - if !csum_type.verify(&bytes[head + 16..end], stored) { - return Err(UpstreamError::Refused("bset checksum does not match its bytes")); - } - - bsets.push(Bset { at: data_at, bytes: key_bytes }); - let sectors = (end - head).div_ceil(BLOCK_SIZE) * (BLOCK_SIZE / SECTOR); - if sectors == 0 { - return Err(UpstreamError::Refused("bset occupies no sectors")); - } - written += sectors; - } - - if bsets.is_empty() { - return Err(UpstreamError::Refused("btree node holds no bset at all")); - } - Ok(Self { bytes, format, level, btree_id, min_key, max_key, bsets }) - } - - /// Every key the node holds, newest bset last. - /// - /// The caller merges: a key in a later bset overrides one at the same - /// position in an earlier one, which is what makes a node a log. - pub fn keys(&self) -> Result, UpstreamError> { - let mut out = Vec::new(); - for (generation, bset) in self.bsets.iter().enumerate() { - let mut at = bset.at; - let end = bset.at + bset.bytes; - while at < end { - let window = Raw::new(&self.bytes[at..end], "key runs past the end of its bset"); - let key = Key::read(&window, &self.format)?; - if key.u64s == 0 { - return Err(UpstreamError::Refused("bset holds a key of no length")); - } - // The node's declared range is what the descent placed it by, - // so a key outside it belongs to a sibling that will never be - // asked for it. - if key.pos < self.min_key || key.pos > self.max_key { - return Err(UpstreamError::Refused("btree node holds a key outside the range it declares")); - } - out.push((generation, key.with_base(at))); - at += key.u64s as usize * 8; - } - } - Ok(out) - } - - /// The bytes of a key's value, given the key [`Node::keys`] handed back. - pub fn value(&self, key: &Key) -> Result, UpstreamError> { - let at = key.base + key.val_at; - let len = key.val_bytes(); - Raw::new(&self.bytes, "key's value runs past its node").sub(at, len, "key's value runs past its node") - } -} - -/// `BCH_JSET_ENTRY_btree_root`. -const JSET_ENTRY_BTREE_ROOT: u8 = 1; -const JSET_ENTRY_HEADER: usize = 8; - -/// The btree roots a cleanly-unmounted filesystem is opened from. -/// -/// A volume whose journal still holds updates has no business being read by -/// this half of the crate: replay is a write, so a dirty volume is refused in -/// [`Superblock::clean`] rather than replayed here. -pub fn clean_roots(sb: &Superblock) -> Result, UpstreamError> { - if !sb.is_clean() { - return Err(UpstreamError::Refused("volume was not unmounted cleanly: it needs journal replay")); - } - let entries = sb.clean()?; - let format = BkeyFormat::unpacked(); - let mut roots = Vec::new(); - let mut at = 0usize; - - while at + JSET_ENTRY_HEADER <= entries.bytes().len() { - let u64s = entries.u16(at)? as usize; - let btree_id = entries.u8(at + 2)? as u32; - let level = entries.u8(at + 3)?; - let kind = entries.u8(at + 4)?; - let bytes = JSET_ENTRY_HEADER - .checked_add(u64s.checked_mul(8).ok_or(SHORT_ENTRY)?) - .ok_or(SHORT_ENTRY)?; - if at + bytes > entries.bytes().len() { - return Err(SHORT_ENTRY); - } - if kind == JSET_ENTRY_BTREE_ROOT && u64s != 0 { - if level >= MAX_DEPTH { - return Err(UpstreamError::Refused("btree root is deeper than the format allows")); - } - let payload = entries.sub(at + JSET_ENTRY_HEADER, u64s * 8, "btree root ends early")?; - let key = Key::read(&payload, &format)?; - if key.kind == super::bkey::TYPE_BTREE_PTR_V2 { - let val = payload.sub(key.val_at, key.val_bytes(), "btree root's value ends early")?; - roots.push((btree_id, level, BtreePtr::read(&val)?)); - } - } - if bytes == 0 { - return Err(SHORT_ENTRY); - } - at += bytes; - } - Ok(roots) -} - -const SHORT_ENTRY: UpstreamError = - UpstreamError::Refused("clean section's entry list ends inside an entry"); - -#[cfg(all(test, feature = "std"))] -mod tests { - use super::*; - use crate::upstream::bkey::{BKEY_U64S, KEY_FORMAT_CURRENT, TYPE_DIRENT}; - use crate::upstream::sb::fixture; - - const NODE_SECTORS: usize = 512; - const BTREE: u32 = 2; - const SEQ: u64 = 0x0123_4567_89ab_cdef; - - fn superblock() -> Superblock { - super::super::sb::read(&fixture::device(&fixture::valid())).expect("the crafted superblock") - } - - /// One unpacked key with an eight-byte value, as a bset holds it. - fn key(offset: u64) -> Vec { - let mut out = vec![0u8; BKEY_U64S * 8 + 8]; - out[0] = BKEY_U64S as u8 + 1; - out[1] = KEY_FORMAT_CURRENT; - out[2] = TYPE_DIRENT; - out[20..24].copy_from_slice(&0u32.to_le_bytes()); - out[24..32].copy_from_slice(&offset.to_le_bytes()); - out[32..40].copy_from_slice(&4096u64.to_le_bytes()); - out - } - - /// A node with one bset holding `offsets.len()` keys, checksummed as - /// upstream checksums the first bset of a node. - fn node(sb: &Superblock, offsets: &[u64]) -> Vec { - let mut bytes = vec![0u8; NODE_SECTORS * SECTOR]; - let uuid_lo = u64::from_le_bytes(sb.uuid()[..8].try_into().unwrap()); - bytes[NODE_MAGIC..NODE_MAGIC + 8].copy_from_slice(&(uuid_lo ^ BSET_MAGIC).to_le_bytes()); - let flags = ((BTREE as u64) & 0xF) | (((BTREE as u64) >> 4) << 9); - bytes[NODE_FLAGS..NODE_FLAGS + 8].copy_from_slice(&flags.to_le_bytes()); - // max_key is SPOS_MAX, so the node's range holds every key below. - bytes[NODE_MAX_KEY..NODE_MAX_KEY + 4].copy_from_slice(&u32::MAX.to_le_bytes()); - bytes[NODE_MAX_KEY + 4..NODE_MAX_KEY + 12].copy_from_slice(&u64::MAX.to_le_bytes()); - bytes[NODE_MAX_KEY + 12..NODE_MAX_KEY + 20].copy_from_slice(&u64::MAX.to_le_bytes()); - // The identity key format, so a key can be written unpacked. - bytes[NODE_FORMAT] = BKEY_U64S as u8; - bytes[NODE_FORMAT + 1] = 6; - bytes[NODE_FORMAT + 2..NODE_FORMAT + 8].copy_from_slice(&[64, 64, 32, 32, 32, 64]); - - let mut keys = Vec::new(); - for offset in offsets { - keys.extend_from_slice(&key(*offset)); - } - bytes[NODE_BSET + BSET_SEQ..NODE_BSET + BSET_SEQ + 8].copy_from_slice(&SEQ.to_le_bytes()); - // Checksum type crc32c, which is what `bcachefs format` writes. - bytes[NODE_BSET + BSET_FLAGS..NODE_BSET + BSET_FLAGS + 4].copy_from_slice(&5u32.to_le_bytes()); - let u64s = (keys.len() / 8) as u16; - bytes[NODE_BSET + BSET_U64S..NODE_BSET + BSET_U64S + 2].copy_from_slice(&u64s.to_le_bytes()); - let at = NODE_BSET + BSET_KEYS; - bytes[at..at + keys.len()].copy_from_slice(&keys); - reseal(&mut bytes); - bytes - } - - fn reseal(bytes: &mut [u8]) { - let u64s = u16::from_le_bytes( - bytes[NODE_BSET + BSET_U64S..NODE_BSET + BSET_U64S + 2].try_into().unwrap(), - ) as usize; - let end = (NODE_BSET + BSET_KEYS + u64s * 8).min(bytes.len()); - let (lo, hi) = CsumType::Crc32c.digest(&bytes[16..end]); - bytes[0..8].copy_from_slice(&lo.to_le_bytes()); - bytes[8..16].copy_from_slice(&hi.to_le_bytes()); - } - - fn ptr() -> BtreePtr { - BtreePtr { - seq: SEQ, - sectors_written: NODE_SECTORS as u16, - min_key: Bpos::MIN, - sector: 0, - dev: 0, - } - } - - fn parse(sb: &Superblock, bytes: Vec) -> Result { - Node::parse(bytes, sb, &ptr(), BTREE, 0) - } - - fn refusal(sb: &Superblock, bytes: Vec) -> &'static str { - match parse(sb, bytes) { - Err(UpstreamError::Refused(why)) => why, - Err(other) => panic!("expected a refusal, got {other:?}"), - Ok(_) => panic!("this btree node should not have been accepted"), - } - } - - /// The builder makes a node this reader accepts, which is what makes each - /// mutation below a measurement of the field it moved. - #[test] - fn the_crafted_node_is_accepted() { - let sb = superblock(); - let node = parse(&sb, node(&sb, &[8, 16, 24])).expect("the crafted node"); - let keys = node.keys().expect("its keys"); - assert_eq!(keys.len(), 3); - assert_eq!(keys[0].1.pos, Bpos::new(4096, 8, 0)); - assert_eq!(keys[2].1.pos, Bpos::new(4096, 24, 0)); - } - - /// **`u64s` is the defect class again**: a bset's key length is a number - /// off the disk that decides how far the key walk goes. - #[test] - fn a_bset_longer_than_its_node_is_refused() { - let sb = superblock(); - let mut bytes = node(&sb, &[8]); - bytes[NODE_BSET + BSET_U64S..NODE_BSET + BSET_U64S + 2] - .copy_from_slice(&u16::MAX.to_le_bytes()); - reseal(&mut bytes); - assert_eq!(refusal(&sb, bytes), "bset runs past the end of its btree node"); - } - - /// A node that is well formed but belongs to another tree, another level - /// or another generation is a node the allocator has since reused. - #[test] - fn a_node_that_is_not_the_one_asked_for_is_refused() { - let sb = superblock(); - - let mut wrong_magic = node(&sb, &[8]); - wrong_magic[NODE_MAGIC] ^= 0xFF; - reseal(&mut wrong_magic); - assert_eq!(refusal(&sb, wrong_magic), "btree node's magic is not this filesystem's"); - - let mut wrong_btree = node(&sb, &[8]); - wrong_btree[NODE_FLAGS] = 7; - reseal(&mut wrong_btree); - assert_eq!(refusal(&sb, wrong_btree), "btree node belongs to a different btree"); - - let mut wrong_level = node(&sb, &[8]); - wrong_level[NODE_FLAGS] |= 1 << 4; - reseal(&mut wrong_level); - assert_eq!(refusal(&sb, wrong_level), "btree node is at a different level than its pointer"); - - let mut wrong_seq = node(&sb, &[8]); - wrong_seq[NODE_BSET + BSET_SEQ] ^= 0xFF; - reseal(&mut wrong_seq); - assert_eq!(refusal(&sb, wrong_seq), "btree node's sequence number is not its pointer's"); - } - - /// A bset whose bytes were changed after it was written is refused, and a - /// bset that declares no checksum at all is refused rather than trusted. - #[test] - fn a_bset_this_filesystem_did_not_write_is_refused() { - let sb = superblock(); - - // Moved and not resealed: the checksum is the only thing that objects. - let mut torn = node(&sb, &[8, 16]); - torn[NODE_BSET + BSET_KEYS + 24] ^= 0xFF; - assert_eq!(refusal(&sb, torn), "bset checksum does not match its bytes"); - - let mut unchecked = node(&sb, &[8]); - unchecked[NODE_BSET + BSET_FLAGS] = 0; - reseal(&mut unchecked); - assert_eq!(refusal(&sb, unchecked), "bset carries no checksum"); - - let mut big_endian = node(&sb, &[8]); - big_endian[NODE_BSET + BSET_FLAGS] = 5 | (1 << 4); - reseal(&mut big_endian); - assert_eq!(refusal(&sb, big_endian), "bset was written big-endian"); - } - - /// A key whose length runs past the bset it is in is refused rather than - /// read out of whatever follows it. - #[test] - fn a_key_longer_than_its_bset_is_refused() { - let sb = superblock(); - // The last key of two, one word longer than the bset has left. - let mut ragged = node(&sb, &[8, 16]); - ragged[NODE_BSET + BSET_KEYS + BKEY_U64S * 8 + 8] += 1; - reseal(&mut ragged); - let parsed = parse(&sb, ragged).expect("the node still parses; its keys do not"); - assert_eq!( - parsed.keys().err(), - Some(UpstreamError::Refused("key runs past the end of its bset")) - ); - - let mut zero_length = node(&sb, &[8, 16]); - zero_length[NODE_BSET + BSET_KEYS] = 0; - reseal(&mut zero_length); - let parsed = parse(&sb, zero_length).expect("the node still parses"); - assert_eq!( - parsed.keys().err(), - Some(UpstreamError::Refused("key is shorter than the format it names")) - ); - } -} diff --git a/lib/bcachefs/src/upstream/raw.rs b/lib/bcachefs/src/upstream/raw.rs deleted file mode 100644 index 15ed830a134..00000000000 --- a/lib/bcachefs/src/upstream/raw.rs +++ /dev/null @@ -1,104 +0,0 @@ -//! Little-endian reads out of a byte slice that came off a disk. -//! -//! Every accessor is bounds-checked and returns a refusal rather than -//! panicking: the slice is untrusted input, and the kernel links this. - -use super::UpstreamError; - -/// A window on disk bytes, named so a refusal can say which structure ran short. -#[derive(Clone, Copy)] -pub struct Raw<'a> { - bytes: &'a [u8], - what: &'static str, -} - -impl<'a> Raw<'a> { - pub fn new(bytes: &'a [u8], what: &'static str) -> Self { - Self { bytes, what } - } - - pub fn bytes(&self) -> &'a [u8] { - self.bytes - } - - fn short(&self) -> UpstreamError { - UpstreamError::Refused(self.what) - } - - pub fn slice(&self, off: usize, len: usize) -> Result<&'a [u8], UpstreamError> { - let end = off.checked_add(len).ok_or_else(|| self.short())?; - self.bytes.get(off..end).ok_or_else(|| self.short()) - } - - /// A window on part of this one, carrying its own name for refusals. - pub fn sub(&self, off: usize, len: usize, what: &'static str) -> Result, UpstreamError> { - Ok(Raw::new(self.slice(off, len)?, what)) - } - - pub fn u8(&self, off: usize) -> Result { - Ok(self.slice(off, 1)?[0]) - } - - pub fn u16(&self, off: usize) -> Result { - let b = self.slice(off, 2)?; - Ok(u16::from_le_bytes([b[0], b[1]])) - } - - pub fn u32(&self, off: usize) -> Result { - let b = self.slice(off, 4)?; - Ok(u32::from_le_bytes([b[0], b[1], b[2], b[3]])) - } - - pub fn u64(&self, off: usize) -> Result { - let b = self.slice(off, 8)?; - Ok(u64::from_le_bytes(b.try_into().expect("an 8-byte window"))) - } - - pub fn uuid(&self, off: usize) -> Result<[u8; 16], UpstreamError> { - Ok(self.slice(off, 16)?.try_into().expect("a 16-byte window")) - } -} - -/// The `LE64_BITMASK` accessor: bits `[start, end)` of `word`. -pub fn bits(word: u64, start: u32, end: u32) -> u64 { - debug_assert!(start < end && end <= 64); - (word >> start) & !(!0u64 << (end - start)) -} - -#[cfg(test)] -mod tests { - use super::*; - - /// A structure that ends one byte short refuses by its own name instead of - /// panicking, at every width. - #[test] - fn a_short_window_refuses_by_name() { - let buf = [0u8; 7]; - let raw = Raw::new(&buf, "a truncated thing"); - assert_eq!(raw.u64(0), Err(UpstreamError::Refused("a truncated thing"))); - assert_eq!(raw.u32(4), Err(UpstreamError::Refused("a truncated thing"))); - assert_eq!(raw.u16(6), Err(UpstreamError::Refused("a truncated thing"))); - assert_eq!(raw.u8(7), Err(UpstreamError::Refused("a truncated thing"))); - assert_eq!(raw.uuid(0), Err(UpstreamError::Refused("a truncated thing"))); - assert!(raw.u32(3).is_ok()); - } - - /// An offset near `usize::MAX` must not wrap into a valid range. - #[test] - fn an_offset_that_would_wrap_refuses() { - let buf = [0u8; 16]; - let raw = Raw::new(&buf, "wrapping"); - assert!(raw.slice(usize::MAX, 8).is_err()); - assert!(raw.slice(usize::MAX - 4, 8).is_err()); - } - - #[test] - fn bitmask_matches_upstreams_accessor() { - let flags = 0x8111_1100_8020_0107u64; - assert_eq!(bits(flags, 0, 1), 1); - assert_eq!(bits(flags, 1, 2), 1); - assert_eq!(bits(flags, 12, 28), 512); - assert_eq!(bits(flags, 40, 44), 1); - assert_eq!(bits(flags, 63, 64), 1); - } -} diff --git a/lib/bcachefs/src/upstream/sb.rs b/lib/bcachefs/src/upstream/sb.rs deleted file mode 100644 index ee7327da3f0..00000000000 --- a/lib/bcachefs/src/upstream/sb.rs +++ /dev/null @@ -1,781 +0,0 @@ -//! The superblock: where it is, what makes it this device's, and the options -//! and feature bits that decide whether a mount may proceed. - -use alloc::vec; -use alloc::vec::Vec; - -use crate::block_io::{BlockBuf, BlockIO, BlockNum, BLOCK_SIZE}; - -use super::csum::CsumType; -use super::raw::{bits, Raw}; -use super::UpstreamError; - -pub const SECTOR: usize = 512; -/// `BCH_SB_SECTOR` and `BCH_SB_LAYOUT_SECTOR`. -pub const SB_SECTOR: u64 = 8; -pub const LAYOUT_SECTOR: u64 = 7; -/// `BCHFS_MAGIC`, as the sixteen bytes it occupies on disk. -pub const BCHFS_MAGIC: [u8; 16] = [ - 0xc6, 0x85, 0x73, 0xf6, 0x66, 0xce, 0x90, 0xa9, 0xd9, 0x6a, 0x60, 0xcf, 0x80, 0x3d, 0xf7, 0xef, -]; -pub const BSET_MAGIC: u64 = 0x9013_5c78_b99e_07f5; - -/// `bcachefs_metadata_version_max - 1` at the pinned commit: what `bcachefs -/// format` writes today, and the only version this reader claims to know. -pub const VERSION_CURRENT: u16 = 1063; -/// `bcachefs_metadata_version_major_minor`: below it the format predates the -/// single major.minor scheme and nothing here applies. -pub const VERSION_MIN_SUPPORTED: u16 = 1024; - -const SB_VERSION: usize = 16; -const SB_VERSION_MIN: usize = 18; -const SB_MAGIC: usize = 24; -const SB_UUID: usize = 40; -const SB_OFFSET: usize = 104; -const SB_SEQ: usize = 112; -const SB_BLOCK_SIZE: usize = 120; -const SB_DEV_IDX: usize = 122; -const SB_NR_DEVICES: usize = 123; -const SB_U64S: usize = 124; -const SB_FLAGS: usize = 144; -const SB_FEATURES: usize = 208; -const SB_LAYOUT: usize = 240; -/// `offsetof(struct bch_sb, _data)`: the fixed header, layout included. -const SB_FIELDS_START: usize = 752; - -const LAYOUT_BYTES: usize = 512; -const LAYOUT_MAX_SUPERBLOCKS: usize = 61; -/// `BCH_SB_LAYOUT_SIZE_BITS_MAX`: 512 << 16 is 32 MB, the largest a superblock -/// may reserve and therefore the largest this reader will ever allocate for one. -const LAYOUT_SIZE_BITS_MAX: u8 = 16; - -/// Section types this reader looks for; the rest are stepped over. -const FIELD_MEMBERS_V1: u32 = 1; -const FIELD_CLEAN: u32 = 6; -const FIELD_MEMBERS_V2: u32 = 11; -const FIELD_EXTENT_TYPE_U64S: u32 = 16; -/// `bch_sb_field_clean`'s flags, clocks and `journal_seq`, before its entries. -const CLEAN_ENTRIES_AT: usize = 16; - -/// Feature bits `BCH_SB_FEATURES()` numbers, in the two words `features[2]`. -const FEATURE_LZ4: u32 = 0; -const FEATURE_GZIP: u32 = 1; -const FEATURE_ZSTD: u32 = 2; -const FEATURE_EC: u32 = 4; -const FEATURE_INCOMPRESSIBLE: u32 = 10; -const FEATURE_CASEFOLDING: u32 = 20; -const FEATURE_NO_DEFAULT_SB: u32 = 23; - -/// The features a volume `bcachefs format` writes carries, and which this -/// reader therefore has to tolerate. A bit outside this set is refused by -/// number, because a feature nobody has read is a feature nobody can honour. -const FEATURES_KNOWN: u64 = (1 << 5) // journal_seq_blacklist_v3 - | (1 << 6) // reflink - | (1 << 7) // new_siphash - | (1 << 8) // inline_data - | (1 << 9) // new_extent_overwrite - | (1 << 11) // btree_ptr_v2 - | (1 << 12) // extents_above_btree_updates - | (1 << 13) // btree_updates_journalled - | (1 << 14) // reflink_inline_data - | (1 << 15) // new_varint - | (1 << 16) // journal_no_flush - | (1 << 17) // alloc_v2 - | (1 << 18) // extents_across_btree_nodes - | (1 << 19) // incompat_version_field - | (1 << 21) // no_alloc_info - | (1 << 22) // small_image - | (1 << 23); // no_default_sb, refused by name above rather than honoured - -/// One member device, as the members section describes it. -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub struct Member { - pub uuid: [u8; 16], - pub nbuckets: u64, - /// Sectors, and the unit every bucket index is multiplied by. - pub bucket_size: u16, - pub first_bucket: u16, -} - -/// A superblock this reader has agreed to mount from. -pub struct Superblock { - bytes: Vec, -} - -impl Superblock { - fn raw(&self) -> Raw<'_> { - Raw::new(&self.bytes, "superblock ends early") - } - - pub fn version(&self) -> u16 { - self.raw().u16(SB_VERSION).unwrap_or(0) - } - - pub fn version_min(&self) -> u16 { - self.raw().u16(SB_VERSION_MIN).unwrap_or(0) - } - - /// The immutable filesystem UUID; the bset and jset magics are derived from - /// its first eight bytes. - pub fn uuid(&self) -> [u8; 16] { - self.raw().uuid(SB_UUID).unwrap_or([0; 16]) - } - - /// Filesystem block size in bytes. - pub fn block_size(&self) -> u32 { - self.raw().u16(SB_BLOCK_SIZE).unwrap_or(0) as u32 * SECTOR as u32 - } - - pub fn dev_idx(&self) -> u8 { - self.raw().u8(SB_DEV_IDX).unwrap_or(0) - } - - pub fn nr_devices(&self) -> u8 { - self.raw().u8(SB_NR_DEVICES).unwrap_or(0) - } - - fn flags(&self, word: usize) -> u64 { - self.raw().u64(SB_FLAGS + word * 8).unwrap_or(0) - } - - fn features(&self, word: usize) -> u64 { - self.raw().u64(SB_FEATURES + word * 8).unwrap_or(0) - } - - pub fn is_clean(&self) -> bool { - bits(self.flags(0), 1, 2) == 1 - } - - /// The btree node size in bytes: every node read is exactly this long. - pub fn btree_node_size(&self) -> u64 { - bits(self.flags(0), 12, 28) * SECTOR as u64 - } - - pub fn metadata_csum(&self) -> Result { - csum_from_opt(bits(self.flags(0), 40, 44)) - } - - pub fn data_csum(&self) -> Result { - csum_from_opt(bits(self.flags(0), 44, 48)) - } - - /// Walk the variable-length sections, handing each `(type, payload)`. - /// - /// A section whose `u64s` does not advance is the end of the list rather - /// than a loop: upstream's terminator is a zero-length field. - fn sections(&self) -> Sections<'_> { - Sections { raw: self.raw(), at: SB_FIELDS_START } - } - - fn section(&self, want: u32) -> Option> { - self.sections().find(|(ty, _)| *ty == want).map(|(_, payload)| payload) - } - - /// This device's member entry, which is where a bucket becomes a sector. - pub fn member(&self, idx: u8) -> Result { - let (section, first, stride) = if let Some(v2) = self.section(FIELD_MEMBERS_V2) { - let stride = v2.u16(0)? as usize; - (v2, 8, stride) - } else if let Some(v1) = self.section(FIELD_MEMBERS_V1) { - (v1, 0, MEMBER_V1_BYTES) - } else { - return Err(UpstreamError::Refused("superblock has no members section")); - }; - if stride < MEMBER_MIN_BYTES { - return Err(UpstreamError::Refused("members section entry is too small to be one")); - } - let at = first + (idx as usize) - .checked_mul(stride) - .ok_or(UpstreamError::Refused("member index times entry size overflows"))?; - let m = section.sub(at, stride, "members section ends before this device")?; - Ok(Member { - uuid: m.uuid(0)?, - nbuckets: m.u64(16)?, - first_bucket: m.u16(24)?, - bucket_size: m.u16(26)?, - }) - } - - /// The clean section's journal entries, which carry the btree roots a - /// cleanly-unmounted filesystem is opened from. - pub fn clean(&self) -> Result, UpstreamError> { - let clean = self - .section(FIELD_CLEAN) - .ok_or(UpstreamError::Refused("volume has no clean section: it needs journal replay"))?; - // A section shorter than its own fixed part is a subtraction that - // panics under the kernel's overflow checks, not a short read. - let entries = clean - .bytes() - .len() - .checked_sub(CLEAN_ENTRIES_AT) - .ok_or(UpstreamError::Refused("clean section is shorter than its own header"))?; - clean.sub(CLEAN_ENTRIES_AT, entries, "clean section ends before its entries") - } - - /// How many u64s each `bch_extent_entry` type occupies. - /// - /// **A size that is wrong by one word makes the walker step onto a pointer - /// and serve arbitrary device blocks as file contents.** The sizes for the - /// types this reader decodes are compiled in, because they are what its - /// own field offsets assume; the superblock's `extent_type_u64s` section - /// supplies the rest, so an entry type written after this was is stepped - /// over rather than guessed at. A section that disagrees with a compiled-in - /// size is refused: one of the two is describing another format. - pub fn extent_entry_u64s(&self) -> Result<[u8; EXTENT_TYPES_MAX], UpstreamError> { - let section = self.section(FIELD_EXTENT_TYPE_U64S).ok_or(UpstreamError::Refused( - "volume has no extent_type_u64s section: this reader cannot size an extent's entries", - ))?; - let mut sizes = EXTENT_ENTRY_U64S_KNOWN; - for (kind, size) in sizes.iter_mut().enumerate() { - let Ok(stated) = section.u8(kind) else { break }; - if stated == 0 { - break; - } - if kind < EXTENT_ENTRY_TYPES_KNOWN && stated != *size { - return Err(UpstreamError::Refused( - "volume sizes an extent entry this reader decodes differently than it does", - )); - } - *size = stated; - } - Ok(sizes) - } - - /// Refuse, by name, every format feature this reader does not implement. - /// - /// A feature bit silently ignored is a mount that returns the wrong bytes, - /// so the unknown half of `features[0]` is refused by number too. - fn check_supported(&self, device_sectors: u64) -> Result<(), UpstreamError> { - let refuse = |why| Err(UpstreamError::Refused(why)); - - if self.version() > VERSION_CURRENT { - return refuse("volume is a newer metadata version than this reader implements"); - } - if self.version_min() < VERSION_MIN_SUPPORTED { - return refuse("volume still holds metadata older than version 1.0"); - } - if bits(self.flags(0), 62, 63) != 0 { - return refuse("volume was written big-endian"); - } - if self.block_size() as usize != BLOCK_SIZE { - return refuse("volume's block size is not the 4096 bytes this crate reads"); - } - if !self.btree_node_size().is_multiple_of(BLOCK_SIZE as u64) || self.btree_node_size() == 0 { - return refuse("btree node size is not a whole number of blocks"); - } - if self.nr_devices() != 1 { - return refuse("volume has more than one member device"); - } - if self.dev_idx() != 0 { - return refuse("volume's superblock is not device 0 of its filesystem"); - } - if bits(self.flags(1), 10, 14) != 0 { - return refuse("volume is encrypted"); - } - if bits(self.flags(1), 4, 8) != 0 || bits(self.flags(4), 56, 60) != 0 { - return refuse("volume has compression enabled"); - } - if bits(self.flags(2), 0, 4) != 0 || bits(self.flags(4), 60, 64) != 0 { - return refuse("volume has background compression enabled"); - } - // Wanted and required, both kinds: a zero is as much "not one replica" - // as a two is, and this reader reads exactly one copy of everything. - for (word, start, end) in [(0, 48, 52), (0, 52, 56), (1, 20, 24), (1, 24, 28)] { - if bits(self.flags(word), start, end) != 1 { - return refuse("volume does not ask for exactly one replica of everything"); - } - } - // A volume that checksums nothing would have this reader verifying - // every extent against a checksum nobody computed. - if self.metadata_csum()? == CsumType::None || self.data_csum()? == CsumType::None { - return refuse("volume checksums its metadata or its data with nothing"); - } - if bits(self.flags(3), 0, 16) != 0 { - return refuse("volume has erasure coding enabled"); - } - if bits(self.flags(6), 22, 23) != 0 { - return refuse("volume is casefolded"); - } - if bits(self.flags(3), 63, 64) != 0 { - return refuse("volume is a multi-device filesystem"); - } - for (bit, why) in [ - (FEATURE_LZ4, "volume carries lz4-compressed data"), - (FEATURE_GZIP, "volume carries gzip-compressed data"), - (FEATURE_ZSTD, "volume carries zstd-compressed data"), - (FEATURE_INCOMPRESSIBLE, "volume carries compression metadata"), - (FEATURE_EC, "volume carries erasure-coded stripes"), - (FEATURE_CASEFOLDING, "volume carries casefolded directories"), - (FEATURE_NO_DEFAULT_SB, "volume keeps no superblock at the sector this reader looks at"), - ] { - if self.features(0) & (1u64 << bit) != 0 { - return refuse(why); - } - } - if self.features(0) & !FEATURES_KNOWN != 0 { - return refuse("volume sets a feature bit this reader has never read"); - } - if self.features(1) != 0 { - return refuse("volume sets a feature bit past the first word"); - } - - let member = self.member(self.dev_idx())?; - if member.bucket_size == 0 { - return refuse("member's bucket size is zero"); - } - let sectors = member - .nbuckets - .checked_mul(member.bucket_size as u64) - .ok_or(UpstreamError::Refused("member's bucket count times bucket size overflows"))?; - if sectors > device_sectors { - return refuse("member claims more sectors than the device has"); - } - if member.first_bucket as u64 >= member.nbuckets { - return refuse("member's first bucket is past its last"); - } - Ok(()) - } -} - -/// The largest entry type this reader will size, one past `BCH_EXTENT_ENTRY_MAX` -/// so the superblock can name a type written after this code was. -pub const EXTENT_TYPES_MAX: usize = 16; -/// `BCH_EXTENT_ENTRY_MAX`: how many of those this reader has read the layout of. -pub const EXTENT_ENTRY_TYPES_KNOWN: usize = 9; -/// Each entry type's length in u64s, the `sizeof` of its format struct at -/// the pinned commit: ptr, crc32, crc64, crc128, stripe_ptr, rebalance_v1, -/// flags, reconcile, reconcile_bp. The last four are each one 64-bit -/// bitfield. -const EXTENT_ENTRY_U64S_KNOWN: [u8; EXTENT_TYPES_MAX] = - [1, 1, 2, 3, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]; - -#[cfg(test)] -pub(crate) const EXTENT_ENTRY_U64S_KNOWN_FOR_TESTS: [u8; EXTENT_TYPES_MAX] = EXTENT_ENTRY_U64S_KNOWN; - -const MEMBER_V1_BYTES: usize = 56; -/// Everything before `last_mount`: the fields this reader takes. -const MEMBER_MIN_BYTES: usize = 32; - -fn csum_from_opt(opt: u64) -> Result { - match opt { - 0 => Ok(CsumType::None), - 1 => Ok(CsumType::Crc32c), - 2 => Ok(CsumType::Crc64), - 3 => Ok(CsumType::Xxhash), - _ => Err(UpstreamError::Refused("checksum option is not one this format defines")), - } -} - -struct Sections<'a> { - raw: Raw<'a>, - at: usize, -} - -impl<'a> Iterator for Sections<'a> { - type Item = (u32, Raw<'a>); - - fn next(&mut self) -> Option { - let u64s = self.raw.u32(self.at).ok()? as usize; - let ty = self.raw.u32(self.at + 4).ok()?; - if u64s == 0 { - return None; - } - let bytes = u64s.checked_mul(8)?; - let payload = self.raw.sub(self.at + 8, bytes.checked_sub(8)?, "section ends early").ok()?; - self.at = self.at.checked_add(bytes)?; - Some((ty, payload)) - } -} - -/// Read `len` bytes at `byte_off` through a 4096-byte block device. -/// -/// The superblock lives at sector 8 and its backups at sectors the layout -/// chooses, none of which the block size has any say over. -fn read_bytes(io: &dyn BlockIO, byte_off: u64, len: usize) -> Result, UpstreamError> { - let first = byte_off / BLOCK_SIZE as u64; - let skip = (byte_off % BLOCK_SIZE as u64) as usize; - let blocks = (skip + len).div_ceil(BLOCK_SIZE); - let last = first - .checked_add(blocks as u64) - .ok_or(UpstreamError::Refused("a read past the end of any device"))?; - if last > io.block_count() { - return Err(UpstreamError::Refused("structure runs past the end of the device")); - } - - let mut out = vec![0u8; blocks * BLOCK_SIZE]; - let mut buf = BlockBuf::zeroed(); - for i in 0..blocks { - let block = BlockNum::new(first + i as u64); - io.read_block(block, &mut buf).map_err(|e| UpstreamError::Device(block, e))?; - out[i * BLOCK_SIZE..(i + 1) * BLOCK_SIZE].copy_from_slice(buf.as_bytes()); - } - out.drain(..skip); - out.truncate(len); - Ok(out) -} - -/// Read and validate this device's superblock. -/// -/// The primary at sector 8 first; a copy the layout names only when the primary -/// does not parse, because a device that refused the read is a device that is -/// not answering and not a superblock that is wrong. -pub fn read(io: &dyn BlockIO) -> Result { - let device_sectors = io - .block_count() - .checked_mul((BLOCK_SIZE / SECTOR) as u64) - .ok_or(UpstreamError::Refused("device size in sectors overflows"))?; - - let primary = read_one(io, SB_SECTOR, device_sectors); - let Err(primary_err) = primary else { return primary }; - - let layout = read_bytes(io, LAYOUT_SECTOR * SECTOR as u64, LAYOUT_BYTES)?; - for offset in layout_offsets(&layout)? { - if offset == SB_SECTOR { - continue; - } - if let Ok(sb) = read_one(io, offset, device_sectors) { - return Ok(sb); - } - } - Err(primary_err) -} - -/// The backup superblock sectors the standalone layout at sector 7 names. -fn layout_offsets(layout: &[u8]) -> Result, UpstreamError> { - let raw = Raw::new(layout, "superblock layout ends early"); - if raw.uuid(0)? != BCHFS_MAGIC { - return Err(UpstreamError::Refused("no bcachefs superblock layout at sector 7")); - } - if raw.u8(16)? != 0 { - return Err(UpstreamError::Refused("superblock layout is a type this reader has not read")); - } - if raw.u8(17)? > LAYOUT_SIZE_BITS_MAX { - return Err(UpstreamError::Refused("superblock layout reserves more than 32 MB")); - } - let nr = raw.u8(18)? as usize; - if nr == 0 || nr > LAYOUT_MAX_SUPERBLOCKS { - return Err(UpstreamError::Refused("superblock layout names an impossible number of copies")); - } - (0..nr).map(|i| raw.u64(24 + i * 8)).collect() -} - -fn read_one(io: &dyn BlockIO, sector: u64, device_sectors: u64) -> Result { - let byte_off = sector - .checked_mul(SECTOR as u64) - .ok_or(UpstreamError::Refused("superblock offset in bytes overflows"))?; - - // The header alone first: `u64s` decides how much more to read, and it is a - // number the disk chose, so it is bounded before it sizes an allocation. - let head = read_bytes(io, byte_off, SB_FIELDS_START)?; - let raw = Raw::new(&head, "superblock header ends early"); - if raw.uuid(SB_MAGIC)? != BCHFS_MAGIC { - return Err(UpstreamError::Refused("no bcachefs superblock here")); - } - if raw.u64(SB_OFFSET)? != sector { - return Err(UpstreamError::Refused("superblock names a sector other than its own")); - } - - let size_bits = raw.u8(SB_LAYOUT + 17)?; - if size_bits > LAYOUT_SIZE_BITS_MAX { - return Err(UpstreamError::Refused("superblock reserves more than 32 MB")); - } - let reserved = (SECTOR as u64) << size_bits; - let u64s = raw.u32(SB_U64S)? as u64; - let bytes = SB_FIELDS_START as u64 + u64s * 8; - if bytes > reserved { - return Err(UpstreamError::Refused("superblock is longer than the space it reserves")); - } - if byte_off / SECTOR as u64 + bytes.div_ceil(SECTOR as u64) > device_sectors { - return Err(UpstreamError::Refused("superblock runs past the end of the device")); - } - - let bytes = read_bytes(io, byte_off, bytes as usize)?; - let raw = Raw::new(&bytes, "superblock ends early"); - let csum_type = CsumType::from_disk(bits(raw.u64(SB_FLAGS)?, 2, 8))?; - let stored = (raw.u64(0)?, raw.u64(8)?); - if !csum_type.verify(&bytes[SB_VERSION..], stored) { - return Err(UpstreamError::Refused("superblock checksum does not match its bytes")); - } - - let sb = Superblock { bytes }; - sb.check_supported(device_sectors)?; - Ok(sb) -} - -#[cfg(all(test, feature = "std"))] -pub(crate) mod fixture { - use super::*; - use crate::block_io::VecBlockIO; - - pub(crate) const DEVICE_BLOCKS: u64 = 512; - const NBUCKETS: u64 = 512; - const BUCKET_SECTORS: u16 = 8; - - /// The smallest superblock this reader accepts, as bytes, so a test can - /// move one field and name what that costs. - pub(crate) fn valid() -> Vec { - let members = { - let mut section = vec![0u8; 48]; - section[0..4].copy_from_slice(&6u32.to_le_bytes()); - section[4..8].copy_from_slice(&FIELD_MEMBERS_V2.to_le_bytes()); - section[8..10].copy_from_slice(&32u16.to_le_bytes()); - section[32..40].copy_from_slice(&NBUCKETS.to_le_bytes()); - section[40..42].copy_from_slice(&0u16.to_le_bytes()); - section[42..44].copy_from_slice(&BUCKET_SECTORS.to_le_bytes()); - section - }; - let clean = { - let mut section = vec![0u8; 24]; - section[0..4].copy_from_slice(&3u32.to_le_bytes()); - section[4..8].copy_from_slice(&FIELD_CLEAN.to_le_bytes()); - section - }; - let extent_types = { - let mut section = vec![0u8; 24]; - section[0..4].copy_from_slice(&3u32.to_le_bytes()); - section[4..8].copy_from_slice(&FIELD_EXTENT_TYPE_U64S.to_le_bytes()); - section[8..8 + EXTENT_ENTRY_TYPES_KNOWN] - .copy_from_slice(&EXTENT_ENTRY_U64S_KNOWN[..EXTENT_ENTRY_TYPES_KNOWN]); - section - }; - let sections = [members.as_slice(), clean.as_slice(), extent_types.as_slice()].concat(); - - let mut sb = vec![0u8; SB_FIELDS_START + sections.len()]; - sb[SB_VERSION..SB_VERSION + 2].copy_from_slice(&VERSION_CURRENT.to_le_bytes()); - sb[SB_VERSION_MIN..SB_VERSION_MIN + 2].copy_from_slice(&VERSION_CURRENT.to_le_bytes()); - sb[SB_MAGIC..SB_MAGIC + 16].copy_from_slice(&BCHFS_MAGIC); - sb[SB_OFFSET..SB_OFFSET + 8].copy_from_slice(&SB_SECTOR.to_le_bytes()); - sb[SB_BLOCK_SIZE..SB_BLOCK_SIZE + 2].copy_from_slice(&8u16.to_le_bytes()); - sb[SB_NR_DEVICES] = 1; - let u64s = (sections.len() / 8) as u32; - sb[SB_U64S..SB_U64S + 4].copy_from_slice(&u64s.to_le_bytes()); - - // initialized, clean, csum type crc32c_nonzero, 256 KB nodes, one - // replica of each kind wanted, each checksummed crc32c. - let flags0 = 1 | (1 << 1) | (1 << 2) | (512u64 << 12) | (1 << 40) | (1 << 44) - | (1 << 48) | (1 << 52); - sb[SB_FLAGS..SB_FLAGS + 8].copy_from_slice(&flags0.to_le_bytes()); - // One replica of each kind required. - let flags1 = (1u64 << 20) | (1 << 24); - sb[SB_FLAGS + 8..SB_FLAGS + 16].copy_from_slice(&flags1.to_le_bytes()); - - sb[SB_LAYOUT..SB_LAYOUT + 16].copy_from_slice(&BCHFS_MAGIC); - sb[SB_LAYOUT + 17] = 11; - sb[SB_LAYOUT + 18] = 1; - sb[SB_LAYOUT + 24..SB_LAYOUT + 32].copy_from_slice(&SB_SECTOR.to_le_bytes()); - - sb[SB_FIELDS_START..].copy_from_slice(§ions); - reseal(&mut sb); - sb - } - - /// Recompute the checksum after a field has been moved, so a test measures - /// the field's refusal rather than the checksum's. - pub(crate) fn reseal(sb: &mut [u8]) { - let (lo, hi) = CsumType::Crc32cNonzero.digest(&sb[SB_VERSION..]); - sb[0..8].copy_from_slice(&lo.to_le_bytes()); - sb[8..16].copy_from_slice(&hi.to_le_bytes()); - } - - pub(crate) fn device(sb: &[u8]) -> VecBlockIO { - let mut image = vec![0u8; DEVICE_BLOCKS as usize * BLOCK_SIZE]; - let layout_at = LAYOUT_SECTOR as usize * SECTOR; - image[layout_at..layout_at + 16].copy_from_slice(&BCHFS_MAGIC); - image[layout_at + 17] = 11; - image[layout_at + 18] = 1; - image[layout_at + 24..layout_at + 32].copy_from_slice(&SB_SECTOR.to_le_bytes()); - let at = SB_SECTOR as usize * SECTOR; - image[at..at + sb.len()].copy_from_slice(sb); - VecBlockIO::from_vec(image) - } - - /// One field of a superblock, moved. - type Mutation = alloc::boxed::Box)>; - - pub(crate) fn refusal(sb: &[u8]) -> &'static str { - match read(&device(sb)) { - Err(UpstreamError::Refused(why)) => why, - Err(other) => panic!("expected a refusal, got {other:?}"), - Ok(_) => panic!("this superblock should not have been accepted"), - } - } - - /// The builder makes something this reader accepts, which is what makes - /// every mutation below a measurement of the field it moved. - #[test] - fn the_crafted_superblock_is_accepted() { - let sb = read(&device(&valid())).expect("the crafted superblock"); - assert_eq!(sb.version(), VERSION_CURRENT); - assert!(sb.is_clean()); - assert_eq!(sb.block_size(), BLOCK_SIZE as u32); - assert_eq!(sb.btree_node_size(), 256 * 1024); - assert_eq!(sb.metadata_csum(), Ok(CsumType::Crc32c)); - assert_eq!(sb.member(0).expect("the member").nbuckets, NBUCKETS); - } - - /// **`u64s` is the defect class this crate's `alloc_probe` exists for**: a - /// length off the disk sizes the buffer the superblock is read into. A - /// superblock claiming four gigabytes is refused, and the refusal costs - /// nothing like four gigabytes. - #[test] - fn a_huge_u64s_is_refused_without_allocating_it() { - let mut sb = valid(); - sb[SB_U64S..SB_U64S + 4].copy_from_slice(&(1u32 << 29).to_le_bytes()); - reseal(&mut sb); - - let io = device(&sb); - let _ = crate::alloc_probe::take_peak(); - let err = read(&io).err(); - let peak = crate::alloc_probe::take_peak(); - - assert_eq!(err, Some(UpstreamError::Refused("superblock is longer than the space it reserves"))); - assert!(peak < 1 << 20, "refusing a 4 GB superblock asked the allocator for {peak} bytes"); - } - - /// Each of these is a sentence a log line can print, and each is reached - /// only because the checksum was recomputed over the moved field. - #[test] - fn every_unsupported_format_feature_is_refused_by_name() { - let mut cases: Vec<(&str, Mutation)> = Vec::new(); - let flag = |word: usize, shift: u32, value: u64| -> Mutation { - Box::new(move |sb: &mut Vec| { - let at = SB_FLAGS + word * 8; - let mut bits = u64::from_le_bytes(sb[at..at + 8].try_into().unwrap()); - bits |= value << shift; - sb[at..at + 8].copy_from_slice(&bits.to_le_bytes()); - }) - }; - let feature = |bit: u32| -> Mutation { - Box::new(move |sb: &mut Vec| { - let mut bits = u64::from_le_bytes(sb[SB_FEATURES..SB_FEATURES + 8].try_into().unwrap()); - bits |= 1u64 << bit; - sb[SB_FEATURES..SB_FEATURES + 8].copy_from_slice(&bits.to_le_bytes()); - }) - }; - cases.push(("volume is encrypted", flag(1, 10, 1))); - cases.push(("volume has compression enabled", flag(1, 4, 3))); - cases.push(("volume has background compression enabled", flag(2, 0, 3))); - cases.push(("volume does not ask for exactly one replica of everything", flag(0, 53, 1))); - cases.push(("volume has erasure coding enabled", flag(3, 0, 1))); - cases.push(("volume is casefolded", flag(6, 22, 1))); - cases.push(("volume is a multi-device filesystem", flag(3, 63, 1))); - cases.push(("volume was written big-endian", flag(0, 62, 1))); - cases.push(("volume carries lz4-compressed data", feature(FEATURE_LZ4))); - cases.push(("volume carries gzip-compressed data", feature(FEATURE_GZIP))); - cases.push(("volume carries zstd-compressed data", feature(FEATURE_ZSTD))); - cases.push(("volume carries erasure-coded stripes", feature(FEATURE_EC))); - cases.push(("volume carries casefolded directories", feature(FEATURE_CASEFOLDING))); - cases.push(("volume sets a feature bit this reader has never read", feature(24))); - cases.push(( - "volume is a newer metadata version than this reader implements", - Box::new(|sb: &mut Vec| { - sb[SB_VERSION..SB_VERSION + 2].copy_from_slice(&(VERSION_CURRENT + 1).to_le_bytes()) - }), - )); - cases.push(( - "volume has more than one member device", - Box::new(|sb: &mut Vec| sb[SB_NR_DEVICES] = 2), - )); - cases.push(( - "volume's block size is not the 4096 bytes this crate reads", - Box::new(|sb: &mut Vec| sb[SB_BLOCK_SIZE..SB_BLOCK_SIZE + 2].copy_from_slice(&1u16.to_le_bytes())), - )); - - for (want, mutate) in cases { - let mut sb = valid(); - mutate(&mut sb); - reseal(&mut sb); - assert_eq!(refusal(&sb), want, "the mutation for {want:?} was refused for another reason"); - } - } - - /// A superblock's own bytes have to say where it is and hash to what it - /// claims, or a copy of somebody else's disk mounts here. - #[test] - fn a_superblock_that_is_not_this_ones_is_refused() { - let mut wrong_place = valid(); - wrong_place[SB_OFFSET..SB_OFFSET + 8].copy_from_slice(&9u64.to_le_bytes()); - reseal(&mut wrong_place); - assert_eq!(refusal(&wrong_place), "superblock names a sector other than its own"); - - let mut no_magic = valid(); - no_magic[SB_MAGIC] ^= 0xFF; - reseal(&mut no_magic); - assert_eq!(refusal(&no_magic), "no bcachefs superblock here"); - - // Moved and *not* resealed: the checksum is what refuses it. - let mut torn = valid(); - torn[SB_SEQ] ^= 0xFF; - assert_eq!(refusal(&torn), "superblock checksum does not match its bytes"); - } - - /// A member that describes a device other than this one is where an - /// unchecked bucket count becomes a read past the end of the disk. - #[test] - fn a_member_bigger_than_its_device_is_refused() { - let sections = SB_FIELDS_START; - let mut too_big = valid(); - too_big[sections + 32..sections + 40].copy_from_slice(&u64::MAX.to_le_bytes()); - reseal(&mut too_big); - assert_eq!(refusal(&too_big), "member's bucket count times bucket size overflows"); - - let mut over = valid(); - over[sections + 32..sections + 40].copy_from_slice(&(NBUCKETS * 64).to_le_bytes()); - reseal(&mut over); - assert_eq!(refusal(&over), "member claims more sectors than the device has"); - - let mut no_buckets = valid(); - no_buckets[sections + 42..sections + 44].copy_from_slice(&0u16.to_le_bytes()); - reseal(&mut no_buckets); - assert_eq!(refusal(&no_buckets), "member's bucket size is zero"); - } - - /// A clean section shorter than its own fixed part reaches the read path - /// through every mount, and the subtraction that finds its entries panics - /// under the overflow checks the kernel and root are built with. - #[test] - fn a_clean_section_shorter_than_its_header_is_refused() { - let at = SB_FIELDS_START + 48; - for u64s in [1u32, 2] { - let mut short = valid(); - short[at..at + 4].copy_from_slice(&u64s.to_le_bytes()); - reseal(&mut short); - let sb = read(&device(&short)).expect("the superblock itself still parses"); - assert_eq!( - sb.clean().err(), - Some(UpstreamError::Refused("clean section is shorter than its own header")), - "a clean section of {u64s} word(s) was not refused" - ); - } - } - - /// The two readers in this crate answer a bcachefs superblock differently: - /// the interim ToyOS format's refuses the magic, and this one accepts it. - #[test] - fn the_interim_reader_rejects_bcachefs_s_magic() { - let io = device(&valid()); - let refused = crate::Superblock::read(&io).expect_err("the interim reader must refuse this"); - assert!( - matches!(refused, crate::FsError::BadMagic { expected, .. } if expected == *b"BCFS"), - "the interim reader answered {refused:?} rather than refusing the magic" - ); - // And the reverse: the upstream reader is what does accept it. - assert!(read(&io).is_ok(), "the upstream reader must accept what it wrote the fixture for"); - } - - /// A volume that was not unmounted cleanly is refused by name, because - /// replay is a write and this half of the crate does not do writes. - #[test] - fn a_volume_without_a_clean_section_is_refused_by_name() { - let mut dirty = valid(); - // Turn the clean section into a type this reader steps over. - let at = SB_FIELDS_START + 48; - dirty[at + 4..at + 8].copy_from_slice(&99u32.to_le_bytes()); - reseal(&mut dirty); - let sb = read(&device(&dirty)).expect("a superblock with no clean section still parses"); - assert_eq!( - sb.clean().err(), - Some(UpstreamError::Refused("volume has no clean section: it needs journal replay")) - ); - } -} diff --git a/lib/bcachefs/tests/fixtures/encrypted-wide-macs.img.gz b/lib/bcachefs/tests/fixtures/encrypted-wide-macs.img.gz new file mode 100644 index 0000000000000000000000000000000000000000..2fd4e87442cd76d0b8bd24da57d82d7251082756 GIT binary patch literal 774007 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
@)Sk)w0Zn(M`TV32D5am>PY2rHvhG9%-1 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â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

  • G?WoO4}5-lG{`T4 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 s-Dee$j=P2BSxG6%DPx5`!&AFCWDn|=tu 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

    7pnH*qt=|ULMT9;{y+v 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 mQfYLn4qW^VOE(*mk^X?PTz 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

    $!PG2?%h~ z^I%zp;-bg#jnGzeC#T-{AMhEdWBuynahnw*%Lb-PS23w^a@TJMJftyj zZZ&C~Ef4PVw(+qZ%Xx-vFm*a_4tnOEl@*L3-T_$Ayd?`nNDJurLXwtpP_r+579jk9 zWLO1?c~cK$&^~^|1iH(s?@XW67WLzPFRj5)k#sb+f7lWLR(4~+TznBGmtIb>2mMl! z9VE<5b``;@gL7Z#WI#@~0J()ebGs&GysH&`TstwOYy_58=vQGVXaa>qg55n_U<;^( znqmPt73ATPtBZ{}IlZwK)jKbF~!bTZpB4lHeta_Vo^uebX$o{jb%V|O-3zBe4 zhU`)*IR!8^`UyBLGE^Lvpc5Xe4`=&Jtw0G`0+H_iqLsOwni-K*oao`a_$%BHBDBN+ zK|sF0-^?`j*8za)a@2R3-vL9A(0p+OJW0N9q8>2I-jIMxfh^YwE5ZbA z#3cGfK`AoAqw0;i0mk#u=pjeT?l$Z~_kC^Ag#%-Q05`lLk~^FDL&f_Nz~3l@@vhED zTtKxGBLGTNv|&m8T@Yoe+D>+6`FzQyC$ze(YOHAf`7oJPHC;s^2kG{8Jim+37|{+g zZUG1KfNHro9B=<_)P+|G9*=alaTu7gU)fd{Q5H0H<-++N4tyL5m6c66(!7+Rivm52 z!)(D`VpIoT+|~LVu6>uEE?P7krB8wqp6vs$H^{_fX0XM;OEC!m#7`KpbqE~z$ekY7 z#Mrh~~W>`O0~+>6OB8jh2NfX}tZLY&l;z#8$p8m^*$~(yLltvf`Mb2m#@ZZxpbcz! z?U07i>)jW>2^yv?Td;?+eh}AEzgYyiYw>AfEOuBDo;1s()$w7TSq+3}4CdVPVM6PD z(hQ3e6{G6={EoIS&ymY4#A2V5uG}aG&qG=_>O0QFKt?ceNMyZF#LHTf9n)4oW*6+n zR>VILfHFU3FgivI>&h#`p(dq5jdthk^o!;b$>Dazz8k?Nu0Nnwy78Bo1$?T#4DoN~ zZfU+P2ctcE&}Y(NcS?qZqPgDW8-fv63#IrN6n)j-r5gMOHKBrlHB25wZDWUS+nQuD&+~C=vWxOK)F9=~bxb^kL zifohI%(y7Mnardx@UxO7Sg*tFzgfI?p|bcsU^7FEzEo4JPIunja!;c8YS86ZO2fU6Vy@Iqg^?M#4h zlzeaq9Kdi_yb&$bUETOBY|Ksv9{KB2=EZ>qi`^GCFKCyBGIFy+Ml7cG%-Tx+cCn^J zu=R-5@OZmJ+Een{2fRNW$O4+5r5{V|mr;UtJeTdieo|CTBxDD*oNnk3tPB~-!sVD+ ztJpZ@7SqN0v~Aw*5KR74);`1pyFEKogSrQH3CWfY99B(bf_sE=F%> zNM~9`O8GaY%!_hktCp?|%T|o@mCx%WZR!XVFbUR-kv}-kAD;c#=5F7y?KDaVEVetb z)BWPM5xCXl!@-$c%fP&*diJLY=xHc{jxFgvtPKv<>pCiDozsEnZ6LR79f%}VOdMsdYfOV}M~` zx`hyQW93zK!;vhT9MvjD#hqysP(?)=ZR;Ih{c928RtSg2og%>e(Ksy*`#tEWh&^FL z*q8FDvwzx9np-IS$zIoBCTW@+XX-U+<}pXnG8p%sJqs+3TNpApdYaNkc&l&+kR3=| zKH!F5^JG())hD^G=Qx9aQ&Gg41fxH_sx;Yu7$UM;j0Tw!T|JB14QUFMr0l=3+*%qB z?GfA*;4@m%>i2PtfzJvFe3Y67L-L$w~Eue>_ zl4YE8C27qoS*jo5E!}3nFXs;2ub|yT6mnH`H6uyKq15-br6P*;YBaAW(14LBkN>UlG+F#EbGl z)ch<=PuY}7J^Bt&9wId7B=7|w9k3(4S`Q`&o$1)p12H;`E~%U$q@i(ou2K6r&1 zf4SQP$#SYOGTrY(CJvlOB}7w&GOrGeR$-2Yu{gImSsx`bp?Wj`%x$C>THEbHU;X)H zV^-!-GN5*TXHCANmv?>oCYL=V9O?9{WO-2D(q%-!{ju)q^nu5Q%Faha zPJ+x(-1+LZ3b?IL_dyzpyJ{-2jqa{1O}eC*_}XY?ZY`+y&z!n$Q1b8VE&!m}$-0!w z(Q_^y=1Yk}j_{$#f5}Q6>j70!OUX6Sjkz=b>(<#|d{%#vQGTwVWtpB?EU4@%=gwm8 z=80tW^ghRcWQ#^Z%OIsYV#A<%4p{Z6rvyK;7j0D?c9v3w0ZmF*ilPY-p551FAa2iCeUt?K-3A3KRJ3#gKy_=?M83>bnWhxB;`7vYLHx9@wIS<`SJ4 z^A|zO;TI*sZjWIFpTZZ6gSz<;D7c`7?JICy&u%HPFQFm7 zNAa8k0F`I8<{(_$3^^Wx7<#k>dD|NLGf?{PHss(uXI;l2{M7b>?O>_EOD~FT9G|QL z)utXVe;Oi#G&R8qJB#C6B>$*@2Ip|MZGpH9W|)00Tu#bQnbGqQ3Q&DVqL6 zHvA-W64&}>a-JfjAWJ43L`LVchk`D zi3Xp(P0+P zc?`j~SJx^xebnGtduaKyq_IxIKX0Z%(w}gN*Y~F1qhFRrHyQ%!C%7b#%R%s#@)2Bl zqscB5{?iGYQ@?0SriRq)2nO__%RyYfZqa(?2ETMi8f@8+CyjJZkPXyY#UGE|P;Moe z(u3??A3T+hP8;++%x$B74>{!k3z0%vXMGJ9fh#r`^mlR^bU?SXS}jYFIgr8VaxKnGI>2`H>JNG`sOTea`p3Za|9LQhTEM zO7Dd1IdD3>!eU_~N6MmdZZ4CyEs~fV->$AGkX1Fx(NFmxy%T2E-KpIze(1RF9K0fQ zQB?hNm<`n&)~^_jP{a)7O_iAnaY*Tm%}=4s8?A0_IM)XND#{<>+d&yxG!JVK*nB9; zOcI=HJU_Xh;pSE!GSifZ{6?97ZDRvCfiAa(-pyL*@*_0W`ZX_VStOo(e8OCv)ySY|{ zD1`&%2n~6=?HIk3y!uM+5`6U~^%@+UyLC#uBJsD3IDd>IhFE}K^jbR%s=rDUq+I(> zse^`7q7nHwq+IgGgqE#;HlXXaU4{X#yQ6<~z=hQ2hfMu{t}}lFm39YG{32}LSalpmndm0?>hn4pe<|9*NtR z9_mCbYGjNFNtyEzpGO+yWR91OV#3-+B4wKpUR-{w-@Am&C^f*bY_NHi7GDYdL)FCI zk&10!N2inZgwx-|Zf);`rBalpmtVb0G*;LyNRh?EV6r(X8v+VQJKN-Q>VM*g;+zXE zV{=wR6pG1(4ShEu99su*Ur%!fZA}17(C==JoET|JUGWhchGKtdNQ{Vu1ba!D=UC0; zoEhWV#g?n-Pf+gV^li~@r{nc+_Zn&o3yVw^vef%~&g#94Dl~JM4oGD!x?hC$PILZA z)l)eG;9shlR;zSAqi(VIh<01g(m&eA;gZ$iHa5P}IM}Ruhy`_eVMA>dSQFq3Tiv$E z)SlZ3{>>&+JaermfQ9+9wZeRbH)+ri9k+$?|y7kC}UTd~o&m z9;hP^XJ%BUoHTcn{^K;ULchUA=n%N1d!;U&6oNxXrw4q3K*#Q<%N)~J#X3Sw5b5YH zlFYj*WcSyUYt!-zup=^m(3fu`;Uqp*eIhlFk0vd&tnSlCz4BQ)lkIynnrj%lLX~{o zAU1=Z^iqqSUvc-JV!Z4R9V;;`;{osz5k)kWK9b*<#0J?Z;I+?nZ!s+W1-MQ5#DO+_ zTF`)JT9ZA9Y!C)(>1&~N-_n!+ej+rhuSomGIw~_Qe6bM#^nU%IEeWbm3%!w#tyXH_ z`gM;-DB1QrF;{{MrFIh~GhR!G_dKN1UHaFRX#;tBJ|0swM8{rri=$b9B*|6`j7L z^Fq3Ng|yhxggoUZKzz`%OvPd>Pkaq*umY~Gs)3wpO(^~FW4!@DPKC!I!KyhRNtj#w z(-c8}h}AI8EpSSm(i{!(j#G4Jmi4p&$LmkJB7sqyp65D3D^MLzpTMer_id4tx1GSE zMpr)wZa(@9>Jf*)<{FSi5~qL64B7ZC|GBImy@Tk8x9?yV5zy3cJP_$qj#N`C0Cni^S?lEAX0c{8M%y^RgS8|QxEpAX z^Y#cQxzB-U{E8D#4;0@WwG+>$Oag^q_VQK~&wr}1Cc`)Tbt~jeZR^awU~Yh$#uH4LVjT3pgmM0am`uumfz9q*!q&$P-NeW*!_|h~ zbjY8uFq8JtZ)rQEBqW?J7qbn>OlZ34zhbmzEH01L3z1R4j=}l+(ep77@!1Sg)#$6g z1-;Tu@%%2)ko)#}&x6J+nJN^P8%r0N#a%!17s2cVd zW#iWRf)g+X3Ioh&89LM=iiMBD#g}Bb;< zNQp6puC`#5Ehw2_-GGncbj^K>2{4ArgVV#Jzx?lLtMv@j=D^d11@#YzY%{#v|=q*ovADI(NR~aOUX98-Pd|$Sqj;1 zx|^5XkdCNF3b&9-{n2Se7O!H^Cx~kOIjo9$@;EWmM%~Vmu?9PU?hu9sucXIRf~o+R zrnx56%QpYl!ri+R!(lY9k;$nT;Hp#XAZS0vTXXF=S(%D)x%;+e`#ZT_;eGJ0grVr_ zfa*f0Dar#pORqh!17}3P4MRLzJb?GKAi9qUQSMKI=}2j|kPDx`bIay)iUr&jw3EY4^*Dyl6lS|*=n7F`4SRqqQwVC5)ZtO`I?hd7ps7D ztFNvc`&?Le?3GpcN3OSaa=c{WDSq)lr%Ndh&c7Fk+X&|=JU}PK+%;eyyiHrK9?+;b z6!NNONH-kB-MeZj#5v{k_*;k#>CIlvi|oc6S%kfISLIS<8vRyr@ZZkk?`OR(H1mLm zkIxvg8NXPab{gJYQ3|@hF<2|3L?zF5FH8u8AU!8ShR&zpvI6AlJ+l=vW~d(J;XGPI z;^my@W$XvEn{Ve}Q+{RwIT;j>D=cBP`!+$J%N|jJqHzzN0;1y)sji!j!-SYks8Hff-THFO9}LE^Q)Q^Z?LB+oe486eQ3m;K)Nm>atZ)mAt^fDZ}bRWOo?j znXB33wF$}L+{=ijLQW`WHxv>C1z5cB3W_`i$Rhs6l(o4x?#tNhg{)LjOTAujxH^=L zt_6OhefFuLNbLDed|I#B!^TY8H;^6YgBXHEPVvlw{*I|5K%IT_vv3VW{6eNBYc2$7 zg3a08`Bw-g_(HIZQL|y2Mz&trJ+^E^+>g>_q}bg^*y<_L`pha++dK($Fps@u-9co;mqCP1Jd#&qSdruvdt&`!Q`? z3d+io_{ajwQ{ zKla~*kM6N!HIQ2xd*AsTR7*tjDz>WP9i>`VBmUy@_rauI)MXd@LI8X0CwTbU~ zhbnt*tQH4euKGOywfmqnJ9uweieC}1J~&ApjlH{W5nn*208Mg~hm+a}yfruXasW(w zfYroI)^f@X3ASQKI2POTTI2RbZ5WE#p^b}PI5I3|^4yJ=j;l_5WV5#7zT08d)R}cr*AK!3!JYQ?bT_MwxU+}J~`N~mjS^Z?7&M_7Y? z!etf#mL06@Aie5rGuwpoO;PMBwvdwYP5*&|K@|mQe(UMuG4^r1qt&bDZ6@QTg|Atu zvbhmRAA@MD=rV0!RTZ(MUIlv=Y=!xb4chF=dT%C%M`5$E4c2{{b?NEK-{Qe)N#Q7gI@$)Uo zcO#qa53EA$K%k=IAMj2Up{RmWO{L=KXAwkK_7;UuhoY8h2!HOqK@sUQh$Mp4&7LIG zXO#Nt>99M(u5NBOT>N6QcCe4?=ejS)l;h$&abun$gTP)_Y02^Sk)F3Llty>SSTUq%|7-ZEM0mex4X3>!%-nCQ&T z#*pR^Qlt5MgmUw4N>@bfL2q{~HMz!##BOs&W}E{b@Q>Q{)@wUuz>iK6 zt&Yjwh%itMezd)9d3!y`g5%Fn8#+PW3$@+r=F1&wx2(>&7@o9+C_c1NNvw$LD+oWK zGbmY?WL-tPX$-au5$Pmr3RMoS;hY@_HnDZ?9o2=TpZ1xt(D6lT7*4b)d)~R;y#QYy z%ER|(875~y3?64L#>tMH~*FI&_4090S1AmRQtO&85$A z_h_xll4R?(mCjQFbBez%+nqmvG+Er>IZQd$ds@=g2K%qZLW=>hDzAxrvJV+$!u}F% zlx}JsE1BYUSLLCy0`2I8j8*nj(=BEjy?f0Hsjyywqp|(TfT3!~>D~%f)n%0|L4ZM7 zydM{M`^Bf2lnTRAngN>>{G5yMv<3&;fclr!{doOj<+{Z zn6lxYsJyvIhCb)xYZLon87Pav=)le`55BSY{*bsNC$+5KWcNhgA_TZX5S0T>)M!!c zO)WHOzXeL$0PVuu*Tos1flqh@(E<~M?gbqvLer7fE(hWSH1+DqdBao6(GU%`uz#IS zhx8W1H)_k$q(@F_DUicLvAEM>6#7g>oG)?xgVJ$NPaFUm%$7L= zwhal(_P|WmBM=FH8=9`UMj=FgDutsUp17lT#@Fymle3wl`B!B(uOOZIO6^tMr2$Jw z`NLbU7(wYPyEhGAysFOO&127cFHQ_npsSZ4hNMFS)|4_IZ;LE}k?yKnYlDkkN*@8v zqM{Ua)-8UfdsA5xp*9yZvN%SS!{QM%d0Ql0BlrL(zp?n)k%M&}p-VeAKX%9)T9$_- z@f-|!$Wj~u6e9U@>nl`!t#Ap-+gr1uX~caOSPp|c_RkBjW+bucF34`g8Er^kQk=5( zao&K?(C=4=&$%N-da=-}4Pi-v%5GLJ{Lhv4fj#I4iO_Dun6F#H^gwJi=oSl)iXrhJ zAv|T_+FW#BSNE^r@XEenPp>+GvWA8NBJ5iSFO063fy z0p2D7?a(fwe>lAT7!Ox%)$g_`30`3vgIf>52gT%z=#nHd?6rAn!f1@pOs}5WT4&?T zk{i?M1h@eE53vuA0Q=p_;jETzF(ac+td5YrYU_vH7$<#!xLCLa)L zLx2e{AUUl-nMi>G{4kwdffw98ncpYJxtq~+x~opz{4u-s$3~1PQtI5ja1@52$3m}- zXV*DPX^^7;iMsMpjs2I_yxcjKoW&OZgc_xCqky+ct_8w0vD>J*)=0UCCv&FW>@*S0 z!v>j8<}%n-2Rp5yW;R4bD7B%<)=&*lA*%3oF5Lb7qL?a=+JR6I=2#3WeN zyJ!ZkqY7M=5=aPqwy77*^XHVq~U>Y`WMmR-Y~N{L-R&^v4_17w{COY#+YP; zi_>|8gfYoqGn>0Gw0Kdb17!zeZIemzIDKax5Q9_rgtlqv{e@IndNz5+L!)rhenB;B zrru$*o1LOdtIh^8!OKM#xg9vr2uY#Two`4!9{e-7p$&Miap5=dtYIXJYClmeV8Z}3 zT2S9`-g0RSuIGj9h*4Cg8NJyJ_J;SYcUYm4(>?(09lBY9-GmsAkZ zpZj+-5Kmx+Gm#4`TOA4r@)-3_Fq$qvkldA`%Ub|+X}cTGotP%PL57nISDR&e6LKYq z1BRQN*_G}dxLNIqe!&hIxRHj^t^n_NiL53Fq{GLjz9$@}#RJH;bW3L;M~ut7E%2sz zCz3aWRk46G5JjGJpH25^nabo6unz2Lob(r2!o&hjUJXbH6bMk#*%8_%Dl+WqA+G&y za2hL4o6MM$9l{HYz>%ny{*|}BFWB;{2&!H2#>?mUfaw{&gOW2)l#PU0_O`n@q_xgD!qx9(HUAo(_bigDebli4vm=c z0i6BQSP0kDe-Cy1WUlrA7NM7suBuTD@^X$o8?e>D{TdiF8NRj zHOky#W!JG!Dw1AD-v8{#0?I2{7xc`ZvV#@oX-mIs4K4Y%B`bAszg?RQyw-)loqgZC zVust3Z%JJ*L@U*~K<;`mjXfTNTX7 z!)IXasSbO`BgjqX)HjEaiNa~$sr+=FHHk6>Xl(QK%5feQY)6QMk>12zEij0ut z#S^jq+_^QsA-2PTD}oF?oPJUWpv4V}X> zlhNT9s>=$HgJ{0iDce1pmGb#^4{kfoe*J+u&!^XH*^4Y&WTp0FY?@dN{J9oEx%YsF zbQezN)^EJ@5pLh5YPewNSIbJdU|-pdY|ssTf|H|=T z4;6Ro8lqkU6(f(=f#Fko-%qm$O9Ugpa%LI`e)NXg^}xV#%-MsGyTLz%Aq8kKfT_{W zv~b*r%3+4H{tD)l=>ktSAEMx|)e(B24TZErlxS2FUcL+X%5DQbR=E5)|163^-){H+ z;?^*f#cEDJxy!I%7Yckg;l?vOXTFxoD0dJi%?N_2%)C9bn>%$~Re{L2!ygmr8 z0z}gKYRZuZkD4i5y8Vz>ulg_t!BlXkgMY~S?1E`_t@(+NJc=fLzg2GTuPyW&4R(#4FG6Ssh}2g zZy~|XL3BeJVok^*|KuzvHyc;toAxId&!hidsp1hY#2{}Pz^Wp~>K_~QTWk|BnHi;| zwG5HgS>s=0Vzw;qYg9|l#W4qhvFMwd4ur*ADPPo3FnzfpO8x8N0gM=I?cDRmC=joa zc3Je-(TBVtm@_0HQ#)k=W~Eegar*QHRnZ6cVh~j-^fPMC|^3U)-;kD1l#i#u4%t zc5tt|c}-RnNULu6R3qpnL0L=LHL@?5IqE$ARJtJ2Bj|+w6Kl|~p~)FyJ67X|u^`Ka zu_;%Btz?o2ED*Q&Zb?ie`+fUm7QHSS;9`v5Br4?=#1*v0+8c`ct_Y`G?{O}F)pSCk zv<$-eEvkiZgG*tuMCkc#@_8pjDb>@|@n2$qW|TS3zb-5`&(ze!5bGmdXClSq2LyfZ zioctx1+ujiBVq42cQJO?aFVLKf=@O<-%4VqJ!m7f8!lbK`6zbfm)ClQ=(|aGsoy72 zXo$olw-sA}?CsA(%1?G5EC#bF_8g@6a(*b0&^L!q_|SwQtHp=vu8-(^>~KYi+XK^l zox2Zq;$3>!ru9!m#4!c-jSmzvyIE zGsKJ}WtiVky@=+K&`M9j(UrE`HzFh=S(Y-K%Cw-vg%%Ggn1daJZalx?_xi7m9%I)r zMWV|L3Yg391bi!hZ!$13YgWjzk9)>k=AAMf*1JXsQUFi$|pwquI z>N2>zFA$5Vv#;-oH?qlpf&eF>5UepCKm^fMArCp4adBq4&C18r$rDfMP-4r zh;MBk8+#&Tj&c9&lf?D@-y4xZ?tY2#q{RTarF7OJNp6BMIQ+#y3DlWx?=A8Ln0KS>i_)`KQ&e=j|5^pSd2t;fJ`edvRZ~9k zk$l_9VbWzS)|-IK`_*jb_f1uvswrHi!zy8CIHD#bLJ!ML$6_$nMk6tBjStQuG@g$w zaa!4&$G8T!9OCXiulUPgZsjl+;A!ShdA>=#)QG8vML zEAeV_yg6)cCrr{0O>+}IPz@&_AG-jkH+j!KYx^tHVxI}f zj%D+v?Q4vKh8EDXZ#)F?v9nL>aqp;U5GcR%>k5ulZmC}3m4TU{>ftb;&ojTy62jsHk95+hR?6hUCZLcwZoyW8Vl%6L` zE=ME4KTk@o1vb|P#EtF_sY~32{(F7-Sq)%rK-?5iSqAd`h}b4^@TRjHhpW^B6w`1} z^=d8#E9lPouC%SW-?zS2As0+Wgj&af&#olBG;(owP7_bP1HabtC!X}RpjMG z&4Onl+GW&U4968WwREmuA5bXTAyZF|9LqyT zAg$)I8->>u?_KSV6eq|Eqx;ka-DcQ!>3o2@ zwAxyT1h8(HFPJtyQGyBlfAP-HyfkbJl)%#Ad=Vn|swim-FW}Gwb?8ug>j;nfu*LC! zzzRR9<%9Vi-=X+&c}|~}3e53mwNd){);O@J5h#>bK>u}@j_D7y7oys_a=a@vRRJXf z>FP#g_ir`o$cs(l4SdxpaSK~Iz5L-Ev%(bQ1~Vl=fggm$T7_%jGuDy~IOKf5}UoX40ga_DN0N|8M(o1?i+f7;Nn6 zq|wj4ao{67LPa4VNs87cH9ccOjKtJ~gbig@sTOG27?bL|3pinT$2 z1jhDhZYFt3nD6W!71lK;1_ijg10D0t;osD+GImR5tQc$&lHmN)Szt8Gqhu zNre9l_R4JxWj@)I?M)oiDfOGS^nbxjVla#EK*Ws9?R)=feUPXB5-|iW_EZDf#qH6&5O0Jv!wm2 zRNfH18%y{N;$3PpUE8zJU-a1w4FrT{A#62O`7-oyEp$Umq7B zq7Yp3&y(Bz2lZ-`LY(N>plPG7|JVic$o#!z3U<~}+Vd;4`AP;XrOObH2MlcpO!mGn zWhpNXD+0(feG)8U!Wq;)*nX%T5d9QHqVpN4`+k;j%lkR=P2#9IGL}(yf7&@jL9)j@ z6D>s50LU=5z_E=H&AVVPG|6Bc)K~E4F*fi9EXTdVJ62jWA%$<13M?&Pzy%56 z`XmO$bwMs}^BWzfS;O&sG22(NKnx~IEV+xacp?no8P>`6Vw#)oV4JWC?4|KLPpvFwL{!*rk3G}rTRLqe=wxSIRAFy54 zzQg|jCC0lOTbbJ^-|exg7x$xtuk0Pm`^OZonrjKFHn!N(2(3ljYslIk8|4kb`INs& z&A5dxvw|*6IZC4Unf!J=spqQfY};ChUwY3@#%F{t-{?d(Ua^SQsGC)$Gq2b9UawVC)NK6ij5;YgjJ(a%nHWWro9b#GP=2U~Ybk_d8ToVME}XrfQI@ zvLQPY&o6nlDCn3moS0RGnWozP71SkqLaR~1r`rGmXSb1+4frODpN!5|lxl(j6B#g; zUyyNYDKH-JtJmK$@yB$THuAmnU@y5swRb$H(wP|rdVPoRk}+>5vyQhTc5f5XoZ)W2 zz4u=!j7ol1ylA3290(x|GL#YP+2q{NEEb~ruF%S^j*EYB71rvdc_Q79*@O~)o^C=)3k)Om&j2SbG~O}2B)FG?LzRECO>b*U1+ zic%wwj-|jJ&eO;BE|lXsLkT8O5qh@|)D9wLwUHUv<`Tpo&qV*NMmTSLK^b#gNten8+%IT4`0MqHNiT`AJ4)S*8Ul zd)$+Ow9l-Mq~8P0JRrc~Ui>A8^+fTCrf)FcSmmjriLUT=f6)@_z%Uyv{>Cqw#)VT@Td zYhT_;1XFg!)g(WlHxq~;*u7L3?Pd$03n)USAvw4f?@A!S8x&yeWz@ip*<^;Of2tGt zg36HWny+WQVFdC2!2IicfGL8+@%U!s{#9jOH4VdxWL01=LS>fVl~b~h)d!hI5}fLwPpzNj`4KK(Y0gr z!Ev5-ED)=Ov(eA=$uspp*oXylG4&wI^+LTbqZV%(OG2hZ{b(8J%yiM*8{0ekb+A zxPMo=YKAU=k%cO?D*AXUCfNr0L~Baq zV2lzA%qIHtkR_M-GE_OliD&iT^IyA4{A$+ZDv6cM_bO$x8O3J8BQRq-5m_Pl!WW-| zkL&~8{d)K*lDQ5%oHv5{T?WhJV>D8RN=R#l_Q>jYI3}>${+V3?t|@05!u1364J_>= zvG;h-P-LU~*MpyPnrbyp`UP>peaD#PIv9-t_!L~TAA4zv?l^;GJG4+uGA=BUG3A|F z3$7T|kF-?UDOWOGyvfZP6I-BVSE!nPG%0_l5Ft}pAPe;(x|SyM{55IxR71?5sj)>U z7?!xG8EdEIdh@=7^=8_TDyncS`@L+3jp8U3PkOFil5@hs2&{!5xu8Gnq0`(t3eo$A z{ykAkMpiEUAWo06Vr=(?P)FKO@<89Yh zK3$b*b!^b{JP*yb#^IAf75OqWEzDu>w{+wyu2;9Qi>T9VE8t#GkutMNPGWaRrg@Zp z4zKgUIf{LvL|1NuC?Y@qBF5CN@hkVBgT$N*gsnPa;}&XQ`Il0s@cx5TIWH%+K{dQk zi$yyf1LIGvGON2{xDoMLK2Qg?*vmGIW1uXeiuATdGJhd;i)k47@hIY@w}gPMJgjK* znL8O<2SU`a2#L~aELb;JmMZ&{rmXdqp3`mC{DS*n#|iu#Y~@*Yd`T& zX1FCyVEC)<*H0qcn6T}J=*l-Hl{H{U*;`TYA?m{A&PI-V@Lmw);(F&$Wa07Gcm#B! z0h`Xv4{Nwge3U^$IO_POBT+X;kSl!7+?8T`F6|r^n4jx@tDQ~LGxX#gtaDH$`OKBV zhv#~h;F7gjynA^@UdF&@y-I2yhvgLSC#XYEiTOGjPWr@!gU5#KVqj{%38!j2l3EzR zK6oJnt0z%auC35;5Yt*{A8%3pwCxl=;fc)$t;7e43C@&{d7S3ut#tpq|W! zPqD`J)rc)Jx+i=tJ<^mK&_hl8bzOZvYOZNh#UyvG6Y`cpQ`07<6&gOa6Ffpu$VHrf<1G zH%dYAr@51W(3)#WojO#Z&I(4`VycywtXZ(&z&s#eorlt2$%^;eUh=q-cC#+rz!o!A zr6ATLL13@rsN1@e?pr$yJIG|#cSa{%qrX{HTyT5v9;|oFm2WjpNj5z2Z4BLFb%gCD zRMl2v!pd$Iv(&$s?69t!De19(LXYLey6W1_`qf*krD1?%>Q%W-1|Tp}%QRXRU#>Tc z4;`#r<8M;u2mcK*=bGi2GeRMYG6J%N6+*Qn=76WP7~@3M4#dQ1JMdCF z9j}>2NN3NJnMC%l7!`6Pfz3SSVMiLqjQ&G1aPe%*K!7bZ7L>YKg01kWsJ+}bwqCsJ zyJu9c_j*mnrW`Sp#@_R?82y#QTP{^|cO84$@m99PGL`xdTJwIN_tz%rt`IDnbfv{P zcjOU_maaX_>IzYFAnT)Ck(FIX^MkLuD#^w8kSQFWITn>VwJ3DCCO1FSO+|3waq(>J zDIg#BoOgtisozE~y-@=(=?uGu+R}<+fhnr8W+CDOKYsh`G^|Sw2lW;_AHOoLeJeV_bcDd21k=8yT%#aKQbm~{Q#Sd2$1#mM7bth1f9qF!5RU04j| zhV)d`aW&CZX|Bfbdokp<)&&E6;i21&$bQ(Rp`P?x!}6J<=fG2kAae(A-cBI-=GoRw zX5*j4LPLqGO5PVRs(p$?QLKT3K(Xf!67*WL*hlfhM_&WBcCni*ZCl5C@Vh1@v5-N$ zMc0lkr5&0sME~qS96Ye;e||=B2$GJ(?2-T-g#cxA9xd4p5Dx-I`r0c;7OkE5QdHnd zr>G{lo;fgJdPVN2e*Tno7HXxp`nIELH8kpcd^f5x+4R zaVw-53cc5tiF_Xk@JQ7(n3YW>weB-+V0=LX)7&mEu&>jGby=gP^aLI_ZFN{&cUKUg z4Rxu2(4+9;0YW>+Y)6UpPPK8pjsBaU?3e`+btf(bki*8Zy}~(*?j{^U$u&D)pW-ps zM@sX6vm`c?8G1%Jy>s@8(L&jad@L_(dv@e|MC__zrEkewR1ecbZA6&ZKvsFyPM35! zF1Hx>jbMI^AtuE`eN74Q=g^}E3rFd(D$RuFr>rGgmR_Zn48Blb#kC4pBPq9LOEdf8 zzL2{!@XjzWtn;2-!dUO=Cn=-XE|6)J1Zlc_lf50--uePQ)n|_cTWu<10?9v!hvhk1 z^1kv#AyBN7glk)$_YgW>+&D|)z>PL}ewz}%r7P(tI^|Ta1ar_Z3dQl+a>BwoE1!?h z*stR{iAvb9!O^m%604djN=_-HF<`et5$EFRuojVKD zO&j71QlZr4SL%7gP;>~h$(`i4Y*{3o`hzVJ-EH{5_55!q;*^>D$!5i`>iDoBPL7f6 zIT?WoL27T^{j+`8z4WyT@7&O28!9padz6W}S4E`Gizppy#TxcS;47m9lKppdZHyv8 zqgxsbz`7d_Ic)+8G6EJ4UJkm~fpss=2$C6A}2P9h*1-IOb&5sj5 zt)cGg8Pyqwbp7ieXX7q+SM^qQ;|YKH{rFGt^V!jFHH(5LG_7EQXVLvQbL{tW z%Kh>uA!F-m5Je0aUq&uFUJf$w^mgg5SG*nKa4(+A`-O=TjVRnFEWg)(g2^<{Wc4vL z-SP-bB{W6uZ~kby5a9pRcxKTdWR4UL1+rDI!?DA_KCVCdKr_U6Z!+LG%fuW*vVu^d zuQLBH>L7&%FnWsn-fW&k@4H$WoNL7^5E621ihaIz|Agvc^h#vOW|Eu}^OjnFz zi13#DjE!q&?Rw5$x_veN^hS6z?Dw9gCFA#zI|;-;u;9@#Hg93{y`V5v1_GI)q;#+pV5VICqa!+U<& z_0>rHivX@B2*)cUb5beMo3FbU5%QA0i+$=zMqilU7~+3<@BR20LeSINcy1Y%@QAS3 zcQq^}yCo`Yr*}7xWf)&)XFB1nndE--$&KM3?p+r(h3+Ck#EWhm4g{{Lwds(|Oje>3 zexh@+a@z^qI9pQd3S8oF`3|W-oBf-%OM``^4kDheYfGh!4bfTsZP?x6q&5FMvpxLUqwLZmU&Mj_uHq${XuP zaP=dhwa?L@3eHizwt4hnFxPgKTw!W^JiIv$N@?k0m5o2L?Pj?Z^t_(4VE?%ZNL8?J z{k*Sm-_U>N{Pj9Z95PV_lDOIM#nJvvggGkzDF2iA+4;lx-TAZ3XFvzd#AExGT3w{X zohS-puG0RDUTRT;`^ZT9f!kZRC-}r|GC_4C5t4|wU_Tozcqzx8monSXJH zI!XXGYy%4>HbmX%Wf|mlJ$o5y+QVAD+#X~ZnTP}hQUW=Elli;$p`b1je;$GhHeZd= zf1mZZ0GBHF=ioon{rWud=doX}D}(OTEW!FPL^tdnJ~{RAgHVh*?b5Q;Fh72}vSvFm`Rs^adD#Zb_FZA4B)a$<{vY^_&j%T#D{Muy?>Vcc^xfJLSoKN$9(aDr9*tP7GJ_j7Ueh){RT09$Ebt=>`$EsyLaU6|K$WTG2fj7LR}0MF*12Fhe>t~!OIE3`0~}dJ)x~0j}$&x3fuK1CXuaRm?!X? zW86@+*zF~txUvA15mwjS5ij_!+Y_1!6AgJPs)9&v0(NE#j%9Osk`oP|eS-K{?mQI3 zdB2Cqk}R?Al02ypKSZ-!mzij_A@ZrRTCJiSC3hWe z9v;&c;t5sucgOvzX4j4$gD|`%8X}t0k!%&+$5h9L94XikNbot<(k-_c#t7BO_kZa~ zeWNtzv!I`N#=clz&8feB{vnx$jl4XXSgDe3vGSPwF*`Ans4-;BUJ-H^jE$%@U>JSi z$dMQa`1tErokJjbyQ64$h2B9_%}6v%LknbZ!=rfo(VJvO^*zL`1-;LRft|8Eng2G{ zJ|#!3gd+K7iqLt6R@fJkba|xbc82^8bvnTj>-|wyRW#wCNrd{Ri-uI9zrVE*=oHI^@kv<Uh(%TuNv{8xHe6djH7U zRz-@l+A6JG=OSywUKU-~^UL%cMMx{?O}l%^QCTQ3PKh(IVT4o%uJR8a8K(TeRP7(A zb73dqdBI79t+l1EIVV)isN5`jScuyeJw~;NtTS2h@y`aGlDIsP_`i2&$z{?u!57xc zNWTM6Uciog*)8kJdw}>Eu}OVP!c#+4wR~%H?UpE%wftDLPa}zGuHwIQfFGhZw%N$? z1u~%nmg4~_SfR@9Fp>)?8y!O!@F9nd&gFy1soLi}{yIR8GBINe_|&Gk zk0^9qm6Zl#D1FFPXAQ`SXv!d)Bvs7N_VXJbbwWT>FC|?w&bjvz81&T)@#Xkg#PaNhdE^8V9{hebbbo}23)|9d1l;F;Qf@3 z%r%~RP96p{=BTANDW9k67-{5GXn@4tNW{5vR8n z4jN#ii!{zY>YB)>M1xXx?W@S3=%m7lNA-BdOJ`Ts9dq8ryTA~J1Rb_})5@R4NeKy# z21XjC!40GY&jdp0elaMVH0lNK`y4c5zqRiC`QG$i#)vlJ4Kf?D1m}&G3ZRlEz8E(0 zxUTbj62zX|iFJ8q(P1%G;+{4u&lg!Fo;6yo5z~Qse_#h+4d$Trz~I7!wlkN=MSGmj z10gm4BPpVGW|y|N*Kov)M@`eqOKRnAPoju=c(&t&e{CT*A^vPqVzV2N^P=bU@oq+Ld{i0Tcu#c^gBS5ZzB9> z-9cDiT4BLTo7A8bxU;v@kHJHq^$}{NR35X+-oy_2GVGo6#v-x(@}q4Qx+G&yp~PWH z&DE1(*6Q>#a6KX{<`OAe{lo-(_2=~>i)Hrg#4S&{_*9lh1?4}7CNZky3VGLK~HcMQV z^L9!K|5(OK*V=`%d{ zM@5p}lVxPHTw9X;4L5VS2>B!!sz27>55j?5)!noGiOy6PMjVwi)D%vZ0GSN?LtH^ZLkIgB2VLI z|1?JVQW=U3iR6W%Mt4W37>OhoOD;&=63d zQZj5rsCPu)-fpYKm-IYb9k|Zpbw%yEh}yT@`sY6)SsCf*^fckU>Aw>nD~4?xrdv5E z82A%o&m#xe=vHuPCqoISI6ooqr=Rg&1GVNsJHF5i!NQ$g1PY87T|L}5o%j#sTLCM? z$AwpdI+Ypkfz8(?rl>4=_H2lG=*NpHEp&I9o;r$Xl-Xojj&45^PNvU(8f05CANRP3 zqrGX*attu}7_YST{Bt=iLA0rD8{CfZvlF2iXYP!-)x@+7HRK2P#_E4LO0J?z#5ObR*cUwvU| z9Ade;^GFbF7ONCPQk+?$Zr3`BTQ!}-I5MyL29^D|!6yjmY7>|t$U z|I3tN0rcN;+i^}^YJNZE-v2t3J#X3b&WRplj(!4c^M#l&GPt;HEtERTegv`(KlZeG z7D64zcup-(P+Kd|ha3~wm>!W^B~LYe1OT2RAWCVw$f+~qp+~|`TB5C@w*ht62JtT) zEQq>LTh1q$#;iMt`*#RD#+B7qKuZS-XvqL1CR&VuLz&jpu_3g};LqNe{3+ zPIjXksR$p4&X7g~A{#PvJxtqbUv~N-qlAA(hVak{3R5UVo@i+9A`@al3)v5zzyBIC zqi`nJED1avf^j}Y@rE;4crc=xyqc-u!eXee!H>(*u>QIFqRnTeLw(`pNU=H1WG z$Xt{QJ){Qf#bPpLk(G=3_Bo|T$?X%Ly?&^9*Tt(pHs*DK>e{x$!{n~ZwbxX@886#S zBq6tuthy*)q&@vwO(~^iQH8o2*^yjtd84$UOqX}&O8RJwW8oWUxi-k zvDW2v!nMW_IIyP?P9?Zqb6W=yK{_XsG`dQJ_h1(7$10uip9q$47qww)JunXqKX#5n z+`$AXGPA5*+As`#C${(WCkT$<bbR9gqo zmf6YOKO|IioW$A8sCY{^d%&;&2xYboX9TX7J-vFm&l+JB*cXlvAAGk;F=-K&JWsOe z7on#{2e50oY6}t*bW*+hs~WeXIWM{>)&oW5Q)T9Kspmr|DNi2;5au;u7G1MS@IJ~D zEvg)JE7N%rC)oOIb-QvYAPnJ7x##fM?|je7x7v#eCTceRKTObZ_1Zn zDD_OVDmTI0vC=Ie@ zqpFZDWvXMJy|;oa5~7wCcEj6%672KM&Z7lU-LCL|BD1|B=1F}wLAPCBEH_(hHZ^Si z^)HrI&D-4@|AsA`ADiPpnKIAwIG4uHf4dX7YL^~JRA1=Ztq=n>j>`bzJw@R#w2A?f zb{00q7l5vPKB31gRU<-Mu3{*)y&ox&U(iNFSVD50gAtF zvItViYX#UJFU?g7V`_~!Bf;}r6gHuBr;qT9KnAjO`-q`fDNX_==3$Pcn%8%l*IjqK zkL<1|Xkq%!HQbw5R2qw=kh!YT1uO0c!7_t#9DcKMv&|y+z!bWQT87E+J~*4E_iqUc zq}>>XYm7Kd*ywN7N!Hn)sVgo&t~)i zYy)r)Oo3!_>03XpOEs=`xJsn~rVP#IyscIU0~r&NG)#rY-_dHC_oE$uph!6q#fDIt zY3g9avM8vPov9+5bBjdZiV5>k5Y+Z{4~@gh~4}=vC;P zRIk!fZ#~qx-)0K=|75q>G})trx~JoghIbL5qu3u}l0tcm`rSgwwKIAcjl*p$vcH8} z#`*D0I}%evy-}J|*MGAzM+rZ_ECEmC|9ex!8Zt)*!45=Y^c7 zl`{L(AcAF4D;fCGl2FIqT8KH0E`ay_yW->Yu`NQ`q)Fv)C}#zkE7EE8sV9GcG;cum z76EZtv^6gzo&zr+_8caf98IJ?yw;4*h@`HRRifYEesj@cm@vwoO~~sRI_x(^*QdLv z#ussCMLy?700g5AcL*Psno5lg?~MYguBpv1X?@x-A3TK- zxyjfqD)C);+$(9Nx6=pH<2)u4|1$56Z!iAOe8fTa+i)XPvbVx1?}b-` z3cT)IYPeYvP8Uef;2D9^8C69!Xa`cKEJ79F-4+}n-_owleL;CC8vJ0fX~bz~V#mz7 z;63RDakP*z+0n8)Wm2YR_wW=zl5#~VD@nIx3$`S)oy(B zO+!R0XBO5L%x18Yh1m>LZBg;e0@HCA__+3E2D@bA^SnVmtDihkguds)Y~mF1uE-5T z!}@sVbMUvFjG2`7K$h;2FRx`3tc>{Bt~pu0@B*5DMTjrqjRk~(NNNKPh_Mf3X{}=4 zq)`$3BwM_!jM_}SYae%czCK7=5$y(kRGBx+*A{UA`%JtVIH2$z00btdfW+?tNmwk-C6Lw*~OP_qU_{tNYL%`7GRS2GG_mL zHGRpofqXs^mbYI1uYS@P_KR{{57j9uaN`I z;B4w~$xyZs@0~PDx>nNtwq*{dHl^bra={Sv9YY+qv!1`XYOp6Iz%M*PX&S*weW+mN zQvCs3VAq|pz)8P+;|BwS;5UqMjIGAQn zBBX|(?9eX6Fg3L!=ysERfSs7jD(Z@@Fr9d)l|Jm>vOQcbT#XW)(ARpD;7#I_zVvJ% zS;DC!Icv#elTVZxX_1^=fOy}7=}rmFL#A6P$5bl^7g=<yH8S!%5wO;PAZhj&WLYx9dn=`{?WnK zQLj!1M(Ps~#Z~o&j70)#voUsEmLf7r<(0e``+k>zTtD|RtxYN}HnIj@N!CnA^>@Pn z#~X}KNge+%dnz*w{f9CWGQRfAMb= zI)Z~~Tfi%iC5xwQR6+1DkbHWhPMcIqtrlQ?)E0-Cj2A^G&k^-*%d&Xd(7&}jOz+#H z;v?K_;Rl*^-FHFuRM~7LL9akSXfGR=^tknTfU_Vy%k6y@e=iU(D}tv%rw7Wu0Fsyy z*%5PuLh<+pfa=Ry^I+yrVV|kh$J{;{x$~9(`&s^xkpc>6dn-{kbEh$A#V3MqDnR2PX{T~!Tn?4?BauJ zrP^$7OBQ$^Xk5I7uam`JC#^7$_I+R+bIvWT`chFAn}TOrlqo7%#=x{SvQfGn)<)xO z`;91i2>ZU-rR_X^+VcC+i0Ie#^WX3|nv#CDDY7vE#Fa2$N@u7~zjPdBxaK^4xc;m! z9nRI50oFs3KWb>vDdh3I_hV3AzU7L{C2RBr^QPyKwj40;o)a|C*aWwZ6WJb3gjXnI zI2LFcS-XQ+NkI|&rXE^VJR9kl7ZHA=r{lrpyY?DM*NUo$F@r?Ivhnt}^&-Ohx(AwR zW+qo7-GS;NCA5o^mI!Q5p8Z)~O7cx-yA@=pZ&v+82vasllf}yuRD|wEgL8xSs(L-; zy98aZp8=Q#J*;{x!)pY#Ccy1gwRgn*Kt_<=>UQgwtzdB7P|c0z1vjy!xFM=kx6JYO zN8;MxfOviJM-!`GBYQwvKW}%D zOx87Qv1Ca+gCwgbO6tvCPFT`3scE|V&kJyj&i(OZ^U6U9ZwEt1RrkX-mWn-wEw$p& zOZZF{jHjlXngHdoCh-b|<-r@`E{L1f^+8FuWA%Z=VSXyU3c)Nc@j4{`xdIq!38=mWcoMmpS99kQh;ZPK`hE6x=Th)WZ9p85fUA&Ts* zR=kaItlIkORhC4c5i?m)RRXRg^{OUo6{%3Gc*Zo(*1%|v6Ii11XEqc%tv(L%V6hhvX?1D>L zDQ2&lOW6)|MGYe>MA$ZjGVs$WMEd~OGK`ONy@7`aSxv&v%_pa>YFo6NxNhYtgZ#GB zN8wiG8&M#78&uA$#PM){;C0~K>M~)EH#dqFGMJc_>LDx_<1WEnxfpb^@xX3Ma)m(y zlGLTy{+#t~imEeN0s#TZ)SY*4BuL%C+ zeuv#Nm!g7I^nkC8w{TrW9b~_P zRywNJI>y&J*X4PN1T?%-C@B53BV9M2EoZOOpW*tYZ8(EjH+ANX_Z0Meaku+G)I!9B z8WUoskPKj|R~r8oB(14_T9`t}IR!3+Y94PIjHNFs3Y(Vwv)xab zqqTNnDW=&80xP+6ekh)}5HJL3j*rav)OKPN(H1Vh{CWa5RJB(AVi4 zf;;2&N4cM$e2D4&)I*-JEsb);ZM$T9edglmKd}T3zx4 ziaahD<@6_8l>a?`w8*i!hpfNbLPfo@$NyL{*f>$S*{K2df>WT%#D&OH7pmk_Bs*nR zKIYU157J>tODjcLyPexh9p4K2dc};4kw9;P^CpIS!jDnu06wh}HqwaVEOXRHRl5cF zKownKEQ+t(&3wxru`!N7;mOOqOT0SP+nQGwOsuXVf~yZ)`ikgg1oV3|!|Hx|u#O67 z&(KM)a-;^G@?<#E@Y zHr#93T1F4f+(nP43k^a|e@h(7bWooof|`Q!CtU;CQTCjEjfBu)VR4Nf|Ml=RKzbI? zT6nOq#)U-44f#XJTRLbbWfRN!Bw7Su*RpbwARyg{+p}dcR;|e!vAY31!lOTY`*aW_ zGs*?hT<8dTU7+_jTbJ+}ehqZ&o>K~)SAbEHw0$l` zIcPGNFa-gOluSu7xbz>e|3Ij`V-Jlm9Aq2__I@7V3bgcYTvvm^`1mD zWr)WtA$ksAuB`roap?BAPtoUp5EV-F4%W5Y!8>tfC-eQTI55<(d#DepC;FRX+O!ZX zY1jn!Tf63cYVFvo784zQr=QUMmN~GPhLCbmBvN{Nc&MbOsXbyan;W6KYh^ z6wwgvi%&-V=E0g$D_>TZF?866w_J=K^TFbDp`^rTsW9>RY%Qu&2XvaL$*TgXeGa4+ zNHNUZn46DRZBxstpOpz3tP#lpa5o zKJp^`Tg((h?7rWZVUPl0gWrGg8x)BJh770xKOpV*$#%{36sfTSu0WhnF#pe3nY%FE z9ZPP!ByTO*BaRx!&r$bMQ=+Gu*E?WXr(ZrODAkJaIm}9a?7(cqEBtN>vld< z8Rf79I7ts&!C<%WzaM1NCSF3-9?Me6VrG)8j9-akix2hn@8d=D29DzLy@Ri~%{jFz zYx2}pURnfG&116IwDG%rWUh=Bb8qu->M*~#Ndvk+8DgxS7dP0`^j6=cAW*!!{dYEd zAHr8NN5ItRF%|D&yZSj+ktG^`F&w6zh%=&w+a|lA6W&7I%aUfl+$iE7s3~NDbYaL- zWI|CafLxUb>|VBk<)w78-JS}0i-gIKxE&#`+}Sql9+n4Huk6+YlvnP)G?Cv2P(G03N+uuSDFI;kjGeKa zah3_5*+Ko_`jcc6T8LhIw}NRfC$Cz3Hm?TA)Dy`%MH?72_985cPeD{#opabw-w4+m zIe0bmz#aymD037(59khk)tLb2oxfp^2A*VSb1HmSRHMtcnRMM^QW-%5WYeixFO>R} zih{ln76Sg^mYhU!$(?4YOv2*ys@x$rUm>P5^H{@AGba3=l)ugt%Gm*{GW?p1T1^-%ql9zPSY_XPfgq%o6Ht zW7j9Ap}E$(&kkgr4{u)X;bXl{|0EaKT;w$~wEKmDsiFVGiB^PYJsSLEiYXpoD$W!4+x%B`kHkoWZnaK2=h{N(f^37!J1ys~3n=Dj30j zOv5-!lm2{oUiRKynL|;mh%HR{;Un*)xaN4wzz#1$fx_-rb9(l86^0&6Ur^7) z;Cvs=+FT9P@-u5Ec7zCK_ zD}GC51rDZbKngH5W(yjy@fYmcE0cozrNq_XFU;A@YtImLab@@?2@jK65zl^a1_sNq zqJYEWAv$!v-m6w)eR3W@QY}Wmv?dmjT^|BP%|+zY%o!H~oF-EMpPs%^o2l}OK|#8zk8m?{_C z?@Lx}7q(B4##?t2TMFsG5cHgI85zqTOOC*a&gG51lETC<|}B`!)~cLwUyT z1~7XK@`lF+2YdXzc}I?4BaYNlYM&KFim%N4!~u~t^t&MhKhkLJetj-Zy!>7LXNW)U z-k#ak$%nh4?BHPUT*ZJ6+%)@3R$-6#w}_9s^Ro4S`}pKWT1N=Wo#Lw9TfC0c4gu zSVFcbNo5s=(lAjW<)~h^)ye{+Yrmt!^d5weKh70msK5-X9S3q#%FF@vjcGb}1qJW$ zoNE`i&6fh66_h*p^_{+l8zkXJHN|&_)S(*H+#;+;3T`((;Ao%nO z5Q4P|=AKZ(`7GRH;1WU3ZKvKU`*`0o5ZjXC+#ZF*?^NEGcuX=<ZdG&XVz(Xq zg;*BGc-UpT{Kyl@xJEy2sUgnEqS_J5v<`P@9T+@?FYL(GMyl0F9lk!@^!uf{+zYWn zg?C{|!(kijfoBn%>F4m{m7&g)9w)$mrBRbzodkO2wI`*95|S;);8oPJp)24OK7rLf z>zRnc-mGh4FL4>PKWFBY$^{=KTAhx^+|x5Dxz?&#sbbU1**OqhLN~2=hsb{g&fo{( z^2Vh8X7l$b$jmn2_N2n1ew+B#b#g?Sfxk@kS9Q#Xt5tyuXuL#XrVTq{e|F!8 zNAXdtP;kI%a~-1{s}oH^qI`JrTruHcZ#XaKfPVmU7jq@1A7TvBYQ!^|7w+)GL^>YK z7akOL9Z?`VLsRVZJjfalxHH+ck41a%*uvzZJyK#>dy$!B4seC`x3kGFZ1Nl~*;6u2 z;I|#OB^uCgz56vI`~1@w1nFk2v&EuU63wi|gO{NJuSlUs5Bv#vY$UmUtMe!%ZF9b>>5*Vj4Av(W zKEtqYH=Cw9^aO{%*UY90a?i!U*U7APZ2>as8YJe5-(>LOi2dOejYkSy_n~NR8-alD z=hj46haOYfoRY_w+uWtV{aeXcdj_5CwPmV7NAG;X{g~-*2YLl|AuBlwhy)j7rbl-Y zo~^}JKQC5Al(RJu7T`|Td|xdt9w`VGj#u_z#BP!JImehIZW~}FUH7}KyQpsh*_7EK z$vJ@I-{QO-_sLALM$daXJeg;DhuHJJXdF{Ch>-Byfm(%N1m8+IBak?`1tB z6T?1jOMyNi(u(ZUBM1ctG;>~Ql-gFKV08@BwT_=$!IF7mtogFv;b)PfW8cdu$DJ(s z3_uQ6F^4s=?X=pQ^U9y>>Ze2FeB-uhTWjVRyA1?{TqLq)P4YViJ<<5;A&zK+`x)bLPwbS3&F+1)rW zXzDH@oO}#91`M!F5WR$F|LmWbSP(kuY>uF`(4GyomhSFqp<&PmxZH9@9KcsqsA422 zQ_O5csSSfnn7}-eUl|(yo!N{D(?k|Y$`Qe14FHYut0r}5s_W-Fqb`9$}AnesS$>t56? z1P&BvT9Ss9@)$iViLa5Bj^#t_&O1KHtK~u7+=^ioM=?ZgF~82MHV&UURQm+vt=m+8 z`wP-c7V=P;a_ESph0~%Cllhv2t2d)zZ(nCf7t=UfuBNy-8Q!yf8YUxyAO0T(Nk;3A%N&2v_-a36m?U0?|J*%qVY zHJI@^%@^cB5lUT1oqa$!4s_M*$$%8K3-AP$QU)m8+!g^`205AOt^ODmz+3kdh{IN= zclBzmcQ1`Cf2ja;H7~;artwB+RCh0}ZF_WJy&x4@gFy)t>FaH%D^Oy0|1KMlltyeOPV4-lT*I25Woj`nzMnh-25t5iAF1YsY%# zJ`~3N7947$xNEk{=W`b$`JiFHMqsyIUYMWhh4KYa+1f0mr1fZcGzz}bP1%wjr*nq8 z;*R%If(+R*EzSFvU;i;KcgzT5#sa`A|6-{`9Ig(c9`;t~(cm}o8(SExbt3RCbxykxL<gm~ET{J^Werur-2I zeD_xRBIc@I^peIRkEgC!9_4B=;VK=M@h3!o+JPhA*G_la$x;`>Sjp`f8`2s&4io6I z$*wOhI8Qe8XCPltYLOF4{CN00zs52v9g()`^CIcnVM}aUcM@tFWViFddc{Yd<{H34 zG)u@4;e-zj%EMuE)p*{J6P!Fqmn$M98(c;(nHmx||AD{R5RJA-BloAjH%{uwmvAgY zPb4MdhATCuFgH@cf(w{Xz)Zs>eF+W)yo>RtdQ@f6MUSqv%v^GQrn0hR$T~_eu17}&?RUR+fD0JVUIDf%3%G|*eyyFk4c%QI8n@|j0xR4TCq+5$gY7O391I9qJO zVFj53CqW3u9>oWND>-DF1zTakSwX^U!Kkw3hA*|;TK4g-D-b2@_ z{YEH1p|wg<4K>K&<-}dZ_N9Y39{kq08`YD3VrBG(Tn^RS^VKc;iO0h=AF`mGclQ`? zoLD<08NML-@dKW~5v6|n^OuETn&s|%Fz5$8)2_9No1-*kbd`@8U|>THo}~uriI9S(%X57)OjzUQ3n!czp4bn3y0JCFxq13EXGS_Zl+iDPalXi-G6tn z?+1Hy))n4q>$i{r+~^{rvM2w~`2Nq!&rklh8C#$f-mCSIbZ#DyW18T}I1%1F~~w1=uypb|6+^VXAiNTv_BSSQ+Jz>MWkW#Sv}u=*8Ln5@(h-)?inPu z$Z446%jptLOdf$ux^4YNtG5MzSc5tTC)l-x^Lc}4OFTICuq zxb7YOADIr?B*&{t#LbSRtchXyn{Y%%VXB!#2`qW7ZmamL5CU+e$P4eHH|YyR?ZzHp zHi-XLaPJ3%Rs(=2-8_Xv1|+cc*ghu_}LJfthrpmmt52oagsBhOfl@{hLO(#7t-FBB2?;=WYiv(+7b zFj1@KnciBAt!kvIh7{s85^`&2pa*MArxS39XxcqcnBCu->_!(4K4}YSD#8zQak(+v zetRQlQ4GOY!!chQ*586}1XQH^DGwOE_uC1F+MIMg)}>SXrUhX!#| z>?X19_y4IPBnv9@t~34QC>?7YB8h0*&)E+;v$o*{r106tp^casO)_b?hlD)_k2h^u z;cF%c)ym9v;xFBcXXO{p#{6b$h>{1ECi#Z(hhl~&&vHKM6(!pYV-=Z;s@&Yx3K%7| z2yRC=ltk{mi*p9d+*Xf_bE=YiIhBbzG{~{}TEg4R>^T_CB=n9PR+9?gub1{gz|&8@ zpPZ>dPuQ-(T?^ff9wU! zDZOe`)fIr5{){5+usnUdn?6>M@uRl^Z1wodHBB%uo8Uo|qfhZ}dejXrKpcaJm)XsK zBrx6vBHZXR&`gkru}+*YA>9$qtzHjPZ0<4#xyEU;b=0)#hI>21I9Bd~$^L67{PpX$ z7ye6Y5RGUGp152f-O!W6JO0_qXX64$L@vS_56_=1!Q+InP$`QtZRuy3Wf`D{bPc+$r{< zH@=W(1Px;3IG zrV4s+_y-QUL7irRdA43Xf{gOmC>Q)#4S?aNKN-aTde_~r4sFN>Q21re-KhFHOb(*L z@qfOiH+KDR9z1hQqQl+t>L~W8fxMtSX!>yxK1DjgQ)9uMuAM3JV;V7;u(nQOVb(>&m3Tx7>kbbT^5} zl2*JymdRRyGt}`2Cw9kq0YE{cWf6Ab1a8-U7g5v)I8c)(+G^)X88p={x3U2d%(BVp z_G!vB;9^DGE(w)-7M-G|B|>MdWTh_hSxET@_Y-`hXA2Njpc(#~7RW)*xCgY{gOab0 zWHm(|xNO>W0qK*d#r{1roO>Pzn zjpe_0lu}KLgm1NqJ#S4EI^d=Zp4V+8&Zs&Y4Q|*v5}(r64E$B?P;(y2$`yEy)qdt7 z-0_|rQ2sNxmTapp6L6V3aF;b=2rbzpaEL13Uaa(7+ik>Zd(M2!Ma$ObmWcz63%_|e zvl@v9BBsYwm?(gq1{>~6GaWN7^>=t@(-XDB%XMR0WAsLGBEMC>XSKkK!X#tCUn?J4 z#c}N-kiTt+N&QjnB`KleRL}F+uU$ALoBMO*kmrQ+4BCAX#Q-ouR^8pWafH2d3j8=w zcOkMU*3(uoT3V*I1w|2vT$@z~6)iEEt;i>XHFsuriel_}aQ5NTmlcv=R(MLN-qRSU zGPFGS9Z)Naax@5PQ`d-Y?nPby*!LfHg~=iAJ{#I7BtkiUm&#Fg3EDjSMVV8{ zAPSwzQ_V`lPIIWVrKH$?6wEsK&=Q?BtPBkef9m%Q*}!sTYa8K*h1bwN-)_qb=re4hCHFHf(srOR zWNBp7(3LizK$-=WuIUuz=Zm^{{ecq+Q!6S1_-(G0=T39e&BcscV#t;|7Fu*0D}!=h;P#67^T z$f%QM{`e=MXb_V=uy{5~<3=tuN?v9WjJzV6HhVUmcWEl9q=-r5l^)TOaYhem#H_Q@ zFbxc= z#4SuzYx=%(Npd@X7co1bK0czPtzyB&d8jtl`z)z5_(8tWXRc#89Nkp81ogdpB6WM~ zB=4>UYDdZ5RH2LZYF%{fKXHVAD@k@yg0s~|3y15R80RtO`pfFN z(yr!X?sb6Iz3#8aOLV2iEBfDDCGQ!AA@kULw=ZJ7vJ$+)S4))c*NLs#P_yBKD{JS* zwW;^ZvTQNhtTXi_i(o|d?L2%p4LM{Louxue0x|+zGZ_&yZ~t}?v515UV@s_ zIneb-$n)w5(RB;Pb&KRem5NE|B?3Z?z+_%A!;8 z-!gn10|UT3^%Py6{VG06H?Q<2tzttq#UdCWP1a&-UiZ`E=?zMmDBKtWoeGSe)>%U5 z41cyDvf_Culxjv!0dc}d#=nx1qpC<=*1ot_WSYr`qt?7cy*@_9kq7Ra{ z<-zY6kpyiRf!M}|Ksv~`bmqAA=Bl5=##mG6s3^=2KtBxjp#ROA71&ElNjaOpW_lcM(iMmv`x(h}85MxS z=0;v2^(yI7(m#=X?>93V<>Jaoqlk|b1Ta2iV>Xv0rXjb_)xeYNA9yeqQ*O+$R4ht-@HepI zWJFY%IvO-B!dechqh`F(=BY4woX4E@=O$hSnU&K`rj%*M9~*_c%%xhLxifT;p=4%Ome_a766WV3}3T8+*F&m`64>QCuAENeXt)cCsb+_1m}3~@>({0=&5 zKW*(}cGYrwK)-y0i_SkUKnWg*k$w-34RpTt&VjX5T&>b+E>~4gP zOpX*4l_3m)wc0zZ1o1ZR4#wZn`iR>ZC-}FD@Hdq0{L!T^fZS{@@T3RvJ_%78&sU4q zQD{}|_4u$k@2T{R73oE@1xi8Jzc|P6!&9k09b>JDh~cyD2_y;jzf=Yl%F~@)G9C?4 z0EGa>XUOqd=w38gEN<{}YfIKkkEzNRE9ql{O~srgj(-J!k15`Zo>s)DK#i@SUD?*v zR?lNZ14oxRwdSLqbM(2`Dc3T*Tm=*a`a%v_q$J7P?5^AT9g=&rJTFj{7hF_b80HTI zJ%0)WomJQ9oU4&VmrYeD;7yUfx(cQL#Grv6a|t{CLO1d#e~Zw=cVa>5F!^S4MhUX;FS`)sEf}PPrM@jNXEeE&(-D{Brk@y0)bV{ zZ_b^a>A>}Nt`D#0rsvtY$HZk)Y>5g2J)k7o!#GCuFWgrA7K3K_}Nl_AC z>x$@yEE7lK`B9VfxY}sOW#nt|B*Y?WyE*vEJN>Effz&o3611v(+sifS#rH3NbY*J= z+5Rx=yN`R+D#xF2M?K0pL5O75xz42`BIzF+IPEBdALl%l6}xqL>Nk0heiCumeGm&) z`QsxB44|d$HZ=k5EfS($6`C^F+Q4s<+Kb%9GyMFn;KmgU9>EO(v91j53fe#^mGsmvcsJV?V+BY*L?+abr6Uj9! zzp?E`m2ydD2Xjl9{BxXIhVqWnVEqW14Fyp{FyVa$d za7j0TMo%_Mi^3BSeyN_ggOz7}0286WL2?^0pzY7pm3D4|GBYX!7|Ln!^6on?sN+44 zu6%CZBR6$R#lf>B)%Vy7&!r5 zB~{$1AW?e+l&ZcngXJmgSTm1_tIlj%{hCDH2{&NO|1=*MeR-)02J&33IB}*z7wczf zNDsR#$JY#5ot-mv%oFMV@b?L+RTVw;_U6|E1bL3m zT>@1LVtEu=N7;w0^Ftw(Kb`df>#|}czLfIA=+dT#$0_T2kzMV_Z)5w>s&cxeSi1z? zhaKpQu4f=Fi(2|d?UfJBhp7qyDwxDPPhx^gl_tjD+-}JdIH%*@xvp7QuMkV zx+F=!q{b@UCFS2UU}!`*XQB1-SMh)B{Y^~Jn?dlDD^{l?1S!D>PSuL zGUCE_wf+lls?wul_c@VAC_N089IC7ayNL%5zvCW51rAn1p$XeW%)RK0+sH-Nqw}(dPxY&oVOioLp0t-iYt*J9(zHFit2TO`ZZsIby z)zUmHdObeDB^yDO+eHI)C_UJ5G#WU+X&G`A%05Fl^Xo?5Zy-DIZD^erspUs@=Erqs z-G-#K(jKKYv5SPXh8yEcOy^82KD~z|e@-^cuES`KMG}>Cf4@n*z*Ab}tm?{)SMebX_J}Ys$mqf2dx%pCh?pcz zyZoBefZ{EWtOmCRm@h(R>^9`D8bxSwFh;R>wMA4oJ@{|Ug7lVRjhn($$1I-NmEZXf z2vrYZh(LJb^j~EGuD_}edZ3ZUpL2zKD#tDWj}UX+0^YD$l3$0a__K;O+MZ>4K0MoI znmWPFX=^^()yUPa?_x0X%HWcGAjkCIL{O|)8S^8@B)YqrR{K4)RSI@l*eMFIJ`CTF zD1_U%OD`wcwADOzOU+)})L`@V8fX$Q+$-(9+zbXFw(N&Tv~w?rv%hbm#3DhOez%FwWnOMw%j@17E%YUWd`TM za^(1oWBM+s+CFdktPlldJa!A4L+UaeW)n`V2=)A3j`SP}ZC1n@g@HIiB zS+!S@Ml;&}%%HX{N8*qffLQEYUNM40Jm-Crbw{9cn9>lJFm1K0=T#3QNgCGOpUA7n z*jPn8eQ8I*Hc42iH+r!B8oE{>$o!lDE6v5{c|4mW^)v-9vl`C7UHEq@_+s^sm~u%_ z=T0P?;2@g7<}@&3HPrRNgV*_cd+AB^$tY5?AkN9%!t$&6Qn%{|Snu68%r~A`p*gKa z*-}xRV&?j;T}5&dHc*GraONarNK}eOgleJPVtj*cCoqz${?Ke{(ua>DbYBlm+MjrM zHbZF8VuZSFC;W2^#Fq=}Hcn6XdsN@hh{05mZ+JBD(BW%INiV`eHhj%gQ8z266a^Dz zD(nx<7ACme1Of>Ow_~FCy|{SngCygt)@C{4-^b8gR4ji{x=hU7o*tOw+R4^FeZ3I3 z-vT%8+dxN=jWMO9E!qX9qfszDcV93u;jtakSz`O&n5!h1o05pyxj4ZPCjbKda3iK- z7wsG4CnmW=d=3*vg2DXJZVCE$AdEtsK{Kn<>K(QB@O)eoL&}XInVs`JH-u0i-(n}v zrYHdNH=&uquhsh|$$-`Qmm_WePP@6)3t>Mr7;6!@;p^}4M)=_NN}$?_hbwA(tWDVX zH@(z(BS|6^gBo2lzm887O%J*2IBT%8?Y4n^4=fvH?03}dx+95|w+!~XZk+K3%jI+{ z>is)R8s_hIx_yCjw3Np`(?Cv0)Cx=%jXASoG4#$B(wxXWqW{Eu*E4y)0KtZnnFU|Y zNRD7^fOCmd(cu}<175u(H04LF=IhT1Hvz77d&l#8VnLdke`KqLLz^6W}Q}GTu;Hg z*Oyck;z<5^=iCDINKB~Yag|&=$kIeW&*=>?Z;T71OB6h8R&8h*LGJm^(?MC`5kaP& z42+J1Oh=OAw~`~i^}{6%U;noDD~fq9<`#gPGp?c)`!wSr0pS~DkfUj`O88+;DRqAx zQ#!3IH9Ff~xzw{jh~2 zXXH!Yd7VqfI*9c8p(c0H6KaI&zL?B>M9v5UlMA~GXq#?%rF{xu8H zA+1o7t>k=;a(2qwLe+$X1M9d62EAv4RP@C8HlTfwh60-v`zLm0UTJ^}vt5sLE-8W| zx}kYWg|5vVle1+vQtA?N5~>Om6D9{iw7!2`k~ZG6*Ngcr@yuh5jPOshh{8sG#C1z;~wa;AE2ADk=3IhS4Z89 zlR$>pN#kRg6?W#jkgw+4+X5l?vyjA#Q6Hvkz@YXujOGe<=p1O6yl<(UzK}=r{&I+K zhPBE-7^44kIofQWlUl`-O>qUcm3g6}e^s}Ub0eBjiR* zX(QrBPtcOdd^t{I)>C@ax7$qC%XDU*e*Y<9dX ztwc@*OiQq|-Rw+{f$Mas!_B2`%G`1fE0M}2o;|s}>I*favM#_hJ@?Z}wqS<)?XQMM zeW-Wn1?%m1ojuk-f#MTaQi~ga1+Yjqn_KE0k)`!PBQbqy?-&NK3T?;K0+=QM^;%&= z#J_k>kso3&gzfDh8k08|-E-lMI7uAiO8cd!x!q5&i*-Y&6;}yXE)*xpw&g~MWl_7Y z;>iIab)%O_q}j;q`fIW(2D{mwtRfzYHA^U&dj2GR=J1wodb4G;XZr;dz3?iOM#%JW zA9|=!|QRF*0zQ%0{`-x)D@cXwF(r(Fz$ z4H!ddznd30(cX9#J;kmPVMZx7zecJ6!o^)3;0nRz{HBz?akXm%gE9E617M$_HHZpY zW?wSZCXs$B%F3E?k>TK41O}N|^uy5EeN5?}W`$raq3tpM!|>mR6SfM@C@yWHN3=_p zgEi71bfGIx11ph`mqpPR1gMLndYet)k?>{StPo15TGQAKmNh4GYxS_~g~i_9hcdUT zSCyKWUh)Q9@)cv-w0Qr|~}I6gE$#Z!lQABfm=SoqW6J z+Z#)q(IM{LMXV#BcNaPQ4XJg?mTmtu>(^NGg&&L!X$HEDWT2>}OmhDQ_>r?_bF?lA zZAr1zIk|3ibrFg9jF86E#RFdKjt%KM9N5>hW9{#%)^k+z8Hw7rn+=&K5i(lnv^GS4 z%XVJshuZr5A`^Y_hnFCh_==9!-TXzf9X81rZo+uzTWUk94#E{u*1hQ5766;_3>r4kqSA)} z7D1Z^mv&m>+A`;wG~J^Fj|)*DyKeIXjYqhrx10$@ssQES89*}n!4>Z?c=1J^AFb#< zp@6SYzGE2#IFbhu827~$_6LS(O<39EY1-$`{{7fsl_90ZN5jFM6c2MdAz1o5GecFAkaum^NI4D}3CM90uE&rix_tYG>H2yqS+Q>uhStiv zv)ov&QIyqCt6c174J@V^Z-ttG%v;127`h9L#jjnV__5}s>izp#^Tu`3x}a~M9EB3J zWN5Qj``?giBK0l+gN~fa$=qgFXtk4%Mjb_#S>WqV+*JSe_e1n&!CwS;xP^5*g1Ewo z0@23~6I+K5CM!%oO9s*bl$$raKOPkxtb3=kA;NUNNH$EQL&cjFm^huCx4+Q~BRRY% z;wwkW>=~QL9cHo|MKR92woMftG&wS)`Z_h%{gM1!9(k8J0t($z-ZcrGb zf_#+;D(V%~3@(SWDs<9-6fbWjLuY%!1h{J)4`Xd|ZZ`x-_t!*B0Ms09DS;x_kF+8% z%(Q~2(l%16gDG4xfNv&5PTt2e=!YQN1C(J-ifBHxK*XfqqZwj!0*J^0+wFgoz+tl@ zo3Yr7l5{>*5dSE#fy9(&*^kY7S+6$Ob(LbnHw@RYUZm=rIK z>93KI&V8|HBBcuLlA?L!^&<0Cu7<`1ntblJzJcYXJ9b6w&DRxvG35nB^g8a9^qm>9<}@Hrz+3`vq`+#)~XfjSeq zDjWAOcJNQAsC9J3m*-tJ$6lE9tsL;E{=nP$}5n?9F%)q?H zqYQ&K4L}_epJ&3oZR;xEQTN72oN-}EV>nmA6!F4D4jB-u{^Vi6_I|Af_g)mHl+w{X zsmFyT{?;o9FYtj6C^i07Jau9j-FP&gUfbK3@j>Q8UcZ(0h5x#zudafvS*!ah6f7R% zJmG#)W`0LAau0jsh0#)0eb(98`*=tb#@*gU|8v;aG%!&0GnXukrNHiLxDHy$g}liK zET9WVYoMeuD^owQYTnLsCFi+~`Y=4NP%q02UMP#y%pTCd`H-CCB)yWKaW`EVMsuB3Y#NFs z6xG>8_A2>2L0aoXfLl4Q%zmz+iGcT<2)J9Cr^0~Y$@uPtgJKy&zi|&gO-R=ICYxt; z0&)BX`42nYrxmK)B-HO~opiC3`~CF8hh#ZgI3M{L^wzhSPCI{3*8$4+<7T zZg$ND+;Xq%(?=+G^`OvML@rmf60&gIZe4L6$Zb2aD)uyuo%>ZWe`BIg4zcSJecqY% zNMAI*fOS$!jgAx#KPPVrNYnFCM>Wlfr50t#2AS+_dI3M7A8XpVO^LIz$1iq9SP&6r zrO%u4ANzJ5zG!#iDhP5|e62XA7_>k1+yNDJXogU(9`}e`KU-c|gFZ|Gt+MZg0JYwh ztQMuFv}3us2n`-1KH_Y-XFD)jre85ZyA6~gVmj_P``+V4xKF65V!6R;f?b33lQ__x z1iTX$d@WlN>Vg{TF8n;@`|$Sa9CPAq%p^6vbKU;#{kWf*2Ig(auPyrZ^YQR@6yKLj zFNM1tKddVYKBU2L0BI@W!dxUBDGM2eXBA%rA~lVO^o z`2NjVCOj8>pmRtt0Wqa+`bzWtomG6k7#LU&BmNJye(zVA7t)c2GEea9=dq0* zv+f?*Q9}mpKw>jmtWRO=ofTD8>e8R_F2lH$M{h3vx1S9(5GE&MHYr+Y=3RXS0ArpS zz+jc!Qx6*mD7_#52z_$%RH`U|Vjrhr*l?>TKi=pLC9ZU-^xbvLb?Pok)%oz@LS=C5 zK83xX**EhcGUIvS28>jgr~BKF4Oa+_gD-e@mDu_Ax|2t|wNdm+dNHjC)rpivMhHrU zqE--QD^j?}((@)*2e3w6Cy8d5;i|+*i(;p}3JGXUHt?nIT-B90s6_i{k}_(F57b8X zC%`vLqYx@4O1#M)d zSQ~hTVj13z0+jF+e)$9_HXau>0h1Mv&!fwBBMc!3;ni;>5to89ox6(Y<=`xoxw1_M zqOfByY1sv#lMDg>I13Okixb7=i*--gkQcj|-TjJ*v+2@gY*IlUtKLF&%opr~fkYM7 zG+VZLKlT`18eciM3Np-7^{?~ShfNRz5|U90&2g5R9kq3i1Btxl7r(jBqp_k!6K7?z zKDeesfN^{qjzUz8J+a!#hAiBd-dIbUXtDh3=F;pV0Rql%*^Hu67>gT!+XGMJQ$qWX z1dI;#BiU!8E97M%&Wy@?{`aN_$BMcr@twN3fshNn+9EC_@4}(EQXFhZ=uv$IFO-QAW(hAhXES)QUW;ezck=pd{elUD$!g2NIeAW zz`j3@!*74tLK@c{1Fyo2&cDrO6pLD5CiV$j1A;vz*hVq@$~wzj@KW(Eo5A4kB7#}>-nZ2;8};s2}Vf2XE3`w)1e zHf%=z7DrX2xn%w>{k}>R&7bH!%Ccr4bYn%%PL=nrO(F*1&OfSevSD}B$pQFS2SHwF=9KX76uQR?<%`3) z*{4`@0Xp=Dv)F8wE903Y8b?bq_|mRZyVV)Q0{*n`@6ggG`C-# z(X{IDo$$C4KYtICLBPWqC_G6>X&n@;E1Y(aBV9SIJ&FfGIz9PGXSaYPt0K2Ye zHTTD(oU2twUQ~W19VCEfd5ny{Tv$2kxnRW zb!%P5xq{NclsJ{OXMXyO2i`O=vE}1!&+TIkjk+egJtkht(3=WooYvU%-_7z| zL)Hr5&B$1n~&5HMTOO3f7Lc)s-jW3~uqx%*16KKkzk3r!9va&o zsTbHvc*k1Wg}LeJzmeWtek}fwnSFV{zH!vd!S;Bx)BeEz*=)Lq*ooVDp;xZ)s3@!J zHh2ni^tB!(euaSxksVeJf3qOs!yY#tNkvyT`w_BvqUE$g0BXB_+)FzG*s^qLP<;uq zmpQDRN}0%a@E%kuVB- z5_K7fWbKH3yT3YE^f$#ua7A=Ou(tu^=5E6XK;8 z+n6F;HjcENecJ%D>E9mMInis1QfX|sC)KTr~f^!W5hA5 zGq5W($PZi>Qvfv;Mtjd0XRVf_Cu#}D7cAB|lYm(+3BE(>0537PvG{@7x^$BdX6wsA z>Gwbb8}@9a#_fpp;jU)!Eh*2IYhqH}!yM!&=Sk->l)E-lFpI z(YnRM)RlY8*jb54Gnjwe-(o#KYU4%bSO(E9_f-pA0t(2q(w+HUx1PK!I5SP;%;eBd z9_Sd~uzgE*ZcPwGrdBXhfejTEfY!%|ENQ4L)-znJ^y+EhKZ9;#8?^<~F|HbANLCmc z%TGioclL1s;yI#maLMH^e_%3|)YbYz`tBTCqL2rw1{86A>PtKrKiMy3_kDxA19Z~o#iN%j9L`(; z_Nw{+U;WwZJ^H2pP9BKkSK@Xep~DtY*lGo2B4Jd8BXy6bb4Pt+}bRr{IU#sgCFl82PYIA9%~f=uC)(OC+s3 zlGthj8(%IxHe(Ro3Gk)1xhGnmsUsqQ6Tl68R8Z@T5_EVkv3RdP7P*AN2P6Ri{&#)! zovPk)JR8`_yyWfU^~Q@CH2fa@{(k@BP5w^&zSb=s+3>X@B9su%f#hK%HG!g@Ot7-GcY-EJO3o#RYQ>3w4ZmejpJ_^w|PhxN7UjNxU*+ zA&HdeGM+&1Z?=46r!hbi)LhQcE$x)@uxyISTDg(GxWi+>`~QEtD+~B~Ui03HB2FO- zO+(D}S@(P38~8o)yZRT}X%Z+VzM#51Z{_!_ZX>)6CRt8?T)-oU5xzoV!c7Om_L)CB z257^kM`ZGY>Q4we8TxAE~l}mpIlX>oeT0`7Hf-PU6+WLXYAN zD{N0r)h#mlm+Mt!TNZInbF-4gnZzwL10(|i{_lG7iwnG3ciBJLD714mv$jA~z480_ zH4;V8uTmC}t0@^^4$T+#CEzBP&7m>mI{>e_ZwBUKV;SHwr}I@?72et0-3Gs*|JJe| zqkw3I5_I%d;10b08!=JZw^L?oiNVS>zCIC7k=^N1v#ZY-xpGImv@~^5bbQZjAmSd3 zm;Y+7kb=E3jfUPi0)&PN0`{Kg6ZWqG#N*fgMM#MphF)yo^u_}Auol@RPBroNVa*>>R0=R>ro?ufIWm)MZ7oDd)Xk@LYFt^nSJdLuqCQgW=oqO>TCI&mkQ)-# z@t3%`ai02mE&Yh$k%TPZzM`e)$+Z?^D`&$W@ z|A^0}|CzN={}gmrv3Q1qf09q)45HSb%ih;EXD%0q%J9iUV`9!gqFPqbEH#!gARZ5c zcfn|XHGy_mMkTVwU`nBI!MKPl`f&4JY>a_c1n7l_){MgksE=HLcNfs0QugtzezmZV z3f0c1DpPy7K#c{?)>*FMyxlY+dV>tP;3hj+j`O(AitcxxR9007vXgY;)2hEdP-$9} zWs#@sh#n2sBt9`1WP8DncaYG0AL^n$eS3c20QvUWFvO5tD_jXZ*OlAv0J*AHtS0#x zv#R3%t}hSqS>h%AsalCF;LpML0@EuSFu!7z-QGl^&T>|oOs}qJPoC+;Ielc%;U6I^ z!KwntIoPkrjb`;E-^L!ZhUe^psd4(yfl7sV$=R8zqp0sq)IlmjSQiqG*$G1z#G24e zqWx|O%q1)FL2Ki>T#uO9WD7-USza8>G!ZYeSubCk;l`4Y@$4YmA|(&plNP~s+HJtI zI9g9qHZ~wrX<)=5K*2G<4T69VdKuE_bpN6iv%?Mow|vDMyiX*f%PJ z!L+H<5fnX;FlToV^+;ePX~9%RCG01Fw)PmtjX3`!XVJvEsxukHN;E;D=ce|7zT|ts zn(Fs-#G1mN@`M=-2~CU3@5+$G+)&z^Nv0>DWlvb;LGamBy)hbqI+HoLjg6`HJSNGU zo}y$1HoN;C)=MOR6j4V_2v0?T{FtX}mXFXe_k~>g#p*g>oJr<4_1JDl?Lm@mu4A3>+z=DJ4 zg8z|98x3vM^E8s09nDWWTdsNuBf;sF4PHnZ9yK)3k9 z{#_pv=NJX>*EqPJ0~s6f*qSKK6lmi-p7%}by|1ZVVL3DL4ybUJA`dq7yvt&KJ@Y9Q12X& ziZ%q@bl0rEeyYh6>m*&br6rzqV8ZEJ!<2ere(%C`j(oTYJ5*K@HUwmY5QW;TkAk1* z0LT2sc+>K9BY}RqRFcnbr$wmFO?Xk#+UIYBlia_w<85C5meQ81-2WsJ{^#NKAA5pU z+4`R80*1b3209E6B5z-+&j5VH8+(z=?7R>|p>J-{x)e z6Ywjq$^HepLE5)9wjxxH^kGJM>HJqxVObm3t1y1*$IQOhwN?4kgcwaF?u>;<@U0zyJVJPs;7c ze|ME$*^>VrDy)_qhk2YUW#;*iqS{Vuby8ch5f-*?c4GEPSWV+LEoT)jV`pGMyzKg8 zV0JC;81j(kI61I~tLyA6dzSagE(Icnaj~Q)7Sl>$m~h!r7ZbN$r9W|WX( z{K9F$z9a&dfE`Z3C`0>Nsx^Sr^wmPgvE_st1SbFabTJQWNw+2unGo@elKhy9nN_lY zNN#&0ovt2J8KBf#m~UH1bGKtJ{z|u+Zb@;TfU6N~zLH8nWKc5H(KF zVSZ2i1RwUH3>n4?9YvIM1rHVNUSgZf;Woaj>F_2{0>sn^=*63|a1E!g8E zp|+^m!!4`PBZk-)iEgGx|A@w5vV7a+^l*36FNPVt={sMigjDqDJ{J8r8cO%5xz?RG zNH0^>Id#$UrIZE7;;lOOv2lW4^-Wd6q+ZxNjR5}s(NFGT66TiLuB^8z0S03unU9Ih zIUBy5Hj`!nXDvs2#>)*waSul1riVNOfcF1qxpWUR=$Xjrv$P7ee+{)s-vfgr5$o{PS+sH?9(1R)CG81L^!>mo8M zS<=^h67!L%@5~Vo^4{Jv6b+%jm$x#B9mm7nm7|5^PxL9dihldqnQYldtlF;e(&%2oW(^}EC? zSHy`gFGes>xBG`+3ueGvuG3%Qn)`e7-kKvA!H_hF7w`HuY9vfvoer$o-YhDiezis| zp=xT2$vg?EB~u;&&_Y2rDm$h`j3D_myv+D9AsM-2pEwspd^(3M5lW!V(m7XOy~G`A zYe{=Z_)xY?4{tP?8&uoZgUP9rbVwT7oq%}n9SNy(rhY4}86cWg1QmNZ$n*}Esmmfg zXXDal0N_+1F@h0b=)|m!M4+1artWK6IsWYh^P1ZoW2xC%ix;+xB6& z4Wcbc_?kP{ET|ZXf2A)8*=}b9cYFwv|E9*48>IE%CC@+=1P=2Tnz7qge!IMjiBfP@ z3>(PfDs=`yfp-dTkb*ttQ4poU>3F-ZWJOdx$+$LnV7UB!t?S>tNsIt-bA7!KquRNc z!9mFWaUscS63hS<@+I`jXONS1PYmilE=s9Xa>C2^t^PfWyB1y57Hod*?V9r*QxV{b0RC zW%sbR0QcgW9=7f}RY6ga+D9^`%$`9LmmZGq)&-g$dp}+-Wrp`y&7comANKWm2gqEW zWk%JPigz5ce%e4m(K&!f4;S8SZdnMCGnCHoaq`Gh<+7Ic&nnM;uz5!cEQTM(vrxyy zVI4LlDUo{t{yOp1nD>4CK_moI_hrhLG z_2XaQ@nZA6=THCOccMLiv*+7^40H`b%cDLWVl`$cQZ4S@qvTaX;Gotly<~Q^87G{% z=j36&@}GIvvG6e0xY%$l5a`-z7ce4vSeh_IZY;G!Dol)Ly?)%0E=x7WM?IDS5N@A| za1WUco*FZJFD!+Je#2S;#*IqOxC76Ybr&xTmX}x3ZXUuvwe@4q7?_Lu6<$&fZ393f zOMRv?3EY5E`5lk=|5&*P(JZo(Lj3FWJtjw2ypsLdL*xXvACPpvt$YZBmJa_5|SbQ8FN;@wO3aX z&5w6_%l8Ljx77>@@zpPCYqZz;Fnb5fYCFDQc=R%|JOOP*?pgUbHZ6+hD3#Q>#~?(y zX}+b}$QQ2Kb#RE>Z&56Uqmu-wDbvbdSstL&iEBXlVOt30E=|rA-CX={s*7(~V2~U+ z(bCw7cetJ+;Hj$c3?VfwIN|oRM<=EPv<4HO{k$*h;bO1k(_#3=WgL0(?z!2eaTwH@ zPh6*H346%qv`LO&ePL1APgy-#A1`2sL#Qw|wE*hGTI)0gl$4?eg|MLMYqfj9^b@h1Zo286umsO@OqfDTdPK2UA z_p|i8w`41=g`$vu7a#DPW99ftt{c=d7KN@CAAVrIZ~{MX?H7nn3fd|eZKA|?+yl27 z1wm-n2!ap;RLSvdh29{+!k}%YZuCmYAfl~rhBsuKsPMn=XRD5nef)xTvGZl9lr4~4 zCez21aP2Az9>FQZmi4q}iev11I78fZ8TXR@h$8j*S!52e%D`KW3qMGi;8E41)A6Zd zbFay`-;;c(ruPHjPI_TShIhCfiJAA0@YD($u0AmI->ZlmT8K201ho zeUy$IGZrTKM#1mfc)IN(EN!?LrqMo;126e9#FyYcpzmjQ0x+6d0|q^EW%W{S!<)&7 zkb%AHx82Dj{e9|~c@mQZJ4+jMH~DZn^bZ?w7W;*f$VDjUUyenx`V}`JU1i9}$b7$) z_##1|J}99kSX9OYip9;m(}rf})P}|}>{+Vr-)NYe>`U&yJrk2vV8hGWd|nIJ7r`Jv zTJXq_kHwUS4ZdSRfcOQxl_nH9!lur-KD@QLN{V%DI+F8<3bM&@6prFXbPtd^VC2*2 z=Zu}80{ND}TmKT}G@(kW&1^9L@R( zxGQI6G^^fypaZp2$eTHsbe19VMn|ENu7BmDIz%ofZsm6_O^E!IM*JJ1h^fA*;#yD6 zMaK}`dzHv4F+Mmt&dfO|&r98t1I9^CNT{txgLWBxOM41jV9Y4me5-0-l~I&u%tsJb zWupNO=7=Uu)w#_~TMoILu&iLQ2Ag}avXZT|cDUS-#0oTtL3-8=G_Lh|QB_L6i&kXj z)s-6b1ZCQHy@FB!qn7Kfa#M;e~qmin9gvgYYm$nR~e?ROAh}1 zw4NMhGhLpbH1%-A3~ID^a#j?9(WW+33ZCF*fZo1JGZJ|Y2J-9THp@^HO*vF)5-uIw zOa(ZgEW`3GrbZ`Nh~3JR@}FNw=r~@Lb<*;Z9JB=7^asV8*<`H@?ArG~5H84*F2Hpv z)*#XW3qNr*-E=p_^Ll03QCDHx_etUjTc>O8J2Z;^WX6qc#=<~_!<;TI#Ua-^6D2r+ zn#SpacP*{VWW<=0*1ZrMO{;~oHo0&a9pPS7urPlC#g4Yp$veuCe=8SY0=?Zu#6jF+ ztYl`9#)`2KARa{t{SGuQmLtBRnT$x^8H(wxRJ7|s7!(C+^-xx8rYiv(h^z{bO}Ehn zKH;dV$DPFNKm`JW+6=q1r8A37IWQ5s`5cZk+RtTuSc) zuCHI5IpcLK>I>#jIcqAuzuC|*u*DTdAs+i=(wAY~E=Trxk2FLe|8lCDo+bD`AP!4t zWLRbeStb8M)8GJ&zuL z@H)dh%Q`ChF2A&}(Rv2d%J+74bZURtgv@7bFCB=NpT4C4^57Pok)5B)Gyof3A|$iU zna{yHh=jduk_Pdza z|K=stJsgzzV?Bm~y)f3tL!gRnHp zbq0`jW{6n=J==YyvU*OQfYtHEOaWCfWohSoZ`aJW`Eite5gJJLqStm^G7OXxVZdb2 z89%`1e++L&}OcjVrL z-8#PH@llF~u?zfD*XWLRDtC5Avh=cy-s00daJA+>Jer#{Zzl}SC=Lmw7ad!HfRF^W zURmv*^s2_;-sP7ypls)+U(k6*;J2nJFi72k{F1u45Bgz^62A)Lec-sZPjiz|6-2(S zDdxO#dQXt5gUy9l8h{Tl)u0wt-TIk?Q49HAn0?E#G27-+uIUGLl%Y)R_TuvL>!wxd zU-Z^}GzB;_P9Tk@*72+ z!V|n3xX!ILnYHb?g+Sk{vp7Xsk_(R0-EB8OgAIzt(HZRVgjTpn&d>^}u7;oJ)b~u~ zUU>~{SJ@wr%6h6c20o*Al=mnjUkN?EgWwStnkORpIE_*z`Bk0$O67NrR$l928JZPC zX&btgKI(!e!IIsu;Q39XT8vD1w<6N}EBysV4Tl_94-cb=B3!-=qG}3rfw2+5 z5wQ#_+L+dC#8=}g@$9OmtX)6dWb&`8F=ZmJj>&D61XIiw+lYzetP?I^w}{HLf2JE8 zFDMH%hi6jnPLnx@*A8J(q<5&v7osxP9cp4HQEtAu$R)43sZO6OUSeU%qx;L`of>Xw zv}*c4$*fhM@DMN-p>x$jsg$&5EE-K1`ICcX2QtS5KKwhWNTyHyfQ;JY+w#so2~cTx zz?xn+H(7b1t<%Sian#=MLQZ2rWVo9_Xd9|Qln%X*kX2E6iVv&F0$4bd#LK1{DFg}z z#P~XpDOvq%t<0vc`$s zl}&GB)S!W65YDF$onD&BDrzWJT|l0Zbx;eHWS2iBJ_11UR}~4wDsQw07yb5wyLz|g4#CPFL-E;#z+${IF606CVVDY zX3P&+Km9@xhwdyp387RI=D6v9aa!y2k?$*_E(VB|ElFVTmV1p9=hy*^rq1N^q|C3pA~5 zCB**8>zGdWj9EX5f!-juxA(WoQm>}L_Ze<o$n^vD@tI-VZC=BtFUFgDesFLDgqwD2|xH5 zzBg2H0dhLYc{=)$&&riiQ0s)JVmhA2O!(7kWZY@4VVNJ<(Nt(_W8Ds7yQk8s6yO%K zH|&*zI8Jag-gT99y)P_~;6DTZ)6IQp=saG&S1C3Ao`VXY+1+6aMvEyg_r}m>bptTQ zJqw55a%t$ZmRiN>%ZS?e`)q*9${>t$lj+=$d99&UNK8_5^b}0@qt#JMlIJ?bHpu5~ zBf_xYzDWv%c`x5+He%Zmc0h6cn45s(qv)w=$*poa;EpEiO-%LYQ(f}CAi zfzH}#)Qe8Yiy9((ult*RhD1P=FQWK?EAT{Nb|A$yVc-FeSUtN|NVL;M)iH=<*2vWM zF;~*OB3xns3YHz~6KUWHE%N~Q&THQh3wK<$x?fiY2kA0b`;8-WXgU{#ohcN(=nKHQ zHfX@- z5XuL3QX8R}J_K_O$7wAZ0~TU-9^$Z{@#a7+)oit_)Lw9FR#fs!X9yHh+ot+==IY(v zZf#qFVAifssCN2dxC&3o#!A>s*5k{XlSbBhFhS{6E&bM2V z%mb6cemzV(P9T{RfOK;;J@;j#kt^~f8celA#JA$y;=hiB$&P;gxQ$LKk*OSM*8pAP z-zg8hmCpbJSDuD`;4XrLv08DizqYiPD|(^GyH3|`5&vtxUrgRWB^g$44Ob6^o} z_^w0gU(80^fAVU%URJ)B?`Nu0h~s&F+=)S|uhTE(8^Hgl+tmcOSd}&6H1&=DwNhKq%Y7=Lxkw)S^^7VY5n;g7J}<`-!JK;$7JhQr zG9&F?wC=RxP{q)~@+}~yFnRCXm5NXkbzu1`Nz;lOd3{QlVV_#@QU@K@XtLBLfm%)1 zkPR69rTE6C7gX1IU#Q!_u^RPEAtn=;9M>-ghqi;2nI`Sps(hTY%&~0j#kt5BZ8x=+ zMf(a=OxtT<1N03Cq|IMHN$6~O-u4I9sX98q+*mg=%#k~-A!xfDsu^Onyj_WlnpAV- zF5nVXSc%PGL(Y9N1{!7-4T1|P5T%!E9D(zjRq z&FJvEulF`PNkU6f*T%q*cL72g1yuWm+zX+3uG7Y{r^4x63J%@aWT$FOLkHS6n) zh$#kz_KLXOU{>l0@&nNlba*82RTJ8PvfBrrh8@8vK`86a#>^>p$2PHDSeAMJ3p`3! zKfm8y2BjOm$J5!geZWrX=ZsQUvmx)Q?{?v4B=6{d#9qzm71F@vtz)bGtT-EQTFEQ+ zd-ZUKIZ^L+!8JkilefT*lKJ5=#*<(1&A~YEV_1{v|W_cqj(k?(GM_zUtrVbl9o-#nJj=% zg8H46$E5fhrh~jdpC+Fx?QhT&0}01d&SAE@i&Gj>SE-mb8TNjDSi0!CRPw;lGYnxj zHA3Cg-KQ3k+1E8Xv(_{IbPo#AzDb~)5jMAcJzZHRj3QA;4Wu-X(rRHfDY zXX6f>uRFrv?L7>!sd@0tq6Zn7gJI90f(Jkuurdd*6nDTHIon!w?SpX*MQ&vMk_WLV3ee7WXk zL@ZKdHf_d~iJ~EALYyx1;Z}fg4Ud5}hMKJU1FT7wjQ6#W1j6wMML9x4*cda!tXz3j8VpGB61DSl}9BMVy%Im_I$b zwvi|H>NaPMBP7C00guU$P!A#{@$=y6%yBMrkwZv^x`S@6o2sG4z+Zf)kaJ4TcE{{q z`5vw_jiMS7PXv}s&d|lbl45%*nzgSl!}h$ipW?a4BhoK8%wxES`M%@d%yGM49{Kd( zBg?|b_9CaeDP?Gkb1po0&-*7_zi{&x4RNTs+oX>Ae4w5Z%HGTKff#e&hnC`w6$Fjv z?1cEyjNiqL$ZOYPVrYby$Ac6vlEi4Qo63939cZ&BtJs9g4k6J;C-Jxavha-vQ`@gk zzT^%Ee=*h3=|Ld!mfvGouV$qW3gvg(P4#d3=CKgO7yE-fE{f@8)b2Yatgq+9E0U=u@A@H#zDkkffjUl47*Oz|%|*^6I8obIy&M$DqX z^{)Y?;OQkXFdvPva=v(+>42M?t}SzP$2DRgV1r2kY_?GOC924^f$gU;i&;vASmYL} z5qn);L%uSkV-w#g7}pj$T(!m4S-d>}Nn@N(;&u*O5Q8;n5b8RKqEe}F8wqV^j+re+>C96;m++tmu4Q3_ONiZG?9GCMqI1QS+ zjTP1WYt6&*5QfIbOwY>2qFu%l;d;)`Ua%W_8M7K%u+;kY;~u_<=teZYN>fR?2ELN; zHwa=sOaCRXYo z|9pVxP3|NI=YMb}0@^&_r!{<1KX~YU9gkQ6P4Z`T z&K+JFoD9&SuCTiNpj~BjbGlI3;;l$m2ChZgtEBf-@)6Yb)Z{c(T6`u9hKQ&-=be>c$2#N{MG4Jc+e1BIIzBdd|@;oF; z-H&f`MulT1${Xc&3Z=L4zTnk{oDQZ$SU>HzmVb1R(?62SVAC3L-*P4G3d=C+# zDXAG#d>g_~{4^A90$eev?^>Lqaq*JCFTomQQmSv1*TfDcR=#+pMB~*>hxGj_G2>tw zjDS2%139}Na5hQIltr?8x3hiSL#kgH9kmgTDx0`k*@L;XEIk~J4O2nE1Wh^qDNalm zct||-b>!i;;t~(wdOHx2(BqEeh`Mh@z>9l=0`(=nEK^ON21Z~FO$t6qbqJ0x#=0qJ zDt6tWh1FF?$rHNNHebezVlK_Qtr39jt_3BW6s?)@cb!tHrBvFm%g zvVNu6a0Auut6THE1;s^Ep&yUS)g#gPrcMQZfDY-gepUS8IVlZE2uFRa&D>X9df%!) z;Jq!X63eSAF4I|mxHrhOG@IjSh^vB_wgd%#15B<V7b3%NFL<7B>ml%X=-~Srm z`Gg(ak*14XX|Wt!ef@vH)W2MpFUIaqK;*Cid*a)`owZ|s!?B+Nq+p+P5Zp&quzvcM z5L(IZfq-n^iQ48`MlwTr2|M3_(_3x(jw4Vk-8afq^Y3B&)i0uDeYr z-?#ktJ?j!BM9N!ISw?bCxRZ8pyR4LS!=P0!4` zIWTa8FjutS@3gQtB=Sf@%v(4NL{}+ZW6^wybZU{27g@v>Hk87~hoW$`6L^85!^E#q z=fLHERP%Ki5M(NvdJ{LR(&QJe|De=e2hiP;1iCUsz-8>F&RdS z6bcX)wsA({CKrFtw*83x{9-I+xfi`5mcnPQby}&c0VDK;f26Mso2MddKwGYQ&TvrJlGf-BTozu0+**zobIG7+Efc$9Svh>EOKp@ zD8o2FyJrvK2QFDSAdr09^{!a~*SvZ4lzcKr^TMDaQg4zt0fzj%OgsZ%xD!9vQ2WSx za`lSsN9X`oXM8>4Tep%}EE+Tf_%WI1laIBH7w3bK^GFZqmRLVn@@z!F9XcNp8nmnr zxgJ7a{?0tu^fBkIRZNk0sY(N0QmE3N9XMSm(z7=z`zZFmKj(T1>9qxGAateO$%)^| z=k$viS(W5Uyy_}CE>1hLBs{S`^w_^moE(&XS74GywObUZ4VDyF)cy8L-wl)%k>zzZ zwf;G#y0@(Z=AnCnN49)T%lA7+-=LFCc&e1?uW#U5j2C2L!QzcF^|S>FgdeaUe{dLa zU5TMjOPFx7N`>63TDTQy97PB-icj0dglJd|iLYkkJ#pW4rK{nCt`!h3!8>*p3Y$d= z(Do7y61=tN;|3l|;(Kw3-X%-wmnjh(|89ZNOXx)G;?N zE} zjeTVr+O!ALQDft@@VIP-4ve}e=sT(?psL>i@QQJn^KXolkPn25M=HAeV%dS!z^ z+jWb(Tbqxi)d0<9{sI-KXMNglzPBBk7-ucON-tA>}2S(^t{IMH?(#Q2&(nL~%! ze63{@dm@1Ma48+KsBO( zWPup#7%vM4UL!8rQNqVM;+K(G6X!Z}pmo;j60DZ8<@s!~wL*R7K_EX|@ae50kqPuH zuJn*U#kbbFdcrK^Gk*G@KvUN=G=h|~ed`8(KW?!?`U(MJ5okfO-TknQ zl)y6Mzsg<<2{pZEuHJek9%hZ(#|9=)JK8+Dadr5-ptZ)^%b@B>t=%=ey+C0nz-Bn_Q)23}hCC_U_|)xvI7 zC94s=5;|MK555nqH>GISRBIg==D=G>;Q4cRs=^E?#xnwolyxQolxdv8R*sfOXkWP- z&TPs`y^ec0u+KT0@t;8>s80yisY*}!-h;F>^iaPbNAeaSOK>XV(U(x?raEN5$Cm8GA{N+Q}|uNrA@LenyrZ_T*(Ht`P1U61VR@+Bv^=9rAmWD9eO zQjyJ@%CuW8fKFOisgA45HjaJH^C)@E7F(-H48>GN76ceo!bVcrS+^pR{gTgMA~LOQ z1mJEXtYOkncy_#1J)3W_2X;NG`0iNBX{MW_MWe;-?50or9^Dw!w2tj5+6Wl^^)pIw zwq`fQ+XsfyK_M?xZ?)D%)eu8klJMFFk+5r=wt?Rwat~H2z(oLm2zW#@`b<2XzG(SS zUMh+SKgE#pK1&z%t5eyWpBB`|!UDj(#7jRIiXwYu9)kOwVeuB2sUI~)9DSN}a+#*g z8#f5R)Al_|logYzIUij>vFQF|yq_0JgPzS0&ESzCJZCqrN@nWug}sM{mGA^OcyqDf z4jb?597nc^k*e9rjNk+f1 za1vUt5rObkqq6acIn%+Qb#a+un<^Y2sOio-Fs1s}v49554rqr6o}mw=kcKr> z95g9VaK9-t%P<|bg>P>0u*D6c(vGtcsiK*126>(eoek*y+F_2F-$qfeHIh01x&J$| z!}DSe_+$lW_ZK&ik^8?w1e?u~rfr_ZKQ{vF3o+U3I$S*+YgV^kUVdVwvSZ1Q+J(nr zMjUJfUq`Qe%Y?yTy+&I2LlIb)zO;at;aaXJoex0 zYRO(G`(m|{Ptogt0L-{=dbdeOhue^zDP7%y6(uI3sVTlqm{;;R1^{0NB{`;AMJQ)f z$G2i?fk-{xaTW34jMGza2gh@sBr?A%c|R%4F!Wb(V4%1dDV%6k(F?pEw&2iKHZjYj z3SjjC;B(4TbqS^;9lb$aD2 zHdVmM=1OtIE#2O&*nDE%$$ApbG`rT%^CDm?NDq$AIy*+hgXnEv5w$JRE#fZv_`SxK zY;Xb3oge0XjeoSLuP??zbv8t&szySOgRhFv6<|=tz4q87u#u~}1qzx*J^wl)cJpMG zz89(cpfjt?a*S_aj4g}q$%(k)h(m2XyHPC51Xx1Yv00km{?AXeC*`=@aN8;bxo=s; z4sdF4j&8{NKIA1!Z6-Y>f#&%)#q%jmZdtZW?L0fj`c1_4ZtKLq#w^Angvdl`;RvH0 zGAiSuZU!s=t^|jY{4h>~Jz8my*^q1v*izL@>HKE*o3up`TLEAFC%8M~3-F9~z z47>#%M=LRIm6_%RVx+RZ>Ft0zgh)XKnP0(}Vxi~LMs!ICs0pvpLO$vACi`Y1C~&f- z%iX%HIJ9VkGj+>|w>B~yZ9bQ?rP^Rjg%)VXpILd9f}CZ&YZE@W3YY8qgDNtZynKei z3Q2?jA(ZKa$(@x=_rO9O?tWIUH>ZNcf#+vU!Tk1N^dZa`P|HE%>qW0&^dJ)b!%rO% zO}A{bqX$0q^4L!=$gJV1^Rx4BRy;)@=z%)&?N~Gb}zJrAQnyfQH(1rN-whc*%tbqBt}rrlt$Zf)Ovr-WF7B^ z1r_7NozFw70HB-KUg)lJ{19!Hzb$Mag_8^s_u74uv{IeM-P!pkwFvH+Nm{{|97E}kXfj2 zf1Qj?#LSEOONNi7VmnYx7>(0HiAso$l`lqmCTd=Bg?>N-2{! zVU?yO$I{_s0VQe)kHFGcJFb;)x;HyO+OCX6*@F|?8Y9-20{dLAL$h~X9usf`xq^UOIz1y4H+Ki9ea5V;9Gj)A*xx2E* zF~i6q3Rr?7x|^o!w~E+&E*nqroemwOB(a1%?8Lk=EWrw>Pu^qKxljX(b=M4jIS>Kz z-ILI#TS46jXep%D`WIsUrMML)%G3Z?!rX$F!WBxY5&iPeP3_uIoB!|rC-hV{E+^mtIL)P7<^b#N(q%Gp~3i+V0bgKwZD@vv1 zwEk>UBb;OOBKu=AJv&TT?c+!}-N8N_+DvL_=06`sByOkT+0v0C2*omVc*LvuK2mKb zm&ap2l3b`m3pk`E^oOo$vMJNYtGslanm;CGc!Ei*!Ied%<|el=uOcYI6HuvjNm7Dv z#mK7EZ-zbIUa5%xsl{e=GwJd&vf>40+%B~0Pr4`x+g~;>@;00#d{-|@x!*}<6SBaI z^R6D66c_ubjypBpi#rKS+WAhDu#U-(^!SrMKyh~KIudP3{YM*T9i&%_;wMY(B)Zk} zn8Cqd{f5Vd)pNkm*%j%23Sl}v5%w_6KjV5V)}||0{Hz?v!Vveot;4aKq$)-LYNBEs*OKBuKRRD z?#v9ZP+|pc*ws;(!o(L+mDu*fJxG|FPeztd-7Nsfl)dJB&K~vVeDV z;Bc1b`{0G=LmDvb{L=&JO}B(H4%Qiz>T7_^#^Z@uRtp=(|0AnkyOm`+)KbNp>!=F5 zhuMEq*@GAtz~Lk}?L7^R%J&M9|4)W#(tx_iPqfh}89>jasygV>uvyf{SPl8C2;$umMPX=&+pX^5i$4dh7SlB$D2(2CJ1l+S88pZr0 z)C5E?n3&NLOhr%4>^pX%GH@A6U#Il-OYTmEd;B5JXQ?S9I=_H?=q-mi_~La%x-!4s zbXVjI3Zm)~K{>JEK)Xul>S#tp+RrUM7?jVn(>XUhgP_KimYWbx!l7H+B+}9=7o*i! zjJ+;ha3*JbOp#M*RKXsOqJi>S%;AnrFL*{P_fkoCb^LEHeAGh5qkxad^ya8Eu|+|B zt{QA!x~^|>cGk`SO(aG_5+e>TsfvB5nPFH1K|6^K$i~`ae*t5^R_LKFai7abXKW5t z-X9pP_a0Z++=$Zi7fgUZB(}zRBVq$f4NW zx2-LFN-!tTuWP3O9Gu7O9|Hd4KW_%X%qm+f;DHf#k8y6{pE(nxFwO-W$Tcfe59~TN zmhiy7BPn-Yfpnt@8nc_g-M6}_$%yaEtm!{O8mI?9Y}4zF(u_z#eW6q*ce%HnGi_vy zwKJ3TK%b}^-@G8dcRFRP5ir<4uNm_vu`IX-=*wk%ls`d)hWK!r9OT{N+gMVhhg7D{ zb?esCn%uE~?NafJx!t-e1_$_xiYXc+giWPgRc#^;W|1f$1NOWK_d&Bv;cL~$X~mrM z8jYcisz%4o4LwD}5qkQKkB1%kdfp?s-ncn-RITfuFYTycO`0W;qm8_{nsZP2_QAO? zU?MAbY3T~t_8lVy?3YMGjfjtvF?2vZuSP1**ko2l+n<4P0g6yc!aM*jH9vVuo-Uk) z!Z<`_qKB%DwZ(IiGJZpC0lv2%?a&BmmmPmS)+_^d2>Z?#=J$5HZIM3Zq$roh_Sh+DqjdLE}pJ zj?5Ao6Fw77)=B1>)J&2lJF)iaPc_IJN6gOuVKwH|keZ_lP1!F_toM_}Qf|h=z?QWq z+boGi89WDoWPLh`2Jet@2>s$0eZ`(UAs6MWi>X)#h=FL)aWDo6RQ>?h8mdPu9Sl;K zubV&GZpEpMh?}{S!P6@8J*goUG{%>g8fYH<{q;@g;jQbV49cbi7gk_~t1<_rL?Z2H z?T@26ClErNvc%TbA}5`49>!X~wA5#4(MJ3LYy5QWqg*ucMv7=n<8?uge5k|@Euz2N z$~pW*tk3Y-cZucbgZ(z~Iy**ocL$Zqkp`NAT))UUZ z>>xHJmDXVsG}LB1fo`vEL+-juQ9BdDEGK$q5m_{oFt zyIU=}Z*whzKVw@IaZJqhoS4((U$*u5rn?b8kFiseh0HTkg^qRi^Q!!QwDOv>BGcz@ zF?)^Q%Qxj8EX{5tob0Ejd;Ja}b`!e4Tzi;%%9w%~)lmD7z0VvBbgTXAjg<96onr3- z-A1`$HB8O1%J+ZzrErUnM37l5VfVitCX}2z^i(k8LH0qctDX;%KjYyM8zVlPi72)` z3Nj^m9-3{(Ou%DDOXzw%c@W;Nvwibfx3!eGuS%h~h5WM|2CCbD68`AX9K@IqKLWD1 zip}fQpF>tSV*bYBYsk_-ExE-%d?G9kLb<&>9u8X@*}w3?PT= zPBN;bB@0QDCQ;V~G-!VeVzNDcL=_qQ%)Seg;dC}2Ay77y&-0GvfA0l|`Qo*Cc1=x! z_@}6ap#%Iahqx!1f-m7{1%ey%DaB3`6;%he`eQ*JO&p;5XyN7wMg%<7E~PuxNQLuh zA7a|7pLWU<>elPpDXYdNNL<_30!TbUM+2j~B!XAn{L_^VzHo(e9qhI1CG$|LOMwye zs8YcgQl5IOqLkHzHFh*ST|s7xXj4V~; zB&@eK2T>$o_dNmU5+jI0VBtBH5N!EC~L)`K*nhxJ?p1rm!Mgi;kOIlq42OzBt z1n_UubGB7{*#nMJit{`+vKSep*ZC>u`ea|sHScmc0f&Gn~ zCoV>h!q)Z5IhP}OE+4g^HNbqu16aYJ(WZ`2Sz*1l5BqpQPWZULIQjx1nlT}OQ$rRE zSo9gO*Z)@5lDMAQUixhbhOp{_r`&+v~EGzIQQ;e&1)hpWY$ctMBT~X0;a7yy=3FF<89xf5C*Sh6d1-nS~dM-u6 zftQ7#pi*y-{VXPMFBx%%vhp-rsRCTek2Md}Ns)_Pg&qoMlwNJgaFFr~G^ zehPP{1v3h(%ld~Ph|qDd)N2J@%&j!MU7ef5#F#t6O0C)2<&<^fZ9}bxwnREOjH{E2 zlquy{*3A0y5$#DGBX}%VEY035P3j5mpBc6xV8YNu9EcdNg7UFP?10LZR!H2U$S5%n#Zm;yxgvrNK|bamN?8aNB&6iF@T?D=Lv z3i9ep+VUVu4j|g!ZF8;XGH2bJ~3o$Q5q6Fu!ON#eS7uQqz z9A&~nefwa~_#I0;ZTb9%@anKKnn~fWvg)>7hUDZ)qQd5Vv#h$Ic1~gF1ia{j?fHQp z!?qiDd>wQPT_{|s47XuS_|1I=Vqll5q+A^5j(jf$@C;3?FZJKsrRX_?WfFLixFL#q zDX?4@a#6-U!t9q<0*9hvS6>Ia9H26;3 z#{{(I0J#Kpk*mz*T|ggJr%W=DRjhOv?PEQ#$qw9QjW%-C7i*h^WkY4dgCKaaOHxpq ztLIeF!fkvNoj-v?Z^-m7^`?jYspu1*TDj!xtvH#STppg>`54?pzN z$)i3wPaWz0b?J>qZ!ia4JD4*)|0zZuH6l$ky5phuHaY1rzSV9fSg7f?qe3hA0x;-2 zboU$wazoWwfNq0e6xktNwHd!3i@C6i(Lr43KM^6dA8h5AwOrMJcN(B}$a{kEGKD_g zV5udWf8U^RT-z?Sj!Fb=S-&{f;T)F)6Mj_=*%t^DP)rwPL$rBjoUeJTy|Sj8f$^?Xp1~2+X!E81v8X1*5McQI>T<3G5fd+^%#Hk_Nb!h1+M{h{3`n}aVYmDlvm{8lG zojTwPa%$8&9TGG=DY8OR14MfhOAXJ#t<5xkm&!Q0p~}Goa;eU3h)d$j6bH^sl=%k8 zWZvGZ+{xC)FUWtxKq9&%o`1Ge2)0B`U~grNTWS7jR6gzf``$gQ0;MD8@+dh_8IHP) z5UzWi90ZcqcNRpV`pl}^BA~+5sSv~Pmu_`ZEOs4Wf@9sAH-{j$L*+x*CiKXlj<3v= zaHa{|dxwoQ*3Qb;mcA(RuU(d25RoC88sAv&@7FbQZw|BKyX>$xIyyki$ zs!d%*WK^jdCc8E_&WsF${Y%5Io^@IH>h>nVJ8_zNftUe3W4oEjLU&Sg9xjPmw_I)y z)=t@#PnWrXM7be3kp@YXo66(n&sTUr^f9SA-CzI5YN?smqUj7Jawu8gn7OfdM&L*p znoIGeqN7UW)6O@?lax?<|6$?i;~lQC>vQTr%;$=ecoKy6)|LT-46FegeV>Mlkgod; zpvAW4tmq#snas6OMnJe3HB=an4G+G+5}U9c6hg&cJRe9sr2`1c`kOx`)%LFHBF*td zc8A~ssd;dBV`#tr-U=1o&iW6WnCx_+nKbxr)(^OlJ9?#O+|CM94{0t`&wiW%QWfZw ztvcj)X*u#cTLXsEJ!|QgmYQQ0W#m3QZFx`YYcxxY7o7L%MSolJ$?w(LNJ;quck`Ow z&&P%}3ye?<1ThaUk7oZcz~d=b)hPHN&&^@h5aSi~3=XATINBmZ!Q6|;}&eK!XiN5j{TvBAJn3(D%wJqN|A)162ofdOw)Sb;wr$(C-F@1&-F@1&ZQHhO+qV7sk2kpY z&Hq`}D62A}B6sY)*0*-B4Ly~@bTCn!ZYpfbzNxrljKEOm?oQJmU@K0UA^2Y6d`;uFNe7D%$?E>~@2nPtOwJZ5OonQ?8a&M&M7tPdt8{fy(t zmAV4r{FuQV3bsA(vB$SW`0MXZDd!V#KX{J#N@I2=zj>%weLqs2&#zVgW(u8xjq_#< zQ>nMv?E^C9C^Bqo9GgBE;xl7MY!Lqmr_r&JUT}8)=bW*_ngqi+7mChq9#ZnGoEZih zKt|o_G{JKAa3P+iQyHs4GVT6&S&d_r7&E%!9~7U%dN-uoO0wlM%TmT`#A4t9dsUM7XB3qbHm9-o|?!$o?1XlmJ$m1gPRt0OFg)S zvWQqp(<=KJ4Y#=S(fbq!q4k;Eq?$mTBDB*wXd|c4TX%yL1D@FB$F@`8ko ztAHt1@J>r-8#y^|JAq*lc=95Sx%!rYYe%fF+)1i#TlbG>>(wn&Q1oM*4%(WIa1_kRREa#=dPQ?q& z_a@WVCZgqmW7q>fwz=N;t#Q7KcnF!p_YkQFR~hvp&*~_qkrjm|N@hzk*GO5J64X`} zl<3Dz3>QNAfd0b_J#u}HS5l3>olBC1q}J!begRpE`;#uShS9bS5gAN6aQYr+|}xDdgt|mkL&(gCK>3Yq!0Aq?A_<8nN7GC-h6x^bjzu;;@oLsH#Pq zo8k`JK&1q4rC&OY&ZN7+5_Gg;0A0<(05jyOBqYAcK`YbN@Foz3idnzJF4=)qW^(Of z0WSp}wF8F{wkHl1v)37wCiRsq&wGivyTvqYA2z+^`Ofe{%TE&W6KktXcuM32tcE1{ z-NM6qamoICXZV86nE&LZLg7BxHwM}mUYatXvFxF$gAAyPsuY$Vrvy2m-Df(IhZNj; zZ-TD82es6e9Z`;K`?1R`4+#z}%&xGOo&eo9BiFIfUqA>5?8nYtIFeVoek+eB*?HO~ zw=$q>$AFap5gUjmf~gc^cF&i>1BDCo$#50iyul8x*isfG!Np7~b>$AET1D5pMnBE- z@;{O5@KgC|qbag*awM7qSdL~xgT0YM%<<3LHAzjQ*MlHK1oP~_$Pvwsmv2_uf}w)Y zOZ=})@%ATLT_fN!Jv`YLQ}rYUVRoDLCv9NlBZtF_8efuL8((M~+mq+~YrfR>s0|bk z4{EE8A}l3PA=#;5U-GHCKqt<4nw*VIRexjwm?>qOfSJNTlNqwItB4R~JKck{ltTJW z?Gtt)yenykT~`O#Ny9>UMbs9C^3eCza4DB}eoAK5OI4IC9?WW*?(v0E0@d`%Fng-p z#jhy88*lG!%jSODr}$A}=^g0-OjwSN6{JdaC3J66$2LW9NmbK!X0h3PhBPlQrga_^ z&B!7VX;Et?e_>vdhw3h&I8d80p&8`1{+iJQ&2Z>`NJ(|SXw*)Sy2xRNa)WOpm5zXqlk9B3c>MVUy50HmrNI}>oQ~^w z_lLusnLkFw6`~>e1^wCNR9)7A^PwtbpG4B&k*D_Y~fjjeR_S|lezF#J-~+g zvUZ#45v*tw?Mz9}K-6wGbwjJHRR$B06Fs66nG;W9!!n|;z9fhT=H#~>+I2OtgWc>} zRIi#laM}>56>z!N3f@EE^tEQTCGeK^Q(g``RQoNX!dL?CR;&2FIBQ-)4@YN*)o)zAdsdP5x2m(Mh z>zp>Jz!&KxtRa>u_z3DA8$RMf3+aVt~j z*Pq@a980YCr@=3yB|0vVTs)aP{zthDKe9|MRg@H~ga8*R0!}5`mpC^AQk%5qJ|K5- z@TdH-B+tYsYN zishz!#zjmo)U%>;inw4=q>J182;i`{dshv9*a!(Ajh5)?7lUd6$~lvZ#hiUICSq`1 z0Ft3Dwd{3Xq6ml`lPm)g?aXzsQ|2e^xXWFcd;oi0HI?|VefSHLc}BcUyJZbo-^6IY z7O$+vQ2;@Wnu5i%7smamMv99@&EB{<_3P`5$229&e$HIvRx#HMDIXw=UR2`I1mRS! z&o6fGj{k>gnXqxzf{x;WiqDz5%DO)5$s7pO{~I;db0--}Gi4)}Mre*LtQYG^9ujjc zwN$lX<*OHh*gg{NDla1?t?=A4)s@X8xr)t5*5~51QN)5G?kpzxhYj{W|6T774IiBH zw5KoY2`r^&G-UIs;CI5n&&vnjqVJKNF#hJzROOXM%dd@w$&~FXyU?_jJroeMMZg-s z8+4jf!Cs*)ll7fSkQ2wG#1U`OMkUV+S2UrWk%S(SJBL)Jqzjq5URDG!S-lnnqdFc| z=-a>uy$f=_dW7O&OL@$h46pB-s#qW*cpUmCI+tyQ%d^1 zlp%*bHmJe4cn{d`uGTT_i9D}nkkfMveDR_Nx%MW-0L{WrHVJ~OL)Kv^i^~?zMI%GQ z!nm0FSGe|Bm>^(`Pk_jqX&bkh;o@_8Cyp?b3ytr6gVGT7V2|JVWV(Y9;@E>0EEmE9 zCjxp+1NPFimK(FPPyMov9|2wd>yZD?m;CR;t}hkZZGYVElkteoN*?bM4ET@SPtWtY z4B5qQp;=L6?V~9#e!NU((+2;(CJ|AvzC=n=Z$MBc{M>Gr0&SQPe+}frIboC)?)H%Bi|Itdh1R=@7@TYmG#Hv z!3eaQqT3L14AA){yzZaMi=L04*j>DIjl8ulGWTT%D5M7`F(Qd_WVj}>Q0?wM!Z@AZ z7)k*Bq11sN$W{{KO_te0MwGIaJ*wE_aE|y@Kj7r${u(X|F^d4O-Mm%b>zM=sRsybN z{ita%i#$9Hy@+0u(6}G`fOSru@1eLFFY3cl+5DsET$a&!Mnq{%)B4EF(J>(*vq%CH z=9lfPvI_@Em*lPS_vxJ~L^#Zrzp$`3eHTQyBNt#6vneP@x(c*fB!_V zA=dhb!`KV5@GT;H!-y6l1A%zAVUi8@Ol?PjpUI1z@)%YV6dHRydnPt`z*W>5K%0r^_LP*M#K+KF2b%6aT8Pc7=l4A56{7TJeSV60Dc?c>xj+ zOQ;-PfX(oNJ0|`(Rdz>v3beh+;*JYGzMyb0TR-dQDH%Mi={qLI5a|4|A*hZ0!r zn9-d>EO3;UF?a)eF!8keoF43CR>z+Sg;4fLBPy&GBh$R5X~46C>H&ZJCf`qjv-z+< z9YGBbgL~PU4H-B=X|@y$_Or0zj)D~w;j?#eK5HyBW7AE2{cA7^t@64^?^$ZM)MG)$ zQu@nrXmkxM6%=3cf=LY2Tdg@oPd)?KPlE}X;rL0A@;z>5AXggZn(NBcm+gD{wh>SJ z^a`4C?9>{~&}Uy}AUZ_EnF?an$PWFhRw5uPYIZIKhL`OIKX*Mcqx~1 zMrNf|4gX;+b)a<_clfr#aY{voDw>^J0>8)4R1ctkX~F3R zHJ6?!kMd*6P18Vq&Y?G%h`I z?FPsbcFZJ{4WKoL4KSnuK&t zO~UyG3!raJa0xjj_n> z+T+YbIeSPcYd85thaK}rh<1NGX?NF3QnPF}kMxolvTxb9!b;WT2DZAn*KB-hRh&AQ zlXY-ymIKzjl^fcAuJK29_xKu>Sn8Ugc3LmRa-*cuMlh>@pwHl(7MwFX=Xj;wKMMU& zCw2n`08N!2ccYl(6>8U4OV^;?eHzlIwC6I+fQwhc%tRr5Y?hbcaCR#uHA6`ZgobF z_$?>~kwRhXyrqE@q-vKhzT9GX^|X2eK_z*%ZZY4ajIt)UJ6GpwH0UIckgy*#?{! z^tt~nyDp$gTO6peHm{*A3sO#y1=%#&_1$AbrqWbKr>OGrK5S8}t=~(rn{!Q=hz+fi+f#HWiTF6vX-juYed{Fa+qU8U|xE>eW% z*0E)xV=nRmiG*Pw+2Mj!OOkpivaEE1Z1$!X@K}Jwv}EC8#Xx>Z#bZTBu}z7W(t6bW8?uObdIV$42ous3Y!H z&sZ60Skg&s61Qwbh0Y}A$TyB=0BeL^?C#{Ycp%I3l3IWA#`e@Vm*rquCv~*95vOpL zNzA@E#5kLDg4oHlQ{rC?_EPz+$kP(GQB)y{JNhS_q$ILJS=6#YK7QqBu^Pdcx3{bK zn#^XF1}wC*8+NOk%xuzJ#ZKP0k@R0x&qp$K2CqZ#YIZ9n6}q+HtS14@=UbQq`(PW%H;^Z3vxv@kpiO>d$&*wY9{ zG7oW+XS?UBg;BZ|i^&*7mL@lEaTf?yPZV_XRz9f>6wNuyy;N}y{6`%jue<=vMiTr` z4h7^TJ-P4@#iMHWgTLZb{%>=7(IpNHl|$x~aF)dEtEU%|GXI%!C~FK7yWA3kA?M4F z*w=zv^Qnv| zWAo&v zzyt~Nj-)!huT2tU!K%9oShAG|#9H8QzXSg;YYO60Sji ztNgjJ!CFSK&iOYoW3sFhna`?R;+{X~Igmtpz_85>0N5#DQ0S zD-s*bxI-BTvlnd2G0PBPywK=D&lR<7%_oAk`QUD|NAAq{@fEi)_tuaT4zVb}mTiwe z*1;~PMv;?q;`^s*+~eK*_$)XXtYN*B_j6Kp(kxgF?la09$;9VAYC3!i0?8H(Gz%T6 z(H^_GH&DrW5CU4%8kiXy2iWG*I4E=;QCNnBOQ4NBwH0#T_CZnOc-wc|;;FJsG~bV^ z$t*b#LvRys9GLJ77%0qmWR~oj;_21fzUR8tYTkL3NOu>8;iG4@tz?(~H!rI9Zm>B@ zg0XL~nPF`3*K^R!QD?1%w2`*T`jT12=}FuC{H$&DC8x6E>g=rBxwW$blgYS4Tae$; z&LL**$g5C{0d;b#)CsL6ag;awS+Npsh%DF`f|_3>IG^~6Ju@zo;t>)MYY?$|2Xn-X z^xf!kfpgiSrJRag8Xz?UQ?X>He2rJz!_e%kXU}pm!r7u)bNVSjN0^!}_WiF5%B=_T zudnl#jF0Jlo+!2=gXFum*dF-Qt^-4i3rX6F^#W-Q?S)!Kh^CB1^6rQLKaUJCxEYPv@W#;uzL04Ek?j84 zx!1Y833vtZ)jl)pEb%D0s)UR9i56VeeLL+{S4*zWn8vOi`A6Q9!6tXr;vUM~xww?N zCn3l+14_beiv+Iv-u~kbY1)68KAwg`~tMg$|hGY3JUP z3Zdt+dN=v$YLk7HrRt@1ZU%qd46H=kvSs(b;?T0gX1{fz)RJ zQFXqzO5&t9p(8nX^4y()QIEUv)jG!*Hc=F97vUeojTCIa_Wl3+Wv3|ywqGNV>pegmey!A#4z=Rn zfnbBLMCxFyvCdV#sfaG+8ln|}h*$&cFaqi>52m#GBow3Z+jYPF=P!=^>5eF(8Bf4r z*$4dj>i$sSJ~<*2GQZ9fT>T*(n)u*K%f6)$LpEQo`u2LmtUH8LP>dL6U$O5NOvA&q z4+bZIRPKKbhQt1K`fcGP*f635rY<^3&uxqOj_4xtH(mzU6>^o6G_jTW5a%~=yq1`$ z_{K@+w5$BgwlXf`KPznI@(MQ0Z+3IT?f~etPH6DU?WS{U`J3{vT|T@r3lU)aZOg!S zECxPXmA-G=+%ym4l8a|ciR)DBx3i>ez9c(U#7SveaHB#@E#wIN7Qf<2y{l^fm{nqe zi&-5NJ9W~2^`715k}l)529v>Ota8*d(Y46z9j0S}4?l<)I)!!p zYlk%Jd@X{yUwFdYlW>`?*vlIF<*q|o`tRW9fNtCQ*+wjM27sh9AO?$A%@{xXDEqpv z4N=@L;+W9N2Q5QJcxt3(Vu9wIM^auGU_Cj3p;+EYh5$WOzoFDPg+4W(qqCPM0b=!c z*!!oe?L04kpyxg}xbZ8yN9^2;y&9X~`L=!_AP3vbyAg{|6FfX}bY@hpn?z!5Bo3wQ zX;$8At!d3;GmLAA5Wi@1F}O*Bfvrj}@JE6$h*pnqgIjIqhPX*((87$T46skjbi3V0Y>V48rc^j8s~;HTPk%{HI)kjtuDPs`b=bo+Bx48U zzgSzbmxY~FfzBg)QILjg*^A#m8ec9e#4H2?&OLvQ=79cQ0Z`&p_^)3BEQ{oj!PQRsXKb8eXw(?T^JmqD7z$ZAbL0!pBxTXZz0mD zxG3hyo7bMVR-RhJ^nkoD<|w!s#Tz?y3-7M!L+V{y=8OmB=ykObm?7sj@7AcpQBJiV z$|F{6e=RGlT2N}N=Mf5?C1y$vPz@Zhgg_`a8autJh^Ot>!u1VI3CWlHwaf>8gj~55#7s6(+LfwICXeNjkf|l@yeT#~rjqXsoo@F12f*&xcrDdd0~X2@Jr0)6)XELsTJ0UG!^6O+0avS_vr~nc+cCda%;a3p3?{JrjE6=1{xt zrI<5vy|u@XfRKBG?KJHO*jYv(xDD>dYpXY-($gy@U`!Abg_yBIgp zp2Are)dt?(&14l^8)9Iui2$<{qoP=1KUF5SUSZImykrj8+Q^g#ALYI?aiClYOA z!49J`HzKV-aoQa=L!4Oi%dsGm)9@pf!lUEINWDR|<<9qNO4g@*ax|y6-IFUXucl2< z9@mrpB25rU#jb!A(=mGsT=p2Q3oCWck_mqI1A~xB)2#ryc%kr^)o~C5cl%9YzX)j= zU%}i=#AcIhC|-L+tFW;eY*3Tr0dm+(-?jV(U);kx-_0y;;InWbX;YJ5!i8I1At2(l zuo}!9Y{1X#W5lPnTJ6a@3<4GSEJr8jR@h~Oq{E$lqK^d6&9FOS>-S4U0^mAusR(A! z!@nKMpLlhwePzrq!@)!^ID z*qm4d_2W&IeRf`Ta0tJggy&EHxDtxEJuzd4^}$7f;n33~|30)V%u7WnqW$BxPJ14q z>g>iS&U7)-&zVLFC0%B%ehk^jg4;W-qMU-5+;m>K8)&sD>hp}SA zW1}Q2&~ZI9Z0>#^_E(#*u+l3i`i`boHVXb7ag`X6 z(;P1I$@$C4A|gGtM!s4gN`g{|1qNc`uryAc@6CHltGL{eux5?UKAZ*J1QzeC#Qh#dV&V3RvVPhWS+O1a}!_%8% z{6%GWhX~8RefkUM`~w%=xre#u&COJ3y(7H{uF+cNiPQ&fPZeS@jwbaN(XOGKa&3aT z_ybB>iD2pv{vBy=oZ1EN1AS9&YUA)z8!8#r8&FJn^8E2eq^E^ay%5!2BUy!JaH)}c zAh$zUQs8bzCh$N<{iOlFqt7b=r37E&$@c+g;HaB1W+vvV5E=5a$b3@NIxn}fnJRDo zw-CTSU1{bDcQF(fNPi&Xxc+_q=7yxKG9Wl( zUSR=+vq^Ud-W^kyt{mj@lZ33lu<;82%?^^T4ejZjoJGe31xrKAMR6!^mIJQyU74dr zG9O&$F)!^&rKl?;siunLXKhp}xmw3uUbFjIs{6rkhOSK$Zw4P^M^j$h60%IDVbL0- zIRlQ(x>TP0#A;Xt3RO(Pzy~!}t>bD79{ADqSP641pra_k*QStZne4MSP$Duw_|^IgIWWSsC4Z9FC-eFFHvb~{j5dU!d@ z_J=%BqWHot=_HA*#As6TlUSU1w=)9xdC@*BZ=HGbZ=Xy(Rrt-~`VVx7h0Xcr=XqE& z1ABKh!*Q&DW|=!4xo|kYZ-Asv{eY|FOTLUScT!$#yu#~P@KxlqR!x8dCb3Elb#tnN zW9q*|z$uhIH>H(tQAWoeBUmVzz>p+iMdlDzAh~vR|GMfoGG?V35v>;w@TilsQiJg8 zhI^Z9`uOuL+0tmvH%C!<176{MDK@uZ!Q(m9y7f@LM$P`1#PC~PbaN&Xgk;jI@vkQ3 z2gmZ)GstvMV$sH*!MAnSS`df)^8vImh%BWg>Y7i;4#=sP=Na6#Jk|iun|{EN7M#Wv7#}>6}9?8+oFt zo`9q7{C`PO9*tj>LL6T`$0#%X>>1TY=&z)sPza!ei;9<^+r0{R9aKF_4S6q-vNEbZjh>ZNK{k0zNzdKPXp?aA(#vFMJFlwm9l7!Gi7A)^JO+SE$bRARZ6`*@o*S} zV5`NVDv^w!&krlWeoEPlb`0u+-}e9?imz{qb!~{cT9$0pKpz5V+Ahqu@7$)FN2C1T zvtcu+oHQNjISx zIIJqW34N;m4bz5*{=DOH`7X=t(ww}~C4yMUf4riPmUAQ!cZ_t#x)4fqy*=C)1y+I1ZEeoD z)cB(WzAAh@DmR_xVZJS1gXqHpv*kp3a~+T6#c0s24Fwk*`pnO!je5tOXASy~FTnXn zq56VgAWS~*ua;z}-BpP;m=#akk?fnQYY&44o6zxp4q|nbRab`ay&gJ%?y_E^ziC7aQ@NLzCyL86}X29dTz5TdsNSzX=zUvpU9` zMp+2`;^wo(X?QP5*^3Dwj|?R(x4Qh}-i$*s(MYGz{$ZeIyL#>0l zRTI{r0DoFhgRPc*TOwis!Qs>Cv8Tnlo=RaTo-+41=S78G4oFP_p&U%qk$Kq(C0)Zf z4*AYWapEh$z0G3&w+E9m5Q4|xGkF7>G=jB2 z=t6VzK}+DQ8v$+v`CTshu&<$EQu7G|Rag@_Ha0+T2z&({+vrIcKM=~_Z>GyPEs^dlr z!FA%HT})5&DA)2%s=E)usJ_i``Mf+w#wywEntGGR5KrO)oT#Kka^$_9dj0*rR*P19 z0_VfwGee7)q;!;1fbo2K0oS+&$J}bK>p7#H+_3W5)n*bm3lO>4Ot2gBXmO2jGkl&7 z;+s~xPF)a#UG*=pMOH7syz60%DsiazHV426OyIVNw7=(T%DC^htZ}>JgSvl^R?`$j zVANp1$k7Z0dJ0f24545BB-*M-T;(_lJ0V_|I_omMBl1SKbM;c}V*63;9BYI!HKB@X ze+`R;9VE96M|z|UvsV9MS^}UVV7|j=j&;3u7&jsFCrrS5!e@(r+mjD4mituCewsJ$ zNM^lt7mU0#DI`=75q88tX1vFnYsd%;zsR;nVIYLpsu_XL0ZwzW;PBu#H)=GdPy0{6 zcMT5|iuB5$tv+x3d5q_&Q}|(0+vh(f(E4_?_I|}0CETt1nFI$DERJaHY}{LZu>xXP z6<fqP*IpH!os=(R}`DJ7#Y0rHorhJ5%KZtzD)M3tCp(mc^T#&A<>FXEG4Ic^( zd&r*bjTe*FV?c&>Of_1qZ>#JZq|IIsbd5Q4uuFYmE#Tr@Cd@ljYaI_#wp-a~wf;*} zAl!*LG!8JWEskuAB&^!L%8rAC`%=%3;nNL9NC8Q3BeEw|{yyb?&O%1|MN!H*Z_#aK z8aD%*>~DxZ?ZMd>X7(Z+B_g6~+8PtmYi+e6Xe*w*uEe~lLYd8>_UQc7GTn}K_vt>u zB^C;7DlY$U+KVcZ^D_B%6o312pNxFGsX=GfDknP@c{-Aed5BYH8E};qD3@>c^~(~$ zPwFli+@F{u2W8v5X>?QXyVb~0Dd17)b;r*x-iQ=hANUNL=8^8h5rQcKByBZRV*()B8%$Oz5 zTlj#SDK)<7sVH?($R~V^@y2CaK`t^s7I!PBcS#CY zulf4uqWXl+h&$jBdm@k`^YbcdvrIry;FU0PcvR3R;-mBO6$&-D%pTOH@%fBO$D!Y# zkO-e#T^CExjmS6I5m(ZK*pZ~UA-RkQ$6ePV?=|Zv5Gf&7yv9fmT!Jw|g zO5n~4=FI6MRN=|pZmX;elQZaY&Ap~*y0*xAnx8S(LMS`e`ya1&f0$2&cqv`2} zT$e)zFm2=$BY`+1qE&fz2y(eTIBnpYMJO0Kif?bIH|AOL%T|dSmHm%iMb8acqKmoyi;pu|iZ=%!03Lz?Y7s zUdO=ey-t|0Q@NS>MUC2czcz-i7B|wwCqcGqe~V4Yc)`2z?0-yMa2@^KS`)iN(!Itj zSJBR&F#t}7F^Gc2PF-W2q6LB0*|x^C!z}yNB<7o+oFW@k&R5?zU$7IpU&8hz0<&)o z?iRGUhidZVLM9kP;eCw_4T7}>f{D=C0Bu5MULv<|p~`8ic?5Zav4dIn*G@v6<*SLd zi3ZG7L?HI8_7di15%NcOKIU`2CAsMlTo_(4$H7pw3cHgRqQp``32g+U2u73To;=u* z3S6X|myLJhCp5}YsXa`}QB8tY#q`F6M>}6Q6Qf4JJg%3?a>IZX%ZG8LZS8{#GE|51W0Xeq5D-818Vkr>XKO@NBy37k6kCwh|mV-Q4)xm-lY*3rt zq@PoqUsYvig^SF$Ty#^;p1t6Zc;yqjcvJu2tZ*n|LzaM9Uij)=6T!Ms%eoD2M zIx}47f{)3KChzpmNW8Y)ERF{#6WGXzZUD-+!`$wvYMn=}(6Nj-Ts638T=Ek43>UDn zT)9^+5rl*>S}lbX6*`UFYcD8xoWm&Cl$kNk8(JeyO$rd&p_MtclK4K2XwxywRu{Y^ zGoiGshF25B;c`cxmx^yP5VYVGh#0Lm`GQ*Hw zXC@x*Kj{_Z%8N4RBskxCJheCrMoYT&j3F-9$wfTdpJwlE^?bXlfs@s`#r&l9vQV&` ze~lSoAj%iPf5w!l`juug_OUT)QyE?)L;aG+TYs&F$p(X+SNDLg(fVx0x0!wz%qDu87(8{5(gsHoepbY%wQ_zL7yMU z?bS%5F&;IKsQ}9)hjOfDa~|8CfLvV$;i)tcSRg)a0R#+b(3DzrA39sY&otm*Ro`Yt z9)xmdJ*I7YcZ7L|o38$rV{T#d$vE^h8KHqZ$%htaAFAk2b+}3K`QZ zANi|4+IQ^V*v0yuj0so}Tq{_1&r=9vUlr8gm!>f;kPxO_p_!v0sqvmL z5)U~onjSqv-T*fCF9fiR$UH6Knb;4PoYDu`O~{=>xrp;7c)cUqDJ=dbKt$$WvS1X} zc^C#u>fN#VpedX5bbbT!g7UM^UG%cRUGmU zjXa9`Hu17SH3Mr#r?JCQA0djQFYss}_00k^B$txjNOtR-!oML!Oej&mTtXShk97ql^TG29vF=yQQ>=ATOA%tfg16?>P};APEn*pMh27M3(; z9kP*^8M~LhdE)C@C@z+gd0$Vqbs2Rr_JudSuSjvj{bmPB9Di;0ArXT5nXi!>D`To1 zZcKhrEH=SEf)@OYiZYswDwVQZ9oUGmeU^e772*=+aUsIxV{1N+e8QhX(w&R3V)t!S=;44U`x! zB@q(=x&xvJF)nr6w`vTYX^v8uy|qYvPY)C5AJ#o#aZ0M#CgR^#v806fjQ1#iCwmqB zX6MKS9hH!Rk_PS$c9{#+!}*!4kg3_2MNUFRB}REsGH?)aJu1e$gCEWvZp%0GW6B_; z$HR+XWu&S%+{wUiNJS85JBA2u;JGR){ro+3XV2xLbFswyS~GjRD;&au?^J_aUsfON z-O_ykw^90z@I=W|Yy?WpigL293 z9APE-DtA5aKLWCEU()H|B!*>%2T#LF`(9;b(TQ00+qZZ;7AEN_uXxbouF#`u% zx`xsjf~+gR<}QlG#4v!Y7K}V}tE48oP(LVTQt(c^rU#SahP@YhZ-rxPko)dRvT^s@ zo~mK`GzB_R6lKV2?F`|ZLc4QFpG%WE$OAreemUKjKO;cyTee)tB%}U_G3Ww=4Q&uB z0gjPa($e1zZ$;Vt7Q!F*W|JK{+vHuOWi>d0*bF9;ndCouPX^NS^%|ZsHd>eQLSALX zsg7h-bF-RYKcwU;hBZsg@(^W=Jf|y^XpW0fNkPhIaj=yB2XSE`O1C^a>S$NT_5$;_ zo{m976Y^~8m$jXmoi$l~C5SNbBF?|06Tam6H(;9NyQoc+u3-WPLCJMhXc15xUcwdW zxE?)ALom_L-=L4D=B}?V;Rh3)c3@8sK0N2*8O+80Cj|?941^N8`|J^j+K2xf{-0Yu z3QyW=w^}a#F=st@C;!6B72l)VAD^F)?-*=YAjSH{C_nFOek3aVFAMH2i`(^gk<|6m znn`$lQd=;rZCSrMVf*OodDQoWBI%wZ?cW5M!w?yg$>+c3Ck~k>9r%j%$*qOC&blU1$S5nCXdoLb>;SfGT`arY>jyr}QA@mStrZu_W@QMO(Y;E%t z91oY+o7f!0TLAzo5`gXe^pa4IJDTKZEBb>=#T49}B3b;yxpjnGMaoT9ZOh;GYl7ek z2YQ;G92u3R$kK$+T9=OG#jGAp3JT(uJ?P4%(HI`Umqn@Ui+|vO_(O0JRG_GwdeaFt zSQm(u$?t&eS)+G0gSgeBrrTpc&sO78RX22wfcM_aM*O|W$tJl^Ebr!cc-Z>EQh04G zs($7BD{+n!_NYSDG&S%5J@AEy)P^N3fyw3;7J{r+_n^XLtQvKOKAfs^7Zx#BWs5vi zXQZpIaVJvO!Z@V*0p}KyTgx{B5TmgaV0`b*5EDfcJz)BDJdZmLQNNxH-8w$7QG7A+ z)m(Mrmxr&%vh42FBGRw*OGd-X1#H~cAg8|5^fV&=K}np7^2BhsugC|fO{6nwWCKL3 z83?LZ$k!KwKwhIw_q!@YeE1!3+iZHu_VmMUpI9(6Cc*aww!pDb`satBOVSj2n|!gv zD&hu-Tv*jp(8X_ZqSdrHsjS{57A=o|li#v#U)2jCAj`4mux|u|k-`S8Kqv+;w;a`> z@1H5LqGP^Zs9y}*OFgI9IXdJY?lDv#xY`7MdyU7C%zmrkd6%(vb0jANxH-l{C_#d< zfA`Nm(7i$d=rAkfjJ`8$er)SXiGZg!Cp}#fvt4f@R>BwWzQrjXvbmRx8j>ZN3*dka z<`d+)cQuRt)t@`z`e z?pt1`OA=kRwYD_P^A1z;^MT6Iu3QN+vo)i;Z_1CcIzSI2`6Lf5Uk*p!sNPKOU`AMp zooVDteg`-z1_4xyCUe;u#blsGZd$4zg+X@A96;dItGJ<||_N6o{L+rQ!^{o~buE6g7N9FGcP0szmp$8aS?-uQeXR zb6Bzx6~VhIN(<|5ABNIJ(R^6}AYcIKCk51KWmzq22FqnEh(2vStv{bxM_RGk1z?iGnY=4u8uy*Ir5fGlulq2`huYopx{-@nXV)zt2bNbZ(E;U z+xcg`WavHAzM78WkN z_k<2(DtaLXDq%2V=5uZb*=fa(k^-F&eBmxuE~r!^%u-_1yRXAUK-=)e)#aF_+SVciYcVTRAV3S}qU@ifscDRx|?UUGXoS-!uLgy~OX zk!UkH$Z!l%p+fu164at6WD;c68F-u|7IT`qH;^le$ZDZ=rg!{W+nykaid0Q*O<~cV z9EGqb>6qBt$)N~FZl*~)wNPfoAPgM4V#tU%=fJ65-}_4+r`ub3jaho~6uBM-Qb}`b zfm%EZ>xN^ay@+KQ8dN%{2A}CVoUsvvwm2eHC2Lc88IQJeJ3*h1g)^#;bV}Wecxk7^ zbpM9xAZ$|$oHxY#mCFBzy}Jx* z;N5)+J8B=COuAx@|pbzK&6!{3qa3umai#4}vv zB$@Qv+{2z2mOU-@wWr0S?35B(R{p;Ow8uf;d9>|#;)?GRC|W4LUCO)&${1=2M}lQX zy3u(79kQiK{3nyShwz^J5#}_nZJiW)>xXKOGPI~Kq(d7EByZ!-xdAz zGil2o(0|KqUuQn#@)Wb!YA*Ri#s}kcxxm?%Kf?W#ClD_e{2qVy(ee@J)<=1{ z#~&lfsr$i`@#j=|M?X7hm#$gtQpY=A+71(=ITN|5GfN~&?|&aB^-}M5hYnp89s5S6 zp3Gd;bjFN-3Zqb7lNquWnvH_9B|UwvGcJ?#^C(7>+-3;A$7xNF`^)B*lH_H5YCv{v z*zhSnRqXD-`twar-LrCo^8-`IYdpA-Fv+B#;UL+=uycLnU~|64vsm*czgm|hgMvf> zb(dMoiZGP~)q}Ys*lW;lnd7}-tCK8P>8k&>nABLj&{{L6JL_atG3(n;XOu6aVUhWE zxBq@7xv=xiuD1$|3I1K`J7y5V4t-+$jusB6QfVl308x0C%s-+)s+SL@)TMpQVn0J zNUo_#6%1uJ7N~s^)++tv5nRns;pKc5oZ4@(P+y)Lmy?!D8KXN=F@6*dYA*P3?JXuq^MT;RX0Y1l)77ArI2QC5C!fyZrRg_>gRAVCiY=j- z`+a7{%&LFMDQ=Abbf4zGa>a21{Vj8;&Er>%l^2ofv_SqRX}h5dDGT`wZf5y~wcD^-*vdGVjbX+gW!swzQ( zsO5{lKeS8V*w;lV7SLP0z=x#DD{7e{W1@PuUfuFdC{*nvA% zn>g^(_$bdx&+je^)>I|L_g+3Cd>lA=HVysA!VUi+=y56j(d_5^28HhjY4@xnUDPGp z19J&hXi@V4wN|Uo(S4Vhzs2v!Zvwx!Fjt@`GvPCFOMMUT+IP-}i_r^N%QyULmFqCA zi@qbzF)D@kc5?!KSksjXc<%9~;E$jO__Dxyo(Ue=;=ljBWt|uviwYE&V0~?()uP>cZ=DScr6;`88@W7_KC`Dc07Vj*MlMz`4S(#J zS$=b(Yp?Jpk^5Z%-O1COZg=*`OQXYcXUrV zdTY@B0?WP>6$_u-JX5L6pu|JXIZ}^dd`BJQjT+0inO4Ds6B7o|uG;+1GjgmFj{R}r zV*n-L6`~)RV{N)jEX)T z6wSP(HRYG=Ad|i{>Iiki-*Gm!2x@-+^G1NcKU9l>s9=c(_2(q!eA}?+`yT_EwxJ)k z?Pm9%G*c(;-itp-Vn}!SYN1GQ0b9=fzRB^BOMsE`jJ!^o%V*vHt~j9I8S$t2F~9LI zed@wNE7@s1zQH6G|G)e6J*4{ankl@;iB(BE1!fVtdc~%;MfV?}a~)(OH=@G4p8C2z zYNAv>v@j~|r+zrx#auG;(>dffM`WG$#LiX z|98~`>tz8=^jcG2DiIK4;vOH9y2QfQ_Arf|BsuLoM|s1h+Ej;K3yRbdFC)gjktH;K zeH#$@bz$fUnC%69k-BXuou_y&OMl$qB;A)+8F8dF(!%7}j24Ty&`A^2UYJFnedC{;A0BiJ+q=!&IwnE<_NJQSN*yieK?Qk031H|E}i;iKFtRm;^aSM`XuJ+PpC5 zb!Q-mjf}46-baid^qKqV$v&*H(-iG1wD(-JA%e{%sZ)?q*7v#1xLA6;7iTs;D|wDL zlSOFx43n$Sjtv%*b6?1v!fIQ=PiHgTBYwedrmuvqW_iZ1P$=7C&Wbz1C05{nVy^>FnOJ1aotYB3Bl>`*sLjHA*Ey9!sESH!L&>l~?0iNNy$hYiLYf0=< zkd8|$&o3eOCahf1gkH=PnCL{_mj?7_-&~CN>}JcYv|mT)BnvW|0qWv2i57okYAHE= zuPoCfa=2Tro{kqN!I#$eVyE3{&`2?tUyfU={Ma3+wS8PRLE;p;s_;sYrr4W9XXnw0 zj(yGHIr&`rc!`nghRDU&S7oPkG5MU7)Mycrf7xE<(;2OiknxaOrfY)n0|O5W;XCJc zV0qN|ETnuRDSLLD_9a+foT(w7Jz%tjsrTc_J7zKeUUvWYfviP>%8CDIjlZwldvDu{YsKmG969y#@wEJ!`tq6AZu?+hVNd*m6p%o z$(hv53iFCY2tM&2op)cy4~nk%WJ&Gk?Y}-neCE#5+GrKDHZNOR?7Cyru!5<-x_4C4pR|uQ3!h^)HWQYXH`-VREiLbrxE@vZo*4A=GVw);R^8v*8;rqa~<;kpPZCvCE zOc}39KsNv#)0gu+MavNY`xcJL&bvJmR$0)y?I?~Dj(&y zu1*rUF~$F7B#rzq8x(?tV{395tNBMI7+Ki}-*G^)0HIB<^5|$2LSiTO%lnkhf6p-Q z_nOD|5l+rd2N^vF^-ZP~jiL6J=4+mY!H6A<=x?{`T3o{DY-_XwqRnhept=oc4gj}R zalzd1sNTN*OBbOgLf6i+?s4B56MSTn(~HFkbA1E&v+daq3|SDIS?85xxGO%Dk;6$z zrWY^Ao?=G@aN*PQ`YL*AE|2NCC5WvClX$)h>Ckoe0DC)U7$aC>{G4<9GAC6$paUKl zTf|NLDfIc=M1VVC!{>|NR&$(gIW|oDoJP`9E3wuV(#m&IO!4bKh46aA~&;4>z!v9cD*68@i_RF~qL8`UV zKiquNz4Zw`ziZCgi60)wH?vQwe`c%;I)UWYuVl=px}MPLe5MF8j*UV=(Y$zp$!S zw7+eJUR=)yFD#ot1eT#^ahdQ+)HftGEX^a}ZLfMj=(m%xC)HL*5XUWFVI=sE#9Wv_ zL_6sYv9&~5T%?fPX-HM#@~p?x9_@w@_1pD>o1K0q-o1O5;|rR?>m~;sgC|q+4CUgt z6v{_=lee+GIv1JNMW9Mp+16ZUehNE&=y=;((u3${vEH5R5$U@&a0250y|LwgehmN1 z$sK67TBuFkH&krhY|98!<;#A7!~oc|h+N{2H4Qqs&+Q&KEL_troz~80YX^J1F ze<0p%zs~e2H}Ke??9le?B{VEH>2^Nic2~M(XQV~gR_xPJiDN4E$`IR(wQBcuFl+s- zzI79C`L9%Up*Co`e=Ba@;DOftA|Ik($5T!DXT;hI6ogbJGC@h_zP;-Gm3X|l7{*reAc`pl;T;yM=lP3CiYEIP^%CXO&v?fjJf#D8f*+zfTlsx*)s=jao z78H06g3hM#2mEBxF_z!OsGzi;`*S0OM|D5k=j83z?@M84_tEoDDbfg7)Kl?29bkf@ zWxO>s;)0I;^I`>_tFpa`B-wFK%8o&&dzEHHytX9{Ftv(&9qDXjqI{6hEcTeYjo7k6 z@NS6R7+tLW%D%nJ1Je5NN<48xiC-hfLPT&mO+$VyNu=zzmGj)qX<|v%RA{ieTXL=ULv#$yu2!o~M56cvK2D6+07N z-{CE(3BYIae?dwqaT`b96A9<^b~*Y$Y4Y);Lfl@O?m_!^O(|d4W?k{OO1@%~t@7>W z(<=KXxdK(r06yotkDuon&95U66x5t}U6)+TpG^Z7{N4%GHi66!A?!IqCgH7zN>YmG z?!l?}f&=9$^v|H|kyD?Gyi~5c{8P6;JO0}?q(;=QQU*@9MzZqo8I6Ys=+`XLmM3jH zZo*~`D@;Sh?&^Sm31J7}nXi8y+hm09@*E{wO!Oc=O#nd%YrxWknul}sk&5G2$9)*D z)O7a;?jos0Ih%Ci3HWES?RtUX_viLT*S4k;@>Kh!M4(wENVQA2cjkR zF(8{`ry~8?KG!*Y_U)%`^1)B1JbTWu3XUrovb+~^2OnpjZ$2qZ9ltS}=!oTq>W34w zYOKD7Tg;Fqjd>4>p+A-C-_y!|5)M4r_nb2!GL~_+HmEI=M|#~^&M1N{iB0X3n@aXJ zGiLk9m9jT2bKdcg>JzVGzWcgq>+IgTKTqZ)RhW%I=IxVf5h5w^9`N?w=k`dur$IWn zA@`KZU0kf`1LK15+z!P!@JTYG9XL2x43ZuUync26_whIQ9tyKC{ANvOqgv@Pe}Z_M zVY$t_r?xNGa}oqhbVb?6+bTvs;q_ficN#mEg_C7s=|oL#_>ygY;kVmR8g8o?Bn|xd zE>1GY+J`=O6OHRUx(2??fqSP<3Lot|MjvoBB%D^@-wanaWVYblE&l>-d0zCV8SLzR z=YQT~E@LWcL#OvX!B#Yw(p=*E^x-~~(5GiT$r8fpVMDc;1P{bdNq66`+v|S0B4>8b+Yph|+S3p)chks6@^GuGxrEyc;;`a+5;OCm7Ld%h z+(*9zj-C=&&?$c@?ANy8n|LKnL-q03^^*O{uV?zY6i%mq(b_p3~E2c3Lm_VE-O0%7Aoe<H{% z&}Yc9Q?8W-B~!%F|CCpI$iZT;d1!d>TP4b*p^F~#E)o1Drl-oYdgJnkx?_GqkS(U5 z!>)OwYtP_U%4|>7Vu{T?dlvzOfkV>I6h)0pL1`Df7CzFcwCCn^w}Ntb(iG1gZ@=jD zGv(fyX>8nztq<>3Ct#I!s~K(sln&x$%oL5H{>MXz-3=N&&_*+1&E zo!QK{qgCXUFrc##`9yGO!In_>&*@RtH{~8AI(qe6>5?`-PnD&t#`#l`a34Wc!NT;E zS^F!Fg(>Bv_XS)WR?)ft>Duv2zCtu9cU2!altGGAWSMU_4EwYf?#yRXStLFHU!ZUii>`p0ik4X}5o`-p|EUdh`X`Y#p4L z2$94u`%V|U5T}wnc74I>N-g3%+fdj~EHCtLin#2d>BAhGVpsIyiTGp(Mex)G-29!i z-sePAevp<yr3a1yYQ5N zKZm$LP4`XQ7@xXaE-^uFXui3|)!BCA5op!_27O1g)7@C%nwb~HOhPxXJd~(ahuSku zZesS@{Mn?~se%XSnmsbYI&NJ5PAz_Qgapp&E!B$8(U>NBN?CtJI0t+-(Ov2Dj{p7yT?S&8-PDQqXN*bPygZf17Oc(vL& zjoKUm(x)}6Ki-sQIi)&u1MDn*UCTmEmB#ZJ&DIC=_(o_5c4 zw#v3y6S8MjFt0g`j4qXB4u6ykyB8hW?4<2DA!MKH8`Zjj<+SGR23&#!5d(EUV^$7? zU$dgJ)9%Lq{o{3B(H^N#$dzZhvN9^wyIs!SdjKm-Yl5{M2ibr!zU!7xhAx5#M!NcR zcj%kn zc3T`<*J>91d+*MCg#OGKP8JSzn`ob`+ZC-}PG`N}ZxuftDDReW2reTf9p<8MD0w5k ze+CVsejL{NqMo`<6lDOxe%$+e{^ad;o)VOX&p$$@O^!MZFfWqRbr`Ojoe#3p4RcCq z@kZz20k+8#1r;x$2meA_ZC~qh9X?DFKq)USj~~G>qdq-^6sabH2)$zMg@`B*%Mv{D zCF+9$#CQJn`K~jBu_US}{?+-ZL*(hlLH>?*^-PG9Z(QZO)+>ZM#B26QbZf~|CpY=X zgv5(!v0?sjoz8F13tIp>Qwci;ASRn6tLHt!t(y}!-wZ~?ke%9dibtAW5|Z4Q3EtT) zr1!c~3>#OP1YDFn93THTRU!t$&rPWN{%v3B=?uHGU&!c5uYImMc@_s*?cxhop6UK3 z)ZXm089YYf#wS)=!PsW+ArRX#5wn=>OJiTD5BvNtK!H$1D6Q#ZGBEBY6$T?KH>Sa= z;}JBR220=!9|)JBm&Afh6Tmv~W8qR+TCN}<9KNW5hw;y@fxf99DKF=@t~?Mpbe;`# zxp>mdx$J}#-M&H;!(K9+br3l$!*BQJnX!+&+S3m=^f8fS{`G%)oR?=mC0W}9!HyAW znzji;9L9#bGn}LnD?I+*N*|nJ(bX3eOvszD+6s(K$Yk7F_ElYy-E%`Z-!yb_<+pP= z<6_>T5qKij=~AbasT3Jz96_(K9SOg6v~97t=+CEji9>v-Gbl4Tr@F@Rqjs7UZjm9;;ok1 zZpS^5llo7>0kfrL6V{Pu>XD5N(x!oy!58PMy(3&&NJ4o^a{ub1JU9X3i5&md5E>t# zxiw2}%L33Q)|R|uzft;#NgVjgZR*E9!;}&s+Ba86Bxu8CBZ0jN+FmJ-nw5&-@abvY1PoW%e^yQ}9EIw12|8 zd>)dq46Cg;Y_fZB6nB2y-9B-zt<&m@*$j;Exs^>`5-;F%L%Q=on@?rOe zv>d$hWv{#XHoG46SgO7dptoxGa$;MHg2!|RN_X|wL}A;`$2W7~`=zSdzfuS0q++XAqB6b6Y>eHTIT1OX;0Mv^FDzs zn^NT}7fv)s>9Qq9w4QdGosZElhqUfn$BHa(;fR=v$T_bL2|dt`aDeWjz)Woto4MDF zVob)_rgR!8N_iu{&vu!l*^+b%nm?3W0pIml;IrNa*_2mlA`*Mi%U1jKs!eRS`!e$* z%>HEXM_$QF&AC>1%BTyoy`-CZBC0RfqNA)}IRCzyVr(yr(=rBVolGyPL0vTO?Gn~2 zfdI{Je6HOPeh*V4hIu(URr(Dt%T0htpI2lU2-Glo9h653>kbk}!Vj10`sC8 z&mlR!dRENOwzAgv&v!6GOo|`|*(jPH={M{ zuA{wkbUZBaZPYx?(sEkcV-ZV+m$O%itVTC$*8=_rW!V7piUCZxi2sSP?N-=GS>5VT zyXDIBu9-p^oopp7%Ep`9T0Zsc%oPk_%iaDOYLP@nXiwUpudHVJX7|jl0TrHc56X_0 zY&aUp-zS$cc-h`XEb|%6xQ0(&$dBh1?lUoE2K1C7VuIrC2nCg)j@thk$9efgVD`$ z7s7~XfZa40MBApK);mzazyEbT^k+q2docU@Hn4<>O1aVVy~diwFjcFGK5e*#w$48N zHPXSUr;$H5Tj|MwsExM1Q~GxfR8YjYnXp27=&oLX*sl-AQKkn%;FdJ$+Z>JSzh@rYFg|jz zddE~oB9?k{STvUK(_P9iC>U({^t!wjz56b`#cKGB8_)|W#?Ix zAR=xmppQ*|{(oRVtAzgD(ev<4s(Q+&5opDilKRW))E=%Q=!yQIZ6K8ei@(#wHO4^s zL%qG7lYHTw#JI(yX9@MY#ajf^H2%=<=Esebc~0mvZW|hQEGWyBFniy9YCtcE z4EP>?q-Y9PQHx`O>CFD@*p-^sT?o^(!X;1?c>Hwrh|_vEM9kPVh~ z0ra06*1fMj4L16=dzzbm0wAL%aPcYk$UL;OpIAym_14|Yq@=y6agEO4jnSR1aXDFr zIEcO>M7X1_iu+14c%yGN%qdp+?KI7RyR8K?5d9u=z_R%E<+SU_$c4O(CZ3DolI!Uv z|E+wFPgeCI#kqG{{L~E;Wp$h59k5fF0KH1Oqjf2}oW3ljAe~4@g1*)g5fXC}X%X() zti-)QdzC6BuaAfBC=UV*lWUgj;Z4%#`G&Ij1>FU(NfQ#lK+7%DOD!M&gUZ;C4DPNo zprt8cDafsfT*iUQ27M;+M4nX7`AFuw3odU|5gu8B?=)qC+P z@=AVLPp!piRr83Ax9pmg9FePYdEHi$_JE3mO3qo#^nP1B!5RfqjDUx+W-^J8v6>aM z#JRcuxVzP2$K#^ma9=~I|Hep-y`s_W;?f#CvNO*ZcgiqwQO=RIgLP?}Y3W^&f3)wQ zNv@6kBRVrdap5tUdkPYB&oH|zCk1eq%`o1;b^MOEb0&yf@NF&aiz`<=;J~q7jU*06yQxvi!S3Ke{ z3S<@4PSd4$Z*`~9e_N1cl`*6JS(d}|_^oZ=wNUGS5|ii{E#~1Y33bfD*g4|>nCbRc zFVicmxDjmiqjrWZ zQwjC!8?+QI6a;yJWFb9Gp_9EIB!Mw)3~X+qp)2TZc}~gRJcP zch{q=2_EkA-TOHXn(5+?faS}6=%G+>D?B~Zv6g(LQj$fys7-ne@nM!0curlSr~PZB z9^k%l7xljWKdi$WF0dU}3+;a1pY`ds(cZ4XKTO39w$RoBPmi8K)iYSRE_I~=%VEWz zBB#TVUf%Eb)d~aD=8VV;TLxYIr|eL+{-8VWoZ*( zNnYw!@*W}p|L?!$ZjkL#j0^`ya^icyvtPs+Nb}jr$!DDnU*QZvu{N$BRlIs;d`)%VG^dSN<-aqmw^QrZDao6$o1v zQFASt(An{ReDAfGR(k6Cd`K;Vut|w$fv@v$RI(;|9{3Z_`Xi8>k7XD0jF{7v^~P7C5%^F9LVr(XKADEjou z+o;WRG2q~g{6QUyWW~zf?w`Xl0fEj#5B22^`-Ug zt5NY0?wg8(s+<9h+F};bEwin&Ebo$algS!SK4gxcA4?Q4*AwxE)ilv~a~C_p>ZPrm zGPeUcpLnp+@dCvtZ&nY&e)()F&nxO!7*{RwP5!+o3eY;)^s5@QGOl=;41Z0QHs#!4 z562>M+6oDYC(Jd_fP+ zShm=Mx7^jaRYr7m6nyeRrBA!5hb#!Uo*azIqj}6VO=2VF*PnP4l?#FkmIVlpVCNFW z5DcVbzx~a+>w22OIdW9DR-AKNXJho?yfg_)#mbJKI~h_lsVEpmH34*&S2!Jb#zrp2 zI2rRt{1tLTRd+2lA%VF`UK75mahXq6sL2--1888s(L4!*Tx^fkOVF>sJ+SPB3BRo3 z%PM-8^Hyy~1U~Yi-MtVqr_s!yqWmx>l1}0T(z~%MEZNc2=&n6O(85ve_o4GtB?-{E z?g1N^s!Hdx_W}+f*)k=t{aga)SpwTRaDsWmGx4INhr{AN)piiyrlE#yNnPj6urpAX zfsPA{^~75EVSMjG<}w|~k+=G|iNtQ6_r08%0qV!4wAEp4a`WSb$K5K;012;b1dEO> zhj1a=MD;ObIW_*&#>G@9vv(%56n!h`Wm^6nUSM2jJBezNiD=Q5#~0t_G_3MQ+{gur zc;vptbAkCIW2^=J{gLK>?l@3oJ7Kn^nqBU_o7oUIL`JZLV+bEvFoYw)UWTZL6=+w}k-f-9lLD$net{DbpnRN_cpzCY#sP8KsLsQ-ii`w9Y&`feRtSYWEtGCrSvz-z>r#Tl@sz z<0Uz+1*-Yjnn8C44X`ie3DSSCU8SfkI9OQ&+H7VgY$6@mWjD+Lt`Tn5^0B4{$3XC2 zQTuqhf6$tv=Hy+;%<5-IUYfs>>E5=>iNeCEK{8@WC{6a7rMt%2-v#PltZb2A(+(1^ z&gMV0vBzy)SRMv7U(~}hTaLFw(OC}!jq1avv%~kP>Lsm0n;a1{$t!3hq`iGN3f+7~ zT2M+6^_)+vX1na@=&?z8?p_M3TiT)=pFOP>MqR5k@Ju>^qp_8fnh_Ys<{Ds+@izjH~lvBzi7wnu~u`WaoMFD2^-e1&Bt56@!YwGc;T0xH|k~v*V@ns6A z-$#tT^!k320FJ1QnN5w=WQuEj^~tWNjD0b`G?{`)(BImvyV>n>!d%d@b#6 zU)guvq&X}4&$NAQ!h{))hNd4;0_muI?p`5y8q6!87dgO zVwa>_asJ+Mb9sX0f;mW@Q2cx^+c9~`h*Q7}S$C~1XgnbflF=^{UwR2pf|}ay6-tee z+6gc z^;@`9(Z7$Rf}q-I5V*mKkn~PcoTK|VEOi<(fmEKa7kqbe7Iwc~f%LG9a-`4G0g}P;6y>~hw zlfQD!Kx9~$?w;Vn(meO+z)5juYxOA?bh=#h{QB-SKlr&%R85R{8C5Q@(4g&YDXG85 z*%6wS-IzKRNcyFvxwY3RU{2OamCU$U-is(;ve>~U;_)9U130S4F4YTkmNIjrz4$2k z8F!P%0BSftBk0)-kjuN&k!E&b?`9kb?El+b<*(}xCs5Q^NSjG=>ur3ZFEPJXDT9A zKlnKp1un%hXs!^ifbpq3m6j_Vg2&>h+XsDGryW4ZTkor>KTB|#z|MFSL}aTm`9MVk zh(6|8j9q%8UJ;V5_iAM!)!j=;+T%8zQmQ>ekogm*Hr)5*`@z_1Emt!tc^G`u+km~G z$&_r?P(&W0yTXXuz9`y0cqmoq`7~0Q7GmnKuFCfr)C>7#*hWJ|HFYQe?>n%O8(405 z?U=BW9o`G30MhehvQ+AHB2@Zib6O6WGiF|~R47#u@=zf9R4Awz4&U)O*SjE5tIU8T zhiS*w)7u(18?|Np7zoO)b|>SNBeO5cbWDMh_7_qt{L&Uo?ol8_?vX;?s(jTU}X)wM!p>7Pua3(b{jY-Xz}xpgqv1J!R0i?>eHb_YU0uFl3* z;{AUSyE{M`z=gt2O!LbF|AuKh1jCK%DBbxpKmO@s2Y?0qv_sHgk?>;i3D)uF{>ku}Or#fdw6MH^lLdF{r`0<-9h zxp!!!HUIqPWb|mTl}LcP#<^#5+UnsaentcBIu;9+G>l_r=bl;w_dwSAX^woLcX0Gc zy$0E4bz3A~_6AA)s@mt&Ti@|eX0s+MWt!iDWn0QaWa>~K|6Y(-FQU}A3MuTKk|maF zTHM$9JV)=#^y$j>lU@`sMVaMzESnuxFgnIBKEvV&Qkj}Qp_3_UFvcIRa<*3XJ9W+~8`d_nxsRT{v7X*Ol`qtnNp9+ay4$wYz$T zC0|%8`u#@ATe4Q8cc4*KmDc>5FSI4kFMF2d7Os?=DSV7{rzjt&FDgc()AKzj^d;8OeNTZk_IB0&^>By`vTKcXdhp6SBC*xOSL!^3*z8aWU@^efOZGW*JyuoRgy!W+VIiY~$`3Njj}> zOe0xHsCdS16W`I~%edDYjS%u9w4l9_e4CQUySKJ8R=o}ru>d(oI%=69!3TfBWe%gGRa7Foz4EUsyuBP?l)tdgp$(icB? z1hOpU@YWVz5f~fs>^_>_FU7D|pRmR@ZqA~%Cl>;v3`l2fUKLJS zQxE+n-%O7>)DE{<%jF9ZfEY^}OzYa(dpg>RG8B9XYv1{n&#?>0v~_gYsc&NN+h~S2 z9Fzu7Dn!004x>-azuJXatd0p^OGxPF}QIBG@{_{Z$W+FW1@_SXe8^v;}?y8 z@{mrv06U{mR-;VrvYZW# z+g@Fe(fXLDz8=c7*3e7)O|t$c5IYG8x~=p(ALvmldh`7Q+9z9jz2g-gM;DeVRGY(( zWuCta|3YfqQtUA>BC@hOznVhUETONb;1{FFySFfTTrzLcdNbg{r~pnIlwdQ#3UOb% zI&M!Cs1NU(LfzgeVulYP{K}#pN1rNF)^eSwS1i&qFm;mOe%z$L5u*;yGFbYfWlX); zXuhsXf3KO><`D{0iWOt76XADRom-A#zKV$$1~*w#S5 z-BvFC8uZ!5^ow13=Q>5Om|-|@mSRtnfNrw!AUEo(b?3lsyix)8cJ>KCy@>a6q*=Af zDH5DX+`>Rz1FJx5sGeo~PQZ{@rP`|0p^P>%y$sK+<D(CmQw`Xu~!?0=WRiM~O;c>yC7h zQDSK3i!@eivFts(8_&LP5i0;h-7%Oy=E&&udRcGzN2iezH_a?ns)u>2W3t!ot#^%q z@dzifete&Kw@ z6%<@f4dJZnIo+b(;MVpJxpN=;3ikOvR=K{7o?)%-G(X5-X7U!dX9LQYtsHNUuN8rx zM=E=0+Xl;}K4GD$6{g7rT2`yufn}!ae^9MWhq2n>Js2WiK>4w!-kBVnmS&%I(nfJN ze1^!g&(BEc7Q8b#Zu_>w&bM)8NXSQjr|ntyuR9{VQ)p1d=V(T$Wr1$o-uLxsrI&Jb zCh}UJzD}7seSv=4{hLe3Bz&A59d6ZDC&EZU^fUHw|i@8;ol zL)H0TQU^z!NIfOl56VCpc~k5Kh8MjMAqDLfJED!2L+&pCcagqwV&9o0J1ui(LufwNm($Gk?%A{L5i#?3yh7h&4V8ZU8F~z% zZ3L@}LYz(y_)zYp$k@b*9L|b?nwAjGB+7FA4SPlx(Z;KW-tdVBMAQ0ZX7mn8h)cBv zPw@qf=C_{L+A-Lcb#0haY?D2Px6Wr5S*COYQn?(`OoKJ8VvtJ8U^# zgLg+Z@LZgx?<1dko6%cPA)c2d%0AV-W!9Hlk2ae1f^Gwo)z~e$7l9mtvV-Q1z(TA( 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 SjFb>yey6`y=lB7jcbNd|552np literal 0 HcmV?d00001 diff --git a/lib/bcachefs/tests/fixtures/encrypted.img.gz b/lib/bcachefs/tests/fixtures/encrypted.img.gz new file mode 100644 index 0000000000000000000000000000000000000000..769e490842a5a34c0c7701bca40411e74ad9b40e GIT binary patch literal 716785 zcmeGEXHXN$7e5YPuUAnNP!W(WDxg&99WIK1NKtx^bm=AZ5TeqQDqU&>=@2>u2oUL= z&|4s(2ME0+1W59~zyFKp?K98IXMW#(v9ojL%-Pw`>^Yy^b9Rcm77T zu|}B4PMbG8{NEqT`~RnXS!R3I^xBJ#?eRYWbpJ;{-?8K&9yLtDLG$*TOCdW`a>Ssr zmSAEM9CSA8x<`g_-uutmA1e3m?kwR=SJ>0dTxWCQdz7Up_swv+3s3ZG@B;Tv6}NRp zIhDOl_Ryji;>LeF?b#fpL1czrD9zq&<<-Cpy@*_?R-yrZP-wLMF(&c}6Q8?9(Ak^% zx44CdovE_D0AW0&5{gXwut=S!7rN-vAG+|_jFT4?)t~|`mbrQDKmN$QmiUxNtN&7K zS;eW9^jq@W*D~oN_Mc~0b`|OHtMP9S?~TE6^F?cAbb=T!@8 z-(G)3#f`k6Jh!1ff1?81i9jT&aQN4m?xo&&B|Mk4Ytsb*e1r?$lLGgkwvs4Keg-nm<6G1w)CuZ{h7{!={`uE6i1MGWBX0gdz`DmdH`O4@ zn_F;i#_+bL0+;%H&Na>)Q`h6>8HRK^_G+h3)DJ3Gi&qKBudljDVk*;LAO$z6zemZX zWG8MOY7O=ewTWC6WrWhBi6GYtyM0WdN^T}lBano+>>ytVVZs@saWQ;$bM)3#3imnu zIE-H>ut;lXuuCON1z&ab7$T?=T(8lbUc4R1bAdYsQc}5v4iDB7kcPpOr5LN)9e&5ZxYe)!6vy; zCmdw(KM~cKlI7gTEaD;k0{fq63_x0;7*lH3;{4Og00af;c|JZXSDdyf216K&DkX5K_;#i}T%FkUAo{{7cqhmc=iASo{)De=(u86CP~ z05{97fz>5M3_k3%@Q&&Xx`4P)fkZRq=`fY)0cGGK?%Ca|1ixX(0{00(GJy&}GDTgn zoUxOULEtOo2(Vc1pl1>se4C315tHdGzJOwLuoTbs++*lYJyiz^Y=^j*T>8G6LRlVA zMao}OU46b%UXyVORe%0GR=rL=WjJAyTZUY5FQZV3-qjFD%GG6t)%A9Utp`7znJ!+V zwifICoBUbx3uJ>Tw{8t3yt#-vBjMVAS--pX|2pgcy8j{YKLq}7K;RE@G0Us(l5D5& zw)$BIr6PdfdYQk{aUY11gn>$&D$^Ne|9>RS_jwczPGXh+zyE$5|8?z}8DO;a18!qu z3*vF->Ua3vyAu+Reb%j2Y1MCE>DiJ0zw>4;Wbhn^r@h5~T6J_4<$bfYR+{2@`adH5 zACdl#NdIq$Q2$%w{}A~9GXxH)uVLc4mWli)n9DBZeJ$fH?F^0UqXk z9tb`Dwak4synO9i4D%AV-zM>}ct*$V^5QaboS+i}2dS4XNr?wIgO@+l1ipTLGens)FfopS( z2JeddhNVOdepV?9ae3kO3)M=w=rmg@%~~J3uL^xjJ|8;bNl5j0RC-jD-p1bDo+KXv z4f!ojM71;x6+HXGQkCucQu_3#pLe^n;`X0?C0L!+QjIsR=7FgGLt39U+;_zNUZav` zDT{wgYF;qpjJ}umg;g$D=$ey+h*^Ou{Ffq2b-Po`ccn zvWUKF%axdlp~W_%wFgc!(tFYZSCK+Ux?6W=U|It&cwA0}GL^9#>_--ng8`oY`&|cN zZ}u}^xVN%w%!FR8s%<<2z0)B(znOpmu%zRW4vIUpaBqrYh`yl|2@Rgi+pYID>#Y!) zYsLSGk#i|lxOX&O$uNJAN?&_A?x{2zb>TA8^rx(FlY7wLXQGI+?Ko~>qShsAi!Q)k z6zqvbe=V$1dx4-1rbxZ%<>VT}hmyIT@-J#Wbk}L^vyf1Ru~2NIq*j<8CMY_oCq#2c zW8*26?@ohRPC{5k`$Pxms}9)Yd$u(_UpeSer?(q*kOx=3=(s?J7$a8iM$&+nDt{!5 z3p}-u67JsTGe;n|J^rWR8Ac()o^vB4Ulm7N^{@(;8SQhvCExY zjAfN*-B_0zYWycHu<5y9=Z~6IrEiz=A7*cY_)%Q?;)m)uQC+9DmxqgbCi=tNSqHeG zz38PtjMv&J&32lhECD@Ae78>@ntm3XEDC+ts=VwT$qe8VIxg#I9?+Tb!`Bq{%$B3l z=S=ekM*N-R715lnq?S)MgEN@1-^&>xtb_a1dp^#T!ytgRn@S}({#Q^yLMEi?q*sjB z)h*gg-xt+kdf4|Nt{5YpJ zN=sVYzEQ|EfodtONtp9v*mnUIA2<5+yz@ny|2k}qmKwdGwBQxAzQEE|AjszDGLg69 zI?Z-&m)*=hA+-k%b^g=O|3c#|CX45^JFCG5M|HmH>qztvEol(D{30_wx*<2$rr9iy z3N1B(?+hstv5mX_?tmi+jVIyX%_~E3cIXFggSE|L7<>jzu34^c#|VqF1qLy*Z%Y1_ zQ>5~yWC<{cbZU7FAfP7c8%qE!&QSS>4l2~H$BeRp`ULz*IkZ21t3|e0wKe@xlJm)2` zd&Plfc6XC>9qIIZ+AyT-e=KtYUOcD&1UuW2#_)E!891dc!B@}x!%k+iEkT~Nx|8yXg;{4b_z+RmMbBEFzqXwyYBiMfj=CB1f%+~t|Vt5zlDwapH{hmT$W1&`9&)?QD=$7%4 zgc|8|H}k!bGB}DpBxgBrM0H>g9%P9ddgb&Qa{u13e_I+#SNfu5xXcMA??L8qZTc~( zE&~lzTrAQjLXiv?M(r*JH*;fJD{W^UuhE*s))e&CWA3;%I{Q0rp!rN93t@!Kl_l-_ zjcTk@xVMuS0A~ipXE2$$8J{Ks4cM5uF(f|CrSkYZ{kQ;v zbgAOmPO4GYZ)T(s43{2OMSjp|7v%#(?zinaqs=enWh&Sjr>?>i*O(I|@T)r&Z(ldi zYu5NXb>7SBjitL^a~duk0SK{ZQvW!-en4ZHFylwf5fh!!4KY|Lf6#zd6j(Yv{%m|h zq0ya6aO-lul(#aowB1_C{ixFNN6A|D`JX zw&h!c<&-;9pzm_HnU!8a=YX!(uFW#e8)++yMIrOG|Nf8*+5t12F0kBS*3lUw5rTXJ5-j3_?CP*Ol;|)j~J;Mh$ zy5X*VMmc`n(TbLL+^an#2Y52{upxr|W5)xErN7PZX--*--Xt&h953(aMTQ_j4tbYZ zo8SPqqmCq&vXO6Wq~*`F;K`^@Ok&f28rYTVS*HXp(L+N;vq96nDYjaDVRaUzXQ3cT?Jq{sf7w3lLbee)U!}r>CjET17E4Y zfuQ8f?DC&QJCPq{_^*Q3yu&{l`RH5*`$rZ1E{iRh+L?$3*uuG>&mCe}e!E(|MYN71 zEM$@+o@d(yBs1K|6&22Q+5dH7!{{00dg5PBQ1(Cx$++EJHW+iDHK}ge2#^~!|yBGFF4AzzR(dS$Q2VKo!rP1{@+Nq#oG;gjS5}jD>Es}O| zL|W|_YSDF(TX(#0)5FF;BKUla#-QO9Tw+o-C&OV8g$GQ9=VdY)+;+_{nCTV_#m>HNgk zRD2H;^#dgG&*Es^M@+}xg=trF+r5dCK@7&+fq|hl6{?%9Xx2RA=n-!V%QnR7y50@8 z5JU~;94-U$P!JEAA3aIMf)ya-geBXVeKD8!jR)djsq)dUx(rWbva>b_1f5ckHchTp zw_M>n`-MvHDOpjjml&;-BEM*p59O_h9|DUb_r{;rmn3ds>ROUT8CXNwT?gv6(Mn3J z$K&ymL>V0s|6TvaIJ14LZ0O6bE76?>QuEsMwp{yC_MU1fk3wT;)|yTUF()e*D+%7D z=pwln2=YM{?`B_zLOyN`^>as7aS_VEbI)@6crDVO*u~yqph<|m^cyp|Oo*`Z7st0+ z+;3uXV3|SLppt)@d4wl36_9JUWlA;Md1JVlO9{n0BTzjyR={Z^?~EtB#-~PyMMnJIIiA#Q;2F(u&Uf++#?}fhN{HXf1e+To_iR z&0I=m0j9gRCKjour1n`)<<@z6Wp@WSX@i(U_g0i>7;<*~feZ88j1eKHAxjNb_^2q_ zv|{_FIH0wVTu_A-+IFP~sUyF-8-DlNe_K^JsZ4XcM6{OU=LNV~-6~QVY7~h6@t|2A zoO9(5y~TjgbN78ZzMt>fPHyNs%&U5Lm-A{QC#HE7oa_Z|>VtK*Dy1Fn6qzC=LtA{c zKTfH+CqS_aj<#E#xqWZzO0bwg`k$KNddJG5;aq3(~!ashp} zQguAI6477TzJubnUTV`SNLC>mKK|4IL<)mL&!QSr?Ggsqz>bwR0l5zDtr8lQpmzrz z!_z@WUo!9jimB}Cxz`7mn`p&+%Q`{#unHK*llkPwENg}Bvy{M0L0n6Zv(>rTMp~Vq z=iHnxWzg9Quk$T6#ATQ~PvFyCf{{+&IP9ok*d-k>c`)Rl+;jEgc0DdY#jMocXuDAw zku|{M&lbINv1EpUKjh0aIwrEBA!y|AjW7*-mx^BhA&S>_X|ALGkoQY445rqP4z}H2 zbBg_G-}^lQkX->N9E#0NTyWZNX&nnoeCLF%N_22*-xq8-IKW675nr*R2#QOgxLIBd zDpvutFvO#AM_GxLdeQy&fsqJfV0yLv%^i!|_f-sDObC7mJcubeH6)k9a>RyGzUSd1Iy1=>{p1(@B=VbCPB z+&riQBcmD__x)!@z>0usIxbYE%=DX}5p8!Cv~KIi9R3yd@`=vC;I@TiT)j%?$%7ng zUJUkVtdGe=FTI2tJa%H6C!n|sSWukY~3|3a3Tt?k-Q<9dm-^z4|7oj~O6KG?!+(sau z-lv+{;4n*!q|qNjAG91{3Ua87?@Pc?M*aZ2VCgLClT5&ASywaj8T+}A@1T`xy0tTK z+xGyzm#*ZJMb#-aVtDOT<#UBr6HGWuIDNU?G1+;&)0fgtNEt-zzd-gH0Mx{w`|CabyTQzuI;;sd#+rY;7~-=jprrk$FDq%SH=i z^J^e{DX#KQqC&L>i!XC2m*o>22Cw;rGtK(Vv2~968NpCLLif#A$K>4&xpC?2|%*N>9zc zRSIh?KF?k|T@K4Rsf3-_tM1;r)@;tb^nvv8;HwQlNB*$sQgmod8*5l|fS7pO<)_uo z?^IR9lqKaN8QO_q_vT`7zj*0C?T3vZ@%^&-W-O;AMdw4%ZD5%fg|I7cBDAw09u|YT*98q149G`)W=w-n>dQ|PTQ*FC>RCkBhV~mQ8-p`& z)d>p~rR)m<$f)Xd{m?UebgRf~;`Gwg8lK2AJB9kWnsp6XsVM8_K5L+*hMJGZZHJTZ`*#QWZ59Rxi zjAsDmSb5nvpGAQ3twViZ__arl(;A8fD|bx;5=KV6Us59P;!yF*6Rj>~b)^@%O|pgP zZ`T!`W`i3_dIkv$uE>zkyrG4~NfW+yZl9AsZDKo>c!1xV$O81MyYv1<`U$nbSB68z zik`!_;Km--;7YZfQI@CNRF{!etX_hA)-&CH^nuBq8N|f{e#B$3U-bd9GqBHCD>`68 z)kIFB9QDpcHg^03BR$Km-fhzb-9dSdt$1v|yJH}oU>S1$qe^|TKhw@|Wa|1I_X=PB zo=M6rYoP2(M+fy52qO??0ZGzUt1hxQcC>AZPDpMjK^2hDe zEw!?%9n)sqA&QI@`#pwat~m3HW3NsxmUK1Q+!lv2Q3-go0`O|5gGXS*{JpOy%G`aj z*Y&=bR*?aC;veo)*FkBqlg&FO7vuBqr)jwt-WOpi#aAw@J=1LP3#NEls`9VXq`fzy zvs9k(d=r$0~qrTNK|_JV9UqTPsmRqT@8#+nU~ z--Ige{Vg1xMo!vIuaf~15<-Q8OBGIB@0L_cdt{iGYnj}c&)d%n`rfH6Ct0n(03hHH z_1nwm)o&BpI8B$~cX**U*(p}x;g?V1D3wDqw;c4+OMx=|-#6~-LC*6IDh}j5?^IyD zX9n(TSTkW2Hr1g0$WTCKPl~oea)MH_&sG_;4x&2--2R{6*KlRGiTm1Bq=eB(Q7PJR zyqvk!@X|RUZMlwUKcBH`mbm>c-h?&d3HEq|CO&p?!h!P51Dwg#BKtzMo&AiVC@2u& zxh^iXuh!xvpf!CS!(Z7-+%o<$S{EiNX9ClS3Ct>{GrcE>>H`8A5liiJrN0uL=$cM< z`uF%Ox^N{}ggYUJ`#}LL)qm+nvjzT*DMkR?QR;w5+f9OuX46Ya#9{OgPj~i@q6_0b zl;{m$FL9$Lr!xiJD&3Xo75WjMf2T5xiaz33LnY&L4c}ck6dWTGibpd~_$J(!whKD;U93&SO5IIzJV4NGqfM-Govuz4+>x;$ zXRV8CI#1euiZ_00ym634Ps!6y`m8PY3Tf4NLcE2`qAQ>9Sz8hGD<0W7bTKQu{&aPp zK}q5jUQkC`x=CNDE5pxy$a;s((=B6wM|a9%p?Gx};NWDM(T+N9YJ5Vp?wuEoOLC zs8ZuTvFFHiQ%KWvx1X#FC~&*{Wj#Wl`eavc>eE7P9DihL_PC(u_K*Yyrf1>nk1%(> z?9O;lF&-7o(BASeP;4Mcv5Il;9p#zD2KFKr@S(2vYnfGapEl#ucL#>am*6u=)lqBg zK6YVuI{XJ~a-8BzU#)On4JYl4qYcv7?%Ce`|r;d_xSwl zNsz>LgX)j)K2$D;gh}kFoq#U8wfmc_=;r8~Z7;=VSD$8NfK7ZL%_+Sv~OH)m;4=vNdid)a&B?B*Kk*$=$J*t%hdr zZbQ*k_XAer)H2p*`Wp?CST5T8!RI>}fM*LCJH5>>zo)ln|7_9E5l3i@v`ViI?u5w9 zwtnK0T>9m7q@Qz#9CFtC9`Ao;>n+nDCp_O9+(QgnxSq zU%ya>?1$b@@KXRB;wVl4$DsPgm8ICpnQ`~`QIy|oX(u2(8gORE$yZGfRFRf-|kpmY`d>6Cxe7` zINXl%xULn}dSaPE=X+O7Xc|pFAaV8J*YDJ^#+y59Qg5P+Ws{r+rh4sqjdgzVe7eFi zXzY3iIi0Yr$)8EQqXmkq!uAYXqREp5d{acaXvNsxXph@dRJY|LnU1qtFN$g0 zIY2?kCa|L#_oV;7vFaIF>7|J;ZN97@^hGY1?yAOoLnK%ZD^$AOj-y#v4(? zWLuqiHkwSG!G{IrCtEZGC9@^lZqMR&ZG|e`DIGg@A}QZHw_46ssDwM;HCo^cQ?wDQ z6`%V4j)}lO>riU`Vu?jwZHlJ1SbyQS7uJ>ShoH2r`}_n!@)pEX-Vj-_F zBoA}j&PtuxJTMVGwEs%R7AXCAPR=;}{q0Cl;?I|h0#8ZS3@@YbROhD zWPx5L&}xn2Mmnkd@p;$r(C@4wy)szqa&EuQT$|ShISH8{bl7tv{>rW6L*3r(kw)F0 zRv^=?U9p`h%XA){rM&T-@KLcEZ|tn-3{uF1ceCcs>`l+WF@@oalNV_!VBprD!_6hp zwr^=R9ThBAlU&VW&LCnQ_@+oZlgwG<uA5K?|1jtRQTsm6tu+FhIFOSMO2)##V2JAupTDV{et!Ri4xx3QDei^4kwciABq z4yn`W`8rsm67aVJSF2p&$IhQ0rn8_|M_EmtIH{_T0+(qs){ANGmaXYRFP>TDk@{NF zr2=q=S9aFLG+GsTqftJ6`Qt#LAhUh&1IX66qI=PsV3T~$)BG;;h*2*{2u4%IH)qi+ zXd;b{K*N0qUJ)(dgjoHP^eXr>%BOKg&))EZOV`$G z8i;I;Q1PJEFTh#~TkBC@)C=jHXcqa6=EDr;$|mtD&3?PO-^1kN@whh*(i*{7qHekC zS-b}%RRoYcOfnV;`4Kz{L*GejZ1SlO%o@|tb1Q9-##b>KJH0ytr7<10ycxiNgqk^}YHY!Q^%}U(w#k9OqTz zZO)C0-Lu?Ede;lRdPGvIGcwYWGAttS6bZi9S!WWtZ?-V@( zMlCRrhO2a*3d1;j?P0(5zG{2;%L4m=s$nA)x#fV72TM?1Z~(}*tNTT?_CdR1=-6@A z)&Q*BtS zfoayT9nSCIHtNZS462wvJ8|es18dx zdO$UKkjyy-5RJ;Y0H*LyLtfP3=cbdzXw)=Qo*xe886G_#E)eWH3-{vu8~2%Ih2O4% zfczTlq51F6csk%h^FdOcolzYZ3C(OaYEa)A5VK2b4FuI#gJ8&N_tGDTZ=-csQubKa ztLx$&&IRr?MFJdXFL|bZGE`+2gnIurA5{RG_ryH(cR%dU+q7zazdb#Z(*x0B7wjj` z%A9y!dXxJj-VssQOvQnS5ME*h!ph%gaZ8v@8>A3=dK$wMMl@wTyM(%M3rPx(G>LCR z5@avuF^LB^sV^P$W2@$(@jBB|jzm4(AqIhH8%c5&xe&5r1qEKr?OJ5OJW16#Vk`|5j? z>z*8$Z*Tchr?^Kj3-3*m$YEfCwUu@S*kF|uxF1nJChIsevk zz0wBM@NZ4MjZ$#O0}E`{em-RcFFpjG2S^-rA8_nww#c5)dvaUly;;QoFHdEY1gg<+ zzhYRXl`{ZAf3k2Bo67GUgQXA8d`Ys$d+o)ju^9^)b*5aC%aS&gqQL!97e-JEr|XLe z0bMf}`z}*Cm&U^FO z8#oStznj;RCVZyQIT=R;DoB%0pKs?sI$}=8p8c{9qY$y-p^9~mB!{QUDR(AG$0ZcF zMz#*Ojmy%QpJTyrgF;8HYoQ2X)VlV+bU$Zi9O8oD-^Nj#B_o_(s~tJYzoSB%czo34 z0=v*5kyf`e5D!AHq(^D~?R&ma_*;{kaW;!cFhEYNvsgNMU=2zd# zy29Y*X)Ob&BeWY72-g1-aT9^XJ;#dZMUeU+tW9=3U-hkqrexuEyMNyE;My#wY=<(& zh0CCUlR(rAWjtm$6yrNwuiazUHhSgORk4G^JNy^0R*L%HYW2-eZW>e7nVx7M*nPA* z{?H8VsJTswj`t;964G5wY^fw4V3M^Gqu^}j^*nK^q%Ha<9=prXF6x%=4K%sI(1dg~ z7+-0~^xe)_i+KdDq;HdUKgw_3o6(!AabNxQ$aCV%ETiBe6&u65k8zu8G`p`s7c=QOW<@o9VtDA8t?TNm0wA+CjQr##VIG45L6g_^V<9oL~n;5(AA;j!@`NQI>^ zscVk6NNL-!;NmD7)w1ul#5-LgH?Dv~Oc569Ts|OUNcHA>=2;i@9t*3z45gSTfy|A8 zUETZbCoX>Es5rVBF8ilPrJfcpJ~clH3)o|y*gx$L1nR*b)s<;q+%NPYenTJFx0!D6 zO$&{$+hjl&;ukZ>Z^{T-P54rh{^j>7>5fL9XiQnyMm^P2ftS zO@k^0hfgnUx(Aib@(&(0ee&<)CR*-K6sVo|&RRzeKmzu^`oB3A5%vDKusEh7MJw<3 zXGfFwV*jnznePR>3s=cjceq9%e@SHrtN4waLFxN+Aujr3p;+JDqfdtu&aA(~N1NSM zbA92V6;eUFQ4Vx6h71_KbA~(Ck_(CAueQu-GTl@%+-Envadk@1bIHW(*BzlKIQgO| zp!~JH+XO}DXL z7dZJGSD#Mq-fTRxxLNItQSi;&Hi|)#f4XgBYujq@0m}-lTA-|>-eNh<1Re*i7>O=o zl8$@MbbL5(J(NtBNd=YEGZm$Ku-a*h)TR}* zTgQUR9He4eZ+xh4j?38q>G2w*bCGw}=QC;dOa)%8QC}KC16A;QZWO-dS7tq&$vaNW zxGqmba1`&Pvx~sZj92C({{buw=00=Vy4Os!j&A>mo6CryZM_q#M1nUu1Z>Kmfk~?4 zTpS)_%37;EH!e2fvUg7BVp-ckGymPB7y+%%A(ul8ud5solYy?O!xF`JJ?3~`4k8X9 zI#V_7QCxdrj=@04Y;^)15i;54vC++67w2gq?b6dY#Haz7kpK?Jl?sr9J^y=6$0NOH zJ_j0Zyjo(LaRCM!l1d}KPAh~|P`|h2#O!Vd;T=&VWA4ch#LQkgF+?_3$ z`d@mYa&y>M8_k0P)Kh{k%Q!87dzS;ig=c2s8#^#DcN*yy4iTTx&uL83EEn#s-x}J= ztiX*VbBy3SBLCj4fQOf1x3zvnlu6csR<(jHo@Sw36*2v9#yQWY+OFPt@DdS>F7 ztu9+MNuk_f&xYn2!9D+Mw`c&kaU+x%fRbV^972&*h$OVN2(9Jbyzc}6O}tp0E@CKq z6LWI0b+Z0F3RTJ_rTRSznx^8uS(POm1#9Z|W3M%bCgR+L&#yzAJsa~8SNui z97twR2Fd-RBa3D)K_xS2S!-ua*SqK=zuO@#N4G6_Y%b|6NS^I>0xy{S)EYVpeZscm@n9W^)^A@Cy0PEj#Z6#gA$bs~yEzF;c?36ll1?)qrjfxj$ z({n!|s=fXln9Z5wy*xaD&#&&$x|w-w{@F8g5oNVp8!!30DwjSh+hugN8E5}?`s4gm zhz`3E9hyM-eD6)XaC>z-IvffaCcGR?R!Elss1WOSN>Wd)PAcvo*$E%Df!Dk<`3Y+ox&5ERpFYT$8}$5u`k=% zgJXfL{L%m0?l|B2?In4S)m^5ON?AqO&=_4T%MjFwOflna42Ztia*l)MOJU|Dj<)%0 zqL#GMKW^r<)0Ouv88%{T-H_ImEw1O;5n`Rtxe4kP`K8QS+AeonH%h88m(xqwKcgML zxvoOJS|s1H!O&R;R$0c0UpLoyqm6ok(S;}|vlhONmy1ad& zaX?5bQL!;?hDtjeq*ZRTT(5e~9Q?Bg|NGg>Z{FR&O5*HoR3qCgfiTc7Xp1U00UyQ7 z=b5aRB|Ca2cC~r#L9y$_6`~e#3ylJlN<&Yl8S@&1CcHpYUvX!?$uojCflp&s!UZRT z4)vrOKw0^@nPR1m-9Da*syBdT@c220rvVoC1XM?glhMV(Ct?$uzC_&=sIiA}0~kEm zJ}>2OPyn4p#(sEawKxHbDdhCKa4cWuJ(x8+b^V%sC*QG(u;l}58ydP=44NWsM-@lH zLe`8%!W8)U?~K>X6%PEilNRuo^CNN3K8%%b9W&9%U4+O&hUb<}=#9!VRn!-Peyba! zln7^-=HjPLuC0h2j9N`^+_}frK)w_Z9wKJ9x9nbs1f{Nz$;3>AC~SX#ns9G2&9^%B zwQ|T5ZT@U^+>6I=Ls6>sP4{zI%JA6)09)K$G*~pcU72*cPi+UXuh1-0Lc5kLlozFM5@llM6PJ715Wa@Yp_l4pr zwY-kJN53eOFY>V3HR8>Sf~h19Uqj2mFxFW19&Hs_Sq{6`>?_Ib&u1qd?v)wc^Fq-i z7x~qi9%qRQ1{=lqIM=STq7xQi4=xH*1BU!)F^PX|5)yO%VE(LpX)eB%I2__AY9Mbj zNjo`J%wD|YC-An{z*Ql;5-Mp1_-8-#3GZpuZJFp7R<|Cb$SwzpH59%N!z zCosPHZwpoj(Usd#IZwAcuZ?!RmsRGpi)_}|=e?e4@$5zm-s$C(WG5BR!FYDys-FO3 zDlZlc{^0+)C(uUEM__v!u!xCOj_9`{oQqjcjlA}mvlbHsp~%G1g@NW5aP z-uIkmlVdF{)$f;+thsflo9UufTe7GYBC-H%dq2!d@}vD~EuG@VJY{}kxnq9wYkl_o zhFKuiYP^51?2mL=(It}ls9(@a!Pxlq(2{xdy~0Mb^3T;|C_hrz_5QAySlzBb&ZI$| zWU@!eUEX!Mdq*tGtvue3;7Lq`-7awmX@zlgAag0wS*Vrz5*cuSX#)}Wmk|G-0g-z9 zm^gCta_o?X&dcV(lahs9DuG&0MN?4}>;|&=)#os~(fn<$K~2R1i)c+`yy&f=(AO>k zO27Y7_&Rv+uURSG_uQ2beT9ZdU{i{I!=1RsB4*?$Ss>0^OnfsCGTbb2^$n1Xz0GBC zDbfy#F^8NTGK7765Tnfpl5RGuAIY1+>iQqf)d&+_n`zqZ0SJc}j zvl$rkzX3UWL+*pU-rA(l?})`#u$l0rKpC5c39L-t;mKcpG_a8dPMWKfU~Y2RaBUL_ zfv|Kid~Y$zvZE@Vo5o3)9b?4)d(B1mlIBZxQ7r!)7UtA()6%PTWMXuY$x{HK`%gZ@!VEn7+=Ex}O1IliFZtl9Z$ z9?4mGNFUw2V*yIv-vBOpBF{B&FEFMd-`s*2MI-ccQ(^0iEl<8YVSXq@NCavyVVD>_ zU^-k+XwSIi7!l{Gy_HR--eA|)@osBMS5H1osXlt>1A~m-^#8GBw+tw&uhYU)3_h3L z6-0SWbOidn88fjMX!zJYG|a2rvhdRQd4j*%+Xa&#|2M4IiU!c8?TV1f7w1<=Y7wxH zPA{I~_ye0>l}F|1i$OTV@6QI-4`*?c)s}BfLn^maI<@~vSh4>0%PK$m#pkpiRiK=( ze?F&&<5-VKr{rjcq+|C(O|sg0X^WE4qe-QKf^_|6|fYrUWF zL1*~xVeA7QA95eOU9{{extbLIpu?zK;uYkd3~3!DR*6zS6)7_KRzpSc5s+&Xf_cke z{^h61PEVWZ_}RB#$FQN*r{hG{G<$;4^--UDa?PEec5nVur83TTs_dz{9%0Dk{|bkDm-5sGKN%_(+V-`+6F4D0S~|b~X|6LiU1gO6{JpyO z*%!d8%Od6Lc{vRB;obq`57O4~e)Z}uCRZMRMfZ&g@Z7U%Xv!@)nA)(V{rx4)RZ@8m zL@I=>O10;GuSj^gtk7f1^&`1_wujZvME!l_&`BfEq~zPq_^x84_LR!gk-d7Jg+qySbWekRa$#xb; z_j^7LyRuDE7`{5Vd7X#XNSObm%2%Ju;WkX7VZE~CaYRN9&uId?mx1#L)McFzBe-Dlk>n=Pz;Ta9~ z3OWsnikTYR;q)FWX4F{e4~&Mx^GRddyF>%fOtt}=J{W4@@( z;G(nSAq?E0&-8}j*MW|(4`OlYJvSD_BO)nyw zD%+-PHT7~m&!Ktwrs-5E3c%Asm%dCcz0X(!eqQQ=0a^bLlx(~Bl)@tDzQ!W(HsZd{ zWxlGP{R-vo=}Jzo8o-s9p8nSrEMZ6Z?B0D+1asrt8)jMI9~9VfPBAvkTt^RwR(T3` zw4VI>E}L=PGcV2byGuDGMv~_O`R(Vsokb;?s-N%^tvo{4&`j6G4)S#) zBvsy`;PLM|4IOZ_$%;5etzngzJ+`|~!wl;i94&c?%^cC30aIF$Qx_k+Oc`Hkya>qm z3m8@kBE?o$Gq)`M**}j$cQp?L_dvjz5D)%ulU zzJr(j`yKqX#0j0{Cpu<^lNK*l)NOi1kqWke;wy;&0a-HtR9yo4OF|ml71Jegv4=PA7Q3{T z=0BoFaP$+DkP^&8(;wBa-d@=vFD1d{x1BS2I6ea?HMHA}Mzn&8m4+d&r#Q2ZCV*v` z1UpHJ)dgLxM@DbYuDMB|fxkZ4j++HFG%e8mJ_FZSZ)Bs9Idh6oH!lI73;3r!ZCPsGuKL9vD z$G_(>e|@kLa_vmMX^Ql+S0dG<=2?P@P|`qM2X1ur%1px^2KzBi$*zdsPsCxO#t0H= z1dc2!*TG0(7)Q~LQQ4Y`SW|YyXtQo!Dlu^^uufZ_OkK&#fUPPM(XQ8MLwkmKYYix{ zXxpvPz+m@MU8&~e1>4x)(T4WFGkJs)P!nnH4OSz3q{z*N)sMVrfdN&=6xLM*ggHbd zxR*{ehlWE@f_GDafqSoTN`oY&XPc4Vjn+03R}48o3x7z{Gaf(_1X*Lwvpx=h%CdeK84?N|`J#JVd}<^kDD zwWtAZfLl4&A4MVp* z!GB3ixu0cg4K5Og2ba=HM9FjE%fvp;Zte5O2(#C1BMj)ebzZ8M>~2a`NHG&L)9Vvu ziO`T&+=N8!4@J9&{$`*ox3!Z}&^f%uU@zSwgXB4&jW;|$ zYCf@n_PMjz=Oa6;be%w7rlr&JO$huFhGc*F;>^c|BNvsjl?je@mo{&XAE^k)%=LQofVRbBA6oqU_FVlb)jU=sn> zs2>Vkr}*QE9{3;XKu=+D!TigbD9>=|e$a?gASO7CXJzoj*-`jjC?fTOBdiY30o-A8wa**p3!9MDNE@8%Q zT;tK9wNX&6yNYgnWZdhbzKBPfLQFwIbfo^k(`v7w|s@07aRV8m*t9#!3!0| z{Qm!9LA=^X$5`)47k-NuOG8ZJfX%mp4}o(}aUfi&H*#Zlo(Vq*KNnI6&MvCUwp($> z^44*a>>|#o1(L^va-#Fe)FuLk0_JYYVIeczM$fDQ`3y5gV&hd&A;0MIR`69N>JO91 zri~%O**G;lFZNfOeaEhmj5^j{O`UG14FARx#%akjS>v^KI{jJ@4}VowiV61T!Bo00GLt@7{z_(>;cddurq+*3{HxBsXNUkI)OF&-(xpkw%JnR+r> zoiAPAMSQC7ya~su1+A9bjuY+3X$yuS=5sG!Ew{x*RocH6)jkk^Ytz6(XdrgHzaT(0 z=QWz_@zj{zSCZ|9dmKP7{$lRP$Qe)7QIZ~~g4Kyk({ajt&`ePxa8REY9mnQ~BbGh5H0l+A(sjx#ZzZ<@*r;huLkS zPANm59kd2B+-ou8S zNb1S1_*k&C?kgdw7bX^7zarOU7xBKu$}y;Nz=#^~IN#)0f1ro|hkbik5=H?QEnT*4 z+qP}n^_Okiwr$(CZQHipXV7QTPtfd1@9MS8Qh zG+`8S9Mf7~ftIrg)4uw6p`aB}anu0^CDt#n>l-eFlJ5%Dt3}@VZzCUe+P%0wrPxo_ zps3!Ua;FJpFHme`=(KX$F7_GFEc?#%deCVOI`Q-IRy0XR8Fm$SLQ8xA-%Eh;rMdyi z)oS~17T+MU+;lsHQ*O#A1&4C#PUgIIdh4ofFl|bsBxFts{3a=nN-DXko_e*FB^D)< zkxMXn$wV2)0jXHVRV_VFAiuDW-OGheLXApETpNDFMaXuAveNh3r4s>{*tl<9?`QNH z;;A>!rzK1gU<48g);b$;o{XCTp>fjp+@+lYsAUEUJXgk$kyPmH7tvaJni-N7|3WLY zd#ZmCJS=C+B+3s?um{Nl?B0ZroI%gJzH&1%)9thXlW=n?A8u4J_*lkINKh#QsyhuRI z9v~bLNi=={aS>XZP(23^P;{(50Pepic?Vt#cr%p^tj`S>iUE_~Q}gjL8wG@fFz|;L zzD)S}<753khQ#oAe(A?!k2T*yUa?%ZBYAQe%BHuO10LlJDi_K zcOQ5g6QH~wykS_n*YT8h1}YM|^*BI^rYayMzL9PGE^U>WV34T1ANmF1MYwB>%`1Ea zo8XfS1TK-3PhtCL;)leWB#@a?{hAmx<*OJ~Rg*Aiy%7RCC1@$2apQc2&gg`DE~HYE zGrL?a+2^0Qo1i&wZF30nrDCE22n$y8d6BQsB`OvDawjL`wl(c&sz4nr1UR!rRO&YE@e+6<7pfE!R)erF z%Vs@JQKU($yg)pgaQdK^Jw9+5j)17;`5inwF14Zc_3&>wy)*#=W*x?fe|e^D5L=nP zNL+szr{{jM?|!PTvL=r3Z(HkKw4?eCSfXLDMsh4K4)bd(252lP0sg=h%TJW+r)$hle! z@IgY>s)7=VV}zMKJ}yN#)CZ|?wlXr300=hiUwyEg(ZL}cF@(SUlWhj?oF>xqE}!)g zNIy0BKsh#J`Q;2s5Vn-j&b#kR&kyc2WNZTr1*PCu>1u0%8d^3ali|;;w8-_|Qi;I- znKN9MgGl0f29`YU_sk#akY$6lrZUz z59GpT#G}n2KQ~je-sIO2s7*1X!!N(-`^eRU8~mmCkaPoJn7tzAa!Mfn9>*oGZ}_>V zqN~h)IELt#8~HT!p^LX-*Zpq zhU6Ecx5lH2rCJyw1e=G*TSq;cj)&_DX_jhOs4F_Tn*JSFiZkprwKfltcMYK78+Ff$ zhmjY&uL^BWs{Pbwu@5J^WLkbl6?I z`6S1WxiG^}hwJrb(`0^&am~n4T0quqSuvk&k`3llQe{h_jFK;|H7f1veHeSI+e6tO z%bzVg3rkPzCEd)lh74l{rd2asEQh`Jg$w)TknY3eL=U^Zz;mEoUh0R}b+kkOw#v+Q zszmKFynmP0nGId)QmPkA$*>Dl=TF>wUC!`X5ys`Ai%TIsph5$sFxVgmbhD10_$A@u ztrS*Vy)FXcRLkqasvI$giub+S0238~f{cC++xcg3z2m%`ON4O)0&C?@lImV0O|kv^ z-dJf$J)fiE*3j1MvI_1uaf<5dHqNE0L8?N?ud5-l)L=zR(wLN#D?Rxs$68^J{T$1& z(AR|={&EI|_{eyV0r@c_tM}%mmdCtVzF_`OttKf|Zg|e5`L(MOu!od2WhB_&q}Hv( zV!SZ5ZKB4ik1KdqAXV%pm-b^LEw-|_+*PHb3rw1HpvAaczpTu)_YpVgf`I+o@7iqH zovjz2G#*I6tx>Hx-+(V(m0j8f5keWtJYLZQz{Y!pJWMr&DFjN&mmH$MOP}#;76iw_ zKZX^?iIb%0z8(q-mU6me!K=)^>b{CAYCEU8wPgy0Ny))SbnWdPt>yE&WP&+hzp;45 zc|j)+z&_^^_2ov)6L4@NV<~=uPTYcS-`wo{QKVvI#tT8lYR-y#w&AXvqviuCC-6m;W$m1D)D9T&SSMsmoUa2F6<8Q6W~k#karikFLde?!*# zS%Klc)l<+`2mPmQTPIj8L@?IeF7yEAcEW&wK9O3_SC`zr62?Ro8b>89=6y9!1UEE1 zr^W#~>dq-tnm`ka+JWQ}1MFw5HxMssYIvR0A)3jHkL_Lzv_P{10kEXbC;}^jh!@qE zvKr%R9O;s8kSaQW{GW;fYEWnrp3%7rq4BzI`(w(o@vtUQm8pPm1<_IrLgpd&#gsz& zkuz%%lsiq|c=#y%xy!Ln>?237emQu=AfjGpdJ+rB{JQG1PfB=!GJ+r7n#LX(G9(`t zgrApYlAbtL1h6nHyy&{LEQ$1q9L9x(l^jD)X)x+2p>yX{$~%Y8rONDu^kqd?8*0p` z)xx>}<7lJ0#W}R7YttT~Dd{?@l%u;mvLx_TUFhn(zmg%O6!)5!jyl<)u}R$d7Wb>X zyA)eNgP)|ZZyRLt&qN0lm;G!;?5^QN64)G)smRhtB7*~!b%l5FQ?49uJFE^wJn_n& zYi~tJ3nX}rn;I#m z*7ljMH-l}2V}u@e&<4j6lf-Jc3k&DkOmw~!+l=+uGhr3Hlbr_N<#%=Onkc&qk;@>B z^Y;@762MN=x)6kqIH2Rc5Aqs6OTIqD^?hFpzSO@P_M6+Yhm_qy&}iy6{coJ6X7m+^2_dER!CMZ{)y;=}?T zJJ!Bv-_R>qTsts2w5p8hvNK0i9s)`Q)1N!0jxB1Rl&oYtX^&LQ7uSeep7?bbCDZE= z;C}>TvO)3(X7$9&N?i;P26)==QnLx1MQ|i3EL?m%tSF{Cv70>2jv{Qn5=~7#45cwa zW1PLlR;=}15Jd>3TzY{1*aBx z)c!q?C&v;ky>Ahk;{HtOoR44!@bA}Pc?0j~hp0~RJ*UH3HQJvVpSElbzbu-ekf_;*q0WDA?es`9}8wjLi0=YU?z4GBCIg1>+Xttk?%WLeo?I#a`P>jnpXIK2c{f9VJ~= zXs~L<7?2eER#ip0^VWK=)uJLX&U#DIy`7bcd7LD$uA@RCv>kSQV(vnd9l?=#256KpMM*4j015(@t#^sBEdI&2D2TXa zB03Sr$h3SH?)o=sZN$h~ogcP-@VKMC8nHWc#tA zyro&ASgCD_<_j)$?3m;%h=ZazmL(xXWE*z=63!ONq4}VpP^XGFyk2fzy=e)$tkE~o=%H0v-3#*8p={5?>MRDensg^ssx;H#M~xmX0GCJF@l$%x8l^q z`Mo1O&q6laG2*(Gs;<{_=^2i56n;_3qDqT7jmc5d{&t`Gi=|;BqT)_ob;LQ!_co)GaGS*5YBe|Fz(Y&YRjgqe+WImKQV{afFfF;pl5;vat!YDs|5A=&nna529n@O`At*4rZ7QPT#apk z&w?f9T()C~4AuomMoS|xiSkDun-r2s4*ni3Q;ETR%P@mk2hZo7PZ?!jYiDl-eTsdv=^jsEuX@gk#Y(#Ro-K+b}1u(Qp_v+_(ur z+nldD7o*odWrgeqUDJ~aN&@H+XWH!I=xmBbCH~d0+`kvt0Ka>Xe5PPl1SOG3|EQJ( zlU^TdgCGGq!9?H4Xq{QcSs*~^@(K5m?REch^UTVB)a+6SHHir@#B7)vry z5hvD1-3Z%!V*mz%bx~2IJKZXJipMMCx3ChxQqt3zkgRMULno!MP zLoq!q`Fe2W7!9O-pv+MqkFbk<_|=u_RT0A{Ont6}HU4QG`{}m%2WG1jHjfla2#pjr z*X|gTf^jc8NHa!{OjcRP97=|B*a`Y%CQ|pr;6+@#yvf!IEdlvBzZL`-w-C^LUS*%h z`6G#};OeH1I(j6=W!p>II^P+%c_DERQj<{2q<9SNB3A<`c>d{7k}$m77@>FI5zTDi zKUpUHDi(Z)@qgHY3jS|gA58(*@^>;T17{>RNh#XY*a91oR zKwZE$4&C1o{LK7bsMGDrB4rrTXn}BxGrD>O0uT}l$YwEyQL%nc!y5wCVq8OTRX!LBCk*P)w(0A}1`?ycP4EYadcHy?>qBD0jCUN%uZAx9t0XyJf3=YhmcD z931d4+z2y9+jufQg5SfbwB+lGvLQ7FR!&Az5Q;O!qn{@ojpV%<{=xc#>vR^WvOYPX zJez~Em|nBd>cMF3!%zrM`{+SKHpl1zP+}OlzJ(U#_6LO)^Pwd>GF3w^nc{n++m06|TI3f>J_gt_u;bvt1a63a~5C2gcq;2mlyDiM|#+Bld#y zd?fAO2j|i%WS!^M)FXq$(%AihYD%#mu}$n{zce@a`Rq&((yipW{jocG399o|Q#z7m2zWp{BFMt#o7Qi7NT#$Pn%-auM7a&U*gX)8|NNmSt^nrC?7ZBT1HZ zZw+`)WG2GrFXlBeOWypa0#_zZJ6Bu#JIS^H_jRa}!%nP7aJ+UWJD8TMn^!Tq_I>9d zSC)G4a|#8$(hE{puS6SX2!xUbS4{}wl}A0WI0Bzlzdj_^*P%cv!-D#nVmrH@;<>1z zo3B6;aZK#7?uzKQ#V95@6E=SipeZzsX1hFKA19U2j$$#iO10MYllt>YUl1P(4Ee5V zx^PvD%VtMB#|BvAot@PKRj#E zjzwg3=QMdEQmC%G^0|?{Y#ZjL&+I0*(SrvK^lXhnV1TSTRKgdbh`}1D1|18};^Jb8 z6gbaKBXFYab55izI$Cgg*8DiOE#;u$x(vAS-db%oLOVw`;Klt?CG_x+hsui)B8W{@ zctPhIKU8ybE!4vvAM&_BRqb_Sl17JaeSUxeH55WO`I8 z%Itek4Sdku%N=}FT|D8=&w?MJIZ0(BQ@cw6EN%m>>6=J>9XQjJ3SRgenkWEpA>6Hc zC&H|CLQw(S*kuR_2z96RF@2Op2g9xUp?XtmRDm1gwQqD+ChNj!-Ia$ex#O0xNr!P^_vwfF{i~f<%@}1EPj9f?y}CV)$aLAZlk#TJ?;~^O zH8a6)`zAc8%r(I_`oou1VY{Px{#oRQfL{4vFhVcscAqur(myOZnlDR@BL|E5^v2eu zVaGtUr71xoA4#CCcb!KsuN`Sq3Tmn_?IlM6t?;rox;?p+^1CqABF~cocpPI#Nk5!T zAo(moT%lM`T@Ym5@B|B;@7MAuDAfE}8x*4yRC6Hxw{nb8t{Tm85ZtVS!l8Q}M5>u{ zKOzU`H<)uuGd9#TdAI~0{v4}&U1~BI!AJjf?v1Hx$#i7`9v`fNpXsayLlVB57hB+r zQB+JI%-f(ZqpUj5y(E&vLy?D{Y9i@k+0OET7f@NhW9}8)Wp|M8xFA+VraovU9U+r> zD$(rjOMqB=JY-Q}burD3;^mIo9IDuUOeG@$76p=!#)#tq0FTNAnqw#8hboTSH0&g& zYcxgsiyyOE3t|8wf^%*r^v>t0%&4vb8w3luD@ zh|joE(@{-F!Fn;1ztG2*l8)ue-KR5vNkWXy@blZ(AQm9u8XP&Iw?NWhzE%n+cIZ0J z@IS1UZBCFO(3;fEpdz|FIlqUz!4557^$C{I~dh1O7; zXw4&*I-=qYC;kl7KZ9hivlEp4LBpgr;|2bpuMB?K=foe0!s|MzdP`0{wI;!T;W%Dc z)%f6T5LQ}~AFU%+AE9;d)g?d!!UQ{pW-VRT!Q_h5s2Q{#Qqfr5F%2RtDQsRAVyOei@Sg9H!aN^b)QH$W7=Ug_KEp>BOZ@q|*FurCmL=xI)h9yOLBbifPoF~(B1 zD(-XJpr6LH(EERuRHeSLA9yYC%HWz{Y-nDPyZ4oCdh$=346XQ{hPNqxEtC& zwM5}n0Dk=x6~ZtN_kx`BA5O6dT8OuHk{=*^6li)r`8Af@1Kx=kjO$@F>bKG#t4u?o z8c-q)^aJb==*P3rsr=frma;z!rl0!rl8F&wJ-Vpto@XhX6v!$7hzE)?1^i2`uS**m z#R@ac3GgCwx?ej#Vm#p{!v(r&GKiGhh#NShX?cO9pg(+Rdoc? z;B_J8 zG;9Dewc@_rh^oThmhRCb1Pwic&vS0Y?+w~U@h6#MHbRIhQ_IYe!bYs5Of8GtT4qOx zpw_?{rJH)=$bFnuZ-C&g2j3$o@GODx>NV7SzA3_9w7yoG?#ga{$TV8&iYs^ZnKc=m zt_24W_WthGpMBI;zm#ueg@aVTDX$0(WCQ9V>hFfYiFdQOb1tQ^*nHz>`K4Hi28n9( zJqJ0%6;<~_NJ?0KbhpV*s}BjaMbQi7`j+(dbA4uVbEez=ls&Y=Z)>46Xjjx$e)kf$;pb{Q<7MMx2n2aBfp?P3aCD6vc>~o0T zeD-``gwImgP`vj1^1g;yO^)_x?>0UZQ`<3VB31n!B03|?={A0tS7~lhsP^N(7e!3LB+Mqx@~wA^iIRPwHZ?Yn zGU3U*LQuoJron2>Q|P%;^w*V67t21BT=tv*7q7ElO|I|8r!)CSkC{|NA8;_}4d$C) z6#d-^`MSn?9pF8eM=#sOtO=R%9m*LM!y7pLsRtaCTJAsIb%?|Z6pqLESIPOVtx*e1 z+0><)t~!yitqq0dhN#vH0oA(1cjsz2C4JtYHs_&a(D_S_(CY7x9eVlve0uUlMsp>{ z)PkbcTG3b}VGB->j5hmdRMy2kQX6;W_B2eB6v#*H0-@pj{{H?PQMYX?Qp4?1V`H{x zSLAkBM)+i#ZNL1b4ww;{uKHFazMe0&#L%PSBe0xWA!db=E-L9ZO5gz;3fYW$h&Rtx zp`F+INV0jy5%yZpQHyls3c*Df-S02Y@ycvZ~hz=n1X>`8;1XJ{L=+{Gh|4%1|Jk=EFi2E7%%> zdJ@>f-i;8>)^h->ej0g~?73Jm0GSApH&h|^KndoTeBt$*1>9)iy$UC>E3iZ<4k#=MYn$dW@PJjijTY|&otsd^naD*l z49kwp@v~1S@$qVo?spLecW{g*mlzc09J~HjAkCy#8}JXP{+{HCknbe43iV}X^!+do zq9RbfnC8cwu7m=LU8fq0w|?jJ!MNY9H;Oyimhv@YqoF~)A<6W#dH6l7Ml_FL70%G8 z)v$=vVI2sBarGP{r{mgyZM)&EU2yAIBZ0na8w|mvL{@oPJ^t1O)&b zP=B##7ePHM(`Y(eKT)vI@Q_74O5`mN!~V3_iaa~9bp+W+>cqoi-*L#b`}oKS>fIgL zJ_J+RGZ1%rYO4>I8w!PRQgmrS0cyzYWFr2IBbTN<<_V}(YlTXo)PQE7@NhSXvqav_fYqGlpEF_(z$$7U2NDS~Pi@2$q%&ps&&%VePNew73b^O` z^Wa1uV#(n$O!i&~HFfSA)AozCWV5-@%MhYexkibWc$t^`+1(^i{T#3thkrotd*@cm zEx72G`(c1Izq&{Uih#FZ`g7;F9;(D61o)`D=H;2cUJ^fD0J|6HNdden|(VhK5a3!wc@ zo_vz+Y31{II5~)Yqz?bL{r?A00W-RX0f`mSeF7h}tW#8!B}ivkbvV$wl(eo9e;ucE zicM09P@8iBqw>LaNsOOOlfh8^L@yuly-8N?VE9sMyk<`LavF|AS6HnWgoxY~D6p z`m8h#ZMSg2s-Trh9;j(+ColdmcX5Xg zwQ_T2(#I3Ke{V0Iy1b2z#~H~I+kYdxVj^i|b%GFF?Ew)EqHOxS#0SwS)qX>kHsa9B zH6ikOK;gU`1>4zVxw$K(lj@ypaH$8H9-#hAeKbGDX>%1ALR8!4I;@VNOnQyg7x=dy@|T*Q2Kltcs`J<($s5eP@f@V_}oNZ3)?wDj3n>tm zM|zeNdv@3&TIKpV2M zsT1%PQzP`|2_a_sR3)#pb3W=lrj%-{4OEgTzn;8-4{DM>p~Ga}nv#Zb>?k9&mG9QvMAqlknMO~T8&V!gMNgJMd0DF0LMg1vA95oGU+Foglh z0Vaj@9{GvpeWUJYzLZaU(ZP+N3U&2>`p4>!*dQd^{7i1jbxdTePGm;@%cS4 zqSLW@qZv)>sqpW|cB+c^Pp~<3>86vBLsAi0_JT_0oJWaY36Az_-j!{wWdwPnJ>XjK z^J)=kb=0fnp$p9U`6kUt@P)AKaT8s?x#9$gn=>JqyPuZt>T&0=Qf$NQXKyP1iRBV# z>k5Q89c&CVk=!>ScTc1e{{x=w#4C)X$*(R*x={Yl2dTDjv8t8Wm^#jm=+h2gac{Tn zJqs5p?jOWqjX3L$XDOIKkA5yqao9eTanC$xn=@M^lnAK91`ri{u#DoR+<_{SN)5UB z%=lqGdCS*p+159SbuWT;ozmn2pLt>=1a0AMO&!-2ErVPlH$-x>5Ioi3+Oz1tEI|40 z!p{VEhK(t4HUR8Q&23y(^m#eQ2W}sfq4gc&Jl#FR)W5adJQ?ZR$j+=oZvk|G=(NQY zDzz*uF%k!EM_5%b#;49|>)6etf4cyfP*Q$#yG zKffo(%?aIcz4I zq#u{-bsXgVNpSro#YBeRzFnIDZwY8&U96Db1Rla^6UUQ$SJzI#OEz|*8WHOV-s>iv z?g+@4%(B5@1LKAu0%{4DCF8N|X6WOr~q>_WUUrQcXbfMkca#*iUG zs<`U={LS!0D14`CEn2rT+W}3*)>dIG`n)k7xt>$XOm|aM))L*Tf$eLGwmOZoXVl6l z6p`>oX`gAA!HKDe&jZA?LN7k6tw8S6?LkmmS4xKu>zGRKsz-mn;n;Ee42gB=&cpNu z{7sUzW^z_%=I3l#OZ^+Zj&hLW)iW~0@io`pun8Z?>{Qk+TFzPHpd>5s~rknLraSf>=+=Q zIlkI_`DRVYAMOWp(ISQ$v-j@D23ajT)yMV;o0H+_Fag2yh)N(}duVcOkQFHFQi%h{T8xsrc3Xi4mMEvyNz1)o5yw8rO63Q#f?+c4{?-yb7>}fI*XWF6|V_1jug2cVw@eXXpPI(AH{$G z+n=<)Sll_?7dr))Z`IO?^0@LNmdRDJd2d8F#LoNHkv~KmY4tVp(89xdBeeY0=nHwr zJ`izcvFWo8t7(aps$0McOFYLokrGCtZn7v`8+1eQ;_`LeAPc zxbEiqujxu;6i{ZNrzy@PZU}v7!=`LQ9ta%R`TvB~)!*dXLZwUazMqW0&hLx-zYZyn zG0smNf`;v7skpbEdl50Yld(1{W$J@c%X=`JPyW$iIu7I?UW$n5Pics?7?y*ow-2^^ zFon#HdR$MmT_Z~^?SBiUBJ&qzuE0#IzxE~BYCTOgX%3N73lCNq4)4}My;W247D&k< zwmMWeJX_J?9FKl~HkaryZED1`AP?EB#OCZGSaM!{BjJ$GmnFP_AHVGW?B}ANNkS+G z!rsM}=UTeoNDI%C=KQGhpdM%+Z3uCwLoN^csC~WtyJc<0o7v)jzh2GCcN$@svuVPo zR^wtd%^%P54~Dt_oSy{BfqGdXFwc5jLQXQIjFRz$c0V^f3=op?727I=Op1T?RB@OW zz4DpmI5VHVCh9Eru(%X~bd~6u*^&eFXwsJ5#E>X4F06=*h9<_(z7uTsGAe%z+duFV zd-Uem{>w`&A?O&aZbR}OWMo>XwQ!zF(tB%oK3;T#o{d5UvkI>QxkyjJ^%ta*V9V15 zrwVjpZ#{FStwLqyBh-4ubnr6}vsEWDde>gkjHx)ni70}+GCePb0jHf6D1P-CYYk`o znFQY!M7u3gj4f;So@=ruc3}n@u&^e1`%`@NkNe6c_vXVs0+SJ=2dig=Ry8V7_LRry znshXDh~9t$NW+xwr8rg5djP#Da_avw+Q<;?qE?#x38Px-ACQY2oHB`y8Rb>PkzUu#N971C%fD2o6x{|-zA||0V zY40iJh|Udwy8=Z98W@ouhji0!aL5TcsrQk(i}x#GF$Avj;sop-rSX=1C*V=T|F#+Y zuc-ddfBw($*tV-_vO$l6P5ylB56->yzx_YT|EK>y1_c0^b$f6%1<&QDyGhe~dFTXFva)w(n$OLmpyVN<%7 z2}A?E1*gmQqcY0!^WaP{hhmnF?;R8@5M}9kq3&$G0I|4_PqPOvW(`QMksmp^sWnSt zBXb6q2mH&=Bj#+yK0=&&(BQ3^u~-6jyow%Lo8qs49CkQ@Hlfce>(EV6Kl4-@l*Sv= zpkB@Bq9BLFI|=(y1y*f~fsuY`_SjeO2`!@1;#sYID21xGA5DkNwf0&^xO%n<<>=g& z52Ae$=~kFQO=w;~_J~}33$19WFUVbji^od}o=K^(Dg`t#!YmTKxgB!XHZ`V z=A5xmyHie5`~+r)`{)y~p96PM<1v~E$tKE~^RSHbQJC^qyKRDPE0mYsPxs1`#E zht_L-%K9OM+s1wJ7^|j+o>s6JC#KKmL-;?dxH_$C-e`qaadtQe&{k?a;Y|OTN7&6^ z7ZDDjO-^HAQI@7>PpJdQ9dBbFdtEEdRVQIR*#SKLL2s;cQc(6(R&oXNjxIu!_6HiP z)Y5k57bG;>>|ku&!z}*N8som$oMNhVxo3$SrY{FD5=K;bi$+EjxvsLE8{^O*JM+Im z^QX{B-HX5A`xwV|M9l}=y0@PSp1N&iQbZ(iP4U(IJ{8t$wHwqC;NYM=b*6n!~8MfzB~ge?>M#{YBeV zoXPo%{iv|3j^Jv6f}9P^(u@MVs_$&w#WUkS$qa;^TAE`FAJ8RIwuN3P_p}!cLp{EE z^Tlz*7Vh>bIR3z_l$(!DIGS#sk_U5;A9xL{F`7)vs13;Kq4^oH96h+;mJ9oN$x5+$ ze86fqMawV}w)n?gRdY%p#hnc#&b;w|sU=EsjF|D>&Y{DJ8l2V2OS-f%Ct$`NpviB! zruR@~f+`^CNa%x>lhUP*r!(!5yan#Opf)c+IB?j;+uetNh3a;5)J(?v2r;}YM`CI_ zd*jL)v*?^m6tlc>uHwNB3?tvMq==O|0iAlz3gWT(CXGRRR>Jc?4K%AnZ}FJF0JcII zJ;nhv?}SEk^~x7g`gadaWB6*QSM?9jbib!y;LJUcb3h&ni^s@H=#&jBRKHRa2 zV)n8J|14yN?ZVHxv#?AioJ2potFg%F!0=%Ap~m^~WyKVPAO14 zgKwDJTIECq%v@soty`%bOT=+fxOxLX)Ic!CyaR3oLty^O@ggivS$ZKuw1WjN zYnMTMpaz0x-}*`CM5+VUX*Phts5u(2ffcm&`2ExVrgiqt9~d(h{7LwG8HJ}lbK=RC zrW}At>7ik}Ot&p3zA^nDcNv0>=*UQ5)SGLDII#0M{YD(4+UssZ5yZDm^XFISQVdMv*c` zUvLr5C5V7phwX{Nr@_dLz>PRk_H<7^hSXT7o;=$M^Pko5b_^8{DhR2jUc14Tl{@3N zdOIrfrwlMQ3c?2MVvh&_$Jv*stUdSm9Bt$9^*&Z4&}2?3-%6A$J$MV5DQnIY3ABkT zgE#?-+th%<3Aynh|60vb<$uS<;dLbh?8`{b86QKp#yu}3HO|c( znxsu3D})6&Z6=;nNuq$Pq=J1u426#EkMmE8&^#a>Glj4ESpP!af78P_@*r!fpkN@&t720 z)KZL4o&@pRWT{?~dM5wweg%%mx)k0jK9X{O2%3ICr|j@&w^w));>{@z>*~p+bW`fy zp(Q6ezd4^0kfjOW7D{fYzT|o;zVt>5{AyW1XKC$ZbmH;H=`#}s*P{vNLPbH8r>32IkYBgQ!HKws#PxxueK zS4#B+o+)n4Y?KI*JWu5Dokf;(dy}^C%t>%6>>j8496@pW$AF%m0GHb7qZLA{KWhLs ze-ab&j3#~@^Z?QnBq<#O#TCbCs;l?Gt)G2&+QJiH@;FXBb$tUWguv+G|D<*~oxan( zCNWgtu-6P)rQXcRdFlO;7CrllGj&QF*+&&%B4K;m_*hRmcxMTz&|{zUCe8~a1DmYp zz!}stEGM3Vrbhic9&z9B?1rt)D(4UKxsMCm3i<%u9A<%XQ{2rSk!&MpCQT7x_+bLE z>$j{CIfnA%!n^6y?I(bPn#tigtDzsOK0hU>UU#TuZPL zMSwXHI!D=h*r3X%^g&U@g?ek2zi1%g!_9WDkX3MfoLLg_Q&MbNJD$Mx!9d`U;fss_os-5 z2n9DnCHYBD6xa8SE42$!#%89!sn%Eiq^nVYh9=+NP}4rolF4*Hi$d>|W<7wkUfEVM zQ@8^aVT%V8Gzx(^w<14*qn5=N;)wdR)kM)lm}t}+=C5bU$@g6pP{4JuW(4VGb8hc5 z1Lc3v%YjF^ShM%_@&O1IGd(B(pjO5Dv;B&C6!WAs7L361=qS`pX&)U3%BY%2&S;Yc z089<@yz~$=1#Zl<=o%j_TOgMRxz?Y2oxjW8!j1oCq}M}ScN(CitCS&t@XuBM5l5gK zRjfB9KLpiC936^$k8w7R#u7}Up2K31SK`fZRLkA zl0z4<`9=bWgi9^xWOAFI%>$~65E@&DHC~LOjp12)3SR^;KhU?L%eZRtfj-v{5EKvq z&iBd(Tk2%ha68DQ#v!{7e}CA>){1&f%e@ty@Y0a@{YfJ63}0(WuOv2vm#efKi*=US zLX@1u`aH%rc>yo)hNhg3ZkHyK^C2sR(g5Jx+iHhfknm6(-3!WaWECb0l|xkC$xqPk zQnToLiNN1c%CRYSl_CDUNiEJ;$S9oU_C2f*O{($qS6dvf;* zoK()}+#z`N=Xd~6K(D`WaF|6p+o?`ANgMiA#4=`&7~LXiWH zNEgRKh?hSR6bx#C5&F(494lX*uFc{7g>QL-_}moc>L7osg|JV!cG{_e4ieq3VU!;& zf@RYQHJ@XAnp^Qe7ppIna@mmA&f!DAhVUS}Fa(d3Mcm{Y+-M(|;1E;Pu%=`_VCwig zBaE9@mj2v*v4Nk?bO=v;A#Q2=);q-`&InJeVH#$&^3#AX834E!q6(lCppjFn^s6dk z3iEJPVmGV0F`}L!Ov%%1k1_f0@N!WK!Lj5O<&4>Gd3l;^q2sX?T^}NDj8rQ8$LkLN z^3gvxiIi>j7P#~Ck^AQ!U?6~UVizMVkgm->I>Fz9?Zp-(dA*);1_itlJXf*`_{zdm zZZ!VQo>_ZKI~M@laR5Nq1}Zc%vaEJc!kE@WiY0RY?Ac5m1YY2?Ot!tF_Mj)xXU=l- zz%@K#32_BXDz69m$MdGJGOKdHB90pp>)0fDlHy-f_Df)gHO;TMu>A$k63pxGgT?pV zRajC>n>6;MbbQ=OrB-x6_o5^(7@(%<4M>73+5hmn7eg&w$svd80q~W2W}#5(0^_5|(V0rWhz= zJ&_85_7*zIh@U2p(#Qh2pJS8;1Q9khOSeeY1L>rcs7VAQ8NqZ{>Bwvk3(PS5?+U(m z{N)q&8-@>#SK^e;V7$fG`Bdd_rtF3%gG|izF}o^ovam{fe_tky2~G) z&`sfMjP@NLa2$t|h=90%qL|-AFRtVONNFO*1ZwzEPYpRRx#4W9#){@y=u#0vg%TDW zRyt9oXrnfg@P(_CNV52#yu-wSukv(=%_MeyDPqq1f%4@_4o|`MK}XJA0qDiM=$4aWyujyDOm-myw`9?fage%B36a$#n8%y`gEIAmH~lvUY|2Fn@CcbMA{Fhzr&BV5fI) zV@5tA)!BxZF4D9efD7^LPy7iUVB6u>6)|%q)&T|ZAk+$aMqHK5Wh*TrHf9k!Re2UL zJui%@JWJ1JT#e6Fx-YTrg5kF5*6FXm9BBx3i;{e!fuEw(6cCLI0K!QC`tT#9-cGSw zV_Q=FosVWOH_wR{o5JX}7}#aZQVIwhzS;2gHpWS|dkF|9EwurK{#kTNB_<7#_xxNE zDZ$cIS@2zBQ{=I3ace_&r>lffx0P-FYjL(=Bkw@)vleb#F@L}B;7@gC?PQ}_(6UtQ zpqTw^vo9cuL>Cu>c^<+}c*{m6a;IL)^CN!suwy5TxZ=jbXMe9Y1DR~!wc3}eU-0!_ zg`*HZEZj{ZyW{Gi{{|iuhW3~8v0tZ?#8~4&xB22rCXbVO8i99=Cb#gZ|6M0Yl0jiNVvck!?q>h&q$@JJ2&6l1y*SkieEM{GK-19)@rV-+D`ev?05g z|HCU4bY1X1E?@+&hJpR@-rIARK6Xy;>5Gw0nU0W7p}7KkG2;9<9j`vIxpK`|wdwdv zn~^?PjZSj6ca4KhuV9v7xg;f(02W zx8v~1sskcdc1M--P;&TCOk2Ju?+szs-u50P0>cu>0wW~PwxHF<7KyW(=inejjbcYp ze;jYBW7gB1Yq(L@%LZoepcZmqS*PL@vxgbE($0iqkq$KN9qJ49Un7k_k#6GC0D5SK z#-P#}Ghl^5xuAJA%M1v=Z9`pU^#gcZLas&L1s_=dE62G8%vR!h&;LA;>ZomxN1>?*mN*rF6+%|XP?xm%Pqi*0Fd3| z#~6s3qcS8pCq6~EZfi_ck^2$MkqD%N{a{xJ?x{Xsz?use+E_1uG1r= z3tS%Wq-tE6Z7w3^Oq)r36<4!#STvA9B=X%-mKFY1dGI^UB@S6MP`rPU_Ei;^mL2*vwGDiN)&3;-DtP!nVlocJ3SNv|L|XqD6Ud8PT$Xw6Eq7cVw}UY!ojPMgXsyT{CRx^^a5reZ(?_>)4Y% zes;d%(1pQPLD{ZB%<@&gi#lG|pHZaiHNJ4zNaoyV^SzjYdfH>p$ycfQ@`q@N1$(&% z*nx^%LZ>Ivi-SQs2e(8o^^E{~_)nAmW}V8;6to-Vt|w5Q+w?s+zd8^e6k8 zfIXaPD(!5j1xS2+P6|=?YgitV+Rf-~v|;;6Aqdj967jzH3w*3L z>JsSNx?2rX%QEo~XD&Gk9@LdI(q0HXDgXjov9;ig$}oPfF`Q*%we+?g&W?(O`f>yU z2EM)sRN)Mn+eie>=h}|Y*-w|X$5f*jV~#=u>-kg=m#+=pJd5OgGm+sR+s(b%Fr_R7 zj)05DST=m*{EaM5wh`|$_jgcmAAXh49-HKFQAL2z#2!D(@3R{p z0LJ&(XsF|~rO3b4V7JrjFM%s`Fi4GXDfWpYOHzM867T6@qEx?4d{GhJ>t+`FMB#%U zWAn^IhQ0>K%fOa#MvxO2Zq||}d}KrU7^QH?iueIM1mCPK3&QG|x%K;%eW{)}ZI(cn zMyZF;suj^^t7IN%k5>lGAhY%Q*he}h4oVH8S$kOH0e%pU=v~0mwzCx_)vz7{+xHIc zt!mJW5-+jw7KO2(s~*Iz*L$U#(raD!{-={m)7Aw4d$7|dW;bw%mo)4!C%O9H922lN zve9}jcB6|SYJnnsoV}$|US!_zQ`SID9q?Q9f3>xR+VkmHj>u$a(Fz5P(D^Xq#Nu7Y zKbFtYCyau{oP+VB1m{2ffJ+7OAhD(+^8RTEVhtjoT2*34SDr2T!*2wrZOYq$O>B4Q zkLH7^%UpUhjdzcPg7lQ$a+IbKO^{& z!e#W9tc^$WaTnZo0=6qo@O@s{FHG$k z%R`E`#g$#wiNCAtG3smMhI2n!Z|!)WJV?&PDUt$UhL!nxTd*Nn0w3xDMS3@B42Ny6 zAk@QUOCu7gO2x?Xj(Eg}_9K{`8tlo$QYLA!l}GkS6as9=kAv&W8ONoqXFR?kaPrGHLg68E4A#$Jhn?U1WnfZlO?kH3RqkXkUE)92C{FPK${Rkg>9P&Z zzF3#TUSytbHV#ISVh*)?niY@zq!DPW*78d(IDLu7Xf=}Pl3SE2HZ~Dh>z|2E)?;tx zsg#0<=!fluz*zH-EgQ{6IUYP(cJU`V%;M>E7L*U!yaOp5dGAEFW{%GCk=;3r$qGo* zmd2bw7U%RdtB~{P`4LP!X4>6IA_E5=;eR|b-xDZx8)40!K_4$F%c;`)#UM=q?NpFY zs=?2itc;ZN{x%TVky_Tc0UKz=EMSm?2a59^QF{7HoHIb8YJePMv>vF%_t1PzyD==y zuWLmSsdsQ;rp-TD3SR3$?>8%>s)8fh?YQnO^o=?rGK`!hb&RTLY|d}0hn2r63j#-o zUnEGCJ3{~H1&mM_3aV7gx%n0r-78%_dJWKd7U$EO$iXt!R7kaDJajowATX@QMsp>J zw60U6|+pjEAb>lNNUUka4`ixUH`&%jAd@@0wQSfh1pdl1}+0YtECy<;BUSJFrL zPGn8Ag_XMN5R2oQ9&@Up0b`->3QaRK{FH!H0#)8>UgF!qHfY_YQ2|Db-Wje= z%1hhR6AeIs>a*n1Y2>i`{kE_i*V{8Jp78HwA`D3L^axNd*q8mKMIS>*_mB%3YtIm2 ze>>t{Ko_dvuU26AroPN&D(0y~wD24RguXuJ%Ij?!XA9JOfwf_f z(rR6Emp*DE6+KBf(x>pL(LxJiRHW>N(CfBv3rhh-DtME9X8v8edtPGKiPH)YkG+lTS)xMBk^ zE2bfN(X&E7GosFJ7;I0n99HJoEOaaF{fT^2o^PFNak?Zph~}{N88K}NKAsBBPH-;` z$KMu>Dgiwz{$g5AGM&KYw4gCwwd^vnU&;gOuqb{Bd(ig_G3^9^*d0|7oo9{AtU|xY zNXQ@FG>$mX%jYTVyVh^lPmJPuo6n&v(KV^yF)L?iS?w1f1;!J7(lesnI87+~MN@Ht zCy92h3<~a3am*q4Y8zC zr1eAi|^aH-ZJ7J z;p(&Ug*hf6k$JH_3iYeYT=U#yFzMuBf85iZ7V84@w(q#x0zB&!b|;K#i`*f&>-%x3 z@+27Irur&WN|IqID1(XkjFU&jw*K#4~*OaubftzLCUYU%~ac* zQDhHV4Btt~JYd0J47+2`cT6Gxa|{80A6d37@En}!8nnrUHSf}LG0ycHpRiq0!(lFzhaHI*=_5`fof@d4_76ngyd%)A6L!1a zlhaGJW6~h^a;!{h%cFV}V(n;`5QfoyDkjFdl#i0Qa4#k{2N_9`vNM?_rSVgbr{WnaP0nAriAgFyq2%ZD?>YIQ~KTEkbb(pu3Dt6sP4fgN(` zU^WlacvtB|Vfo5uW2l(D8;{Hlpa?SXqeIuoUMJx~1CWItwTzm!Vv7}Vu>#1PVG|4* zoEl)&so6VPPKvul1oPvb4<^$Pfdgx_JHyBuD!)d-@dwhOWF3i;r!df{#w3*^TlSav zEZ&!!%syBNTZ7YI-nQiIt_)t(=Dnl)vNymMc7v9qdsOXStf22k4Fu|4<8{DlB{hpB z@bKW%6>QOeR|Q5Qc`)*(K4H^=vjyVvb_Gb8)K6qW0NaJEEyJN07+A%2Ug!qrksLQ||*Nua07o)0l^D3q;gG1Zlg_e=%DaxZts5Zl?7m<$WOK7CG2Enn*$>bu)rqnvISA^*eN)7Eq5}%xCO3Jr- zcF4s5plW8jD0?6~Q?BA!!3V$W1^U9#(j(}TvVy!lk!%&jTxpP)zo7MVtG>*f)0|)v zb-&Wyz|KDAs%^?m3F$dj7rz7A8wNBANjxYmj%jNb>WHi9>{prCq#Y{OH~!z%D{BIF zU-#R}aOq6Bm5@tZ&B!*{kLXB4^g!Q_FKwtb7Dkv3(j3jE$vA}G1a|59>IDF)rH-D# z1N!ZTDB+x}Q|A--G`81Ze8~=(hKowv_Y;^tTJOhmb@&i#_PxejRtQCivL=HziyZyFCC&jM#8pdwv2|DlsV zD{J~?li;~}{*_2GR>h)$iHV`hs@CS!^T4kR>+ zyr9tJP-|S^IDoXLvNQ}2Pj6q?dy(+$<{GIquoy>iP_KPMfbFo<7*{`DX(!G|2aBQH z)PMqSEo9`JUQ#!9j=zJqz2TJ7^_XjOlY6_g=F(f#G&^N)>ABQ_qLhoi6 zICC4&1I?ZiLQu;&^`KqC3^#=?HuH!^9fhNT_5X4e8O25h8JoJk)YakA*Jd8ue zlf?0ivH&$>*3H%XV>HYu-hyg^aE53F92Hsv(~I(x94csuxv(tjV7nAW$d*~^!sSXm zXV5%j9);>M@-I~O=mH0I9hS%mv8Z*ax zAseN9bj)G&2bsaoHY{bF?>wvpJ-Y&A zI8=I@`5oQ-p9NT{;nnlQ$fvvrn8N?{w!{*(7)uM3si^J_@Z@KG?3UOp*U#<96JgRO zI1FC?IC%~l4Vu=iU*`E59?+RMUh&04_GSyyVdNKO68&jZBS6_tN`W7 zp+afRsyo5USX01Tc_W75UZ0%nOsa-O><$O|{C8_xAtbl4G7YciX~2qsYgg+mJBIVN|7k4&9J~h1%g7dC zG5FW_-3r%rf*@oKL2(>TicJV8X{bK|eGp&!EFmNFGsLRhZ&zLj0(34Ans{JviZKN1P=SXIslGw7^AVhMZM?)l$wzgdU&>IIB6u{*nk%ntL?%gZnu zdPcr*DyW5l^+nH;D2NUHE#cB)-oJsBlx6B?t%31iQ(%3QEtJm`)FM0F@lgK$Lvf`9 zaIgpZIu*}P^kC+x`dT^AG6;)6L1^Pay*Z9rNLSN1-vCYVLHXbSCEoHt2l>p_t;!ut zsrOKR4!E-NF#N3_OKVsH(@5Tdtbe#m8>mo<+}prof-q#dq(Fx5%`Q#FJ%0m0&n+F5 z$*X&-=BB^!iQjX+93<8;6LkEIgQvuMIM?$)G>t7Ae(nc{r}+y`+Kk(lS=iekAzme^ z>l7gCucCS@rxY^xno-SL-HVu<2~4$BEjS0y&S~qXmiK$W{Uo`nEXXI<{;T<2+f?nL z@=AqRGXJcpquX0~N{oM#Q}$*N=WFelr+EaxQvyeN?>Ss&!8C$m{Dn`Q0zWrNnp|!zGuG zpf3J>8km@Ukr?sokS_zE4++2OmdMZGOoLN&ri2XT=zqUVFQ$6=c+aI*4Ml#rlB`A@ zCO(p$!9~nnBcqnZLUnLE=&8YJt^q-sgE#KL^hm85IwPWIaYr5eI^m0hbWq{XK6_Vy|z1YH2ho?sAvw9k# zk|WvG38&cAczpL(R{9W}$mek>IRcV$@-N+FNK@%g5L4mmA!B$h#TxmAssoOAxzL!U z5aXXvxS$gRN}Pofv3^aX4N+KW_uE7Eb(esgzWDFxBgzfWr*d8( ztqP5sP0)@tRrGA3xYIAe(U`YD9faEUBKAwLfha$kBkuMV0B7p+*p5T1m~}>7!0I^I z)j1Ptd+0;Ij4inZZh%mY^+~Zt+KOLymQVS&&O)7gUgy-%p{AJ_XC|uP?;$a1O%c_I#8n- z1!q4&QcS=yOZfKLGg;%daBe6f({DYi&M2o>A6W26F56csH4a z36|5XI9PXdaM}`O?^T&|Z5F|hY@gBYk<%5~ripQry7#iJiyoMOtR(r6_&{6ir`4F8 z8Z~3)arIw)^$j}Cce;;K zm3TWs@p)#71tlLny<&0?Gc?-9EC@oUh-dpO zD(p9^xa!pkUxofy}XN}xR=*!u`0uv{u!=z~qtZ9ktQiN7yG z@qEEAqyT1K0AFOF7azsjqPC)61e4p?MMDJupeZKPB>Rdu4D2#s!0-3Nl|i+e9Axu} z{D4%T_W+wTNyU2#1TrHFPCiSaVfj{2r3g8*(Zb)@4*{SqDR48&|7BDOpr-NX;FB<_ z?8)Iy?@@Z&fWX;z+upde(D;b?cMoR4L2}}rplzu+0%r?C4$0$%9|cUWU}S}NGc|$d zT~`X{Nu$g#pk#vWb&2!kGyg4LNmYf$}O4j`f*P3KXI2z@6* z^C-wa!{NWO;6MNQ&wu{&pa1;lKmYm9fBy5I|NQ@jcZ^Lu@I7sNc#+EWgy$dM|Mvf= z|L^>N`+sjx006^b#VFI}KNDpw_Xpv5>c3j>VR#j$J$W#*#il)ocAt!}e+UP|#Z8Ig znI;)w#R`NmKX7f{20F#YIT>C$JL~{-kd8@ragsVVWbH zb+&F12}LVM*=1t>R5KAmLOq`#Q4Y-uPw1!1Xx6_>@32f@^T8EW_5cb*l_CJs`#yNv z0F$n+W#MY5VNU+)x^@mVP5Fi)lc>&LG}EI#xt{-Yob<-tjUb3TtdXBQT(d&8Pw?N~ zg#&2L^0Tra>HK4anKnNR3IPmth)kX<CfsT?}DO%d1>Up@U(e- zy*M+)f$Nm}ql=yg)kTBN-KJiS&!;8>3}pjKXcYE}au^6S#W zZodSW{HfmB1s?E4=705!V}yJwPRu!8_~&cA5=>8_tU#hQ)QrH?+CDDFWT2d&Uqq`9 zuGNUEtm0XCD}J(_W$o*%#2gzM7xZO|WZr@bjC?n7B++`$XgtJI_<3BAmZAd}11GsT!iuaksxi_Qdn_m1&?q{YkM{_cmAprUUhJ6Ff!T=eZNk)ij;~j-2_H6zNXEgfU z$H~Np-DL$>i*x>c=2&)B2pI%o_#G98z3T&GFViVXoq;ZA{mZ9sHxJn~9~7Xzjj~fN z#BOV9nMo+fQ{F+RYMnp;JK$G=grw*&@Ns497 z6al=z4~U9W-thH%C>EukS@2=Ag(X5RzUpIH^+Ac~AS^c5p71gOaR|BEcE}%=dFvXq zBX;iJn*_!#s}K8t1GrrSW?(E^R)D2sD8m}Ef-$v0rEX8@hon_mkZ)o0{xk?lXuLU> zMPtq54xEmZ9Fq=GZ)34SLT2%!xyZQdiG9t9^|!mNm@r>g?`|gad9m z3M~VE^f2PtatJwSx+6KF6bguCzm&5&&fmp6UQdmD*y{Z*=4F$-yMK0k*SxD-*dD90 zz`mvt6a}|+xEb#=l3}(8y)zU2W z^Ju~%0cjoWTIAx5r~EP8@FWfWpa|6&LKlKLmxQZw831|_xN^>us~}b&%5x|*1yyC2 zc<+Te=dp>Arx&PtK~!vKhnUY+H>0tFGu&51x=ri_O1M*0mmB$?{hr0z#gT;eAdglv z`X~1%G;KW#(7i^FZHvP4%NuI_LJR$M5~(S-iIfc_EoLlkQsqWi;tj?tA`*BC2lH~O z4=mO0Iu2Al8mT(-p?W%xOl(P=~^?Y+%2gU_q zkgc9bn$WnXvLwaNoVh4Sb#eY{3AK0UYc%n&ZR_T9}pn>(vgbme!0$tkpzB7fe6Z)?+L4Dj9}z0OmbF2*ih^qppS zRdsnkekeR2Aab+K`FUD)Byy%tclV6jHeLD<{iTjDXQ;i+EKPRV@6(O$%)$Otzl#Y- z`X1a)5%7Ht!@1Gu|e_!BMpyowjc8|sxQ~=-Olg`Kp zZJ0=PbNIBEIjnE4EDmZWQ1k?*L&Vl#hW^UPpJtAy{OzK4Pmsvb(&`1Er6h`tsgXBU zqpGkieMBSxpj0Km@j?q%*n#fpi*0&H#J!Oc+wj1$d;vYv8*mKx4()8F2|MY^-A!WT zr!}C!qos^w(~r*Ucy5>ahO7pGCf1|+4*=PB@Iq>eLOKzoXks%YsZi<2>=la9bu8nf z+liTp$?4ndXs>GLvmWEcSK4+lvCyA$tDh*wkE_GPH3Vwnx}bNe1cIgs$?UCcCJXeU zsGaeyE)&~76p9x^Q_iu!$>WFVLx9I?JBc>ZDV@zJu$fm{wb!d z=OCz4T1HpZ-XFtigA@ot#O4 z7@TP3R%*7l9;ZDuSHzog-lsKgmw((FVuY`GIt;+vD0m`r%!6K#WqkLyj6dVJbDfGO zG#@QU!;=o;;N37Xj4A2Y@Lpe+^(r$&d8{P*)huNC3MI|rVi7Y;dSkidUh}P8R^JZC zR^naYe3K=Y3BhU{d+v0spg^o#{hgiz@eGU>cEUi>-Ip7 zsD1ds-{qd^=@$u4NBbA)FznW)BL8~*Ygk&NEwGC39saY7k~-sR9(DtxWAlN!#^U$X$haVvSRR#bBAX0By+6Z`F7} z1}Z~|y+KvJlXxDK{CgL*y{j!*c!Ueebf!=1m59?W8t&%-%q`F6Wy7(qeri3a=pR3b zw7*O;NFFzStGgJnK!gx2*hQ7#lY$HMeIgiBdwdB5mQqe~{@uYI+L*#KrlEm{*y-9S)n}0c=P7MO*;{G#5#oZx1;UuO$O_ zvCd(oj6L+HPKtQO;@b;k(g(CKx4O%nx1_$n@|z}IfAhhz75ltb)>zBvmWxX=Zl<2x zwwSzia0lrjjP|&(;MQ3xdhi_##*Q$ud$C;;BYR%a5hkc#fvZa{z@v53r7b(J0^+*7 zxrORnmJ|t4l7f^c)1kV@1BI5EVoY7-yB2)MWvDX31z%<@l<~~~&8M3&ZX`@vkmHed zg2=FhjM$z=-fjLtluSxzM;g$toT~WCS!AuiE%DYwxOBrU1x^&7JXe>~tR|D*{QD+U z9O3Gd?szEDz4KfPj~#`x0c{nJBzEYKjosK}=8J5;n09uyQD5=!N$b}-fK{S@MoRZ6 zq4=L00k7>&xd2~U7Y8JDv3hh_eW8iwuLV|%3L=j5G=)TAB1uxH|~(1#lZ7Q{~!5;%jh<35so|O zfT~#XpPW#^DLi)5J0bmWVT;i`)*24-}Jt+-gbCghMTg3 zSg{DmP059eTYh#lmE0x*$97b7CW=c}@ zSgFN?sbg%}6q@QOsVVEO1@?~)EcUXEm|kG6Rx88sxSXQ1{pF;4Zi`w~)xPZECOFZk z;LYWwpG+~12YH1oI~%OLDxGJpS}A1p4D}9w0?*Ok3;c z>(iYK9%6*GD(n@t2Iw>qWow@3Z3Rl9gU}3qq`BlJUc~%V%zxBfg|lAn`O_+Fid(>h zlXQf78aKRHaVD|@$3`_dBH%WzX)cS$^jScp!~EOUUG;e|1ehnzsIyC_s<I1E^HdC{FbLV<=AW+s{nDBR;9V>g(XJL-FujC?!^#bJp1 zOL})VhsyZSZ>s>f92T6FDNYeFcl!1B-_3Ul2UwX*OO8;uh8CV2Fz0ZdF*XP z(`+f6x-SpO0-_WgL!gdS!msA;{4Ij1Zf(;uL%y!5!Ee_W(PUko^SmHATY9mWPviqcwa(3oYVIQ8dHxAvP zBwqk*=I((ueF_!3txhQwy?guR+HoIqnK> z?nowUW!)I7C>h{i%?zrlYPPrr++}b`%FWkB>h8Gi+&ufDU*chB$mh2+Ivo-F7CRd( z%L{$y>|86TH`7fLN7e{_wGeao(y(!M)XxcdHoIP%{Ghez%>-y%2R-(5Q1_ZO9PX!) zlpReSRw660H@1*ZaOD1L2%W}XbhQA592Y$9Z~L@WU`TXssOqDq63f``&7)PZd$yI{yy&B@X^OVo>nim$y@cMM}&R^K)Ip&7%Jo^U|OEi4|E4 zqi@^rw%m1IO_*m=Ik3se^FA11MrOD#-|TD4U9Z+;01JTL2m1<7TzytYd zQipU{x9zwbe&0k^GuJXIm#%~70ZpJ^1{z&4zdb|%1v$Y-1fGM;lY}-B7ObvOj)rt0 zG=?`Ky;Ast$I$(VW+m!Z%^?|sYvme7o>7slYRVvUJlHV>&qB`Vj-+B3#MIdz9}}_s z_9nAp+0AMel~D#ZYM;T{`ct>Q5{bv_OqAQ;JVS*@R5x+eri`tSGR&@GGyG%2nU#Ei z+*yr6#VY~q(9|$8YjKU6gr8@M<7hX4JlOvFUGK7wCZVoG+V<-o2d;6cFAV7xo& zT{msHI0Kr+kPO?{VyFy-B?9ab;XwVp%}Tmp_Y?=mgq}+9Mb6sgGLFu14XRnbDj69s zqZ5$nO<5S@Q%pe$^Zg_BU0W4#BMrKTOmNgqlwmN49ksBv&ceN(BB`kfn@?{4>f$>% z0`8Z%mrs`^;)$|2mfoi;xMo|%O`sc;$0x&$JH!9{xdqvLu)q%KZqxTBi#Q&2NFiZD zUI*<&JY&v6SRL`Ejm$3y=Tl1VeN2f$8+j_0x<+b5{$4^2#7@97&G@%&zWGC3Eb{3{ z3v>wb62{&K=AEg5j$X%n7Il-{hZf-D-jC1T*=Yb5MIbcjyBcr#IWcpr#(iXZp7Paf zbPk6XI;*SzjuR1Znwo^$d(lx@Rzf@7%0Zxo<=A_YZwwEa0!0Afl?9~kv>%9VJT~3a z#wNK_s-KpV9&XT!i7{|WVn}Yd-pz!EsAoC(K*w4XaL}NgHFUb zBHklgx-r%*d2$Ik`u<^;rdpEi9T2;JP5YAGBZnIKo7MxQT7EH|Jps$Y@i-SYZrwJ! z7m5d%Y$Nn@DrCHC5-gcs5L3-`B%aV8T*HNl~W z#z#94WZnB?Gm`WxnyQZT7LhS?eoqizs})hD`ewIcQzU4l;4fn7ILcXgy=LVwCn$X^ zTvCPqt_f&wMPB|Af%HjCwfNce?`6j!)>5dRw$5%_5T*DfwKh;$Te(DGKff)PR+c^s zUkZvDW~0`RBAJq*)eE*v&@7HM=zFnp=P+|4n#^I*acV4n({4&20A{ zYq0+F%Z^iJHyC>(fq6ng9xN z6cuWg270BLR3`&CZv7@}iO%E0$;jm2!RHoXgBII%VY2*9-^2yR*;Y6wTs5?r4%gsKNrO%Qa3;H*D`cJ0$};?NpKKA!qMh$4X~pSV06%siRSCop zJ;Pit$8lZ>fhmc9o#h*&=as&Lb6-rtopT0mL?=cN>;1{zu&6*dYRM=*^pHl2z4w<# zQv@8L;j5n6yk?sLd_u(xWlJJG-aJB+H|UAQh>(b90R*Q9RjwN0; z&R1RYP%rd%HV&7TL4P8DAs&iaPaMkol4Y$UEt)Epg947XpauG~QL>Cuk!lN2kQ`RB zT>=l1ux@<95056O8Tkoa4tjXT)*W^!YK*rR#Hk{`Xkgmbc(wZ@sB_7ia7OiD+7D$q za4_M~_OH=k{Q78_-+D&z*Rt!>pGLd#9Pj7h6|Ytl_zi*Do7RUjNmrPgr+SqM9R`OT zjEHKb8D8ZW;b^?`0cIl*me5FdwK_&x0&EG=J>xK?@79bo)tMd871+s}Pl=*&wWIp( zxTogt3)Fi>TQstEiBiayt)p2x`YE}f3e4Zw&V|C=cUH**mOcP02Rv7P$;v92UJZpP z8xO8)MjpDim&``tjo2J>_t-)`!&aiYTa9EBX?SRJOxfWQ1PtqUiJsF(32L1qO874z zlz4NrS8;MwMPZ&_p{xvuA8pc$@B&5&X|KMdQ{ymDnTln*Tpx}YOwI<~1FL|IecxUJ z$SR}mwkEgUm3{?L`m=@k+>AU>5E4p2%*)oFMhre2iU5b%1to;SS_!!BdeZ@SIDKTW zV@qkv2FChf-)FGfxe;fx=&&mLz4Wi(>LLPA`2#Xls3gSC+*rcEbyH|P+v zoR)T0+e~Cc1JmBkfbOkGOz;!@l+rmZgTMkbe2M%u z*6K)K#kuogqur3}m%de>u6ec7pO9^ctzwP|z?U+mLDEc}q`h1P)=BZAm$QGHP15J= z8=VHs$M&k{|0V_3P#(V$lwl-_0G8h4CrV?Y;wG0-ElNbtPYsM^f7lm9k{XK*})b6oY)2 z`;{;FzI*bOyGi3qGB{kfU;`~JoBsMV*HidsK|@r)CiR2DX4(T3knh$a6ysk~Y(_-6 z^9?S_CXIcV*e2ij7#e31&ZWuCt$$#Z#`)&${CU{BUirfCkkb_I?vH~EF_&EzhbYyE zaEL)#ZGF#Hk3W|uM=fNkGpER_mxJG$Q z@lmh`DU;uufIQiZhi}V))+9398BgevB5T4El&Yj)sQj1VTJpl+)!M3P){B+o<>tc!co(mdH6l+<>i%b*JQ zn%30SncmtgBzYOYs8MR1J%?95gb)YO%dJ-bSv4^kRB$09Z5gC|Cmh}*(kPAISqh}4 zj>ztoL4}kvC*K9v7q;46ER<0N*mRtdFSe|pLhEzy8sR{TV~ApgX1i5Xc#Q&RjYPLs zu&sLLjC~%2+f$K-nSHG$`d&O%bCXM!y>+K+upii3$VW3 z?+y4A-J~G^>h_~3ZQ1qa3$Y&Qmva`Wt5il2Q=ZJ71$rq@EITaDpUcLP4%PJlZ9tO0 z6Hs2QEKO^)^-tB47qvojoeZ7X&h4*^qy zK%QXH?vkxYhJ5k33C>i%DYrw9zMxe0>Y>GyPW0Oj8DoIfIl1nQh?z2ooFr|`D-KTSqWZcIT1;45@7`A}c(+i^1togpvl zkn`>;j)DKZyJ)U;#~v*KhkK7tQkf{qj&qKiMQBdb+M$~AMYD;S<%{;Z!#2h*TS<<) zlq7ReC&~E!0QY}eO%1(RcVBgFAPKB;i|W--O=)-rswYHzWA>Z~Q`t(^N45PsZ=-+n zS~P5kSpANvJk~gmkT|9a=eE@&kH%7%%kR&9)wn}ovWH}N+4plRL-FB4T}yP5Jc2)7 z{MBjfG7Bt86$R?)`0-_(d{Tx3;#a^JE9#v-wFZxRs8zlZrRB(MP>y}VoTY^WZ{zBZ z4!wyk)xpm2Nd+t{ikWl^68pFdrHSMx`Rt;y^_E9$nNIX-^5S(KhnW;;OeAoy=59ow z)eZL4r;I+tyqC~_M#ecu4jw^z#R;4AW7fdk=zaG1V+%hGfL8&?MfU!ZO};`mfLH21 z_EB(I4go9fqj7wR`~-PPAgbZP0uWokDAXk#{5!a5pg}@yLu77Z;?04S`MZlsq5e)g zr41kACwB~$k8VsY7LJXJ%Ho3uCz2HfUl|B}7qnScmpIsAHr%`mMiEh)j9SUnQ){*z zy^lb)B!rfD#mbE;b>7G7!qR=H39MmV+B8Wk^zM;w!gZ~Y+aM=T?nfP%Ao4Zk>$Dv9 z36tL*tk!rLD;>YVu(nVf`Y8TVF8g3+j(ys|@KOkl7Cd?_c&V2d^jL-apLNgfKFu-s z0972i)kPG;GtQkjxa4W5Jh%NsxY4mRQsUy=Xf@N@K1+@-WP1fSl@Yg?UNwPJ`ptK|G^4|3u%6hBpO=b;&)Zg>I z-i0geunj)O5d?dUe$j;?8k=^8T()15~>&x_~(A)f2F*8tMt_-Fiw&9i{ zZ8+?km1LPoa)^gn6x&AU@}Sp`@lc;W ze~|4JW_1Ih{s zrS~g;nEQEFrz(-l-(;j?`CaqUn&>z?jSdl~>)$FBZXYgB)m5nV?rM+Op=;9PZmw+_ zc~VP%O({b(v-*wLKYX)NlJ~ecx4K-&|8D;~k^$&5WfQ4Zc=I43kW3fZdt-A*h0Xdy zqWzTATy?+5{il`x1eYos?ReAC-;1oWcqS}+lkgy#;x7oZ{jL^^D%O^tCTI72<~lKV zfJOS`y*X?{A?e%@t-59ZC)}KOJev3uGhk*43H72QpIJ`PfM@HK03G)kYtmF$;0bbb z$;{y;<}$JO_P0&=r;He*Od;)U%Ko7Q@yAEyoJPu>oluelRx)o-YJ4yJXOii3kB7|x z2KH^%_fr6$#bF1ra=(nq^k5pKF%QO0bIXlYj7Y5C2Sx*E2o zl^}8t`N^EK+^Oc5NalcOS#;R7_NA=|;p|8KP8AGdS|$53;g4sYn}zXrxK6MyN4kg& zT={iXD3N&?aIK(x8A5TiC7O7)Q5Q*51LNQR+V_G^;(vK-V-W%;AOcSya3gqKYk$d{K-qfbU zv{gvuzD`g@-e_E%~%BK~u%thL%(Q z!JwR<+b!x^=QM$zth}3|QqT$EMJVq9MmgN zFaNIKTZ*Xs{r*QSBAMy}hWO>|onfAonfn!~vs9By7Ca888feF1I$4i&>u;%GTlFu~ z64?V-xaaW+6;?3^qi;@I)cS@NHE?Sg&&XJ&pISqKLAj_q`nyG$A)>S5uI8?M>`>va z*C(ZAMgH>a2~^^m4u-9kdUhO8OL7lAy-2flxyL+-eHvt`bI$A{+>f44`T3LdF&skb zO+5!+wm5+JR~Cc;$o}gOD`fYjT;Jfm@4lROqort}OfF;y#Bt`e~!vZEh^tvIi zrtggiBfa%?4{mjZ7SQ7h-cdUTluFE^p9BP3vAeahZcj zm+G8qiw2Ps00-h4;Gn$`t*^RSumy-SII4-03bQ$e3U?|UeQ5iTYg=riCgM#rq-b<> zaxpAf7bEB7&}v!%6Xu0!!35UK>~s=<5(w zK*MDt=q&sX*K|Y;MGV}&vhE9CLq0XX%|SwRA|U&z)AD%sCQ!595HuA1ukR{-0@ibB zFpPYjE(X>|LW)f2Ns&{|r_fREo)JvUPL>=8DiW7N5B(;W?m56=78cEw1`{MPJ9%p? zn=UGsd}eGLMz8NnPL+$kh%jG~!MkS#lrZK4lrvdCXnu!r!^eo1yM(Dp_0;^?w?@?J z{ds<+GKc^pn%$aAlL0lamJ4rd-Mbb!EaDL4w|h>$y{IV4pZ#cGm(j0Yy?XWP)vH&p zUcGwt>eZ`PuU`HCN03&)c&nj1J^4#!@hgwU!GHh%Z~rg<@Bg0x9SI3RwMt6aBi9zg z#3czAw98%E*Vb`$khtuvBTyNp?TwfE)Fcx>X zVt#*$?<_P@FtY@plpb;|H}l7}gp_N6GsteRes>|qJ}kRlyMg_{c+7N_@6w9oSE|nJ zq<23@<4`<#NB327FQAjfl7zmotkxY=qN4WDkxd&KeYcO3WZQLC>;A}*!WR)EhUtoy z(4{d5LH|lI#|7_j=5L`!Wg3`RaV_Z*IG&r%8cP=PzRW@ZD4 zf1mp+72{)>cI7;xMHlSPT|pY5(&r#zuP?)f#Y1MNv4>@o@5mN(UaG zWGqNCO?YYAWLK~@kLXZ6yu zkbgoF(Y^82vved@g?V+TT`4XLyD7yo4!$mDNAI;lK*uW=sZZ(F4#S}FDA$!f3yF0r zs5tp7gG}xU*D%3C#^JTcsnq96JMf#O(kMVo;sMo@sRcrxnXm4I&-!Ia))_T*D1b_) z775uyqJEjWncYJ5_D_4e!hog(M6nH9m5CSYetD)b*A2~PBRpFjVh^l`n_5MvQQ>W% zVWDfT9}9HX56`Q?)yQ5%Ds0^4vIP2n&TX+J7`hC@w*?dcv!Y|waIUGUVq4uth367C zF;5*imMjIT<}IGRg}`@wj^MvhzpufyIA2*y)G@z>F|x*B2*al%3&=d36YviPDIbzW zxYHW$MS;)R4MO2abo!c7U>ZACikr!*a)N$A(1b$<|X{KA? zG=fv54f9lk1sY*9A_n3UCqPoo_?Sw9A_9x;dh8E^zD#KySY#X7V)JfJGDex98`*a$mA^`uk_=K~JQ$%ri$9IW*s9Q=)CKNFW9rJn^FSs|CD3`bNSY1!|U z8Yi2^A>k~XZiB(+lYw(H3#&(VBdFBd-o82h*)RAOraz}|Lqo1%X_!r2g?8o_trws4 zst!1dP>(D9N9ZS()dT4bF^w5d9E;uO^!VD#wfEv4j4PY7!srXjx*hH2*g}F!uiY96 zg;o^T)Guk^ISFjYHblPq8p5ail3v@hIMEKnemVNmOL#akV&f|rR=r?;M?fyZDHRG`U5UnC=-n(k&t#_fzX~VflBeVSmO1&bFc??9Vg4 z|44rwq;1l!{A%!yd^XY+a za1BxZnl5g)(GMrxQ3(n@%%gt7$tCn9uXrwkC=l>>eI-ELn6HST6h&!0xdTn%zb1O1dl1%RXF;+3hH-dz{RRld%)Mq{pz-@@T}VpW}fB+S=? zEK61;Vc62|T%Q5rO<_lDo~|@GtBrV(h^s!MDA_WPKhTm)A1=d9vydqo;6Q>VFKvxm zudue`l>4F!qv0a?S|~(rl=A9!m6DWwv{L*AI!PWB#6VPTnxj2Gc8uzNH8t)n(O%Gx z`#L39;CT(Z>ccW zsa$?Rza07L&;V%_#8d-@McTVQ+S5td!lL9;c$`qEkt&?zeX0z}T)3s{+1%$xVycX^ zFEg_}s?y-_)w82+zKC>UzL%GHFuWns;T~3y40ydK9{i|p-qu6`bIYCIJ)8}Q(94sh9Lmj^%&>Varw`2N6LraEf2^589c` zhXt4}E|%G94fMD9T14UA8()SVMc7jRjcYTp6VuPNwUZG7Yh zx&g(aoW%fRCkjU-iwYj^uP@=4o~lXtCfz9h_mAe?S13N5$!=1)DeYJJyHu4?fT2iW zba;f!&Hr*;fgnMN)HB0^Y~~*gmXZc-In_DWHxYcK0o&fDa!_m%QGB)uOapjQ_R<8cH>jTCKIox63fRY|f8{|Z01;xI_hnphrr%!AmYdB3Fs~TZRHhng> zAJ@WOSd7LfIqsnUx`?a0$S>xt(k`U5)2RuMaVJ;FP>x^Hpa%#U8}e05>2yLk430O8 zea3Yj+|62Uc+c5!7-@F`&Cg;fnPhn&3eEN?L?5$gZfHh2kLK{XH5=?Ba>45X-xF!I zkR!@Q#AJGl7vH4tw?$O)T&cg}cGbC;SViLx_(-iSn!5o44?$~M8>b)FC48&Xnj*i# z&NOnp@!$s1>eoap`t>e2iRT5{Ib3ty2+-FvluJj$5*;q5@F-yJwY(l^T5sY*Pp=Mt zS`icF2CD3wgcSAaH|U6UYUd7)7WL@0%dp_BRDn=N%^e+h^7y`!62@iNFa7(ub6w{P zNLza)Rir#YD|FRd5R*W!e~4AB6_nXY2avmB*&OdMlf?28Y!n6{P~3{@>7aW2FvTmc zYO0Pj?9hs#mA3%n^$JTjl9?%I=Ipy==UdF@2-#lwB>N^MVou^C();AABi^1xlsV;< z&do8S;W7<9J9F8rZuiXWkxMt45x2<*=R4u*fs*eoN&RZ@Ab$A;+24M#wuc@8{$Aa1 z`rnsuAoQ0v?GZDJeUSKPNv&*IC(KgS6i^JB5)G1eTIcs3R#RHD&Vt+F8AC45s#f`N z$;HWwr)^QEtmiwLnR1${bk(xj+gpIyBwuyvPp6&p^s2_1ajJ94ydJ&z%`~kM66c?C zyR(2pQnSG3@|XN9+2D@+dTn625<1M>$fR_k%+=DcQv2DgUeKUn_`gR^qkgSNCx>Cr zg-)nQmo?&6JoMTx26T<5CXwYBi&5y%%Ywwg_%bfUhMHj7wywgF;p&C)Z0#8ncmL2$ zjzJ0r<++J3U!aPP(7G>%dOJGuz@zq>tlaM!I|xoIw!qFBIvbrw(&ONb2uToi(2&7{ zzW|*$@nQ}fuROqZlV@<>>PxXgHsSL3Hn6Nl6BKvzKSLIG|MWooA_?Bs$N<=hICi#X zn+4+nf;58@{*DJP6>*q3J2POveL^97b-W zRBRSsPP=PDH7>97rGp&=&0T6nzGxNkHAN0dIT8wN?kxhMw`6{kvsh5YWN+3Cze_Ub z#R#Wuj(_kAZD%fXNywX`n`hM-qoBRWmHBQhO;3FXwEs4Dw&0`Zf5N9r+S#3Peo?u+ z3_GslA5Gd^Ldzkl6MXw4>uZYr;$=sZlHgOf4%wkqD zGYU^Zdq+{z7DM9#CjpNE^oFGx+cQBgP!WxiskO;}?rz|j*TF^PS;tg+K zp}fi>p>b+=E{GI4GzzL&4z;vKsrDUSIxc|F<~%40FNg&5WxB0C`v8LreuLdhso{|e zAX=DX3(}?lI_U2GVFEZ?2&Tt8XzbyZs$KW#P5o!MSiH(Xys9abg46+Xe2h*)*z;V?pt>#@3C_ z+yXX`<6PvyKVa8m4l>T-oaNRy!K`YDkgf??f6z4I9h7A(GgynD3fB_|Y8bZQL&v!PaqclK&0x%H`~K5tp+zlVPYSSvAXU);=eiz)W!1LmBx$+Q)T z>@^4NKm)kuGhr~1L10;7VEx{_n}LIdih?+G1nG{qTG=OK;Szs1{HU_E!uVgC{6hou zOiupctahmH6K9jRM~Ok}%`9E60YaynQPy&u-%NsoD|<{RcrbyXm;-2~gj<0fy1A>% zg~pJOQ{r7^)qq|qUxctM|CU%kn*hu=cSQC2b3%5;g^}h$plWIP)wC>FmF8P9Y|1+2 zSGeW0kOgYmJ^`%AX2!cS0- z+OshO=54(c-P8r2Sryr}xhKVk%E$3Jvv^_DfqR4{_$oeOMuySf+3<4hRV@ju&hVK) z{XxNTrb5M6QWUzoE7y2m`60=ppKD-Q7LDBe$96N`HaO0K11N277RqL66bA(~k&Sdt z>xubo`MnI>AL7`@^E~I3yk(TIx8q5%4m3GI*iuY4Sie(kXyF2 zi!?Ij*x|G@CyaONpKggGKNhJHwy zVGc?i>t_5=$_q}JKr|BllCNSu8C}jKF)0O~Y?B1X)5Yq{t`TEZ`)}Ptp}y-23_?zZ z6WeaY|AL*BU|&zSK^UZUHg;Bv(z-mR8_H@TNBhJ*t3#%9Y0iFmsd}?PHo6Wlgy`o( z6Gh#-C^3$p^n~yh{RaYu|6eMexPIQkjqY4FpBgDLQ|rGeQ?M%;a3_A1^zIe?vz)|+ zeg;Nm&M4|8U!Ap(r(lw76<98kuB}_9;~v% z%8OPxUyHu!G@H@;Mv|Dzd~?(LNZu^MD}A<>Q49Tt?M+F^T}OA7#7o>|{Q<~U5-26j zXgyhomwU##MyeGw z$!)CdnAoK=i;eJtgkRN{rdW12bbn7W3W)2P_k8HNlComSV-i8Eid#x7ec$<=PgcS| zBqCWR%h@||(k=Vp*)Mw^Asl1cLR5TXfmx9Q2YcdZ$`yszx5>b$v>x>p0g*!8M0&Ij zOd?$w$Sp$8iUsI%1A+vZ?mZzj@*#xCHcR*wOV!=OTRijpu}3;Bj7n`$?rUMgKi}!9 zY7ig5N3~z^M3h0O#xd8LO0*L@sKiaFB(u2WDO5ZrED-gJ*~Y0Kc-=gc-38JE6*v^LySg}xc%1^^b=E=hn)apKyL8_rZ}?-RgD47;SloVCljn7KOWU?)@N^~i!E zF~qC%;e@3(ySEFbO~AWw>eST)PiGX93}7=q;cPQqyh@K(VGTrA$HyrS1c#G$1;}_# z69JPkR1%E#A|n4`Mm3%K^OlLAR1NPfp?YI%;HRiPqvwN0&e2-n-rrsXDRkcq% zw@XL_AT#SOL6@WMZ3?`UsR$R%Uj^ed8-5s6IQsA*{}fWS2T1mVkE(Qi^z+?%=<;cs zT)cA!zBAv%=_#E#KGB42@<%K9-at(|KtrUw^EXp^Zs+$oGu>8-8O~|Av`dEtJ=us% zytb=4zh$Kn_VwREqGB!K?C4H{h?y|eo+lNB>92iycP+ChMJ-1xACW1Ojq=P;Y7JD| zOS&2$doO@$iFH>NJC}y+OrchC^7$X>fbGRpaOF9arL>Z%nuboMNOuY1F7WCYc+SS1 ztQQNzm)pj>2AWj``qN3lA>+b^(RIZ;m!43QfUbV~C_=!NGXzL3Qg!=bd`n&;DZ&nN&F&EGuc&UdNuIiPxL5bOxEWEXd1%(-NI=O0esmZ zOZx%+T(<|xQXMVT9!${>pni+OCMHv_l`e`aj~d-Eh&~PuHjVTdWp@2pINUwvFp7-j zm@U^IhDP)_l|nNI*PAQqP8B9F#zWh)H4KZ%Z0xyu-HHr{%~@lYxWdPuD9T3^(c({r zX_vEb2&=wOs@tdY^k5wcAck?$(qLhf+uYBZ>v>X?tJsZ#Z;eJ zO~yc91cWAx8taQcv;lfZA>c3<<~z99tr1DD9NUSurhH~%?~A)}Llu7pcY@17S54j07YOCtAVSH|T+o6oGZ;ZSI;(EogAeO8&N z0(oD+Y^_6TED-61q6zau`%>zuTI=XN-a_BsIrKYUnasnU>2JWLx#cH0HB*mfIDA{OZkLKQfy{7@JJ@> z0&+gZCJ5AzAIFJQxUe4=blxQiXG#XEQ^>CUQR2Y-Lt|cBt=j5v_bHtqU$6(4@me6t z&{^kn^5>b-juP};B5zSdUBO5NI3ys1^Smk{O7YHdb*cuqCVXk7MS7)if!BIL`t3#? zS_iMGlBW?6StT}quls>LoQSVeYqFT0g7_bv9=w}F(L(pw%N!Aj&9s-_L`PH@6OTx` zm2q|U<2(xEW&aIbC%le+Gi*0e@fKUp%&1c2q{Yo}$M!RKd{qk$uB#)i{hOeXQ1TI7 zcVEL*2rsCx(o~OWngBmH(K=0OUKS@|&2Gp{7bKu&Q;x!HM-5+}#6xocKy7)G`(MSP64lVb%_93wdcra z>Tr6Sw`}q^I{SN;Ip;^3uhol`_3}M{OT+PqXaG+Jutw^Uw*(&Br{TD**{V#47Nrop#+Jm=H3jP@VJf<>y$Mdn zG8+SWH1;<3;cp;EqF;PQOvFyqqd(GA^yGu*gN-zpY2lXdfe=<-3ClRc^igDT%##2T({BL}MiQ}7cG7FrE|JqlNZ6LdY$vifN` zTScjYtp(4UqEj_WFe3wlNa#wCcs#4ik8zCEHTV=+t|`HO)Mqi>Ln1hL2v$#VLJxFW z*IXFm2pg z7X6yXbuf4M7p$HlnN0O^wV(1`$j;#OccAN>@8CyNRgl`d%It3imkNH?Grj94KMFAv zK)rm(77}zBXxQo>P`0I%B zAIZ^uXopd7ZAKL#aVho~m_Q{Sk@RaV!(gLTy##A(#sq?9NeD}ew$0d-9gD9=syxpB z2zXj;U>K)J)P+mL;yD__*e30RjV7Cy0?^|=@E zazIJoNi*8zqL|WVNL!nR7|^Pltq&4%ZhzH@E4}S4Mj>Eoz~Bie?_!PJTGC^x9rksH)_q*6Z}7X>u-|{SgU}A?X89(PisKeR~Y?)@qRV@xw%4g&%#3GDLb%YOpypXSmLg3 z!fP`E+d}0=HegGCkwe&=FB)(YT1EF(neBx5gxZK79Ms7-E`03acolqX^glBeHxG^f zo!5WlP34IbKqs8yT6?L$9bs)409a-QwwYHCl%nAKR}$yj62>(37U#Gx)9Jf*IlN#3 zb<9;WB|Q=Ve{{na7j7pq;*Qn4!nnoTk#A%sKcJ*9#$?7)iD8@M0`#3818UJ0+<>ft zzca26PnDO>+=zfiVLSEjW@w20jumzQwim~>8G$^(x#{|Tw zsN^aA{Kma$?I^;ME)W&mV2w!by^s zqXz0A;D7T0#^7t<&t>P+0TCGGr;AOV;6sOhp@?DvuI2|^b4Q#!hPe83q3w1{u~S;s zvCsO#5AZym2(2O7H1|#!hPsC5&lBpRDL2A6%Bm^c1!#<4OSm9r$qR0Y>%s!6F5)Wt z#e0xqs;NZf7s=YdPDXR$RO;CDDB7%B+kU?0M=w9!oJhZYaj7EUSDjES2$^ zBN`?1(3uRMWd~QhGr+OXQZgw>s~a1&bQ^K~5xAAuHz`TU%FsubtP&d8$pEg-V^5zevr+6dmkffT`}D{Z~S|h&KCCM3=%&l4peZ z*cN4go23{CSmgy0E}|=RnccIB<7jL@7D~LT?)%L#Q?<`(sZnA}Q7}L*BL($| z;HP~LfQUvqW95K)dfh>#l)Q>-8!bcCtiMZhp#qplLNo9!7y+$9+slAV-6p1#HI^Nw z^(BCVxIE(B-`iCg1`Y-0WBDpZ= zezb5wXa)6NpjK1X$f#&)yqqk~Y5D$l7z-e5I9*smubwc`8C*3_S=yhc+sDBVeR+@5 z1l{eQ&y86!3rSAWL@0>&)!U@xG`@Y&gy_ zEVC!vh|_Z}cSztdso5Ydf9;?NqHDw?fp1k)n8?l^Rzw_OA zAytiwhjx^|{+`v4doeE1&@?ACQ3J&}(_aebMk%D@?5S0jO1b0p6 zuaxkC6;5#})PQJk9Bvz+>HPkvJ_8#X0>3P-nffpH4$uo8PcbfT8On>G%j9Ht1NkGC z;=bXF6p4td>r+8FT3(qq3G@Kg$WR2!o)AiO`Z>#bxHz)=owq{nflF}J=9kYQxhWul?XIQyhDv_uIcrLJy}VuXSq7|_e3UZvq}Dlg=V6XW63{aR@eD$IG5H7Wlnlm07Sin`Vr zlu}OGII%9DJnKf-TeR*)c0MSX&a3FPR+>lFtxa|W_3#Mtr7A-nQmT7Sov42liBq_2 z0~T`jZmh0tcH8TSFjJAJo2(%i~T8k)8+8yt4 z2~GsyU~d}=cFn{yA*0Fa3x;1sNp=Pr3xa<-W68)O? zIh9#o!HN$UsCt)7H@_q?%Y7G~5Z?CS!<>NMCkr3%5Fu_t6hCa4iBsIx1C?K>BcZ{z z$r|mVIs4oEe@~ZKcJECqrP##367?q+oN~O`t%Ixo8a%S2u{j{dA>c4Dj#Nb*L$3oJ z|4O=a>Nq|>_(corvDB)q=vsX>zAq?xzfrwgUqouR4-Q4HCa#?|Ie3od9LlPl zPP0so^OLz{waQQY!I!NGKYARmDB-_o-JxG}E193H@xDDkmwc|3PN4m;gS8rl*!w<8 z-ipR+`ES7)^d%zk(x-(CZyNOXSA?Nzh$lUo&>fu@m9E?%vV#7w9|PADZ1$|+JE(Kq?7nvb z)cr@l0c_vgouaZPq{r=&r;YO4e6{UD5R(dyE=ZFoo}b$gC|BlGuv9;mo~^O&B*X`B zB`hPg$v+610~S&AzAFJ(rr3!6`jZ03M1ZwMNoNwOj?Qwf%O8tHot0Xle2!OPz=889 zRgm>7c9d!mSHL4Q&u9WbWdG28b657v_BP*&9;&qaJFLnuJsZJ<%(E*dMyq{A;7daj zWHd0Z);0i03JcUCy2U>yy3syaLxwX%;&%bfJK)RnCz8#Mu4KTD0Cxyo%)irrR>xK1 zwcq^Jil`w9VoJWN)m5Y($)Oqzvy1AR&qZx z(S`6!Z{V***@zd{MdD_=7kv#JL0NW>pogKdZOfdav~`?gsjca}b+$080Zn8}_+Ld? ze%-S%qa^|JMtfru(L=n5kft-?!T4}P?$+}6F&+{q7yIpI6$cH^1_qW4NQ7En?NA77 z-+pJ?Ss6q2u^QC9t$`}&To8y#da1nD&oK8qwj=6NV`~l3!p^@X$*^P7_LceDgn=F| zA6u((Br9Wt8YUEO39eG(Y!KDmlJ6Mzdm}c^>rnqm6cLPWT0+GHl-Px=-VjJ)rn|$+ zQ7qTCWUl*(Fe9^S}MmaK&SS@Z4^hCc*R>*B)nK**(S*h^= zw;k~wsKimm;=miC|5JwA7U^FmP}M`+`zI|@0+vBjdw97zKYU&iaNS)uXiLwU#+Utk zAq(qLahx~`fT)zykUAvhX#p-q{%LycnYE1|gp;0E9JVu5CR1<(Z34K#WL3Diu!<_F zs>KI5Wo*sUY~^2_*z-uOvzbB$Mu{iI9Mt9t4LY2Hk|*NyZq-j>o{_-jSUli_f&Dc5 z5mg_GY?fPU zPo)Br8XDk`S^!Bvw!h7X4uo_r6cF-ZM_!3mI!bdDpOxSR^R1N}+MC-~1#yL!d%#nftSjY8>u+ey16p(3h! ztFoL_PZ59L(Cj>s6d(K?sbkn5q)~O+7Q=32z@h&+H@Zfw9TvJbY*oaHrZSzB z_6KzYSYtQ=Q#q_t28lN4U;uLoC$iW~p|kJ2ndK54Tni34or#iAh^HjMTMy*;+SA-Z zqFK%}ezlJ3^s`=+?;;@~7%~9|(?u!ZmLx&;-($9zFCb>PzoEvn5ouehH%(dUg|QQc zN5W44D~x3yn;I<8$8zq`eEV?%oLUI7q@67#BG4eaby=gx7<4LH(uN@2M{v0mFb8NF zL0d3vmj^fxTjII9Xv)YuGY?OQICF7UBnQ0dH=}+mMz!+e)g?(5`fL}C1a8i6y@^gr&6gCqNNf?~DSEg<@v>;TM~=M32*C?nf0li$!|FcT2wA`FP7&a5#${g1?oFppUe2yzm@{DSu<+>p$-i(zj0xWa5kI zLn!9*Up)BC1K0Lg1?)K3S;8cW(Vu;m?Jg?qCEO3K6O14LoOP;Atq3n#-UbLm{AprJ ziYYd-{Cy$cf1>>cLXlQHl-;_7T~kWT<=3#Jo+2>Ia*4(4GH!YUH)NHoEEdwKrh=md zx;14q12O`n_4D}kA)oKwe&=igihYcUii!su(nyEXnD7z|l?m}}qY~$bz8{Q;xoY&$ zijqdVR66}K&>RUnp*81YSIwiWHe=y53|L_sLpAg1+qCOR;Q_v7uZb{py+l2^hcrq_{-UVrLA%9;}<5iDDV7x+i(xD9pk~$+iHa?zDq&FM2DuYE21Y+f>w1 zb4FBV7#vedT45qdRttlyHx-HQ70TO6iKo{t`W;&b9_l<&Z;Kr=RSOjGfiO>LfR$eU z*g@$GQ@DXeTI>}2njCOT+VQ;yw(X#Wvl)Z0nbmIUF#52ZR?drIX^x&txwP49ajZl_kp!o)U&i;Yhb@dL`FFUxr<$YW8 zSBiz~8mR=wj8qFog$9nfum1>Ufs%*f=bpJGL%R+ssSPONN?B?wm10NUmGCNSo_qb$ z^E@6c-`@@V=3hTPkqr>Z7cB~3^0Z4T!yTx0ltXXg`xuYlAN;#a(-0@OJF7e&F(0D_A@_PpS1WU!u0J zJ>TL60&%WUYx@mBii(;?GkXeJ%P8Tz#=Xw8;FKMct9@;Rm}P|9_I^4aGk#xlKm{je zFGu-r&oZm7(^gcwNzuj>a;g+kJELY^uNk?xbA1SkyyAetR}*o<&QV;?OsRg<@b!tH zV~uAGE_b;b(pFER*nqz6>k@64ayHHgpd7hBk3vOND^P|tqp@IrM3Xd9)@(LGCaiy; zN^+)gqW*goerU*GEVei`cU~fp&}fn0Mqhr5_^xdo7K<}$7*rXY1v75*;J?DBMpOrY z07*MFGQXSA<_K@HrmcK6eZ5_|J&;ENa40ho21vWB-x2P&y`5jIoF0#TPAU3Z85is1 zBKrX8?V+cXX#&dFZORO2%hD&2+xvEe?T8#f<^(pGZCDqC)$! zlMSW9>&2$30T9eDk*?b=Qd+BFkb7?^J{H2Y54MO^<+{ zkK}=VTw)T}PP;gU*u+=$S?MI?&tVPbWH>3w0Qoc5c;x2UJXhxS)|bo=*tz4!FQ~CX zfS4ggo(e17AQ%9;m2g8Dnkcxxlf5Wcns9DzX>aUojMSHzPf@+_1*yams$_x$p*pfR z-btfk^(P%#sOU*IY|IBqOMUnaJ!6{;C9JAVo9pQSNSzM{pGqm>>OCP+X}xCRQ;u`_ z#7p0d$KYz{p=I+m^CZUpc!rtUp{5c#w3n^;2*{mMZP9rG#~dyAG)P==IG@TPm=%9m z$%FrOjQk!J-VLQynRm~pYxWUb^*f7))8w={G|9f^pcxyAmt<(mCegtH&p+C000cZ} zJ7g}ASkvG1z3uE=4=G$<5H1f9{gIYmn(RK&gE?b+k^+V|R~wtFQ+S9W@< zL}D*fdyX}4o#78XU__lR34*DtELVSVgzUy@sY9;Vk3u*0h>YrXkDAVMq5)a*qh-iD zJ4^Jmg^6>7kF4!<+oqph*DUf9G1w=r_4YBo^Sa= z%;JPRbN9dJPH`pCk2m?3aIj-+t_K7qurTD8HA6f8EN#nJup(2CIjs92FiX2Mb{Bae z91o72s`>U)GZ;kOBz1_|Sy~^h5r%VjSCUgnaBi7DbnZ}0})x$~uuhT81GdIIu(!f1wlb7@T zF>lX-qIPi40)7~X$Q>v}cbma;Q7yS(!k%AmD;K+*G3*wmI~wI2WvXZ6W&zBNnRx7X zZD-ojz^ zeCSuLDx=SK4B9g&VK+0Aw=tcr+za1pW6_~(oE75*Lws|}0%UUAkzmv7bA?D%J||#D zTF-(D?vSOsO%g#pK3n?qPc4`+>c9nqXdhaOoxH^1d)BNHWRsSC&YgcK`B5#y1@c z1SB7m@kGl)tWa$gSJO40_*d@(t5cbf0FGdmp4GMPmV&AE$c+R-T-G?@y>~|JEq-&x z^SvVE)fq(M4&zbd&=qDb>{D7(Zc*6)Ne0jm^qnma*b-WY zMUC0X>HT@^=07O7jGpY$0ZhxNAno=HxaVneY(xL#(`#;stXCRP2Np_lkc068Dh>aJ z*mbDK=|q93@g&)F$J~~cuLaYfBg2TQK?{z(GDNHMO?_a0O}A@j$_?MppDAt|%uJf| ze_)1pFbN{u3Otcdq`7X6>ALmDE>y~I-Lh@1F=E2;#5l5xl-;23c3RXRM(;X0rnF?f z6leMzH<{C5YWg4{%udgNwb>QhXh>MDgwHGdIs1=fc~~Hy)pyhT)8$76XZvT;BBepK zLFF;yU^v6{F)HZ7wY!#m#uyi_(rTe4Wx>~AI7w1O`6{PKDzgrXjdO4+bpSE}X2ki2 zvJWh}XQQnC-32ceu{JUa1p=>Mp2VSAnrVFg7?6++r1@c*%h}C`QZ(ujs2Yb84-MD*;DnAd6)=D`_ zh?S6*lM+71&Zi*V)CtP&FalRrH)Q&oE$f-=rB$G!fS_^=7zv|?J0W2@2-q=XV% zrg7TEW)i~c-)XaTM#gmG{d_L1Eh3?)W(mwI$cIOS?p`#PfW*sK_JDN#8AtqD<;6!HJV&vh#+Az6T?+9 z*8uBIZ6KA(Vt8)X4Uq{$z~zA;@(<08R=6)rx22EZwMoi~?%MpozQ6DHj z+=lh(qnb#Di-{uj@WM#oVwH(w*H}V*K$MWm{kd)sjH?}+WQX9H7!>rktKUO1+U#_J zgCot&#e~^~LM}cG({m6@(+p_7hRA^}t`acw`3zUAcou-KltO<`gxO-x20IB*2Ri!& zf1)JbJeQUP!6{Ja`Wn${p;U(Y>_}(Rp@(p9QVr)`yWZU?Wir)Zq@T%bfTX~w;7m-2 zGnNcmX+^*J0+aDcG!rD9tsC$EXKhOU4`74^v8L5`F}%p23~Qr9CyE}M?4xg%8a(%2 zk(4J`4y0Y-PeKLX=S$XIA`xJ`o2E9+Taz7-x2$532E%ssEsSI-y9N#l>ZPlX%lQ>WUA40U* z(Bto2q$*k=D=Qf?Fs9wdh;!4LyaHM#rWa_*pxSlM;@B0ArBsJfWwZBwMG%Nmy19Kh(NnDEBlcL?hUAX2Bm z)a#j|uA2Q$NM7o~ha4QC>UuqDXyp!ZlgP}U2_%2VEY)#oNa9n!9Q1{%Tei`u>dHu? ziz4Q&Pc9aBYg7{@@40?}R>RusA(3gM(f5(}-$jx4_RI5hR?z$~seEf@s-Har`mi@; zJnf8@H18My#Qk+B?5q$e=t>sh921xUw0&A=cA~n%{vGlIB0&{bQoKl8UgLamK=u{d zFG>>DZ=yy1yKNx0y2F>!CExA`>aFHyEkDW+MicuHV^iy+`t7D{gr=3)r`&{-1Sac7 zM;}s?7WLI>4xdl#a8ZE{K#FCU!D_nq3RuE(rv6MT#4*CroSG zq_|LKrh?p7=QvAmgGF&ms&JgQVg(unJLIlDu`p{M)_PeE)Ad<)y^xV}9ZN#nU_@DV4&h*vc7LOD8vVvJ2*x0=vN+P5rn_IYk3wnmpt?~ek( zls8tkuiT^&I)5+k{12XMCKW_m_LJIBOb*V9fjX|iHvyj{34P0_)YFPO=nINZrjRjf z-W7P>!KL}@C;!lg$rFd#J?I3>M&1evz<3Pi@dJpqQR{}Jz`tiEmbkY$l*-GLP$IMj zBsJLvM~k-{-NUpPHH=4``8yCoqrG?kK+6cSIqc<*a2h{f9UQJAk%&nuVW~SOpd*@FU^M0vbsi~?kNh<* z4YDn3Tt}d2@s1{Eu*iDV>OAUn+%4xofH832ZtJx;M=oy0IC_CMc%Y~!EE8ZCxGn9M zX?XiGD@9GFn;_oTCkNznAcd;r{ub52br;QF@I{QPa6`#RG!wF46_VUby*Tt)(cOA+FReT3 z-)G_nM20_VPQc$EYk~kguRdPNAmNE&`uc;#MR9nH1+I5WxciY~7e8GSh}whHl9VE2 zqJ?C?$-Go zIvJ7VlZ!W0d8MEUAMAi%GDS3%n|M4-c+7nJi9$yr2c zWJF+(D0{T_kSi$U;A#F!0r~007x!NFxd+;nJRsJnJ_@>i7U^byMj|dIrm7VQ^OAof zHXFE&Fx%!*sn2`X5!G0?EUS(qyC4%z$C`tNL)#LG4U;iekVg)9+KAG7{8Ejbwi`-& zzL|5@uWqSyG=K)%xp_W}+HTPb5xT;YsAf&D`j})!R+qI_E9K6j40{H4)Ax-@IhQy%&TU$2 z&}~n{I{mNz8qq~i)i~j$F>BAw`GNEre!wq%;g)36F)sxCG)Y{m#WEZw$RY36r@T~E zFZ>Q{JM61Z*=T|u;6J*An-hI2P`4%UbZkr@zMUE8b*8}3p1Vr>WK3$`Pf9~>Tv0>r zLh{KSq)1*T6rzC=+v_BIn@t91}2)CNWI9;ed7L|l7 zgboygz6VlT{$*0QT*VeE=IUiOS)K$vqmYp=^Co0kbu+hV%OzHqr3ta&NAMho9b5~t z6HImknPK2BDR2?iFUJvqFd3q>B`Z;ue$%FoBt(*l|1Dxy4>eE>;#M|q;jqOP1$Dsq zbf4t9(WXEbF#6>y++o(Irc@0}u(QcD+1Fy3-N8UP4ZFFUh4+uyrjdFsH6$N3qQSPL zrw^PjtlQn!IT$PY#;1$H){LNCK{kk@bLV8k9(~u9v>Bt~PAKShK~B^X9C~m536D3M zoRY1L^5m2u$*p&sw{6TbvPJQ;%~?Bs5xm$vkhd65f~3U${h)_MxZHk zvckY$V6#?^Aw55Vyg7XRH14+plmSn0I9^^6h+-<^FNBvU)y3q2hIM732G$ zV=8rZ8Fq2>cZ~9mRY;K(W?BLG*o)Z^|0wdmtt9WD_eKPTX#IH-;}nr`=rgbm z4EjzM)Ah=ED0Y1M6O06c`?|63*W$bcgEWQ-+;tBPGy(RBm8SG8fhVY|0xGqMMZ0+= z`g1$DuSyrN`;TWCB9N$0VBVP=hi7)v@kC0x;C?5PaMMm&=dW9P22|Y0NQsPtL3S=# zspHQin0U(O>0=DAg^VV`0oD+9uqL~S-r23xpl!+i07C2Dz_F1NwL&=|6m~=B(k{qt z0{o&bCr#($thjjkYrH)0E`NPqt=W$+t@|%XdT8Kh^-dK*jDFG877rA(KMD$ImNE-8 zEO2<0SfZj`JKHB^?hA9vk(CkE?Ls6xN`_{a)1!qyMF4Dq7nj*f-I9w=UWTv;N-P>y zR?T%eejT8ZAL4a+#TZ8je{X5t2m%N=v?gaLe#gB1B zQs&}pkh0YmSE7pDT9-$NtC>OXeq4`a>BX+;cj@LF2thfe<~-p2_aCSF@5-0$GP{nd zD%G01YI}P5w%M&5;cq&$8*FqY?4J@~(ZuM|C8*$gh_uOIVKFmsbN+pfBFhv5ySYkN zsoeSa(D=TyQb(DzcyL(a7Y}?36`JWe)!rH~Y-3G<;h8%JJoI14aJfpYTpJ%ukbJlR z)N8XX4?kJ^o*-bC6XnRo`hmh7!61Rs8Fjr(DKCogXmaqM5Gxuzz)xomWSYO>Zhl*~ zpQ;AjE_PnEr=w5S0hn{CCLeShSx(ZZeI(7t=&~ZD~QLDRS zpS|Eig#r-DqtZ9JB^?=0T*&=|C^S%Luu1MUMYaH{VC-`Bsn7s`s5v-KpZwI^UjUxj zLt6UWktV`-HxSP`+vIlq+k&$cTKI-~STihWnt}cSW>yf9F+Sm(#lf2bE~5#p(8bLW+%=Aj$w znI>b4hSr-Qs(otbPud;R7?6uN7Fd6BZGTl{Sy~6aJhuS?;iWAWLO3@wf#EA3R*`{y zN5$VXuX*9nW#Z-&Fk?L(Vg(C7i^o3n{^y|ETR$^B_4O1PW)|>RYKQT@@l`}_ik*<%? zQyv#fF}r0(JJIZsn-sii*ym^0we1hsg8H8s=KF}Hs|j#ogtd&*p3M1~+Hsuu)!;z| zvDd_$(6i3$*~Q@u!Y6Q&0jL_*Tw&0lltqC1wnTah^8`T2d46c#Y+|AKRoWg(TXVct z{zRSt{w1Cr$t1zcW6XC*z|IBwLIklS0R>XC5Dcd7k=^AU&s2jp3_53vW!a6-WQQu7 z8uGE($+^q%d9W`M$=sM#n5Rhe#a0i$N40z3Q0(`48+e2DOo`ZjS6E41EkE}v4=KOE zpT&Ph2@k*6C8*wQ_mi*~`BOcEKGMte9gEbU32M)$45GW#xOM(^`TXjLuSasM`<^J3VV}O@Wd+{Ev}{0 z7Svd4x3Zt{9jqw&LC4z#CyQDF?Ta~?nNvSJ)R-Kzb!{*3Pb!^z!&DA>*e^$!~SZUj@mitF{ z@xRUKg|nCcCOzppP3LtL8VrSun+)O3#EmycUWcDq&FCU=8Q z$Zr5P+cX~%mJoLrP>gWrZ-g`t1?T4Ffk8tdIHHPDdo&b6_-VZjfnnTr_E;Zvhfmh6 zN>dztqB~AavSC~*%U_*ap>I(Ey+!tOKS8P2Sv5TQ`kom})Uv3;@AcAVpon1075ce5 zbRrjlQ<0qr(@WnWpLKh<=n`k~UJN9LmbSP*Vuuji9>VJ|Xuis15 zG4nE2paWO);J!g{=6AoLsI2;Bt^-;cBFh{diU1uB+3u?iD2cSX+H`Z{lm>uBWO%fd zJ%e9Jlb|eZrLQ_##t&uiW(~zAK3vmAtBiJbbq%hyRn^&C4GR&rs^Y}{vajJ8rJ%@;SKmOZDq60> zTqX_${8-MRDv9F`ci5NPnT9ymua=aJ#)`p%x}~zN$kSCR6y0|SQ4BC8#rISxnZyK> zsEAFiQyELTz~TaTgeuP~_~7JJofZyLjrTOxDd-mU3f=}BHb8W(v>PNt5d;{bWbl+` zZ-VTv3P`C`o=Y=`v~%it?on^rbLOx&TL`X##U5Nj#lq@2`%sP_w|6a5^OU{D>fmFd zIDRE`0@EI=NKxOTf3+#w<@ppoxrWZ}^o=B~)n5H)H&?CZuWz3YH-55;qzI<~b#K{L zu7eb^pQm4mK0-Qit6foW1yL2Xo#z(P2ngbyATN(`c_6sM2S^||KLvjS=tn3^#j6Gd zE=J8o_Gt`z519q98DvD~gyy%8!4J&nbj8L#4A^5*at;!YXQgW(C-w=!@ILTmJl%mD z?|bofMjB|{m+a@uxCqp;ubrKN8>AwiHi~BX6B%bz=#i!VG}He1%r6OPruf7l&h<59 ztgBza9fbe<=C;Z{@ei^)6PzmU(GO?;7}dOE#08ucdk8}i4Y^X&tk-+SwW^?- z!)v2;5Na2>0zg@541!r*MK)o%^*lWT9F>sxle*SR!e*8Wofz$g6P2LH3kE!%zQ5DV zPGiq2j2pZJiNOOs&P9)tNYddTNgfG=%> z*#(I!h7fj^GI+_Yv?v0_z7vu0om)J@0}W~JF?2?oTMjwg3qF^B*c#n00%|qHT9gdY z3d&IH z?<*#(^;RQ#EfcLaT%-~lszZ7sn>0qRuRju%(kjpFdS}1uEJ1=w{({6*?Y^lWbGPI* zxTQp?QTNFpAs2+`AhMDD2H5ODBYEb(q2DCw4z?IJ}L zDEnKiQWUc{I(DSqo&d&l#jk8aY!tixE9);K-g_ORE!H-?#vM$69U^Ze@vDpepjec6 zp+OYpTgOdriK~Dg8X0+2UspM)er4Rua)JRlR#OXkFkb=h2aB(b3_>%Fd8v?*B#nqz zk*~5>So3hZJ-EBERgp1h`NM}xJyHv_k9ODB*nBz@!ZPhmp=uHu@uh(!jyS-v6^Noik6*ZC7%<0v|9Tj^IN z3yiWA~dd_w@i@gI3ghq}z>G`{Q6M+(pIw_=WpK3c00b{1n968vCSxZdpzUNG5Aj(`K%(}y)8 zSlQ6Bhi~jj`mXq!DYq+ze_y8Md>$~&}Q`VN7fgjS%s87iq0MC}E4K;5g7_j}H zj8-e)C=T92pg~dsQUa>EB+kzfpzUOUZ2%dLqWif3WAa{`@v~5NY;|BX__#DUqvK^`rn=DbftQ=xkTP6<<>8n)Se-w!x{s z4s8h3_Ev%n)SZb4C9K{MsuqfAWbOh;4SW?oGokPwxaJrWpDtk%N&$Ea_iv3T(Kse5x`bl66#PP|XYC*WPyv~O6OEb+ zDwMmZpa@;cer)=ygHaYuQ1Rb@|1#}INYEo@2|IKcZqh{pU~;_DpBMYZlE3B#`j|5Uu3+IJZ~ z{bbLoH;rik^Lw-FKHvZ*^eIe9xbP>xi~fe{9lN+V;JnF6@xlk)t{kA?UOudSGM&A% zrfP;Z-!i%zN`NMBAs4{9N5eWCF~`rdgRz7nS{Q1tfc>|x%+76ww@l=t(XxMIXM5Yb z1JSJ=r3MIicnpvpMwB^hX>A6AXu*qVH?Xsz{G~pRC1G)z=QCB0WG$&Py>5e&PsK>= z=f&0yg0#XwAYJVDC0B9lif9?cq~vGA600Q1%<{u(Z>X1?WyZKv*ZDw+EB)4#N(J#k z$R{{Nor6;?RPxOqg))OmP@7SMmvfOr`(~i3im=D{^m(-vIbZuY?hKONQ?_T4o-^@( zBEE|pv3yxtz8UMP7tQYwCyS!>t!{5_D&AK?UMEYx2%9Un3lrcfC)Gdr{{C7{YW|@U zX@(WI9LfAG6#>iY>ow2%)?tdr)G-=*KzUK?I_r(+L0M(_AE;A>7iEOxznJo_O!@_) z@Psaf1!lU44J+39ZZ-%6#0SLdlbO$T&{gk2)xPVvkDdH9rePEsEne=1G5e7MIedY8 zWkiVaDKBgk%$Sb(UK204IHEn~j*M%3|0e6gCcIiAukj>C*>dH$6~UHmP#uv<4(DjjBK zzQH>U^phKFaFR}&LIMipaB&*axRTbXvZzb}=oQ5=sF2CNDMZ1p2PpwVCnXh6#Gc0l z&OSUZqVM6_>k;`BI+C)<(n{>Ek&xp9&?ao8w6*++N}(&T)C;)+UW4|!mXzuozHs0) zfJgo-77;l*nHBNqyCW=zZdQmN9!2zw#|DYlmsb0`uU-5C``;_~*rI(};@@8{5d9!~ zNhaPgVjv5w)2R#Hk20SN)l-pGNi*f}#lY~-3y{1^k~gKn#0n<{R2r7TAE5nXa19#y zkxMaONZx;)n9Y1UjDsNgK_^Uk;~Tt%y1vs^G_bV}_cr;4_^6!*#9*T`$*#n(w*61r>mLJ2l%RtME!dwMR@7fN zqZR)kh+t}Jl?l(NTW#|n0w|NL@zO-oqug_~cb$5bJ_}TH`T?Wd!`&=%D1X zV?cnMrbJ^!R`8oubKM1Yy!hvloT1%K0HUFz2VLfIYeVxu~8R^lD+rgtR&;HCa^3hD*E^DCfrSc5{pMeZ%#MfR@!_kTrNo zthrd!)h>{AH+>d9d=1#SlqX7C-pc^i(Jqk5!n~@8`<6%-cB8u~57=Y#`v8@Ghpk=< z#VvG-i=E=G${cQ43?~SYB8n8JSH_3Gd)Eq{n-lB#gD>Y2ub^h=l71ZauKUA#9~VwEG}$Qkkf&5-$?kc`t=MU&C zgfH<{EUf2_&N?i4_S7a@O0eZ)$}pZEuLtl-sU-FR#USkjaHFZU1deOnUSW`8rrMJw zcrEhr7!Ub5T%7|eUzohRe?U@TB$@o)^Q+YIXI?!@eGS`}deHGnzgxf?k64l2x4zZr zm2!m!7}!qQoijUomH6HP{JGWQs9+42X`FU%gy>7bgJNNyuxy`d3~x5W zTM(Gc$zHeIpQ0Sk?o%wlSD}-4Fh_8{*0qNN4` z$-|P#dv@I%Ans^dcP>mQYq-VzJUPR#v|s8Zy;`T0hcwgrd@_P`6Z*q>OlLR(&#u@S zvJ;zaw5N?NM$Ydiep=X*^El7_t*R+dgi0_yDV~_9N{5N=K(Ops?_}W!VN&H0X^_~H zf^$;LP2X2O!oi#(ak1&YmR2Ki2(p^wYObQ~OQ#uV*nf@{4KNXnfi^%4Vy0vK43w}o zDB!c@!BlAZ!HQV<+oj66}-xYTF6?-B=) zE{Ed%r_wo&ZbC_w@epilzkewKwUq?*$&TIVlBg&%@xwpdftNK2)SxvMU1*J?S}k16 zIM1?%R8mhnJrW7Yn}&-mX*Kz02ZOu+6HiCou~NxeC{N z7NLdDmsGe~BZ->>@kq(vAVgN(swi3UqQx|!V9lqVx)1=!jX=HBGaJZ`3>FOEuC=n; zlDj}i7C9qbYh~<3e`jKd=Gv#{31`kiOF;dpMcQk|+4^6a4F;qb4SiB}sRx*5;?uPa zREqY!qra;!_rp^>;_7n0(DGTpeIBF&q!VV&u(v16cv;8R>(^toF8Z_9wT}2E8P6h4Dheg72y7JkR>H~u)fEjs}2XY)hb zqrioe#+U5VQu;J;zH6df+MJ=n(u$H!VRta~K+luLq!z_6!nk^p*5-Gwv0N9EdJ`Qh z>c<@y{VU?8A&Yyvl`k(}qKw}@Fu_$zdG1U5u26KO)Q{I1NA*4LLcbimkN#Rdpg@LJ zI06T8&2q%fRus1=d9h&+Lz;(E&KfaCw`id2canal_nGcD-7=m^CynY>an0;TG*MAu z**Sfd&-6z(7#mJ%E1bK;i)q|5c?RhYdvEF`#r~w20b~-Ir#tVX{N1!Sl(6|DK)kj=mH87u*tS zH$GPG;CmJ}9f?{8@dIz@Q#Ki}4Z<)#B11BqO!?2L4mt26(jLt=x_h-@7M)T2!d;Ap zavfo1d7pl?zF2N>hRf#tqu8Iwil4d}NMxxPPE*NYZ4nmrcKMvw7D^c$v9n}sYU)7M zd3D7YtB-1=LAel+0wg$$IS(9jpj(UtpkdcuV@m~}1&<|3rWOY{+0#mA*P}9(#c`&e zUPf>;JNjyb9+wv5nUv+n!dU~wwpTXJqx-|5udBWhYpsFbAbvmk0WrvDK{2v61U_6s zl0_=Gtfr;rEG4`S`)MNYYf;GaIe)YR%`RjitRcB*11F%oKqKN88q|r^g&fW@kt&2Q zyW7!X%icR-?1&{gN%jMqwy2~GqVn+mEZsEr%^rzCqeC`u!MdSK1t%rI~%lWg3D1oqhppLuy42pQD`bJ2Bv^-TS z`x4VSafEieLlbx4nD`3gMTIp=-LOI$`;4P7%n*KBxZc2SU%XiH+X1S4<4-g1K6ie^ zaD|}7J(WZAM?bkvs~T<2dX7cLKn+qc(#jc#$FU2G(l324bj3}Pk)eg1fv}Gq-dBfE z6K>^o4k0jFOK;E>sT(;-ss#5#(uoFOrI(jg$CZI>{y8A!+TagBF!zqGF4qX<0}T@; zsL?ZT2cC{(3DPvZ9qR|tyCVmtc|KDQ6-ICrzz6=1r|#5$}fqX z_-RYfxu;iV8O2GW+jboNb(ymm zpBR_ZUpaToY&h5rf2#sHXx6HCnR6t^k$bO856uD*8ZZ8IKEfJP>1X-$sQVeJ>l%`| zJKrawQhI{STOOVr%1}XkE;J(t8|k992+^Y}s*d+&{-6T{7Z%iXxZVSIt<4l}lOC0> zox$?X)zVcnB2eo49ypEz6qO|ZQiQX)> z_hb^$N!LZ;&FMr^BR?+tXmB(B$=tDWQ69b6&VLzvPfOdzNue=gz_^cRX8;#X#n~bf z{nyvZhi5&eJcv`<2jv%Y^d0aB)fOBeu1|xSshsnP>;pz1rvwXFqrs-dm$$nQc3EI5 zWxs2RTxo0fbW13?2>!!nZo*hw@4CK2XoTJM*F%QFw_xt4X5n^7WP-C+v=iKDuCzlaFy zcD0gOsfg_io9X;QThax#ARuJ@B_Y}L>P5f^RlxK`$rWUDD@vn}vX z>W$T)@qbSrMRG~}wdkSpNI{x@ki>gRE?{atW90rW(Pw5fxXjHn*SIpt7&&h3*YRjg zYGk8K*SF)b!7dzaGTY8@Tctjab=8dH=lE!m6Jmv8-FV~&>ymPqa69<8vn+uRGaJaj@s)Lc_52f zt-ek(2lK{0!(R)6;Ny7=z}l~SfGHY;(*wL&oJuX=%&Cj6;_>Nol+<}Ji>6q!YLw~w z#p1J9bJets;PxHPRD788j< zpTfKRsus!bw^85Ns^84vDaKZ(4!3{WO_l9SM3eL*9;0zU-`lsn&-Z=$H}aguNbKmdEhS0%!-W`?Dmnvz`OmMuvorNI~*2<@G z#X9ZdS~9S)@l4tX(EG7Lkj~s>nr)sAna2=G=eI*MFY*GMpJcMj0$nmWnrS2g_>lHR z0E4-ruhHHaD4ioq9HX1IS6h~Of=#dF)wTrGO5iDjKYK)&Z%5&DCeZvcJCk8RLPE_O z7*jZ#MK51{k&aC}rS1|_#i!Sb`;z8hmeuIz?I9?T=?LQQ`pmXgkkWdOZ1{goj(DMt>?KIfZ=B_gSRxcg4`mmz4I!Gbw$)# zh70#y*U$Grlr(V(p%YA3ERC>A1eYN>ID!E$GtoQAC@xrTD|kt#9iG~LNtHW!8isX3 zH~G)f03w=P{`Ju+7qNd!MCjy2DyHCBs55TB=>fIx*MnK@dKft>Y#uWcQ(XM%ZE$FZhFG?e+vAm>>o8_wBvv4nv?mq{Ri zyY3#~RSY{#go;9;?dn=RA#m>-bD$rnYcdS|0p`H-7Ks+^xIWYh0%SyrD^JzN${3$m zHK3TnRkJBU*>)JMUN6eJz0)-V(~YWiupHhN&uzJ7=ET4`1c35}Vjyw94SQ27iW$3| zUqTQp)2!}s@g4srsF1Ovrv=8As))ft)T0iwnv+;si&Cbm*JJVzj5(y!R%#Yhdi*u- zlX{tz`cMe90lgM#GsQ(hdoyNaVuIJhe`{j-{XDJ5;z{tqf>emz^w@A!jPKu^JQ^`} zOSnsSil=vp(5wu`2OQZ2@=kR0hjcy0O1D1X>&)O)nM*9eHK5@ZYytwkD43#r-{WE3 z+85&&(PFPyr^b1tixf5mmg%0%2lc!g{sFs>hRC0t6{heVl0V_ysrKeJaun5l#?!6t zOArgY8B*5p*(>|mMhtT+l{(}j@e}9v5sQO-s zx%lHU$UdhDk=WS&%Qi{w;#O&1=z_>fl88YM!A1592z`pOlARBitaUV0<2k6ivhai< z?AoglvC-VEg<|Ti{rY_e)zu<1dtOgLg9Un?zQW6y^A+3zO-jb(NngmSpPa&7(_lT) zz3*8Jg_25$fT>a0m*IBbF#2#SA??huo|N|0HB-H3A@*-X#RQLUfQT%=gRO}?44`>!%y#jVNJmA1jOE#wb0CB- z_yv<)RJ|zSu|;Gpz~hKOFT5Y)aPy=3}namx@IzkO-;)`dYFYJ@qVxq6&;mxwcPdWVLfs{tFtS)157Tb0hzmsU^%L#Dz zi8#$(qq{bDaaf3-YZbaX?YvB4sswc;bNyucscWf&D!95Ek$U+@3f`xt9nwpF?GGuamtfxmKadp>kP| z{{9T7gE`#sVuB3B{OKsVk|KL9@H^2flcWtCK5SqF}P;{6>I&}DWrHf#-7^zP#5 zl+!?nxD{xN_?cAD?-knAb&u{aeS?DAJwOuOv3qQnT+7!?v@oNsPBugu+KM%`pB1nz z!W2ev+pN_YZF#DV>^87viH4C-*iE(8Xhc2BBvQme3|Ge=F|L9C=mh##H|ghzlz*~}BE z!w7I!;p35~IwJm#y#uaUM#-)|A;?9|<>wH&WrcSn$f#svli?-ZR6{^6m=+Ye?7IKd zV%wX=7oL`^|Am;GgTyqz>2U~XEA%Ip$Z#zyp=>0bW3W=h7}*Bj4V_1Mj+l3-e-Yw3 zd-1lT7#N7QPBN&C06!Nq?C)DD*uW*1571ur<^s=M(;J;ZeM0W4NMTNj$Sv@p7@(S} zDkBmvS-v)l+b?VVIPfC!r^`Z2S%FdryBvE17(CE%y&$k`c{8Pm_-Jr^f9MA{nsCAi z&lOln(U~rZgIR0D16Phot7ix2xPQ|PzIgKdl#r?m1l2IPUT~YAiLs-)Mb6A5mXBND zU-8Y^O8d;Jba@m)o>gtv>IAh>`1V9xI|Zb%4d6ZM`(*DqNE4&5Jg4-YTNJcvwc2zU zpUb&f}kKazDsL zPA0znbI6vg(J|1@u+e=+jjY(jgSmeW4cz(@trabeay*@h2{ydQ8BPsva=?PdDCE!l z@sxU)-rKBdQcvU-iw^!N&LOWq=}1YXN@5lYVv3tch#8U<$+Zcq86!f4w8vt9x0UQ}jy$i~qEznjbkdeCdqzvj(k3ss^n?;tREGy5dk9VUF%JEu zw21K8>R<9;`uAR+(E}$-3z-CKISY^4n4{7+_;i_mgr_$Pb(;s{cZfWfB93!_l`aiL zBQOG_1zqce({ByGcGL+?jfFi+Er8m{CbnM%*D`rW)qq8Ok0OInou3&^?HAb*rqU|A!$(ePT-$@|e6M*Ys2Y&t_@ z9EdaFrZLV{fxeul3rbT#-#9D+wlD@Zyj=u-W3yQyu`KJ$?_Vhy&&c0Y=i(=lm*XwK z&n)lZ+n_UU2O_V8pe!jPEf3vC7+lWAwUePmli>t~w)F1UDTB(VgH$bOg(0or0b?dR zY{gfJ|23KN7$)c*TN?0zkyev>x8nRVbkvZD%90}sAK7Z|SxF-*DQ$N0dz%|90~rb(s++7$rnFt0z|AZM-lZ9;ukQo5-zd6*;q zx8R3UB&*EBrrO@@1HrqU!#u*fH-4mo0S#WC#Wd@$r};So}X_nRE0F|89*i0-HUk`2r93M8}Ei~B7JvmT8k-Z zj1htGQ}AYM#nFDczo-vJeT=P#I9;o>HAj2F`%fng>;w)KyP;+$3=*Y2%Qu_+q&fW%jOH`&BCnQrcs-=jUFK^q|OYS z{=d~j>{5N!9&xWaI~I}LvM=Qf=I%EsK2sbfA=eaiWW~m!CvpClX@T2`q=J^{o*Q=v z4xXFC9+1zK80Tjd*oZ?+4)&!Vfmc5be8`E1Wqr>*A1;l<1KWI>H+X@+ZNiqu&f60{ zkpqM?9guty`-6anD?4cj;iUsCx7rG>lN>}6N8J297^(m|q*(6d=Fq@v1pT3K7VwE3FcVU~`C%%obPxC%zz59Ue%&r89ZFSyopNqGKL2+1X=+{796NFY( zlrA{AvZs^SHE_hSC)1%oCC5|8V-&>;_@jR@1?lxoE!g2t4b=8(`F*EjemX?W6uE}O zJ7^A`wvkx`Y{*$$vW<|68*cH{lk^-_TbUiBOF7$~x!OZl4uYW}%arPqC^THz)?GL-}90Z7U8e)th-R@bS6wR1hfT;>!&G-*8QcO)a-wtF3t;d?mCwK5XR3`@UyX5yIMpEI(u6<{agAPQcVlpspF(cCQ@)>XO_xoZ?2 zmrkkd4`sqlbvV^c4C%U7HC{N%q(LTg_ zgu`*&mGDdWcpBoX-YmRgdG|FhiC!_ND=eVmBDFoC=2x2MS?|Qoq;4(NtMdzoPrbRw zE2Wp4+65&TjiPq)oM2Nw#cG&MgKQhtaFnrAGEjI>sSF@J4!$Wp!*^^VzGbaoHOZm@ zBqDI#TT+Q`tSC>5nb$N0-;9N3%M39##DSP=E1f&}b9D28-^jx9U53zDF~?svaX587 zoCZP)wIPnt6roRV+JC-RZIn`Ktng5s|7e?n!9j3#%5o+S=uBMuWb6_<(1zdp7gw@d z_zfSXj8*2sx62c%5xyNd!AA#t3~2a0vui^F>1#;fQD4bxjkr)mjj4AB%i4y*_q}{^ z8gzEcu3itU$kDW%XGQNS0otp8;V@1Te32sPiEXmFEDq#Toc$tNg}c$n{5%JD1IEK* z_W-*Xpx+c(h`f16)HpIhx4idpi~SCDXwtj06yAYu16G!7scx$K!zS3F)S?`#U9dN6 z`_$%q+I35qt)-cNTdi2s{??HIB4Wq!Y*K+RTYYda<4HTe=-xittjxkZ%yOHa2jyU{ zTK{?3>B__-KcoWOgSb%}x@HDamezvrkYCkGEzUM+(aA?6sZV(fVD!ns6ce#TXDC8{ zJ6+G6W7=;$s$q@HvMK;BeasTJs*{JBxt}Vb(9eMdhovJo4>G zMQ+uc)(;zjz=UGA_ntVW1}rPiZ)k!~w$$QPNg+73cZkRpF#~%+MzwIy0yB#6H*NkAf&m2x&Zr?EY^>!jOY?YLi<$b&aLqzXS%$W(#m|6Q|#@6dBQh01uE(m18CgAQDtZ!FoK_umvoV;aFhZnyQ~y zsn%4bvx-*uSw{W)%O9sGM)4{ok{31=9Y;+TIo^HKcOr%pW1;NY0l~%UhhsD?_yNJu|7K5eUq3MgQq=>={*I9S-Y9 z!H&K&7UkVL$!-t%1j&_GaVG(?_?= zG7dg&r*(nu!)-wetq~JseIJ+Di&GW^$;jmIwC%ISUIk58#R$;h9a9fOae>riaXd^s zn(#(}L$9W;u?o$YYjUM$wyRS{s&JKpT3_=Y(MP2F5waUdNFYa`ReGMuD)M~(*<9hN zzC}kj2sAqLZ74aXH>X!>U1?r1ejXS0;%$0Y*yyThcL-;Cw_&Nok!` z_sTMJ#+09pNU<;bpYdS;OMx(rtp!*Viz=zj_6f*0@LD)pH{Gz2&W+>7h~lCl|1JJE zyE-|q0&nFWUVPNu1XY4vDyfmNUFZ@DQI5vGp%NvY@+PyP;0`0DDG!ZMVXa@M6LhOh zuytumZtF+_x28^@qUEQ$8&a&#rvSJODAq@)x5Etsi_KHsrk5k;Ft_19qz^BF@l=pD z-F41d4@>o@#R)F`!DCOwh^3J<6cvOxQJbt-^*j7{uo=imuuWG6M?(jw;Uaklg&)SV?7;&8P;!3J9{koQrG0+t z?Fu}h`7F$NrE4OSp~nb#6bvvc#jgof0fvHYEpj%RUvu?pSdNovM8eh-f|nBMKmOSdK3GwtL< zu_5%&g~}d_Cd}O+3u4z3I~LR~K1Zx;bL&SVuHFnz+LF|UnHFz2a`EE8{nC&*q89%F zp*h6d>4)zzVM^yJ+x&uO5ctppMwGbu$R*`qrCnUcP$U zSIWqIe$?oT47q;C1!|=pX~V<{o~UEX`}D+J9ZGHiY}%bs>h)>Ajh;QM6^Ua@1y<5A z+FR2#k@&&N9XpS{)s6+@EO-~}++}AOFqca4$RYetWfIXJuEg;Ohf<8EL^l=B&f4)q zkBaojH?(_np=B??%_rfdm5_1Kj@qz-X!jJK;Yw*1c)cON9wI$ITHo|t9wdaT{cNo+ zW5TE??>Q#T4a0_?j+aZ}CFnJV50I3(323f;vSaH#BFa}Ov|(?%VA1hRfkIa^Wyec= zJ{F~5-JQokgwMtXs%`VRUo#O*RUmvKDKm0LSx z&WFA(+3{{d=fg$M3p^>Ds+J|uP7}4SEB!u56NI>y6ea8NqGXeI6ob*=YFinoi_KIO z-w3FydzLQ~-uG{8)3bDl_C$&?+uRTw5p?pjI^W`j8ov_5}!gbV_zOdQi9G0D)Gh3K^VIic2bNbQ?vCQy@QgH2EC zA6?yu^TUL~2-QL|?%sXNO@7B#{k|XcqQ@8uS9;UOT8~D+4Uc|8;ZMmQ^{V7&2C(Zc z$x<-gPj1egC<;Gs-a18;ZOBWuBx{7h37{_gBLzBfTsoS=y|`V6m|R34i#1|BAB(D@ zEArA2?1=!>7-MF2NfnACw}?=t*w0M^&oSd?)4@Dn5PD`tF$;oP&wvrjJ@RlaO%@V- zTj7Q^pyaKKuY&4cYXeWsqyQQ;lRl|(YI>K9f^6v>R1mRpu|hu@j8M`Mh3ech1-JAu zJ5Kw8`Uo8>o~LF^G~y!0QF0$9uMinh?Hsey8M8eW2wckoovde)wULjpka2F z%(xjHg)XVTd{t+vna8x18oaE}Qx~{*0p<{q49V2`7wSx^5l61Y=MNj~7`*!4kycBe z&T~LYzy>r$>6r(_2h@_En_(`Yv73piy#HV@ND(a))tLFnY1*R8^c@ z1TnDKHzDJ6tfzLW@ah6LOy_Pq8}iw8ltyE{23l5=`zc7#Y4g_k!c5&Atsod_!1Il? zdaexkX~>tXj}`V^7oGUQ>819e1v$i`o$^WrEC!EI6Wz|VQgta}wD*CjS7(I?Ikm?# zm;kxA=ax>7R60UwrPFRe0nSUE9Va!X%T_?YFt^wVxba)kKj8zB%`eSGxo>Mq1|#Y| zzJRFi4Xvtu3hj=g?2#eBk|fme2ScMCRx#g>?JD-^K{vZ zqLjx?yrr3Yv(TKrq>}IawH8oFG$dVfQ?)!*gc3HXQ!>`LGO@MrWr0{HMkPd?Am)&< z?guZNk4WDEy73(N0`u^v#N&(7Y69AjppI*XQaFRRxuXhXYL{4WShjQp zIGc8={bfPsR~#Fp)dSi<0D^|DY?(oS3x;;A8~!$eR8y}q%Nd9rjpjl+?5Ek+o}{A; z90>H>r>-a5yW;6r`%XwSL`c8tmNBia-F_d0u^r}YWMF*QI{R ze;A*-m@D1RK%?FcgMQMzlvG6pkbAd>|-4% z8hr{R&3G4q8DHV72b@h*0Rjt};DzTD@9QH#+n-8M!MA<|XYSlTKNk7*A-UbSL2O%X z=@eW1!Kb^XaOXhv^8cDD^XG{GmlvJ+NY{Q6M!1`YU??as^@eQF;o{2Dolp{beU#G_ z^Wn+eL!}~3vke`ecoaZ8e4Gq%z7N*p4JAa{9XCmdt_R-w3}RIa2Hv?@8#PH5a%u7s zzdHj>sCq1zF^w|7+8}2vKQ|uOo9Ft3XYSp^r9cPZw#R${4OM+9o9&&U7ua)8n{5%) zZ~#>}$oUh!BE2-4_9Ja;&?hVmMxCHz27#BjgW8M zm@K<}8E=r78&_gweUj&v0-GCW?a|G2^k-g3LAq)#t6ShQdMy%35oOE_Pk(~M6rBr1 z!MtbOe&mF-mxDKH#^COPM~Cp{MX+@<5eJ1P&eag_OqVM5NSt$1F6VNfn$Vser}OwS zY`8G8V|%Xj078AdF7xI)r#<^S*edSehQ`V26+W%Q49A0D^p5>GGKZq|bdY%rgTk@z zrF@`qvzzrgAp{|E7e@xlNT?7!$Ap53+aa|1^;+4Y?hoGfy|1E*(A2Sz+}^xf=?4M!A!f&GY{E|w z9zx%nK%#&SA`u@bl?TJH$Cab^yxyvy1dN}-UcRujUh$lVv_~=CobXs4KUE5?4g1sb z;17)sBK?qlqnIM$2hN5uN>TE`3TKnBv%^LjAd^g@j7*dKjyy46{=~BwE@wKnkNapB z|3hOsl_VK^BGu;`M6twq2y5?AFyB`i^=!1K5q)V3q1vSerV5@lRO8uJ(-JCTDracg z`#h+(8GFuc@9+05VK{1W&AYQ%&-R541xv~%oM3(&Zjn8h^v|aNl(M z>%lTLT~;A`M4t1jhiRBe^gDv_an1+eJs}|5jl3XXYPuRKW zMcL;gkf;y(-y}R3&a}(hVZte2f0Afpzgu_C0sgN-{WG-#{mhe?E2(5o$<5x$L>t_; zhjt31cLAmE+pdfpMhTcp)Yym~P;=H*_&lY0u6BHIFB4|tHR6#<@3Hs?wA*nZ7Y*C# z_|F$$q~N~rU0Q?|PSB-FzLTxyrFUXEjYwOvKVt48X6aRF3FBJdEzg~A>DErsvZPIj z3QL^``VEvH`y1qYJ9ug4-Ed{i4h2&WyQa1?4aeX10T2f4eVVV>B|qYF^}K~xm4)aLTr)3b2u=oT{`0%EXq>}#2!H2qtr{SQlO=r`FsjUb9_q0vY2Lys z0s8DzFZl%PO9>A9ale;S<*UU9u+()t9iZvJi#9nXT&f@G4nk?OV{C zkqTT?k$-dr>zH`@<3w+`9)QHdK`&iS8-_HWZH}dKl!q*(>C1c~s#H~70{SYDC@K_( zEVZ6kq<`9LsU<)+8 zQ7Di^tHE@s|I#_mlxd1wPnzA@%vJw)XP?A%q&Cg~LE z8h-HnI3C~JQq5ho$;RvNV5Sc}-yUF>1>bD3YM8y| zJlK3+x8D6QK}9(>0ra0L%+b!(guZA4aTj$22p}v^O6|9WtM>E53H%Q7CliK zK7xaK-fw!mSgRfNc-yjxqXZ5Sby+cpd0u~Z<*u9~D1$>Xcrg}IY8R!VFfJkF^ci;8 z#lM|HMwuqaW>f$OGRGEad`99>L{=G-7bq0HD%ZpQI^Pb+Q|rN0ql=7t1HQpmyq#0x>#h(T*{F>t>ilPf!!kW#(-_Twk;9(SfOj^@$@2|(OlFl?q8Uh%od{D z<{1f(MlNU$H-dYr43r5QOP!KvAWh^#4h zk3`OWO{~TY1*oFW7>T^m_)-YXpGe;{*6`jG7unS!;j8;utzt`yYc4MD{58x7OV6}* zLWYI@n~c0wNQE|&1DLa-)1JyS)|HQfcQ<4N8AP;{g6PxJ?)5kN^HvVd*Phx)vtIBj z0WQRzw)r~FJNxfC5y8m;^CyjmOqbW!>ur3$0yW6{oj?B;hT?-UKLf$$z1Nf#8VMo6 zTET;W!2?X8qA>ADG@Q&kJ{!Kz*z+13fLOZBfrf5*PJeJl!EbByJo8I55bX9m?dD(T z$hr_}FNv0C7&5?zMA|-TE`gBA^1W{cN9Sn$_>pyiN13LKTc8TbR=--tJD7@u=`ud} zpvfkuxEo{QxMCuP%P$7SANUMTTPu}-RI7*kT-UDo*FR?ll{4Az>W)3E#oo_hd<4Fg zLfbb7062&UGwa8DPu9DOB7OuFq1O#yw#4`8WH5 zEw)yYQ>%E_ExFkF*O&ziL2d_`N#w&qRD-u4ZuYOCY`Oi-DpN}}nKg2+ms4xR?n!jO zXXS5SJLIq2TyrH?W=c~VT~vrF9Qr~XSGsY3sY6i?>=U*Xe~OH~V`9C21;CwgI$J4G zX~BcoGFb9gd_ZBQIo)z&5S?1OP?(%?>6p@03?Z3K^AnbSWCe1XeujW+ue_#T(meQR zfIy+*$Gm&~2J#_*Aq?P|TFA6h`(pTmrmme&?6J5yZzpdA5|^~-skZ7~?BizZgGRam z4UDt(WEYWp?#$Aqt)P;F!u^eOe>?|rPPc6xa`J0PMk{J7D;dp(`a`a2Dm>^`9o~`x z6TmXchL~gL8z7&fUQ! zV4z-J%fbIOp?K^~pkC@p;Vq)S`|X`NPA%Hw4-?v(FYwnK(fMzn4@;N2PoiX`m7X8Z z5H>;+|Ja;h`{cx4l(0%pc0u_T8@OLNKLQugkl}0?Tg&`qeBS^@YG1mZ!_T0>C9P*2 zc&SF2Kaq?|9*{G(Mz$=(=;tHO9Min-&c-Z^iBok}onsaG2B|wzl72yHgukOv1WwJZ zyWk#fAbgcQNuTvQ4MTBqG^@eI9hMm<^{i0(0)$L5g0MamKpRoT)ZA1ytEpPBe~%s+ zEK0rE;d@xJs{QR2)*t?!<^#$qD%iQ7ZYX(619CB%K;Q(}W9|sb8D;TZ8Q^^A@A1qO zB2hq?qtTPJ1p;KC{y~`H<?Zb+_8;lvNb`Y-pLbv5z48%P2Nqg7Ls5NxV2FJ}Gva3sGJHYp_9f5V z(j*&0!!f0kmnkUX?sKqZRoxD!bk!()pfoRw0$vdmDcb5IT)3r6n^+33qtA2y_yQ)$ zU*@Cb#@Z(TW<0|~8ErW|EWolb7;Zd+O|^}&wZuoc!$x(btxzAhvXML&onv}EfKlO-X33`jp$>TICF*CiKj#Lr~XVa zAgw&<$9Sq5f~w6muaUY}TJSpcV_zL2FP&!jm6Y;D^oYcqw0XCEh>Q-X#AV()h7gJV z)d9Dl(TYpyU)7rdN|@G$W6JtXFKp&r00Z9yP~@bAazOlItSnXuHNX9mQc#Io@(~4si|&N89dMxg zs)s^*ee!bIQjf|d38L%_{y;MjYD1>xQyEzfth$W+kmD?79N0ox$#nMa#0{>>NO2wM<*Ha#=Gt1&V{{*qj(v4tyzgg8#5PAN9cYI4}v zBkaAjseV=Ewsh(X-NWf!39-&_fF$v-vsZ!Safws;fFlVMZBhJ(Zyhj`B}c>rbg%Q#%d&8MWU4nm1#NvR35Gnd}AxGN}RRp3Wpt@bC**Z zAiWB~;tmX&ul&o=$ER_LFG@Z^x7dThE2;!p--ki;PZ zoeVy2m9H8VXUvWX{gWmhD*O?z%T1A2Bs>*HFmQi^Z61y0NPHYRvY&dc0c0DKEIacT z|KN;6**mNiSif}xBw@c4zZ$o&MH)_IYhtpy0gi$jjG5HOz<+IcsyaNTPvu1!$C5Ke z^McfL`ri$(sRUSPEIoBco>maNhrSi1`88B9p`JNwr#diM6LJ2L)k_4e{@f{>yexzx zDUT(#64tQ;Kw(PipEVLSB2xDN}THXs(ez0YM0BgH^c_XIZpqp;hE0n&^U#;^= zvtHsB?(h)rAsxgMGEltDRRKn1!L77bznv`F2?Z<^FZfDk+u|0^>Gbuz;;8CrR8pU} z`kuPLJf7T@?N9N)aLYx;#>uzt#JMXm+KavueI(zkYMEfb6R4rCx_+3hx)a5EGThC= zDBx+HdGF2Y^EvPOin37Cqk@8c zetJ`13{2!DU+3#4$}7YgAcY?d%$J=>9ON^40#}%~z;LZCbB*tBCCPKkB^*6m{%{Vr zzxbjJTAXw_Gc+Ikhe0IuDNrR8N(|wvS0Zx$3-FLddSLxW?i_pg9=gr!4a6Xj<6Blr zaU{Au-EKV(ezgC3L=PK=FO7k{KKbAsUH2r%A@xjaqSOQzdoBic7*HkKiLZdcgx1+{ zYdYWh(f@nRZp~#B$l=X9mjyW%sWDMETWHejb`n919TWzAgo$0Zj|4XbxplC@ghm$6k$^ zMFs$E$L*g!>4~GP>9vT+Ozgy_dT-9bddIPpZ&Ei>16?`%p1ySj1;8dOtmK&@IT)s& zf(l#ccO%f;!2tz7mz&|=CRxu_Vs4)S-C*$iL1ewpO0<`0XxR$JI6Z5r@h#OWuQIG( z$jlYhYNoTX$ew_Gc6-Zr+Y2wM@Iu8JfI6Z|k4y9Z>X3JxKcEU^X>GtK{>3bLgZixg z4DgxuovPo;H`iRksPLajm6ofrn3DA5$Bwz}sbchAu%Ecp-lv{EBD`wbKVFN%B6-lx zT+-$>N5yZ*GCL9PBF@cY20L=)YB)icAQA3!Jy`;)qB5bgiEcd=DIPi4%;O~P_d7}X z?JBQes6ye=#y!4T_6CY@^@PleT~b0s@jf%cx#<1t(!_O;*_Gn`2u6-2V9@-?%G@q6 zTty!m(nZrJbU3SnErAoR_^*7F3z#7A#kLFJXwf;tgjhFkT z_NIGb>mf8y_|^%=e*G9j4Fy+BHJ2^MKR`ai1mC&W9F~0HA?-R_@TJeCc^P#fbI3R1pA{;y zu$2(l$tvZp)T=ML43`}KizXSoY0h07mnSOc9Y3p;$914l97Sh_2_&?Ri3qKKU$c7ujV zZat!TJ4OTA9od7i4=08fXVdWA`g8`Cq~;kgW-c_}=P)d-h9mP-{7A|p;3ca9nDXII z+`KDq73Hxp=p@-#iCf8J9%6dm%+dnc@q@drY!m>0EkxB zFK>$ZWlit%^JqwjyVts^cNJ(X<1eN(OoauFhzjzfXQ@bIB~%qJUstn6J^Q>}rdeFa z;Y92C99W%uf8!ix%+tdu58dW90Gt7?oehcwi8S{hfMZoqP=y1o4*ON7e<&njxBn*@v_#PMLpBek~XZAB8yvpP9;&7{H{2TH6A&0RoF}8Ij4T9)!Uu#X;7-tNh-iSAPak&TWXuseq+rl<| zn|y5b;)7-nnA_{J1*-7dOo-^*4II3sxcG`cIT6+@?-(O;k4ra-Y8j0!2tV5h4)jrT zMMtd3JVJT!q6WUTQR5|ke8ar~b(y5^AlJ7<1KWrDCe%uL3<&83MMC-Ae4y$fqz&LK zU1imaTCTKgGt{oqj~2xy2*p3NL#3o4Y77)5#Y3YMKxpZ?TyiBZin_ibjdmjo<-oWI z%T&1&@`v{yS3_*CbMrn^DjW|#?xCv00NTvgzEOo#E0TCAT5}t~EJWhx2g&8WNXnL7 zLrd<J$$at?uzI19VVP?W9)IiJ2Q!%`cvngoRbXO$@c9(SI8@Pz{z8n z-GcOITyI`Hr`g2w=GtOfh#u)e>R^wsHO^Y(7rwMC>8mwXGyfPQNwx%pLcv?9XF{i< ziy*=iGr~6<@)fej}A)hOX9NZM92z5!^(jf(|eHpS;J z)~bPeJBGHgnk0m5O>nP5^%vK_1V1&xiBfQ-oHt)ZvRL%ov!7zJ04LVFU=7@%Y<+jM zndCkfJ8`_$c^M9|$$kLI13aocZL)N}eBBZM#FzIZNGuWH!$`k7D;s*zDm&^B&UAp0UfFrUKvoT?o^@p+w zk4fVSUfwT1mg=~*GQ6UQ!hXQSkp5aQVU4#!97obfg0)Q-O2x74gv*V}n zQBsZ>TpsU?c>M8d19p3H=NF-Xe!P&gW5jlXdQA;{4zhLO+&+Txp@av zOwveJHfBn5k7VCJ@lnXu9nBZRpLd^27MG6j5Asz~OjKO)%Z0}91FgtQDr(}GE zyUnfzvsO{~tp(S)4e9>LQB|5uyxIwE0^h|3^t1*29#|DFPwJhQM7RB7VCM4YkpQpi zY?tDFL~3&R%;SWVk!+l#1>YAPlg$Vpu{9weMOBm)El%V5TL5V)uJU1QM4f*qG z1(8p_i?`6F|4B|tF)gsS`M^?JYaw^OFBordd)tW}iv(258 zquq%^vz<){OaVfvmiN+~LKo^Bz-{V_VNwUI%C!Sr4Rv@*_F(oN>7j+UME>$x9t%C2 zk$OM16}EJ40dzJ*NF$M;>Myh+VNHfIGO(zp8`G|Cqvv`N6p(EYUX(qG&mM~SY%;C7 zMxm5{sY-B21IE7lEdCj5xz(Prd#mI${&(?OUXn>AM>B@}jT}Ni*HqMzkBwcF5(Spw zih1PlQyh)8I}sN6iv88+k{4&O;PLinH5&7ule?f%_hif){wm_wqp?2E7khPrrbD76 z&AdMt%`Fsli?Hm=P(y97BUDAa!^`G3R1~POGcl| z*@P}<(AtYmE~7qx@WvXc77W%XF-NMn9fH37?lsX=Qo2mYha0{ruEmAF%w3Y;{hA9- zhAT12G6)Zi@d7N(bQ4=1@ZL4#O6k&w*K{JS_-BVC=nA@;gjc+MQ4ddP>9myhK_88# zV}TAQG|_pmS<|5Rht9}e4PaYKP%1v_8CRN*VKDOCIaf?bXMuF#=5_{HO-f=CFWE1%}y*^&a=y4Kd|pv=8ODlhljb>l0DxCQv32 z2@#yKKkWFJg8l=TgklY-8)DtvJ5_sj=hMYBf?oC$Jys){TXN4rj~8VgZxn0pwHV7? zs<1V7!&OUhy?R7w;t!FY&kptV` zcu(mZ?X!QU*XW!79v2ZvD|5q5&+-U_b7lZ?K#jjOvX=m09?ekdzmRqs1-E+xi$7tI zyqx@QM|14;LGpl07oC90!Ru4d&%rt!Z|E8%BMvRudYZE>cS?zMY56P(OKS;`yYIo| zmQQH}P!`KfrY;gi*fJ^T2%jvxT`;W^S$t0nA%!NSU(W^$XC_z_D>>c0ZBG&}eSy(1 zvld1d-$R^yF#ssiv#k2~=dWFzTrPRtqkh0&v-H$X=Xmb67A)TNxJH#A)a+F0`mR-Wwy z#ifqC0ggj-iOy`ig)lX58X#xSvXb`QXL(;7kjJ%ub>xN8GCRjWlgCiG!Ce+b5j4Uy z#kjS@4ss1)T3L#ajGxJ}o{3kUXh8R1_nat6*dB_T9LbJwV#WEYU2XB~@hGjsL&^J% zySlKP@O94-`}%e-{lS_j&`TPWWVPM^d_9 zDozJYF9mQEv>{@Rp}Knq?xj-H7KZ(!n79v{o5*2I8RR8XtS|9=3Tixk!AJY1mQ5TV zr){u0h_M!L@yy;2)xc%MXHcy8gOVN9OI^&uI2vP={nlpDJeIjR%4?7?N_4A!w?Ipq z3VS!TD)Ln`U&2ayUdenzlPZpZYxw=2-XRiCAqKnb>PnYzDK*T~9%EklbKL*b0S8l| z)a%XL{azZozuKg0JEf&$uDG5>h$0Ejfiz_{eTRM|aF$4@O*quz!B`Ld7D5PB7a+h6 z4@8?jdz?>^Aq!K6KhJ4uR@c@5WMj&+p!dInE(7Dea9eYV{vHP>d=1jvv7DS3qD z>)U4lL1Jq9hB^mz73Q!u>jo!+?fg3ZqdukEEoU5SmHw?2B~zA(VoUINaeG7`ct2Zt zC5a@tB3;^CRN;blc2g^I=3Y8cT-iHCHDA&? zsfP{DfV7l{a(o5xD2)(?c#3fEHlf9aw#(IW#Rmiwj#6qt0z(ZF^KWxo8(f^7IZ#_X zfZ)(75gj|-nKA`TNAeM~W-O6^*D$+Pg^E3exOZ_P23%QHUq>xqk0}_FP<>1v?%W&Z z_-P(*JN&gqG2gJ`SZg^ocpnYvf~}2!&s0msyTOeMTJbwKc6q<>y%($OYhj8|A{Dm{ zf+)O>Xs@ZuKAO(5M?z~6An#?)$_3y9M}$gx4RUYz#FM;~>st84cp$RrdqT{7({qQ~ zom5CpZ=57#K1EJzF+XRnTx%*dt+_#iQ5%dfT z(eK)v*%d$yc?PhRe`gm0RF2Lr9z9yywjC}J#-4L&S4*C+>M z)XImM<7U{}&g)tOfg}3a8mBFxWo50=j}x#BJgzKn=ZHaVfnA8;!B1pbrU`SP{EDkq?+7hO9h-UPw$3Vbh@0$>YI-3Abj|y9Wtz%EwbK&f%Jk zb%<-nP?m&)skUAPL}s}Gj^u=}N?nEj&}{DbBW<~OcV`q0ba8u*_-iy$ar=WJVv&wiy{S+Y|VV{hYTVcshn z+Z6`K%j{u*1+5t%MckpKhX5gW^Vwt9_cF88=6=MLF&xA3SUV3C>W$;ChVhoF#5Th3MdL0SqIdAcaFzgr zwStBye_aI>liFGjLY&v>9{61@iNw z^QBt?>HT2r6LIdBnUP?w7-e*Wa}P3*<0Xz4;EaW->%KRZmmHxhl#JWR)?-{Fe49u! zhLjfBN?0n4VfdfzP#jT1K*7r#*kmT-6o%=N5E*^W>XA zXcx@k;$w)+_%og{3kEHMA|H-PcuWd&@ZBsYRVe@J=PJ;NjatN)7j_up602=y{({*> z2SNKL-m(&*Lth$WCa7s@SKI%RkXsL?2)Jw!t9d~?hoN1}f(@Bi;Goz=rX>4-Z% z2~zU~(xC14Ox}CA9a86Q3q@@1DMZ|Zf?9b4j(r2dfE@CmMfO`jBI3*%ZddmWCnwJ#tQ?ikib9fqVMp!a^cCxh+v>g9*)ZjWc zNp{@#ZrAcOEUJTV`6pbIAYlVQ_~-6OAP|U?>W=}D{R}{~GM_PZ6wr!1l>267Bg`1Y z2JG~%q{5}JwxbeSk?bSG{9~ydw|O$+$g+bJ2F_XkC>JSetuT^`y)wAs>3r!hkCa!! zN+#J;w8PN{?q8h*jK?AJAhcvjxP>CoRNbLSW_Ca6NhZkm?~AwQxy3c}^ev>5wofvR z{v*Z-MQbz)&oVd&Walri%#4^>AZPqDj3`PRpvn34=pyLDgZ`%8;C+|~(shAa>Md-w zIn76>tiv;NSfR$qXP`&T=%?EE22s*r1y~&K=y}UQCU72>-b6};wBCSa-<<;vRzYa` zsd>PFI1iydJ@4`f9PSA(ir_|JEhLIoq`3}RCskq4mP+IgWg-7W7-uQ8Y~~0}sMgm) z6*Lss{Ox$YJcKpx;I3UmDpSLDvCgMd#o3RFMm0~i?R(`{FB15ccQ}=j-u98k1I+bw z2FVre(Xp2Zq$(;#MyQn}XF&=R$dc)TX6taR+is_a&A}DAbQikk&0{EvPC}&mK6cy> z1(Ks04GbTZ_MU=2Xniv!cKF6`Rr%IJE7iGW42TiWmCK(It*DP5LcT%(l9dO2@2HLq z;eN?Ql6|dA3!&f_dwAvX>Jyy@?};$n2MHF)x~YgJmxg?1$092q+jy?w(HS76yJy-S@nHy`{K&_tePan~9Y++0pl3j|W0WB4@ zo*eJM*nR||H~XCYOmOC&kB(1*Yx%+t?ywjF@|aryY8RB}4P$0T=Mq9_ZUpO)<7(<9 zpkL{?bY~8%%8*o2F^LV5aa*o6KcZ9Tk>4`Cq<6^JmGO-&-1!vnnX6+sMi!NX3xYMy zd-zfn*ykgs5#3-ci$Z)QlQB8E0>xIk1kB?yzr0leyPb*LD zl!m=|V0p4+LJY3md_*z^VBooG*_%6bI)`>)15O3`w!^vMX{baOgrEFlvs${|+SbRN zpTnTX`N8=pd`(-*{EinJ+F5uWf-3#K2-;*}F ziCGjAQlKiRzeLQo{y4l}nmQzoy&7`dK{wu)_b;+T8{f?el-eiVwU_htkE_Kcd-}tB z7tyv0`AON?m&h>M`Li-V)6Kri70;t=rNGB7?d+NpY(bEjrpm>`Vff9}xOSCSx~XR0 zHaVl7E!r6_BnJ-_bYzlpnb!!{>E9cFStmtj3qa)oKMCl%{PKr3{~gT}8eXX8gDB2B zl{2hd5i;@;^Wz@gK@-oQRw~wjQJ7jZ9e)eFAwEVnD=^@!)^eG+6(O@H!Dy}g=%pIp z%;E#(zY&~lo3nL9oL>Y%0KvwE$^+swR~-CdeHOO3eIMk|@3nM5(R>&U)N!qC+oO8n z#vO@W3sz5%Y<^~sKN5Fom{-fxaz_v)4?z1T6SqaSS)RVXfXQ_8xy#o3ZX#94!Izt!l2JHvN~6Dc zZ;_d}au?}0_So1TkR^K5oK;Vo!1ZvwN9;l3JcxEKCfny03Z>8n$jx%mb#~PeS)QF5 zKg~nv?&=*t+`L$p-uQoD#b7APc4*t5b>O?TU=lgc=wX&M}iJ|$~l7<_xe zAs0fbNNqr!bd5_}u`1t>TnuTmgRgIaV{uH@^#&W4m=A2bG8^J!I9P;t~hm;*>2yOVKptWOZ=+RT?F zV&F1JzM-jcr>8fVVZd1Zi17zgS5=<&uo$MEazxP*@&#fRbQOxtylwq5NE>AY0dkQ z$c#g11?sLg`okgw7J9BfioerwK0nA$mC8~VdFu^)V;vBV=X-HRA?>N*rCQInTW<{b*>+~XQ&TRj=l}krN0IRv{danv zIu$gmZGK=E$C6$@n{(SK#Q0GjTZE{jHq0<$nVbcOC%`nSsoUg2^s+eBHfCiPq5j$? zlYnDvKJAixoCjSDI$F8&Y1h%U(1y_~V*D<8=kVwuhpHTN(PC8;D8HWn*LPUq@4@KU zDmPW&;PWOLenZ4ww7rOk^IzUg-VQE$i{Y%&bBsk$NJrY7`*{A~>W%c`S*<}+8Ad6| zQy%NA%Oiwat99AfjdEjD=udlBxN195ex}YZwnGJP{ zE7IakT~*y=W_#k{Oman~@-5!cgKq=4FL!SQYFaSlXm~9183nmMn;0o#{0(~}C zOfTxJ&etRZu-Mz3qoEWKQpalSVbjJ~&{x z1k7PI*3x=NpEEg$&xgSo+y)9^w;)=dbnd(9lDxGNa#}DW?*?5W9pZr15$p~NN;oJZ zoLLAh1d2+;J4bDU!<2o&7a!C6Tq#oO?jZ)hs0~@x)g?wca%4mTLKZSLD|P!Qf~3)H znywUScjblbPoPwwCq|$&qf1(PsQw%YEd{?>psDMJ;}zSPI)Oz-S{v(2!++kiAQWma zT1HXJU{c&(I5X8P1+)n8XiZ7_zx%`S13}~dWWC_NthztoQY?Vn7fS59R>6!e?jOOg zqx;owYp0P(@|@&_{MFb)p*Swo%Qu%8x^=PXP}C8Fak%7%6NT#pYjPB;>B2<6g^3{} z6|N{5C|8}8_>QzAU5xL8RF=S$HZifZVMPWfiI|(?IYO^5g2b0uQ$!Y;RfvwXLYIL< zZx4c65aWaNA;c^@*Ti8h5F8j0p|O;S`l*E1d#CCEx&vOQ!SpKD*6}f{FkcMcIov@- z(Y$1Pjkl&=P(*`MrV0rKG~jR*h5nol!CnIpL6Ku%0pL>{!5lnH7COueF)X+u1hDzm zs0KUTIA@%b_7b{B{XN$T0iCN;;lNgzxCEX&Z$2JF@Yv{4ZxiEfTULc@(bzrJYT?m3 zwm{X2Mn!{kVthY<0f0+>ljfudm?P+xCK9QxD-^7mjbAu2;mDCJv9xcAB+H;wp(#u#KdV-b~9D{POrB}MT9H2iLV)qmsO&F4tmho+r83Ieu2@o zGIOSuVydrApKC1v=2jah^WQ_TrsD4Q{ec@rfvMu=ncXaHRWZ83QhpzaRqB&MSa|6% zdgNmjCmc6z_m*hZTemEih#GH`xD4#Ef#ifa5Mm_m(3#Upn*l30`?^6cc6Or=qmS(S ziW@)UX!(KJb`m&@1YW7kYQ@cl603qSNy#H-;9c}iz$XeVElLBDN4e=Iaf8X`^P#2$ zCF_9zMtHb`7A!6aYOg5(06WEZKKaoC`M6wIu*vuUqTj`eqB#;qi=d;L@W+C}Lg+I} zNM>1VHqME5%O_zgvmFO!f?-i9<6)Ox;o#uOu3d74b2#%sW2fQ;x{)hRD3P4U6Sc)` z>eNYsQ8aykozYLSUT|=V$iWmxf*vcnv~+NXeGboE-t#sG0xYVVTaE;+-zX(x?d`xa zv$g{RKUQh$)KuwxDk7*-ipWZXkg@2cd4MUW5(`b>rBnkb&_F7B5wy8zqG~?t1ejZ; zbRxpy*b^*4)-2|zbXwzg?Gjd3;lOdzNWB5zJQrD~Tze=@cOiYoC5G*G5@2NVLMdJB z&C7fpVhsBQgGiL!t}niC)g$Vk4GRR>RAa|)bqqGH*Sv4_?MCn!ou^6VG#pJk2sg^K zE7kr~hVxL-cMk~C#_)@lXBOmLzYVCqO%ZIyuF*;F7AK55xr=$byufkuPzblRL-mwO zSl#RGA?t#%{!1>+Ad`Mmo=vlbbhFF`f?)l287?|2yEA($WN2w&f90pqVWQW~J{bvh zMC{MbHE;%t7~TRdHKIE>t1jd7Os#$<_D|15MgP<3pCB*D1r2lZ@_-M%CdjQO!^Dfp zcCMiMiUf9HNGYcKtxYjsWDd#5K&}3Bn(jG4%2}iS1YtEOi$e&I%1X{xm2E^MlUY(h z-cEO#eBsBl6%WMT=jGw(4O9scPR7Pcq4R35jddY=g7g-eGbFAdn4O<-Kbj^(+r2tJ zS&KBTkKMb6Gj|Nk@x|z$pOHi0OTQ8VEM?&K4qv=Dpn&o`SWKPeeEBjM>o1$DN^Q6Y zHepbj}D?({*FpW6vUeEes9J0qx}qIb1}Pe4%A@ zzJkW0VnZ6Wz+Tt#=WbHj1p<%}wBgN`>l}aq!vN0)z#3TetsXf)<5u=mWel%cVtGW_M1UuVT6Djd zdB%qnFaem*!@mP$Vi6{s?17K<`~msvLrx(d6zQ$Hb@FjUS_#NvLDH_V7jsTxZXO75N@hbAT2MjOz#| z@0RC^wqi3Ce5;4-Smk%raPdJLzf0PwuKuu!9{=LQIi-4f2MVKBq$#dEW_#(YqmHbB;+eQa2J;qnDb=#K=RMVf}} zAX;s%fvMKjPK@<-Jk=o6Qw2ygIGh+S;$P`gPi19nHa#*d#N}&~e%WIom{lW2JR#yj z1MUy1&|RW#^*>m+hvj`F+@O!657BKY#dvIq=6uhB@N6?nC)j6^Nfj2QdG@a)pN=ll znI=pw0dc@9uGHMj8Z+5ku9ilU(qxq{DF(q+W}j^c2E&i?I1d5-#-4f2xiYjHxRo;O z_HzL<3-EL)e=$>tZ=HfgvjH<7K9!0(g?jBicevA@OrB44?4i_25PK-esxKXgr}4oV z)H)fN?!9Ts7JFTV#sWM7Y4P>Qrx$$+mkSf57Z&*3%Ys1X{t~kXb|DNfh2mc~guZ%! zCPY->cOiuz14OmY@Op)pTkzt|x9dE+lmT&~P^u+Z3I|)q0;R)3=#=k2ufgPq`Pb<& z!}#FtOo@erOZxG+M$TTZ{~g%y2etAuOamhG;@m7IP;=;+av?8y%WTdnl7@%Oedj5r zg$7%`qT?De1DK~SO~@o?bQ8A$f9mOt&Xoz{IyUT)|kJo*Cx}D86BSy+s<2l_^Lk6iK>Q5si3(!g! z&lcb+xMAF2X1AkpvtJ?DLk)xDC9ACKe+juYS}*{ZuH$ljV5g86_YeqlKmI_(bWlHp zjTinMJH;(%4ZR*Qd*24U$=NS#ZA(Pn%AFxVME>5bF>{08tH@*E`y9cv#c`tIP~sVz zd~99ZZ*QN@KH#3N%_I$wnhUDDn2R>Y~QFmyEsmad7xXVNtIJ z2Ul`UI^pb2La#B*%L6R*zibPB6?h1HeAG__`K=2pw&uUQ=mq|hses=`jK3n;NCfD% zN519LD}UUg<{8!F=;_50?CYA3MJt>Y?j_nl*K^iVdB9B&&H|YIN>65*y=kR{TpA6Z zL@09=-YPK}?6w4o=qE{Y>F$Q0(RVMY!BW=Mj%UT_AElA6H32tNpp$-Es ze)gG7=d;J4OmF&IDvNWi2ynXBQBtdn!N_}ouol#B#&(Aj;T3p(b)wRVbIq0`+R|2% zEgW65)_W@}Q!ey7oBlm2)eM+s-AItbFnUojl(Zd^H>fl0{*%1%=+E1V&@YG%T>HSt z;E8dOut5PC8e1t1Jp~@=Kpx_^PYm(__Zy*Z_`%Xp?dn7d$ikmJdUCnKGw3qsO3eY0 zkn_F*+e^Q(>@ebN6wDkbs*Lg1kdPA+yi&0SiWy8b?L*ZZe77RK>wGX^duhdVy}tv# z0IB%7w*7?p6a?xs)I=UzwRk*dhaU(eK(M4snwrC){%sd@=YO`M7qKQxG441^DQ`qq z=Kx@yJ>!n*^iMbQca%0(!?PRGmB_3aa`(j?rqCWt-0 zhFp+31y2bdZp&waHiwu+#Ok6RNTd&oP@2U@^#wfF%U1Es-9!rJ)5sTYzPyzChTv(b#t7|zcWb1@X^Cxy|Q0B)h4<$Fe<@1p7YyTMf>l9txIzSM6?4Vlep_8Y} zg^^aaEmf#E2F5y`B@=JXpL-^k6-j@aPV#HRfH>^n(?_w=$eKB{+6|wK=xZm&8s~ji z5`Ik#ofqf=`Y&2%m0Z#5@HNwXX{LGlr0Rw~OqJA&KIbpq2ERIFD!X)mMS9bY!{uXX zw(U<^6oAt1N3R87hd#Gw-U_z28h=_)7P!z9`>_RnsEuqk>{0&$Yr8?(d=WVz%TOMv0=BkV()dG^7B22Li zgD#W_KTh!h(Yzgl4=8>rOZE6mXCP*{#_g2<~k?}Big zq*n7l@BBzPrM3EVOzpeek>G>f6_icm@W*av)ttvzy!q`N)|EQ*ch;W6rL)}&Qijm> zGH5&G!sA?C(LiSz$v&oLl#g*(G1#J`+aEZw$QBe`T!R`#=qk_i`QHim&p-eC^Upv3 z{PWL0|NQgMKmYvm&p-eC^Upv3{PX`7Da-_TBoM*fsjejTP{SVX|IYuR{@4Ehoc|mD zr!Im30N5zwXPo>!7&@s7abWgpg2LwXkQDz}A+@GcHH|Oc6 zXbDJpej7IYF&mDB>#xSJj^*GJIvUsA$qJ-{iU4LXUpnVA@R{o`$u;?+oHxIAh%VD2 z&2-Y(^!UB6eKWBDVkrFR?$XqX^KH9e%zHb4E-l<)JC8g4m}K&7Cs4%uELphEP3Zt% zptj4pubOR$MD&+Q@?kI+N+AZx)?_h`)~z26(J|pzoLL;#P-%_`y8fj+KBt^RUoYf* zd0^#elJ|AAluM1jew+4fcK+$?e%Y&X)Q`*s6RMIHnlVjFwJ)OvPd4wo;GCg5T?I=P zX-+Jn+WVb10V=*^Y^W_@9J$YxINiWEX*>NrTStDp;DM&D-OShvKx-D5Yb<{_DWP8V zg+zl1QUJctoJ7|CrroMF;kO8llKMyj20Ouo(kZ>*g&clW+xMVt19|mC>nA5Yk*XYQ zm(P}`&tWXa;vXYgFC;sxijMW+xBw&ldn>}$W6t?4rCR_Oc=@pPz#N#tWQnAzVkh|N zng9{+ez*0iEZcYbbh|R$sAX4Tq&1T(Sn_;8b~XR}6aQ1|yIxl)CA+rQ`*yBIl09aG z#+dsqQz-u~4D>g2)_FhfqymnICFB|u+bD9vkjQ{XRUV# z=`?g;bUp&3&aw_qp{=(AVd^<-DMK*%^tYxVET|npYp}n;=1uWSU}MVC*vP+MDOquD zX8ZVQ9yX^yzB)07C`O~^#t%!YiNLbGD9EzTC9GF>rQ#B}(tj7pb0rS;9kk$jdIoye z!kj%OzEhEeU>Fgx9MYMdHm0dv#~-S4@WHTrlCwD~K=#87ftNXib{pP#SyIch<@Hk` z%ECTSE^0Yy_Tx?jvji?>Jj3}Tyogk25+M+c3sHmUW zk3RpP=hV-<&0xaPgh>0B4~B$2=;s&ScgK-@ai*~j4+{cg4@hkNcTw>o^Q zou%%~1Cx#*sNF-mmG~uFUx9sLo}lEe2Z`qTK03Y}{T9G-RjO zK6RvoS`HDBAeKp#IpW_1le~_3(ml8;(DaHKn~EW@+#Rr5{kccXi{*ZSF(hvfWT-qI}RZg zi&RWI`?4TfvNp|-S5R*XbX;AK&O+MuQ{#`i{s7UPBTH=x+7+BoqmvI0UE92}WG}1d zl%71`Ek`s_1i!gIU%Fw-a___|f(Ujs}ezW&3_( zT}Bfr{@q2;59o;Y`{c4(BILKoLG@^q+9!A%(Gn=Aw=?M0@67AWls#UX zu{Rc`UG^4mqkr4@syFsJtfeHe%3;JOyLD{+3A9nOaYY|et&C{&@k-EC40rSSN7PNg zxAVe|936zQEwreo%L-=L120}INbw)x-L9}O%`r(vFFw^h0NfuGbXwM!sW6hq64bM< zSLZQuDYSGx4^HDS$o4Cm(6s#Ub91G1YeSVuquB9<@u0!wJbE5KyuWxQg-Zeui6oqs z*|T^E*YahRJ@Z9(yg7iqh0fH*)LHr36#3(QCj3*mV}zaO1?-faW%Yr$7S5K+!A(dQ zxjH{JKgIYVW8BCBE;O4&mb;l?wQ&e$dVY`fF@Im7&Xle7x2p3!JDgV4MOMT~3KLs2 z6TLdrl*2iL(;9`>)cR}??v76oCSEq*ZgVBTmS ziK*$B>N0d&7-zwr?153%J`&B%myAGX(brq6N>q>Y0cP*V{!RqEJVyup!H?Y>`Z|6j z$4If(%`~>lyZ_a*(o$a-JE_@LR-iHyrlRP~ugR6|l(s{h>qI)M>$cTSLSz%!2L21z zes$I1(ffNNg*%L+us!)*+JSdHH|mRbA1@>Wfm27EB~N$fV4|`LW|zvLM5L?X(v-w9*TY9Qc}>!QWs9u8}}xxG{r&ZLDlpdgT^mtF(MzT z|BGcyrl#1GkeH>Yvxg8FscK_AX(MwKiF6%3IpGaYMu2zVj`j+Y){qQlAIw8-7 zTQ|DG_)2fSav%q@+&$4|wrYhvakYldSqaKGf63mD@4pKN#p9yBGGRDwU9r5HP)-|p{1{5BVy8T&A>l9C)m% zQd@b^8I!q^oiiCQH?~lcHmpA}EUvy?yk=(rGiHc9dy5?Zr6ePb;wwW_NRv-i^W~-* zd7I1723I^x+_s)61`=7!j-=ToIS6B_@H1N~QeIDneRFy2KRUfPfhq69K@xNO+X*_r zJ4wpq&`{XJqI=p<+VdGhc@=%T_F`-Tv7p%;q@@0|MD&N*Q`9O{YKn(}XO@+zC2c=&)jcbs<-) z53-oN358LCfL_9Q*6tx6e8E~-tN z1ie6CUL#Me%w$nv4sSEx%MwP3TbGUedt(PK78H>#>rm<_>I8{JZLDNbXCbzk{~X!& zvz3+Wpm3M!TjQ?YwoD=nNsEUv?H|=ma<-YuYpp96v*y=8>hyP_=?`joKiMEGkKy~^ zo>`uBn&bwNbT{V+mzWLMV!zy|Qb0$;3-R_YPQ{z`OTQoxVSQLZv`j|4kn2S{(24ZYl0)E{(au5jf9hL({XLM z7Gv)YGPnIJ7j3-2tuHiN>Yil0sfcLT9_g2aP=hIcP0ltAyJnlLPh&+QTX%l?S;m4c zmvKs+H%KC==rkirZ;et^nWba7Nh!Y&x zHGR9ymdRA97dUU1%7f~XIetI*$1Im9Gqg&Jzn!EQg3C`3uyZI|x98S9;r>*+_(SYg zewve(PR8H6lc*!&jJf#BoH8~NZi3MX5}QW+?G;hFl?e8G=&!3r+eKYr3s=|j0j+lWPK6f{x|mSX^YuYJ zNn_;BKnw-elCK1%=RGAwh|D7s`n(D1@2Jl(@G`^-7M4zmZtf^XwODXQXtsHgI28D8 zmYB%P5RIXX7nFwXTh1CF`_tfQthJiPYTg`AarwR4d@&QQ3vqjyv~XtS!uJI^lu_!I zG?m)LM{AVT<-b8P*wMT=KviH08P$tVcJ^ypsX;2cogPDp`Vz0O?73x}c?8PjSSjX5 z#v^KStD!nS*=ivm?tFQ7v&nIs`-5B22;`Muz5`Zy^3~iMNO?BYV7YMkkKK# zQ{K0>Bl0k4RLsEOdnscyfNkpgSH#hS6}lpaPg3uC$T;W_$<#=ohvfEN-QU{DaPJYI z@fWQH4I>(m4GTneu*Zer8e|)dDbY4K6Zz{J9dtrAq9#>EhF-nT&MX#rmB4w^98_#< zK|~*iZ*G8Jw|R(YIaHD+G^D_$snujGhA9NwOh18w7S?HdP-3|tT~6#JeeL$@yQ;>_ z#$A1@2-ICv+H2jdt4zdhCux74impfL$JZE)r^)$4%>v~r3V;KReG8mLU9tasNLcgu z-q_15dZVt#)e=ewP``oeR&5YtV>!#1--VnZ+?+sc|G72(y<#t=H+RL_XVjz`R4RZt zY&%d!ewTpZTdaA}ovkI3&)R*p{^d@D=57r-*3?n~6I!*j2`sHDQJ%>UD8-H)NR^nA zs{}{m=yq1@aCOPx1QSef42>yNH=e_pu`VQ8_-p>MHJq+pRc6+rGg*GyRmwL<6nyPj z_EeTAz1$qFhM#w)&vGGt_;Y$q5~h1f#Z{i1#D*Arhgc8PiwH_j*B(6@Chv$%oUmF7oDNcjag0D@K>juI} z5e4=f=Bl-$uMmybVmY5Qr?9XCG&&dEd4eGDu{07M(*x9Z@YkE&(~V&b6>N=hKkdHB z2fuCCk^To)i6|J?txfm&Dq4&*4D|BkHKkP{*E%qY^P5 zY`8^t&XJ@d*L9j_6I(l^egwW&be77QCY{BBSOQlJ+{wG`A3_Nh-yFcc7zjQeM?eP)-=f?<~rN;mes4B-vFE2=;r4F;x_=4U|irN^!*G9KPBqb%I0P;VNd^prhkGSF!5U6G$KDH8imB}fCkGzk;KGOSmnQR(;7CY7)%8nzs;=Wr*&n++&jv}zXEXkuDm1)C%Y5H7&0V`ruS%%SSV$5Uji{} z*=)GBR&X6BWSZ9oH}#{0)8n-)&q*tr?$#UFKl*5)^eFr6mMHKnZV@jc9m*03CoeV7 zoKtq-@GIklzs(`9Mgnj9!wxylXa;DdZ*3g0ygNlNlj|(BbH*_9e9CP!`DkD-?GjYg z+(3bfvni7(#uZq_dA7^y1T>E!vyZKuYOu*rU5}DANJl$Z75OgFw9B+Mpm8>^95t!Z z;ia{H8=Oz!N&*eh@bfwzZ0QcMg9tKdkN|5cUooFCKPKuj&+bm=j+56d)||-~PJNVM zr$Cc(NBMC(2-h3_pqJ#sck-S@irSr$EfMO<3&D4ImFMthvMjoQ014h!w1B{qiORyQkGhe$1pJ|JpI0FMLO{BQO;db^1Lpn;K|NBkEkg`{v9+PPD{Dr^#?E~ z(71;=#v;;*+Ik36*DadLyh?Xm^@a!nquJl+RxJIN{VsJ!|8uW1o4b%9Xl2a&;5%megOVrlcrlWA%i(UsBHLOK>Mm@n{r}dSU)#Pr6pH4o+m3Rc^JNv-HG?vuUm~MhS;u` zbHIA=LYIDvm@=|O^8*{8>^xn&zZ^+uRrUY`W6w$;02};U?Vy6rINRq_mse0049!Po zu2aBzFJ<5;0*{Era=MLfsZ#mxxMpclHAD%kZhgigz*Pl3LFab7FiXI?1|JY z88Gqd;{N$Bdm^2$BYi8RXf6Dlv517aUoAByPXw5OQKxgeHScc*M%Ywg)15ae^!4jh zbVPtrL@x?ePJSe^x;R4))tNuA$WrW8y!W{C8%zw!_vGmtS~kq#w0Oaz{IZ3CE%lx3nmNWh>6E2n)JIt*WnU#-f zd8R!uKox+6vr^fN!M9Rx9J^sLKS1Eu+XMwEb6g>IS|WRoHc$|kg+V~&!!3ovRf~tA-9_EWw8qK7F{pFj3}7(;^}xq0R`JHL#@}RC5gpCsudU&U+{_{V9L91 zRY(1l!b|H|j$PA?CT>G~!$!@zQbZLOb3LzYo~kvp6OoIARc9D78sd1M@NCXgV(unF zMj2HBakyfA#fo9?xhakmDkp#UZRqFI5|rz`K8qGna0Yn`yPe%u*sp2+h*@yWr1!jW zBdfkW52GX%FrtVY>^0>}w-edl=~5zhatc78zVAi2e|e6}^vpkAGUeYiwuAFyrqyhAbvKa!~x=;5~1Z> zFCsT_FF)GGnAC;`0Y$f|VehbNko9=NA)G*~BSuzisA=Q)3NMeaA!fhKicACnVxup8 zh;?TGdy%0ahCvH@Rd68;mMF*}FB2+^JNz1H7O1B7dvzptZZtNoRTB9MPD$SLcI^YU zhWX&P1AhA#OH;TPgqY=0d;z&I>3ktZjME0;mpQc;tqIkG{xSaTI`o;f^;&@YVnRoqU8q>z#b~1X|!IiWQy=)I96bKjPy!xgztEJhv4e zRX1@CFRJU_lIjYcQrLjUT5-MGtyW&cHz*c`gYrtDH&!*Z-Ot6Su?7T6ZR{P`9sD#+ z2u8x#y^UzSqiyrlhl$YjeY?=Jw{=|xeftT5O}Yp1AiPt z&?jaUMYXT7XH58%>SbgOXW&^%aJ88s zb5%lvDYP=x7givNF`X)Tw6#-I8{x>vx6aBNkT=C-7394b{cVs;#>&2Z!r_EilJ7p+ zX{Z0gxMr0#N4J7@kVHB%1sb3HN*q71H(`u`O8)pBo9iv{pG%WZzOG1QR&LP7NN0l` zPYkoZQ$Cpjyi&v1F=4%8mGYTQSyMF{Z(lMwW9A04ISFWBQQvar7=UOby3-W_;BUD6 za&m9|R++YrW>y^wm75qCzf4&E=mb>NB<66%1}#73nqO(w1*##c%p{oV8-F*0;hLW@ z*AP*dr45wu6`qOLQP^fk%!j-$%lcW8!)roUf4oLoQc4DQ^1;!U$+Aq^W1cyh3pMSheBXo;BAI&-TgGx&7Kgf?eAU%t@-VYLO%?BiOrLY zs>F9ipcDIz%wK7>T?Y-tDYn>*+P_N+6T~sM!J>I*(7i$>01=wl?0GodeRf`0^b=D_ z!vYFzL#sLXP3QpOodnIoVEBkTk>Ha?T3KKR5NElbM=8W+`P~vl2oZw=;Q(7eq`$sn z=L-pBah)=OyATMKgkC3LDW`#pDn~V~)OYQ1&`YsImMAFMi&Kb`)ITM(2t&1o4p>X* zxcqUA(5>z$;)0(>UbNE303cc&VnFce71!tbI^HVr6aq!NIVWK4#*2jIzy3$DrQd*v z*Fid^lZS$T;ec;^mSp{xL>cV|*i9!6Cmfq6oUYqq-yt7@iH;E-mT?Nu5?H*v^zg1w zb|@~Gz|smbGQvc$gyyXV=URw9?BAA`ja@Chbn zh*9gk&8VKuRF)T2m?G#e%*?4^v1sd48LER3EAT3e6VP#P;jMU$cvMm zw)0>b9y~`svF(Df!EbIcjR=@oKy8oZbWC$V2w|iYpK5Un-uW0wh^nEKqP{Zn!h$~v!H3FcP=NQN^tNI?JRynqGr9L^yB_2aaWma=)@w1n9+O9rgQbhK z@AKak1DcLz`r2)>XpLL|Yb)k~_hu1?iGTl5rL8nu!yHv`MduHXr426i{PVsq@P2fp zeQ!`z61u5gu1TJ`v&ybkSlkHN9%EbkVH|X5oO+$Efq+&4TC{by+!0M=P-m>(Q_6ib z(LgGuo++}aOq!>0@OuJ`29(P2MTqnZ%F0Y-b@&d(b&{*Buj3s0=x;bgqI-^6JmG?y zSB$bk8_I9R$bR3VV-g-B+VX?rtIYN}g=0;|CB}H_^`B3O%|1jO;A6sdN617r+Al`9 z&7>q$BdM?U_^u>gVwHb=EQfQdCl;mUfV6 zTI=!A4Zvz1165Dmy@Vdl;Z;J-V1VrJpIzlLW^|NejKNz78v5AsM&r~5rypUB(ZqJE z#V%6R*5KCNa+7zAsAL6kCl@C}ky%sC`%3*V*9O4F;`hFBCO2+@QKwz|gbv@j%z6fn zw5;i8OibS>sMkN$9f_9Wi-MB6MylU@x<~=BAf(iYH0j?zgqtJ`9ahk3!|}$Of?%)@ z#y)v9=Ta)*FefSnteaeGoS(xkHBl?$Ekt3VipyG`Wk}AC-pE!>(c&MDv@4yWG=iEfaIh(0a-bt0uWST(pF*3qKnPV zfy^J!7PPMR+tH>5nz2j%OFR~}WE0zt9}lDZK0JH#7no>6?1lYAS}h5wSvGK`FRU@J z;k?l0kJ20BV2OUTgpz~`P!#e8VD2dX19rQwBE>=JUOh82Y`#j{rvC#BEi`E$wwwx zB0dJ(k9kx1jglKvnB~dF_R+H*Reije+nB1@JYSmKIa1TR0A8BlSrdiXHd63VQ0-n! z6$DoSMc1iK)(zg1X&~~v++Rx>lW(8|`(uI9#LqLT{Q%!&B>T#3^x?0mXx2q=u*t>p zdkXnfeI0&^i@p0AC9@KIRp+Ij#dRyB6=$2@Jnhy;)wvPq?E>;IZE*k6#`&o2QWbOp za<^h8r{7>|eO1Y{#0|UBfd%zogFyVTQMX2zYQVRDzHEE_3WjjNOP}7m*Z`Oc<%r5m z{|jeA8c}PO?RWkVB@C>QY~$aQ1`85vcoW{QUW1d_{}X|4(zg+4Bp$DOFFs;xDr_vL zJLpWAeZkLP*cbVF8VMYEUdnA z$erWYYUmd8G=ODP-go z=LBaat~s~Igkg2zfE-5;ud>7l$=h@nfOjE1JKh$L!;oh9Ea&*TP^H6VJm`-)=XE4S zB?}6~eJb=(9}DQuQ{Qa)*sjGV8@}_k99DqTkuGGHfc_LRh7Od~=69PV_AI($2HzK6 zN}DAzUnpgF zD5k(bsSwTHwK1W`$T3-^#~|VITxz#qI8vIaL}ojfFz{3jtt2i<_Frfyzk{rcuqO%I zOSy!Q27~=s2>xdvL!X9@L+loMBMVQPobE%cZy{xQZpxLf&Y!=A+QD>lq%k|X{Cr>p zRbq}R*tv6Axd_0w@$YMNvE%x)xmEVKOxx0%E5IjuD{CThyI0`~L-SG;hj( zD+@f&tmYQ8efCi;frI;g(KNRp;5}iQM|IJ*6-{v)Lpjl$d%tsAbUb#9+?q1fa`{#) z#c{dPuW{V{oz;aqN*64Ix=~!`pP+LtnL12ht%^+Amu3b?;9_4fw-(0k3Z$swY!lAo zHVFW~aCbeM6~;r3Z^4$VWyY{lJ&vFUxzbkp0lJY~ zt(!d-DC-P^iUAr&P+c-xJ1-eZ8*E~Nn4yQN4RcqA@`qPzH|K&%I@-m29obOV>KI!y zYeNUS=_bKYVTy#^T_(K!1CPU@vmnP8{jWgW6s92F2)o!S^3NdK=c5)3buvT!=69R{ zxSZb6dx!~)V4uU}c34TQ^@5v0hXhR^#sJ(QzHQsVbLbE+kF+@4aeZN0Pa$ViO)DGN8SEjH!3wxNxv&Ros^VHtqH65Lo>PlZ4z_h|H2%lO)GA zX=0Tnn3jOd%kO60s9y6zfi_@#oyKXiZx`xZ6uFBEVIrdi(q{e$ihmLnwiH_ceC}Yt zq3`W|FD{vXe`v*%Axot0wYWP4N9<^kkNX`-g*)$omwxla6XpSc34s9^vA-s2Ia{WF znEF^}bj!7yFcKpTxq^z`YolXvZ2h=L9F)Va;yh z6!z#$cf3I!^VrsKGzyhfv4>~K8Y5Qc2bKJ8x0KX*3$7NZ8fEUIu9yjmDpSQFe~%uQ z5b(^dL8;!p_{qL(zF=p_L>%AJO#+&SV{S ze+Ds>0I`m!YWth@m_LyEk87t~^fKHG{?mXhnlV&DrGC5c-p;USvSCuJR%opek$-|OCf?WMtiQDHuM`%K2C@vuJuJ#^5H)KUcPpS~Ed_{eskBf;tw8O_I@T)WV}D1n z6Az3g^>!=nAakl9lXuQlxz1#}+qi!VbW-$Bg{OR-eLAyWzG5Y1Ai~XbqCMbdzs!?! z^1kL5@jQ?ofu%jt{vrOx2YT%6t6aVFsFHsCvruQXOKV< znwU3_S@l^;$Z}+rRsH=y7}0US&(%_$c%R#$5SaM3UH};lxfTdC9}6vj zjgxl8sFNF&WBfL;0m8~;|JychCQMOca109rq`iLAm3am8@hg-cmoS?xZnC8G>De&f zQ+k1wdLj_yl;H#$B1aL}G27Mbha&EVw>!doo$%$I0EUD@7Bak9y8ZOSjT%kGv-me)T(#M$y zGX46?dH#P_7Yv+Fki;#nVcuis8Ro_FgD^v9oMh~oXXxzv3F zs2-#cxc4?f-I*Tyo7y7zp&$XTgAcDr?JJo)?GdeQs@$GtD=*2LV^?}8_KVIyiz1$7 zCh`5OF@B>M8Y0*sxl(v z{tXS$&$|K7rXg^G){n>hQ6?~)m%u^@Qet(q{1#jR4Q)^RyD*s@EaZq;>8^xh zrs~6;##uf%rnq3R*Gv$5b8(`S^08a^&x3k5YI8Aqv+}{K_Sldcme`;v`d z1?Oscgj5T97-m(~ll1m|EIvedSB%ROU3@j0bvrwwNSDRCHExA->dVcC)#WayhLe5; z#l7&^Qi=Q$y!UNfKykW9@5HN-}*j0bNwOj@2%$i)Ogbc+_(OD_Z8a zQ^P@d8y%hEB~Eat++LY;YAV)BuxN^!A(a zSOuZyCf^qai#6_$zUyYj@eMKmQ#-rOwN@?#*e}f`2*^NGVALiGe!u-7i^gxz;gvIA z0L!9vd(+8gpDTtLYP)Bx*qo2a9(R$LWw_Q4Itt7-8>@)9e>|E1m)Ocuomk*S+1H=H z+!7AhXk~3$_?3w1NLX3?F$Q)ljfScrK?Fbn?3rf^nN0yMk=Kwo^ju^FEgOo3Mb)2= z*{$bRl@=E{>hANBHf+6T#9n4mC(pWTi&9i!DtaMD$OgeiVRdc9eH83|7U3Tx&5eP# zIah0k2z}U=gg=d%aRj$8Af3#cM*ywr$%!UnhMg{SP{MuW5~{Qdw(NQg`N%pFfdwh3fFGG}PT~g%T5MJ+M;2(U1cfb$meb%u|sDAQ&B9%B=u+bb_FdnVo zfX2IKEnoqDX|3h5yE^sIIQENsUGFulkfi7r)46pprhD}I?DATB>E;v={+W4LaZNEn zpofM)8hv}r5qJr0_O$|bt_D%Q_(r`Lqea6*+hmNH(_K?CvPpx3RI4RlJ;VmMuP#DP zZ$_aj;j*1rNoZmVH)f?V-Yt>Dq~AP&7w%qxj2l^Wdv&rM_VK=ngr~WGS1=1be+|9V zzM39)jHnum2;_N_#K6zGktIifxzCk2IV4IvM2h`RkQ->g$|093Pq#Q2ZJVnBY>_N0 zu~$H^81gjz=EzTKm#B0vJ!m0avM{|i2QxzJ&w?Z^>}{bNtvv}C4eU!xU!-9QGm$w- zFlNChP;^}+21(%rCi@86fuGy(d;35rLjBeymlHC3*v>^o)||YJ!9_iRO)G@B7PS!n7o?AiqC*s&=wrkkM$~94^u4!4V?MU$(c@Lrr%nf+`1gjnluKT@7&{T02mFMA?wy<8e=B#M)xufinjV$LGx=? z2=9*%xCivIS9+N@aCE3v?yDGREYj{3niB8wC1 z0nVIbcX}iH*(Od3xw1=YY3wii&(j1NO+X0Mm0Hzm`Nnx-;}ZQt?JMA+=40*`@mkF_ z>utiW%n<5X$|cp}aNw{TCcI3*wWUj{7ON^;QjI&JHC%;h(YDJO&{CV6t3q|_@YGbb zM7h&F5ug4I1%*p}~M2Z;LK<9Ebe zS2xCIYu>q$M4kPXzI9RG@b%v*YTNav+MoGZrO53sfP*3MR90+*?gW<6fG@MHbM7j2 zp$->)IhVeWGG{Vd-v&A1hyy)Y)Gcv6OoqsQ!tK<_!MD#6svpJ`JFOZ-X};4^VP(#Q z0X4M>(r7;>u2R#7if3MYukwamPG-y{?iGK{1!CrRn#_tFZ=pK!^PFJgSfo2n1e_A^IEwGafXO+YEdVwCeedMDaO-GsrFT{Kx_{Sl zqK;8@g#h%rT3V4BE@+*v$ZVbKSZaK1%+l;vTiVO}OKW4d~fUuaSY2LsRr* ztk0}TY*5{#gKZw{fNr`O14zDGmF30AUY4%T*S%8qsTZ&2b7bwEd|ZNHsRWdWhc%qQ z3kX9MGaQ`&9byGlnL1|t?i%gSdU325m9QF&4t|FL@%mw5iOeT>7WFg9mgY~OAm9d? z6I2X4>{b-zxPkO`<@vyMFs#<-<&>X%UQ||dy&5JbmcZLLpX~k`e{sge9ic)Rv5QZN zA#}QD_psX<)kP-f*uHSksREjsugx4cc&Y|75wRtM=B7eh1YJwicH@GLu#TrzyYVf(hh4VNIvhx9D|JQwoi<0 zw~ES5DH4iSPz3@ruRvIO%09$uNnSz0j~b6AoWjWwylQ%N2|r46o!bKs=J_$?%-e^z zbo@L_`X4<+%VjA7TM>VNp#`0>wb0EV)M~z#cHx8Ha;guo``;`>EH%EDGAc7FOt$FR zucz+Bvo^M*x*L7f&}Rcn3J8|*iz*!-Zc}+qdB3^w>(~-go}9Pj8MB;neof2yp()iI zC0B0P)uHcaPaJfmir>w@=BgrCGB=h1OvJ@w;%jLP4x;=*h(NnmOi*E3pO%~|1lGHB{|1&bp}ad9rf?m2l6C< zk^9c~i?CE@3x|`s&e%>=9#3QbHNS6Ea4jZD(^2l+ffzkxX0gD(vcKs~4Z@Bf`Rke= zs4~r%BY?)H(s~)bMFFPhHbW6kZG38qBETtWO8YYR??sc{>9-r)Tk?I1JH|HjC&~eK zQqB#dkE~U-iy&(IKLjbF6IHyZH^vvA)VU~*@7!h6PjW}^Z!-YU*w~O~jF38thgwhb z077jRCAG*S7j;Od{HTrLN1i{$g6OC_dUCfWBQ8Q)G}VHnq79BvqB-9^-4Z_VnaKn3 zuPbn%%gt{{y$Hs$sdd5K7)RxRD^a>>|8$$cJbRL}>8R>jwl?^p`*o=lhP`A)E0W5p zw@7uX!#K4|7_Is?p!ujjC))k1Dxh=PjWIrs|L9;RP`pHa``6_iIl2E3B;$a=QqAZk zi|BjJcfoR3yd6BXLS0t$RyyOWk&WBF-DWW~B2+CM?VpmKD6xt4`?l4f7d_7B73(C& zHk%v_W!Ai^G~h>Lql`Ulip%AyE$a6}$Vt*bC3Oxi*e-Jr*=qz;-Wm^CqCQ;VHcYS2 zqkOB#jCjY6<}|0obIkFzR2!rg+EE<_W5D~<3yM_Xx(~FIoSopQvCrJ%V0rJU?$Qn2 zDEI_8zXbL@1~;}F%2c{urnds#je69*S6K7#RNKZP=k&A<0*&=5igMs99qlN1@k~Zj zj>SC4s6LOEX>>pN;IyvasHB61-QzD1bkJ>Oa3@m?$WET13Ju8$3p&A5NQ36wPglq1 znb}U~Ws*Q=?qa~at4`d;;AI*9T*g2A4@PWvf&c;jwK_{VhbKT2x%{7iq^QJ=+k#xt zR3bAd$KbgO<){Je5cJHppxXrJsR(`;^P$#2T+4D`JD0!!X9aC$%oF9nGH;=+VIg)r`8$t8`kC3O zKOKNlzzsIJ0BWHSaUBD!t6Xn`!GmBwrEc|S-MjvVo5jI>OzyE$1qU@{e^0MI|EKnM zjpg77HILiYkPXHZMuBY{Tmffz_ROb|R%xim{p*KOsexJ$>j0s{FGra%gSG&rl2PHO zZQ^U|Mn^I^NmD4Wsb)~;W+8AmZCEq^Fbr=%1dDYM3(`VZ{dh!B z#7~m(HYHsXh1+FjKnEs&(qy2C5cZji2G&~U0Y-YaB7mQb{kc%Jyj`^K1<`unJe2q` z=E>18N1f;;ofh$?JH#OPckLiv547EF8eVbaIxFj~4zJPjPObhC^_Qka{Cw?{Ys8cI`9 zr*W|a-P*~%D+CDF+k5E&3pNZ%ixCxWl5 zzFbCo7RIKSYuU$grtn% z^8q)CIrK%G8#j4d+}jEr`4X4U^Yjlz5@{WTS%VdCV;Z9BZJ%;9bl@bJ;X`cP^t~Zp z%V4wPS8iSnbe9NvGR_Ja^>p~9f~G<}=9}Pos44>LYIOk5w&zRec(r>M8s@VDF>6A4 z_yHT0j1Nj&IBotId`)^vD-K5o8&oe{fp*&*V;Wi>I;=+F#V<8d%+fT@1K;Qm6Ajx^ zB0tLJD^;_{x4VLX?CrEP)rDs^I%=Okq&j>dRY_ zcBN*~8TqqAfiWz&c*a4=B@7XJ2H?9>bYwG4Cvi9)zg*++>(nL=acj4E?Op1Oc!e~b zxvQbb+%03m7t990vJ_E2VxTeI&nS2CjCk1bo4hl<1l3*0&k7+m8Xg)a5xr?veP*+< zb!r?p-qqYWAJyb8)}ZHFUVYMe;3{+U%2a5&>bN0s5haq-<+AFVH^-`J6Uc+Xal%Al zlj-PE-t5Vr7haCH;JI`C#Z`8$#4FpV_MJ{MY~x>!nC+Ooan{RP0W*D)#2@I&gG}ev zhP@F*tD5)N>|-mpn6E-kCW?s7b=fW^<(h{Co6b97nya2XNQi46D1`Dh_`~lZY97cn zx=;W!|J7fyIjl5Z!Hx@XSYG5^ax zf#8T~%egLdrSk;U;f#m?DQ}-ZecQssSZ|6e=#qRkR_GntfyA_$D|9ag@T$Xv)FR0C z>!%BfCuxcBW6f@S1?xhgMjSt3JgM9T4lpAtu{tKR z`l^?n2AuKtZ=a}SOOnbwktp~o6mxw(ifWx}o`8W1EmSIKw`8uC<0IN)OSEulW+HAI|>+y}D)z*~0dnij1-_brD2Zy4z{pY$!pi(nbD0cbUPuzX^f0)^-^G-!%7 zQw>TcqIjY)J$N2MKYst^fnSS}FduJA&a~JypmX{K_G|S982R(S@T48^KNl!Dd>X}m z^7@Myz`^6S;5OV6FXhDt8nQ(BqwAd=UiYr&(DOhE+ky!|-${BWA3WJbb%}I#&(MJg zv56EMfIQDuoy-^3KJuBtEF8R~{L|GtYm`YI#eLKLFsMkFm6koI2TA2o!Uu-;l!mlT zY4{@onmeZh7C9ws(!3DLLo~E{zX5GG0O+@UDVdmEtt_I_$Tr9n0i%(gX%3UjxiS#v7_^xL2fL)yc+SSvRC3|Z1_&x?-}PJ zlP#uM7jR0{C)n5|%ejbY=NMs-Om3eCDMw(k#2r+0qSv-fcMk?oRwq;VF-^`^L6c~G zXsSTUNma3KB{oxkIe~et2-=lh$Y)E*Aq>TlFQ;A9fj3rMj&%;+#D^MRRneanB?~u6 z**+u)*FESoK-5Q|o3u-5&q-*~`o7>o0J=~aIT?Jz1 z`x#8Vuvv&qL%3_&%!5vIwcwSEgMpJ|G9_}T@6ZbEo*#4+OW9UNbwKlVg6-qWT185jAk^Nwh(^|zqBz*UZJcI(kjYzWgh-mk}9;6*=Zkxn(5V~`a#jRiz}n}Im> zvLR6Knz}qi7KfqjX3CagL_wqjx75hN-6V?z28b%*c0EaNQjsy!jD}6Ygpm6Q_F%k1 zLU~ju>I(NNjFCi6MZ|A+|534J z{UNP%<$*+B$t_b|Agq)IsMNJi>iJ=F-!6Bj!=p*JKgjwn-y`+53p7zlffQ(9I*9(7 zu?F0XfmpNqSVB2zMut`20@v6uahw3EteQ;GFz}F;$G>X$CVHcZep%mI+vP({Y(R@) z%}Im}axL%5G1gavJ-W()Lc_!uv7S^XIvigLgppdjJv zk=|KP)NUM*0`fLslKP`z$Kg=p-J!9eCX#09>(YhIV`F3+-esl(VG0^nEkv_sRnQaA zPy+j9PgS~0AhEs%Obolv$9dvxgA13E?`A{GYp=8==$ng&TJF6^T{f#MO6=rvU{mSU zGQJGJQc!7Z^+IA%gUN5GnXbkV6;ue0R&R6{mTO}Y)9%`N!RI<4=U0mrUeh5=WSbA- zuwQ_;CNRN$K^TfZRwz#~wSdg2LGP6gxUy_Dn5=-iJ^pm<#|s`$PzIh77i>Yet6x}r zL6YaT`&ehS9PI{ik?0}~e{Dil0s|5nWJt6pjd?|5FBmZ3$#XI<5R1}~Dow#q>4y1Yt=|>Yu zjE8wd09h4daHZ~q&S89l>H*0#Mn@rxT-r8dHlk6ts ztwhh+zK|wRv7E`V>w1JoMdKR)7!s2kKQ$UZxa17pBuZJ&hnYh~%8C7IwZ(RFp#mRk zD_=Z408%-14{@9#_;gd6B}JiM^?#rq*$hFrhIm%(pEU6F)L}1Vb$^}lEu+ye07h&9OuQei|G7f8rnHe&NeRSi*J;;@y+5@Vr$Gu^7GpG z*_y_<%krvRFX6U@n>TahLtd-8{s;|gG=Tf|GsMn9{Y_BSX;;G`x}=uf{$-(V^2XG7z%`YAhQ*w3Vw+dZHXRD`W_$K-fU{o+RWUKz zxKB#Pf<#D}3@ijA5qdGAK4OwbP`-MJG_npthd%Akt@3P}+u?=Kry%=ywtukW{yE#k zPQi?ju|6#VY_yIY3tIMf2Arjo_?zFrw|(z?99(aVb>uzdbC!L5%;c3yho!Qd2@vE` z{Tn{%5dZ~I3M7}cS%=yYSiMJ#2)Mic!SuW?F?+vux!)-s9wY?*mRS$--Q##2egcAO4@9=hxro@bfQT)VNbhUE_+2opy{#`Ckm&i@Q zEUv0pPeig>ASloT&cxQWZYq4n>poUtaYeP?7oe;B& z&u%Y7N)Gb-)xL#JmU|d89}AP0y{B%0MsYZRuOiBDfTv_4w%ti)Q{UZLu1s##?WkyA zgCu*>i2(9*@hFbYp_LkP?^~EZJr7!2geldwC!fq!i8r#NPpOh|CMzko>2)%STbw3G z#XPUt5UduMv(=uzM?~C11^M{#rQ$OPJZp8*MYOP}Xn68_z=JB)dd5mgDlRDeBylN< zId#mo#*>O3oWr+O(7}2F0Sxy^!HX?m##qb;|68PE5-ym#>b%?ZbGo3qf~Gked>Xm` zi#w49Z&uj2q%#W;wXb3lYgavizXe)ax22P@HRPEdpfb_;(dq*{`mo#4nXO?U6;tAj z{s=miEolMTEWl1^iB__A%>P1Hw)e)Nd&AFn zVQ@PJI?WcO$~Ba{0p@Di;L&Dl$~Q@>8|Y=Z#?eMs9Z+u9*zclQV?*{9p~c>$kU~X% z4UBJ|BrctgygC=gryvJp$NM+e*SeAPJ{N+dK%tD;7lLuQHQ~Q8WYxI(@D~SDO||op zD?FVJ&w{B@){2AN<;gn%)^0KTjD$L8WzgHWmPAV`mK{37`d5{{-VFaat2ZU@p2*a$ z&xT}he)SLEgZU`F3mr&S!=oID=5`jQGb#LpEIEFRJ~ewq>R@90pQhAlTG{qTTXtm5 zoS0g)=`(;GiqL#E0*iYiZ*FS_e`_Q+cX%jSw!n}r875cx#-Cpp7^+LbvX<-I+5lO3 z93KuFZiDKlIruOV8R>IpDcUPrTu=F>sx>~A&4j3M#FL3=JsP^%jGtJgBeX25#mJx= zf@%u`f4(86|M02A!rXg=n;2T+a({mJSA>-K?47pjMY(xn%@k+%MXHqkSF`?%cLfx2#BSwMC`r?HORT%n< zdDLkVU65~}iLdAd6HM!0tZ%H)q^FK;dhOTx`|bBL`YA+$PSf>eJEYnl^G#1t)rQqk7&`c@2tn0sBBrtPy3_6hxC~6@O_9RY1xoICr zwFzUi^M4vzSDbxb?>npYm2t~Epvh52_-#jcNS2YqT6&_03zE`6kA+357v zo{?3@lP3rlWiMfn<~+5=!@Y6)H+&>eH%}!)o=+f+ z@-w|`>ClCl&=9hR9Lm1K^}pmrj&mMf?Q{;8UZmj`aZeTN!z^Q* zai^V*iv)3X?tMz0cdD=eh6$+JK&>96+`k5_oZN8P&Q5!@t`H2}m9^wQT{WnnJ5_48 z&En#x>zcLe+C_gGxSfIur4g~Wtnmee$Po~-^q(Oi3*y7P#1f1_lPR)<@j59+5o8P! zwtLhewl-U8oVq6oNAzC6xjjR?w|386o!CJs;I|W@gMT$gQ}$B2$76D!vhIj-tFkMZ zDHR;7cGt2j%g9aU)8|XBezxPCte%XDhIf?vQKrIcZP3V@bMO4h$`D7|`v?XCA^%@$uia(6PZDuVIsTNVRp};Lu5T7HKs6z(_Duv3 zTkR2+gc;^r!GIfX_Qm4Vr!Vxw!pWY>jzmAr1iG9L82hs|Ubp#y4e ztq)>p!5>ulJF&gh5yuKN#WUz9B(H4@l%)O2hT3pP7$v+Z0OZO{%pQ+^!Pa7f!w8?0 znJtm<>`2i(4X6#t`-}uEgYC^cTiprWh_{P_EE%rV_zDmwVV%FjiDqixJ54>y!wj^ zcu6-KEB<@{rzg>&o{6MdBy|Dpr6sk6OKAN!xY~-pONM%vikYORc#>0NmC>&G809cD)qcGiSXqFFT&tuP*GL*`3BtHCut$LBVHD*{ zRxmPXR{uQREF>~u@x4!bc1@9*q|He%BqG98Lx#C_{m?sE;8y?z1=?j*wn;A$)~+Uc zkIh30uM*lTg6_o1StL6(X9N|lkUI0qvNqaR9%f8|&r7n?0ucu}Vb$*p(!;>+X z=NuN)s>Y?7a^%OtmY+rr^97TT^t!(c=@u$4DE&N z!33-e$j}3>?jw#vZ@Egt0I&&xo-3t=2EYV^JA5S#e*v7(_oaE8QOQ^2##!K3pMZ@1 ze7FL%QHKW$t2a~^c7$7>fiw}w)UiU=P+nYn2{m>S{h+}}hG6I?gpBWBv$5||!4Z13 zok!*Axw|eyc#PjbGhd|7Pmt3;&6kGWP-3S@>2{1D1HM?)K5jE52a==odZ;N1!C$;J zLfWWb)qxwHV_U9^K$&o{t&<6U^EL|*pb8<^ho@Y|?gQWE;&?Y)V%^Y?URPF%VOZfx z2s(+!jk$7FF-Qmz`=v9|5&N7w$If+M_LA474vBaTP)?qmZU+wqm>d*n1zsyNTlueL zcJ3|dRYWb@`QTN}9x5EzC8;sx!TC+K^SY-2Os25W{Iot;C1|=+er&+ASP6gq}6WGf;}z>q_=^ zqTUBqlPX*F%|>o_{uDF35tb%xkzg+XY=07I_G)BaUN-6cg!FlEbh7&u?w|RK1G7yyHL| zn>N(q7-C(ZRmC>!za{5d&l;q`03gU#s>2g)F|p*s;mf1o+$`Iq%RE0d%W_+Sygw3t z`hF|f)%&Nkw!)N>QekWo$CT}!0=o)jQyGXaV=>q9r5>%xHV8EZrL}-$*Bj?#Pd3M{Xv02d?^o(DcDv+wn8tBsprlX^UDXDwSD)YQvMpG7T%GZGG2kG74}4 zC7A00eu!471 znwc%=W2c1=W}`j&xkDg%keviz0gU$QRW5m4D2nkOoZ59{iR(@WF-zOHsrb<8k3}?8 zI67YaXWfneljdq+hm2=zQSFl#B2YRi^<=2Z;(;1h-M)L&upc`P>;P&&mA@Kbo2O3~ z?y%MKC&0c-hazuRp@q2~XZzGnWqG+C4Glqxm<1n3l$dAb-+2YHfX^I&4k)qE4RC9D zZuY&+a6ihf6|=)QTa)D?DjUW;9rtf7=OIc~N>3Xcp0fCLnSSTiy?CbzVc4@p>dB-4 zAW(-lCS;PyZS#d|;l7YgOU%z0UDLlMKaEc^SE##TyZmo-w;jKP;Yo4~`-_S+>*)BA z7#j|0^&DKt-AnHPrisrxmRgg2E`W0(1lL0)zx}L%y>Rz;G(wNrY*9%u^U}twu2QSz zx+p`1ox<({VkAdY6BK&wh ztrx`G5qRSQ_1re{@edI2Eq^a^6m6a><3W8iHR+^Yp9O3PLy1=mze1j70N3=8!9!h} zTHWh%MuyJQ8EwR+Faornx37yZiy5Cq!V@QO4ayDz?Ha8*z`!CDolCvinbP?vLRxu)dP<0r?(m2 zxy-U{;?7W-&(EF67yIbR)W0JeHiAAxcmbWC#QY{ppvvn)CbZE+3aVxL@#>vR0WvO1 z$h9pam%QBc{qGGrd*TB)18z&}UGY9tMt(weQl%KEQ(V-B%EUZHWwL)Lt<&NK&VSTn z*wI~auz2digv7BTyB2awFule{z{yENmOG<7*0y{@owAd+h|1^ z7Q`c%`yiYgL4Ck4b&NP&Bq%nvTJ#11DPD?A&28MESMQr?*Ei@uZhKFa>$2z`ox2RY zePBeE(`94s6@Cm=|K!0|-}qi^z@~(0A;Z<4CRwpR!)at(*Ye9v309Qm{e0cLnJJXC zB;j3P(x&-v2GgUeJQ~yZMj!nY8criV^pb++)Y*kk3UxP_tEg6C5dKSe{O3Ra`Okm; z^Pm6x=Rg1X&wu^{0B}0DGFUZ9G0w*uN3s{=RQZ4N|FHj`{J#$<007C{jZu-ub(K9` z)t=&_=I%C!tt3W~Hc;3q_^i-HvmE?^0Mv**lP*u4a?pUvt$vY07Enq#jqUjumT4YLruvC^^}LQtW` zB-(F*t4zU9FzSdO|0*i8-E!Mf?|guVdS}$j{;rfnlolFqV{sPhs`Ub==uvsOgTdR3NQL0&1hXtNaSoR+PeT!_|XvoNiEIwpu!j2sK9`I zU)Y8^bip+a!KW|PBHXTe0s+@x=IZ3-dDk&`Ln9l+6=BsnAAz1J42zGEfcBhU)`3`G zoK%DPVeZj5_LMk#6|MFaZ6F!G_YQnxo`=7Q>dA>SBP7@AJ5*-&qhWtmfmT7+`#w)R zu!g;y7Tjdyuth5@h7lFL-!x5>avF@wN{M&*d0f95Q?~3{hRFpCg}smwblQxIJk)zh ztrHMk1yTbG1(f_4fqJ>#O~Ee;9A@e?W02A!57gka(EuvqNZ4O7W!jV#AGS#6?_O;1 zc!O={`7{)^lAWv3baIlzig4cwqvqXC`3RGAv#QIKZzQzUEDFV z)yy+Jp)bk|-w$at(NVeFHCe8Fw+vsv-K+s;ykUpQ0A;KTqN8Cj?N8|iP#IwnsaoxO z!SY1B>2gI@SWMk$8KV-sL;^qW|qlgYY6*PBh| z&aKK6(Gc95n9#{r;pwj7*oGr`5DDJJy^`&OdkR1x2Xpe8_#hQN%Di|F69`iDylU`D zG-Ygrxa+e#05t>+`okydlEyJg`&GL?|!cWm-Z=Z|z+rZa?a9UD40zKj$gX<;1@29Ft-NQM6JvRbBzxP21+`oZ` zzi;uVJX~arf4PP9Wklo{S?Wr%+vH#oGjN@--T%@Zm2|`5AHSPVYV&tR+zilxHp|>s z%K02R@>zc8PcyY1P=L`f4*|oV5SNLRVRcXhx;`s%c-BS8c7DL5sY<0|O&y=4XsG&I zC?w4VHUr*OTNG+ze@|c-xVbbN>L)F|+LKklzer_pLgHiJ(BPY($Q*Y7=Uviyg}pK= z=i>9E7Wz|+-mQ44VW4SR0PN|Py-Jn>CMW9mjJ_UiA-4n1`=_c178{v#>A5?oQ2RZ8 zfeL=m@Q2{0(w1eEqdS+@=WCoapKWUt``dsN4G?&KNRz4;l*`Fjc+xL!iL{I>FZ&MT zkQQ5~W7xTWo*yT6={Ppr_E0|WU^RSN=6+qhDMP-zDiItoYPt`*Z!(eH?FtL-`?U%V zgwNyCFdd#LC-kgsQ-?c&yDC}?JUvH5j`%YFU}MDGB;2*T{rVGgdAX60Q5x-e_b)k- zz*XEmg-orb#(AMgg6Kptwi|3p%L%}YO6!`LpPV@6J1ewS@T%#mKkA}7R!eoT+P4%y z&DIjaiRjbxa3n%cvq!E2gs4!!Q76Qn-vISO4U*&7RSItpqRZCWEH~lxnkP=Lr%G0{ zGTG0qe>>{p;b)5^2^}ZwzU$?EdY%5MMT3RAWvu7Ijh8W}ilc*2 z@*lyls5bXzZ+DM3$Y*}ndAoD-&4#0)r4xzo0{_G95;jYB=#~Ts%GsF9tq4k)iQyLe zs7enqDL6XMI}{EccR!Z(p>`5pzHi%?ew*&FKK-{)JmfBbso3+678}}O|HV)pnoakm z7DS3ARs2$SDTeZV2nUuh3voB>Bc6-B?J{-rY4XfIt|Z>POa_|#*Q@X!z^G3FD35mJnrVw1cr<#xuxJm4WXsM#>T=@4NVBCSs z1W3b0aL9t5Y7}oiUFlkvDf&(QC&~ik#iIUobJ{vPqQ1aWV`;)dlVOum+Q*P}p_l~l z5l1Y5g{zWlE7`BD8)P=QKq$U>BR_GDV+cf6IChoPkVGHM$y`gn<1=yg5R2{mX(M>9Gko&NJ?Qz=cJe|k8p1s2mr}t-*k47GL_>?Er z?eZX!wxS1liRW!#*XrAA>#;ZgMYSE0UQoGYtvKySfB9=ea_5Y6Wg?ZJn*mD{650Q%3_r0&>&<;irhVH zSf3o5v^_<8Ptq7$EZa$#zMUCeF&QzQKKgEMlw;y%wyw@SH!XnoS6}dD{Ebs;*8FZ^ z&mwz&cHD%C8{guzmS@jmaY zDm!y69Pv`Ynw~f3h1bi8&aP9|X5_S6%sf3Cg#Ea2X^$;=>>ay*UeJX@(U~)ktKfJg z`B4g4{ljK7OjHIZ%jU}Cdxvj+{UW*&2n@a`iCea zBs!?RwOie#p3HgGN#^46q_L<4GjfeJ1ISR!M({}g+Lt^eMTg91hmw~!C08cz3trOv9)W!J^Ha66sJ0@3r3HPkN0DE+6Muofv7DD}8?q+)OW^0uTMjd`^KqnLXg z;zhO5OQUOKig9-X+EN|OWG~x8i)8+=u*xAK`cx{4DPK{g`n^~J&kUk*2x19vPe9*a z8PTojobR*Tpd`(l9O~gDASOeE5;>HMVdwFLfbqd}mh#iE7@c`?Z@~p_6d#400Bu@O z>aG?JZjhNPbXFIFh9#%mn;nBVU}6w)fsV-#tAoMDI|N(ha!bOlyLAWP7h0bMyMaUL zb>VE{#@ROnZxJ19D~%9COuId6OyM=!T}4F8I^Ov=CdNymQCxYyt@3l5bK3rh!TzQ~ z{A;=-O3kFgC23=duK)L1;Jc9ULc(Kn$be33n;NP2)#&S*{qY0}HQ+}qQ3txw-r?(< z$bC%WXV_Y||EKetvcGOI^z+bzou@x!Sa(eDR!u~gA?o4hc|F!MHj6DdaOGeeDctyU zDoGNuj>9U>!$~o>$lj>F`Gh1UcRy;D!04;MJq(p?pvN@*VKgV~_zz+%slK^OSABZa zR)W3W2qav!mC%81HbE?E$|a^Jw>*GUd(LpPi>c;4=JDJK5P+#tfDR_IVPpfzZ~wj( zxWFCgt1B!jskahunq~yOw?_4lxMX@N z*~|c4NZ+{B>m?@{(>Z2LYZhG}0Cd!>5p3JonG*Py1QQu_preX3w>5X@=}45J6Da^C zte4`?q<({`cRDOvJOSreq^AUBUo?;tJT*uKAP%1={-KEeY`+RH1yvPG#3i)JuFgH| z{JLCZj zp<-!)8Od+50%$cnf4D6P)ZaA+)}a9=c0ybe;cAcqQnV=2;0lD5TMa8tZ)~G|geW<4bGmtHRrH_5pm!NV%U?pad ze~QHLJl+IKA5O=#mjKoPSDt-0qMM!Q_+LGR+h*G5cuz~%>T z!5UWxUK3_4AS_;Z&xsj{kIb^D>VdHL^4qn=SrwoDrhjJn%RJ-+5=T~HF1pXx5+!OW z+LZG%9mRy?7)O}==8(aFBlJL7ZcaC6v4ad=8rq~Y`0ESNY|mIhQ*5V zo;#IU^lGYIx~RU5hP`>z@CC@t zj6|q8*3f^J=?&6r&3+_*TnZnm{1c6k*uwGIt_>#1(-XyZD;%mC;8!ba%0K04I&TO< zXDqD4i9d7V%piMY-cRA4?l=$)J5ZNwuk>eNBx9`^3eeS9Ucm9;U_E23fV5zL_*PY~ zg?r@!_f8+5KnFwdnH^~HVg^N9>L>OJX$Hyc7OKkfKV>{5h z2%CzP7Wgrys3<+c9&j<2it`jKs0sKL~38KM2tqj{vUv-9fricL8q9&0w~RsODN zhjCZ-5~)KjYyg{BNcx!KpAmKu#YSj4h5K&$2oy8LGRZmVIoU{dySb$yyc97eeIA3p zlH?A|E8D)-!mi5Lg3&KIt=Fdgqi6#SqBLEyrDG{j9#HX&;PI)MQP53DUY2XnZwJwp zi?X_Mtdkh5qHhy&(Q-GB^NZLwQk@dQ&!mmi3Q$EfZqu(0X*R$*zt4U!jeXQ~U#Zw4 zuzNVv;MV1S>rXF0E}6UpbTdq%za+??lkp)#Xsl{sP^ z5+Y!4oIk|T7R&$=S=t`7=P>-OKqg|)fE|e-C^d{{dtuiNxkp#gHSIkbS$53#;$X#&j>KB8Cp zfYTi(;W)&Q(4Z_0$sp9iso}boyEx;wv@(_?H(V+S@}m7}EHeK3Txx~|=Wy6bM(}PB zW$EipEQ+9>FRs$3Q1=@he_xlo`;Tde1X>iC%R2K)qwz4wQ&hW#D%~oVEL}ZGN(p1> zb0&9ppS79SzxvMVFiL1(pLDmmX>z^SD;Y6kxB8kM%dzr_ikU-{_UibE(93o>OSbgj zJ6O3Pr##(5&=^dYz9+db#)N^b#Opa22udz0CBT-f%$Q8c?tB#uTp+tO4|J%Y6YL;w znhRzemRde2wsM==X+)T28B24Q(CBwv&SaN>ZzecOq)=Y1+hNA^R%ZDbyIVJ-rcz}Cs*H1- z2`LfSH9Ur)HHo0({9ZAtvPra6H-eO1IdGM-Ki8Ku^H-s%o^)&m`ULu)H>^12;>~dI zqH5Vt|7BXi=Z(v{2%dOsZV6%YY00djWpX;;`v;4B^^SNX$`(E zl^w_e1QP}2+Y_a%fmky26G0hL=b!cNZPeIMd0ddrI90ZbDJIovLCcK_caNdIG&tx- zuuTgLdM*WsB9})S0ufphw8&ZVU4xj`*zLZQ%m!JNW%V9w!U?${54&1Q&;DI?ROst? z`9i72=?ob^Zk5*AU~)#N6nItU{AD*T{NmOKfiT}1LOerGn$?+mpNp!vXbjS|*lH$m zD1~FBrnRUIZ_4dRB>J zAU1`oi@hY}fz0Zc5JORF`E)^IAU-7BNSZLMNmb^6)wfNUDi|6HC;wQ{3MPG&G1`|c zk;iSYXiv>*tDHWvM_R@sj3twnoX7ymqg77-K98ooE%IsFVVRy&Aq|UB^alaf1@tB`o z`2Cf@C}X=%5UFj;%v}F`=-*^ys|It@x9-E)lOWT832JbyOdkmt6SoNY=HW-KHH zAcA?Jyrc*?Xsb78ryE6NezO2LzLrdz0kFVDj%>8gnC$eq^?>CC0I#OZx3D67U`ni& zl9cu`IWkAhk(g{^m20fe!U{Gwqu@w#eT-~8a{56vfy+C!Zu{0`WI)nH(jOY!sN}S< z|4qwst@R(~diC?s{oDFM%Ro3h(C7fsIH&E*9T=Jbc*R?O=BS+9=FC&}i@!+Ph#n4_ z+AG{-t;QQ;V;?Ad>pEQ^Td&;;>i1@f_{uzjm#SQ>uS%zc~Z2#f?n zq7kKV8r)G%Ad&ryPx#j$XgA@v9b$G^) zievE@dmCOEkBg^A^Ox_PZr}Zqe#%bD4tMBezZG&TBr=-|k;l7Yp_pOF>a{te9(Sq9 z?&-Dy_`az;Pi6SRU`H^_SMEv$R>OA@Ge(xu)O&1S+W8(z$lMV zDlaGAcEkA!Z~;?gabwsD87iXo@c}fR}UGL+Ig9qCDkKYbb zY;#lo)OKC`E5IIC5Jewy(bhmAuYc~t24hPhqG8GDj_#H4tKbMmu8f=vAoA+sIJPdH zU&+Ej1+%9}O zVDMSxa2^b&Mqsj?E~1L7>oGkA%FxSQ{75yeq4P$_hqH^XY_S$I zrl5W&x(afTWpV!Lv}RfDRwxdjS>w>_W*DL13-Z)m?~Ss2lzVv4ZKY-0{p~#8qw1vK zo;T!*FV$zr%0BTejySZs{aiboKBR*pV#9yBA}Oh%K0E{C2noM zNr%bY($<=n?9Ewk*RtyaM@;Ozt}>Hwh8s4d&h5o`=@~ zHUA!vga?;4_Q8|Kk<2iw5a|K7$smC1m(gU_$1@DU#BXAJaCR!V%IDMWW5{sZI|D#| zxP`EJtmpzUviGX|<7!E=os~lAt{#>^dq;@bSgM18Rp=_+HLwo_E#~v!Mu?M|? z9nudx7KPTI1D<_mVlLe zyXsC4@pmCm1(xLiux~Og0I*@n0r-ML$yOA5Rf)C&o|SM7Pk!3N=Hl;Q$qjIkpCjo1 z!v65bY4w;v)^R1UDVM0@KuWS97tXBB&Rmx37Kt3rB2NOOQpcl2HreYzs)_h9Y_;P0 zGlABPZ=82SPct3Q7V^dlil=zBTX^k2<6~B>B-E|{IJ4k_T3c|kzqBIJ74Z%d&>B6K zO9G=`Mb4!8s@{(^r*+`zp4I#FfB?@RKMR%vTw$NlTZnH4Qi2D&;vlt7B}9~pkTTL% zP19L`)xEJZxWMgxLM?aoCRMqK^Mo|K>WnhBIF)~Co|iB*&*o1{%;@^Bt>KS=5s}j> zTIsM-Yq5m((E_d%uHK*>E-%Lm9gvw^!6MUEdk>)MXi7%noDhY#esZOL&?X&&sC z%h07BhxHRk-;P=)`Gh5j_&@_;d`V44j3$-D{o+toKk(N zKjcG2?FV2dxMSC`L2m2M^BodXRtob}tEkxs71gn8!Nuzsjj#D^>| zxBkf8OYrp+1gXO9za2WH!M4A7cXk=ITyw}~~Ofo>Yc=xhQE{t=Y3@YBse?8%d zF{geb2xT~QOv+vM6Qo?3gxa7c5>l!P$MmIWXG>jWbwn~;I7^^w=R(NZ@MoH%XWe($ zh@74+X25b8W!RAjs79)F7}x{#lUnQYe9lZS7BKoFy`i}P(4KS|^(>8hOh@-LQsMe0 z>`YS8b+Ve2*-I#oA*;^5xGgE}oshX98(s3Y9zj5pUs@Ha^c<18apEQ(d4TAJQpz%> zB;cKUgOa_U6K3pgaDG{57R-Ua@!O}VoQ@>Y{=q`h&U`Sfw7z^PIU$1`pJK2Gtl!=fP9n?-db36DNpfl*9i4z`x!hmTNm#kL^Ro_(OLgEKxC8^xv5p z3OOK-i))9G`QUHhnc_r1#q9yDkAg~+39D|Pedh`DCaV?>sX`Ou1LI3R#%H}!x;j9B z@rL-!?~96mg;ZNEvzHYfAIoL%?q|Uh43USJo zLwt}*!VaCaqt1I4DZG1w#f5z6tYju(foyXLME%x-V}0bF6YC`wmTYhzb_XzC+*2s8 znD-bWNx12^IAgqj)xg~TezQ#BC=-GRyOgm3C-j{%Fz;^~-HH>6x9Y;~Gl*7JtLx4L zutR@@rCmsv_~)VwBgQs`IWDT!m9F6$&sZh@TBy{uautgzPcO?1IrIvq?Bvj?eq#B& zbO~2jP$FNs@5oYM!c1kaHH7C7rjHzkCTjOfrL_D@ZWSPJUS#6`!E=HsLohPRB>Zz$ z7>YfLPu76xNW$Z4+US1o5>-OVmz@S}y>Ivqh>~bc3X&x9_sjC^%F=E&8T35#Vc(VF zub0+d?Poj#@nRm?VrHB_w}NUfTQwkHi*(G&L@{FXpZh|*n;4{#S7m3<6F>J_nsmt0 zk#~hVjAJy;RApRcY3q5)+JDr?#1#Q{ib}wm@euo~-9Jl_l7LJ$lyTtuIB<_M+m|Tf zsCxyYrh#0)X6BGw*ao=rviz`w)A+Tuel6l7@=_xEUH*4^RR9GnS3)0r=qsonDze;q zNjG~z2ykhw;foJ<9_`!D~@K-GR`8f+B>J+NP6^1A1QiZs5qR|RO&FZ_v zdNX}y!3Jw6qF`OO-e@!(k*}z7y~|q~((uGZxIfvgsfcI&ftl6lx3`Q z!>>hu=_g_1$3Z#m1bi{Ttw`!i-(R#@`Ud$HTE=-eth#*WLO*6UjW(ELO_6M}XBJ)s z2^9WES_K^Rn7YJ@YV3Uj9CS8BwJk!?ywdXR4ub!P*O>>PTt{XKhm^Z+H{bY%QoX87 z7zn);5G$6eIl*IJAGM`F@4*H;%WrEQKz9evff)yoP*Q8678E}7LA6pP*XcDy?syJG zUTPIteG#6r#MoWhfwcUO^x>4`!Mp_)jWG4DUd(XAa|L4~@L?Hqc&Glc<-6LdDhnUg zx--AEu~?anYWv_j45@mO8PZR>1l-{`KIv!e`c0Ni8~00W<1kX!#uT2LYYh6c=7*k( z?+iZ<1~FnN9}z1LCoI-R%%pyHIf@fE!SJKjw~fjhO~2#{K6F&m`37@9j8TaGN3H7F zRj$q+sD&w&pqK!%?GK91s#vmGbjH1n2{CI?v9W#tClAbPX0QlQ3XF22wrv<89r(Uh z9R*aqAhjA_Cxs%fP}O-DX7C`8mhk=+pR*_vF)N~U994D!!li!xAzc1JQ2MNxSUAbY zmzA{WlY)d&NCfePX;AKv+#MmQYh#@P*n7<0wzhlk=*J61fvL7h72JGDYPvA^{B`=J zE@J=`mTs~_m^>vkKs(jHp_d9S!OV>R0j1BoQ%aM--}OXl!f|eRpXRwQ9B@yoli*X` z22JQGoyikt2ctr7_EdPNqSd3ZE396wCp1*5xG{?7VQxHw=vKNtYy2g`a|gVycm&Bw z!t|}j+zg`Pb|3$pR&B2vEYUUo#5uQ$qwtzHf9l9S)YdSUCTTtG?Kgr1&$8&rOl5Z7 zrctw0p*b-zm^0)qOxCHc>g(w?V=Ni$WI4b*VG>g& z;oes49(i;E7M|YY#xk->P=g|}xC##bZSWvhcHUPAe}quKd*YgQAmi`c$h}aecunUq|>lsyd-vJ$A<7q6)z|OT-(Z${JJH`AByHy>Xx0N%e9(LrbvmEf zgF1sO(xySEg)J;YGmNYPb#2(HVqORPo&yPz_k<5{)=6~?5zX4RI6Uu1c*t}>Puhmm z>yh6QE*(K7P3kQT&K{BiMfF)H-Q!cK+NChs5}zuV#jCE9)_S8S67# zJTA}<@ovR5&m@y1AruFij{yBsT<)A`w;D(%$pbB2#g^wpo4>!f_s?l)OqeQ2l@w`P zY~DGtr?ha#7C{A(&XX)K9>8+_4@WVg-==Y#g1y5Ll9LQZV~P_{v&~I;fo0w8#lVCH zM^zrZB@y|r>`W;OHEyk+^-8;ydQfSZ5uPmR?%u2;obHN(?A3v$8Bm(Z4&|%nx7-&G z)BaUH#pUp%I5zU#(+Y)cneLI13ZcjP^D|YFhZ^Kt(>WNFFuK)T9FA>jAfF@2TTYGA zL4XGYs{ejQ|K~sd`Okm;^Pm6x=Rg1X&wu{&pa1;lKmY%?cVnAmc*;v{{@wHMmlfyl z|K|VU{@?ZgoBzN5fAarF2^lCFIbGdA_Fl;R$D7+65s)@a=~9P)grY?3OnR@A<=HEG z<$JwgH+W0Y`&n>jt(9OS?4j^?YJ{j)qc-O!XkA*P#{h>;;Wr63lh3}uf?5yJ{TtghNm4x3xMyuEC!dsy7eA@S>N$RVTvFP4E1zM_Mo3>F<+okt35K!j$_G7)Q%RLAboR{2+a5& zW`7qs)U}OWOiM;wdEB&A^l08{%c|z?tB|4ytMM&jU_LR4vyDLJe*;*OKo|L$c)N9V2~lwKbk_7dmqBg=JBx_GwN>ODBm{J#z7Z? z{80B!>OTGFKs?Vw&#TR3f`SlRjwKdUYVYB)cYw*=53?vypZ=W8}q)~n``Z&vl1_L-v zkLrQ#y+QGP0R$+EbM@GXemd%LS{7DhTLv`3z*fS))pDk~yfz**qkY3fKo>(IHgRwC zi;3KAVWi*hm7j0VuXk%3(u<%!jPa`zk!+^^xl&L*ZQjK7QsB!nH+GL2tz3c0CoiD&Wj?}PP=PS zDpe|dI3jg)$o+7k827>3wW!9I@$bYTXU!fDj9Eyk3-v1v*{q2^b0B zA!DW{NfLSM1dzn^R{0Zsb{I!I~=QuJVO#fnL zcv(tMx(m-X+2Q*HE$vU(#3QmH?UyH!xoY&40F9_WgVs;o(5PJq{*woMM#++PP^dnuaUj5P^DVy}JAyITUT-tC<-Re$ zrU5b-@*byf76xGQ*cks*+kg^S2E#tnexe6>h7OjGwZz8fd}tu?K--?@7M^>si|+<7 zG2?Z;8-&t?R8UqhBvl4*`uLeySESf2Ee5hgR#q>Zi ze$TPWij$&;Qr6r99^uXhQLBI;E`H;Aa^vh4k?WRIu^qoMEd`x78s2DDrv_eD`!lDqa7hm1 z(!C$tDK!|2;#J-<+eADkOMB2hmP+Kj^_@4}F5fa<_f}aoQly0Yc=dua;!aH3)FEhe zqKrooM-0rHo(!XXakQjyl@h;;61~uk*PMHSL>7DP{(PNtQ(vZac=v~GC&EX~>|3^7OuEOsouT41%EC$}p} zBXG00a#T4f@^M*vJop)*&r@kyz?SK(TcQUq_7`=8O4Z`+n&ZXkU6JOF0$ZZ#+VJRL zPG&R77Weq*!MUzN{c!!Nhuv(6<)q3XM#&22%(CD01A@CYgA?r(ill+hG5FVHG6$xJ zjMTBERysy8jmDcWJ6CgP`0p;0jB+@~bZ=E@ z{n|b#*opLf$o(ZEO*+T8TiZUP!C?g+dJ+}IpZsgcu@-+>SeR%y7XFI2m-QkED% zu*4c+!|EdmZ6Gx7upzd%Hefm-lYQy9u^{6OK$vpzJPy zCJ5@@JqiRB1xO~Eu9-jyK9@xGYg|HPu);fNZds^2E88MKVqu?X)AoIE#53&e<2HQNT2Tuk%idAoDJ(N=xei=@$ zslKd^N;kYXx~6sBohN4ky^Wp7*W3s{!no<9+eEs>*17atL{G2FBGeBtZ>Q%{@m&U% zoNjH;hvbi=WKfIfn~CYkzxIp7Pl5M`gdvQer`Nptd+veAaD;D10u|Ty3I#8{EZSZA z9UmHCjl*cVFkxxNEN^W|Ps7d4{%~y?r8nbX4a1J4H)@4m=1cCPtY{!PN)F(Mog3oy zUqaI^Vz_Fi7A|^X{A8ao#h>pa>Lv?7Z9})4Kbwgwoq+h#hlm3b@H#M}knwcSb=w;@ zK1`79oAdZ!6LU54zweiTd0<$@v|epA|f>?*-Vr9L4rFt>#z|UA5%U#PN$#nR>C67@YJ)8e`2}j80~patj0u zLTP=vGOxH+U5BDwhNI7)yBnZ4lJZ_=~*yFCp+LBJs9i_=s6bx z(Y*GG)5!F|Z`Ejl5nd@qSRf~1OxB(&`fcXvk~|2ErnIPvmN(IAVV&xSdzrQ(S&BR| z5)i3qX|8m^dU#`NmQ*L{Jkds$OCpsLs%OTZ>xpo?&UDyeoyk;LJMh4kaQBl23j^Fo zmf{Ixdd*h+3}%?8k5k&2J8?H1oe#9{U}ur6R2y)Tsx0wyHDIvR!DaW9q&t&;0?rn^ zB2zoH^JCuKZG}c>ZYbhI)_V^ED-OrDCM|y{s%`usXNh{dQF`#8G)2s?*u)4uCS=_i zuqhKxM%SA%{a=ndgf3cNO8df47ROBkcYDb;UC%up=3e732D5;}WNbA{LA{Q| zaB~hh%s_jamI;+*zt+Z6Q(e`w>Tle_NnO(88A2+k}z;{(blVMxw zl3Ud?NyNYo=wD795>l6A4_`2R(=vkY#)nU{kEr_c{M$-K2mbh2B-f`W7@m08Gyv@A zCgjtCC4w$N?OCb5s-zwFF<}_>UXt2VPQK1xFFXtIlM`SD!TnBkK2MVyXnp)L6yM*Z zdiurAJ>U2^{GaoAR8Y=`z~7#LYK3D zvt1n(_2TTz&F`d6lHGurGhXU4{<*Y*7d_%Rjnp7n2NAoBfTJ@LZ4GykNxk(>uK$57!V-b!jw-%;6C`h;$uY?07Cr9>9fLE#!L6 zRG6L}gO^>Gq;CoJ{m24x3hnT51%Ntn{w^R6Bh@)@BiJ8H2>Ou!j4~`5_ggY0jsk7K zd-MGEo^L>A1YN)n5sO?kO`hOjuQEK78hHpCahm_0e;VC?-Tpb=Ub8^=#ADa$T(lPv zeXgJoAs=U%Zjav5y_w^~>M}^t2QRAPK4P{B55>1?C-c_4jpRPYq4;8KrV0k1YC63&X;~7q; zthMXK8-DSX0vW2J>8e8qscNdIRww1k>Nk^{F_)r0qHdT4ZKjA#FSRFt`?7Lm#be!8z?@9sz&U`^#n@M-s z1>(_frJoGgq}96x$SlE(90AL+m*~KH_4O{F=M)ND=b>Mg&7Pjb|B+3TX{z}KgVpqz zENVb;3pP}6S#~7olm>r!2O`snsb5CS5FnNbFgnI{y1GV{fLQNQt4EIL_fY2oK9ywn zJcc9=_9GJFG?I5>`~*w9vQvHl>1w}9B|E)W`bNzvbBe$7ucD;$@Gq4F*9NEX34j3J zvR%27OO8^jO+m%VhxAn41b<{766z-I&im$yKc-k^A<71WNk zRT`MJ*yHTsaH%q?N4@?&tmO;%EkI9h2HG6S7@}g|UMj#1PV(rUZ#~}0rWA=QW03cg z^nJ#&5JB2#V->9Foh?ZcQI7+c?&UCby z#HQHHTztq}8SO*Wluf1|Sxf!?5#VoOj{&4fgQAmSvz0HPH+3||Mf+v|qwlWS491Hv z#ppj&cCK%FthMc8TO#$M6raM0b?LH~Ex zXyeGbi`2;q$-n6Q@_3HAF2diw`?)Tt-n zQ6eq@onxF8#2N2Bn?gT#ZmUp|?Ccg}%oap)hAyizelVcJ$7v7G0F+ORt-*G?AUw#q zi@Xa;>yR^clVJ-&WdY#EOJo!c47{X6Fw7B-)EynO!eq_DLFq!4YQ?yVm4Y%XVQ*|F z082o$zvfeT6w2>4FEAw8lH5h?qQ6Fbp%{W;WjD4XbBx%k087^g<)JSFys(N#I=Yz< zq6(*RLphbHz*6xO2L@tP0dp;!8`((u;{?3d2Eq?nqeHoEbt}P6dzu7BH~F=pIil9X zTjdkW@6E{5h%?}@jWE~tn1$Vt21Su`nxYjbX)Y~uu9;t_HojkDmfeklZWFccL~T5e zCs1NrXfb}?u0<4sydTib5!xW5w!c#Rp0lAVjl$KAYpL$yU+$s*im5ki7Zo|Iw(y>6 zG$!pdTIxV`G?4DCtOk`^mWUEvndI=^yydyGKj(QAsE1<4tpKiF>G9CtkN%J2+fp0a zG%4>wr9gj#dB|7IU|6w3IoBhkexo&gbpQ={T=!1VcXI^q;SEF*+0(mfX0MZd6CWaw zp>ucdGxm&BcDh<|J_#lXH%7VF4*%GIGP3!0MUTa?H3f5{xCVZR7GS-7U#H%dsn5wXPJDuQKMNYQemWj1-i>ZY}d!!s0%xw}?v zy6OXy)4r2ry5TKx^RNI}tu$DclCF$B9KYqUBBr}P&w6D}6i2InDHu>{Lq?h1pfc&V zeCfcc{L3NooQOS1NokrwC6Jx}me2oTv5{ipOSq$~1XxUr_2j06dVn6y_i|A%UWe1C z8uk^MvLc;PKNMU;t| zQ=_LZi0pyKx-=7TpGL)bMg*CoY0J(?It5S(5CdhcMExliVPJ7li>j7#P%98?qi5d& zJJVLh>RppDt~v4yj_ya}*i}DE=X|?3$+X>MD8uVO6HH92N`mS0*w^ZO zh2bHCZw%vFn;?>13HK@`ThD9VgK7r4yY6ZN?t1>Us}mbP*}%0{QqzIyqN=@H6l!UP z5s{yV^k07hZ9D64e86Yh+Z{eJv^kK9e$kYnIkgO_|-PVb&}3g zKW)S2^L>{_ernC{w4Y|(w~NYq3VNPo#o&m+r`Svkc)1KM9wkCrxn^hND4q^Ih%%$w z`w&-IRrD(59dRwVO{tVz;bW*U0%}iS;tvzNq+M!J3+Aee0$Bi(f4ie|$fns#v}Q60 zYh{NEZwzyTsoO~I4^k`SAQuW1b2<*W5v8!JFkH(HEz@T{3`TZRDWf@<`SePyK*86v zl-A3cyu2|Ty&f7VmHO6HqNA(59UcY^URHcbZ18q-SvLiM!M`Re%UCPg8?zx7k3nx9 z+nN7#JUx=B%GK~1@P7^1p5-N6Gd%`y|WlO!yd*->6? z!ez}aH7;N|{=i0+)5cB{v#$i7;Maod+*kZ82t1XBx27s67MD~^dRd6cs{*}YLy88o z3r;LEhW=$=|IyYlkHAT*=n^ICpykGlAP$3};0B>S?=@W`1T%@B;fBDOLjzAjCo$uM zP(Q?6hsi%niMHYZUIiW^tPU&@(R?_C<~@*7Ie<*~y-S5hY_9uWmsVFX-ajDE>=$`A z&XbwvOsDsZet_-6WJA|JgnekaX_p*+>Mztf%}2_zvkWrIN(8GJdhrN?FTLsWXQjdf zwAmhqi8E#YZ|?GXB~IqhTJRONAU1?DaRVi{;`O}iYPJ8m6!wiig3uOs3OHO-`OeBP zs|EI>P=F`DA+Qrp)oYE4v%k6a_?U@C@`=Rpjeh^S2)WfN;6hpW#~=%*BS*-zPe-Ca z?d;MEEmD*Ly+S|)*rM(TH}spFuPx($i?^hgbt=&8FPz`)0QJgWJV5VdS&g057qDxP z^ljoPO1(t4l*(uTv`8Td#w-WS?h8?uI8#qL6pibmjcLZMt~oVG6R(F+RJG<+#DjPg zhN$yReC`z4Tr^9AmhqGfLeJh4N@N3Ss(|1Xw6qk?$uf(p@%er(e+8I^8k=g7{!dmV zICKts$apD$HDN{U1Zw`tLdWb?LSfG2(dzZp2U6g?d!$|-sG&T=9%7F<*ddOB;uYOr zI+QWXURwx4Y(Y7;ID8J{-{W&rh}=IAZ0`RU~>2Eq~tKRbMM9ZXP6=IaFX10@+=T_ zL1PD|uh;BixWEn7$o+(^6)nYcDs2HS%g&xcbabcfZZ+;t}f@we{St`o@gS;G`# zSSo;&=0F%U7C^+{v%p9ERACO}owi1Sprt8j3~5*KSX7|4QO*58(JI8xX!@9`U(F#Zb zHrr%MoTGU$uLxc0gVXdJFEfm5!_s{vnUlA$jm0`f!%|`w{|>q9pEJ+(4o?scl2ly({%;)9B@0s}NxMmAU7($l zqeC@tKU^o+n1@oh`Hz?UtJf=yBnp?up=afa;L%PQ87zpcI)9oG;=d!jkrj1AR}2MK zep)(Rp79nmbzsbe!ir{Uh8-;368`fweO{5^{g3%9r}&$&b#~m9q_o{?mYDl2?gf4= zPr4vF)t=<#hi*V*Qm%H6Gf1W653G!U0$LnOuq$FZhJVb-B{jH6!hzs$sP>F*rDPw^ zq~+tS7*LW-Su%8O1_=y%cmlhX*cIlMH?FF4mGME^2gw4QFEhh$WxpuHn0B<60)6gk z@xq!Ez^W@xmk-Y?S{0w>yb?S2d54WSGP1F$dc=6<@jC`&xc~M&iW%_=*d=hZo?@8y)P#M{` z8ZvsNnh;q9tE&x!cF{qR`K>8-@X#V?;(Ih`cPvWbYZIa*7-;^uXyF>PejErG%CjG! z^b!_-pcSw&(3H_}B$1I1GHa)yuwc~B`0u4%SgbXkDvK}X|tpIAhQrAJhqm@so=`k1+=!urg!dGMyx{ObiI`CBbXHnLSs zyV(}fi3;2pbT|ksD+-fbiGF7Yh?T#7uRTlH@VAQdK?7Wn^i>rFJyM8ZlZ@yitLAxY zPtv!cZVE+c!JgZfLw4{A{xyUQ=mKecF%l%dm6ioz069k%W#OG=^2R_hRly+x^VQIF z+wmf{Mz}Ip^v&V+u>@4^vq15PGmW71tg7_lw#4TM-Hln7Qq&qxun+8zawH3a$0zv> zIXfp}VqJ-v3Da@WLIo^?@Q0kW@GHMxji*|Xp^CNDJ_^NkB7)z=dk$frDkigH-mnfS z^RTMFi){9OZ`toolEZh!2VPojmi%UUINd=jWT;xb_ip8uJ-YI2Olk73fXQIp)j!n- z9=dHd#8Q}}W+%;jkYvf0xV7oQIQrh}I7`Ur#A@!E9A*)OTjGJlxf#OEDJ)NuhPkLp zHKvU6NFdl<^;HiU$u7Q~2HjO#>|epPmJ@2y+DP^8rB$LQk^Ks4p|XKuVr4{MaKfIL z@IaI(Ly{&whnh!GP%G1h%*oq&{gu%WSZ>TPHj&DVv6~jrw_JF!>M_3 z$XdI2aC+JS(9jh*j$zwxIW9;9IszjrE_EvDXr~*(>zym$1k%g{JgCWx{u@r-o`ppZ zcMNebJmBCyL1x~Dn#1mfeJH}Ol=V=!ja8-R|2kocaay(ESmx~^MR@(N=A!lLV;#E z3~_S$w|KJ0gWK;rzN8Z$%S7Z$|NF#jDJ6!HGKCqGFIHA8IUcjWHSB!CHg4`~t(Eqy zy6iU#B&t*=P*iJ(+(BNaW8CvWu3yuQoEBtz%WwlIUud}gcRII-^U-R}Hc0Zl! z)Mw~i(%qJaKydBy1%Vr&9|lgPoYuwNT~aOsqjm@p%3CncP1jtaCMqs!DsfD?OH_uR z5i|16G5>u!!Fg$qC}s3QfS>@eO?35&J6<|Z4X zA&2hg#;Wg;rubnyWI9lhz!WKvK4i;#&SE2i%Vq_UG!*kv<;4gNLV)=K9XN23A*mWY zEdSeH^?m*?t|Ow!ub5Y9qhju9F+&k>i7Y_yDp-^tWJo=f{;7DEU>+o(J;*|un+EfP zHSZ3STMqMf10&aaN|6}g)kD!67xC(uFc-rSFb+5^xcIB-afN63d2yXHEltnvpXBc2;9Z`nM#sJeB%GLULvtsW&hB8Uj&V%dVl1|=Ng@oM34!V<6X#Jmz2 z?>|XlrvfA-%SsClQ!4G^@-wSEVSL~L?I3nq2OL)%kzWN(u|AtyhV}I+0@rjg{#TUA zd)eHI5tlSv_+eomQCfd=^I>V}k~+MgssAKUa15c0J1*9ubSe#_&X^WIFy}? zU_*}Y6!B0%$jz?M<^BX*sm{^P4C3a3Jo{ME{m#o2 z>G4_wzJGm9=siXBDZ`Edvy+h}#A2=RM10K*P^gkmBm5qV*JTKhxR}ad9u0cKgdET5 zesmVP?+oa3W!sv1T~Yy;>&y!}TO?0SeQnca=x`Ny!I-XA@2%KCJ8u%O(0kIxy~IPt zO^pRWfpqyS;bC5bf5Bd}vCpvJ5#7MuX}xcG=U}B$zmipW7k@yTpGsJ5k&T5Y z)g`+WZ;Ebc~U43QYR_{5op#a5q)UlRPsS z9U=2L8wa{}#jm{Srt}@*G_L7D6%JV>R#xj3_x;-^&;p%&D_AZdcCFx#DTtpbE%H$> zBjkB7n&|_kM771%;{JE`P>43hy7)i7+$A+i(OqR-UqYq5r^89iI=MdjYvD3d2g_wf zj2v5P)d5BZZ>C)Jx~yleboB~bWqE~^(Yh@U*zGk{5A)h}i3232SQ#a?P z5khmpZTY04*dppKOZDi#+nZbT0ro%jY|4@2|Mphy>f=ui>1qAN)#Ib#5`Pzc)Ux03 z;`Y(!86#8M=qykFANK9)tqFkb<2c246|5RjCRZrDItx^dDHgP|hb z4bmfIlr$)@O^|w?_qyKqKX?!MoZJWZ@$c|k)ec0EH@&_#4jC~IN13&m4y>jm+$-L@ zHh1lrNndXeAu+hF_|qw4uuepXK;fVYAhej&#*lyh=5fPnIQWpTEm`pQDi!R0>MCp1 zWd(eP4Z=mJF)KLDhEe#sfd72vF6pNo*0MYIj&u*)1{*3xCLj}Z)xy$3BGEjXfWTTk zSN-3wIvsW0n{*8R#(+AOWa*bJtLsv5#QCKlj_b}%zH&9&`QVg`AvNCT)OjX zMGs65x_EyCMXh^=FC78+u=DZ{n6X~G`GdNyx1M0v@b^CE7rz@Xw+E_8V`1f-k~Ob;##?kRu;)~ujjf6R z(Zo856KWw>hA66!0^3E&TtGsHz-C6;|87>CjK|LGu+l_xCN#G*K|v&-*t3Bh+qWikFA+CE0=!H{9pb{U(yvP4}4obKVWcgCD zEuRLC!=Ll)Z+{W=hqK~3vy=Bq%p@>Hk12;6i()xe7NxI1sCv7K(l($UlEa3vf=2tS zq9Ws*g+J-`@zoaUKgy`nQ~GVGMY7o!A@+^?!*28Vp+ndbl4MyQPOQ~=ouw3Th^pdw zSIY)2wZLJMxGI=uiS^BT0vk?W*xdbb<(%`cMHD5(k&Dn$k5;6lQDkp`fe=vdMS}uC zlXI;>d-BY%c4`G*@}yNS_r!(UzrPrF?aM2TYJ^3BRX+?8up+Dv`ytiuz^EfjNAk_Z zTm*sX-85rGo1d$`cJ?A|e_a^0a@5QC3i4Y$7_fXcN%zpeNhim?V=&uYLjlwa0Z7%o z_BtybzsEn%V-_TiOZp-bT&J!Sk&!2t%Oy?^{UX6y>x8sec)ZjcNUt@ly%K^-(k}Il z7SWCI>JoylBvcn3hJT!({oA;!=MwAxRN||IK#!h79HVjXH?e46A9jHt@R}&zn5FUR z@5N%5J088J8n*jNu~Tv(3S#3Et`!Pt7N|3y)Cp33fw*c^mo8r^Yj9(J4+#`hvI;%_ zAd1YCkLfNk+(ef?amlj;?cO9V{dD7^`R>w<4B4%t5}3ruzCXVpH8*M6@VJO2k;HH} zU$OMHjDL066<5Gsr;KS8i?UVvoY-Fz-{7#w+V%XB02r+8${)`kfM$l_w>1_>g!W|j z+-!%8r&F5vaL>WG%jGfr<8|JxZRh5&f*%|F~BW z`|Nz{MpOz$?$o@izVhi(yHQF*tltn6M8TtHAcNWLa0qtQb*YY}YfJdlTj3RVxH_%$Z6hmH%G**(~+l6ml|Za2`pfw& z^pk#?5EDAtw|(#L%*~)M%yudl7Rb+iVpys=M>ZOV-MLIlzsl6Ru<@%i+y$4Ud%CgZ z`)mpc!&dkSwFV{8-40jBX20@FX!VP>4Y5-jtnhRVBJrnq*pw z+BRr4XTBy1&w@G{(j84LA4MO6QW)m}!H?-W4}%$P{zeE#kqOO@J8omC*3GelNQ&%Q zS~EVq&?n-m$+|5p>CS9i34Qhc$~j!bQ7EtQ@8aGc#j|)-?a@q=e=(f5BWlU)h4d=} z@ACv^w{W~#>3*I-`r5XS%(TSP9lusDK#3&DpSKnvhc&dNu*hF9?20oivJjDy=ywi; zS*aD}piP^nzO-!(IQnWt6rE2H_Tf^$}6JD9cYbMtg!*BlN<^qp3M*=`Q>$&T4Nz4K5URc?D950F=ZZ=<8fT z)C$@sC>xJ8stG^|iZ`X7bwRuH3A^Jy==~cQBH@Tjz^ZsutLo44VtIOGO8$eVoy?J< z0*{YO0zb~Ul@>`qLWZ8P0LXm!`54XO?Aw%xB^LIR_6^xG(YE{*emNb~$-?~!mXlZv zr{e9uMOd?kfPH!-Fw&SN*7hS}q_wW}(Bd-%-0?3ezD}Rr z6vZ~8wlfNJ{bJwYZzJGdT=kUw){~p*OK=-rz8%e_K)y}#$Awt5lwC|~UI*Tji9eX7 zi9sRaEc_}a-FfwDcL~IZ>YgscAKJH2okv)qzc<1HC?(_f4+*GwWjmIrZKx6JkpN}M zS|QE%f7s>ynXOmm)!ihQeX!hc`LUXt%wf((l!;YO*WN$&1~zx-p-NI8hpoLUJ}DXyHmn;%t1oK*XX7a6Z6lWtD!_+@oeL|f zB$Cv@A&{NtX_1YAe#bIZC;-^NxR5O#xC)Fqbk_Kx8(udz#uN(GcZ>2PUbznYrP<}` z6o~@-{``?sr4i?$OnC6%!Gi}69z1yP;K73j4<7t~afc$Z&5CAqlZ=;FhbG90{;&V1 z{NMlo^#3aVy;1mBSc2%*G63Z0(R5;>z>x?VG43C4(CkeZKm9_jqSm`Q$Qc}y zsWUXgGDT`N!pk$Vcg$8_zl66nx6|$T2%j5zH%bKg5nYI0?mI2EqL*V+pDjI8+Qn=Y zJkBzV+gcZ2tDrsndnv*S7>g%{StpM2J#DWo(+Hy5soRvWy~jK^(^|-f;g5a_oWzyxPEOnmA za3F_3X6qKKcv5+$184*`Y|np{sy)q#7H)mF4svetw2(L0t z_V6TsK*kINc044Q>Zi}dj-j{HB=_AD-Pe|_EIDFVC{i(%I!c)Y_dperl z0gA(o;doX=Fv%U~XU)DLfyts#=jqPa;{EW~se)bHhGNsXHdetZ5P}?I%eK_Y@2W>% z^x8#{_=Q?6`ZJ&4P+@~@yw%izk&Pw^wMV{bPa7Cuoh!D9*>_pl^*3*}S?DzX-4gGh z95Me2TZO-_2;MvzY`Nu0322B3wgaXI2&b5=*L_&MV#{Ojj>MBryK{6gv1XV!rjA&P z7AI~8#4D7aj;yE%@zTvyE_ye79{~|6qo8re?{;QoPQJcDcHR34_q8u0+}8RDZ1Zgr zW!vom(UWJlP7OO_a4vr@n_1bo7X^TLsSuVwl`HjTDzJT09Pgv);fbPA$i(x;#m{G| zR2X@;_5%~cr^F1ZS#+*$kx9(KcG_20jmck?i|Wnv)_etjy~9Pw=jx?hq-I!YD$v1BO>nB<48Gu_JGEP_1!NB`8YyD#-v(bw2)&}U3En+A)`CQ4b z&crWT_SZ{)E28ZA>+FxT9BO7+`9b9ovJDaZid@LlD^SvY?lBtf<>FA2hNyf+G>zF0 zT3KkWEqD$HnHdzlWu)*r;deUDlfW-$e_=;ns>w<2=pc4NIrb7>`CF6tDFEFYTCmaDidEQW5gLR<5Fidlo;@z*QEFCMH-LTBKnQS#c5|)rNYMPf**t>3z)w*@EsS@0T9jE-nr!)*-SmXzN@=5@hu( ztUw?{(X=*Q!wf;7PT=GszNZg^PJ-CWTr#jbEuo3#0E0P>(>BH(RW78XQeUa?&lHs9 zm*4j^{a*B-UA_m54y&;yX(-0No(S^aq+r)R&E zu{~>~E$MnHq)o&EE_%2^T-mcOc6fBhCKgUu_*s|Y*G5@8vXWvE!{MbzQ+oVsvvgl#r*dRQ zFR;7n*9DJXp>4zHl|v@J1?Yl&pG; z?xwdlK$rPLF7wM>8V#RI&}#ZUeE2wuVO<9L`Cp&1U$5&qC#(ls zD}Ker#%F>3A~2m9HTP^$Y*!W7~G!$JW^Q;LlLw67%fug0sBA+Q! z*dL9~f}!T4j!Ue8P9&(TWy6FO3a#sw_zNs(9b}z8v-KZ2pKq#F%sxv5$H_q~5-JNf zliXeQaz4lql&}G`oP~(!oxrwy54!vh7hHe1S}9%jPEyA0@+q&x{FM0G(cNrLg>gSBD&@{L6HGwzb>-y z)s;$p#jENZ7vZi+h*fdcMa2T-4aRF4eg!U_N<1OV=O#$f=l0$)XxCNN2}o;%bCW!; zwp#K&CuNjAuwdGQawkg#RHF6)XO9<~fr;P!TtGfH*R86fPCP1aL;J%}jR%ga6TWyN z33mo4-DeSb;j!LTLEYG z2B}CXqSkrwf^nWl;ewuPM2>dV+b)Q5)?YWPzdyP>@9%P0DqL3HrKn&Gr_paQ_C2Yn??$Z}uA~E@KlBBJ^1YV?K>b8b5F7;kChy)`+L+%&O z^H@^lMBCDeu7-;KkwLu|#nfw1>d;Q~8JY9yK!W-$dH$T7dV{KP z8^F4n<@N?jxtwWc!p!7x(gcInHagVQ9}Mb24-I(@-{-otywu#Y0WrIeJn@o@DOzd0 zn}UmV%%?to6ju&~K)SSxMj5 zo-LXbzh|9$;US!+2=_CrZMmi}8O=%TZg{7n+|=*uhpf8Wd9zD5UtB2 zb!_OYfL}~51kpsMb6iRT28^gZ3RDT+8{tU+D@bfvQBK9+&BGUm z<*kpMdjYb_o^bkhYJCHVBjArI$d$^(}_+_j&{EYW>h%;Z% zkQlJ`ZCW9M?&gnWANxTmOb=XrfDLvY_e>f0LpPxmhY9$OH}2g)#&q0@J%z8V zwrY^4B8TyH!j`mxc_Pr)NJkJ-&n|>Cw4fZTGmhZOw~ZXi`q4w;F<6$PsLJE4zV{#R z3W=^8f!`#$c^)Siyw&uVWqYhu{h`cPc0qh~H6tV+RVU3i@vjh_#(1Qq^!IC_VWMk+ zlVKdZBQ~ft|1(zv6kGT0Lj48($;rx!w?oC>;u^t5Y9-`F%O)|1krpcIKh1ON6*~)z zMwnqAc?;j!h>Ni%qAF;u%u5@xo5r2vqvd;MdEZKShWl@oi#wU zKs7bp67=FSDBsuuU)X;TU3^?uToS4!6U?;PJn~vLYk8-h9<86@soSZc*|>X9O?nzS zH!xdoLC10_6DRh*C_*Bv{Re+uP!6KBR?~2JHVjS+iakb;DD9>=Na5hAiFa1a=Y@J( zT>3qR;>wScfO2y%F9O_dg-nOq)A|XtE#>crpFL(Ieu!t&d&}KLyzmd0OcocPfg>!! zK5!$`lerW}>R*XW|BZw#U_l+B9w{qYC-yqZ=F{qRU`yUCU^V=(ohZ1)3|>_eFHd66 zVZMRYhw2KDt_4v(%$ITRGS>cO@Pb_kO3`J_Al&1WCLRZjOZXJ!#>uLUEhFAorh8m& z4j#_x{jW6j{e9R(SZuZoCO25346;c5SATl0|a~<&-oNpbg7)@_`jrd#Foio^lk(}#9I=(NYEy$r3-7KwWXN(?u4F`OH#3$@;E3@4 z0$xlH&~D-&o|#w@z(ZI62A#j_4%_k#p$_ZN+5a`cG#A_s<1?}+b+Ld02{Ri{5MdrA zP1^Wi36r&nSv+iMpFmt*bI4ArCEfv?8CuF*P3v%kg?qA(H#F1Y|7w{QHj*$qfmN_g z3qX)Sd;BeC$YhMTkCzBfj9(%?foXBg#~=5?=UK;uml{Xy70cfHCF#v@wxwi4%oWsbtJCGI7!GXKvOU z*kV&eu%p1K@&I_%za^iCx|Gl7hwus2ZX#z*|J7NLOAFN7hV zj!&eQm<7 zb=or81XoM)nRz2P&MdgWcSlXAuZ9n!#CwuMMXedIt*b9|i6fI_;b!e3+dxMSEjGY^ zZTpr*pc@18IWW=Zmata!?=!-MP-o?vJ>_i`;r(^(NL&Kd=0a=B`i)t*N4W zHogdm9@7IW9}S9LWqLMpt;Cl=^uLG`Q~5*!3%={-pT;IQ?0hk3Xr&|*g>Ag4mh;~t z*|?gg!2KDuN*H#y@FUz?e;mmE-+GtSS`D$p<)0gOh;cTKVDs}ZTQ&v;$DG5^P^Xg~ zU$|ltingLh;j>oF&-Br?Ib$y4!XZ%a1yuRyQI&7;Ht#>i4(-{g%tVT72e}gzbNov< z>wivCGd-?S1epYoS>v5D^d%guA(Yeu%McbCMuv#AK}H+9ObvXZ4Z-a@Os|NkZtbO1 zWJ0?H4|~QfGNQpZw;rdwHXq-{d+Zs;IR0bLMdU2qNKqq+0W;i|4_|)C!Fwdpbtdwi6wmbc6uTS2(3xk*s3vX!eH~)l z>ayOXuCu&PP}1QR@FcuhjdK~Yy)%f2<2JAoMvGC?GF93``ay(JM^W2kT=7j>>n~FiAgk=19B~kF@OBT$}!-!BAkpC4?4*vb>|JW6b zp9Y8KIffRsPRW@*sR0U~|5a#gA?E2Kl*O3N>eXp|= z1QSjN<%np?FGgdQTOW$$W<(?Qmo+-~%y%UXV2}TSMWA$|G?J!|j#?%fV!) zFdMBL^Ut-5k7a-z*ocF67YnN#AFGhm8Z^r~E9hMXx|aA0uGl_6uhM$MXz?Alky|2j zIWXN)o?uRC>^&%{zVYwb|(xTGJ zYwN3NLi)@G_IeTe_?;o~29?U+5_gQ;T@e$P5iq=BG<@=>oFr((jbCjKxqIcwKfYUj z)h;*Il}p5=TKSZ{H{90~^xgQRA(VH)T>f_v>XJyL5!3H!fk)F?Wv7P`u2i0xeAD9b ze-8XTm@;wbM}ZEnv>Ya!t5puTzL9?p@jA9G9eK`IFv4hkl3txRGDB{I8PV)@H*~F@ zS9t-^H_?7R!d!Ib9Qo+}`Qf-}77m|P0ffU_ko=YKB!kmJ@Oq_DbyQzkK;F+jBGmBi zing(mK|$4sDryiRECLi;w$lc^uc>K=f=%`fpKsPFD7tP+Oqsv&aG}vW*|E>&Xk=g| zpCAE^^;IFfg^__l@e#` zVDT96Pbh7d&$zxl2cj?e28DdCQ0A8E;x{49T(BH`Y{MK4)Zo5(r#dy1e`vvvf0m^*J1p1#!ISrd_vFZ55`|TM?`lRrbQIJI8Vq^B#$?5WPfIxJc!BDVHW{>HbltkVzhjMem z3rTPd$NYK&h9fI!viLbY7ja396N$(@T~g7!><`js(N&Y3h?Hx3KdtM(4AQw9q6Ugp z{%RFUY&{DJ8ur+^rfDryK2#I+WN%16YgE3#^vs;4Bv3M#hXneaRa@@Tgtjx2p&bRT zO^;w=C8SgMH&X!L($lLBE+Q_$-qox&tX$BhT#&9vEY%*=p(|4-s#P-Gin^-(drkWR z+{7d4MMtHe|3q@-WS5AwhuT*XrAmS#)@v2ttY-vm1MHp#O_noyKQ%pYq)gD3#7428 ziILOZ%l0#m(5G;RXqxVY3B*JO=EWc8bL|d~@C{xvuQ$K_Mj@LIeiiRWC}f{1G-1!2 z+e|kOErrDqn$r6Lm!!fiwy1@C?6uvJM9tE?JQU?t6-M4nIxU^tk!%zTlMU{>{wJ(OR1T?qsv zaoTmel9QauoN=8Y1|+auy=Z{I9D|w9t;bJVny(c!D%}@HwCb*slG{IWbZ?wsE8))@ zPFnZjFbDL_@YKum20AC%{_$n^bmD4+P6 zx?fz7llr&pvz*C!2v?JObxk2395&Ch8`wy?XZ~mCk>^cTH!_#LNioP4&G z4Augj&R}otR^Kw8{|xUad_zZJpl*Ueb%>7&RRPsdN3L_p7Hhzy0XqW$KyvSLY)5yf za=0QnIPxdw}5jv8rQ6o=#KE1r*U!b2zajY-hb0=o|oY}UZ$Dl z&Yj#8%5GA}^BPO1{LQS#AC)s4ZgN!=A-!pv(%(c$=S@!HBHH1#&7xy74=F=#SS!>3 zKImUs%VyKCAK%CSYQ4M&#om8!W2h;?aTx47H*A)7dyF-tEjnDDW{W0ML;n8zuPw9I zn+=XHq&{A>BO(0R3?5evCuWbQd6UN%OxV}GksH!~;_AgLbDtRO&b3~MJv!W6g(*hP z$^xEG-B{ZT_#Id-NMK6G8&QD78n;Q*(4{t}y75a^d29T6Oyj*}k;)uPib!C<*YtaI ziA!a4zsIde2I^|bL6_XP7+X+M%m7vLbf~gD{UrLQahF7U$I)GA9Wd}281-q<{<(PK zHDQqfGPSqm-~Nz1=Y;Pf-a5Q+$IV1-p!yUk`Cf7HFm^ITo|F4~yJ+|JM@CYQL!)ce zL}Jye)rKgXy?jIhM3s)@Sq(MO&Z)|8vg z1B1Is$T(o*7k0=&tNx$|UBuh!Oodwc4q1n9)Gpobwi1~VEup$VzUb|?XwiX6tq{N6 zU;O}qzdwk_eT|1czs*u)K`P-W>a(V<5UVt#GGmFiHMjNh zGC-FmZKtT-YgBfatB!Qt4|@T^;FZ4r1Z-_^>Jrkb2AMdoY29u8so6alNNIY`yBwy; zmd}*m_XiBDEwt`(3wn6H*{4%D>iOCCuf;a?qIA)(C`iMogSa`=q4ct(bqt_43F5_5 z(VN?k=#M9viAUWdJL8sG94%OGlFg(|HD@&fo^B%*`#r}gX8~pzYf`;@fDI@#G_Ar; zmTBDLaYN=^0g1%Xbs~#$gCn%f^yS{1wO(SI>E(TSFj#YhVy;V+TR@6*mE%W>4dc*} z@c$k!w$qg4J~tM4Q|&}z@!t9~h~?5Xb#K^>5orvJ8;TaoUC*$v@vysrN|CvdJupW< zAcW(2_8h}`NyDhB{nGA;qQfmk{Z=IA@tMb8uYtuvGLLDbe#+VXz>!bsb6#Ke6ywIA zrn^cePSDCz=X6}V{-WGw_MQFTw{U0*-ygK5={c$&o$$Ig*HQ!={|HbuT1 zuYCMYV5ezTN;rqs7x{~6Bl2rW5{q72jAcgwX3aVy)Q${Y;*s{qq(h!4iAFI~2F zyJam;n5l(YCa2SPMpVaZ&wetX2(U+@vjdj0QSex;A~#0(Vax8 zV;4vci0vei$?*=flpf1#r4MW>R-nI^(Z)O7lOQ}D)E7EQg)^&^ItD3FoJ1P=P!G$< z#CW)Ymem?!A&#+9(Au5_DG57+GQA8JWxgCh0pY6{vIBWM&WU-J^twnw3=R(7cN_k2 zMYirc9}Qz0~8brKGmm zmI+x@yQ0vNR3GAk@dAXAC$v;^L9WQbj}9Nj?Bk228|nN6xD|6f`M0qI7H!dPR5mud zeqaW?iO>=(A+NN{Z^K7|D1|Es--eb5x1VK00B$o^75Q?ahLy_|H_p+GG}LjmSHg&L zsNtEC-;oyqx9X~s(tjAUUg2aA2L1FCF|{0-|@%|ug3Rd zb~bbib?1qYVF~#UJ3QNIVUxzkpt%>u71sthia#3JNmJ4M1=)Kn&a|HsUMi?uy0zzT zU_Ck2uvL^cWSrebn0l83ryiQ&1g#$ufAQ8U$=6+O~ENO#uk_ZRr#U-*i3sBJPYPuV{UM1T`GD{aKQ<1t^mjR zUgCJGO8C?yJJ^WQ_pTcaOYx^)9(eu=9(#qlkwH}(%EXu%71gVs6{oDJR5Xf*Z^9WG zYHr}?qT*?Y%8afu4vpcNU3M-#Td8BszD5D_Ca9AU z)i9!D$+WkKBin))oW}n~|E5GojI8Rnbaz)cG{8Q{>lOa6Lv;I~@_j=o06vB*f)Zx) zEV6${H|>89T>u0}WNqYB0QMlx3t7tp0zJ@#W(mib27y=Z%i{F8%rhizbq42;!G+D& zTE$?7jKzne5_7mCqvCN0Do=P~UTQL_n_K`>;F)*dPy{}_w_;5Fi>=89g!wI|Fq`@0 z;NJy86QdVxaaw`CB_9a5wup|j0O%%*sU(jN#`eo1LYVe7ZsNB^@b96-7_I2 zQq?8OH_2cLE$rrYVGkMVj04Z2~1@IXI}xgVog>Xd5Aw#43x) zby^Y7VOK}B+&qTT3mDQPjRcM%-N><+Q*$b-WikE@;e{k=x*G_P*x@Ihnh7&iWVz{{ z__k#&*i_@Py2bfEdfo58-8MEj!^UGMT#TQMY=3l!cZzD^UJ^8t&6GpogW&j9_|MAp zaJ7Uu@Vi!!F;R4Ejh7C)_kjLvm6Hm@X6w5}W)aBcenDnlw9eoer z3G4Bl$aHU1OBhOK&s2CvO{D_U7su{`t}v)N&Yrnt->QtUs|yr@Z}AnI^n5M`-XWiu z+r6#apQsmfuC0Du(<6^*A7H(vabR;Y@oihEf(>R%d&tg|c-9I56MKEFr3$QBy<)Sc zakK1R9`%Z-V@%XZh51sO{VDcpV)EFwM$-9Ii?4Bs<0G(*b@|ja$}~tqH;5H7*HVPe z>k0Z2yDcL)b;>)TmP9~Q$+T<;=oFct^FOV)zDvhL1}^05?r0+3gi`{%K26MPR=cZ8 z)v0RV;c>!-ved>oW#m@G=Kez~<))F}uKR1<-0&QP2YP|KbbT2CSgb-<;GL6IMfb1=`xQSyNOYV4 zs+gnX#2A7P%mkActUTRb07Tg+yh4uiM5FDomy?2BkFsJ&|SR^_j4@JiV=4GVH1FMxFv+Y6^S;hjF_#=k0Qeju)Kz!P545P%Sbsi+E&+4 z)DR(TSwPc51vn*DO!33#SFR7($MLcqDz?lj^(c1o|2hauht ztZsz39^1_lPXUOU(c$p`6$uo?uAvEVgl6b;yF#r8h^q-Dcz!MSWvoW5f;tcWcH|t$ zl!6a ze!7h8n3V4=m(+A6o^P33hQ#^&o&J%mM&y%(FwFskn#zm8xa9CQ=Ig+4D9L&N%&^w@ z;TV`jRRgt+i#~Myc)3G6Y-o4PlksS(Gr^vRZ4(ap>$RHckxnYT-g#QEOQ?ooPM;z) zr5;gXC2Kr8^-Ga^Dz5)7D|_eM(E###uL0p&34#kd3eY$A_`Db-1kZs5vnv^$O|EuJ zf`HFUzc+RD{CBV^U^P@YNIj(jDtRUbV{k_}5X@iovPgCJOkX8s2-~Q-to{1V`(!(d z9(}l0TZa@Dz0YD#?OzmyR`5V_1oCo4%Enof`fbR872=j8{qFY?ZO;I_zbOd+RHjH8 z;`rI>md-AgH?d>MQ9rQdcZ}dlp0&y*VL8S?$z4V#=veo?4y4a@D(>`*aO0KKz;dfd zC2L8%{z!WAQ1RKyO=0fk?*m8h9t$_Y8x&QCrUe2F8E;`kvL#P|deGuGwp5EE3ffsu z_m(3ZLh8P1hxWRpDO8GBtti`r)v>Ytm!7;e)i~AmMW>1-3jhICRE?1>4F6-rB)y>e zf*@MVOlnU5BiG!sPE%Zg6*@j4QSN)FPVTcUZww+zheeFKO{V|1_ zTGmIOW4$E#ozc92AIxR>F}IVAe-5@_e|?54yt|L)?>8IY46c|yy&S7#z~pQdw4ZN7 z&avK3{nLeSsk)#d{gZx4*aNXk!x2@QV9f$z%MuoJ39V^FlPNWlG#gBjlQykE_Z0@x zKB-QsV!}9OBD)MdQj@=4UcxG4687H5akw3jxFVbm%;cgi^oE2 zFe~+z0Hx~)4=%M#W_^dEzsU5|rtBmy7fd1r$Nw;u22Gn{OM%=jAA?jS5|g^&_+mXs zj0Ci)s+n1(nbAnR(>$JZDa`S`^DGdy0m3-#zMR_>5fy(VH@Zz|hKg6h5n<`Y9JIQ8 zSNoJJLzB;}ff2l-&-@Oywe5&E;Iw!U(<@0q(H^G)MA6S>3>4FC83Bi?ZZVO-j^&X7 z7Jn3W(4y;>9M8ycg>Ln{VafU(7}`0XV8Y?T7Dcca+pib<<%*Lt2mDngnGn}1=46r}RQ7j#oT+3Kg|^W38?0an+z2?h`1N*aIz z_0J>GRy^N}&S;sQCCib?)Zt5NQ7mZqZ_vKLGSnU-qC1vOPX!|M_(pNPZYGIXLqIXO z)#3X_teISfUX!hp&uAxw`BTT36#bgn7QCoc^EBI5Y6S^v`rOwBo2`d2ZHJ=Z1BCTe z#OiU+y}XH_?H|AX!)Ej|Pid6Lv$jrSAnVherLbCQ$bMNz^EKAy5V=(tk2YR?EtA1r z5+j~@yK}+a+eRW*a--OTa=EMN=@LcD-Z!||Ta=3bU16E@ZLq07<)9HG<<_X(MO%#c z`)3d8f0xt$`Okm;^Pm6x=Rg1X&wu{&pa1;lKmYm9|Nr@~QCQlEnDGKxZCoZY7Hb@kni#1k za7Tk*2{^wI8106rZTzC0TO!v1dJ1-JAc2C3{jV(7mi456m+G#fWN9YWEeMen{8=94 zNt}05%Qp?S5n^G5N!qyuVNh)l;SQoKANEk`0nNSghIm4eTUrrZ&pm@7?rhCs5I5Rh z!!F(YiwuO_L08MhCMqp8=EMDKLP^OOb!hAwGv_c{z8(pm8 zCG)hsgAb<TGh$XHnVzQ{NYEJg9^b8e6bYPw>Tts$2D>2Yuq#yGFpI`!gHxOrWdX(-6DuUib* zJ=UeHrnmsIQtOJCUz;0=xpY>tk3nPJ9uOy2l^9u5cXS!D?K&ZO2rGMr@(g&7<+Pzm zDhP$x0an!9yz@=GDvPTV@3P(s>Kq?es{Kn%UB7m4r91$yJl77k_^a>>8FMb}>cq4Aqgb^^qI#44DKSaJx{E(dntN;{x>^Ml4S8IDdzQ15@F zx02TZlEc}I81ak8-E`4p+E|*Z81f$sUFSBJR5mJyNv8~`C5GmoQt^NkK~+O>k*ReM zzVCZjUJ?UE=D_Kjw8x7MxuEmhdAE<;clLEA4Cx5lL`_<7c_1#sL2dZfkBPQhumr~p z{_v9ij91yjy9i7$s^z~qrs6S#{OV?2bdHvtgTlvSAJ)=*WGjkC<0+$W`AcjYEU&bB zTLUuT79_Q-Wp3D&T4$cPino8KWVr%C+soR@+S^O zC4sbrb?U~Uu5tSP;n6pzw6|0&k>0k2yZM_#j%pECb`F#Z;z52gv-$NckvUH!R)r?O z(XwUEPWEB^Ew(}Y_`MCQLN-}cmnzK^3E)>Z#Y1p-(Jh)hvFv~-p$TiZ(6LyGsTcKs zk%#SAZ!=x%9VSSnQ|@D$-f!XEuR=(7YvUEQ`5shAuKOUNq36WUBy?&-`Ste)OQ{#* zRWr#&ub$^@=u9c>vGlQ(XCa&b_9K@QMkfC(skR|se&SE*U!_d)+qax}+ZhvNjXuY` zMh{Ezs7x^vNvGrNza0(KJ^#ycnlT?itylD-f`LGM?G8haLn_V7xY7QMRL=bRnJs+R zyQ|^)6y{z4g5>lTQ$4>ql9bCHDtVuLiy{;(V`E4(xAk}z9u1jcp4vFwjPtyLO6bgA zjY~;RVC?ZUgda2OQNF463kit57p)DzG120;dy9#ae7k)!?4b93OgPm)v@EAM;jy)R zX=8fFN$c<47#CzPM0p0+SZTdrxx;G{U+ltLWU%^;xn)v6WB2yEyKmwwiUDr>Kp6(= z2`{XV!UBZD^OPKD=**y;+O*bx!#pGuhHQ-zp(sOfm2bycBsE>*TMq@l;xpRbpLUy8 z6p=~5vc5W^CpUixs^ZTWOwL(J5@kGu)!cgKTP=!KArU7r@btamXmwFO%ph)(0|^ye zd-h5pn&m_>+y3t11)$%1f?CP|RaA8^@=!Kp4qCNDUTIrfJI+o#&HxMBRa3JEvJXS9 zi)Xm)y7cK-pTo&SFl>Kpl5W`RdalmPozXIm6`wya$k^tu9xGqiE7iw!4b9WaveM)D z041%ld01@8*;1`Fk*`?vp1sExJt+n^o|IqE48ot5a{D6n%Y{pGQQzCVU@2==nmJu}ZuHa)Q; zvz{{huN>5^Y@E_|?08qKk< zqB6k_n=Ad7_VK4MRXrGFO{QY9WOVBDRa)@5xQVc{?i#wm{$OuIj=re#a#p7$15eA2kU<5ff4$wt13*5HC z9_-U9sK0CQ$ko8(0Z-F=RBY6#vy=viBEI8~?G`LTw5d%_*P#zA zukI{RHbs7gSOA#l{Jrd0Cs=y8RsLK#!@I+|EzkfP{PGrBRz8rMv2|u)Hu9uori*jw z4-$hRn+7G@jKw?TYoGXLbm`Bc#{|Khv2Ooks!<@~&QJAlZ6;|c1}o?ClYy;H>x7{H z)&z4BDVJC_h;f%g0sDaW&ogXpXLDV{WvvR_F6zOh-%1TG=3Ja&1&DEKXt7FWxVcVg z|5qxE(ww#6;PrxS;~(X0yl&sJLB3Z=3{N>t_K1C)ZAxd@gD~srQwYp z3;@ZYM~Eu(xlzM+;Fxq)&Ol+pU%JAWuLQd)eI_Jm)r^!>7v8E>%tJ&6R zO@~CyAQKZT0ClvEZH$P;cC-xUMGOb;?%2s+GxuJ3m)e?unzHGiXWS^_B9u+2WT~%A zAh`q8WBTYAp1I1X(6~A43<$6MDVOn)t@qnZH}_4Bu%llcT%L8gwZuPBoAI|LcVsUiVv zhK7WZ0tyGwXG3f^QdFhY&s;~?pLA31H8%F^>g0_4jntpVUo*=y*aQM-%J;+M&BU>s zp@sA!**1k^hSkT3?}Z#~^;_mW(CM?&X%XHQ)bDy-c&Q^w6u`v>{8Og}^It&MSz1_{ zgNu#k#&v5{aaB?eEsx>V*AKjd!fkc}9IlBS{^-Q{`UH@m?swdmfZ9q-ZpH#LxW+m% zg9F}!b1SXzzTDXeI)I=iO6`T)6x7;?~okHex`cgV~UDpS>Iy-cjOIeG@Y;1$#0k>hZ2f z9#xeAIK`2@_wVi%D+5)=sf^9L! zOE}iQ3Y+CxB|@NzKUeJ>>@hiciUbiJIVYDVdggDXLl7VEb=Hmj3I~2M?IuaWWC&AfgsbXwp3~anE^Uk@fCqF!HxCEMJyF#5#WWfcKYJh}T za%K2x%^i2LMYCwQiv7glq@LnM;|`by0GtZi?+lGb2U1#t%Ogw31<U$uol*sc~HRs^HV*Eg#y?46>IlREi%!Ft~M|@4u=zI-VgK40# z2iA<-5xGRPekcU`*mzF_I2ibYW&=WgfMLf4kzV9AGEmj+4Q`X~SVdbRpyeAlTwS$8 z#@V^9^6*9V=EAfNm=Q>v7=3;htEzpEY5QL7uTz0AceRH41SLCs9EEybh|*TeSvlGt+<| zns?$B^n6#Eo|V2NGm2EB@XMfd^8(H)iZ+Lox5JGiP{uH4XON&dc8wQ+=F7@9SxCSo z{C7+zQx$Z38Hz3WS~)W2DcJz19InwV-i|rS^_Sa`_!2L&Nm@mCiK{7K1euOw(*L+u z%@HbGj|3Cdk!TG=3@vC>olZc{U=F1Ev*(Y-V@Dv6;JQFhQ|UGenwhjIY<})a#SI^{ zI!yTDl^wvn^38I>x07kP;%{HQtv7qck1 z0;n2Bl0jD|TX6?VH752dnEJ#SAjfwGU*DtJ*uIb-eU8bg@_N3fK|R9DC&Hm-!7XCU z6hH^IHixr(k~hcy$?dPo2|`k+!>0LS z;=nYt6{C&sp*!$&;MB0C4^B^sUPGUsi%co8d!nLn>EJ0iHJa6&{m6;Tz6*(BUuWc;Ku|spzZSW<&+TIC!V;W!MnxOpqjr!m|qGA?2N72 zoV!Zl0>Je*Y1>C@ekUN^jkShDcwsC}ghbEnq&)s%a$TXJot1aq#1D+Gk`0tB2lW{W zYf--i^ZyNGSL+oS|2B}`Qub3tgsm@JRkbQt+&+*iw!$M%5U43Jlsd)B&lIVVWO4VvPFO@ZlO{bezYmOLiqu zguas~D9`8M%Y`f`b{Cj>TWP!h)A0y_1dw}OFLz{1Q#0}hC!NIgWCevF6-zX%Zc9+K z-(vlp6)$-hlTlPU5x`gmk2osi0xILvlEQqI@z`i%rqEgOTVoE%6J|}*QADrX+WE*IL z=da;Dc+S57Pc#g_TD5<+W+~HbY|6b-;Quf+5zb`Tha$_Ng;bmO!{;Wbx{RQb6Ycds z!vx}Ot(0=6>5~Oa#Gx&nlo<7Y}jjV!w)Yo<8 zY!G~Ci>A4}<3WV)oZx_g%r380-IB)zkOipmziBXZONv2RQO3!Bkjy6HDLqTc6c8A2 z+!5U?v{81mUA6}%0MUbQVe1BJ7NON3qXQG*8R!Vy-#<#LSk?PN=lfC*3c~JY4$`r2CAC<&1|Fbsi0(5=O`?B^soBKKWFrOswpdIyTSg z&_R5y&Dpw#`GCi?CG~f4U5&MsLcg9`o`7GYQ)>3)NgT85EVE5@MB8Y6#W1F0CDhcHC55U#IWpbqnErA)kg~aOT?ayHLe_j_Rx>c+aEWew&ZucMbw`w2ggf z%D`YG1(#Tw+ft}MOJRFo^ai+sZMC!nWnIL@zQ9c952!Le_yfPVQWJ7gNcgUfWs3E9 zsJq?_t^P^_K=4)RA8)Os(mDIqIeElJX~Ty-`b02*XqZ7tAZCU&w0zlI-$-SX*+}xi z$Y1=bVh2}`{7-U;tBGdk5(Wohn<&6{6;}?C&U-uXaAy0G_6xFHXJGcO%8C>8$c^{W z?t^JP@Ans$3iyM$+Ug7AWJmVuX<=K;4@mm(&%T!^-@7{(Lsk-s=7>td(^1*iIz*yH z3!W0-X5-K7D2RaeP_;oIxW9@SZLy`R$>!5c0K68bCrIe}GJs}m_`qajoFwi9uif*4 zktmTXg?wPg`*vUqI&pwO0hpV$mCCnmt0Ru3^>=}h85a+qOyKLjjS)ybTm znenkd8eD~ae#y-n141{>#>30R2GyZ1cP`S2#7TNJBCzweIx4e$_p%wsxLLl~!WKC) z&35j__*>9=a@PzC-2LOE^Z61XK;sMlJWjaSxV#uESLLB`76hu8h~6?C1zoqk;A3Ct`k%vJQ+DcWSi-Jg!OpssJ40%;YWhb1GR zgb>0i=Onw+0~*u8-1Z5g(oKjbwa+I4TB`%=3C#RhKAWFFAb)Btxs*~YN2GKsUz(Y8 zXw~>mW2U(GyxA&FB}@Oke^pjH zXrDk)C`|EaLtR3@gMX{pmSic~yFY}yvL(qhEvox|*m~X$z%jP<`x-ycV%k>PaGcdy z;ts3iOzg>$AXcu3S6~d1$g6O&>Vn!1@up4dYvQ|V*qD?6Y~Cp3tk_kyqlI~J#>d2T zzw=#bP}}K(pg6%P1{^lyY;%r=v!W51^7bZLw%{p9Clbv9X-{gxLmvm-W^@DDl*ve~NW~RRe zwbN+|Y%D$X+ru+t@isk;--l$+lyfR(p6aV-Cw?%NUf~18-TEwP>DG!i+730a8h+z~ z{vp8^$FmG~VLAb+yjK}x1TzvSuyy#a=&lnvpB`#p(mr1UbblD7*aXQ=nimul$H34< zqZaNU>6WZ=>CJpXUUI;>AJ_}%r*;^#g4WA|g@b^(04N7p-++2<-!|poMRw(pXf)3V0a}wZWIZ?lX2b{+J2A}XUKphQlTw~`sc4SIDc$Xy7J#UZ`=)lI-nn+(6ExVoqV1Gian#b= zxT;tVp!npokrf^!L!E+`|MZ$mq+q^~r|&c7O;=`QDi4MZ-wPYQ@4yWI)4#=5bJLFe zXIJz`TRn3tvVxmqlu3fCOr>A*QX|EJl#veDfZk~l806?@^&}F>npuWrqH+i3*tQaG z>@AgE<)LXS;VgII13D!9@1GxVxE9%5rNsq&&W;)<=kn-Z-a+T?u{Zw4*hmwBdl6wH z792*Y48Iuii*h?Cio=tKjQkrv8>Rf#d_?Mp2hlx!U4btr6#6%pGZPOEiYq^DvjvZg z$KUA39y%5>AYq5zC)>d-UFgt$%P)M?Irs;CuLv1`6OZg6a(!9Pzk{Pc*3ya96?Vyr zavb*n=?dW)xH%Uh?9&^42M3}~OaZddytCML8;<$DHrUcCI5G3T_R+&^f*NBk+DF8{ zI=_BmA>$#%g0hYHQf5AX4o!>M5&D+yNDpMkX{(F04+`E?UsDV#@Vzu7`_D%c6omb- zvfS|2HDPdM7;fT0kTIf&VtaN1q4q+>xRNt%aBFE%{>x8VO}N67Vzwx}2oPwM+@Bac zYwpC#(ZOG(q!Yh6KDlGcP=JSh%C1=5r9Gyw8bH+58(hOxwZRZWuQdX z-qf08<$aZ;-4PLYS}o?Wk_kt4k!QytCvP;FQ**>FR@Ki8F$M^cxL|wnf3EQ}-b@?L z1@}Z^g+PAw=x`(5JAWg}aehVmVy;`IMH(qRdDL*L=#3{|gmnqZ8z*&XujXMV7xiRd zEg#DPL-?pR^Vw_v3ckK@Os|+~}fwY8OHl zJeE;x#}!5QZXAvr`9Iq{kw~y{hxt8v39kb?RiXi15>yD-7Wv)7KQ`(Pi(d@%ga*1IR$(3l*7OULG;^N$FZHQGZaurhY*a5&eDQ zNUHF0&g{j~FQtFH2>%W_>cSg zh_DZCmpPf9-N|wVwRwT=!_4Qd2=Zy(OKFfYi=Y-Y77{kRk?eZ96NVzk@fXpd=fFB3 zk?agJSjsc`NCQkWFHS|zNY9P;mUpT$;Vdo>ylqqv(g>h*N~t1`9#8jr%F}M~)=aZ_ z1XFF4*-pyBF^EBJXN1>L2=&XI+n4q(b6hlBgU#3FvC5dyx7V-w+LzDrxAno2`eE^h zPnH^|f4eYxwu^_PMmJ=>bn@fB zz)qS7Y+hH#h{TcBy)eETI}+@Qt$2bMJe5CBruPR-AJ)F2-301 zR*So}#G$PmlvZMk+3N~Vojtt+3R^UN`L_WlL8=_dtqh>>8(}mF0Oxx;j}nA`i;e-i z5PPh@K42=52keo{4(ih!YV8z3QUDzwd41$2gw5e!07+Vh&xD~p$!ph4oMQTm(o8=B zPXI6;StR3U$E7?w3kBdR=y?@)A~8!6l+awnI3wcp4BQPn?Lt( z>u=ovxn7@&qpbOwTyNR;1@2dHjp^$b+FVW59L^R2yvCE~$4cO)-2-b*vw*E&kC~5& zSTOttJSEnpVB5a##_0=D2HM( zd8Lnd4aG}bt*L~z?F=q7@2dyDoET&ERKgDxHp1{6)qmV!@SZ&tZP#1SJN9}~)C7>2 zov(83*+wV}3Cqn@kRNPc!k+Ri9CDY8QRA2Fs9nzTU{sU+Gw+KHY(mt&Y!0DV6$;Ij z8gM!3hpPoAnlEnGjW!k^g#IQ=%Ni&GUp>WonwI97J#5G9-k3~ftg_l43V?4aS~Xdb z(=&JtuxhkOo;{>2Yb%p73_Evz#FSr>qq&Yy5)K4cOqx)iI4>D!ZU^mvtJvZus)r+6+nXOu@Ac}1_(nN4 zI0iYpa-V~PR0&aS3wf-;##0qVUt?!=;BQ4Y!yc8}F;TtXRkv7EJL`4PiCSpB7^!n~ z>K~zM<@&qik*JRhMp6x#9RnXKx-{@faz@Tvn*$yV_UH4cA9q5{Xpv9mh}m!BSW)g9 zK@L(pt#96{e)$IQ-^G#O(vQjkBZ*}OwF@)oYdVT#=IGkGU=VUj_=ine8&aO7=3b>2 zF$tHFPKa(Leb%zRmeKOk_2G67C>x3`vrF*AgOS0JSh-&$2Sbr7Vz0c7kZU1xx|-XT zn>QtLB9EVYmr}?|=6bivVnprc2WUL9y$btb1rnwujLp! z3ZCE`J>+vuseIzk=7PdQL&o4Fn%%jZ0;G!<*=Ifo^b#u*WTSm`qIrRE%OVZwnZsl4c>_jU$UNO+*;mCHWt`+-Y+aQ-jEmoExpO&?&#w=*tDJ= zgv)Hr13gja`XwHPiI{vTWmc*QmkOsktg9|SK=FE%r>pcdO&_Kc(U?Z}EvjMZp~5Ek zbSF~y&YqtE`40(>>%m1VG7 z^}ZV8a-C&!TOW(7sW~I(+)|Xx9e(K~$ys%7X46_^!$@7okY`yf!sc6lFt~`%Z=5$c z?F*uPYJ)KU!Ih%ceUiijtphSTh@fT8jRZiajoLj{wEr1~p--uGIb1nXu%-`uex5Rs z?Y)<>{6j414Bpu4al}rJ#s@3?TN6_1cQp0y8G!~>E|2{scDD%;4+*Q-g0NUQQO`9i zMQUuty;HMqK!_ciE?o;JiT1H1+&9()*4S4Fg~?FgZd~s_-5Qn z2~bMtXf*a0=AAPxJaNDc6kZS>&25SuySXch>|BD?2Hr(#-hV(7tWJpHC56u7IQwwn zgy6X&WtZ|QIA(SA$*H>V&VhVfdpav0w5hvX6?hw7s0j2!L>8TDZy0LZK-p&9e(+Qh z>F@{dXfrLApzd`+~j$GQ9SNS z=Jo&qp5`idR^5rD>~dW198=@%YAk}_)D*$4{zs!bOu-4~>mO$nOU!8OX(zEs?dOzG zL^=bTve;!);&+?F#a9n@LsAsZ>$@Phx*e(AoZfpz$s91&E zs_e@qDFDP#kp@uvKbtPrwsr#sy+c#=Z&)zt{u*MRpv6?j8RU>yhi6cEiW+lq zxR`p=<=w3{?+4Y+H@)@~76T!2)9Fs7Ht7lRmf?W*ZIaPud7W~0)H6Skw zh%TP`7FjLo8!L>re~`@`Z_DnLdYazJb3}&!OqZk?Qt_{8Q$UbJ3fjoDneT*A>*+m! z-rfy=qq4p1apx1mT*%fP>O6%^?M$yS?2a5n)h7ye#O~0#l7~tayb1(64NjX5 z&puk!`E6+V^Rm)0Y9q}4U8980J=vD~bTCriPJLUven- z#~byS0f05pzKj3n6R1wrc^xNiyk9!5+qiPsLpct1-$%jeF8cIbB1KbykeM}Dfa1ie zr?(tXxMb^!{fkXwvQT9^zeDhLg8{Uv_JRZ3h&u+~eKKieq`poo^<>=wSq)Cts~`O} z;r%med?&p7sR69WQKQDuHEkNci_UK4ezqilfEsTXmsr$BR|{^kAqqh>goQ=jdT{bV z7_ZPYr+thk@fPySS;v8lY7i;O2n~dBF(%EsebK2lV$)SM=Vg|O9-V{;TZwAzBIB*Q zdF)ZHY*NVwqRoH=iZfg7JbUSs0C%f;ARuCmFEPQTL~Ar7A~*JRPtza__d1JRps(q;8b`G` zL-(uW%hJtkax7d1xFH1G`-CM_`nK%RLNRZ#*5(M~WDOa>W>Z1(!jbfa5!H#P^F8m> zs6zR;@kJCOF=-fVOT{W-%<~^ENKL@39(gl}P+UhW?(=RgAsl4?RH68eWHXp8RHNr$!QA{%Rk45hcnv zyG#%xxqJzqwvGe@M}y!7@s>0`I1`oeenG*@2A2Zc8T21)f5=zte`lXdRe4$-QAMsM z>)tN2242-&6}G?DV%@d7eTbQUrb`hPVW|@4rj- z|NQ4a|M|~<{_~&z{O3Ra`Okm;^Pm6xzmZ>~GrgPu)&juC2Jb8I@%cabf5iW%|9|rT zcA)>O4K6gopDz+!t8ODIX0`1eoGa2{FWiy{r=$H{WQ)E-n9cf5jPcm(YyIi@1rwb* z?q2+yU@wGb%ZFKTN{7y>Vrr@mmczqUW0_uS(*XRrTmhYPdsLOy60_-+{MX#sZcOyp z=$1t_9o+EU@H)mh(TGy2_llzT?iQ+3n73V-NKeue(kzL0*j-diFO-D0^h7FB&#H_! z7g6?_PiAmK?OdX71gBP}qUonqgOPF_1~BvrrBG|h)|qAV7=NoRftSvc`w?9FCES)y zko8looP?LH<@#^WhZ%pZPmuJk{vR^dX)1os^1wx4Wli`_Zx6>wZu8QAM@yVkib}3> zU640Ts!$5~18$%nKg;E_p6&r)O&qPe0w-V0Ugz|dwtW!@3n-x!MCp`D$-5#LC!thT zX$LP-IZFd^W?9`~Y&`U0zA7za&MWGGwp}*zPE}S81%}a!!5Y4am*QZg<<|FH7+5KD zj7CMW0_q*hk^NvC4CH}&>?eS_etu0rA5^4`JL7Eg7W-Vs5sE_a1*GudH=Gv%B@$~k z&#z)I>OT>#gMrdr6_6fkcND71+{Emk4Bl$<)=GsuezQ1`j02GG+LXlU)KU>P(}VnQ zYC9lG^;&6Ps2-w?C{{ts9cP)0R>izV-G5i;- zM4ee+0hcg2D4wO7L|wj%zEsEInwp0y9sn;&L_%%ANlz!@5Vt8I%1HNMenU~64{6PJ zUf5d02}L8f(e;OVvC}b#5w1t+>$1YuQViD(8u1O&U#A>P#Jcyl%}e*$BNmgew3JD5 zvFT%w?=JXThe}%0e(o2U)N5lZ@Dudffnm9RW403J6OgmA(m~h?uciz!U8(g&pWo+h zBM11$5lK?6Je-GeqW3gNH+MEp*`r|^NKA>7Pd**T@^Fkg8U-V<72#9Z!fk=xR)NML|m zVMxKd^0tPw#s*(E3owZ2u0oCk9e1X3@z(cSV_mO#zAHUbn91@xqf`<00sgh~fW~pg zUC9fP#1aIo@DakSA{lZaOHu$my+C0ElYt0SAEu8#Pa$1kUx2iJ;qjn!nB$PF>0qtO z?S?E>xJhYN%X=|cHDHIMB+uA>hiHzJ<&2vjnp5EUxukB})j{^_5agkThDJvLG#HY0 zQDm96%it#OqE3qvu`f*KDtne_n;&r*Fyfk3U5ij0-uQRUU`P!POJObdBCb3m^~`(X zcG3p``~eR@htzWEpolPdzX;lW&a3SM{abksl}n$zfyNoxtSqO4Yk|Gke3UlIc@zBS zf+nUbmO{!J9#f*&4Xun8rGO<%lUQILBXtLFKo5r${*DhU_sjX@hvYJ+aNZ59{?xU0&$fCLTKb^X@xL zN3jzQgd#fR2?g?Yv#28H2z_*!!7x&sjFKR zCy&s>4f)kwMHty&1(MD^ehm1O`Vsv!X5Ob!^*MsEV=?9GC- zpL$R1$x1?0rY@0Z!kOJfO!JJLTg=xAade$yj4nR-rpLBz+qP|-v2EM7ZQD9yn`i8q zcWj&cOLnvWFT4HJq)F4JebPJa)9YqSjV?cT#?)0b^r&uR6D#`-v=wpmt?VIR(4fVC z@;wy_0--0T2C{d_l4y1%0=7P;u7N}UfSZEUT7b~zs{j#c`>(-so2{KtP=v!=92q*LZI+E|4IgI zPNH{HP~Sm+5=x6dpFP$c#T$$oSz-CD|0UxPl6Ry>{&n#|AX9TPInBNl1=NH_7LM$K zh35@VqF^rVpX<)UA(E|#7FN<)qzr6}I)k1_86Rj#)dzuP=jY^o%!UGmkKxbuO|6O% zr%~$VucYNJpKF08JH4cgQP@^mfXdsp%tL24P_N>E=A9rib(orx{3x6NaLeuuXOiE@ zF&Ra43nO*{M>(!C8x+-b@bC?~pfdC+V%d|5Eu>y4_`C;lSPc)O&hhwnU5|^){g1G<{`G^peFnp1DZaeYNa1Go$)QETkfE0fvVNjCfJ~dFQFoY zuj8?TF;=>&3(xm*V1|?O%}oitMRr(QZyt!Gr+^qhzJQ`7Td zvAf^CEieLSfSSm*{W$T4=5d9f&Wb`i9NxZ0hPI0SdK8seL<9JdXM~$=-6dtGmw5!^wiBork0GuT9op}St6m4k4CAXoc;)c z(uHPI@sj0gv6_=*;oko)@-{4kxk;MST3`p7r)QcMwWG8+ZbRR;Y&xIWSm>pC9@2J! zu0QVTtBtC|w3%j{i)Rez;PlIj3|0vHUfkW!X+RmQ`ItZ@utJy)`KANeIuB(_oOqub z-1Q&1NW$4HR=MC5CsPu$IOKO)ci=Az=lweU2@c;tju^yEei#R0RurPf3Avq*!!aUS z>!$v`eEKEut)v~bOPj8e4!5oLX(8UC5oQusZi>y@CAp2FS;z=t1O2XKL=a=UTsrmA zkMO~T8lw9-c>>P^@)ILfMS`S_G6k~;EUxLa64zv-r%c>L+*pPswXYAomFZ;z4jSNB zThi)P5))Ud2lA9Y!3q{$foAuaI}tAwKOpGu5<_L+J&49@Sjk%U-g*W3pg*1;2f&8H zF0rM5mjmzZ_DjZ-+Cb?40nN25=;~H+6&5NroWh{t4hPyYF}l+hOK{1OhXln_>UjT_ z#6@Wo={5KdT`toM7GH&2d8Ky_$Kp1nK%VSselBY-5Y#%ePctJPb}24?;Q;E)fnG{&kO|`j zEP;h2Wv#O>1(}<6J{jDv8}}!{szgX&Oy}mL-Xub=En>5h_aQ4h^;_tde1?GNt7oBh^$laCxCEFNYAMIIN zS&)J|MF;I5E`QPUst-V$^w%bswKDpo_*puUitmSfL&)Dz(+xWRC*ic8VNJzZ!d_ly zxqThv&C6K14_ikzUBG7bo}RB~L{o5vr3;DlHtt#HBNrftGOA2LCk)8v7m@g0%~V8Z!lc>g`^Khv>>)2yAU zHZLBkgKxUYm-7(@#*{al1Kf#hh7>3f1BWK$9RET{l2jbc`fD3$Z$ltpGCiMe`C=1G zUpP5o7vizEoOI%c&eo0Ota+e@saBgTzTZG#S(_&WnYA;!J<|)+MKUoC1X_gB@nxyr z@pRBho6^)jGGH85L`N9S#TZEm_~&gDERF~tvR`PkN2VP=yR93<2GeAPLq}#mHe)YM zIvoX8cu=cDG?zomnj{RwEX~lY-N*&D{y6|qV25t3OaOBMPfl~6w*2^dzWaR}T;5yXk9;nHB#eR<^dL#i?wJ4r@ zHgzb7fe@_bVZafHh8ImeAm-_y!HWM012)mmDq#&r0G=~e32prbsU+mO;$D{@l*02= z*Lu6Png9EwkAYaXr0YUUsyk3TpOvuiA z-wCy8S8tCV4B-cMbW|QC>$OW^d4g}$vQdg=t?hTF*5m!0EtI7Ah>=)m7wVW}0Xc}jO!JZN#RN3S zYw^r^9ftriPekgg#FWAK8N$R!_oe6FmQ}6>1I|`nWHWR1iT^lXxSXDLv^q@yjm4QH z?9NLZop{M7Zn%RGBxNu)h?1!mY`k%MXj9(r9P$5tkYwpEmm6$!joT&?*j<)kQ8zvC z*ZH9vk$1k1oX>$^DSrnLqNAK=0|Oz8t!}1RuLyO4)h?Ffq;&RH{XyOL(UR8(=bqmb z`7g!T`*dXo(^A#i?n4%xe4C_C<^$h{|NTF@SDQ)~#D~;Z`~J@p3z-or@cTw+=R=i-Or}U5ccO@ng%_o#${bg|Yjc|85+6%(lsk1$J7| zMoGZ$jJFNv!kD+8j#AiH@P5$EYtKhdf@&%pOSyN$!;ZNeV$8QK^iQK8;auhDXvqxl zi*8<$xv|EVo@CvUJkW+h8XcpqKy>g$;qv^7zZ?^ewD=ED(J$Nn^9J76AOw&&3*ih1 zy35~>Fbgi&l|HD59MKEGp{8Quc)G=6y+c!O{mquF0h3do5 zdc_9a{}Zk*0YA64YP29uZ0ov@aRWEsma<05OE$?L8N~nJkKW}|5@2JnG?Kn}d*8d5 zZ%@+X-?O~c;z6iVIY^fCO!WGPTUuE&>d%IUibz4Yo3yx(b(QBg_0JH_qw7ABL<^7h zPF229(1#oB;y-?FD`S}E&|?W#YIdCkX0HL*v)B~SWC5ww+46VMG-gc&|EUJimw5O~ zkJ&6*2m~(=xN-3lqD(^~^^tFszW4&R#Z>EYtXWqj0dUNwI?$IdhP-#t$w0JV-S=PS z+WH)MP56UD$-(|_v~oEevS{AikzDm6IC-A5^7@eBC7@1z}#cH&y3Da5_Y}Mrhs;#-72{YgH z`zN6_*eW=o61U9T&3sBg44?y5y-xR)L`d1eaW9j_+lZ5o>~1b}EBY#^F=PPsEO7aT z?(2Jf$t2OnmU}fr8w~&O1Se97&)m$J0yxLVNd1CDRv5Q566S!l1y+*!U;pMwRRBLC z;Z~DL4l+1<v6wEx)Pb?fcyI$`E?@(Z`UX0I(qI;5tV z^*4vqxz5j<4OKcDI#(UAREBFY0U-4C676hH)jn9B^3czGBh7_;q9`l*Nd_N;EUs5$ z)$RYjVbrV2HNY%~g?IcSBQcAam@p0>W6fqMm*_ub+e3kK;BbdbDTLBmhrL4A6Y z8C=;keS>nGk6!61M{>S3YUazwE7s3x8p9yl*_tvgooVww-|>_Mt3X|6w*>dvF0iG? z;YUM14vp95$`?&~boh=|;n7sH7iwCR-qvVN@A@+)bY=9w=emB@V+I^|pHgpcO?!gi z6*j!=Ew(R+)l``6Ncp z%4aaK3^Z>Q?X3`L(*?XV0U`vqejekZJ(#bMG+0C?I_1$yG%rl#FuXEsEmBwvA>Z&g z%Vl*=Z0@LLJ5h|tyA7)9oXUU_9Amc9C|d9kX>1k98q3|`F10*i9l?{AoT~kec-dzS zg4pF@fH!0o)GHQgOOZPYg>pt#t65ZaT5c*BI=5C)V)yU_Ff8Kq0E1Y=;zmDqv1AhP zh~X(>Fr_NP%Q@G2NGP7NdP@hW{7VTR9&^Mo)-270HPoz_W8_n)+!BWTQfUJ|Bi-!Q z*W)VK>TG7)*&bxT^;!7-wjrXNU&j#US(J4AuQrF9!8ij`n1<#!9P^<8^Hl~KJ$48gx-%xOH@`%$RI$fTAf&myH%PpTRS8RE4F9cX z6ir=7FV~w`X~fjsB|}5!8gFK7K_D%-yb*q6ME0^CsJl0oXECQ~SjQ93fPgq^Wkohmu*|z#Hxo{3$mjW0YN8oJ{==q_`eghY(ZLCa z7k6s@%I=3CQ+iUo%AezkSvV^)_)k_{mDaho1YD;k0s*DGDBxl^ZR~rAq;E_SJ>VO; z7^v;%O`4@}k(()The`}F?TwRnKMyOyeI;eTxu;7Q?{cjdfpwp-QK)m9@!yRp%O`DL zRxK2SfumIZWrXzQFv7Lh@s^LXhBEE4n^4k9I!;y4_WG!h4oiA;0C?Ee=XEW0NhN5} z_6yyYjFgh5Q@ZZiXsMswDU(QoHjd8Yn{CyaY%1ESZ#^$QxM=~U&C2u=iB*n(I&6em zZFbD?kVfi^JkAYXjKp@i6(fk01Hlj0p~UCRzZ0I^&%Mw1HCP~8(v?K)aN8Q4c!osy zT0uj806kVW(e!ej3cF1YnUk3nd42wZPhO?7eGdWwyvf>3Jy}7J^WSG)>S;9{mmES> z_g3pio{Kr#bJBYfEU&6epQ#MLL+$kk<#b6AVC2&w03}+%%#{=hQXpw>cCvy~nJ(DL zTDlq%1C_kOz-{9WfbHByVeT!#E2{}XcYESHtL(3gt$O3GJcIwY8YS|gTD6aZPE3b| zMnI9%=W_Mi!{rvp?-g$8dUCzljhZ8_wt5yvVxe@(pCEb?p$B>%&T$v`nRL&^dlf+lVI_kBC2wBq%GDlZC8`5XH&XEgU-CSb_ zU*vRbG@Yja3w&@3zE+ETd(zRNvD1N|;lJkY&2JEyYrYiayJ}W*?K>*UmP!X?E1#}3 zeZtvi5{04H+-qjquQEfCew}1WmnZU_B4Dd;@vo*Z|7t3(T%Ulna2iROI%3Lso$>Xqm5DwFxXABxLiSHqJUDym9Tm?d&H6j0bC%BRLu_gn2FK9bq87oglwo$lF9Wy7E z6RM0fV7VPjkbp{w!(;Si@9^_GEQ)AnD;0`QlMj$TcgiL}?HQs*9M<7`{q%I&XZ~@q zasr$>zuLwZLOmA62btHFXo0Hg5Qgt1FeBwiy_G=)Q7Cg@OQea;%yi(dQdF)D0Fbeg zr$+|%o5)GH=3)*>6WlbB{;%t@iu`Cvgy3Cp1fAf5J|BMriC8tsc&x)2zZN-O7;rc* z&TeaHDDFC`dKX z{XsoMyu^L=;|SZ94Rq*Qh7@&ZW{%xfIK?Es<4|(C8>?*sC?tTo19RCsZ(>=}@l>tX zt4t18_ve$$5&H2zH?`F{k*JVMpIwyIRS7?*I9F|yNoJ~G#`*otpzm{TDKZ6@6gv>pFDO6rpRU)2QtmZ4qp>!x68G^SUJ&EI{mUG!&VMWVB1yaUabt3lEv-izu7uk4?%LA!VxqSXPWlyD(?k-3+ zw1ezHy`Yb0grzd<<*;$LD>7rJQT=ZAjfn;?RNoNy#?gD2= zZv-PiYj<)SvTnhV$rP9_TM;vfjp0IoRBBE;gsZgo7XGtbddD~q`Omw0d9}5 zR@-NX3QQEeLHVB%{pJZv75X+gnI)>8J(iQaCk2tBfkomlLVl%U?$!Qs7L_QT9 z&wzf?LRH%zoz?gr`T04l^oH7F`-~@hm!+u0ELmjn0bfu)bKhnJ-Q&yX&v;*!Hj#vx^6^(!miJKkc1s$2;2rN?| z!ADqW^eTvpe=ll(UHum_>MKl{{fPZ@BZIAil$CqeiuakpGu8C~0_Z_i-m$j3_9mgk z6B!}-L@R4~fORWlvV8(vVyjqz%DV-1LoGSq?=JLi8K6+c9}>{Bi6k8fb9=&6QIjfg zeTbO)amqwaEpW6Kpt(g#(6od#idpgNCF5=jikJ2eZk4$0{1YSK6Xgp4uBn($VwYvJ zbL05?d>fzpRH+++w5D-4{_RYU!JkAaa^8ULWcS+;O>xMk9IN^HtpZWNoSAZ1} ztI2`s-F?ATXLajnTmFGFD^(u?0e?~rJnD`^UcKB}R>vYZbg{pJbO`@p@q!yIec$IY z+tH8_coZD$K2gYwl89-iW<-szFSOFLBu%J`By)>KLJ%KAza<6~teD=Ei~M)LEFg4Z zOM3!nq+m#s&cwP#_$zowHc#UNx0oj9PG{ZA)xAbN{5jA*3`R%txdk3(zX))qNUWWo zGa6+!1%4_#zGRQLxdoygz;7W{;bXAMe?l7@fO|ZX9pCdt!zGM9C#&PvTrM+p*{)*^ z1vz20;(pCA$h6-dnMyo$*~(uoI&@=#QZ&cO7}y4+*DZo8wLK@fcfji<&{AF|NskX02GwgIE~NsJaj{m)@UD3pY_JZ9q6 z7cHgUTVnQ|a3x^sb*E&$Zf!P3=rQe4cwJzHvK$9rh%>uLAk*wLzs+r=KWolw$i|C{ zYz|lilN9`58$9NQ3MA3Kl)$Fb43Z0FP6E*a9EY5itC{X4dh_4-m=lZ1B5?U6@(75M zD|!5laLVW1&MGw@G4G#)x@qV@0FRd8hu~~fXR55@5!99XJh4>ScBf|qjzn>@>q{eH zUPp@e9(gvp-Sx4&U7*Wd$2M~U6kj?~6$rOO^awWl+#nLH(5*$R!`)Wdp8EM~G~01$ zA-OA|Z?_5i3>OaxBA+Ga-zUJhJ+W$4OXWJky41#||0TvHEJWGpzxo{T9K$ST``rAS zt(7nb*X3zuF`i_8=>;&!XY~pe8I=Crt*ZXIEx?h=BEcEESrAM#YqYrnnv8jDW3RG= zq4bK9s`L;15Qq3owzFr`PB}^|;d07&0eV}hBOolzJ!W2B^}0tUPA5CI%%l<2aC`J@|Jirc z0|{D=97Du{lgHEWtmQdbAjMz&pJ}Fc^lqlY4FWw&D;|~(69lp&Z#^zdqnV+l~lyM_xkngvep$VFjI0#q_{@Y+qtVbPQ!?N@HS&BOznxRP`(|GJ~9{f!@f)^mLo^ZmovG#zK{ z3X_8(7wVd1blRAR!Y7n|nK_gnHVA_zM82Wm-CCVBG#K{91c6SkwNtKfj}N`S|zWo5n=rF3!2d zj34;vH@a47e4ypY@)j_|^0xFm8GCYVFX|XAab(^eB@$?)p%D8$OdsB4K40cAb(Qsa zsYMyuRMx;KWZf7kKpgr$2A$E=5Nkp!>4M7lIJhs$GPU4w1v8Nq?_y`RkM#Dw3`hrO zFB?z<)gM&r8w#4o41RMD{-{km0t>fsV%+H2vl*!zs1eR)89X5Azf2ogEsJVo4M$|j zT|jT0Ne|Pr4QJ2{Z3pmCZN$|~1HJ5Jz)6GalV*t8Jk_n=WN2lSF4Yt;1>4XrQgT~I>JY=?^9ntmHR|uR5Nq<1@I9Z zcfE1U4lyJ=#o{-K^+5VmbpJs$3p4WwiACuft4)TlZ>)O}XgX=PDcsbKq3UZjAT!x*~76a}SQ;gOe%1!EKM(+0^dv z$h_jWuqOrW|E9m2$#Rxj9MsiPeqBnGejXqw_lOQ9JZPGc{r*F5U^}VZe}>Mt(2#&J z;jPshpnc-PU{a6=-aW4#>FeWaW4&EFc9NrAwCj|RB)lw5y5El z_>%rD<_`m8*fx&aI@Od%T>@O^54@);JH{eV&{l&SEyua1Zf$zy${gS+bwAqQGvkuh zYC%1~vtLdg68_g`cOw3&|JwT8YFSfOo!H#(Btr@1P{00a1R9{J&HMn^p}&jvII!onuR$wH?tVNK)ec%L1#18sTD3EAa@ByL6;n zO}!LlNW5tJ2by*g((ZV{iR|_q=K#+OdCd+VZ-G`X%orPhh4a5jL;5C=^he?2+$#IV zlZ&mjVP&)D?Y!z;k((`}n~Q z<(F|@j7G+?rpFj^oM_F5MeQhdmYsbdk(PXz11L!RT_V>vTb-GY>GGM87UN9U-)L4d zhwqaVUeNp2FGdYZ`)AkuBX7MhE5YTCoxQ&vgTakyG)BBu3$G|5>-_!;L@|reW@Llc zlvXx1-vb@3@Di3o+pu@~8L>gOXD*F?TrIRQvhJo%|41m}@ojl;fKa?7Nsg{2QkP2A zN;cIS_-`HI&l_W!8WJJhE!LknmRD4WU7++)91ZDVUm3`ZP^+oNE!^t_3+1=8^{Sib zyepxA+}g8+&3+fb@w-wq0CX6%Bkrt=dyoCKw}D$^m#Y>>`K|DrBxJJeP9GQ~5`t zt&ul9ldP0qhDr{!#&lgirNZ?;9KrNo!>r63pmSrNHMs4M>LJxPleFO->|Dc(Hn*W7 zcZ@RC8Exn203v3+JDiOY4$O>I2jw>uOmXM3Zq*Ldt@A(@N6dx1;*S(rD6Ij(?pqw& z#bq$r2VSot;mkx4hzy&kI@7LHxSU^x^xyv%pZR}Nn*+o@9|D?O))bW;e?i89gT$SI z2g^i7%BIW8M3r#Fx(A!obCh&&x`?Q|*zGB)Y`k1ok=)T>^Rpw|xTs zy3AiPa=FaSWO)^2&1=2K>%NOo$_J}T_pcMzAhTw*iPjiIti!AeUp8ORY|5iQbUQV; z!@x|uk3RLW4!3BBwO%PapK-1AI5b5Kl9WGkm{KoV@JEpcNsZUB;6Fl=^eRO1*9)2& zTQ)!d&MM~J=4cvfE>E3EXAtc@nm*5>r`T~nr_NjcP2CabNTQK|QRu*oN7h`HfKI>u z*1}?53jPoP{ZHBNSH#Xr)+sjU>P$Ii{1RWR{!)zC`>Gg*{<(3~r8|2RhH&oBDRnzy z>H+28*-bRxkhh~O;D9Y6eB@RmBp*-!`JcZ2Ked71{Ju}Er231;wKqo4-~3*rV`<;um6Hb^dQ)?Ch5L~E5Zo-RiVvKz*V*cW`nXl;SQyA>*Y5fz@9KXdaXYnPhQ zy4ZPz5isTbKtJe2`-XnYpf@@!?!{hP1qKn7m*8shAnk+M1007to}jwdiuF89i&v2h!WzpP2pHNc&gWt_gHXWvzcYRNwOu?BnhM(9 zTv#9rMPrY;{iyi;ef$+X+xz}Sso`kd$7=I+n`extl*x~42;Sl;WLQpD@QScW;H102 z{s-UT&bZvUO~G!UrG4YD#4$)>nep89ojQIvR3Z4-CmCtldp^*i9D}acncTIUbR6)o z-=fDN*?p9i>&P47n4i|3Dk=XM?6T+|V)1z@wtBnu-mB?8o1Y$2fCw7nKuEukIeYa{ zBK=vaQ{rL3!FqaJT#)*Qvxd2@M*DJt1qO=0)3#KSCeH0VzLJ?7eAs^(X7wMKWs||H z?elgBh9(m=AKAPJ`yqp(y781TAhDXyfrEat*&~VzGnu}0cBxTawE)J9yjLh$jJ5cw0@>L(Vb=ea;Ti^x zKVS^R=qi)Ryd+a0X;ia{@ced#?l)1`^I*YkAu=jeSFSz2n;%AvZJVbV<< zTwWcD(h0877k7z(wabkmSGB#7vmOv!M;n+h^AYl zIw+0jyV+PRE~ocR%-c9q88T7%9@zCO-RP}n{R@;EPKSn(=f82wK5u;hc;g?&-gF!M z^bGpf;ry)7)IW`Bq-uN#l!bso9kzfx^-9sS8T7p=DuC3#jIe>kmCBg>&eN3?M7XxG zPe}&)@6z@7v)bb<>{ulOQ09%%2d8nam|mluWw?E&tErrn)OydH?uSrgv-(spwg-ct z&5~z6w2|Hdf$Q|UxV`Cv0~7PNQiRyw%uP%jwz^J@q{hy!Oua`>o|7O z*8rkbWcUPdTkm>HzsB#+MXC^Esg$BNtg;`4|_@_jV zf@fu}1NLrRK23<>HLr~VI4i}T`e8m6iW?K2CNA_EXtwxmHfa45{y~EmzC>=VfR|!I zjQi%4t--2eBCTxYc@udVtHpli?kZ=+L>UatiLo|9KS$FHjkQnBpc7308?>~v?ZJxZ zoYtV>wy@+blNP{yskC@=z2FWkAW2 zs>Onm4|Vc4)HW4qSAHIpl|=&!_R-Cx;MUf+Y1_9d#F`n!vmL;blBNb z*;ws^8OlV)7qF3M=GTj=MH#VXeACf1)Q%!EGWW59@A3$q)~eu@4uc{^jmMD{_bmTD zYtNPmXh(GX&}(+|Ms2npd0zI3cIp~Widj7ny$R=1Rb5>gIm+Z(k9LI-l$yw`SjwGa zu59CARw?81ya;|-&WAr>(#yDl5$TQU$k&(@8R>y%t!fFbNn6}O#KsKv_v^VQ3v%1f zetRD^gG-vV0X;V9rf34Ex+yz|=v2ldektJev)?qBHk0?}Ix-lpxs9w;b!|NGGz(9- ziNIr0$@as>+tT?;wZ?)Zw)S+HQ1lMT0isFwabm>G!~!D$oCQEmfy50hr_uVxqTjJ~%?LFed|*IplNEh;?@s@u#*G(&q6(IiF(R-KZnV@~ikg2f#4T+Bd%| z+>{-OvQ(ymTfmoPnR#zk98eR0iOucjod3&bQ04fdV2y445$pNdG2tRd=)l4*eZ67t zolCF|6Zu?tfry3daTM82W-t=q%bSOvGO_(-R})lc-rXJZG-U@n$Bysid8}DB3mIWw z2tH?XD|QPItMx6M|3X6_88R&?dNq0&qHg}1&E0<1wEFPi)x;!1u&9-36R>?Gw#(bj zgt?xvuYfMGYB#zXiI?8ftg2xB%z@KzSBaCm(+xX60)+>&E;yxz;RMydoS-6+uJVav z>GP0w{^dVx%~xwl!RT-B#6_NH)%z@SqRArh>9Lr4X8YTLRucJwuLN zN#J+-+?U!7J`Ptu=<%^@3O=vT$yG~Ei#C6fc!W_uZHTy2O*@l4hQ@2$t*$b7kl8=& zJf}~1t692JUUgd+c|DEI0Pvr9CTkFA2|ge)+wA#QgfA;)=KIC3ej49$}e6ew5`7i5l0Jt7>9o1t;xq{PtD22?<<5w()ZJyzO#6`!bIoqZoK`*-2w`ZLmc6rrqnh@Dl zsFwvE5drhR4gj^E^>w~(zR^3Dq6e1o5a2u{2i+L?6Yd|>iqXJE(YCeUaa!G|{FUVC zlF)x2Q*DK8dlRSH7}-71wnOc^oZILi4O??~Tzi}R2L!!|Z~>aZ-j}(S_{fK?hGqOq zp{7~$qR(>(C8#Zuvv24pXB;w~q-BNhv2m_tS?vZ5SSvfKTBQohBZNngGXYC7HY*Hh zvsEurGxe>EF@M?B;;eG8NS@?yQ*TTH*rcBfIVZkPS+U7aOsQ+tFBabF!AxssIHG~t zW#v`4$P`~p_l!zuKdo@eoNGZIUG(Wq|JxitviwH26IM3D68(QN;$gbtrp4^`Vd@(8 zAkDrnlqQv`D)-LNm{2*tN%wsvt~{osrTo4W&`(PU#Z(g}u*E^wE4i^IXQ}jW={UWq z{QokCndp?Sxl?KnOJ@G4JD|ln!N%zMq94BSYbi7>Ct9t%ElCy-`a^q;i{Yr}-YBmL zBMc^3{{6d)2~TtF^$NjmCNWp+Erm8c`i-hb&N7DGF>P?7W1|39QMi3mx2v*>UEUlg z_)E(%u}Y}PV#LhinbRyiJ#q(rRdXHX3?H(zW0no6A=X_R^$#=h?kRY3V=GSn9Q$qwiwvHR_~DjVFU{9Msq~i9feyy0q)Z; z>Q6$@sM{{ajTUXg%XYZV(JoimR_5Kv#*si+c^Zdam%0e?gv;z_12RtB3WHC~w6+3W z?cP@oyKO{~zgrc0o?=SRz5W)7;OW!jN5K^mC+*4HJ&`h)OaOk|N@e7|^3|mFfjqBU|{fsv_u8t*3wn|1KZG_1QVB$7q` zQkj81ZdS_90euzMdqbwWt#P}K#!yA;y|-Ii#E2hDnFN(Kxk^?SB)+=BKIyvXDbnZF z57l)C*Sc=+wSHM}WVn_6^qAgK-cI6_vtG+am_dg_F>aZUzH)`Mqi_xz)0meR$LbW> z`rbMjwfvGR5*t*0VKSpG;k3%z8cWmp7Ec46*hewm=n#(EXuor7P6l$aCR}H#Q^VgL z#2ja7+b~Xvq!^b@WV_7&4ns+;$HV>pbDkPh0g~fDeqC&V`!UU(v%isCa=SSJZc;fZ zvDYz;wg=P{CCWXlBbhSn$$CI7I6hjKY&Ut*2hdd;I3B}wlUh~Nv7AT$U{ty~01C9l zUOqF#!nBPq7Hf?d2cr;TPt9>9wXi-TBkPT&?`H}i@rPxi$?fwWmkTu>{W>i~z+r4yUekQ3w-YpT z5xPfP;v&L+EujPucHG~ft(r5R`SSmaR*Xigik;_983CV|TKv40GvjV@@tbnj{2$nn ztDj4nn0t%_Awq2a6%ALyl zkFT2RQv+uj0+%+MQUI&?pOQmi-BmtxhlbG7WQWuUN)^HUgfGm`mvvppLVI8?TO9Uw zyEZ2rUf!2@yVfQ$&Xa3(TT2|6om2Pbo6 zAFh+>I(BS%)>OelzX=#Bl=`vMj%Pc4Y=;Y7l#5!m}NiJaYFy^G1j>X%D3LG8b_g zb@0b}(H}jJ8Jkd&w5taioJqdseJySIvl9qp0 z6as712r6FfHrYG($%kQ$6cJVrKjbXK61Qkx z4pEr_X}x9}Ofw}V8iKekLXz;EbVFjN0Z#osVME74#dH$1?xvJx6Fd7Wf{^){s#~4# zQi;FB(n?Iw$GV1K@cuxjb!Cu1D*;^L8u9!lUvf0H-?9WFESylXsH+n~I}y99-_5fs zt`m>{q%1;)GVE_KFK}F7P*$pUt}wG`;=gl~SdXh!FN6X)Z2Y;+Z9Ovv*13Y(J1b>* zKF$QW{>}WS`$CDTan4e`Kq}s8@cE)jM4ooJlukrk`DXZ;#YT3Y6+){L$HS3w;Fo_7a zjQPzs>`#G@$jiwTZ&#S$#=8$iP3?vRGu)v5;<9=wZF56w{ZsVZEtHkRrZOaCzD{8A z-etPU6XkS`DMIp@C3l1|CsS_M+$$krcW*IVkVW>hTK+Tt%p{*IrAEQQasqCg-=SJo&fiihCPtUrt#S5xesExnB|JtX6&9K zeMy%)wtu7(Uerr5idXKb?p}01XgE#o&w^Ha=-1w(aW|rg?Ya4l7xmN6;2Vr&{a7jc zZm%3#qH0L^|IUf`m5-5QzDAL}6{qYXl)eUs3+HL-qn>z28vY84il7SP6ei57$8r{O zuG$r6n(i^n*&qjE&hne=Ge|q2a;M6hD@jJm@>;gw>A>oRS38BPEn9UkiJV<$_MXUm zRe!CHv&MuPNRHrp zV3+yBdyJ#DmOf%I;_>$eo^QT#T^VvE$jk6pH)QJuJ5>@wPES_5IeP@!h8XHSvnEXY z0YQEbcb5|(>8b$vN~Mb62}qiC98zw4?X}){FYR-m_PqM?A%9Da>-)yibBEp=Zc}TC zMe8aVVq@~*y*ci$k-cxiPC#*7+n(!Rf`Wx&z2z3T2~{El%Rc*s9jxlTVe(d8ii=+| zCrg)LhIIpRY_sPWTZh4R7G#~wqy2cKNK)uXG>$^JsH2nzD<(b zOaT}VMzn73p@(7+r;Ulh(*`~8K9CzNu27#%K7s72ix((31M&WvE}D;&#`2BOTv=kz zZuH;!%pGji}jUxZZzfE#Y`rFq(ewo5NHj+Mj|G z1f-s?{8(5XGV;w^>;!=>W)I?OpK;%|pe6}ruIoj`!C|f|nv~)s860 zc(7y)B&B|5wEZL5#yz|992CpsPBT^Tr=#PtwBXF=UM*gW3q|8ReW9m=n5EyQ| zBk)}Qm9apI%x56>T`Z&URr!Bj#is4HLct$5lK76y5#?&#YJM9+1{pup`+-E-R`%|h z=eWB{ylE#j*)W$*C!pEaiRIdGdVAX z6g+A>2W)rSmWZ7&ZN`z_U<8jg3y+&J;(4b?(!GuD?G}ZMJ2zFBGTP$QB_Zg-+0nbe z!#-L3$#laVC@q;rN_Z8MPC^3wtL|~H{|>ALuW*Avj!@a;}bvRrng%}0 z@l^hgToMThX!(z-dFqah)lai8fO3QRclvpMx+TGzB-N1jUb^2*<#R`(x1+hqWG+^W z41CT-aH@q8Z_ESy142@t$!23MIkf6fZ(g)&*CW}@@0LAn03QYJ)LHXXT+7~erE?kK@E_yBnMVv5y4uWv+*4j;x9!+c1JoMqR3=~#W~ zeQt+sdPnBx6ASt8?+)VC&_OJi%rwR#J24TT78{#l_zUCuDb_Z<41nkq%b}`x!ohRW zd|3Kt6wA8($&6A&yyZYYqm~Wf#%#AvCrseoSbn4kB=)+BKWuVe*i4<{^v!N~Ssqd| zEo>#>fKMxd4uxhQE(gAWj^BLq=N4iTa}4BDyO$qZPjc3nVEM2Kw}FCd_okV?{o3%T z(}Pv@nmdxOcO4#mX4?=oMUR^4+UECzHEp6L>o*9;W1px4WK&N`&J(z)OXr442S9S^ z_rL|cYLy%ZE6LjTvQd`wjiX$1RW#Ir3zI=X+f+f+G>Kjb&dQB!4t6RT@dg?-AeXs^mZg)JmlX>(1e!D^+9;#h?L+ z0#=*Z!3oRtGx?CRJsrfSa&os9cZLD?QwJTP;WW!kn|-O9&T7LV57yFY`6C2aH6MU5 z@3bI4RZ7WH*#u4Vado|FUY|)A`I5(BGBaC7NLU+qsVGJ)mAjhwYt(^*1n`)3H6qpX zn@kSnk>#p^=(jgbfWF4E7}&R0k|a=Ll;K~092a8x?{DYQy=)Gu>{H+#=Juz4AW%1WiYi$qxvTYG*BA-i zzi69HI$*uQfDCDtggK)pY9%jVzbi{LRcI%qodq@V_z^O5FC}5%>200XES~?NlW88% zXhO|XXL*dX&+eVXyu56Cl|91Uk#=PJ#DI@!ik4p@Tdx~BM!iT!dYCVklY(tcXH!r&vIUU>;L zyC3I4V5|=w@IQg9aN)&_I-&|2*eu7w~6 z%94M!fNP+O^4vX`c{HcjBnLD3v`%?<%*lAkX=R&>(ILa@tE2gc`_{^*&`dN81U2u< zTp>A#*|ym(&Q(hC=@#EY_Pg_+pV9Z)sCvWjq$^7A!3GP9o#B3xfOA9xFudV1k_hv-cKMCkKD-4_S4#8GL63{KJUgtMg5STtn z%|ft=Y&CHN0(-ek82lj;-sV&iYuakX1odftNV5jC@FEx8Ja2Ks*$cptm#=ZggDtCJ z)yf{*06U;yqpjuzf}VPRJz-uF8$BE@l=e*HA8caLbV?XoBsLsa;eNC8Fqx)g&l-BZ za`R)*euF&{+uT0RW&sI&fk&Xc4Pds}JQ}5vqwVYjV0*`}Akg3B*dA{)kl!?ZAgbo5 zLb+9BPCsuoZ9Kodne)dV!m}zPHOgHi#y8il9zOcE(pZF?Q(~>!BdyL##@IUTbySe< zo8B@Jo8*k+XoRw_vrcyNEjVT9x;y=qD*5nv@UI4n*|U3{K;JlORrlNKRnNHSrW+&h zck!xjndo$}JdaRoTr@ECR4KiLm<`7WZ+|AG!!kqNU^?|*w&ki`xNZeR0h|`57Xi@&u=VU1) zZ>w`$z1#l)n1oer@+HYP#!>u)y*4gjtqdtE^*Tof(kc`<}tx~ zNSa;Ar>@Du8O#=hM(33a^(2|VsZqIXk$)qW>)4ee(G#8<+WZ*&Qn1~8t-a31daUl_f`yt>RJsEz2Mh~aN(nd$H$ub(+7|?OD1;mYbazg8z{m@19;&finm7S zI%0pQ%B7Y^FfGldbORlvdIrG`_dfEjscUpHIY=yZ zz1E&7ib+lH$NB|LHGtw5#pjas!GjFL2h?S{=T-i1a%mR9uLHDRCc*Yh`$S7Fxmv4x z;Nn_=jzl-{vuEYeo4L&0M>@+tQ|Ogu+_Uqya4|E2k?G3xD%V^|Y|Hf=dC#v3vTM~a z0d1xTLYsRpUC!|oplSR~&IP;QhVcVcM8P-E1h!aop*3r=`yeL{uP=@m3obUhZ^iQ8 zDX5UQw&3*mi4C_vgJ!+24aq83jaP!Bf-WhW{Ap_p{j;^(C>L?anG@*C`yqzG0WYn|^WWv3?R2zBRO%(=n?xS+X`r@3eBu9->2>x-BxU zwRKbLnT2S21UV2{o&M_ayK-ja%)TvV9=zPQ+II(IM&oPkB*eKEyY#u@0(V;9YO2ZF zOydyqgdb$mrWzWi3mSvaL=HRbVY_>HxI14gmCNP#et-P`zI^?FnQF2d+(uq2nDPG7 zw?ziK>-`eIpYhQ*@*&J>f0b1YT^)~H3b1K@g4X~}e?;`^?N9#`pzRlzrAti<;qJZ0 zq6^-f6ds#abAU(Nxb7M~zcRpWfJgl-+tU}0?Se$oCCo$6;X+g(P+K`qbMPC}4MF3y zh8*FfQD7coyg=7oE0vai2$@Zfa)(9iC-w5@`R8FSD*BwM@gau=chNY&f|4w|_F}XO zIBB<@99?JIAmPr|K)ZiF(9Vq&R?A;vg6(tZfNCQ~R^4Ur#GYOqR?uW!yxI1KCvtJ_z~v|wyT@sG54yn=*xbTq4yb-YcVfRazG_(Ahq0~YYn9iZCA1pX>rhLS=iO(h#$1jjbKm%j-zjf`JL%;HBd?FI{K4L0bz zeb1gM4zrV1Y3hzqp%s6CqTy7y;ZwcTJ|qCJ+-|q7bY(64D^(Q(=!z+09u@P)PqOIF zSqXx64q2t?0s{jqn!9p?#nf3(b=?0jqXPX`_E#@P12PNIEb;Fp^HO`&Gj>mmY{z)3 zIkA(1UaP8?dKSHvb!U#n{tV+RU3a;GB`2CSEVgv)tHm0C}`iM%vjr zNz&G=Y4P=PV3v#{3zPL)uoLcY1}I2NY@I64*>y=eaZ|TDs%jFWU`k?i`*Wc$eV=;;H5G1ic8{~r| zuI0Q+v_!2v>dE9{O+Dwk6H1+#>Tkua5vc45;%F14?}tC!WyEs5EP^rRr1!5Dch$j`~C7H!F?~$WOo!vH6Z8gU=u2?g z?vqO0U76j~9=?Y37P~uHOSCsDITXfeMduQ|9(9hSGw%MXoD-+{oy|&*tx?A^2=ZE= zHVVN4eJBkKjfDNP;zVFx9Qd(GB3bQs@#ngvt54z(x4t*74JoA(x$IhtwS9|tlrF4L;oq)4Yk4`rrgSj$ z>C&xdDFh%ur}uByVJ965JPJn+er~e=CsXPOIYR4NszE6E@bo38^cJ93_ls@aZev_p zh9hU`#vn&#N!lCiXZ>v8v?0NoT0N;%R>~tvLXOYDU;VxIsx%2`lPI5!HM6S>RpD82 zyPV#ba!%Ezrz_F?ojIDfWEG8JGhg}dGQ7s>sy&91XM80tC9!l}n8&h};I=?Dh<-A` zrGVQWDx(nOh~8=V{a?`2PN=keD(2b9xN9{gp?a26bX#EsaFqH}}AN_&vv*XP60q?oNqM>(p zXZ+18B2DhcsOc8VRR%*ZoKG+c4HG)@_#&~NhbOzQ?Eo|*v^P|1qNQV65$dhq zPdyr<&5g?^$QTZ9ND*VtfL!HOtV&fP1OTEh=wp$U&oUXMw+-{X8>B7?U|{0*F*i^& zHkc*nC;Lxo;K&t&Ow(2xv_GG{JEP>M&hbr>%yxq*J6ubFX-ZhEE2)90B;9*h6=BO>DgMHflu zp4w7fz@LzF;C;Lf-yT}LzO(Y>=qv2-RLlUkj41y#WTGfh%|Tt}pA&EO;nvlZN4v(_ zIm(@a9mb++vDdjZ^bMemkcAafz?jwMgcj>q?IME_3gBE>;@?u94YXN9d)-z6S7$xP z|E`3&m{y_zu89K;k#ZxgY%+b09ms3k(e*k`5hRH#a9IGntR0|4R;J0az>MHCx|W2+ zQAm}`>65hJOLMPDWwZWC%awmxp+0}!VoUi0(z7&@%eF+|K$m%pC-^Mc*hi{mJn%ds z@c@@`FCa^1yrm>Hp}J~)PlH{h^E%*xq_QJ-!u;;JSlW|AD0+@RyN70r$nm0u%j?v7#5WZ3c^?~n5 z%a}w!I+4Nu;|L&GD_IqyiM!!EOcxI6rE<_Pj}1 zi__6ziHdRZRWE$EYvl7&cPgB?z`g%-KM?!n6$#Abh2kBSK+I3M+(|a}S~uH?SC z9rf1w5tZPnglS?kl*99;bI5>r#Lh$o!Y|HU7)ush>x|q}dn%D9JHvBBmtMctmeaUo zH;Mw!e8xKX@ZoE04c;x3if8a z=glbSIyU-`(SzfPhSK7kw*eUE(g)!#guwu<7`o3UQ}6hS63nmEI%sVc(nk(e5gu@^ zNB>7>@TppvFK4d+CBm(Z8{#^jcq~G~&?UnS!RldxHP7W(O#e`;1XLlOedN-?iC+}J zrL_!6lkG}Wo&&vQB?-T)puqECPD8@&v~j-w(LS*uD$8&Qnz~#fK@jO$;Qi8klNnAp zmNlF4--h!zWB6P@tph#gjHg*7F^6TC_Mf>gRt^})y2?c^QWCFrU~7jx%JoO`cLLAY zGcM<-<}D1v3E-Im(*fWQ^*+8FKDeBDYt+G9q{CfZeZMf`%9ZKLvzjTc#l@V{n>reo z8hB~b=ZKsR?odt}LflIQF;skWEEV>i-7#d6nK2ovNv%#gDgVm#^~;-K$5qkpUzs=M zmC!i!9uT{l{dH1pkqC}Khv(mRLH-D%CM1_Csdo21KfQ1V%l(7xJizmL0AzG&olrUE zxXA)@mMzxRl_;F#p&cif@#V_boR4~$fMDxA&Yse2hE(+D+r*vw9qgc`gfh!a3u;iH z_HUxMXW{fHDKlfeB<2HdF8TdBO=QP~0nnBR^YMkyn{7ap<`u6y!r9ncrFKEkc1sr$ z!?AopxBs1*rOOCQMu^}&FVW3y{onj*h%(F@*q!rh^=>G^*-yjmNj)%GpV%d2Q=v$g zn}WJY{t`8&Uu)PxV$Uodyzl(Vthns+!*?Ke#%NlrBvc_H^X^A3{tHUgV-3jM2%lOK zr=9|$K%1$Org%L!g=@UOt0ldSeOb~(=fy7syI62EA}0ioc(l)T&d z-Vi2>70>2E1`2ZFKT=M89l1`od6sVdvG*NjV8@uc-_>p75DG|+WEqSl%re=PVYIGq zgNR5R^G0l&#NlkxFV6grnByQ2fp(pfg`d@t%;c|ti+I^4sb#qH?}=snDdTZ4Wrn(+!=9cjA@UdQiqobRRW z0brmOKWuQe5J!En)C;rij91Ie}(Y^2)Zi5t}d0595cawD5so0F_ysar1vuf;;4t_j8n$kh4*neSh#e z)+R3;T9h0LjH%~ox8;C;rnb@d38UtMPcD3qNYOPoMP%!@9nJ=g6WC=&p9+ewswg8O z;ce5y7?Km>MS7dfRf;jw@N3YmsU2sXZ13?uJ?mXt#25gt7%W#aiMG*A;|T53qp#;T zLq0OXg(o&im~Xu9jFWrV6IZ=1hMjFsHC~`9gin8Qd01dh`QoKES6pneF259#OaYzl3&DOBZj*t(a-MuqiKCmcZ&+AC@hWoIelv_ zyIY2r2+Ga1qe9$mH&%f3{0@$wyV}c)0z&bOzVRN*`^0FZbi~T}egyXFtb$O2I41rA z_hbrCXwkTJ%!S9TFW(sJ1&C36xxhfI3uY{Fzhy%QZ6G)2c-+^g`+R<4)Uh?5w64$l zcmw$Cft}kBn)2JZ-6eVgHDX~-wldw`c>AvoFKE5an0wDLSyW8wmvrp+0 z=bs8p{R-Lj90c%F%r21sS)lRoawvQlZhYb!Ikf8nQQto)Yd9)xLQipW_})LeRkAzl zVujmxF28v4MhzX7N{qdy|7*5O-=t85@fVuBaZtT`9l{IW{&n2EeKaANB~<3sZ# zhl>t4<*p@K?CtZmBnASA=3v{C{Pek0^cWiAx7;?|fCvq7LgFis45icS?c#=FXXR=m zuU^mQ4|AB)-+XtU)tZ3|ND^4lOtp@hmR+-T$uSezg&3tvS;Yk(HSSWTGsmwottH?- zmBX(l*m?|a4@Gb4X0Vk=^OM7aLj{R_AG0*J%{U)nfoc8b;HF%!vYOT0ToR(vhr9^a$ErHpu)=qPyrRei zi7#(Hko)}eyiC>t?(P-SD>nC%G-7~j=cM?^MB)l5WMr=puM*4Quh-EIMqYP9+#urP zN6;@gPF*UP*LK(;+G_+A{NxToTzv&WpnS0`G5ZzHZrH6;zMP29;^T7?T}7<+dXMrN zV?Z2uh_!n{;m)v*@UaQBrN0drxH8!{f`V0x(^4HuY2HIEf+VwC6`;4nB5<3+}Rz2Shp~#$RYN5&3N= zG1bfCu#@V^IhUDiZ)h}g-IqVFO&?N2HAC5*I?N~fE()!)paj6#?l6(owTTNi5sxU; z*ZlxD#751MY!{xQUObOxvk-l3TGazO_GVU&^N+L*;zzuzhpSlW z@qbONlh9Z=oRyH7i{fUdqOZ7v;#=RZ zD`YfgV@u&6zK%GkFqaP}4ic<~gD7ztz8EE}OS&50IMmiaGX&N!S(`OhraF+^7~Rp`gj&Wij6R3um{uX+SC@}R|{_kFcM=^8&c|hUX0}BF|#3! zX6L1~pWbx?&!8aX%xeY(6zR!xXM+1$wrT|YcBRzu_v98AcQ4+hOY+OQ zh533->*>oaBBBaD;zAB=y8{ERm?)eP$+XjBl>Y6PORiEyN$m`hRpczuZY(a;U&p!T zE~$NNCAV0MQa?)`KJ;{k8HU{Iw3WgysF-6&^FHM58_)!B;-~;nTT(+I)Q~dF%7*vT zbWyfFa#k(8?;+bY=HEC*VM7!#d*BFQVrw;plxQQKEP}qgmZ+G^BGF`bAXs?#gJtCK zz$!-oryz;!>31yik-1*5XL+vLc!-beiW9C@^`wQ-&jeHlN#rI_QPjzo**b5+!ab@Q zcevb63C1mc`t+b`$de-k3C%(BO(D29kgS^-Ubtx?Pqs^krz**RT0E=QqkL29!%uoFbiixD>A4puAd)kVbwl z$9&L^79D>#+?iMl)ASG3_n`Bp14;oh&Ko?n>Fx@QBvv>lTkC)Q!2~ z(%8KT8WdduE$rr^Xz#;+dz1#P>N1^j5}=F>x=qiV4>21DvcSa3QM(YNcks+uwLCIA z$iaxK(;o(@dqF0$#2|(>!c{dk-{>E@Kl?msldQbv=MeK1pXWE{NLR3bpN7e_uk;|L zZ$|ng!8@uL@7jaqUXF1_)hA4m@WB(hB%omz#$iXqG#?yTZ%wzn|6;)JltrT$snA}{ zJ|o@WFCUXu=C7szI9j%D{T^2HDtD!3OQ94MS*{s9{tG``?{t^OLFIbWNwKUM%1&YY zQ1j4~@Pt&jX8ka8U33kc9>$h@^-yUsk(oF*$plW$~Ft= zvnp6Md4u0zfCKUF!K53NF~pHi6;;xJ2ak_gGH)BXe5AStY;GMqZrxW%IME3Al9G57 zvSK?4dX`LGygx`>=MU&$-<+;qCX zCzlLa#g_C!w_4|H!oq=Z4Nu5gE>Bjgs}ADi@g+0`z}2(n40e03ZvI(hE<0vG2JZ8RH5EEsS5of349r1_YrG#EF$JWYI7TO1q*m_}QvrIF*NDhI6g!3i6 z*ECb!@Q~;Y%c(4~LWu-1u`%N1_Y>de1aW!Enl6dDx+IP)+N}s29B*qlA@F+@#nvrF z+e$v5R~;-usl=Ll>Gd{|2GO?VB7E6b{Dq5h%QQlyr%&frZY>sI9h5Fri~H5qRlP1k z>7;HPeYxVMG~1=dl>a&AJa2c^b$1-6Hz?!x%G^fVz?vf7ad{>PKdElURuj&KRG_-M zPAbe%Ox%#*;m-3{rKPeJdp2f?X5J^OPz0o8WSSgC?O1Zi5=q4D@t-;-a@8@(>j54R$0+fAA<+WErflj z%&es8oaH=`-D44IYP)v1LWK`64R_b-WU6z~+2m;;a1$+C>GKHGg*}UB0b`p$`y~h9 zH=oB71CuL3^eAywYDSy*ZF5R$llvwIe~#q5+F0XZKH!LPYuTT-p#Gf8cyzj{&^)gR zT%IjOZ$A3dppc^0t1G*FhoS%d?j2NHcIjV(=*KjeqHq{Ui+6MfyV76?4|~(ny|fHe z6kZZ1t@zRr+r90~$yV12Z^|}*pEy-?!yQYQa!#$KhaeQ31S<5lUaHV#p=ZrNKLzf& zbNMh>#p5Jm*Vw+O|CmT6kaxPUQpQuv+NUKh>;hS1nF7?7qn?4hwj-vTr6r?$$N>Qt zZFzUd0{XM(>v3^p(^KOa(=xtZPu^|-kM4gAt zui=Se*3~z^j8W99Orx|I%NfrnpbVJT8mqg8Y9jgT?HZ(VX->Wq4Q7I?I?n!nT~SHL zQjyZ{LQfp^q-6|~4@fySIHBHQWy-`()7_5g%A6%Y8^%NethE%^!S`$H?}B}Fw)hY% zOm7pvxY%+x4!buEU4J!;i3D@{CF;I&V!X6zAaQ2Oo|S@GuBnWd`T6~$^c(B`6?s$N zF-A^8G|8w4VOlZnT(Tb#1X`v867SuIo?$v6HxNnwy-ndA)-G~6$-*et!Htnr=iVfg z$W~&t!JH2mxw_L#Ju6SgQ1(L(ZhXuDO*?++Tsh}&2|DU#cl>15TT&1~)S~@K&w)~Z zVE;1~O^Nr4-4+*#9$lTE%>VO{xygPSS{Ylyb88HQ3F+} zHzwGu;Jv^smrpkdamsSAYN-8nA!g$M77nbvnx7T`TXDlW;-vz_cDKE}^CxhBRK@B7 zNCGscO*btEyi;4u`+}Qxmcl$*x)iIUd@9f}Qz7HPWBx^)Wvp;s=G4>taRe4}xN=v^ zMt^rQn{P^}p6phEUA6UVyU&J_V)sFcY=g#X%DsoL!z7_%=L`D$S7Zpjg2iuFlAd3n zP!atD*b?6ra^YHeJ@3Ee0rv-`rHUS6h53}d_`_NurUKyTT(j%dl6R(@Cb`GTK_-QR z4@0jp&cY}h4l9jA*gj4#<&PHC+3zFv{Da@s1i*~~&Z-={;Yx0r-zq2VruaV?8DoGp zWhH#$W>eZh*?If2&yT|sYTdB`NS{zwVNGj2?cp8ZxjgJQfF``uQu*eqM@P|p%WSyx z6^u$ty>jmo#Veo#%e)7lgRBgy?-qx^6By>-q+;sl-2fKHmrw{PWILA{j1x$rM;JSP z0C(F8I@c_J`}LBZQNN)q|MZ%|qXK2;g-FXCS@{%Ar9+{=5X zeTr^~oL=!^7{3BlPbj5=U5>0QbZXWG$suL?;EY?P`y#AN20>vuBw z+O{~jKyhwsy^T%qCkCfnRbqqCcgR=fpM0aAdoFnHfo9ij*|QI?YU88d!vUz0tNKGJ zsFiz?*s)0@(!o#};hV6&y?EYFh_5b$5RsR5YA!C)g*$lvF z`?oDbZt1Xt_0H5rG`CCM(eitzDWwf;Hx8bhARd2lw-Jx6ue{jG{i3>1VLcVWChEO1JCmLhx&`=mUzBE`Xuwb{UY{6*Jn(f6jw07YrSw#* zePSO_bSOZMcN80Xq-{+raQCv)3I%dp;=6Bx0Cw~I9tH6uacmAJHA*cCU?^Q0e3S}^ z6Xsa>YNKFE{>%2{b%6&_)Xwb48k$0e}h3hMFuz~ioPqL zy4ETtoIutI4OCo zGB(tE%m-yYl~+!y6}7II41snx3?(8Zbvwuq-^a1umiK|~yQ}%iYJWX@n>vv1~aEvlb*NRu^7l)47Pn0aIiQI*aboPnaam98SG3AH&8ztg@t z;MyxIF*Ai5)~yumY`lCs9zgK;c&~7mVRL|lWO_@AI|0Pll)T;LXl&7eH&zBhI{K0V z3?0`FcGz)yg*h*%6l%}`peOwwm-W9Q?ni)AxS6-d83yQK?~Zg*s$t>B{pZI^b~BC% zV)V?%mYbcLTC|`!=1B|*P^q{Q1reTZz*fa~P(?9L_Y~Zt0RI6zhfYXm|DNHbz&uW+ zroJpb8u9f_xxr})B8Tp{(BBjdsVgYDA~PE6be+S1S7n!YevHzpV0@;p0~<(h1R2S4!yRv~|l({&DqIZoZw*~qTQBl2||2u5Ptsv)yC#}}C zwpDA`ZM2%T84sOy#)WT0UdCWW0)aYf{5~FqTdYYys>#6yjnh?pB29Sx7m;Q-55)KA zX9gF@F0{+e;(2DcnlTrJq2JCfzkW-$r1>zHC1f4h89ZPUMH;WNj%dM4_I$=Mo@^w+ z5ub1D!bp4s&}XGY=dHR6BgVRODiD-gnb>IWf_bpu(b;=`ePv?4)gFIJU#Jdmiui}4 zj^J7{B}&&F_5Ju11NSz%)6BU6uO~tj7<<3JI&K^OFNrfQ!FXwek1*3Q1B1TeuS@HK zKJS<|ri)Xmo+tK(5&o>x&#)O!m%^mPrESDonpsM)$dia9 z4By`rDF0o-e(1}-k0zah1YBtGhAK>mhR=SSI7fQ%;6HNV|J_nTZKihU(_?o3R^aHE zL{$;9~5X*`w*TN%0eDyAd>I4XoUAFXm4BK#6IG^T}Ak?mvY9RH8w}e*QYB4OEV0dtZZjQd#Dp9s5dEYXE z67j@=rK&xLek6ho%`|wF6+Bb z_yvbYe(Ff#t2iz>GqCRZqd5HeJ4frX|LnQehXDKIQRBM{?^41^6bzDZ<0;g4T8DO) zvf+~$)DeNB3WW##b5z?&LpGC;slz%dv0Ei(PnUn9#Gwyk@%g*~f`BMhZtfw!wdd*8 zWhO~JF`KA(%sFuP*VV3P=+E1CFIZL4qTne!!F$uXiBQ}x-Zjb^Y28N186QB`jswx3 zw-04t<|d4gOuUeYN6>vK#ravF3V9*#ADP{Tli#cbq)HH4*ui(SN5<#=m1x!sOY z2#mU0wOt{^YVk7p56w=s(TahnLO1=3AGNmI28b1-k&MIl-!Cr+nKZD+5$pH?u8k53 za6)rdX!UO{!0tfX5BGQRIq9f+G!L9^s1z>OAOOq408P8<+r;#+5H=;M`k+^ju_pjz zrjk$a88?{4q(l(ymMmC_wl1!5mk_>XxtgH>M&bsFZH4SNca0V0pWeYxQd>Ks32!Vo zufevaEty_1a_+RoC0z#8$Mo-Sk4_lOyDMc8ajq&RgU|26B=g$ zi!b85``byJ2#JZgcGBcx^Yg>dR9UEB{Pj)xxxGY*wkpWNEVm9FKKWj;L1L)TPmb9r zfRZ6gM`VH*TFM6#s}uF%bXKfT z3vra>}hHn4CD>tBM*uZovc!?bnu5j(sQir ziHNEWz0>@<=E$DMAASK+#tV|ol(?v9tZ;87kjgFWzJ9pgh7dV^85G28i8-nqZk)D? zD%%z{NUJ}i9DOOr>TWwt6hxxu;d|3czD=Q9n@}6BvI)`K(#JX=wFW(40DOf)kOPyOfUYmmR`mRobk4rCfk?w-BGjai}}pT`nE-i5fl zoeG2+7#Nl|`dEzmt$6-UE7~!5L6@!1keWlhb#K}QU^w9bhb|h%04J&KcIl&Jn*;Kk zv(ne!`Sm%TwzYpZA9%NdoBK`{gU@jX`qDd0=fd!DkGiFx8`{v02#+OrNEE~Lx{_YC?2(7X z+I(B>L1_M%20T}cawP`MX3ZU?QZ2d$@u|BXX#0qZZnuaVA&d0!eI@G_RmEwl{q<)k z=JH+4?k9}iYldO-}XsiG2Qn zGxx|}rVToW7$Hdqrs=t=K9ChF(&X4(x0tGHQMvtn&mRJhyfc5scHEk3n^wyCW+iT#3563U&j{?-qMoEEMJS2je=wOJ`sevJ9j~v95Z*1a*RlQ@W7y(cHI-Rd_-H0n3Zb6>h#w8HENWf$Qu2 zXQU+!9%vG?;wk4sQ;o6{1QjBMUomzoCGgAqI6~Dgiqi|H(nt*8*eX$JL99Y?f( zO3Spp?gF=`Rj5VeOPOcWgcp-{N^~%C$1ekV&K8f7s;wo|&=1?CA1cT)Q4Lg!H*g*1 zWcXYXZ1J3ZOFJ1f0OV})Ni!Xm`Y-ASVkQLF&1L~H%izQ8>frjQ|(V>@1;_f4SEu9ypz(}<5*Io_-e9dYr zTpQB=kLbtsKrlT?oA6~%aq|0ZeOu5>h1@QrC(SpELV z39Gp4@V-FncG-LCg|g|Lr0Jut>2IIwy-7njmsJ0*MgF5T zb-it#kwv6O%yr@??m7~T-IP$r$Ym*eL|{~dtc5JFYK40Wf$hptZL2&cXa)geEr+kbUFD*B z*(JhW-HsAEHzOZOng?6O7)t1hE0n87&kS~-=1Ohl@lJ~wML!%p+cxR|$$N&KVyf5IV{{`qj=kxo4kpPMNH|&+Y z$@e!^JxQ*|?BdBjmk$2y{0u^EL0eRu=^xjs2i273DU}=gQvFuQzN8Cw#@4Kfl5Tc6 zfcWRlK*E3hBn~LK1mnig%UwD{p}fJpb~@?vtaZCl$~o- z=H_|?T*Memvyx0j+1I7T#zzHX@^ynJ!!+8j*gHNKpe_2Zo%Q3xxre^LlAvy1n-dwv zZfWcDNEK@sF!*?h86oDz>;bcthw#sRMsP`IbO;OR+vVrYY`Whi2OBVtZW`au`@me7 zsiid65ePDnxw;MwbCp9pRgPlKvUS6PfS&TlU%~a2qO8WybNL)qV1^514$i3HOr{!` z>fYyQXsZ3uT@Yq|X(2q#tz;&*b(4UiV^3JeDI-(zAJ_j=uw)u)L+6i`;E6i0y=k17&lH3#3*k|!Z?wDzrjm$8xM_me zM8l05K4*KgW#T`$SlVBS45;It4+O!`3Xk=&9?6Bt?MbNlSxzFDl+Rt};|)Qe7u|~? z8V~9vIFeIDBy)+{dr_*4Q`W}Go78-j%r3dVoTv8XjywA`hwba=jes_pSS!nQuSVRK zeM-|lxlA&9>AE#c5Bpw>eVrZUkKY;&!k+@lov z?ne@7a4}t)dl0=^MXZTtJSq0woYh_ZmFSZDxDA;#XQ+i8eQ~uB|MUIb>fIi8e~`$= zrxr{YLJccAu;2fy_@8n=EMJR1G>b6aK;@nPfMwPRL=tQD11`$k23@uqnzDx!8qASB-8S+Vwxc;t(V5~_)lJmxg5!&a z=_t>6^ZOxn1M5T8Gov!yg<@&emeS(-)0M?@2M=Nl+>7wYlFFZ6qxufynCW^N3{m{# z-FjVUZbrK1s-Nt7hute*@Tc(}(T>OBcqiSJ(i6$^h+pnxn>BGzPC`%Ki-mIP)uY37 zLlr6-DQqc?{SB4F>pak^ChPYt#_;Ef(}PK92eyXjSlv!^fRpZ1ORH)~?jxxPUF=@gS zrDxhus4WyN^ttWZCT9@NLR_gjco;sKj$1i3-f4%Foe(st*n^B%r`K=f!qPLKBxKoZ z+5B|n^-!%>&%g7E>MVCU?Su*$Mbw!1)$s<~ZktwEay91c&2|p{>x}dYlHIF_wEX{> zsk|gcZs3i<&!DW_V5LkX42E&gg>6H?9>8>OTb$Dj7iiLI3RxbsFqf9pYmLQ~m!0Q6 z_7`sDI>UsgDak)c@c%7uC$|L_6Tp@1POY$0F;OQL%qIoajn-S;m^56Stb5G*Q9oOF zmN}+#(7i-++^*`=yBI{{leW3}Dp8Wg5831{o1jR&wtaAfLda@g=DJH=-@0TbAK0WU9GjeC%zRlvn1Z_>oSiOhox7peH8fwxu96TkVKDkPWPJF%^D?n%F{tf z<+#q$W#66HQV@+@JHfty9k9)+Jf4SbLUN%;wj2}ibHOxobBx-I3^{;EZ*A&fW#it) z_gk{?;OGwz67H1=uE9z!yU~6LB2;-Y{a;MIV}NF{vIRQRwr$&XPusTLJ#E{zZQHhO z+qTW`&3otEcW-{|y?-T@R8mQ5*Q$k5lTz&LysQ^v`06EXB66hsksNPMa=$B~K8dnu3z874z%a;@+j=PjiM zWQ~Sv(0RJ?xL!OJm-gZY%+N@MHgiYGOc&cJaXo)L@F9R4VtHVsXZye1T}s;Cz}h>4$3CI9rOv;8$cG#Z^X)nz}> zCPhb5dRwB!a7;vuCF&Z;H&PvF4;ni=6mfr*R#lTqq4Rn08F?A0-H#>tP`b7uO0Uf8 z{Dds$^^>NbboLxIz9o*A2;F3I2`vG-!^bs?` zQgiUdvw>o^Lk|sZ**W1Zi@Knr0deon`h?m{NHu<#zAH#*l@&015tMM)KU$V$E+bUFp%a|olh;_Ep;$I41NDrFQ2cso^vq zP-$q+{Gk@bPrU6L>t=#M4h^jC#2dlo^sA(p|46Tx6_}+#JKp&HA(MEc8pfeuJXA=L zrb0H#ynZ-OYn(_U2LzNi@&@;HfNa&gWWC&CFNcf{mn_UZVuH7kHITQ<`b&Hwgik-h zU+yip$B?cayY+!BnfGx^&xj$U`cj$(TU|0&S-7#_8@Huzv^8Y*G~ebkra!v2#sWrl znx=|Ye!A&;949Txf|Z%vS@w=H9PAr{-YMz7Tr8`dZtKI(lslBQ`3fZJfkbm<4pZ~G zXPdnEtrT$2Yts5tS^-T7?ryKj3=OZ9Y5b3>azW@?<$0h2TTdz!B2fiCz>D@RD3M!( zzXRjIyJj;7OS7*}zc#X;HNggeaz3);F@>hTaHXDDF;`TSIErA<>@fna#wr6JS~n(O z=(gx7vqM}VLD%$hAY5%dtNK7%|BfOk9H;4792~}D*xa3Uz4SB^gt0^=>_fRiyrQe= zDWFrY1OlDcoG-e?ghy9{upqfwj1c761EZJep*4S-rc&=l&iy_#NPPP#j*_H2GKUkf zrf`Swa2!SRS>LXY>R$9r5}&d=bgaF-8RVv;yI?Z~UbK3B(d2@TSmC)v@6R~IO+qYq59?KoMFh`_dc)!D8#umpbbcHHT?}ELCum+{Hfr265yiBfZA)!z8 z*wNH?ZZ8T+yjboA&Lq`d68L+8%Hp8D)@8SvF~%js^>fqJ6fHj|hJ&P*sgurqv{;Cg zz+&mYX2X;!w%9hCaz=I%L?lyt_KDmn&my1BEt=^y+ zyn$)lNW~Rt4$j4=QNESdh2S1enmI@$FFcQ?k}gG4_xj?*mzU~op~`w6w$ z{MX3#b|i{x>%q$t*aGEG!VUOJ;Y=e8<8{4-V1U5jpvlglXVm9O%C($Q6e z)t2uIJZm&=CI^?M_8+S!Qa7O^t=N#9mLjkmWYlg%C*$muM5p7rG~@a1r$28bV8!4d z{Q{-)8>^wyW|Yr2myghATWZi)47qZkhCRr7m$N?LSDG_Lqv$(JFU=}Un7Pzwh)+!& zS|J~l8@#^jd_~kwhUJ9z`TU%14xDk<<>+{yA%^7f277I|YE8d~0|F=#3E?ED41=V) ze|QhL$uKh+>%(ye4SaBy@()z62i?h3Y3YIxkgd@+XA*>I`L%?Kqw^!`hNJnTX(bqi zN>2hZHYv^(7z2zp9DW+Ic#bQdRYA>e!6rHz{UTxnLhjYlQ<5`W1lmbDk+fsF6OZ>x z%;#&*%e9MkS@WZS%apGIJN=) zbtbC(Od+`&Lq8Dqrv5QfIDbNYs6Bm?#-Upy(1yxJ z=lZ*&3O{;TwQt;`*M?w>tlRlB&A$#`k|+;qd_0xyA?pKbKZVJ9!-&7 zy;BP={XIcdj>yZkFX38+jBO&ti(#g-r+Tu{Lq5JO4Wg2hif18^kP{qC(RC}_ELFfdq%1adgE+4`<&N|oB z@A9mME-fg9Y^tx%|-#S@+PF5M5!+w<*}A7p2IRC=d-=j+(-V#i|q!T5q*5L;mAnl8nmG z4(A8|$DVq3n2kQJ(ArkH#DH7om`4M{WZeG&Ipn}31WPN3Q7=Q%mTe?#hvSAkqNXWc zrV~>9@#3{gb(+YqPt4&X?PMyuL-$ajpA(;?%JWKaZw6hpTj%AgiA@_9os9sJvn2U? zbD7OMj~iNR{Rwwna!jR+{&~lY@Y-RZ@J!Pw&!<=6@i5F^YHW0>bs_c>6deC?U{T`h zn5}wU!j>q3Lfu{Fy?~6r%aPQcB_U}_{ug55bW1;MgC2BEWj|bxtihZLq%D?3)B}sX zS%T<7N6o{!pu4~Dx~1iuBiE*-BGvV@TaWGh1sPiqt)bkgKguz~=(OvsNR^Kkz9 zS~D4G3M+y{?|4c!p=nNT-glDU^@pr%RDnRak(VK?_S&yuinO*>e`Qq zcB%YLgP*o1`UHt=jCk&Po6Q1Pq%-=rFYJ^FtxPDcZiNNtN~faD`nw<3$RjBqw~%p_ za=PBzB-zOF^F=1b3np`x&RPkf6dTw}vr$&s?+fXxIo?}8`I}p@%^?sXr{NQ_Cv4f@ zlV#<~zxAGnX1i45@(QN$3yIXK*r9{)(k-yFm+vCYY{zpYMT;i0L+;B(``4&(Q*_$w zs-fK5tHOiy^F~*xcKA+mxletLO=9&1UksG!30ps@81!LZ7wUF1i&xYKHG>hRIy3C zml)zQo-x<9fLtwewb2|m=FTm;^0!$JOI5X06us#*vBeUXP;0s`ycC$UAF!Fax286+(|ehMhDay6b#}4uD0ofUGPS5DVaaOCc#K4Y=}v&2V}hO4%pdaFZ%&bZ!!N zSIGVoL}3b357fX>T6YzlEbcUzKPR2lDZ5b%%)bNqFI=3j6J}g-Y$M$xTBk|A1-NU<{f)LRdfrD6f46z!K2iHl% zTWx=VR2SAr2H$Wd|C!_PL~Tx70-wCDn_kh|)t0g$+{>LN4;PB$x#PLbC*q_gMEJ&1 zFBCK+>0wDMxwZsi3abOfXrBdJHP9(iGno-$H%g>Y#Of{YHLBNS3(W7B%@`m4dR@KpnGTxo*K`ekC3uQvHFE4Vg?gPu4*(vO7s3R8Z*ZX z<)mVJpDx!#MrfEDV|*nt*9*dA7wBS8wj9pE>&P%YYl9k<5$*a>i-ps*EIzk05I^Rg+88z&fEPJ_yE_#=t&?bj_(y~L$-$}O{=BfIH4%Pnx zx15!694!>)UGq@Y7oc_>{>Wa52;uuxz$Zsooee+c84b%=$2Ccwjr!w+@o?^Gbiu_p zNUip}^jy@wRKAyGHXDcDa(4S98;8}u;e6T*VxIQp0(u9iOnjuyfNT&WRhEtN49Ls$ z!Q%m%LMND6Y%r%D1l{GGk|C*51rYn%)R=PwA7@Ypq z*!d_=LUXWI`&HvXS}3PD>J7el=&4`6ct-nfW*|N~Ful2;H4b94E1w+xo6_;T%;7k! zS0*|T-tSP!8jrz^enb97!A>1awR@#HwKL|(7p+^Ev1#>&CD(T~NSu!Hjdv7vz9+cL z$1Bf3V)QOqvNHyreM^zJSoKywnl2e(l}NuL8cydi)vZ!OBl_wToA*#=HZzih(yb&u zPmnReEt^2*&BdFUMMrRjA!$6%fO=?3vjknzCjR1>H!)ReSpMWuECB1&r+%WIa$+qeFMQ`5dvH;KajAbSg|U-g`S`Qrit=!Y zIwD*adB|a?C{EIl^lb>p75kcatt}sZ`>yWti(mrb9kGJ!fvgJtjOqRvF~#~;?&D{7 z&z*iRJo9-w@Z%d@oC0YKZM)D#-qsz zZn(k(QJa~&RquQH$G=3zpt}PGzt`9Kj94+Ahvb(3#2LPpF%m-DOky6x!zgCvyj(m| z$($YcG2^(aOQ<#UN0;jg7E#Fsq{ZC z-Mw8o-ox-RnCfkxv<4y>JJr}mJJF>2UnE|fF_d1VobkWyjqQDagiJweVN^^oO>J}$ z?mbd!K=mS`<@A;KI(j!fFVRIXTJhn)`(s%x3>)?h^w%r3(|&J~?v@+u3Uv)r2^Ri+ zV5LtK!-l2dGtfwXqeJt1Y~wVeflpC&jxb>t-N3RQPfX-+TzW0(;-dSEi;PTqGd%bn9)xm&NPJ&zGF(8t`U~ zU9Y0Yp7_~Q>aUUq*)!7`{7V+5~sb_1A zBk=Ac@Oz`@BBUg6#2Yd!mph-33|>>(ZHhY0lFZFP z8yGFk;@yp9VUxqaQqvHX7g+#Oe%d=ea-Kvs3mxW~3R?uBip@+NiFIGwISzZpC~Vr$ z^y2dL{{4XOni$MXGqc~(S6ugY1>9@KoA8WOBj=JegoKJQ0_q+)fis_8pZ{d+D|o|~ zu!3n0Kd!FJ%cZ~XadgWHm+XMy$9rOHtWB#IGQ&~j^tm8uQ`2LXDUHih{}F>ZR9-f8 zZ*|yS%8u=`Va38gvQTDA&rg86kXoWa`MquI^#_izd?4oKoYBjVHdH9Pra#s4n$s9$ zD&fyC_uqaI6EF9k2J%FslZ;bT6K{8&%wh_YuKVJ&4L1KA4fzfD#cV?Sgrjlp`U~Y){8`W$wG-L&O8YhuLt0C}+zTaeU6jqiX zQg_}W+zV`YyD&P%8F6`VOLUpK%_iPii9Bx<#UmMXrHcCfFl9?{QD;qJpcC6E$##kM zRfR-u0#y9n!DJ6*8OnWMsA#Tu#`ES*3L-ex7!(>PS&Rr+O<+QeZ160i&9IL21-t*8 zAw=thTT7>_hK1z%e3^_BuRz&CC0S=VtZJobl?qiI9o}F^^vR#2`%V`~(5a9P>auU2 zVRE=L$arw?*6m9$;vr>(J}qOHr~6K%w_LxeedoGL0Z?!Ih(gM2bfs7Iw9!o67g29DWja3$Ani|SqLPF%lMdDjKs<$wdpGdoG%(G zkwhkm1wHsseOiST1u5{8oJK0ueNC+jco8#YS6O-lG2LQ;mzVBb3j_6PasTiKoLd|W z|8WYR=7tG%v_97y7N0u1OD`+fxgm4l=~N@e_$z*#lW>cETl|49vH3Xky6BcE6h*1U z5?*#6x(NkN>c2L1$K%v+8*A6?b7GY}SJhBcwmlf*dOLHg8BGe_$m6Vac*Ui^s}cSe zP4;wVfh1wrK|P$@hoTTw{?Xssf-2f;BWdN+KY=`bg-Rw&*c*wq&*d>$C$63V6-X#U zLM5O%8(A})uqTYuEcM=QPSs6)k{dk{?3#Vjp0&~Q&kAD^5|dLb@Qsz!)=r{DqWd+= zIs2Q_dnx`H6_!b@5@9-YOZIFRH$|^~A;uYF!R_+6zHZzx7!V!HA-n2PJ9%L4LDBi)cJhm$){z26-5! z3|Orrm3_&Wze`%zIvnKTe>+#Z#8n$3Vw?Lv7Pmk%#3g>Q!4 z;Te$|@8@cz7_yzpT*Nufu>%ytm>$=ruwJxviABtaj+P0yG6Jl zrjvg_r;q;X8O0y>pNWo~=jDE~m)-H;m%r_uPlP-{>WUF^`ucw!@Q zf}Stj_Du7PK-n@CVfL<|xM}27CFQEp$wNe%V>t%G!)t$k=cY)AH9k#BNtJ-O_BYql}9Yai+T`u(gmj zRQrWWYCp-J@nI3dc_3m!VgY4I^bPHKWX_V%W7j$)n^RjvO; zp}FFcZZ+O-vU)fG*`6yrE7KWeu=0`}MHam6a|{0>Fv2QET4tRqRpVE75w@b*I_F9; zy2~%R>w53+oK>CI#vrO#{ypuAto$$KGu5{CdwB22{-D3zrHaH;ZQ0~s#6vg7`n>oN z=eRBPu#nNujV^;bAV*`|Hq)0~eHJ$~1!tFhme%S(m`y9hTK>GEDs@*_kp6Hehj*UR zC9P-a8BuJpg7p)pkBr&$d~TmAhJJ(?1p2`tcXCf;(sXz!0%rc`*j=0Q11aL7Rw`h* zli(#<#hv%rv)z(yPvtt+Ne2tg3mAslEK=~-SfPF>i?}CylR`zP+wu)%$d91cr4KNo z{>F~kz&B@tXxmOh1BZ+Lp@Q~C(uUUAQei=KMkq5YQFF3US>zNMnB@s*sj36&>8ZlE zRDK})AR(xx&n4t2kqa5`H$dE#z@<e-a}{rFsE==SWtUAXr&^A1aq=O*59)ix zGs>tZhsr@lBC$%Y;)df32x* zcC67IwY#F#zi`R3VWy1nR6qqr1L>fC6275mOr+2Ao*WUZ4?_lfV69>lzGx)UCaTG2 z(Q%wkyuqX1kqr*E^Xf>K8Y;BKYth|po6ij$Ck`zzwb4F#aw{rus`jtJXMVZ5pF<4q z)Zuo@g}>9`YiJCYw_RRhSVfez-#`hJyL#*B;nFC4o7c-91+^?uIVzuk2Ja{6 zq)HJGZ@AIsrBC7S4GH_ILW}y*n7nGOn0RH~qWFknm0E+|xo?FWMW>8&b=95-r^O#G zP#Hzy4{K=2+LjS;5J5yn@dQ&c;L=Yk3Dxvb09Z-c--aUYg4$DIJRLSaCdAea{1$hX zQ1{#uMh1uqRHr|vyX3+(*8RVo&gidGV z(C^570x9kT9-#^sN95!|O)#RMgh0Vte$HMubKmH*v7)m5k7Y#TQL&jNv5-VOx??pU zSjI|cb=W*ai1B>oT0M?UKbQaV1%-)^X2Q1Ip3G*UBp`;1F0yb^X2#~@~F#Qbd1a{mq~s!aq$c5_u%b}9Pxrk+jC z7Z@#{R4@!CKN^z!-TC=lvMrPQ_iMlGkRoWjfhR-mc5nbIx8TPwgn5#E&=zLP;djg5 z4)QOW^6CeQz+)e;9EY6Jcj#TB)5t)kljD05=kK4JsYXA#w>41XTHmRwTc`P|JHpWR z?@K;KLWd~6Lt(;da+Iz8`Xl!71Jxb`QQO9EvCVX(@)8&rtP2|-Mn`wWZWr^fv2NPS z@S-?}B+Mb&1$G;2yBj$-9zHVNEGER|Fi@I(*|L9W{ji0J|BeJPQ!WdwfRb-EPXWbE z%8St~R9=qWYEvn9D&c#8>r|eGJsKQtg%GhC|B#u(*a|uP4wVjZ!CIzZWKGhl#^D`X z*Mh$IPlAdX;I_|o_j3;u3OAFXl&XRW3b!gqPm+a^!`SOZ&o`fqR=qknM*t&{?(L34 zxuYxaH+2E~NZF4W>M28rd*a!fIw9@%?gBo=0J*=blv1%9f+acC04td9WO0zdrB+;H z&sd+GG9tCW<;~uek!6a6;2Y5QWQvUW$D?in1qB!7TVvq(IEXj%8t+cXv=EI(R+IQ& z`u>=toKC;}*R(}sdtQj)oEbt|qHbNf`FJ)ZRn}z_s(`GRXojwgOq)-%z<$SMTdx23 z{%ocew$2-xCU5n=(G#iJWBMRLSv={JtVor%Du~b|)ihId1J_D+R}R#Wf5?`H9jJwy zOLa*GsJ{4LtQ%1Bs&*1Tsan1YY+pR7hstr|QSjpRoguew$VD04#*8YNRSg#ayvd5) zh$>O8s3ZLQ#?x!O+vgwHv1=%5#olLoa1mvtVuYI9Qlq>0C)6P%k#by_T&18{w^ksO zN8pxUYNCN@$8NBDXK&KR1R?IliTwuo-`bvg8*KZW?TC<+V83kgN-Dm~@WV!p+$t9B zvElGv$m|EFzcl0=+(8zD1LWm>&Y`4<{^z#)@BKsXJ)*Va=f6vCl)G%#^K@MQV+QbL zghjIn?cEdwr>TC_QqJ?7J8I&&0ac(-F@uFr;p0@)j6}f%m>Fk2t`G?qQqwj55_n*~ zoDMIYaQXd4>L3f`Ij9{*`~v%pXk04AK}L^pwTvucwdisOu6p#Srx)A$%9~>i_Q&*jvIja^o(P4n&i5MkXC5&6i@8{aGm&Rs`D)ST3=Vv=47%m;;$`)n%5cvp z7u$C~AxGs&$XM?cJMCI_!DsuzE|>uWXYjOzu_mSTbL1v zvvf~Hu(8M;WV_hw6AME2zj405egR^#?l891SPNP&+t|;J441lo(gy*b-@a{tsr@^B zMvE=iXbcc4v)POZnZ zRJk+jHGhKckx-THl_DN5n(sQ2Js(*1a;RfXK1iIl&F8~JYyv*oOF0O{C+pB>&yN6v#C)RCi z5_NnKsU`Jv+sFAtliF>lN3U&G9kwfeQwt;jwEc;pkCmSeoZb}E8Jnt_V#-r`pgdu= z+KZ1F4U52`thLrLsz_p9D=tUbx9e0VGDuu?*Lr}7WH2R1&>VtjTlIdO=tuv5h3^CC zjx*O=u2$uwbHCApWg8wY0@4BZKbJqb^N-Bvxlgc*S?1t@eJ`!{o}Clw_d{Gh83UKb z_{43bmsVh3&5J8cPcg0-TtuLOXSon4J2jG1W2y(BuFn6Y250hcW_EZvW-ul??43&jOskYUM zNaI*b`|XjOj-}Q0@bS&-W7EX19+Vr*6tP1om9vA0Y2@IzCbx@f^)V4WZ#WTBWqN`2 z$DCc?hw_s~fRe9Lk))|j0|Uxb81!F!h2GC0s)+j?JcVY+_oANdn`ea;uaw=STKyhCfDUt@j>Hm4zWGS!-L=I z&QT`hsd?3-mOxo08{dqkHO|+nwmaD!7`$ z=AZZ+Rch|SYahz|y|K^#=_?y>@hjA*Y50ik_~ON2u*-Ph?7e^9HoIBzvA<=u%`%|8 zn8tm~^dBG1*Y=nSTuRA2R0D;qYSn{R8jts{~y+J?7X}cB* zy@)p*O}A8avYtsM4zji^Zij@)EJO2Q2dqG^E2(FRM1WSURfk^|W5BlU$x5fO<7}@3m{E`jN;5)Matn9wtMoyy< zBDRptOXaP06t??z2*BgdKjh;g5>e?`lb)#?y1D!uDM+TmQd!C@b6nSlvR%3M1>s~` z*)u3r3xq?4tMNo9O{|lLbY%0+p|{jK>14*v7Q0L1T7Qh??9o96_5vJD_}NeckH%>$ zmTzN8>jT0*P2P{_Z9m#*~%g=37hzBRd-S+$#BnQgVF+n<<{Xc%?4FLZq;5mq( zy)Y97)UZ5|?ok9CYV|0_m(PsR@>AaXr#y>%aB%?V`t?dGo@tFMLivc#+~+ zYt#^ef zMew-LCCs|do?ap+esxd4p1scrDepwngXrzy{<;F(d;L#8L2~nH2opwW!7Lu&$ut68 z8W3GMmTPf;8Udw*LD$g_Nbv<;ET?SxT6H~&#L6|wK8*(XQXj+DHQ6eWh}Dc>V*er& z9yHh;!iY6)g=4kL|V*peyUv)?#zB0LfYKr`BS8y zEq6^0m&0gid}C4Jw_ioebH`L!#~H0k!*Bi)pu!s&^(@vEmTYHl#2q`kuFFAE{)6^8 z0Pue#{NmhF>y#`^>EfepMJapNvrZ+rx%(F!OEoZ8x4w5!6Ja{I*J1teFM+_st&-EL zRSo3a0_!0!VZ3@vk+bGS98Rwl*QERZ zF#5l3{hu-U|31HFO^T91UMIZvi2+1{uDXg3koACB^IMB{gUnaPDh6pus-FISPM%28 zVG-%^LA|-{uCmysO0gH~Yb%|dE7aNqms=bO!WSxs)Css|i+@?tk~UVKLwieN%GH*$ zeRuS(=i|E?DX4L&GOY$r}#Lpk{OIi>$SGdw)=N5b4Az>bWlXJnjAhdy-!)k1T!$)cQ*c2uP=L& z(FLk<_67_hFK$Uj1X<{wSUr@BW)KdbQiReCkxm@g-cZ@!BQ;M?!EINr)Ui>Jhw}CL1CwLe)o4!1Jb#`{cKAHJJ9Z#Qw$$_DZVui zjXD*T?-=`WI|Ze)srS(GL-d3#7|60Eq!4J61Edo8$k+_j(q^cWEw>6%V_L=}y4SaR zd2yxc9_z4$LvjkzOmn0^j#tES!9Rd5oSV>pl(@I+A4nmPMO-V|?za8HtqnBQ4d?=} ze;Wa8Nnk{K&AlZHJ_@78eXRbnNSVj7DkaU+MT%=V+Y@TuwqllI@F0zph~~<(f%VwY zupzdu7S9-|DLLmE29|0Y4mG5^%iMOrT$YE&BP#8Fmz36;TrnPGOs!q%She%N)O2ZO zw>z{{Yfj}nEkBpwQwhrbgEGbKAT}P%MUjL2N4~pWGa2dz!t3%>*mR~)Mnm71`gce zID&MFPQ|aM2&1dJhiT%i!GZ$pb%9HTC=@{dl(_DCb zt^6Adk%(H;{=uh7AcjP1(Dj3^6i+3K(w?2kr!Iq}@3!HzTeN3WyTSSHWs|Yu9{|8$ zW7bUk#y856Pvu7R9D!V{ZR4ydZ$zNI@3y)PHP4)>b3Ryuq%fptE*1x!+~2$ z(X#2NCevm$5_?6ESStEtXNvDjcOeN=>h4g9H!l_A-dvoZT*-AXa05Peu!H?`F@eH6 z-785a=PH>US?RDUiXHSn!}Y^&NdW_(iL=+aW~-jf1a0;~HU#LYF`lJ8v$RACr4i-1 zZp>ygO8RdU1{m@1x)w&ziv{NH)k$H$&daD~3hM3rGX!mFdVqc?++p{`_Uw==BM@@1 zbur72F57>3s6K0RizBjUT@`m2g;SSitIppBWHnX}3rv%2WuNq_`lnAi9J@AUh&41y z;LL7Z&WXN0Zv1}m|2x;@G-&90D^}6gsRVbeO9ly0g}3&5Ujau!42!1cxLnREqNp|Y z#4VDxD>2#P>up2po5_x%axJX12ishHzk7M{r3c(+N$GWsQirGid+_=4jzerqv&qfc zXmk{!iIk1>g|-I(RsjIt7r;`G(L4^ghgwt3k!}11Z52d2X;zA(k*tm8wvD?LU)tz$ z)6dn;Nkbb6e!A_6aW@rg;mxrgem4x&gA@sBo2Q_!PH#NRHoH+L3)&A8?&~0T)v*2J zfBN$OKYe3Z0o8-DyI^R&@ncF`=8q~QFMun|-GsLy+Dj5+8d!H!*j~I7Yk7KDML3=b z0_(DDDI^p-k(+^#orU>uQlwSE)6#pe>7(XMj^e0b5!S5@!E^`%U^Ja%DacfrO`w^p zo^_m~gxNm>#RB~2gn3=NqHQ(4qo{1$bh_yU==L7-rm@7v);Z>?^^;}YL^;sk{QnWI zFBcg@_fThkT;Rq2_4IwNG8ZN6|FeBj1lESgC*{3~eEmCCiWy=7z908|-`tgK*U7x! z=2of`-RqW`%xV#2D0YSa?WZq4<(AL8QeuW8N!8|n&z(~*$qnG&?!qL<@wwmqIWtaf z?UwDy*PSdpNpz`%m@JZX(fmO}%2@kXVs_CdIX3vB!~TEj`k$c#ct{Eb>YxoI|DGW- zSo|Gi#bpSio=kyw5w{+?9Gv#WOnhc zuj^G>e(kf-SG%bBLrJ&Th{;XwS)F(&*^?{9gZ|=sMX(*eBrMW)z_>Z;7a=fxY1;h(;PwcoQJxt{>pWJ~p3y=FLi zp{Sep2>zvn^bMry_p9Fqsyrzow{7x;>GA)-lb?+xKIWL)2;Vh}?XVlupEWSqd2(*% zOJHp=s$I`=?+OK`X*DFTs0ni0z(bF zFD>uLI=(AV%Joj|u6a<^O<8;7#I?!HRryU->(nPQ?~ip$$$T52wH^uahN?BK>Q={I zo!s&~)6H?&Gn$4s5ws`EtyGXx$E=U}D99!!**j6JCD0Ocn%T%M!151K;I>7S~KZqOA9b^;^ik%=v}JH4s1ZFkAxJ!>Ah@IAS>JZn?rp?G%TPb*g5q?NAu(doT_!Bg!Bp%w28t5Vl$V7%)HwwnUFonfNj zC+*T?X?o}I#;F17m^kAx(*%@~0~DF&O$v%^fhZ7b*M2$(MKNc;P%mtjTONsSKWol5 z(;%^5JZGs)mGdD_=g%gOtt$O}GIckm%AnvQCamMmhG};p(JiITc{X1z{lHxZ6K_=%>-E3$&(W5cIVDEEwOI_ZUtNvVd9piM`|O_A1m-rVW@-lV(q z4}6x?%0HfD3{+K1{2$FYP4|~H(cYrT&A0m18XYlnF zkIzLU+>uiwB@&gc0Hu|s(NFvhjP9lfcvOotNQf35p;Vuj=C+jMS1MwEpU*;~^6!-- z>qOBapNZET7Y&;G+iNwR9uXnqz0k93##t(R+S04>TO6M+%f@cbH{WLxwsz zgib_Lnv#6jg(ji=jr8uxoWtkaoq-I2P}_*eMQoc{a*bV6UsG>Gl3{VK!D zq(dPiS66*was8Ca)|RXqJ~MV#(DW?hw&riOevcNhZb`4sk0v?evDUD+bWo_*%FGfU zh=)y|7@`?v2(b<7?kK$5a^w4h!tQa#Gjil!O~J zbkZmIg=ruuSMjhsCs#>Yf_9)#ZLDz8lp94&taI6Omsy_2DbCv*_`84Zc4lqIS#A0n zPaDGOO-d;WRuE@&yly(~5RCM{q3+X2Iz&vyPjC`1?rmKU7@WJo(-;qByKZDqtNg^h zzmZM5JXEwHoOjyTk#;>1+s{;~w|v~4)JbUkP~g6wcFOnfq@mrBZ1)P;U)TmhyR%%W z-F)Uxy0}jg@ezCQpBQ^=PhmLhfSv`+Om&kwu-blg?Q#*N9FutvW+)2qFVycAGwN>d zu?$a{u$mk$ybLP8Ik9?hSl3HD5W3smHmcX}P62n|znz1?ze{Omxbm0OR2mzf2y}^n zmabm%qf@Dq8Fse&cd=rKYd!z-DvORNYR_)+Gu)UbU1$W)!$1Ih{w}37wH( zIFs5~(nm_^JHtFlOcaP~<^56n8MnKqqwqdjVL9iqD&)kAb4Z@9@u<>$fq9b+^ic5Q zmH+78GZ#oOxyp0o>`fU}MrCp%H1_2PH77n&6f z5XhZvC0&1g7Z0V)s6c>4Z(|004y7_qvB*ff#s+&0pVq!rI6wFUCrT708uTU?YG&|o zT%b2NTJp<1K7!(~TRl6)5YlB5spfa0YLRgf(LGFaAV0bzVhSk_+Y)3d5@M_Bpq7*R zOd?_?Y|lb5Ev``bb<6boY*{reR(tYEv>*byJ*i1tb>X!l?$6SpN?N-$<&|K|B+$R14nV4`%$(H z9LipMrVp@x=1?PD26iQ(R3Eb>$3Fggzi74>F&r)s;S9uf`&)vu=PnzYF>hmi<~VC$9YDE|0zGV z5YSCVJ#FQUp2phi%~9>Iz90N&z2E=uIo(PfJot9w-|7>BX$)X4b}d$T^kXJLj=wY? zCnq;+D2hv^55NHTRCo8I5x%0PUHWsVBz0Z0lrD&rw^{EckeAt5POvBk4)02l#mfG7 zUqvwWn>&&^Shx0BnEOk~Dye&KmnReEbdio|PBU-cdL>Wi6pM3z_wX{ped$-bnuj@V zwqm4Vuq51>){1Up?-1f|7Y$dFs~IiC8t>bDH&Xw~So|x@59}-)*hym`LWEfS@k8dz zY7rQq77Ie7chGy6DP+2yRHgzah-H#6BkuyMSMQwlX)gXimpoT6&M5Lr8sVv=2Mb0} z&zZGxS6&#N3#zz^p0VQJ`t&2vgu!dyDynTqy9BUnEz2CHt24}cGGRJQSS7oIBoM&= zryK%+%VigJmO}O4&uYqAwWT>c{`nq5mwCM(`aGMq>uTh*;oq1=aNWh>F2O-v5iW$5bpKi2m4f7JO zJ({1A0R)q~? z=!&kCY8(|NhZ%#tdb^EmNQc{E8o~3I7(p5|bZDhiTh6v-1nSEkGS2V#i+A_QQqeD= z8)b9g6n(cwK*_*cZfqshUeGY{W?e$HI)OY>(^3B+y;2+HU4?VAlzUp@S#8n8Xoeg7 zzo)Z_CML|V6Y|LUvlCzdM~6Y(d=?J&+HmsAe)5YZ+`wV3YA6S=-3=(vX_ z@yY|GL@$11Vn>;0h}Bjn^QvSAkVY=)W6VVy+&Tj~mlU|Bdpy3rDSjJ%d`fHVls}gG z80W_NT{ueI2JZD8dQQWXSh<)omz6{p9J)*+#dgzW{Fdlh zwOWOubg;uev^r%l=tr58zIFUN$V^{!L!+GX1o`hwfZTdiEa?7+C8;3s5QjT?|3o`; z^E-&&bqB!EjC>!Pes;o&v~e9+5!EuyzY8uaDOh{_cd70Q8!G_yUnj@dM04OMr}SO? z%Swm|#7cj`w%fwga=`(Vew^=xh!sRiP6fYK^8Z>hTOrJ=r2`HA)ug&XXE3657Yxj*3Xj8VKwT-p=SHVuxXG6!^Jk l}`z!gp+~WXk^VLZvN3_BF%@EHuoO7#2RwQ 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

    8~d&g|F%4B5)(MF5Hdu)_Bdt8p&}qC3qLG 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 z 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 z�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 literal 0 HcmV?d00001 diff --git a/lib/bcachefs/tests/upstream_fixture.rs b/lib/bcachefs/tests/upstream_fixture.rs deleted file mode 100644 index ecb6bbb1866..00000000000 --- a/lib/bcachefs/tests/upstream_fixture.rs +++ /dev/null @@ -1,168 +0,0 @@ -//! The upstream read path, judged against volumes upstream's own tools wrote. -//! -//! **The bytes are the judge, and nothing fetches them.** `bcachefs-tools` -//! formatted and filled each fixture under `fixtures/`, and `bcachefs fsck` -//! called it clean; `NOTICE` records which release did it and the commands -//! that were run. What is committed is the result, so this suite depends on -//! Rust and nothing else — the tools are a development instrument and no part -//! of the tree. -//! -//! The contents are this project's own test bytes, chosen so the host can -//! predict every one of them without asking anything: an eleven-byte file that -//! bcachefs stores inline, `seq 1 40000` spanning several checksummed extents, -//! an empty directory, a nested directory and a symlink. - -use std::io::Read; -use std::path::{Path, PathBuf}; - -use bcachefs::upstream::fs::{FileKind, Volume}; -use bcachefs::{BlockBuf, BlockIO, BlockNum, DeviceError, TransferError}; - -/// The eleven-byte file, short enough that bcachefs keeps it in the btree -/// rather than in an extent. -const HELLO: &str = "hello-toyos"; -const LINK_TARGET: &str = "../a.txt"; -/// The line count of the multi-extent file, and what makes it predictable. -const SEQ_LINES: u32 = 40_000; - -/// A fixture as a read-only block device, decompressed into memory. -struct FixtureIo { - bytes: Vec, -} - -struct HostIoFailed; -impl TransferError for HostIoFailed { - fn refused_before_attempt(&self) -> bool { - false - } -} - -fn failed() -> DeviceError { - DeviceError::classify(&HostIoFailed) -} - -impl BlockIO for FixtureIo { - fn read_block(&self, block: BlockNum, buf: &mut BlockBuf) -> Result<(), DeviceError> { - let at = (block.raw() as usize).checked_mul(4096).ok_or_else(failed)?; - let end = at.checked_add(4096).ok_or_else(failed)?; - buf.as_bytes_mut().copy_from_slice(self.bytes.get(at..end).ok_or_else(failed)?); - Ok(()) - } - - fn write_block(&self, _block: BlockNum, _buf: &BlockBuf) -> Result<(), DeviceError> { - Err(failed()) - } - - fn block_count(&self) -> u64 { - (self.bytes.len() / 4096) as u64 - } -} - -fn fixture(name: &str) -> PathBuf { - Path::new(env!("CARGO_MANIFEST_DIR")).join("tests/fixtures").join(name) -} - -fn open(name: &str) -> Volume { - let path = fixture(name); - let gz = std::fs::read(&path).unwrap_or_else(|e| panic!("reading {}: {e}", path.display())); - let mut bytes = Vec::new(); - flate2::read::GzDecoder::new(&gz[..]) - .read_to_end(&mut bytes) - .unwrap_or_else(|e| panic!("decompressing {}: {e}", path.display())); - Volume::open(FixtureIo { bytes }) - .unwrap_or_else(|e| panic!("opening the volume in {}: {e:?}", path.display())) -} - -/// `seq 1 40000`'s output, which the tools wrote into the fixture and this -/// side reproduces without reading it. -fn seq_text() -> Vec { - let mut out = Vec::new(); - for n in 1..=SEQ_LINES { - out.extend_from_slice(n.to_string().as_bytes()); - out.push(b'\n'); - } - out -} - -/// Every entry of a directory, as ` `, sorted. -fn listing(volume: &Volume, dir: u64) -> Vec { - let mut out = Vec::new(); - volume - .readdir(dir, &mut |name, _, kind| { - let letter = match kind { - FileKind::Dir => 'd', - FileKind::Regular => 'f', - FileKind::Symlink => 'l', - FileKind::Other(_) => '?', - }; - out.push(format!("{letter} {name}")); - true - }) - .expect("listing a directory"); - out.sort(); - out -} - -fn resolve(volume: &Volume, path: &str) -> (u64, FileKind) { - volume - .resolve(path) - .unwrap_or_else(|e| panic!("resolving {path}: {e:?}")) - .unwrap_or_else(|| panic!("the fixture holds no {path}")) -} - -/// The whole tree, read back out of a volume upstream wrote. -#[test] -fn the_upstream_volume_reads_back_as_what_upstream_wrote() { - let volume = open("crc32c.img.gz"); - - assert_eq!( - listing(&volume, volume.root()), - ["d Documents", "d empty", "d lost+found"], - "the root is not what the tools put there" - ); - - let (documents, kind) = resolve(&volume, "/Documents"); - assert_eq!(kind, FileKind::Dir); - assert_eq!(listing(&volume, documents), ["d deep", "f a.txt"]); - - let (deep, kind) = resolve(&volume, "/Documents/deep"); - assert_eq!(kind, FileKind::Dir, "the nested directory"); - assert_eq!(listing(&volume, deep), ["f seq.txt", "l link"]); - - // An empty directory reads back as one, rather than as absent. - let (empty, kind) = resolve(&volume, "/empty"); - assert_eq!(kind, FileKind::Dir); - assert!(listing(&volume, empty).is_empty(), "the empty directory listed something"); - - // The inline-data file: short enough that its bytes are in the btree. - let (a_txt, kind) = resolve(&volume, "/Documents/a.txt"); - assert_eq!(kind, FileKind::Regular); - let attrs = volume.stat(a_txt).expect("stat").expect("an inode"); - assert_eq!(attrs.size, HELLO.len() as u64); - assert_eq!(attrs.mode & 0o170_000, 0o100_000, "a.txt is not a regular file"); - assert_eq!(volume.read(a_txt).expect("reading a.txt"), HELLO.as_bytes()); - - // The multi-extent file, byte for byte against a copy this side made. - let (seq_txt, kind) = resolve(&volume, "/Documents/deep/seq.txt"); - assert_eq!(kind, FileKind::Regular); - let want = seq_text(); - let attrs = volume.stat(seq_txt).expect("stat").expect("an inode"); - assert_eq!(attrs.size, want.len() as u64, "seq.txt is not the length it was written at"); - assert_eq!(volume.read(seq_txt).expect("reading seq.txt"), want); - - let (link, kind) = resolve(&volume, "/Documents/deep/link"); - assert_eq!(kind, FileKind::Symlink); - assert_eq!(volume.read_link(link).expect("reading the symlink"), LINK_TARGET); - - // The root directory is the one the format's own constant names. - assert_eq!(volume.root(), 4096); -} - -/// A path the volume does not hold is `None`, not an error and not a guess. -#[test] -fn a_path_the_volume_does_not_hold_reads_back_as_absent() { - let volume = open("crc32c.img.gz"); - for path in ["/nope", "/Documents/nope", "/Documents/a.txt/under-a-file", "/empty/nope"] { - assert_eq!(volume.resolve(path).expect("resolving"), None, "{path} resolved to something"); - } -} From e51e660f6ac77e3ca22b719cf94a6f83c96ec3a8 Mon Sep 17 00:00:00 2001 From: japabu Date: Fri, 23 Oct 2026 04:09:25 +0200 Subject: [PATCH 3/4] bcachefs: type-5 extents and per-btree key types; hostile images refused, never a panic The facts B2 lacked are now established clean-room, and review round 1 of #1032 found inputs that panicked the reader or fsck. Data checksum type 5 is CRC-32C's register with no initial or final inversion (`crc32c_zero`), over the whole encoded extent, stored zero-extended in the entry's checksum bytes. The reader verifies it, so `crc32c.img.gz`'s `seq.txt` reads whole, and a test checks the fixture's stored 0x7080C241 and A11's check values. This closes `issues/the-bcachefs-reader-refuses-crc32c-data-extents.md`. Each btree's allowed key types: - An interior node holds only deleted, btree_ptr and btree_ptr_v2 keys, of size 0; a leaf holds its btree's own types. - The writer asserts the table for every key it encodes. - The reader enforces it for strict types and passes the non-strict ones (deleted, whiteout, error, cookie, set) in a leaf, as upstream's read does. - ToyOS fsck finds any key outside the table. - A key type at or past 39, which v1.39.4 does not define, is refused by name. - `Btree` gains ids 21 to 28, and a `clean` root pointer must have size 0. Refused at the boundary, each with a module test: - a members field shorter than its header; - journal bucket counts that overflow, now validated before they are summed; - a link count past 2^32; - a dirent at the last offset; - a symlink longer than 4 KiB, refused before its allocation; - a superblock copy past the device, which fsck reports instead of reading; - a root subvolume that has been snapshotted, whose keys live in ancestor snapshots this reader does not walk. Smaller refusals: - A log2 N of 0 or 64 and up is reported as corrupt. - A MAC-typed node on an unencrypted volume is corrupt. - mkfs refuses a passphrase ending in a newline, which upstream would strip. A structured fuzz test mutates `crc32c.img.gz` and mkfs's unencrypted and encrypted volumes and runs the reader and fsck over each, which must never panic. It sweeps every superblock header word and each field's first 128 bytes with boundary values in all copies at once, and gives nodes seeded random bytes and words. Checksums are resealed, so each mutation reaches the decoders behind them. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q --- ...hefs-reader-refuses-crc32c-data-extents.md | 25 -- lib/bcachefs/src/crc32c.rs | 19 +- lib/bcachefs/src/engine/crypt.rs | 4 +- lib/bcachefs/src/engine/fsck.rs | 18 +- lib/bcachefs/src/engine/mkfs.rs | 6 +- lib/bcachefs/src/engine/mod.rs | 72 +++- lib/bcachefs/src/engine/node.rs | 21 +- lib/bcachefs/src/engine/read.rs | 35 +- lib/bcachefs/src/engine/superblock.rs | 13 +- lib/bcachefs/src/engine/tests.rs | 369 +++++++++++++++++- 10 files changed, 514 insertions(+), 68 deletions(-) delete mode 100644 issues/the-bcachefs-reader-refuses-crc32c-data-extents.md diff --git a/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md b/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md deleted file mode 100644 index d8846f551ac..00000000000 --- a/issues/the-bcachefs-reader-refuses-crc32c-data-extents.md +++ /dev/null @@ -1,25 +0,0 @@ ---- -status: open -kind: defect -opened: 2026-10-23 ---- - -# The bcachefs reader refuses data extents checksummed crc32c - -`lib/bcachefs/src/engine/read.rs`'s `Volume::extent` answers -`Unsupported("data checksum type")` for checksum type 5, the crc32c that an -unencrypted volume's data carries. So the engine cannot read a file stored in -extents on an unencrypted upstream volume: `crc32c.img.gz`'s `seq.txt` is -refused, which `the_crc32c_fixture_reads_its_tree` asserts. Inline data, every -encrypted extent (types 3 and 4) and every node read. - -**Why:** the facts the engine was written from, clean-room, name type 5 crc32c, -distinct from the metadata's type 1 "crc32c, non-zero seeded", but give neither -its initial value nor its final XOR. The implementer may not fill a fact from -another source, so the reader refuses rather than guesses. - -**Exit:** type 5's computation is established clean-room; the reader verifies it -and the fixture test reads `seq.txt` whole. Writing ToyOS's own unencrypted -extents needs the same fact. - -**Owner:** the storage track, before ToyOS writes unencrypted extents. diff --git a/lib/bcachefs/src/crc32c.rs b/lib/bcachefs/src/crc32c.rs index 90accb89543..c80e4dea65a 100644 --- a/lib/bcachefs/src/crc32c.rs +++ b/lib/bcachefs/src/crc32c.rs @@ -26,12 +26,21 @@ const CRC32C_TABLE: [u32; 256] = { /// Compute CRC-32c over a byte slice. pub fn crc32c(data: &[u8]) -> u32 { - let mut crc = 0xFFFF_FFFFu32; + update(0xFFFF_FFFF, data) ^ 0xFFFF_FFFF +} + +/// The same register with no initial or final inversion: bcachefs's data +/// checksum type 5, whose value over zeros is 0. +pub fn crc32c_zero(data: &[u8]) -> u32 { + update(0, data) +} + +fn update(mut crc: u32, data: &[u8]) -> u32 { for &byte in data { let idx = ((crc ^ byte as u32) & 0xFF) as usize; crc = (crc >> 8) ^ CRC32C_TABLE[idx]; } - crc ^ 0xFFFF_FFFF + crc } #[cfg(test)] @@ -46,6 +55,12 @@ mod tests { assert_eq!(crc32c(b"123456789"), 0xE3069283); } + #[test] + fn the_uninverted_register_has_its_own_check_value() { + assert_eq!(crc32c_zero(b"123456789"), 0x58E3_FA20); + assert_eq!(crc32c_zero(&[0; 4096]), 0); + } + #[test] fn zeroes() { // CRC of all zeroes should be deterministic diff --git a/lib/bcachefs/src/engine/crypt.rs b/lib/bcachefs/src/engine/crypt.rs index c36b081bf44..d9dac9b2526 100644 --- a/lib/bcachefs/src/engine/crypt.rs +++ b/lib/bcachefs/src/engine/crypt.rs @@ -154,8 +154,8 @@ fn limits(kdf: Kdf) -> Result { /// the master key. fn passphrase_key(passphrase: &[u8], kdf: Kdf, limits: scrypt::Limits) -> Result<[u8; 32]> { let (_, r, p) = kdf.values()?; - let log_n = u8::try_from(kdf.log_n).map_err(|_| Error::Unsupported("scrypt N past 2^31"))?; - let params = scrypt::Params::new(log_n, r, p, limits).map_err(|_| Error::Unsupported("scrypt parameters past the caller's limits"))?; + let log_n = u8::try_from(kdf.log_n).ok().filter(|&n| n < 32).ok_or(Error::Unsupported("scrypt N past 2^31"))?; + let params = scrypt::Params::new(log_n, r, p, limits).map_err(|_| Error::Unsupported("scrypt parameters past RFC 7914's or the caller's limits"))?; let mut workspace = vec![0u32; params.workspace_len()]; let mut key = [0u8; 32]; scrypt::derive(passphrase, SALT, params, &mut workspace, &mut key).map_err(|_| Error::Unsupported("scrypt parameters"))?; diff --git a/lib/bcachefs/src/engine/fsck.rs b/lib/bcachefs/src/engine/fsck.rs index 2a17a8c2d7f..fa6d41448e8 100644 --- a/lib/bcachefs/src/engine/fsck.rs +++ b/lib/bcachefs/src/engine/fsck.rs @@ -5,7 +5,7 @@ use alloc::vec::Vec; -use toyos_blockdev::BlockDev; +use toyos_blockdev::{BlockDev, BLOCK}; use super::bkey::Bpos; use super::mkfs::{self, COMPAT_CLEAN, COMPAT_INITIALIZED, DOWNGRADE, EXTENT_TYPE_U64S, FEATURES}; @@ -31,6 +31,9 @@ pub enum Finding { BsetAboveClean { btree: Btree, sector: u64, seq: u64 }, /// An inode stamped with a journal sequence past `clean`'s. InodeAboveClean { ino: u64, seq: u64 }, + /// A key of a type its btree, at that level, does not hold. The reader + /// passes the non-strict types; ToyOS writes none out of place. + KeyType { btree: Btree, level: u8, kind: u8, pos: Bpos }, } /// Everything wrong with `volume`; empty when nothing is. @@ -92,7 +95,13 @@ async fn copies(dev: &impl BlockDev, sb: &Superblock) -> Result> { let len = HEADER + 8 * sb.fields.iter().map(|f| 1 + f.body.len().div_ceil(8)).sum::(); let reference = Superblock::encode(&sb.header, &sb.fields, 0); let mut found = Vec::new(); + let device = dev.blocks() * BLOCK as u64; for &offset in &sb.header.layout.offsets { + let fits = offset.checked_mul(SECTOR as u64).and_then(|at| at.checked_add(len as u64)).is_some_and(|end| end <= device); + if !fits { + found.push(Finding::Copy(offset)); + continue; + } let mut copy = read_bytes(dev, offset * SECTOR as u64, len).await?; copy[..16].fill(0); copy[104..112].fill(0); @@ -148,7 +157,8 @@ async fn root_world(v: &Volume) -> Result> { Ok(found) } -/// Every node: inside the bitmap, and no bset or inode stamped past +/// Every node: inside the bitmap, every key of a type its btree holds, and +/// no bset or inode stamped past /// `clean`'s journal sequence: upstream's fsck reports an inode above it, /// and upstream's read-write mount of such a volume loses it. async fn nodes(v: &Volume) -> Result> { @@ -168,6 +178,10 @@ async fn nodes(v: &Volume) -> Result> { found.push(Finding::BsetAboveClean { btree: root.btree, sector, seq }); } for (key, value) in &node.keys { + if !root.btree.allows(level, key.kind) { + found.push(Finding::KeyType { btree: root.btree, level, kind: key.kind, pos: key.pos }); + continue; + } if level > 0 { pending.push((level - 1, NodePtr::decode(value)?, key.pos)); } else if root.btree == Btree::Inodes && key.kind == kind::INODE_V3 { diff --git a/lib/bcachefs/src/engine/mkfs.rs b/lib/bcachefs/src/engine/mkfs.rs index f9418006747..3df41e64d27 100644 --- a/lib/bcachefs/src/engine/mkfs.rs +++ b/lib/bcachefs/src/engine/mkfs.rs @@ -83,8 +83,10 @@ pub async fn mkfs(dev: &impl BlockDev, options: &Options<'_>, random: &mut impl if options.label.len() > 31 { return Err(Error::Invalid("label longer than 31 bytes")); } - if options.encryption.as_ref().is_some_and(|e| e.passphrase.contains(&0)) { - return Err(Error::Invalid("passphrase holding NUL")); + // Upstream's tools cut a passphrase at NUL and strip one trailing + // newline, so neither could unlock what such bytes wrapped. + if options.encryption.as_ref().is_some_and(|e| e.passphrase.contains(&0) || e.passphrase.ends_with(b"\n")) { + return Err(Error::Invalid("passphrase holding NUL or ending in a newline")); } let geometry = Geometry::new(dev.blocks() * BLOCK_SECTORS)?; let mut draw = Draw(random); diff --git a/lib/bcachefs/src/engine/mod.rs b/lib/bcachefs/src/engine/mod.rs index caad4d8bf20..60a0077d853 100644 --- a/lib/bcachefs/src/engine/mod.rs +++ b/lib/bcachefs/src/engine/mod.rs @@ -115,10 +115,18 @@ pub enum Btree { ReconcileWork = 18, SubvolumeChildren = 19, Accounting = 20, + ReconcileHipri = 21, + ReconcilePending = 22, + ReconcileScan = 23, + ReconcileWorkPhys = 24, + ReconcileHipriPhys = 25, + BucketToStripe = 26, + StripeBackpointers = 27, + Damage = 28, } impl Btree { - pub(crate) const ALL: [Btree; 21] = [ + pub(crate) const ALL: [Btree; 29] = [ Btree::Extents, Btree::Inodes, Btree::Dirents, @@ -140,6 +148,14 @@ impl Btree { Btree::ReconcileWork, Btree::SubvolumeChildren, Btree::Accounting, + Btree::ReconcileHipri, + Btree::ReconcilePending, + Btree::ReconcileScan, + Btree::ReconcileWorkPhys, + Btree::ReconcileHipriPhys, + Btree::BucketToStripe, + Btree::StripeBackpointers, + Btree::Damage, ]; pub(crate) fn from_id(id: u32) -> Option { @@ -150,15 +166,69 @@ impl Btree { pub(crate) fn extents(self) -> bool { matches!(self, Btree::Extents | Btree::Reflink | Btree::Freespace) } + + /// The key types a leaf of this btree may hold besides `deleted`. + fn leaf_types(self) -> &'static [u8] { + match self { + Btree::Extents => &[1, 2, 3, 6, 7, 15, 17, 36], + Btree::Inodes => &[1, 8, 9, 23, 29], + Btree::Dirents => &[1, 4, 10], + Btree::Xattrs => &[1, 3, 4, 11], + Btree::Alloc => &[12, 20, 24, 27], + Btree::Quotas => &[13], + Btree::Stripes => &[14], + Btree::Reflink => &[2, 16, 19], + Btree::Subvolumes => &[21], + Btree::Snapshots => &[22], + Btree::Backpointers | Btree::StripeBackpointers => &[28], + Btree::BucketGens => &[30], + Btree::SnapshotTrees => &[31], + Btree::LoggedOps => &[32, 33, 35, 37], + Btree::ReconcileWork => &[3, 25], + Btree::Accounting => &[34], + Btree::ReconcileScan => &[3, 28], + Btree::Damage => &[1, 38], + Btree::Lru + | Btree::Freespace + | Btree::NeedDiscard + | Btree::DeletedInodes + | Btree::SubvolumeChildren + | Btree::ReconcileHipri + | Btree::ReconcilePending + | Btree::ReconcileWorkPhys + | Btree::ReconcileHipriPhys + | Btree::BucketToStripe => &[25], + } + } + + /// Whether a key of `kind` belongs in a node of this btree at `level`: + /// an interior node holds only `deleted` and btree pointers. + pub(crate) fn allows(self, level: u8, kind: u8) -> bool { + match level { + 0 => kind == kind::DELETED || self.leaf_types().contains(&kind), + _ => matches!(kind, kind::DELETED | kind::BTREE_PTR | kind::BTREE_PTR_V2), + } + } } /// Key types, numbered as the format numbers them: the order of /// *bcachefs: Principles of Operation* §11.5's list. pub(crate) mod kind { + /// The first key type v1.39.4 does not define. + pub const UNKNOWN: u8 = 39; + + /// Types whose btree a read of a leaf does not check: upstream refuses + /// them in the wrong btree only when it commits them. + pub fn strict(kind: u8) -> bool { + !matches!(kind, DELETED | WHITEOUT | ERROR | COOKIE | SET) + } + pub const DELETED: u8 = 0; pub const WHITEOUT: u8 = 1; pub const ERROR: u8 = 2; + pub const COOKIE: u8 = 3; pub const HASH_WHITEOUT: u8 = 4; + pub const BTREE_PTR: u8 = 5; pub const EXTENT: u8 = 6; pub const RESERVATION: u8 = 7; pub const INODE: u8 = 8; diff --git a/lib/bcachefs/src/engine/node.rs b/lib/bcachefs/src/engine/node.rs index 906ab242f84..44253b51d16 100644 --- a/lib/bcachefs/src/engine/node.rs +++ b/lib/bcachefs/src/engine/node.rs @@ -143,7 +143,7 @@ fn open(key: Option<&MasterKey>, seq: u64, journal_seq: u64, csum_type: u8, r: & csum::CRC32C if crc32c(&bytes[r.at + 16..r.end]) == le32(bytes, r.at) => Ok(()), csum::CRC32C => Err(Error::Checksum("btree node")), csum::CHACHA_POLY_128 => { - let key = key.ok_or(Error::Locked)?; + let key = key.ok_or(Error::Corrupt("MACed btree node on an unencrypted volume"))?; let nonce = Nonce::node(r.at as u32, seq, journal_seq); let tag: [u8; 16] = bytes[r.at..r.at + 16].try_into().unwrap(); key.verify(nonce, &bytes[r.at + 16..r.end], &tag, "btree node")?; @@ -188,6 +188,7 @@ fn parse_keys(format: &Format, mut b: &[u8], expect: &Expect) -> Result expect.max { return Err(Error::Corrupt("key outside its node's range")); } + check_kind(expect.btree, expect.level, &key)?; if let Some((last, _)) = keys.last() { let ordered = last.pos < key.pos || (last.pos == key.pos && last.kind == kind::DELETED && key.kind != kind::DELETED); if !ordered { @@ -200,6 +201,22 @@ fn parse_keys(format: &Format, mut b: &[u8], expect: &Expect) -> Result Result<()> { + if key.kind >= kind::UNKNOWN { + return Err(Error::Unsupported("key type v1.39.4 does not define")); + } + if level > 0 && (!btree.allows(level, key.kind) || key.size != 0) { + return Err(Error::Corrupt("interior key that is no size-0 pointer")); + } + if level == 0 && kind::strict(key.kind) && !btree.allows(0, key.kind) { + return Err(Error::Corrupt("key of a type its btree does not hold")); + } + Ok(()) +} + /// Bsets merged by position, a later one winning, deleted keys dropped. fn merge(bsets: Vec)>>) -> Vec<(Key, Vec)> { let mut merged = BTreeMap::new(); @@ -248,6 +265,8 @@ pub(crate) fn encode(sb_magic: u64, block: usize, key: Option<&MasterKey>, build put16(&mut b, 158, ((end - FIRST_KEYS) / 8) as u16); let mut at = FIRST_KEYS; for k in build.keys { + assert!(build.btree.allows(build.level, k[2]), "a key of type {} in a {:?} node at level {}", k[2], build.btree, build.level); + assert!(build.level == 0 || le32(k, 16) == 0, "an interior key with a size"); b[at..at + k.len()].copy_from_slice(k); at += k.len(); } diff --git a/lib/bcachefs/src/engine/read.rs b/lib/bcachefs/src/engine/read.rs index eb28c46fcc8..c4407294799 100644 --- a/lib/bcachefs/src/engine/read.rs +++ b/lib/bcachefs/src/engine/read.rs @@ -13,7 +13,7 @@ use super::node::{self, Expect, Node}; use super::superblock::{Layout, Root, Superblock, HEADER, LAYOUT, MAX_BYTES, PRIMARY}; use super::value::{inode_field, inode_flag, Dirent, DirentType, Extent, InodeValue, NodePtr, Subvolume}; use super::{kind, le32, Btree, Error, Result, SECTOR}; -use crate::crc32c::crc32c; +use crate::crc32c::{crc32c, crc32c_zero}; /// A clean volume open for reading. pub struct Volume { @@ -57,6 +57,10 @@ pub struct DirEntry { pub next: u64, } +/// The longest symlink this reader reads, its NUL included: a path's +/// length on the systems that make them. +const MAX_SYMLINK: u64 = 4096; + const S_IFMT: u16 = 0o170000; const S_IFDIR: u16 = 0o040000; @@ -100,6 +104,11 @@ impl Volume { return Err(Error::Corrupt("root subvolume of another type")); } let subvolume = Subvolume::decode(&v)?; + // A snapshotted subvolume's keys live in its ancestors' snapshots, + // which this reader does not walk. + if subvolume.snapshot != super::mkfs::ROOT_SNAPSHOT { + return Err(Error::Unsupported("a root subvolume that has been snapshotted")); + } volume.snapshot = subvolume.snapshot; volume.root = subvolume.inode; Ok(volume) @@ -207,7 +216,7 @@ impl Volume { let nlink = if v.flags & inode_flag::UNLINKED != 0 { 0 } else { - stored + if mode & S_IFMT == S_IFDIR { 2 } else { 1 } + stored.checked_add(if mode & S_IFMT == S_IFDIR { 2 } else { 1 }).ok_or(Error::Corrupt("inode link count past 2^32"))? }; let time = |f| self.time(v.field(f)); Ok(Inode { @@ -313,7 +322,10 @@ impl Volume { if inode.mode & S_IFMT != 0o120000 || inode.size == 0 { return Err(Error::Invalid("readlink of a node that is no symlink")); } - let mut target = alloc::vec![0u8; usize::try_from(inode.size).map_err(|_| Error::Corrupt("symlink size"))?]; + if inode.size > MAX_SYMLINK { + return Err(Error::Unsupported("symlink target past 4 KiB")); + } + let mut target = alloc::vec![0u8; inode.size as usize]; self.read(ino, 0, &mut target).await?; // The target is stored with one NUL after it. if target.pop() != Some(0) { @@ -400,8 +412,16 @@ impl Volume { let mut data = read_bytes(&self.dev, extent.ptr.sector * SECTOR as u64, crc.compressed as usize * SECTOR).await?; match crc.csum_type { 0 => {} - 1 if crc32c(&data).to_le_bytes() == crc.csum[..4] => {} - 1 => return Err(Error::Checksum("extent")), + // Over the whole encoded extent, the value zero-extended to the + // entry's checksum bytes. + 1 | 5 => { + let value = if crc.csum_type == 1 { crc32c(&data) } else { crc32c_zero(&data) }; + let mut want = [0u8; 16]; + want[..4].copy_from_slice(&value.to_le_bytes()); + if want != crc.csum { + return Err(Error::Checksum("extent")); + } + } // An 80-bit MAC in a crc64 entry, a 128-bit one in a // crc128. 3 | 4 if crc.csum_len == if crc.csum_type == 3 { 10 } else { 16 } => { @@ -410,8 +430,6 @@ impl Volume { master.verify(nonce, &data, &crc.csum[..crc.csum_len], "extent")?; master.xor(nonce, &mut data)?; } - // Type 5, upstream's data crc32c, among them: its seed and final - // XOR are not established (issues/the-bcachefs-reader-refuses-crc32c-data-extents.md). _ => return Err(Error::Unsupported("data checksum type")), } let at = crc.offset as usize * SECTOR + skip as usize; @@ -433,7 +451,8 @@ fn entry(k: &Key, v: &[u8]) -> Result { if dirent.kind == DirentType::Subvolume { return Err(Error::Unsupported("subvolume dirent")); } - Ok(DirEntry { name: dirent.name.to_vec(), ino: dirent.target, kind: dirent.kind, next: k.pos.offset + 1 }) + let next = k.pos.offset.checked_add(1).ok_or(Error::Corrupt("dirent at the last offset"))?; + Ok(DirEntry { name: dirent.name.to_vec(), ino: dirent.target, kind: dirent.kind, next }) } /// The hash slot of `name` under directory `dir`'s seed: SipHash-2-4 keyed diff --git a/lib/bcachefs/src/engine/superblock.rs b/lib/bcachefs/src/engine/superblock.rs index 68f995f8d3e..05cb1b96ac4 100644 --- a/lib/bcachefs/src/engine/superblock.rs +++ b/lib/bcachefs/src/engine/superblock.rs @@ -219,8 +219,8 @@ impl Kdf { /// N, r and p, when r and p fit scrypt's `u32`s. pub(crate) fn values(self) -> Result<(u64, u32, u32)> { let pow = |log: u16| if log < 32 { Ok(1u32 << log) } else { Err(Error::Unsupported("scrypt r or p past 2^31")) }; - if self.log_n >= 64 { - return Err(Error::Unsupported("scrypt N past 2^63")); + if self.log_n == 0 || self.log_n >= 64 { + return Err(Error::Corrupt("scrypt N not a power of two from 2 to 2^63")); } Ok((1 << self.log_n, pow(self.log_r)?, pow(self.log_p)?)) } @@ -456,6 +456,9 @@ fn decode_header(b: &[u8]) -> Result
    { } fn members(body: &[u8], header: &Header) -> Result { + if body.len() < 8 { + return Err(Error::Corrupt("members_v2 without its header")); + } let size = usize::from(le16(body, 0)); let entry = body.get(8..8 + size).filter(|_| size >= 32).ok_or(Error::Corrupt("members_v2 without the device's entry"))?; let member = Member::decode(entry); @@ -475,11 +478,11 @@ fn members(body: &[u8], header: &Header) -> Result { /// The journal's bucket ranges lie on the device. fn journal(body: &[u8], member: &Member) -> Result<()> { let ranges = pairs(body); - let total: u64 = ranges.iter().map(|r| r.1).sum(); let valid = ranges.iter().all(|&(start, count)| { count > 0 && start > 0 && start >= u64::from(member.first_bucket) && start.checked_add(count).is_some_and(|end| end <= member.nbuckets) }); - if !valid || total > u64::from(u32::MAX) { + // Each count is at most the bucket count, so the sum fits. + if !valid || ranges.iter().map(|r| r.1).sum::() > u64::from(u32::MAX) { return Err(Error::Corrupt("journal buckets")); } Ok(()) @@ -529,7 +532,7 @@ fn clean(body: &[u8]) -> Result { entry_type::BTREE_ROOT => { let btree = Btree::from_id(u32::from(btree)).ok_or(Error::Unsupported("root of a btree this reader does not know"))?; let (key, value) = Format::UNPACKED.key(payload)?; - if key.kind != kind::BTREE_PTR_V2 || usize::from(payload[0]) * 8 != payload.len() { + if key.kind != kind::BTREE_PTR_V2 || key.size != 0 || usize::from(payload[0]) * 8 != payload.len() { return Err(Error::Corrupt("btree root record")); } if key.pos != Bpos::MAX || level > 3 { diff --git a/lib/bcachefs/src/engine/tests.rs b/lib/bcachefs/src/engine/tests.rs index f93949e08d2..600207c8fef 100644 --- a/lib/bcachefs/src/engine/tests.rs +++ b/lib/bcachefs/src/engine/tests.rs @@ -9,6 +9,7 @@ use toyos_crypto::{scrypt::Limits, Random}; use super::bkey::Bpos; use super::node::{self, Build}; +use super::bkey::Key; use super::value::{Extent, InodeValue}; use super::*; @@ -74,11 +75,34 @@ fn the_crc32c_fixture_reads_its_tree() { assert!(documents.is_dir()); assert_eq!(documents.nlink, 3, "two names and one subdirectory"); assert_eq!(block_on_ready(v.lookup(v.root(), b"absent")).unwrap(), None); - // Its extents carry checksum type 5, whose seed and final XOR are not - // established: refused by name, never read unverified. + // Fourteen 32-sector extents, each checksummed type 5. let seq_txt = path(&v, "Documents/deep/seq.txt"); - assert_eq!(block_on_ready(v.inode(seq_txt)).unwrap().size, seq().len() as u64); - assert_eq!(read_all(&v, seq_txt), Err(Error::Unsupported("data checksum type"))); + assert_eq!(read_all(&v, seq_txt).unwrap(), seq(), "every extent verified"); +} + +/// Type 5 is CRC-32C's register with no initial or final inversion: the +/// fixture's first extent stores 0x7080C241, which standard CRC-32C would +/// give as 0xE4E4C9C4, and its first two extents give 0x96C86455. +#[test] +fn the_fixtures_type_5_values_are_the_uninverted_crc32c() { + let dev = fixture("crc32c.img.gz"); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + let ino = path(&v, "Documents/deep/seq.txt"); + let mut first = None; + block_on_ready(v.walk(Btree::Extents, Bpos::new(ino, 1, 0), |_, value| { + first = Some(Extent::decode(value)?.crc.unwrap()); + Ok(false) + })) + .unwrap(); + let crc = first.unwrap(); + assert_eq!((crc.csum_type, crc.compressed), (5, 32)); + assert_eq!(crc.csum[..4], 0x7080_C241u32.to_le_bytes()); + let seq = seq(); + use crate::crc32c::{crc32c, crc32c_zero}; + assert_eq!(crc32c_zero(&seq[..16384]), 0x7080_C241); + assert_eq!(crc32c(&seq[..16384]), 0xE4E4_C9C4); + assert_eq!(crc32c_zero(&seq[..32768]), 0x96C8_6455); + assert_eq!(crc32c_zero(&seq[..512]), 0xE5BA_59C6); } fn encrypted(name: &str) { @@ -214,28 +238,45 @@ fn a_lost_primary_superblock_is_read_from_another_copy_and_found() { assert_eq!(block_on_ready(fsck(&v)).unwrap(), [Finding::Copy(8)]); } -/// Rewrites the inodes root of an unencrypted volume, its bset stamped -/// `bset_seq` and the root directory `inode_seq`. -fn stamp(dev: &Image, bset_seq: u64, inode_seq: u64) { +/// Rewrites `btree`'s root leaf on an unencrypted mkfs volume with its keys +/// as `edit` leaves them, the bset stamped `bset_seq`. The keys bypass the +/// writer's type check, as a hostile image's would. +fn rewrite_leaf(dev: &Image, btree: Btree, bset_seq: u64, edit: impl FnOnce(&mut Vec<(Key, Vec)>)) { let v = block_on_ready(Volume::open(dev)).unwrap(); - let root = *v.roots().iter().find(|r| r.btree == Btree::Inodes).unwrap(); - let node = block_on_ready(v.node(Btree::Inodes, root.level, &root.ptr, root.key.pos)).unwrap(); - let keys: Vec> = node - .keys - .iter() - .map(|(k, val)| { - let mut inode = InodeValue::decode(val).unwrap(); - inode.journal_seq = inode_seq; - k.encode(&inode.encode()) - }) - .collect(); - let build = Build { btree: Btree::Inodes, level: 0, seq: root.ptr.seq, min: Bpos::MIN, max: Bpos::MAX, journal_seq: bset_seq, keys: &keys }; - let bytes = node::encode(node::magic(&v.superblock().internal_uuid()), BLOCK, None, &build).unwrap(); + let root = *v.roots().iter().find(|r| r.btree == btree).unwrap(); + assert_eq!(root.level, 0); + let mut keys = block_on_ready(v.node(btree, 0, &root.ptr, root.key.pos)).unwrap().keys; + edit(&mut keys); + keys.sort_by_key(|(k, _)| k.pos); + let encoded: Vec> = keys.iter().map(|(k, val)| k.encode(val)).collect(); + // A placeholder bset, then the keys put in raw, so the writer's own + // assertions never see them. + let build = Build { btree, level: 0, seq: root.ptr.seq, min: Bpos::MIN, max: Bpos::MAX, journal_seq: bset_seq, keys: &[] }; + let mut bytes = node::encode(node::magic(&v.superblock().internal_uuid()), BLOCK, None, &build).unwrap(); + let flat = encoded.concat(); + let end = 160 + flat.len(); + bytes.resize(end.next_multiple_of(BLOCK), 0); + bytes[160..end].copy_from_slice(&flat); + bytes[158..160].copy_from_slice(&((flat.len() / 8) as u16).to_le_bytes()); + let crc = crate::crc32c::crc32c(&bytes[16..end]); + bytes[..4].copy_from_slice(&crc.to_le_bytes()); + assert!(bytes.len() <= usize::from(root.ptr.written) * 512, "the rewrite outgrew the node's written sectors"); let mut blocks = vec![[0u8; BLOCK]; bytes.len() / BLOCK]; blocks.as_flattened_mut().copy_from_slice(&bytes); block_on_ready(dev.write(root.ptr.ptr.sector / 8, &blocks)).unwrap(); } +/// The inodes root stamped `bset_seq`, the root directory `inode_seq`. +fn stamp(dev: &Image, bset_seq: u64, inode_seq: u64) { + rewrite_leaf(dev, Btree::Inodes, bset_seq, |keys| { + for (_, val) in keys.iter_mut() { + let mut inode = InodeValue::decode(val).unwrap(); + inode.journal_seq = inode_seq; + *val = inode.encode(); + } + }); +} + #[test] fn a_journal_sequence_stamped_past_clean_is_found() { let dev = formatted(32 << 20, None); @@ -285,3 +326,291 @@ fn a_scrypt_cost_past_any_limit_is_refused_at_mkfs() { let options = Options { label: b"", time: 0, encryption: Some(Encryption { passphrase: b"x", kdf }) }; assert!(matches!(block_on_ready(mkfs(&dev, &options, &mut Seeded(1))), Err(Error::Unsupported(_)))); } + +/// The primary copy re-encoded after `edit`, written over every copy. +fn rewrite_superblock(dev: &Image, edit: impl FnOnce(&mut super::superblock::Header, &mut Vec)) { + let mut block = [[0u8; BLOCK]]; + block_on_ready(dev.read(1, &mut block)).unwrap(); + let sb = super::superblock::Superblock::decode(&block[0], 8).unwrap(); + let (mut header, mut fields) = (sb.header.clone(), sb.fields.clone()); + edit(&mut header, &mut fields); + for &offset in &sb.header.layout.offsets { + let bytes = super::superblock::Superblock::encode(&header, &fields, offset); + let mut blocks = vec![[0u8; BLOCK]; bytes.len().div_ceil(BLOCK)]; + blocks.as_flattened_mut()[..bytes.len()].copy_from_slice(&bytes); + block_on_ready(dev.write(offset / 8, &blocks)).unwrap(); + } +} + +fn open_err(dev: &Image) -> Error { + match block_on_ready(Volume::open(dev)) { + Ok(_) => panic!("opened"), + Err(e) => e, + } +} + +#[test] +fn a_members_field_without_its_header_is_refused() { + let dev = formatted(8 << 20, None); + rewrite_superblock(&dev, |_, fields| fields.iter_mut().find(|f| f.kind == 11).unwrap().body.clear()); + assert_eq!(open_err(&dev), Error::Corrupt("members_v2 without its header")); +} + +#[test] +fn journal_buckets_whose_counts_overflow_are_refused() { + let dev = formatted(8 << 20, None); + rewrite_superblock(&dev, |_, fields| { + let body = [(1u64, 1u64 << 63), (2, 1 << 63)].iter().flat_map(|(a, b)| [a.to_le_bytes(), b.to_le_bytes()].concat()).collect(); + fields.iter_mut().find(|f| f.kind == 9).unwrap().body = body; + }); + assert_eq!(open_err(&dev), Error::Corrupt("journal buckets")); +} + +#[test] +fn a_superblock_copy_past_the_device_is_found_not_read() { + let dev = formatted(8 << 20, None); + rewrite_superblock(&dev, |header, _| header.layout.offsets[2] = 1 << 60); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert!(block_on_ready(fsck(&v)).unwrap().contains(&Finding::Copy(1 << 60))); +} + +#[test] +fn a_link_count_past_32_bits_is_refused() { + let dev = formatted(8 << 20, None); + rewrite_leaf(&dev, Btree::Inodes, 0, |keys| { + let mut inode = InodeValue::decode(&keys[0].1).unwrap(); + inode.set(super::value::inode_field::NLINK, u64::from(u32::MAX)); + keys[0].1 = inode.encode(); + }); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(v.inode(4096)), Err(Error::Corrupt("inode link count past 2^32"))); +} + +/// A dirent value: target, type, name. +fn dirent(target: u64, kind: u8, name: &[u8]) -> Vec { + [&target.to_le_bytes()[..], &[kind], name].concat() +} + +#[test] +fn a_dirent_at_the_last_offset_is_refused() { + let dev = formatted(8 << 20, None); + rewrite_leaf(&dev, Btree::Dirents, 0, |keys| keys.push((Key::new(kind::DIRENT, Bpos::new(4096, u64::MAX, u32::MAX)), dirent(4096 + 1, 8, b"x")))); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(v.readdir(4096, 0, 10)).err(), Some(Error::Corrupt("dirent at the last offset"))); +} + +#[test] +fn a_symlink_past_4_kib_is_refused_before_it_is_allocated() { + let dev = formatted(8 << 20, None); + rewrite_leaf(&dev, Btree::Inodes, 0, |keys| { + let mut link = InodeValue::decode(&keys[0].1).unwrap(); + link.flags = 0o120777 << 36; + link.size = 1 << 40; + keys.push((Key::new(kind::INODE_V3, Bpos::new(0, 1 << 31, u32::MAX)), link.encode())); + }); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(v.readlink(1 << 31)), Err(Error::Unsupported("symlink target past 4 KiB"))); +} + +#[test] +fn a_snapshotted_root_subvolume_is_refused() { + let dev = formatted(8 << 20, None); + rewrite_leaf(&dev, Btree::Subvolumes, 0, |keys| keys[0].1 = super::value::subvolume(u32::MAX - 1, 4096).to_vec()); + assert_eq!(open_err(&dev), Error::Unsupported("a root subvolume that has been snapshotted")); +} + +#[test] +fn a_strict_key_in_another_btrees_leaf_is_refused_and_a_set_key_is_found() { + let dev = formatted(8 << 20, None); + rewrite_leaf(&dev, Btree::Inodes, 0, |keys| keys.push((Key::new(kind::ALLOC_V4, Bpos::new(0, 5000, u32::MAX)), vec![0; 64]))); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert_eq!(block_on_ready(v.inode(4096)).err(), Some(Error::Corrupt("key of a type its btree does not hold"))); + + // A set key is non-strict: upstream reads it anywhere, and refuses only + // its commit. The reader passes it; ToyOS's check finds it. + let dev = formatted(8 << 20, None); + let pos = Bpos::new(0, 5000, u32::MAX); + rewrite_leaf(&dev, Btree::Inodes, 0, |keys| keys.push((Key::new(kind::SET, pos), vec![]))); + let v = block_on_ready(Volume::open(&dev)).unwrap(); + assert!(block_on_ready(v.inode(4096)).is_ok()); + assert_eq!(block_on_ready(fsck(&v)).unwrap(), [Finding::KeyType { btree: Btree::Inodes, level: 0, kind: kind::SET, pos }]); +} + +#[test] +#[should_panic(expected = "a key of type 27 in a Inodes node")] +fn the_writer_refuses_a_key_its_btree_does_not_hold() { + let key = Key::new(kind::ALLOC_V4, Bpos::new(0, 1, 0)).encode(&[0; 64]); + let build = Build { btree: Btree::Inodes, level: 0, seq: 1, min: Bpos::MIN, max: Bpos::MAX, journal_seq: 0, keys: &[key] }; + let _ = node::encode(0, BLOCK, None, &build); +} + +#[test] +fn a_passphrase_upstream_would_cut_or_strip_is_refused_at_mkfs() { + for passphrase in [&b"secret\n"[..], b"sec\0ret"] { + let dev = Bytes::new(vec![0u8; 8 << 20]); + let options = Options { label: b"", time: 0, encryption: Some(Encryption { passphrase, kdf: MIN_KDF }) }; + assert_eq!(block_on_ready(mkfs(&dev, &options, &mut Seeded(1))), Err(Error::Invalid("passphrase holding NUL or ending in a newline"))); + } +} + +/// What the reader and the check do over a volume, bounded so a mutated +/// tree's loops and sizes end: open, check and list the root, then with +/// `deep` every directory to depth 8, every file's first 64 KiB and every +/// symlink. +fn exercise(dev: &Image, unlock: Option<&[u8]>, deep: bool) { + let opened = match unlock { + Some(passphrase) => block_on_ready(Volume::unlock(dev, passphrase, Limits { memory: 17 << 20, work: 1 << 21 })), + None => block_on_ready(Volume::open(dev)), + }; + let Ok(v) = opened else { return }; + let _ = block_on_ready(fsck(&v)); + let mut pending = vec![(v.root(), 0)]; + let mut seen = 0; + while let Some((dir, depth)) = pending.pop() { + let Ok((entries, _)) = block_on_ready(v.readdir(dir, 0, 64)) else { continue }; + for e in entries { + seen += 1; + if seen > 256 { + return; + } + let _ = block_on_ready(v.lookup(dir, &e.name)); + if !deep { + continue; + } + match e.kind { + DirentType::Directory if depth < 8 => pending.push((e.ino, depth + 1)), + DirentType::Symlink => drop(block_on_ready(v.readlink(e.ino))), + _ => drop(block_on_ready(v.read(e.ino, 0, &mut [0u8; 65536]))), + } + } + } +} + +/// Every node's place and written length. +fn nodes_of(dev: &Image, unlock: Option<&[u8]>) -> Vec<(usize, usize)> { + let v = match unlock { + Some(p) => block_on_ready(Volume::unlock(dev, p, LIMITS)).unwrap(), + None => block_on_ready(Volume::open(dev)).unwrap(), + }; + let mut out = Vec::new(); + for root in v.roots() { + let mut pending = vec![(root.level, root.ptr, root.key.pos)]; + while let Some((level, ptr, max)) = pending.pop() { + out.push((ptr.ptr.sector as usize * 512, usize::from(ptr.written) * 512)); + let node = block_on_ready(v.node(root.btree, level, &ptr, max)).unwrap(); + if level > 0 { + for (k, val) in &node.keys { + pending.push((level - 1, super::value::NodePtr::decode(val).unwrap(), k.pos)); + } + } + } + } + out +} + +fn le(b: &[u8], at: usize, n: usize) -> usize { + b[at..at + n].iter().rev().fold(0usize, |a, &x| a << 8 | usize::from(x)) +} + +/// The crc32c of a superblock copy at `at`, recomputed so a mutation +/// reaches the decoders behind it. +fn reseal_superblock(b: &mut [u8], at: usize, span: usize) { + let total = 752 + 8 * le(b, at + 124, 4); + if b[at + 144] >> 2 & 0x3f == 1 && total <= span { + let crc = crate::crc32c::crc32c(&b[at + 16..at + total]); + b[at..at + 4].copy_from_slice(&crc.to_le_bytes()); + } +} + +/// The same for a node's first record, where it is checksummed crc32c. +fn reseal_node(b: &mut [u8], at: usize, len: usize) { + let end = 160 + 8 * le(b, at + 158, 2); + if b[at + 152] & 0xf == 1 && end <= len { + let crc = crate::crc32c::crc32c(&b[at + 16..at + end]); + b[at..at + 4].copy_from_slice(&crc.to_le_bytes()); + } +} + +/// Writes `bytes`' blocks `[at, at + len)`. +fn put(dev: &Image, bytes: &[u8], at: usize, len: usize) { + let (first, last) = (at / BLOCK, (at + len).div_ceil(BLOCK)); + let blocks: Vec<[u8; BLOCK]> = bytes[first * BLOCK..last * BLOCK].as_chunks::().0.to_vec(); + block_on_ready(dev.write(first as u64, &blocks)).unwrap(); +} + +const BOUNDARY: [u64; 6] = [0, 1, u64::MAX, u64::MAX - 1, 1 << 63, u32::MAX as u64]; + +/// Structured mutations of upstream's and mkfs's volumes, checksums +/// resealed so each reaches what lies behind them. Every aligned word of the +/// superblock is set to each boundary value in every copy at once, so copy +/// selection cannot step around it; nodes take seeded random bytes and +/// boundary words. Whatever the reader and the check answer, neither panics. +#[test] +fn mutated_volumes_are_refused_without_a_panic() { + let secret = hex_secret(); + // The encrypted fixtures' scrypt is upstream's default, far too costly + // per round; mkfs's encrypted volume takes the same paths at N = 2. + let images: [(Image, Option<&[u8]>, usize); 3] = [ + (fixture("crc32c.img.gz"), None, 1500), + (formatted(8 << 20, None), None, 1500), + (formatted(8 << 20, Some(Encryption { passphrase: &secret, kdf: MIN_KDF })), Some(&secret), 300), + ]; + let mut rng = Seeded(0xf022); + let mut draw = |n: usize| { + let mut b = [0u8; 8]; + rng.fill(&mut b).unwrap(); + (u64::from_le_bytes(b) % n as u64) as usize + }; + for (dev, unlock, rounds) in images { + let nodes = nodes_of(&dev, unlock); + let pristine = dev.get().clone(); + let used = 752 + 8 * le(&pristine, 4096 + 124, 4); + let span = used.next_multiple_of(BLOCK); + let primary = super::superblock::Superblock::decode(&pristine[4096..4096 + span], 8).unwrap(); + let copies: Vec = primary.header.layout.offsets.iter().map(|&o| o as usize * 512).collect(); + // The header and each field's first 128 bytes: the rest of a large + // field is records the sweep's offsets already exercise. + let mut offsets: Vec = (0..752).collect(); + let mut field = 752; + while field + 8 <= used { + let len = (8 * le(&pristine, 4096 + field, 4)).max(8); + offsets.extend(field..(field + len.min(128)).min(used)); + field += len; + } + for width in [4, 8] { + for at in offsets.iter().copied().filter(|at| at % width == 0) { + for value in BOUNDARY { + let mut bytes = pristine.clone(); + for © in &copies { + bytes[copy + at..copy + at + width].copy_from_slice(&value.to_le_bytes()[..width]); + reseal_superblock(&mut bytes, copy, span); + put(&dev, &bytes, copy, span); + } + exercise(&dev, unlock, false); + for © in &copies { + put(&dev, &pristine, copy, span); + } + } + } + } + for _ in 0..rounds { + let (at, len) = nodes[draw(nodes.len())]; + let mut bytes = pristine[at..at + len].to_vec(); + for _ in 0..1 + draw(3) { + if draw(2) == 0 { + bytes[draw(len)] = draw(256) as u8; + } else { + let width = [2, 4, 8][draw(3)]; + let off = draw(len / width) * width; + bytes[off..off + width].copy_from_slice(&BOUNDARY[draw(BOUNDARY.len())].to_le_bytes()[..width]); + } + } + reseal_node(&mut bytes, 0, len); + let mut image = pristine.clone(); + image[at..at + len].copy_from_slice(&bytes); + put(&dev, &image, at, len); + exercise(&dev, unlock, true); + put(&dev, &pristine, at, len); + } + } +} From 4df52b68467afac395c1c21a98afd883588dd4e4 Mon Sep 17 00:00:00 2001 From: japabu Date: Fri, 23 Oct 2026 04:35:24 +0200 Subject: [PATCH 4/4] bcachefs: kind::strict's comment says what it answers; a v1 btree_ptr is refused by name Review round 2 of #1032. The comment on `kind::strict` described the types it returns false for. A v1 `btree_ptr`, which the type table admits in an interior node, is valid bcachefs this reader does not walk, so it is refused as unsupported by that name rather than as no pointer at all. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01PXEk8BBMDT8tXu4AnENB9Q --- lib/bcachefs/src/engine/mod.rs | 5 +++-- lib/bcachefs/src/engine/read.rs | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/bcachefs/src/engine/mod.rs b/lib/bcachefs/src/engine/mod.rs index 60a0077d853..26ca234b000 100644 --- a/lib/bcachefs/src/engine/mod.rs +++ b/lib/bcachefs/src/engine/mod.rs @@ -217,8 +217,9 @@ pub(crate) mod kind { /// The first key type v1.39.4 does not define. pub const UNKNOWN: u8 = 39; - /// Types whose btree a read of a leaf does not check: upstream refuses - /// them in the wrong btree only when it commits them. + /// Whether a read of a leaf checks this type against its btree. The + /// others (deleted, whiteout, error, cookie, set) upstream refuses in the + /// wrong btree only when it commits them. pub fn strict(kind: u8) -> bool { !matches!(kind, DELETED | WHITEOUT | ERROR | COOKIE | SET) } diff --git a/lib/bcachefs/src/engine/read.rs b/lib/bcachefs/src/engine/read.rs index c4407294799..9e655bb2e3f 100644 --- a/lib/bcachefs/src/engine/read.rs +++ b/lib/bcachefs/src/engine/read.rs @@ -179,7 +179,7 @@ impl Volume { continue; } if key.kind != kind::BTREE_PTR_V2 { - return Err(Error::Corrupt("interior key that is no btree pointer")); + return Err(Error::Unsupported("interior key other than btree_ptr_v2, such as a v1 btree_ptr")); } let (level, ptr, max) = (node.level - 1, NodePtr::decode(value)?, key.pos); let child = self.node(btree, level, &ptr, max).await?;

    a*gPPs%R(#Xc@D~9?*q&J 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%0AJ=R)>ifcG1=k5zAB<5G=spAMCaq!O ztlbp}u)UgzMq&SPt7st#;1&eGXk3HmuoQiAcGVuINg)p=F^L#Dqfy&C1h#8(1>b3v zZaalSYwnM=Sc{H9M?ot~EpKc5{Jr;I(BFIx(J9BF+o)?5N7m&6|FIAUqgG+6i-bCj znRfv0>5wsVF&ZD{2Z^*?T{lOYTsm;uHWemxT`hP0(t_QcTR}~N@+YBU3km3rClbZx zGbf1go%L%zI5NKqRVG|-DTfQr`rdpmC(fmV2C=~lX9=)Gt%T%>vQr1q*I#Q$>kAzX zA-w89h#2mJ==|Cezi7oK;SS+~BJ3OFl75viZPT0KVubK=$1^{OO}N=-*-0fv$>(fa z>lXr3hpWVjYpMHDE;|nIr*}SKPK0)=XWN;q1a@E|)nr=kmC*YV{7dR94m^dvst-%Y znopJ|NX;JU=^EDMvj~@Q@>0lKL@!j&7-A$^*9i&2-~tP{z}#YY37@LQf)mA*t|UK? z;i<*X;luqzW3W>ew9Jd&fM~B_K~BwR;iDz|m=?1!Nma4>Bmq07t)KI|ioEYk3@MvL zv+CT+0RwB^E{vLqhD!wXK*e9HrT+FTVZF>uI9_nPz*Py}KZvLNsOn9>Jo3P+hopS= z5EkWAu(a#Asvuwfr7rgYKbQ8^N8}3wU^Rq|4-CyRu8{&AE`Ofb;Qtmrhi@A>t=G3( zl?w-ZcUKk+`w762XY1Vmw}%l7A`Oar2ia;kD_kyx$Ub@vH}xz5J&e&7*S;)xM4=V7 zDVn|NUaNw9VFHAA)kW`*%x2L&P~tkg-hx%R69HCzE52uYnp)t7WjM(@goHGbgH^SL zV&ml9lTudF)m4~3%X*DQk6P~xhy*rMI#f!|CK58oE%9Pp{em+)bu`>xhzCu_QYfSu zIqn7j`m)H z-Sb-7Oc8L@BwiqOykw+z3%+j*7%arXI;(_D@69$CJ={FTklWJeEzmUYCkWYiHJhIo zDH)s{43Hud=f!&@<9*$!IDBi3747$zhIPGJ&7+u*NHi>lbh!~Q2@R210J>q5OJnH9 zQui*I8Lmc^*@nHtS@VGZMr>tY0>z>H2$zv?C+JO2vu1uR ztFrSy=0DhCy(Kx>-|yvPWzx~X4N{)B2{VXB)Vof)>Y8~`Tg0*~gKr_)i1w2IPE)xbW z$R*@QHr0b6(w>@&Xay6&V{tECvI}m&z9c_DLSlG$Q{rc?QRj%C0MbC*4-VMme7S6P z@kUUusR=&{ZgSOUS;_|%O?*A`V`!ErIbCZXL%1UQ%%p#Pfp5LvIBG#C}_(W(I!_p}vKBZ{6&BC{sqa&$tm_5m&%3 z5?P6}Z5Pk6xIj1WBll!RKogH}xGG8xGgH@PW@2Ju-TI@xB3t~SH_q8$)`CYwg)ccr z$@Y}Z_t=IVc67I$tvV5Nj$Z?JX*FyX_{|B8L!_P~?fLU#5d*yYjeXrOHP1wxbb!x3Ew;X~mu0xg`H%G3eV;1Z)&bf1e6_l> zf>&8U-tN%#A9+Zd3n#OcH-;7WiMa}stCre8m!+$dIm<2(#BKj-GE@uo8Zgf*@&S7P zVo^lNb|g;Q<8`41ECS$WY8C23j529)xs(ys&Pi%~f?nq^N)AWqE}+-mmsPycyTR+| zw*@0AvwF3cxIeMxJGM4MXXp#$9xp2qCshCz4>)!!M1oBICRpa&Y>D?ZAkC<~7IS-bi)LSAj#-xxq zxD2*f=>~WyHD&^w*lH|)DfJLz;Oop4vMSm=FZx0 z6k^+J@d6<-ub$SFlt$MMwtK7_D9^WxXcLQTt)oun4LiDZ-%@S<)ehzUF>`ltC_3f? z65HQXe0Eq^Qt@QAGp(-)0)soWzp{=4fCqWx-seK9 zR-rpBG%O8~DR!6(Iy4WkwyH-GVB-MIxNuSu+O&uJWv{~$f41mJ_E?)&B2Gc08VQ0_ zw|gdh{IRSLu1B5wNzPXc$_UoBvQ+-g$^?pnu9oSK;!qpE%F!ntATjtG~{ofh07z z+#-+8D+6j@REWOh&@k;1R3C8Twtqu*g{;gi^wO}30*A5O35=qe80^lZ%ObY&NNs}p z;#9uF_WZMvM7CFWbE~wR{~|_71!++ z^dVfwafmzD-Ra+OV3iG4ly*4)*$$N1&<=AaJP623?|2k6s(pqS?!tk^TGu)3e40zF;F+DZ8pzN zFXIOPuRRZ=0Y~@GVj4L9!%uzAsM-LPiQxmQS*rP|wn!XRSVq1UIM3zqS8YXB&SxE8 z_!9GWiU{5;G1jXWhx6&}5g=&Pwgc~*Li0PS9s+{cgKX}Dhb?>$=_eev5k|Ye|Hx!EBo7 z{{MKG927tF}oojrqS&6>(0t0lLy+d%qcc5O9Ssa$fs^@TrS*moZJVrT(_)x3igd zs|MFddjy-rb$U?NN8}t+{H_*DJP}Sgi?*fzcoqA)%9=A;FiaI-PpI++1DRV+3_iaq z$0TJ9+aLp|ogt?XfkPGKvcOqRil(8=VU%o>0Gt97+@2u~v)lyrx_qWeId`Xc%m4Sz z0kz&uuSoC9e=XBAbfg?(HMDbnd)8IDiHe*dFxtdRooKQgr>sYw=o#uxu>UC1pS+RN zNLeIfV%_e0sZGn4DH*qkGDt37!GAE1)O*Qf5%ToVLGCfQl48t` zsE*<~?GlxOSg319&;>A!c{GCj_go7=-=jmo2v3-L*QUHF4`yDP?k2QGE*-}&nL*#5 zS3T1J#p8iao%VH2;*k~u`l-XU1Fouw2z_`cbmbvEC!BS=@_QsP$Ong@}NjNS$Qcefuao7-9(O+;XPo@dk_*P$k=~5aI*a7SF zYQ;kAA&s8`jtup7(sGpQ*p>{{FTzy$5?ebD@-KqfU|HqFuZ!m}+!<#Ln zw+mBJI(|86mYDF_`cP4TA#nRfF1@)AGI-+1)}Y%t1DNsXl|`;&z=%Lh#K;55Vtd-5FxTM+n zl&WrFH3fReJQb!PXG%{2y_>=hwaaj9+02ZqAykk_KE5@BO>vb=`*?>$_Y|P6KTLf^ zG1HQND3M`Bl(K5TU%s@LV(Ja{dl;Nt5-(*8+Ulj-OlQVok;gqZVzCrh3glq-c>leZ zr@8`E)QfXRFEt~%PQ4`8>Tl+dEnRmKOt^|mU@2yw?YfP}N5EQAT~WeRm4>ycYZPKe z(pGjUndsESuJ+K_*(sg=%uImNvn{rzhQ(~z$u?+%i_f=bY^KDuXvd}v+wzHdI z|5Pp9yj&*Zn`rfru}=@P$@WF+3o6vR)%XD5B}ygo*^Ur&%A-BErp0B)Jb=H|R^Y@h zlb(v3?RydGbcc_1=@@l5d-q!S>Atf{^j9=n-$$G7QDzYEv$kP00q2fvy7N)N`@ zFx-c*w?GMe=9}QxWColYOG%iorvqjXNU{?ODNjT!oVK}{t_P%lmSn^r<|buhus*Hj zq^JP4*iI4hNxpkzI{T_`)opY{f8T{pw^-?7Fv*ITqv}Ip_pDT9kmqv+)|RBYX#WjR z>*bhl4C6Pw#TB{otYKmjF6Uz+La!u)(EWa7hh8=f_Su7C=lP->4y2CwE&9}hHU?S> zcnFbM<#S($hPRcPRu^%5j8^z9jjwMNTIB%s$N8`V;vysc5ySUJ+kz zi|-vi<8a=Q@uu(EqhHcSzm`yZf(@OW8;Jw76zf+ww2;EkXGFz!cQyA*@#us4yxVTOXz346q`fvoHYjlA1UMT{%&)r^1n~G>K zw4($k*Zg6Zpa8x*V$@ z4Me3p3i#Ecb_U|x(tC41hWv3v2Rf~VCes^{Sf$Ki>kq$J!HD@6!(Ycj^lH~Lg9zXM8 z8&Cad2pv2`W*7--hj?~f&C22yABY1lWB+ z_4`-rWLpzBUHvvVVTwn;&JH*mt!ima{OcbCQR>b+mXCSU2rNy51cG}ck4=Z$bwqeu z>eMd`@jrYbf^WKYR7W84ek+0M(-)wC-?gv&J8Mo<#(g5)gr{wR$%pKoUxfE;{6)Nl z<(D>+{#4$Rv_3nIP9m3wnm)e-FM;@1RmSj0m>I<5qcd0IAaX=-h;GQW4dT z2-djj9XR|M5xZhG4)!0~YIq>2tMb7Fr-{|YB^QSbwjx-ZTcNpJ!j=_?G-&@OG5^@IcBVZbNYdz?mgU<`?p>SZ z=yyg#a~P5zk!~N#AM)#8U94=1lD^%<-ioorjbM!>Ysv&|TTcZnB>sGf@}n6(SLs4d zannRfJz`1bn<;d;Q2uDjOKqhF|{daw9% zs{`0i{i9TDx?j*I@#GQw!Dg~1h(sQ9;2MsovYbixU;85SY8}jA46Cr`orv3sqwHlX z-lX$S*%h9k4FFS)z^rD^rpRg^EMS;YEfOyD#iIkWzTf`E?bT`MR>@6|9je-r=A^qp za~J}+f3h&@&POi)>oqKJLeSTA0WfLX!yp?e=)Hzhok*VNo{{95!q_6b;$aGlswI3G zl8AzV;8tK}4v1s2=|HIxQ1NilwB1@{7pP4%(P|ZAnbX0VNV&0_L7JUDWiOCU#IGUQFKD$u{9DQD zkbVyT5s;j1gEbm|H~|atCD!)hMHWk}@8o^UN>c~-1=XTer zQ)93fjVX(?p6lH!Eea!v(CpFj8Lrhoc7BIsJv~y$zBOsqr7YGQ@fSU+U+zD|k7GlJ zDY<Y)B1=7d4qmlT9B5w|2?v+xflf z#f0COf9B)T?aPi!dNq;D8hlP@jZBZ9uTDRqr*rc%?Fk4}yNBD}JMdrtVDLY`ZFH07 z`aq*!Gn++?&dx7n!Na8r<#U z#Bwn^SxI!BFf737psLN*cu(E>r#3W61m~z+jI@ny{8AY5vVrt=U*KDt|oyH_- zf?OfmFv$OLzA1fb`rOv$C_0x=qfI`Z*3F)znY$+~Tlff@?OuRhtj?;>qzj%1=8Twc z=uV@rRf-u!)mx^#f(vA`+F)#_ttfMxysJgHhccO*nmQ|}qUt3ij=M4t{gNb4x0JDL zeEm8BoOo(X=~0=|LK%TqR16hUY8{=n;WCvbWEB1W!&N3*~bZ(zjf z4S&T*8kyN+3@6F%c?Vro*$eE z&Rs>=n9(nDCW$E{k&YICO2pPAp&2Q@Y@N3HTX$*3%EEIfylKR^yspWx3#_BedD;IQ z)u`y46FoH3Sq*Ye(X8e8cpWL?#~g0olrN}ivSGW(iplWeB^BW$xuj9+&TeJvKIeUw=t%YGTcF4DsAM|ibIX3$aq)5vu z)Adzh(PWQHA%5IySKFnDtw7TmB;dL8!Qz2oyLaGIIsFwDtkF^8bf=%&+)(|J*~nlY zMrwz1Y-Nv-tba4s4jvuZ_HL~0inDyF0=OKMsjgs>(MQOgn2{(qlPi9qr?;yeO2AZ% zvfUWpmg(Un_u5&Zs)*X7H-d@|U`J{@5vUNOz}nk_n|1M6?xC;}Wmal;cQI*&&SYo! zr%Cv5D3)mg$I|%7=lDy-^^iylS&@9b0SBV0|!l1#eg&8XQ;?U>XmDFgF2yO zp!O9^1QwC+^sB%3S80n!su9tBrEC!IE*J5}bY;)saVaRfx2OCke1-X4*ch4C=UB<& z=U$gc45v3{=~>g4p+TIsdL!Gnj%n{V;JIPh34yhi+ASZ@Zq?fvC#)T29X>V5V z2A`F(Mk7-D{WlG?a+YnX>I2;%#eywebh|{a4uNRS)s5l6vA3(eSXCPxLzW{vYwqq( zI4_Ik>5_tR#S8$Z6{~or@StuJgYleq|2lPn@;8RPf09hL(okS)g+)`n$)G+HzSE7= zt((;x7`iQYRXnC+q7aPxXp?<_f{WP^6;1gvjW(yn@FKU79e5+gz-{-G6Rdpo9!Vz2 zc6}ot<@ge}ESa{npB~+T7Yf0aKgCsH=x2+R*#dlO>`^j0)KMuc$OL-xTgoKY@`Z9$ zvGUf-*4!_dbC?V#1(p5@w|QhUF5p{Km z&CPT-8x%|ZPTUkfj4+Z@U*&Snwlv(r&=;_e6B>z^-l_&RG05`~#|-U?f223H7pJ{} ze3Q}RQ~frCW^mvl?y60@`Ct4TrH# zmjc-~d!EzViRui?oC zT^_vhIb@-Wl~po$m;#If12bkq z3t8%v#jO(i2c~@1M_zy0YS4_vYf`0Vi2l*Ws~|wuu2yt4=Wf@fq~XgqS6}l^NdIbl zUnUcy#Fci6XB=^w0p-Q2mxdPKID{G5Rt1C;-L5;oVHZ_n9y{eZjnHs zv7KQ-fp=3D|FV;n-GTWYRt-Xr7-Bu_884nWN8YI*qa3;Xs+tp_9^L0D*Qy^>E&>+V z5adIPViwuBt4J}9MV>}ie`(n|TWC;Wsma&eglVhBFhubrek}heW3IBp5S#rY2q++h z3s$Tp%)+=^MsfM)g^yX=qB#@pnz;nZmCtBIPdFRqDXv)~Bx^M`aYu-$`TB}IxXDTQFbHH5Ui*$Al> zm9k*E?}^#KDZSlT`DDYJRZI)J-~G&U#-1dAAKHW0K!GFSjt_eL^%jN5o>NNUmg{OS zp#S(Hsb3V5-z^$M>|qY}!;d?zvY}M|GT1gf3|~IJ2S(=6`!#AZf`lwC0&4Z159+k{ zpLySJY+Lao`q@g|sHU`q9{rEw3_C*CA8~W>8-~noE^VjTb!$TM6_MDKD49Im)Dxz^ zJ3lpyX6G^$%iY8CPtMbqi!77etquDUbd7qgtc^iacjSvqc-fltDHylr$Bj~$Cs zoCVn}4~sWfv|4dc?a>(zkKi1?L-@3?F@E;jUKhHf;0r9yq7ng1F)+{Bq- zeB~q`Bx`3DKZ% zT=F<4!#4+{jexd|l3~i=sar`m0FPu3JB7CQ$uWGMLXP&2VRrHqznTCXD5G@>oR&3N zQLd4BH@H2gpH5zDKli33>`)V$`p^rUTuA2_`+q-Q<;Uif8IrYd?RxJ&lk3T8#nqs5 z>_g=H8K|yq4^jGgVJ(@_lVuO=_0QI2%yj~6ZUn!1(DR&FUu-_2RGCR~T$I=7sQ+uT z_Be_`olgnpp1u8xc!S^HWVl1PYB3qL=~<_ti*~YKZpSJHDe1yOu&zr-YaD5`C}j2d z<-IJ*_X1-H?1FnhkEm6U}Lch_t+uEhnz z7amM!Xf9^sJ{KjcwxZg0Z66FEUa}(QW8=@`l&MmvI%TMT)t*?GA&KU2klr*U!!%{s zqYJ#-0-}G22%eOiLjBw;F0rpv%em`CnMxVm>ru)^e&KYbR%jkWtB0kD0>y65vu>k^lxBnBCzIx#UCOT==b%$miJKWEIRlh8QblM&Bo zY}Ape);(yn;q#Evh|REk#(+Iu;1wKDsbbjlN_b%)2Xm$P?V$|3_?3Qs5Bkgl)qmMF zgB+b{;uW%?5E|#?a=Gf2uhU*&43!)z5ad-rqhcX0!n<}&P!gLp+M=bALtdwpGV>rm zxjxlc&|?|@UjUWt`+?Wh@O*=#!o0};6JSCa5O~u-tpbK+C?iO0TyWcc4-Zc?)&q)gNe2)9(S#^v~ zdTyAg1A2+TxK^MgTVrfOI2#jm`IEMRYbXjHt!y(O;z(b=u!5?Xf#2Z-lFqH2{WmJA7Hd04iW-6vuGfRuY)Dzj5{8 z46OxG5@?%4k4pEgQb05Ph~Z0`!YY1t+g5D>`1PeLkp+aTsMoix=0@>1ylXJOFX-(7 z9$!eVm5l`;BB-v=-BDRs;NfLFM`*))t9Dzx78&&iL6=oZa(^ zy`8eo(!euKF}ivY7Or`L*sFk~3PyXU+F{shq<|12J12~jW8Bg6cMy5z3X&N9d+aRk zjX;U>Y%h<0Hp_}A0w|2-bC)5B2x>R4&=H{tXJZp#5&}u7Lwkud^5r(XxAyhQ%7hBh z`Uezz$LM_y-d2)f)!!P1=)gJipV@-1v&!bpWv?3aF%^1pu|Y?Ss)cg{iT@lb|G^fl zs6ua{UZrdR0k9vV3l+-x7@>8fHSKDo7HwZSvpHzcx(kOAcF@@+PWm1U7jnb2SMFbm>h8b9E5ecc~P^Mx#X0=%D+ov z?^bXSqQ*nZH;{>dQ9MmkIRIOAYUV`-`mtk&db@b4zlu zs@6mV0$Dzu+hiXc@5E({Kuz&qwfRIegNSkX-|`sADR+!+grVb1Jk<|SUWU6SGeVJE zk8{8JXuLYekB?}?d{|>l^{yyaf9a=y*JTLHbl0!vxW3B%9k|s9 zPCCZ>DY}`GbshP0%S>WcVgN{_r+BW&D&Gx0?nm@GaE#80Es;--&C<=#@h$Yzh_$`^ zTQ?A))Nbu25U$J^Sk*BrMeVbTs~5jYHD)#IaVlUUXh2|+lWbl(sj5an989WQFaITL zO#(WRfz~l2MiN>MpDz<RCJ9qpp%mb_07#)UF=<`*QIUNnb8)# z8(kedsTFrl)SNZ>@$!j-Q)hQPqD@D`JLs?OEF6|U5{mK@8(4I{BqC3NDGu7bo4R&f zc|AKyuN%QOfd(o3;4Z<&9xHbkgZXW0d8@bkcsH3ncas2ywX$a4cjdzc z$qBL&0x3X7HI_i`d!<`Cx*37$*e6mC?<$yAMO4HZ)Vq%7@0x26jTY}0Q`p+Og!<3? zjj5Tp21>k0A9|}<9r5t_UzT!er;Wj;?%vXi#oXjPY8@3y6lo8f#PY}oANyV;oQfJL zXccQuQV>}v%bdk8!JPaN)WAQEXOsARGmUu#Y@)88EggUx>EIiQ+sQ-(cO{rkFq_~# z;_R_^q;DxYTU^p3|NkR${KWP@OseGDsio?BR(nwMQ#-4OBHW3s21)$qSLv+Bm+G`w zRmLoCirrZe6Phvhn$vl+aktNH=Jr;*WawLQO&b!Q<2w{^&n!ayJIz>36Nnx}V8D>m zb0y^5`_U6h|gpmP;GRX#Z_UwWV)CE>{#HS+TRUhkfY%~|qT+HWEMpTVZ9$=Py5#Jz`X9yo+ zkgfD2TqBHeO{E68V`47IrsDY)q@$ba@<-}O=6~|{s?Cf?8wn|4u+_7=<%VL*WeJ!u zL9G5NTGJ(WG-b1#YZF-t+(ntyyGMV~yxNnT5Lz}92b+ib*KWTDy`|%FpfCxky~HWD z&0n>fg)9oKQ^06!d)9$%4=fTf5GDBjh8~#gwRx@LH@;^M-4UZI!Wm0Bxg?cHH5vT^ z(kgsNUdTbaB^Ti5fn{Sx&U1v(Kj_YV7Z6CBm4A@Ch4fWW^uQ;M6(8P6(ddC?ko7yy zSL54tQy*2Z&ja4jgHf4K^&b`kER5Abylz0$6Za%-``^c~+y6-qB%736VGz*6rhjdY zKJ{e+mrN@e4)yIh}-qsGlNm-yvu8x{z&&nHSPg(UN9D4S8*^H7~UA^AS0Ej3Vo zC(#a=tzAjZAKYBS#8D6Xh7PU@EwFAyuML3wC8@?qy=5{di@`1J$Z3YHIGu$Fj-xiKQ(GT$D4VHf zL|oc9y2P(uRDZxs0;oxy*wx^uELX>hdu~BNbEmzb+%bySk>7tO`TOB+D_Yn1Wpv+@ z;gBHK^BaZEg7vu61+uFjAO2yZ0pH~v@lu2yWH(IrGWwZAI>pO(y&Rw%MsKFuon)i{ zB_SB#J;cGXFKGk;YZ5gB#WC*8=Ot_CM!ys8ReDhR4PdGX_k}7Q5gruExOW8jczagC zQu)=-?jRtSvT_z%rOK?*#R~ML?n4guPE%m^;TX)ls!RM0#wW}-P3SDWg+J4irqU1L zMD%^ILYE1k71Ib8{Z`Z`qH>JKdF%SJKU&2V_wP)7H7KvNk0f?l ztu60x(qp%N#-HVwUv^DZCZ&zOiX|Vpbu*fbwT$9S_k!c`|FQ#47IGs^6E{IsHD%GF zfa|%cpZw^Zc?ovM`Ga>N=qc`mY`FOvA{vycHJ<5AL_9-4zlkRRj4>z23m53f10SsM zGzj&!F9amv1+P4(qruraPnOR;RqgB%7zmqjd;qK`XPW(qmV7gCeU4ARbB7UV7?5U=}lv7rMbyj4Xd;^7XM%y1rQ0RFCbPZaOWD00{UK4aHt+5rmUgExyvYC#;>-36d=^~SI(%8h2wcfRNs z+y4Ef?XaBn|%lxEE3qG z(Q;n%-#mo-4{#L@1p)8%ICQ%TgjB;3`y_n_Usns-JzybcQ?)!b1?i-fADy&2Ti?t* z*}j%(r8RA5Ko`0*!(oKQ*(f4W!)}QFjR{pP9{>&@ucD29Tvy1u_E%*G6{m#OKEHRJ zrFmJI4=`ZZ7~tE7nn}8F|KMzI&rXcHAJNfH#xKV2J+4W>N=@$#8D(bCNLZoR%6AtG zLrG9rkWzbz7e+}hyA^GO_D}Bcu3OFm<#iku>+KrTm57>1DN0!WLm3n zFt|^7eDwU9pmQ!T4X5C_0N#NWN0}&up#p2Wky*{_Vq!pmQ#MZOpX;1@6T8J{B+?m! zmRo3f6LZKZ+r%}$^2l5z-RI7SX)$(sD5fGyXC{CI3B9W!^1JB|0&!eES8_4(k`tNo zhpbRRKrG5d7m_FAU2)@~*Au$wCd%76v-W*I>Qy0jf}4=}f}SiKZ5~->ch%g?x8Wc| zUiS{vU1^S|svV*(*a6%6Nc-Tk0VKDXJJ$7Nh@Za$=pLBr*6&m%))r*P`;QxPTl zRhk-fbV3Lr|&%ao|4| zvS8Iv0}O$U0j!J^F#T4|I4Lz~9l|=A2LY>UcOFL1zB%{Xb}N&vgf|x+=)PNa-y&UF ztnf6Mr$~7@0rEJ-MXuTwH&)07_oGqJh>v~f^4AE5nK8UiZMdh11tu8js!6^0I8oO2 z;oqA2?piGB&Zrw+`*soQQ^MaH`q0K!dH4%DB3ls{dSd^)ob9IPbfTl{@71PQn540w z+C805E%Zl$32-`eH$8$CP&0;XjOglk>aiG!EuK8R(Il~i8}7F$elO&>2#mFg2CX3) z^Y)laeCd-l2UPy5PdXU=FJU`-+?ak9<#&52(WLKfY4GttJQ^=`+pKG;`2`{N@>+dE z0ZV^oVpJF#cvX5QNCMO~bWl-}FrI6~6ema#%L-i|IV5{q`8M8~=FoQ9NG*FTF{VV+{8#Nmp=S#| zCVHn?7q9Au9+8Fc0cnb_!}Iy4O6=f#g&&wpYh0Xvff90^Q3-Z6k26L31hT$0*w?CM zQB{q+by@kf>68jyC|?-~$l=0>3;Zn}598&QVYS7MW46ScVejxbj(w&?-^=y`qs#Wr zV{W|FI@jIpAr;U)XSPMYvVvA1XmhhV$mk_gLq=1_F#g*s3dO?LpJ=tSbOHGU(wwt- ziNp~Xlm5^F{2l%=I zu{TmdF0XIF{lly+*EFWBU z_w6&ob<9>N&FYoWgj-!P;FApHqNsb?UTn z2IZG>LG()7dQ~}YKxZFOW4DrS>2c6V&(8ngiDoRdead5+b{2*mLA2t2B+>j(2A0SH z=@0gkmQlfWE-vQamNOMYVFQJs-MRP_Iw?H$LHWdtsYmii7xS1uhU=P%#aNvs#Wl*+ z>y?GSdzaqgNKNC?S1V%f8ouK`QDqknOB|eb@|dow=lc>QIk%X1TJ_P-8Np$5;RXO26J_T2 zab>Xu(SB9KX#Mc=8(~~@?>an_*+Y^N)l*@l@N`Ze)nPv}mCI}=vrFIEnfdeds-ISD zGt#N+&_7#)j~;aC%<4-p_cvnRfl#Ola2A5$Vh?b{|Bz-}Qhp4VGy{5+(v`zMm@9Kbd!I_8XHUnfn*`Hr;egdhDeCD7Wj9RFA*hIa zcC_{M5a8w=6*;4jTSnsh(~0EdOg(4c;HSjMP0HnocVUZQKi)W;7YgG~B}fxbjg?Fo zp#qa)oY)Zm?BA+OJ%2bRi+%3yhLgw}!@Ejpf9E@a{RSa+p`9JR^dXqRxq3J+r~s^vSZScxJBm z<9YVIADA;PtkiOHty0zoA;pO;71MH4KI0YFsD)2tVK)c&dARM2VuskkiXSB5&iiyL zxC&aER>#@Pcp-}A{eY|r&dJL-+B@@Nd}+zFW?({}Rfpq!m+!hp9pMbaKcIumswEmom@l zE-ITR{#&?CwCb|+2=s1EFlyLmGgPVWoAQ7|54Xv#0Wxi^+fP+hD2sw0k>6n&nM8woJA>p}G9rwy2` zv|1=Gf(h=Yj%1j&Z8-C+;Eld6iog?B*rUHc=z({3W?1e;a&(9Sd(v&A)iP_fGVM?lF+5~UA2ud!k5vJYX;1~nh3E1|in;HVq zE^#D#Icrx`rKRGLApK@k#97F7dOBuurNp^w6SZ=6tRwG@hhy6IV-MIxHX{KGZ9?Q# z?T$Y(cV*qC3I`Kd0wR95QsSH)D)K7$j4{<;7#zVl7gOYBX`r0+6q=4llC+@~H=#oe zHU`PmP5jtwkToncTMPQF|d}q3~Vx37Vb(NZm_v3r(@c;IrzZ!W@7gwLu>Oi&& zc6vP3jcsMsy2ye;x=@pFD-G<@=-DOvF1~1Fhkz4)x;_l`Pl{Vn_)0P(l0_o~{C_&i zDP~{m)qR0Q^SUsRh1JL|IEe^A2xtIYt?BU{IbD_Bf{3W`C@F|UxQ^se`@00=Z^rBI zz*gRitr18FM1|qiXXbeV=7|9^Pf=?Jyk>|>UWT)lbkV=Djb--qIJ%Bg9BE4lu>^(% z+_g>^4)mil2pM18wzT9uyws4v9SEDmz$l-XBF=NLhahxUp|ks}@W&!BN(; zDY&l6eFTLFqd(rqRVwEvo$uaR=-|uc4H(cwI^rBD3p2OXooL^Ry3NQXw8@v8iONXZqRlR{+uSD`BbEyy?oY_;c2JtWB_smZ#8B+FnxZmw^# z#`m5HjuOWET$)Bkdn?RmfQPggO8~MG`Q5$msY$ZojCb z280B)&z99-kja+JBTdk^=2`teFi|39ZOgD3&JU1@GvQ0SHou{CVQU(+K9B90$(8yha;u7e#P81T5RZI_Ox@yig2vjP{?FpQmAiFWZi-U56Kuz z2;I*yAhV!I2IMg!zMtlLzVQ`Ire%`VBh6Y_XpEnl4pkmyNH9Zo(Q(1ki3nx2J`rFc zAV>TvO)fE8ML=rCsif8nBuKyS^M4IUQsNp7#*q}hp<$l~N6AMji=V1pn&i-0mNwOH z_%iDF`j}LNyF#=%B&+rSBN3u%yg|W_j;unvBsp79)i;2PXs9gj9Jtbv!D^(?eiyJo zcy(X*vn&&J;Grp|5om8`@TPzEX%#pX6o0?~HbBY0-(40+$+J>6qy9#g|G5raEbH6W z${N=-IAaw!ROsv`|gA(}w0^@fZdR&JI?PD??=KIE1OPObN(@{6z|$37*NO$odIF!cpD?U zcY-@)+;aQwVAe`7AZBi6<5$4|Yy;0A`uGz01VK^celSmkD=cTV%kry?ft4QnS0e zU4oj`03&WZFjE$+;Bl0MRrx^Fx&ipabM1telDsIL{EKj8qPp_DCG|sJ&UJaUk019z zW4EgpQlsmC6#1Tp3Oay49#sS}I=Ah;LGc83?&xz?^Bh~C4rCgVTEUCk9B$x(Q^q!j z+6%vq%ZG52?!aWqe|#c-FZ7qjpW!?;_W1=(ziG;)gBhmcy(Y_`ukcuB`%?{5B6Sqr zW8P8EDHJ-YYP3+2Av_45&k5D7PrTHB-1hd;crA>hHyCFlEMQrQk0sLrNyB{1E^5OA zD-4P5QXtwuha(n!6`(qJB}8bE?;ol=f&e)SmnZ?rz+9mTXig4tdl!X2i+fzcCX@zF zk3`90?}$7euKtA($f0QkzUC`kP%AzfzLy4RjgxE*8>@IY)h zLtFahjJ)`9dv3X5_Ro$s0rLn2z2gTe(YuB-dP|Num-{1XQdz(zEnxqpY&Bh+(?0yC zSJt90MhNsTw958f-%|#VpDr(sKAWph;x7F*%sx&bZP~9llFnhC`UA90hN(e))Z}ovmB4enfj|!(EjLG)YPuA( zuD^aV(lY1d$XsNz{gr%~9uT!_S#-PU)lYE}#X-%Y+k`LjuV$Da6xh7k>Rh4P*X4I+ zR;QR*P1&YqAQ&61h7h@WH4#XKFp@uhQ5bQ(J)o5to7N=EmAKti#`)p)YvRj7PXH}Q z4?w&tG+EiE(2+*2+|cVrdj(MO2xRN zhZ}otloEW4RO5l5i*3OvK(+N2csBuPzIQ`cA*sA912h>|aJUbgvU!PgAz#k5u&)UAiUe%!c%yrnL>L9xyjDh1bKWj< z)`O?YLqI25%!DWiw{0Wj5!Z-R!TD!DrzHX&X#pk2SHTkW22N{rB$&m6%e}59#x<{4!96kH25(?^8+SV-uil-j($=~V?g+xjwR*(WGG0=eQ{#QvN+y*N`njW2rUTl zu29Y7tyznPU!CniiDMzlfE|2VOY(l9i_bd@+9F(DW$5SFToF~t=Yej)$Din{I*lt? zx2dyPA%v!A5@ub-$>*%5?(Jh@G<0X*z=CRiwmH4m8#XNUs6D5;jy)YrSW_xgSw@%~ zYwxf3pl90f;oU3Q2m1Qtz{~7wNn$X(k3gIv`}p#rAPn1rz~pwHaLQKTH-!dZy}~kj zR&agDc28OerLrxL-)KHA4BYi6;=3DpTRO zTLUI||NVow#14Y4xq!g;&8%u3T0pQ+?bg*(isOk0FSY{O3QSohI2ETSnRsGABPM=Y zIBAS-SeX33g7w+HfQBE!zsbAEUY$T`2#1VLw@;%`^%;_}cBIkb5;BOrDp z-Q#}Zdia+fH|;&Lwd9+DdDDBQf|0vr!R4Ew-&Kr3e+>t5LJ_honNjaUC1@BUhg{s+ zthIiK+{XbW+RX8?<6tLs;lhQ?(lMvCI6mI@wHFq#dNF(%I%Q&Wb{>F&)l#8n#ij&;ZnHWGksgfWha<){a9{KT{+GyLWC^-;zwlfU{x4?e8nqor zRX6c$je2XuH}!aeB2=tP0`_T&#u zuSUGYHPrv?hr8MpRx+;q@yxwNxxI1~yGs^dnoe^^BXcg6tt~NDPVG!yDLA|1B9VQkx*o!?@>Uqvvl&X3>K>M5Hf=f+x@%-BwO2Dk}VkmQ8PwE6R3nddLZ& zag5G`gn$BygWLJ2Ft?#o?2|aiXdr_T#giHdMs1;2c`cNEHH}=67d>uMl!$goy}S8t ztes|&!S>*Nxk_@+UE$SU@JZ8->o|YXTN}7{iMNGxvnGxQfb@f1+bkJMF|nK@-fjUiuk!ir=5P<`$~rqec1_ zt@Cu}R+S|9p^X`hGrn357wNG*$Ondwz+RHbG=(yQVGCtKPB~nW@fw*PGT9F!#8hX5 zEbj%21)<}6BP`3(zV=+k9!y}Fc(><1vixd&+{kN6-QsH-Dc|f+TKIP0hRl1lzSC}A+#Pe!P*;hQ zH?(<^Q$a98o)>2Qo|i?EkEY@EJZ<%^O@ z1umfIGgSuB}hs9*UqM*hi^H_B-=$9(pC439rB7ipy|# z3G`l6eGsTub|AH>Fx&fbl@b0WXcmL)iHyQ+!~J1`+r4S{{R%+>p1nR-nT?9Xmjms-XR79Ly(Ek$!Ik$yhf{P+Exkqxj}U3m8Y#yxEXJv7+1l!hH}!BD-qIio zm#>bDbjJgW4VtmmQQKY5w{2CSj-llV$`ejKl**)R)Yy{m=1SUWN$f0$!$*ZyE1>%| zXP+yrDi&pi&I2_KP@5{>bZ0P@M?SKWgB{F=#$^I}&aL#T*>~sTE%GA6JV;6xh=mY|NI=!jQ6J&q$y0^-m&SAWd zK2}(-@uH*s1KD2JClZ+YhMsenmTBk3dA`)h&qw+>2e=06XBgZT%fq_xS6?75s38r1 zMiXEPFW0kVLcFS_K#ReEnmgFJz4^V-^s1S;t&ksO)zm>Ky%X*9UY2M8Px*F1LVWRI zH(&Nq-evWI7Fzm~;`0J^VH=%Y@V^H7T>!1^j-AKXkiro!sJ)yii+Wa^&t!F82Q442 zu4KT16c?>Esbn1PsH$33R*bz;4DQrr7Cm<07^8)-Tf>tMSpU6e-?nR9e|jgkk8wH@%~ zDKk}3^aZ68(kSk$Nkytg^@VeR`4N)@&KnG(@Sl_Ll>&oxGPs9{i6$CGy!3FbhDF5q z6%-DOJTV`-1PHDpzI$>y{HZYMSB62|_JN@*k~I1x4-^lu12&A=4ei-o)u^k0{<2v+ilW!@8!AIz{D(h;r8I?{yWz~K`Z^?tRkhO47l5wlm651L~GOJ z*X8-;cs1G~--JX8b3C2*8rm`Acrb13$mJ2XbXP!c9jF^ykS5g+@@2seA~BnhXn*46d0`HNH91vQ;42y!Psx19Uj06p7RBy#@X?XVXta&~O+= z(e`5q?hF>w&VRFSfO6KK}|jt1^q2 zcXJ!O!a_lTrX;HEO*R7VOlmQ+zww{HO-3N9HV0ePV!~R_JWPYj>JkUh*1}7pm*eU- zyZ;+qg12@b@G|v_aLMzdA@W0o9!IRy))D-d9EMmO(2t9}g0bX70iP^1vn-mh4gi{qV_6hss|dD+(4^1*1u~8| zruKuzRc;OhY2Ct5Pj9W54e-r0Z93V!l1QgJG@K<=EDm@)Is5jTwo9Ms<_UkvjlN3V(ISpkwruG=DqYBO1-KIs@{`{X6Qa^FJ%Gp z+iJ{iQwT|oZw>JPbh9BKlY9S;$v7J#0Q8@By2`c9R#fg+J5OvuTmP*z=%mtr5EFYG zF^9@nWE22)IE!c($;$@aanP1Y-e88P1|F107SafdUJ@*xJ-Ti)v0cy-HB$MD**_U| zO4%iAZPCvr8!TsP83%0o$J^$&W=IKWS_eKmd;!C`D+k@b}sq1kB11TsKd*im1N zpmGn6Han9j1e~p6@<6OLS?7Be|K+60^Xzz4j8WGVN8wdHO?m!$D#ydgYsxz$?%W4>n*K z0-m~0pIk1tor_Tr8VUkA!M6j(=S1i(v1>v&{*d)Yw;oCuo?0cAgOTSC=^XW$wAOhd zHSG)KrkiyXY_L;H5#1?XHqGbgg39>L1+ej`XO^Mei>k7Jxi|}*YAf#po{fQdDU=t9 z{X*9QBTudqqe=81ezmKMcs(W68(_bmqTzlb!*BysYGw}?>zGJE5V9c7Va={B!lLkucyF9C;otx%ysP zuO-|XVA0r(#t&^m8jbY@C4&&%eMJE_id_yAJO1qxg5Dze>v1VXDBeA%Dh{SI;}O zZU?;=5mZ*QSyC*e6k^d6w*{zK0%{}+REYIm=x}DqXWh&jMk)=EgWG64Ui=aI$b6;7 z78>nJsfIS)QkgzwwYnlw^UXa_n;?K{4Nr4pq>$ge_H?q3zAwu>cH5HWoXLqu57F$E zzqX$MOGU&(mOj<2ZnS4DD#I#bx|1U%+TB>}k9TF)QBKYf-9`57d!9Z{-{~u;fUXz+Fa>pC} zS{IeN5^MY-)8r_n;?21UR>29C18>F9H$?l>3!cu$*6 z2sjH1X=-xqprX-12PYH)`D~U2D2~oznxyV+JSZgaAXg~v^BY3*jqzjUzy;*RM_TrlyiE(4Py5=wm{PuyH ze?wO)1s??@vxMN#)qrbghri+N=xdlA&P-cwwLPx}=LiazEo~|1yS&I737PnI#Lq({ z(4BPAgYwO!ozif8t&8ypSUHbREJY>m$R=B7S(}WVIpz$wC_g6Up}2JivFR+GX&Psk ze{Hvkx;hYuM_3PfddRKs7kVwtHob@dd>vXw(dc0WkoE=OR(d~4`*#18FKnZ19-#xN z8^zr2moa3Ihf2s{g603*q0GRrSIvZi7}#Sy@OUmx7ZbD1CgBqn?_{LVV&S@cn+xC0~f{P z;Ca`K>QdhuQJB-6ST$c!_)j%p?EuW3@-jh&(!k@Oh`8+Xmq~qv`dgs&1TB7}^L?Sn z^P5+_VJM5YV|S=D*%gg8O3y!jUG(`5?>CrR~@gD+;s9GV3~8UqnwAJ{zB9mvb}a**+s~~`ruT3iKcPSW zhXmNNs-9x%m83*V`H#Nm}Nod{Q_cxXr zZD$Rr-qLq!n|tQNRRu^|BtLn+3$L}L+n50U-Ts`PU*!VT*|XN14?v6UKbcL@J}LMp z)b;((s#py$M)%Uis$7?UVv?Et7!`GOfb)t+2GF^MW&)4NS+}fxEm1Lg|Sg4Y18FI zt;YG41Ap^KJN&_Jb!nUdzAMq!sj3{gL!YoC-|)|<3Txo#(WEp7t81OFnsweHL&K_< zKmC6OIn>E*iQ1stkQQdPRNYat_IDD_bB#Yt$|6V&>haa^ffSW6!md&t%V{!Ko(GNc zH6LEXl0ozEuAXe>2|UfdtME)1@xX zDXs2Try{zeJ6}JC?QA7a=wK)DotCRw(x<4)uaLlrVTK*mzkn089!@9H-KTul8>TUT z;btXCP4vEVfOPxB`{$S%W8#vAra2?$FhFL0aC2phUe31L>U=m63yGofPRv#}2!Kfx zL-wYbW@vQLK^~}wO6X1wAfGGtzmY`jn>80ts$s^O*zioOe)u~=yCiU^cNrVuKd!W3 zQEzn)bzu$JTC|4Y+;m-mDeWTl%peq~6S3)0fjJrlI?KldY~NC61wguFs``J@-K%4| z{HIe8HTOuSJ^U}nka+;(3zzt8Ozt*0c)>$bpz&3(=O@t`)_mNhQ96)kVUf zHl`M+{ld7QH@p`w-=T)UUA#cc$eQV{sDC45qEp`>RpC8WB~2@VwB-MD`2J^Zy<`uY z@x-g-?w1e3HvqrWELN5G;$qE->nR>+%1*qIk|RL>bJ_Ya2Q60_m2)LVcDQ4%>4^kV zzkP_w3yiVEs*@oO0JV&@F)R6#Q1p=DW>R!NkSZZ^*pF~q20*f%yD34zQ>`ZUf4DlR zJhF-t>{jz-F|v>S_->HJ{#;hz2sC~yxB~fxTX-cwg$pbx?aSp9mRPcFiS(bUlb7N3 zWYwukn{bA}2pE?6>9s04wsZUC6o{N)n%bN+T46TweLVyABbjYHpHcCT33LLZmW6HM}ZTaV->-nmtLq%w?2KgMCWty%8 z1r3cFPKQPTW1te~(PA~uGcFY_&fDwz2JP-~o62~Fcz%tGP2nJhcSPURC8I>*))Odc z!f?kkG?ry7g+T^tiV5QXY5M3nkZ-Dp^7nb{;u_PESWV)m3YfiTz;x`1v5l$iUrHxgg1_7 zUD|tn939gq_QT3I#%an?*wB%8=<}rq%{8`1omJ;}{H;gfUyqzI-IXko4n3bR?sD`R zONMS$KBz`Tm>WJ)PmTlDBRj}=MCzvv!jLcT6r*1W@kmD>(12x52Epv8S>T;*P|8t{ zP*0V$MIjDktN^tt&t=eGXpH-_j5!nr9fReTNZFY#L&0lUY>XKmqWWp8`1h1u!&NIX z!uykIBzaXHIEejeIS}>l?zqqX_DR6F*6G!3RZ#(m2#r=C+v8pL7w5_fvD&-nZ7uqv z-<$SH7x9e2+woWpyBk#~dq1Jm@0?Y2yY)T;XKJ5O7z&Kesx=aWLUQ@Yf>S%zyRlZn z)Ny`}kzsg(f!zBQSX!8?^NvE^^7(mJ*Z-LnhKscomIgsEH=;X<<*h@WXpOX>I7xM6 z!(RB0WvP4ONBVRJV}X4U(Xa`nu1k@nr$qLYD~dchB^AEl1HEPBgZfdymDdZR4azJyY-jV_q$)l z9s@?H_cNpY6jz$v^?}*Qra8sds!d0hQ$CHeDtjWi8)BfO1nuJPQM^&xo#+#a`q$lS zMNb^LL33~wYNE}rMO98(Olw>XiENTym+=jNBb67USkSMJM#B~uMTIC|Rs)?u+AkM! zAw&Q+=_6P1@Ij0R_$Q~3w{F@GT@V% z>@gqb+I%L1Ap8Vik3m&|sRCN}ee@qX1p4~)7kE={l9CnZYef)Walm|e1}D+p#{e^N zaip3-36SIDqWLkQL45Zct)g{V*WL~%7#On7(I{o^^aC=8R<kI3>6p&y4)|~m`Y&+aDS0_c$+w$iXSCAQCcM(-=&7SIy5#Vj zRr1r6()PXd+W!8vnEkL(d63-lj#EfXp=CwTmi^^HCYtO{CA2RXMJ8I z{swm5qdzywf!^$%qrry05iqH&48KQJG#Qn3klYhIQF{V&^b9bOAbuOqZ4vsqT+_7+X5Cv0FDc&Aj2^__% zFDjIG^g+mP%+Y}QJ<=zXVl8~b-7AN~GBGe!AVXJBh~urtL!k;AulT4o3ZrdzYTnC? zLqK%0nREQ=9B4mUqbyo+l6nrMFAS!yT!hf0gCw%h1t_k+F_Vs_d_t0+%!il8$FoNv zV;!O!M9lQso;35ERHu%(E%QMxdq$QE^vvP6WXzQ8_L5S4KS8_rNhO~;5$h&I6g-~r zm6CYNn{$e|oi)UdyLdzvOyteD=z$M`)kSIC7g&zFANQbVHA5w9je&x7QIFp)_L@{h z^G$8L=X?1bJjhYOt%3!z*rC;!E@ayp)+ON;FNGaMf;iuF*61uZ3oy@lUF|0Lg{6U; z{PAM2nYoW#5->ZwNqQlYXj%X zt%zMKhw+j+>MeMpr&s?UMez(Q{qfeaz4|5(NCtr0#g@!u6h=S7<5*Ek|#eXrNPwTg5?pbCUQ!6P;Y6v!_mrES z#IdM$tlC=^ghUw7(`{kOVykO(myPqxV zcV7i;Gd$u4d5lwHpTbRytUZHk zz1df^T&N)oqVn@ov$&APKj_nXoHsjcF!tv|Fp?BEPj) zg~%S&da?ax`kb;Hqv$0}qTT`g?FGTBXgdw_eldMI8h1La<^9O9vKRh1eyTK$tV1zM zq6USH#-YV#JE+~&nG{vqT68woz;pC7BAbbG$GK}w3v3KGx%wlNafICNKS0&xCv7bP zG9T=(TSTSwVH;sW|K#;Yx2v9woqj<@8YhZNkc3KdCZ3ZC-6l*@j1XvFtKksvB3cM? zt-3-La~_e_F{%~s4oz#@hdM>voAFHkFOKfGPmT5rBo4Q18R~NG-{Uj=*qku$#|!1c zCpN;k-y7G<$WhpaK4L?I*c@1%@V*?9y0rAU!7iwCXiE%_CyHcVE-m?uN65h?Nld6L zxw-v6=rzA+pZ5BP2A#fb&9AKu5BX!Ksi7oDf@kmN&7u06g>EX2)Qlh_Bp-5;_)11+ zv83I&2|l9y5^2X6?YBSRv_*X@(2!FXgEx{b+OnI+i16VTZl1E_=Tcty!qW}Ef9~&k zZ`*4=FGfmPmfS*s>M9Cbl)?tlMI`xn|6FqUZ2=>b@}}-$-sLDf`XTIk1@atc3dzD> z*YNvrg%`-5PUC@5{(vM$uh$KR&R;W$Vwd}^d;QEayTaiyy!bnqd~~0rwC&_EosJHa zjU?@eLFtK08bk7Tg)KEEU2>HPNW&pmy%JNR<=)3Ajc&+7Ikc{=V}-&;505|eMpxJs z{O}5{RJZ2L)iL(*;X1wvyXS?~iZv%@j4vtrxxb<)Y_ZjU*3vsbUoY&*XM5=osBoIp zFo-B0jBj`e^^1qT%GZ?;ZpIXDRb3^`p`(9{n%5dBUX^IIKcjvNFC)fU zy|dY}kd=8G#cDqS+(!a85BK=TJxLfqS~Oa?m>=%$qO`Qy8IXKUVg1Ez0N-!jD5$*| zq>`?<8yt!z|JwOp8>>Pow*RlqTb4OLr@6BMK%aT$o8Q#;?l%G(9BjK4;_F{=Ms-}Z zel$p6OGuU#XDGNF6s7IXX;+k^S7xDUA=V6VO45)u=~s$6=N#wTLb`0w#|%^!Yf;(d zQhHLq@vUX8#vLJ&O@fAg7`1Sqcfy3-ZuJsc%waBCLcaw$uwNsqOt^_m$G9)-X_$ z=I0H{$E)_n?Z&c{xAa2DoN~-W?EA$o#%M&+P%RIl1S9n}^Nf5WT0|G+Zkf!gmOsai z17!h+Yf5j3lLKe+**zTKmV5B z258W>F}GF8U&vW%>(t{Y5dH9Ka!ABMKeAoS37YUB+Blxd8rMm81f{81B?xpktM08x zL6}EhlV2k_U=WPGH^G2Y!SF27vA`on>a*M99!Cu#DN`_!FNQK>;LQe0!N08tM?L%h z1|_}*YX5B@q0~jBGHSO$=C!2lYgK1O*M-lwoI`X(Ly**FUVhuJ$8NaM&j^?9*fUV3 zjRc&^VO=$SMh{^4P?oEc;7w6}YsO&0hOlpIC8d~jr`&rs`3E>!b5e0^|K6c(%At>o zjBICjr|nex`-P}&*(Dm)(YB9&H5MCVNUbC#;Xqvb7up~4~hK>U+^R(Vl=V?pYjiHXLPq*(T@ zgXbS-MfL1`xG%#0{B#)DE}$1L9gX6d;n0jv3w^4bYjo&_Pnk0yl%`2pfyMrvN~)Kv z3+ZF+%h~7TIdd`L8M?Ie=Q`k?KNu(cZRbd!gWjR(f6!n1U)cHw7AD7{+KTcc5puVH z%zRVn-{ z<{Y4Ms+KARxJUsVTVa~YrW`Tu(c54#MT}Q8Gkd*PP6Sit2#0Z1jhDN<+C2S@=gZlj zh73LIQn2XXrBDXuJR+&b^>CFV&$2~-*oDP}OUaXI8PaBvko{?LSl)#&qNReL)K5Is zSo+m+9-ACL8mO5pU)1#S8#K@2RgUbVEY-fg4sub|s#~mnbv#dLgC?2WhI>MVc>u`PWCz|q&F~LG3izKNIl*w(;vCMr` z$oep{uidh?Y*d!?((AFNtM99*_iK_fcOqObU$`*VD|H1GE;v-{c z`jh!Fl9tL-@>!ZObsF;-JA-pzxs^MGIMoB0V$qN>eg;{-QSWUk;~-`nw-_Ih&PY#R zxrZX034;6Y{xWgpU2SaRBuK)n2SC_VGexf`tGOV_t+J(xODf0Er-!1f8w{IF9hpsy zV0lT7^yPyQUQ8XfW@W(e5tUTcq8?=npKBmm>3QxZ`1$)@8Ccc<>GGwqCu=hW^{3tj;D9~YW(o2rT$&{)s<-c zRWKKwWHe7{KtHPJN;XUgBu|#rG&?sLHV4M2&|711UsL@WE^cH-97NB_p5&BN-_)!N zg+op6i>H}ZxmWlRGPGCxR(?SmkS$;^TqLDqP69FOOMq283M75fA87Y$^hrA>pT%)+ z7NEp*{XR1zXh^x%WPC-G!iaBxi#IAbJ1JUg`d;njDJ2uH*{PgetEqTZT(k4oyuTC! z-%i5Nz}5pYe1FF^bKZ)ODc$1eUc}IX^W-rr;&--3a6VEP(#0rd{k`rHUrIANga*WM zE(n|?@2af|!EbpWjZyi-0^e$grr-a5JK-ZOeR@*exr--i9aZf7Q;cXqqc-ZcZQHhO z+qP}nwr$(Cd$#SKZDY2rz1Gh8)_;4Fv-irm=qDNXV^mc}>aFB0Qz}F>&OedWBN-&i z6_RjvSw1^f*kL&~X|GguMJU4@gvuQu6~3~^WjeV1Nq=9|0Pj)`FUbCRvJGaw)%&I% z8h3se8DidDuMc5HoeATm?38_A?Iq4T1f3c)9i{PpknORKr+~+dYbNgH1cpJe6Op>3 z4~_MIXlwD$iBhA_EA>HyD9`+Jh(a?&A@!xih5G7NG5)S{bxc3-v~+M!uU(LYe8Ozu zMgv2lI_$QL3-G~*CVUP=;b>VKG9|G8N$z62Mg9k?lW_$)c3e;0kB zmf}el4j_WaGnb(xw__B7rc0DX7e`07R<6Y!pOVHS2T<1Em@z3|S}|88m%zUS83ui| zq=fElu|{TidWQ;)fsNJARQe~lyHvE>Y+WHkZc=zFb=sxYLt4S53sU2V(_J^@`f~w6 z>n%RhFzh+@TNU|n7z;qo!Omn~x7Z7<#(^7*(z#PQbzlrschl0k5v`9Zz6Y>YC?Ws; zGERm?Qm5JcQz#>pnjei=gX;K+l8EEjG8bgZB3TSsbjep{>Xn97UT`!Uboh_CuS#P8 zpD$iipuEqrS6QKT7UsXzuEf&^`_b}o=nWA~lyZh!FqkuAjEM(PVG{s!h7W|+D2?uR z*}dWG2QnA)2^?^cLk|+U_r2NWlnVpHNR!2hop6UXQRbk13#`)5gPfcEnq!j6l3B>t(R#zwXcvFHr)nLlNVs-^qXMTfv6!N;v8u=S4O#2PaTJV37iRivIO znbXfX=553cSm={Q@>t_p|Hv5v?Z)T1A$_!;xewJljQ41dhPbrGa7_LP?m|4| zJ+)&3`Ae8nvElHXa#5Vu3w2y7$to8iCha$$4$*FxO`D3)A)}_OKY~tiNSv~guAc7_ z4L!Q%0d%ER70HCnNvcgbc1IOWDDphLVH2zN*gc{Hre~|&UP)en)`EDbzCQ&fc2hoY z+FmQ%BbH-ZA{I;=)wjl64krZ#)Xb+qI3$5|`{kCrBQk%tD|oN!8xC6l9h&RkTA#$~ z<8=ByD|n`j4$0am4(K zR>VjXp4pip^yU_8NA-{rvLXi_lYu-Ynj|Yb=Y1beV|mt z<}44zWih4>hI$3$xQ?HsLwZWQK?YBddX5VH+R`N~gd(Smqw~?xy0~Ej7OvmU8+c>f zSo@Mp7aC?T_$-OvKk@Q@Ms4?422kt8jK^gs|8{X8af}f0pFj{T!N*n>V$i#UN_4Z?MQ0VJSjBHJ6r9AzZ=x#CYIrxheL8c$_Zr|_FO&;(|@VD%W zRzo>trekQP9~Y6!2IDlIQo1d?2aOX1z)tPrslS;DK%5)Vxb&{iDGctA{OaS0Y|h^N zH>oUN1f#8a=`VbjG=M`BnhX1IrbEu0-hkw3r%-7H0K~aq8zGFuv6HlcvS7WZDh={@ z#N#ihE!}B=<#SZ?%M=E%eCWBNpSLXA1QQzT(Zs8Ko23Kn94d%E_1tEbNFGX&i9}xB z=#NSF%)HT_wUEYzvXwovu@(0y)bZTp zG1>0R7A)|i)?%mmM>aydwhi}a43jsf^R3f2h2&u2Z>X2yT0Xc_3Nx>V7f;=QA+V$1 zGPy6!N%a7(I-0G&E(ZR6`k5pjZBBKPGLJpvW5C!B@%aWh0)H!KaTPesnyBvLN96m{ zC5K2ovN3YeRsCtseBoD?3B|4*OM9Z01V&ihu4)SIcp=Pg@5*Cw-0@_ks!mMronDkJ z58`T%FV-D-7IsQ>{^L^5cX)9gO@3}7 zp9@jNb(zjhhdZiZQCT4LmxoG6C6*{+Nk1?DD`>`qAy*H35!@8=i8 zsxXJ*^#_RypVoBAdAFdG?19*OHnhA3?=`l%CzVqysahxDW%Wce+#OSx6?cnJAR$jG zp^DchF6x?oq#usx78#^-mQQISrXO(LTOvi7IQD=?(g9O&z5@0giYMYv7pr{A+=r3( zpUtJ<=WH71SD7F{o9%P`kan*z=JkWA+F6l~m291#_4EvG04BB>5wAYta&5t5gM@-7 z>gAP`B{as-GO3N{+*2p^d8hc!c+NPGU5%5vXHZu zs7e}S?vIzb*@jq%qeDSWDlGNw2N$Nxy!u+uE%-GuWO4hx7B@O4Knker+E>rVw_Qi6 zLopEG?n{n^4sjIEAR#2hk*L@eLHK%u6G1f1rF$=K_*(1$1&Bi*lgMK!1c%uhp={F* zn7O&Hfam3XsZB?%HxOX>P!`>%>jtY^{aU82OAT7l zUhzlb1KKl^S!9WFYjbS>8g9_5pfRv0zhSttp{0WY|HBRdh5c(A3Q3B=a08XtvoxY~ ziHGE6de-iIJgO~I(8vo7x{+W7pZW3->AY{zm(=05>#8dvU{i@@UlZ_sqK;w(cP1oj z=GN0Ip!uG%vt{D^hU1!r1I5%+n8?!G^I>WPcetA@~`h@k}m!7T6qvQQR20iC<>Z2?BG@NM534RuuHGHiV z(+vW<0)yCj{x@htYQpPXp-F}w1!S(Sus_uGXC`6>t_#y}ai}{IyWA>6%?FvnW~TZK zDzOF~5-tdR83{qq=b3>enyJdc(yQ6f>{Q8hY_`#GQ*$?hxSkUg78X_mLB1 zi5aeODoErtjSRP|I|TvKL+mp72!}mZ@QFyRfp6n0P>|9lkpd?5t)l7WpFj%qveZpR zDrpzXR4I>={BcDyCL$l7@v%f7s}=0PB9q$fNXujBIwL9x{}_SE_Gowd4HY;rHL;;(BJx+lLl-$K&dM=f#HK_+-hOg7{^xU^yg(Opv| zLr2XkEl^DyFz*GQTgJ^2A62c6FQ9L@_Zt#b%G=Y(WFZouB)aWIH4y;o!YPvM6H5}o z4nG~cnvekGuKAefixq+oN1DcV5XMSkVh*8+;le9rKL9KUJ0hDQ(tK|km9xW#@OChmW=I)fwfOq0<}aD?-hg0O>2C?t-z2Pi`s2Sr570484d9x~ZE!mamuNI)GLe4!7p?Ohu3>4=}v(ev*5 zj=ooVNtCR&I*Kd%9H+Mg2RO76=m^@sh3WhJYi?J}i>h0rl}!bLzW{Mt$&C^pSlNtCf&6C2$!(H6XkJ7V{{)w4@7c3g6Gx> z%hyxhCy$_p*sYoJk2SrjkP~{YIo(>&Mm`Kd_p$vZm6o|}rs*~2#FeyH`siNsl@CnW zQA_i(t>lpaxU|UTxkC+;XtTf|F;--bW{Yo89v9WqZQHvtaDb`96=ez=jI=;Ix($Au zrE#5|Qz;n;Ne&?;ce}anQi8tITcbw{dYf>W%{`m&{Fc~2x=v4}6eOH^daI^`Me!#2 zC6`1;v(>g*QynSA{55wzQqSUjp}TvfWrLk39P8kE!gI*pe!>CXwD>l5IyYmF&9g?% zcB4(XtCLlDK1r$`mdQjGla(kO>L>0@b(meOUeE%0W!IGSNSl}5v%s>DqEK0)jczYY zXc~-$=cYLAFEmH9fs=hTmj3M4EF{5?{)`rx43^t^4#|d7Ayh7S1k&IF9|WEXCs~Sv z7a1ijjg?^}v1li|B~chD7ZRiRrKxzO0OXacK{%0mIJZ^-Ln;*|cbuQLzw^lXq3*E~ z#oAl41@M~WLh6+WxCFPO#}wxgBVasywT_#-rjk0w7F35_cZxl9!UrbXQcjbfoVfbo z#y<~y5P%SIutSYx29o4SOolF@%zl$v{&OT`s0t24>GfIVBWY)$=@dAx(!@B%vG0h# zINz_p?oE$uw{cjg_-To*&Ml&Wno95@w6k%b;#4U1uz1rJhN)Oiw@EwNZh&*tG79bB zu|+bC`m*hPmGkmd_P$8h+EmIEGV1d2xk@KyRZ^?YI-jHVAqgYDUqTFd?8Zg!Xn3iS zZWBW%O~5#9FSBH*{DB|Ge=k_j!Z6i%K#q3EtnMWu1^`VxZd)BbD0xQ^GM&oQk3OwiBpi(OPoKt>se+;=JcuG_F-4wA zok&bDG(gBY{|?=*^1e#Iws&$fgZjtq$U*u|0v66uOeZ$@VPkTYBZodSP{LX?c5sr? z;!DURcG0JrqgyBUQoK3_g4U+Vam!0<* z!SszZ*KK9l&AQ$j>37L{v6n+WlD!3qJptjKq<>h2Z4aaxyo{oT>R^=P>zv&Pv?GW}`@SCY$>NNJ=0657|wX00pq@OoCF~+AHAz z>N($7DW>!Gu(7ngoZS4?pVjrJN6o=*s|E~jU!)wfkU@#%u%7DRRxa2N4GGn;73hPy z`;o*j>rf$@SKdxU z)FW;D6?VpqkMedWgb0>U!tUWC7%@~mCB{%^r^ri>!|6ELgH5mNvX;5~}^2Z6ee0+;8c)9RG5n&6~UgxoQcJI0oFGio{0714DFeWZJRhG6H!-tbiX2 zjt@i}ua1WXqX(+R21~%d4RYc?y0SEqu{)WOSK}}p&-@X)-b6tAHmsvRe4G?SeF}2o zV3Ow<2`1_gR0-d4fpvlnz4Xa&HUz|KRrpd9u4v5t7W6((qTl03GkdSauxtuK+csCB zVT5SfkLB(!H$H?N;8Qa8VP*Z)iS-4qxg8)eAje#*rAvPSQ@;W^3{0VcAd{>Vq*bzU zskNZ+?AcF(%PkvN~yfoQC@0GRG8p`#K`jw z>9Uq<_+!HK9%(^;3*C6F4ig`RFLeG#DBo^?9|#!|Y>VrKBQF#e5*GvHl5N#TXx)yT z0Xc!vG1g@Yo;8)EZ zu;9MP%HpARAaWy5uZ)7mIC_a2>QfJro1d=7ZYgb@o|(*0n@KsLHF{ybokRH>6~A!^ zrLof4<^vRDj;;k^0H{#BgLIxHfjA%ysF&jz)bRrb4y-UzeypwtIa!NVdSRawiwO2V z9@04BuIx}YCD|#A}EacLo}DvX{|n)+cW*X&!ik3DlSsgvcd&5sDMPm{&?C)ZHW2?H-2{ zC>wWdUb7V^5g-(73Iktz>HuwsLAtu>w1GC?HM95b%)J3{aM8xDPzf#F2$%RV^c1KN z(m~F<&`wFasgJ|1TU%H?J^@s?AQ}j0uv#c+FYx$*u3ZK?w7lNIjq?tv)sn+n`YDgT zE8rsn#tc@BTR1kK3S*4?P3v5^OgS2gZ%p}(k{BH^T~5ewE$1??U7_y*&2^~zQ|yV} ze@o+YAK-0jCw>f!ug(@%5|d#LOcG6hg!sVzdB*g3B-}XQn^;vpbaLH=V9U@1J+^hQ zPM&xrN8+>OQKZok|A5;kfmyH~PKAa6a>Q?S!maAb?x#HrA|?zpCZH{SLNuM!KJ}F*_(6i4Pe& zOV#LCZjS@OjA#93KKR1U>;j8^-}VLbWkwL{IMvt#1Yk(6cc@k-fBIzw z-}x=-fSwybO|o3Cw*SqE9acq?i^yQiC9Q)5i#7C~oWUr;5#n|jnsT)Ir#XE>ervJn zWR7O?HWFs7(NwFmp_Y5Uo%u7LMDU6kigNnXMiWOCKS1t2=1&FR2A#DYTHRAR55F}a zW8@F{KjqbZWh7L@x9pF7Kw2uG4uAFf`-PifCJQ~isCP@hA%a`InXJhcU0wGAGWpYv zRnjv9_n)fEOg21cf^tDFW3{UzuAdeDot!UU?A)_jIdd|-pfDsEbKqRclzw~&jk`Z! zKK%H;0aw0FB8Aeb5UaK_JA0iZcL~@->5eR_D>SOAK5Ya?XU5{xK2C%{e7??`2?}3O zXp0Bo5kqOZKOQ}Ei-n>F%^%$W`3chO4iz(NmIL`yW$f9aVO7Jz`X8PMgG^*?p=SHe z_LIdtF*j52XZjU0LQ`Wy!${Uy?KNlD)x#aI?Ff2HQzcGw_>AjMB-}A+hqv}5DL}@- z9{sI5Yf4MLWVh+6aNgmuac86Z=e-N$!n3c7BGAt_K?D%(n2*e3NgbQRm`A`%@Sf#D-MlgkG zpZBw~#q-V%jQ=*}#5tR(hwa2lrIFxgAPRn#go8Zs za>mzM;H>>>%TGM_B>H(r|#D*L8W#(EF7?3%3gy!Tu3Shmv^x$R8$q#zaX2=Pr*n~Z9Zff&$ZH;yW zLBBd&rVY3+_~BOO$O2=^U2l#nyhc-oQsmyotQGunGr?<4+eWrlQAOI78a_7yGFs@5 zOno~77L;&9l|<3`#qQ3bEx*O%>FsMohBq8@jl;7=`+*rE7Ax+)iJ>i=`#zYQSp*=^ z9?wy_gfDG-{$CDVG~uvA9?u41uISDyM61ETfLmaCVeT7Dej1`KHk1{=ijwCV!3}vE z`+g;26zq%RY!DoTN*XqWb{-fvmVfdjN;fc{)XiY)evXz|w`XsdRgs&`IV^EX=C9I91 zT3ReMI^b-D(#(|})cSx3EfFf5KX3U~#yYbe1+*n+h*xofObbx&^5O7D-3xsGNN!7J zIDk{m(TC1a(Y5rD5Oq>5#OB&GkL==m#*YB|E8g%#8_1*_A7mMiM|*VO^qVCVZZS4q!%?8`b)#2{Y76OWyTv z)jK&V8B2rzTW(R)^qf*{%mBhxrNQ>az<9!GAvWvD`ReTJ378!d%yXebG{oOr?*t;9 z$qR1_(v4n*_8`#b6v$DpgGaQuH{>_8=B3L}9pyz)TZ|S>XI%{8HjVp_ z-+tM1IvpXq0(K#7${|-#OgD{>m9;WsE)35ZjRM<{~y@I zj=qJ{QVyMoDtqvwi+v-y-s5s|J<&09+p$8f5_CP+6m@wO%!!|;p)2&S1I-Xq zx?etq*uD@*p=e*XdJ;_4&@)-%P8~E2^n+;!CJh;#`Z?@pT}7BomVW_o(oBQJ+xseuc;?&m*pwtyw9r?rj+a1eUJ0U>7gG(%-J2MF;XtOOJ% z)3jTf#uv;oQ(NkPWTT%&Nf~(^eRTeNNwR*8tnXL`t1tGZ9t(jpfj!+DHP4HFq5U)K z9&VoRV@0}UyY@GHL_GLg_5Kh@0tdcUl1+kVD8eL-lZ8A)8In;EI8Xj~N8XLv)5q(z z!&!1_bnyqP=!pgupzDIJ#m2@AUJp~_TKPYo**Bfs6lD)XXnzBk(afE(A;}5uRmNYx zt|dNk4DiNva4g(wRoZ<3&TbYh?d*rKKR$6P0ijHQwE^|feaQ9Lol~0zuBeT2!HBIm zj8A&cPu%Kc;_-zRH+i^hq%2Nc?t-<2?uC35X_CXnsMqB^WVcWK?pWy4Hag$4@l+x4 z6hDmFomX8ZDUiH{qnMpReLJc1o}{(E%J<&24Ef!)4kZO+MDS4aVD-L&o$KrLqPt0k z_=X5l7BYxCDY$oH7p$Guo&VqjOQ5|3?AS~4WyoGKm&@%v(NKy?-wOVW{Wvvms`L;u zxdBRJHbRxgizhjqs0Qb`jyTs6x$wVV)BHd;1m(>1!1R?T^*4b8(y8Kyle7e^a^_chrvo zhrfabTjS%5rU4@whvsJ;>bXXoTD=WR!t2Xx3^)Lqqm^-Q8+Ci6ui=W(sdOU5x+B^~(QxQ8$W@%<{~ZelVj@*J=Fy z1%WiPiR~W41wqw<1zwb*Yq$)qun~ewts#%O|QCIVJTKf znDy}M5S}cHjnc}PZgy0Im{s%P;Kyj~iPJGeyQ^8azicM+`0Cvy1-|$U4%~E#hIM<9 z34`d8SX9_yA$^VF8>AMbMd)jeX89`d`-E+sa?`S|YFdM}A;Xj(_-uwfDN+Phg4MBk&XBG^!n%m! zj~cShgl~YW%0t;;10RKu%(yznVL8luaAY*b&XTAW-fG5@J=K*nSoIqwP)|jca?QRb zaUlQmGV5!jS`Jmj`+?1rxRy3De@~!bCmr!B6}i>=>WWk#^2|Bff30KVA*N>g5m{H4 z>@VMg<+*&LHU8DgCv_mInvE$vAa&hI)wbZJNY zq$n_ac-q)&>jj+mWn_RsanYpE@QGzqGe49Y{tkXG-ovSngB(8njl73^sHkx#tQAEu z3{FuyowE6gMY~eYCXY)@u4E%rv_X%)=GAmI;+j;-n;lxn+^1h&?o>ucX8-jPMzr)p zs%-fe?+W<20`x*+nGxeVUs4teP9aL)z~O(GKwtB}J>x{|>)saq^Us4IG@){@V<$hw zJ^FW=;ClzX$%!8o*-Z{;p%RDnTwrwy1sar@!&np{O|w`Z9Kx_$dWZjp11!v&B2}Ck zmgjiG`n}-kuMt2hhkQLTp^(#3Y-Y%dsYViwKlo+Ejc82a`Nv0H+&%G8AG-sj64&%6 z3+wXXcil~JI*%ZwYM}wBef_mv2pffLqu;0MnyrHhP&`U;1WPxaaU0(e|{# z^f>FR&~$+br=xXEm5_M8S5?46?TQf(PGE2h_w=@t-c6pFsD|hpd`{&(*n}E)>WjrK zMdI(6$**K~B?S9OS4I39=u%1B%^zC5Lb0cxwv>M{VgeTN zvI{ffY^Bl%NeCsdY9k%6VX-%{Z;40iWEO@b$H}^>NP@2E*iTsbzO9KCGB;KTF$6SF z+hcxL%qEyrXFf{Lx&C@434dHI#q317+@WCQqlm7JVI ztaHPVKxWxV-tyA-hZ@7=U(;iD!9js1BGn)A8Q_!73*Ctbhbvvt=4&Bk!MJ>4EZCh@ zT>eYVMg|lt#np^4Pc~v_^xw?9Nwr9jtA=s=eng zKf%I0%;0UJ*b4n#Ak{JDcFCd!Z${`t0wofoDK*YHZs z?aI|Sh4h>$;vtY&6IJmZ8i-)F^yHqf!H({kN==2w9E`c-*_B{;xVmAl43nb5@V3s^ z=`z7lD4B?EJB{hAt;^5$bR7V+bMo~+J42XJbxGQl2kr5{JgNJcgACk(`2~jHr=9PO&J6SndUzz!7<(RL8_$;Fhs|Nd;wLIbVMzkZvZBhHNaBb z_BA?>CYQGYy~sPhnjf%SQp8Cp^Ze8GQ2x2(mUwL^r5g)wB=fDq&jyvZNkO>6cZVSX zx5e&P<<{r(_UE);)gGnC+b1lueRPWtjkgPuJ2zq0UA7Z^9=}k>A*uJO8W`qRsB zG9NxE>vc>SU8=RC*U+e-7JQ{1Gc%r8LSj1)$lyZZZk$yTNj_b9OIhYkwcGXJ`;nM|ExuBh&ykaAB9SME_Bu)n0ZJ$q znN~LD#Z{mT=^P~OP@+jDvw{RAD@Jy{Qh5KTmvKqN?#(@ScC{%o$g6`1*`!K`<9dsm{tAi{U! zWHbjwB1seDc&Hz1V)%KGmvEKKK#vW!-ewiy4WD-76S7_K#oN1Okt1`VxcKX365q>T zS1PZKfUTDFR_ZYYUN#lSnHdpnlYYM0PB-BuF0BdYk}zVcuaN<@pqWd)`=?R zsjqE^7B|xHP7nd+MgL^9W{UqzM{7h;v;`M(wp6qL^>pQ#$~jFJyUXn`K2><=O+lB- z&IxN4raoMj6-a{V#6`NJa1gPGwr(*!&8c#%n3!Jf@HII=4X^dHP?Y^JyfU@>`;zE^ z^PL*Fa%yF0#qBN-MGbr0*;7P*Sg;4(BasBFtq(5~ zpX4Hvr{Hr6lDikB2?fO{mPIveDe(hGc>D;y;H50pDu&KFVFZcohGp+|xSqYfRpCga zo=XX9=`i>2C=GjnRd>s91v>HKax0P630yoDl*YUxwv`LukOU zlzo|ClZ2pi7}e|9$ldnLK#C;k!?3#+w%-c%DbtcsP%8}vFUoU}2LKwdp>5wj&($N$ z=oyt)RMm4(8Ei7spI@C!DU$9Ges7#z)Bmqn+1HkzhbMiV6#*dp(>JDAFjR&!!q)6+ zilNshaky4(TrV=ub^g>v0B^JkzaA6&CN&40ef6;Ls>w(f`h#`Xt9q}pHs2xTwVTDo z+;X(pB`r?pFB#$-Td!69N1C3ln7m&*c!kI{4#!51ba#<)h&=KU><@B(^fo%Dx}=0T zs!&KqPBurI-PpK&GG^M(w*pKRFu3Jai=* zQk=1-cG3lL!YFZ;4D|{nPBtbM+I)lSrla@*s(_iiHkjKNi!HH!Q|M$2{>--VUK2a- zdhN}x(JW}S6tP{1b#Uz07c%_9+Oc%S#$b=*+KMW-Y_`NM3ep@3E9W6~F(8dzb9&X7 z=>Z|~t`6o5n`ft-VT4hF>-9jhryQ~UVjIqLx$?w3_vxjFO>l*qDWDItMXT9IRRLhFNKooM&b~>@qS`*7ruuw@~JeeKhMAcAQ?M4Fw znLuKokvbsR3GO4vclH*OG@FqR;m**bX9VI(fSUw^YbxS`3DgTyh%w_ z0`MU7N^^O{QaZ@KUAikcTv&m`YS2p5F=}ZwbK) z=F?m7JKKU@*!X+b9tc<^ZB*bkPb;Ez$3M*_x|d z6}X3g;8NNkoLoRyPpmPmIZf8Q?~2Srk9oZIvmh&&MQ#4d+UfE{TU#C7$eO9%$8-MO zp4FOu|KQE1Wy%Cb0)?5;#p*pr;7>Qst9ke&nHaSH^aEO-m=3|6;_lwsRj(2fzKc?W z1*PkTb~;SknUtRI^7`2UCZpbGB9S`8d1^232V9~>tG0tJ#_JpQGtTJc`A|Js@yo~g zA&poibvj2-rYS)^uz&-#69D89O^$h}HnF1>mUsRn_CUc)!mL+C!?UGm5mqb~hg8AM z-e5Oo+qNdJUc45oGc?iJ6GGzdEITWszvbrjx8K6ntVLXr6i`J!zizWm0^<NW*!?q`@@P!zbC;@Enl5z2*)(a=H=W?xtb@>M47UBdp3iz8yC|wVsdCYCByZod; zUCTV#O44#3HCvCQ--9aEe*rQH$y`T1SEct!6n?{oqIk1k;p-%zPxBtp#1QChW%hX1!*5Icgz08=TXj?;DH#f^9$ zF}iUaGt`Ae%Ljg_m;0koMry>>`S}1<)v!{+1{P*Yn*07P5qenBcPC&m6E8ikNO`#D zaEk56G~6mb%5EsKq z6Hb*NNy2ptt!>cAh)9vm-Av0QztuHxKTCnrd85i9HB2Ot#A7Q-PbEy;p=?>)*?e5l z6nIs4!pP%1dll*U$RKym2Y@9hd z0U`F-tbA>7k(@p@bEPr1u<*IaI_6Zo{76LU7PK$lirL|ObUS)cnY#*`KRw9s!;&;D z#l!)IzS*AIL7TNSH^s$%n|GHcqKV1r1l`Fr1763j{Tqyq?N) zQk87+se2ypg|wWf-LiqtQg&sr=G-UYQz2X1Gq)0+5b_N3ko15N#GZ48$by>wX(rZA z)(zjHKU$}GZx17s!*C>j(=VtlC=%o8g-HJ`hm0dn69XA!Y9p#*d|ea=mcmulxoLZy zA$EFn>%4?F)_|ug_Rm#tN6E|tatefB=G9ZdRnA;n)T0ySGGMK8_QMJj{~p*0G)CI5 zc_PR!o zYId{$BF(>(%Rp=uEX7Q3E@2rlCyHvUKkwL5IbpEoE#9vI1rPY9M1lDCfe_EzueIY) z5As~f&<^t~$f%4Z4ODFMo+y2t84A8aw%0JF|3KoLIj1^8O4X)2XovzzV6h3Kj85jL zDczjq#k;##W2G4!tsoJGd<6`Cnu_9C5|r1rHgdzrEb&zRgZsG~Godb@8Z+miQ- z+4$4x6;Jy-C0B$BmZOnWqja}JyIevGSssG<^XKE%rA_W@AAc3XXzq+L2jQgNDEh_> zgbMh}CKugO#R+0Oq+mCXu;B=}p0&@vn&u4X%M*saHfx;HM4*9&N|Br~lf8wd92t21 z!w)v|Ou^~jw*7EbW=nTv<$)PA;>dSBLTMB$&?j;IOSJbheL=N(e?2$u8dbB`QkE-Z zxZ!>e{j44@i?g`7KckL^E^xM;RUunAmde*@cn&Azf>B9|0c#Ag0bubyGZh{%M@6O~ zki1r!v{WnA+JtPOzm0u+hNa~nX(?bRLfXR^EQ4L| zf^T~ZC)ko*_$46uCuCzoWf=TX?E0XiORR4`Y)zKyVs-~ zU)0w&eK*uD)af7&nSuUPDS|b zr&m)n|MWQx*{cPO9>#gmp#u?KzmgDbywMr04Rz1On~9Y#%T63Ci;m%g%N)fnDUbu* zBDFSR9)ZAv-P^-CC(Mc43?sRXMUPF%OP9l6DdhdX3at_S^W(dB-cJQute${yF5WlX zG?+B;x4JGbbaPN85+PnO9{?r(eyNO0^8{kdldt*tYzZtntRe+w^TFO@<0&!7X{aEk z*R2JU)mA4RQ7xCDKZ(ccd7Ht)d0yS|QqL$X7^8x9VWF(Mp+nUyMi|%NUU_9XMzRNL zQ3kE^kv~UtW<>5=U4CP&snet^cNgqeGP;ck*Uf;8$xsH`HOSynL+UovUtZFHq#}VT zAOwOd`69#~8n4M598h|tWIgb@D83~;4CcodSJ^@~0o5Pte=(GBrnH=NXkyKc%ftbT zxNJ4jM1k>`z^Z@g9O9krnBV#a0HE}mYPg{#06?`uKE9MI#X&|gYfZmf;c1ZS4puG5o2`dMb8$cS>V-jD4JTfUA z5IOn7l2z(PHw*_7$c%$sPy0~HK8P6Kg+fildb!_sTogr|jFYO26wWk4;r}?Ahgbc+ zM80Z+W7D1l(TT4Gy(Fd<;Dw0qiO#a1@pgMpTkqeJ7%{LwG&)P3XR0hFx-WE2+5}$g%@gy3I?bt;)`p@y1+b zCZk#7)+&bp`02*C=yE0}yyBLMq~6pQ=yZHaTkPcfLUk3e*}y-G@gXA?*iQS0K3rW$ ze|)2_!>`*pdu2_AEQgroZlxe^#OK%mK%}~PFgd6xP+Q=uw$c=pK&pYo2-qTFz0Mdy zLhKS0=1e$1WkUSIJ>4u*4}#bEpcS2hdqOCEB7$g*(<+Vo-kzxN_JKIl#8cazL-&ZF9e3=7tZsw`m7%P>nz`Yjr=%Se5d2>N88vExP z$YG02RfT(>`$@Mb1Hm&ZM8;iK?HUOO00B%N7aG4PNo7)M#&1=rr!458=k!Wl`>ny( zn|whB`&>_i1>A#19&iij)1>uBFtnF>-+X`Z72c*Bz}&`m^xE^y%h^mat-CRaa6o_L z?zWb#YWWe`ixH5i-G>cW$==3X>;7Q7q~%16?Qd_7xOoO=D<}+&_RAli{(5bJy+~YJ zDmhKblv~Sw)NvxAi1V_kYMoAeW3nO7FIF$MSb zYvomIh(#eds`0?DO}aCaVErkS8F+7m7KjwabKLe?7wt^w2ZZ<&s$uMTA4L+-j#$v% z_!Y6=dkMKXa+2S|YxL*w>WlExrf4eCA^6XjJUf>PdH&4$hlbIEPZ-n}Va)Z<}fponB#|2`)DHe%Db zk1{KfwtT?`Qx;}??w8Jr<5MQnF&>nuhyKXl{oy_4K*Cnij#QJo3otna-FBhpTUkLhFippC+BVL4qH;PQQ z<$aKNZ70{-$Ri3{H!HT~{mvF?JhCos*oShd~NCIr4{7tRe8yq~K zrQ?5wHPn<`m<22{db;RRWCsd+{aAEwGAb z|4s0owf2e&0nBN(C)-tJmzg(i1a`q zG4&)qFUwt7Fb!UrYeSpgp&05WtvJbeyCriXEX4C3lQeq_IbvQDChVSgFETi3l+Azw z0|)F;daigC5&ofh#YEfB6`tex@x9t|Hd)o=pFea1LG}e=J2&RhGk_f8XnQ>E(eX7B zpK~tUnvW=C&1%0+qK*32)~#UYeg)=j(=J|JO>~?n*(m6VD#)n@HlC4Y_5K0956R6# zb)eZRk1PU2;r)>#%EhKhBC{9BO^a7@?cJX+vKk&Y+D8d?2evuC9*y{%C2|+OPP2|+_O?2iRw4V zfp)YB5&>}YvxlOJMrd8kKxII@6{MsTF$c&10_MC5P4SXAeR_~uZ%DO<6+KmVZ~k!! z8opjFFX0zX%DiLxSdF<=0{0-q<|e%Jz-)ohkMP+MjOiScSQZf^FmdCwUF&us>_n^^ zYveU~e(t;t=Sk-zpt*YC>Htgx)Sa{(0ClVUK(i8=LfC)Vj*o zS8Z<}W9(guWpOjG%i1&g3$xumZ&;2cN9NiuB3!wE`G>tyF|wkVuNG_9?W)BW7fW$Q zk)(N4vi$n_En|zG9C_=$-_;{$|4(+ zxoBZMyhE~39j?SlM)Vqr+bm@FKJ6i-g&ozlZ=fbAMuhWcbGa#7S*YbLS>P%BE z5TU0deg?QHd8CtUM*Pz+vzIxZ7Zo-_Kpptlk8=x7uEwwNY#5t32&QO2R3-=thvu0} zcoGbtNma)R&V-6f>&fYyCymt&i;3%(H5?GPp#_!Z?(ss1Hl7kY8vXs^JSWd-p7bZ} zB0ev9CM{O!`YypQ*EzPE;s}+=lp{0#y}};BI#S_Vnv;wx>$wXn36C%>_n*ROUjP`m zz$*8c6@xUb840y1=6zBhxMRe)0VrWN*0NFaNlw#`gHi5U?#tIK!@B14xlrL5K^W(N z-K}1CE$?%x!40wlm?Oev>1TDCiYKWM)v$)_;}SuU>Hu=dE^gY!Vit9HQZroXGED|} zcKApUrq4Aa$fBYGyfdDDpe(fC+4!e>2+Z8H3N`Th7xq_Sp@8bj8_JsLS(%x$G%VlV zyWQ3~E-Sg&RVjt4^Yz#{0or{6RokOod&Y{8F-S;dphKLzEiex&-JN_&&$$#&QD@hA zZLYlx3dugcMVaH`y3+~TC_P?uZ_bs!pk9j}Pyg6?z>esN{O|x>K2Gjb^Ujl*7YdxM zT}C-Vb%V=kFFc9pIFjwe87o+>A&xH>P9-=im;#25ZW~U&9=le9s!b{mVk5)CA;1q) zYiw(4B!KmW;%1o>JbD)Dj!wF}L5|fXkZ^%h=KIhmg5n9jU>>0N%nqxqJQy^e$zQ__ z_e1Dirmf&}QQ{hM%=KbS@3e!t{;xOd>Ol8wHciMgN%tVxO^LQccICR4+rIku9%y{3~IJru=Q@ zJs)TI2m$+;wl_tF4ny@s|3>CUB{!ODz~hv0RKnKiizMG9-hInPqK*-a*9qzK7C*L0&sAQEZuSB8B*=b|l^B5}L^9k?zE9piTL5zZvdt?` zvB>{X!L}g*57!qS|HJpMn~rkuxv>7J;hpVm{rkb|0*1uIN{}jK<3jF6x-C}6Y*0-5 zcLi6sQ4Z;^L;c1q-7VrR)DM^=WN>0V(LVO@m(DyVJm!7PW(kl+32oVqRdZ96_FyZ0 zRybT`W@95{Q+@f&bsE{_bK8g6AMlnO z=1TEnji3RdXNOk~s)XG-ulq*2KlEaR0=+WS;xp%dfRsIx=ZK2NCtya52dz-7e~(Qc z_8TtRYC|5C|28ltkuTVPw{R>bTY9VvYM-f4rmAxH~%D75S z>!#I(rjJi@YNuiZ@v{I7!wM%s4nRad=SJxWe)xnDG)Lh%+L0m`m#Vmbz=D5kvXJT?5YS?J8oan=>>?B$KSTUb=9%VNHf(2{+8K8b5&ZVku#9Mm58U z%v{s(Vp z-Pd>;^HVwk+>vRUF`((#BnV`GZaNYDDS!<_%Z2skxaL7M-gH}82U;sThOze$g!+A8 zy>sx^dIeG#j^Hp)S*GVr(yvgE} znnp;T_($MT{vzP>k)_=}mXK!nl>8MKs`>qBl|q^6Odbr_xo#=UzBM83p-G!kw?wkH zNBQ`|OL;vZ{pA)aX}l{6s=(=wZLl?hi-{>5V@&CUH~lNU?=67s8s;=nz0U?tm`BH* z7qI%-PfQJoRxN^=`7ELP2Z8|tX-ttM63WYMhK3;9yF-A*&qKf072R&?hui14^tUok9p&X*q2x;4;ox0Kv$_z}bf zv^q+|>i>&lvoKQ{Mhh$dIXmKwYtC)o=J;wMuXw&>uJ|W#8>!=nK+cXX_w7)H#3#`C z43D~pTmLoApe%RVWlA4UMEB%I%&8QMu%*Fn&PfGMpM{{@Z3PeE06t?4`!VMZYRCKZ z>yrYJ#Yc+5ot$8Dn?V3sx2=j1Ld9aAuP3!~mHvK>iK<0LCD5D?ADdLr`CC>^51;I~ zUH4*rZTedz?;|P2^wVF>u}>*hNQG-sw7vxJq0Pw$vQSeO%(1InK@M-XrAY*C0n1Ux;6j~ z4%5cjF0+(ARWx0JOjpJ_4u@=_ZSujanL0xgC+g5GSv!$N!9uszwb)zA{G=_u{jP6A zRf*XjzoXV8IDKh!UW0ZLVbw46GQcv7r#^CH%8Q7eaXxJR{$h)+H7I|2PutpmjM-NF{{@7=*hyG170s8x#?n~=&CqNWMAW4AVeSUT_=KD?iM|>%| z(x2d;8z^_^ihD1O7vTPIp(cV%b3`Lch^0KK8anH2wsk4cTmfpwdxqk-d(DC4nG#wD zA!VAIrnDMgEl(!eDjDR+GGY_PR^g~4Ag{}_dimv?x8ABU9QNqwmQ-$KLax49zU)0L z$RzE{B*Fn^{?bn1^^JK%6I@bR;W7jOV`vjAnUu(Y8jPdK^>DX2o9W_IK)RW0*z8h= zJ9it;vfyQL6C4Z{SB5%KHHhj()1ccOmLB)}7uGXK$7e(;D;qsLY<**tCPA=e+qQe! zwrx+_wlQtnwr$(CZQC}d@$J0bx4Umqr%qM=i_ADxnKvTi-qaylL+!R5YO3E(Qs9!E zWW6pPl3|-NX8Q?7(Jr=2Q+aWCON=Fr{%c(kd803%OjJ29J->oJQ6m6x=i;pdFB%j&E z5`Y!x=g5o>ttrIvogNks#!)RvR;7zrK?kYo+67hWMBNnBvk*Qdr z4)pvRJ2j)1yByOVazXuhbO!q9!1M?%Qy)C(B9vRo{V?4%fyyndFeqWqSAO4g9ytqW zufi*Rp5r~z<~V(!@&>cc9oF)p#5CzTEjD&kOy0m59I4<-)Zx2YX*{HC2<+08-)CW} z87mAs?^7n9;Y?dzU99YXQBWO$0YOr3ZJK$r=UbTihF?9iWyRvOhqpNB`F7`dUYS(U zXQe@6=8jaJ7x(Lfg69Y}7e*VenJe&zRbr4NkG}q`+~G`?aKelZOrh}TDP)NuF{!R3 zHuVDjSD}~uC3L;j2YBThRTZc!{}DvV|0X`#Hl5xkxG;Ph;VrT`=d0qjiKIkGTV!_d zu=ru$e0+tPqn?45K-WDHHyiudcBw`z*N09ghh$_l&cbOP!MOQHTqSgB`ed;-H{i~O zpZ3DDJ~_KKDS{_zQC(pDYDk8d-hr8v344!ByRYw${^>>n`c77Z3tqG7?^M#|-*}wu z_lrMa`$=lL^JVhWoDJ!OHCnl9vtWCI7MEmDMhTG+`y?5us`leE;ok7MSKLyTGQf8m zy`OmlzdTWQq&9~Tg<_efTJKyjZBOUuLBAF;Y0@rp^Oz9~BmVaFKQ{|6*jkz|SX#`+ zA~t~HQ6+dajPnI)*uX_1^&_YXrJfj8U6zDfGAsBUVz#ZZN?xkYJo%f^nQq8L@=2Bx zLfHBt-kiw(gJ=Q#sO5d+tlRGx_@1h}qydZ?`6R!H11HKezRpm_2a-360$bB9yDqwC z@Np=8>rBQ6x9sGX34?JoOkj&}2n-5SMtjzm%#rXCTa}OD&Pf*!Kb8~%Y4r+)a7$z_ z_=~!K{XK)z5+mQ(z|u?M4h+uz^??{ywdI*}zI%jZD`3u7p@;;Vmv*q*q$Th8FcO=*@vQcE?Z zAAp}&@3P%Q;+4FDTo*OPlEx78Of=&>#9DMZ$XXK8knS|51-HHa5T~Tc%qUT5Vp|L^ zP}A_HE3&bLasXivD6;tcEcWhC2uZEq)A_p{Vzuq-z9;GLAoN*FgYxS%x@Ov+{g6w2 zjv0HE0mI_@#l+AO5uW<9%n zwA0#s4|%Ha-x?xVyLy;`TE^8=CLDvCmr|X~p-d5fbjU`Kj~|X$B}&;nm`D}rO;b*uT_QBp|&jQsstEe;8X1h+Bqy-CpR z0Qo3+iwIWm!4$#zWsM&KKhAw^v8Z4G{-dDEG~3i$m~K`G){EKlQ$leSHLJz64wO_rGm8(g^WB zqtk1q>2R$V4=OgzKPbBENn;!*j`sN)OF3s(^5e52we06XKEnx?Nh)L5O(lYUk~gB~ z;)29(pB*tlM0TJ>K1v_A3Fm@xX>`diPNf31QD;({uo;#_EpBaX>Yy8z!EH;BFwNdk z`{(*=lW9P1U4l!UUlJ~SUN@;ug@PYj;ezt?vu0Q5w#y=U8ss9%wwvPl;A6q^FKY3f z+2pE%$lLTc+#m_w6wi;h3bOJQMsSpQc7Iu5R)*G7FK!dSq1Ea5*TvUdvIQ9G@|syu zU%k5KoaEsmN3im{Gd?7@BW#LlnaY*$04O8qZ$aa+w4o&HsY`-;LME11TOTM5gPY1` z-GKvWyD7KEs5(`tiWujd62k_mX}y@y6H27I4d2pii`(_;Q)T>JEemDM={{lm0@XR^&R?vRsp${oZafH>h3@eNYFeIg87okvBwxZkh;K7aAB^Ka`2WUBD z%Z^B}2zx_~>`ycjEix#Ht%bIka;bz*3wu!hWjVweV7nfiQ!^++1Q~lOhQ~0&I3`73 z>?@ye>wkL@NNV11@&S%>yMcOsgg*B(05W2rXso!qmFg*gLm3~!)X#nEJ$S}*-#wc8 z;AJsIkA*nr2C#k9vy{>yI_x1j9*B+jFEa;~X7g+``s!oMlmD7T(`}Wf$wFwfq8t)a5o{fh79gWsUv zEYKvY&wI9llx?FAPg1Le*ea?Pl^^JQPh)A$J^T$Bf3QozL!NKWKnh5yg9g;I(XYcy z!}$ieJvsS-c=+hW88+L5qwP-Zo~Bw&k^n=``xS!@34py zb`+A&?ozMFN43olife)z9tX(#Fd~!+=q?L}B_ZU5>fJ&m7ef8#AWI8udy*La41RG| z?&&R`AIsN8to27j zy{tZZ?D^5st;junfg@E^@yA{tsfWo}`pMNhQ=1pczY83KQ+E)5bS()DSL%~Q~PZjdi4)M>W5o*UChic zX4mfre<-t*&EgOO88OierhBk);Ao}5+NMw2&0a7W$uI2+e@trAE7F4KML2PPCLmh~ z8@F_I&V!t4$sZWHtM&Rfon*6D1!?kVER^7&kt48+A%9Xd=}mzrN7| zPK4gs2F@~KT>{7-JzHJ*k7m-3u;iLYg)>ws+QJ)G=l&2<83%|ZDPf+JCM=i(GArA5 z>v?^2d7oH|lUac~OK)4KLWVD<=p8L*A*#!B|HDEZP^$3SSpI`dk0pQ1H?-krRUCPL z1}P||(R9`{c#y(_c6k|e9)U?vqig46b(i)5x>mI zU|y+AmgP%s{Wk2tO=z|-Rxlm+?flQ5ck`e|NJwW`FVS(bp%oRp+-k4(b$%f=MqP{C z)gf{P(L_clh+ynY}E$v;oE;Cacf&(ylo;l_X z3ut1=kxw)2;sspt^qTz%->-vBb4YODDER!5#k)#NOF@_q1)Dy>i6xMnR7zfHSM~h?=z2fB9Ck zkyd8d>O}u^|FVS9CY0zoildkBZ_l^3nEG@e%_1g4>fm+?wrn{H_;t{~W5> zfDvYaAFgYpGHDv9H@O2wSf(dzOMOF>sc}ki&21L&Ku7Sn5mM~noXnH|qp5;cro@fM zvc^xtwWo5NJB3PM#ntc#hciHMxSz1jXLS=F%G`<@0aqBPIEqkkIWr;wGli`-`SEnRv0l(OHbLys-movJJ}3rW9tV(Twko&`8? zu^HGA`6m+HazBn7XT76Y@qXpXEBuidkY{i@Pi%NtZnKVdP(1-y%coSLysKV@U2wzL z8oaI3UtbNUW@*H=sANF+jSNKwB7qoq@jid?XV5oJgx%}LmbIRlMSCXzU+&ojtLfpk zOz}5Uw2=z66u6R!+^exbB8kH;0@it56_Y+G87G^rkM0?g@bb3Iq1SZiq#-QLI14*_%E)O@@0$R0A_f0_Irjh{E@XkFnnb59l>3(Th#hPV^}1%TvR z{zu}y?@8c>+?aa7gerXnr-AwftH3W<{-M@YYj5`k>7wgs37g%#D!ScEuaPuQ3lyQ< z7)n@Gou7W0L~KoKV~I=U`Vd7^KOn~~mVf&$9Pq!#`ri!$J_R#gwJco2l7__8U89Uq z5q^>Y3qKS9qcPoaQoA&*(GXJWro;&V7TA>UIurKmUJr3Eoml|NhRYrganzGoO$( z{#gQ0tfIgzA49)Iwmh{VXreL6D>VzvrRq$O>Wi4>eN>xdKrxfeJ?0PFzvKm|cS5ZRkO^>7caHhH!uEX`Qz1=UO` zOm;bdvZ<;TU+RBmvqM~S+sj1@anXw43rnbG70R(--Zpz9dPYX#3JPiP6DP$v>E!Sl zJ+l*0>a03rD`A|Xa@59%BZi?oK+J`SumyS0-op>7jaiyGe8Bn)?x-a5QNrFKw2fe6 zO4)QdVHbSD*Esjz=xL-ESKmGO)Nf=hE|+bCa0buF1+OK5!-krZmj=Cv0TQkDaam?<2Ax$G-&#xIT0+B)azO%rNHsv}aQok;|Ksh>&4UM~#yPwx*W8Jd6!L1&)i% zKj`WHTY$8dgy7rK4yn*=g@2O^XN>l#X;ZsBB}~b+cb=dHe@c{X@`2zcysK7?x^4A@VGI=keZc~_`RpU=qwtGrgZvM#DTo_2WaOc($*qt=^#Mr|&CtwzX20OAGdHNG7o znbIv`(BMLUK5I(j?f$BrR*PJp)1;q4YvXo?9A+hk=?8v`U{oCTnGP z-iN91c3R($83tVF#y%@_ici}kA-S)bEf98jD)ttrAh}#$NL79;&_dcWmx)T^Pnm>g z+V`Ayv@&{N0h8S3n;bjWP5;9gZBgp&vD3+Ay|L?iQ`>2T(f6>DKM{qE1!k@qpF~p{ zYF)3f1)&Ul?0u0sCD++5ZroBUeuI7BWY2MCrY75Yk{k_Fk@%)ACP6iz%6D@~LO7Lpb}-*j9KVYl^b<24#(;PArV1d5@HX zEdMMdvu}hejw@l3_XXV;uSIZWD2vWCf9rEA&+kNZ4Sf43Mi7KN{Zr^yD65wQQv5YH zi@>riN#T@>f23DJ(MOd{VujVRn3}4Fko?YoNoGpWsXyg;hi^ zP;NUaH5m*~W~p3D9rYZ0w;K$+=1iH_TTutPR4x{ZA1G#{sj*>_!oA49Yx96#dl4Z&e3J%jH8&A?2)x%o=~m+Up6 zF00aq{g!M1WD_dANuO*9It?U_^wm^IMjb`%AcfR-$|butiiQDE1mHvr(`%fHcrLRrwrJ z6d4ILK)Dwl%l$`VkWxATI>8cIcDad_$)xW$Ug4huEkg}adlNMn5>?X=hoqhUS1$hf zA+&ypW5dJrmkgTANDVWdOBCH4RD+o8eh|1hgyot#Lv}MvbZl_=?F90OeQjVJ6(IyX zc+mveXkIE2C1~-Bk@La(6_P5#aYV}jex+_qoRV2J0@hX*J29hp6Ht%jZj#L?E-{>^ zfH&^A0}LuEsi$z>DE}LydkSDK)9&(9tYyr)F<2@mBR}{<^%6FcRdTZZ<;Zl;H^zF` z`M#3+_s<~5tS~b-XP_n|AubC;Een)_F!)U#ScD=dNMN2HxJI&w0ci>-;=YF?#Iw$f z?6Bsq+7K##op^AWmrfaofMbgmn+9*D^)h)E^b_!s6sN=~C>o?w%1~bUYNlw*mdpK0i@GHavnep9_-$|& z<9ZbwYYoPxd=yhVOser6BeTYvpu z?8YV9odfHiFI3|*_{vQP65C|H0eLs$9|Gnw4^L5|@Fu8dOB~WW^4U+6Za|9yH*x$2 z=rl3JUInmI@b#Y<;U|w=T4xRot#*^UIh$u})PVaZ4-Ww#!1dMl2_OgJZi}{V7N#Nt zN7&dwboUf9PN4;MQek%da|s<-NlUjbh)A3Io&cU+q?iO>@LlueQKYm=Gp$>fDfbH%=nnPpbkEDVH(GOxc8_ot@kXb5FT-WHNPgFWMV%pW}i2*MptU7bZlxPew*h z=eHV~BxrSt>MuoI@mC^O6Z3zlC<>o~`(bD9)F7RPR(25)+LjACCMZMju>d#ulpU@B z_KYpI1RLd1M-?njd=p|yx=Uiiei=9dw*W){q1hFqo&_7IVgR^Y;Ma(a#c7$=@Z3k} z({KPDd@vty*S-_G;xfMDBtnt_+n#>pnj9%i`Nmze^oSX~Uz_DAsyp&)jA2Xd>G z*5D5^M!kRL5>6~vbNE*aojHyI&2xDJe>R=nnk7?7;Pp-uyD&1E)h%I0Re2PfSkjq( z6-x+3%PXlBck}w)djl~uf@ktE%TICdu}zh+Y=kR^CocygmfIRU8VGp^-K52v;8KA{ zM;FKzFiR7}&JxJr-a=-O`-xPzl8(j4w zdWCzwBe7{`zV>9493L=M4x2vR>f!ts%r*gfa-{?mJPN=zps z?w|k;i<8-P!gZS%jpj%-7s~2m4qTDi>eBg<&oZCu`Ug&GzC}W_@P(W|ocL1|-CZ1%&!Ea{#qI&7hVQ<|p4ZLe^Y-bho-`Z0w1rt#M^$Sz}>?QlhQ)2gsU?04`Y%?7lG=}XO z&Od983FKk-HmrY+IEr}{_tPizDr(!M7YK!g!cPFqWGl??inQB?I z&PEO{QAZ;%k3FBqFR8xc!=Kq@Ki|!c^<;*b&UJD;-5Y#$zxH;~5s3wWzaM}$5(ghw zHE5PzH{b#jv((=BAl7A5bN<>xzX=%~989ll5~_8gP!;;6_>~=m6ifg8il2HFg5iB^ z{H{Dhfy}D9aWce+faYZ5CKMzO^m|)$S5KAJyXdXUNX9#-BOC}dV83qNxE*v~ui^FN ziWRNEQP+H3!thZM>XRCmV&kKo2nsrCh8dhgOtIego*Snx)kX`i1_|5OfVUNCw8Lz$ z8ZP$;LOiD2^L!5k@G_BNNsshZyZnE~f-eBrBQZ?)ijAS39@!>?&(_ltz%c;e1OWKG z0W5)vx1|Rb|D~O(k3@QDmA1=j8iNg=(~Ne4++Ljm!iN#*=LXB)UThmZZvpIPqU!m| z4R6CI)3HT`j|68d9qEmsieqWFuoo(eW+0e1=9vsRn{GfB)Czpx8=4uIB6#M+r7`3A z8eH!=O=}&g)DO> zf{A>AVpKPa$aW+CKf}mmKMZ(~ohD%7{h=y*ZmVVL#Wszyxd$X&39K;S*p6VLi<$GCX`+KeQMZF? zz1}rKkq!IgnyOS6Un6y`b80uk0KHdGZIgGka=Zkf7tX|)P6^mDUg`~G(qY0~oh==ULb;@LiMbLBt~L?AU(5tC z?w20JyXE>MF=5l83FH`4rl?7XL=#OO1mk7Ph%tXW9+>0cfjhw8^PIu}w*bKG-2atB zcmV`!+)AC6sG~@^0>=ac&)eJsj_ub069@l7ObL*5qvb`N(g6?)q#`V6*SjEm^$TSj zvFzUstt_epbX{ko@dk%o&ZkR$hU@_^V8jDcY!zETwv6glqav>X#3c}iqkUSwMCTAm z96-q+CdQHCE(@op37cmfQgvMSMHJru*2u!%t%7G61A1tneaiWIr%Yo?EJ=+oWpcM> z!Jb>ZclgAxMNTX0q;|WS@v8VA9;g2!1@a$`e*0D6Q$zcYXg^v$dDbOI(fLgQ0OWlF ze!2jNp!WRHLLAE(@s40?p)ygj{kSey8)UYaoxmzF#4u>M4r$ngk&*E`)#Ie}oeDMQ zkN2!;Ptgqe;e^wi7Y6SQcvG@cSbqc|KN_<5(6J71y^KIUEOFuYl=lz1#CukLm)`TB z{y!b^vH<)m0H9XGx2EYCvAIqN{x2PZR#?KO!Yp3fz&R!qbGNkQ!Yw>4Rrz^s!E%&0 zMNA`<(>K_qfj-gP?fpcJFX7Hn%afW20NY^akdTYu6cI816VFnbyuV3H_sMhk{}|?f zKHw7Pd6+C&u#P^CI;|Q5JOcs}TLC7A#CBLg67mMTOpTgQL^E{bA8|nKMuxy6wq!(B z<3>8%_LxFB7fn=1FHg&XECPX2*-aWGnJhq|0ytR*`HxqMZYpU_!jZ1#1ax>Vdu}#l zRGhzkiY$mJ#gyz>;6n&PfP7=fJm6;y%wO5&Z$P8XJ?4SG<~oM{%{{n4y&Jrs!^_>Y zO8A&ZT4p|rA7*7Nb6HH~R%*-AXV>pa zeTamKT5_ROT;f=jgv-kuJ$@LIjPp{)I5EcCNX@G{Mwn2p|M? z`;;Ai9TMW}>Knz@D*gV7sCoCFj3SR6o{s2jv?y`th_=-;jBS?q7GO#mQu%?v=Pm%R z*z``2Nq_`z2#9I}N^XYUW!2{bGB+w}=zCZ@W=U1=mu#fNq`2gALn^c@SIp*)dI@3c z^mN1rg2zz#yn>o=MXn0of)DcMA8%V!=Cd5G1hRaD1VjOuF7M5zi!8*oHd2Jd$jb2p z7{78RHukL8p@YH{Zhu`kr=1&yp9--AR+utAUJwj-NhVLDi~Jek*E1$Qow{qs-8<(U z*Fw4K91!;XIMi63)<~b{q)k!}3ih}*i_FuHy+rn)DYj#ZW}_K?F^3?6C{GRB6n@o6 z&a|zE zLcA-1X{$V@!I8>fnJOj#h7G`F-1Z%*k6cV7@BH8SdLs7nms@&U4BIbDBL!Ug44M_v zpW7I>%LZ)Zt;c;DIl=M(qoBHJxm|oHJQlQLe#_S)T!U`sj6Zchsa;b`twvMX8@&J} zW?=mkV8ZD#XS>U$=^)eezlA<{5(Qc`e-A<+gkZdMRE90jMW?5i4~s2V<#rkC`MD9@j2)$ z>{AW0g~ML(w;uD+*o9vgA>f5J;6uGp%&SB%?E$QqxXVeD43c*}bgpZ{vPByH%7%?c z37?VH1=Ywm^~<&KfL**YR=#Z&9B(^h0wpU~^1BRki$6Y#O>=H|wcJ@i4vCm?cf^>$ zv*=`f=f^689g-Ir(26`KpZ0aq2P@PV0UinakDFA$I;6{v?p3PphFMAfM5+E2&(=Up z=@o6FH;@Dc6m!#^Z2MZ29TJ=X56B8>uTjQ0(Ky~uz8~`r!v*+m==dO9gl2pnwHZE^ z4^p2A8OT(XG0gWzt87Bh!)q*_QmL;P3h#I=V~LMwFp9$;qU`O&_VRbRBrYcKfHuHI z^cE3-2#F`L46{qeAjpR1{LK85)n)P;v})x?eT|W224tv|<8%Y)p?|vzy9OMCiC&bO zJ*i($9S;Qo2#Ld@v8EdG)Jx07#F(mpnwJX#@f!CSxzrn?Y?yuGE#Lx)R+~c<4_qr^ zj(?>?;tc-kA}scgguMAFh3&8wz-9UFKss+x*vJw?67QyOF5Et|WvP{P5RK_Vr4prhV4mLb@ zKeq$J<`yef7B)Ip>+hM3@>$)?+pl(-1-xO`dhJ|!I*in?5mp-r!xg3&FSfwDJY^%a zh|)kPwk4gRwpUOA4gK47YhCADN!?|CpWN$Ln$^FeG;y!$@UVyX2731?$VX`SCP8LS%BIVOq}{)Gzx9%Hy)O-m6_}5r)LZ4BNJM{u*12h z-+d>YWQsu2?P|RtZG|#&&|?{dTj3twTd7VX_uGdXW$UZcZCBA5?~Qq1jCvWn{sVHK zP*figDH2|~!&dcY@OyTFQNSQ`s28fg;|qh;QYB*k2G^|Ys*+|@k|7OeW%&UnF_Lc~ zr(coz6;426;R{pqy+DOi_CrE9obf2o0G3;F#z?j0La;FhneP{-`{Q%<`Ro zB@}mcd$fef2QffDR=<`zLPw7>I>~)MI$GA|&{0i1?huUPk4xT9<)TS-lRT-YF1Mzt zsIY|H&B8}^aeDg&<;32OAgKJy1Qfa=q(-gy%LCX&)T!`Pe#z$Cr(4|Bjqv!=+pCEj zGIfX32u?IMh9^g`c@Zogp%X=9NbHrKufNf8{Huzl)=z^5|Ae5~`kfUDUqC~+Th=qc z%`GF=wAje?aGRGnT|f_gUZ8;V<>)+eE3b1=R2_VxWcGmu0~SVk04=>ZBulP<^0qQ{ zpSun#XMqH{+&qPp)kQAo&_txQ{>RY+bTYT^v4^UqibC!@uUn+lePK1O_9=U>Eow;| z1{8tKx9OOXXKgzswixo)Ql9QR!7gJJois|@$i_tw#c#4SNVC{=E}!U{jB4{9?Zg?z zTGK&1ef^U3EYWWj()VA?ym`!s<~gkgyj4yFLqS@5v37O5<0VA2^EGmLMMkZz^|_DW zaDzC7!GEkCVdG`ha_X!Ip7-5S-v%a0=S!ZueHv}zAl5D^N4pdb3+W%-u=0paX){|o0Z~V*qv(TiN_pR6zk@z0Te=%08FJvU| zI!kQf=q`7mXtTE1<% zoaEMA+#-Crm4|Vyn+^MF_q|788;Qj5$FwyzeCr-Lt^1w{3n&Ku-=5z0Q!0AEuYBrt zwsTt!_-IKd_uDDIjJ~ZWCP4`&H}M zPvX_Rx4-h~mtU_%#aec>leJalL?96EmtqU^eHd z=T~j@Bv5z`9HbmSwJc&sJ&bJ{{$nVMouKgUf@B}#oDNL9yoIi}t()QuX+$ggDn55} zRp~`#@j?_+Y~ry-Oze-5W4Jr%%&&i~RG2q(Y`@^qS@LsPePWC+Vx2VHbXv+W1m0aN zY@c{MV;3k{t`6JXi0OK*V?0>R;Js+!HA=v_IkSIWuO|PN{MaYF)3yWOzdDX_-!JqnL~5uN%~QH6XlFx7oi8K3L2 zX_G9iVzXK_7Wk-nb|R(;v%9d!o2;*1=<3eWO}#v1ucT%`xEf1KzpGERb?`Kzj>A{LE2!#d3hiGWD8(J?)5Ie9NZ& zWTKy=%X7^}_sVKF7|`DwV!$1GarT@f0*;^-;(T&CRYmisIu<~(NNrobX!#WrDleIF z?v)y%Ye`+0WNl=^I@T*GrhQozeea&gYnEo705Kht_i#ruBGG41=dXghxxsYSlRy>i z9wBBiCk5vmm|gt@WG&@-tDnw6?!WS_HSut~g})VvNcS{^+5hIdsO52%O*z6|8|8RZ zf_9usj9jSlE(Um7S6=UpGM2Bl#R?SCd8iL!BAINe$l8gQ$6!*MacQ;Q7i0apzx57> z5of19OfoNBnJ*q=j+>|Q#3%U%Qy!|;On-d^1{6IVOm-`}iozodw?(D3i@!=qej+_$ z7p1O-#nXQONSVyg4_(LENcJB)X<^V$TMK_EOY8;xV{C>iEtN=PZHSp!UZ)3U{Llh^ z!_GOuUGa*qNj1LC1O;I&xhCiUXl_>et=HZ4zPu6!GNCHac4RxbGYto(@W0fC`LPo^ zEr%9=SjKdI8aT-bP$f!Qh?zneMCJmeFuqeMSwFPR{Mt@peZoO$@(5Z#qJ0jFO4Et3 zIyjpHEM@(XqoENa_QOzZrMaYGxCdEdrwGVhDwj~yJM_Wzx2ooYQ3(8W1NG3Gw@H{e zo(}089y+oAn#f$jkiEtV7g`{xQGCiA#y77WYtW%~T&rGmUzT~l zi)1wo777tIJm(;+FJlZlnB!oN7mkd6JGak6j1y9rp+)mcBq%HO1>3i7N4d%;bqAY) z?YB9FkJV6QmC*T=Y*snlq~>%+r>Tlt#XLuqa0{vYG7hCRew=mbZq>KhGsCQJ-Ezh2 z9} zu2K2Zm{tCJsytJz2|^;tXLPJ1x84*6g>Rf$d_wODJopx~weC{5lxo=$(k0{~&W(#L zsh@?%-UeFPR~_z=SeL7?z~ zF3@!r<}`0Hzi@ti|K=@#*UYpkwtOCo3aB#Nf`Qd^g)F~p?E67$tE0GH{426@N1=Tj zZ6otdzk5F##qwzES>9FJj+j$yPV+NUH`dt7WqY#};^*ktV@y+q9xm#wssDES+G$_e#H=e`!I#@U1r)|AduumFo_c;HY?QYo2E>O!Wiv>8yk_ z30s1FHu00JQ8(u}`j#m%@)1$B^Om|X(3j5NBA<~U76IW30&1|91WzEkI9psLiV;nm zFxvSx2xZP9R~hT?``ct<=q^*p!=clLQ~uHDm|U+Y*-epR4ms6m8t=`PwXvISFN}di zY_<FnY+b2VBRrKR=%Wty7AI@FX&*N))9}c;B5(xF0vUK?PuAVGc!X1}=_F}9ztAr|wM;N_A|%(Y(C#*9Z4kH#XB7Y6Gt((<4k zLw(v2U#u(Oq|^@iZ>eYzm*+bC8QJ)J`c;jd)02Wc9d#p^vdXofskF#;<>l2h{pC|J zJ4=})WRyeoa8+?rC;7TQ3_ELdP>DYQmLZ6EAx(ZvmrfvSTA-vea7=6M(xo#1d!{_V zy+R0LdUYfXMOUf=ZPDht$4{5@k60od9*HMx7&El$B9NaYwKVAPN`h+XpsKXht5*O= zOkgpPX;NZ{s{`m)?yq<@|{r~ik(PT zTa~+e+IMn|Afv9=?++A3nUP}GzhT!%S0=A)DaUYb=&@JlblGGornR+g&*FcR$vuAS zxFX!#zTiSYPOR+9ERcw*(S~b}J~40$`6usq#-q)95>kzQ_^0=_+cVE+HnTvRvIdP^ zU~5V{UH`U?7{yp@{U;*S5m4C6i%mNa-1vR)GbPlA`QI*Tb8_&af>VC;}F0q={P=ap^W4hu?tt?7KC}$(W)Q zWRRyVo>MxSkWkKDRAD4UUmABgjyqJzE?3fK_uqEAqmTk(opfcHb)Q*nnI3oBPGRoi-iRh1Pco#660k!6=>$yHQ+JH8^n=K zH)da#D*_F8dQa4G@olaf%0&+%(BAd!xWiX#Dq1l0m{!4NJX!m$P9VI zw-COP#7rx;oAj*_hH2_5CP2oJgbKL|@);y2;@w;B`CegD5MzyEGa3x(&-vRq;_kba zYbVrxsW|$#PG?_&aiM!*3&Q;!Op#G9UUTkqk_w*3W!_lHd z!ZucI!{lzjo|}pqI{6+9(|qgQH-r*2)n>*gP3n=TZeJ{nILSMlv0 z!V5D&(f!C`4%(&Eg$>H2%^XpIo+=anq{3OV?th6^{>c=uZ?bDG)Ef`|@G9KqYb*cV zYKqm@sX>J4e#3NJ&C>kZ0`=lxIX8b2G=oqEQ4u2-c{=Z6OkQoS6!tHXOi%k8POId;0G)E~}7?-&k<94kREf}`@VEW(R;ONG*q%^J7LIojMZ zq4LTkGbK2voL-93R11t3-a&6MR7h1W^19`Q!uDpWg^6R|>*BK~S|`&=kY|paj;1nT zSuo5&?KX`qvr1#7x0_-vc-U}RbfxJXZ)S8i+ZmEjQPH#9*|4zs>^kQYITU-Dr)h8P zJ;Bat9-@fYcRZ#~=p!zCA>|z0q(&yyvUdpy_~5wo3VGd}@EZ##ZEga`rSxk|R!r=&s76`& zHqbNeT7w4>B6XN(@d~BL(g8U0x{ilR6oLJcAj1efE0)Bmu|ObxFStQkl<7`!ZtGVR zEMifsq=fIFX->FCxpYs8bIf}LBL0=u@vyj@D3q+*5RLu9s>0vxpEn$eX~~If7+Qq} zD!c~0o^!K3`opOK+xZO4S+z^|%JMlLF5>L<5o?EDD)N!GWL}qqxzwcAO9fTZ8C1!P zILr0xL*=eWJLTL%3S8?yzY2EF)|6+9fx`yPC5!GqVQ=bLHkAZ|HILw7i)Hm4b!zUO z4ajBF>z;$e>)TW8nBKjxhQf=G#56=Zj{I{bAjO3(e*CM_-?hkT1&_dm!EKkEtmW)n zA8r{sYBced;G+XeMv4!j5ak?W00E0#Tov=r@B76qe;XX`r@e1BA(RO9$3dIyAta}< zw|Ure_HYQ>CrG-tCa2YTWy)*SBe5r-=a{HlHUy%iwm!y{_bLlwt7* z9O3G&wq?ABUfd>pJF1MS^+j@eq%f_g56M!WL0@hX+Q@NZYM+XuF`tw6bQr0wF{33> zUXW?kyc}-mAneb0aOfb@Q1ynUHuww8K8xb>EnH{@3NhZVHJjo4Zb|+n2fiimE;z!j zuH99-R=xMDJ_Qk($x#?Vc6V4#y;BtJHH(WQ?lnuCyTZM$2oe0drQ z7-ImU%aFe^nMEdh^uLtk;fdN|{zhR7i3K^MmuM)jG>e@IA_Za82( zTU$xp3g6O(+`VX+GpHun5JSZX88pI_qhZKhdIPwPn1hD@Kndtp^kJ>z(KG9l7AB%4 zC*;^E>WsS}7Ij&(;rAWJind`QVMdTOZ%M=zYRjzZ{35LGmC|{*-W>k}|apNc?~^s?k1T(7~wXT(m3pHSS;-Ql! z3lK_P4&9e0_@HTmTN)b`EN@$5@4SGmR-_Vkt8>UJ6q>f}rL&o?lXTz1yxhSz`mj*6 z^bI{AeYulVbv|DbqXOc)d;F89F*xRot_vtyZ8^=2_@o7I;dL7!6%7r8YWroK*p8;a zY6`RmttQ$D;a30h*kqa{9#XYnN1J5C``0ZRF;(8bbjoS7R0M;_c9`#95KIoZE+LKj|40iTS~&Jk zmtYh7By%iN=`<0gb2d#At*BSG+l4K>kaS=j`H4;`XI&a+pH?vC-pYpV$j4sSb^?Wl zcs3hfp3z^X!0>gvqxA;F3BpFnG50EQ%(2#_E^@8l!6(F!OmqH;)(IqFO|Fu95v0JX zAVxX{(FrTGudg2mUUa&*M>d0{9D&~P9CALCe{{gq;=qWWZqbe&t6d`)T91IKZ%sIk zehrCjwc8-(WEIFmP^n&PJjcqqlF6A-)b*Lx3>)tbQeSS+mMmg z6zQEMy^@wMdR}a#*tPGN8Co!@=)* zgb?p$2>R5NAoA#WLw*AkLV^D{kI%yHO$}Bw$d;z*MBYnEjbp9}?B$Xk@AQFtTwrVpnOQgT88`!%X5kxE{C*L%1}92_rc z{&sEURP#QJ6#LEuP*#nf!5oG^C15z|VMDJ>!w8(y38|33dPr6P@U9D+8h7577zb={ zXu&j`&57s1zny&fMKd40dq4x0$XL~>6wuG_f^!rYc48T@CLu}1-qXZjV>pqolxo!Xu< zC#WXBQOmBJ(bPsniYXms;1!N~))Y+d#rLWF6{Z?h$8>Jycl9WiEQeulj5vifK{wjS zw5LfRPR#dypobO@$0x;yZ=kq-r0$Dyd6st@{_Y89kD^<9H82)~dJH3$s+c=LQvje& z)F-GT*|3;Kn%%ZEgChm&$AC&Q4}8MzFbjOqBhn4|`k@+GB}0T8DTTMC7069*^PI#s zvicc_Gk)9bGbFgqvcy!FH!Toj>*mt)?z3PE#8psAZfp-Of=xqNK)WVOy6z=7TWf6& zJ>;O7*G{~JDO^F{42_YJ&mxP(JfC=>@)>g7i|5ET^ekdIL_as4nFbQ7GZC&jcct4f zf2^cpx8)giu;27!q8&h8pN!aJK%zyZ-5bl7F8euDOGdlE>RV!8tYeM%{{SazYgDiaIg`b|UfL zOCjcgQZ&yD!Rz)dC{#Ja_y1JAieXNh=rR;S@12LKYv5wErk?VlSiPfch$$MUR|q4D z{WSW%DXA~ zXeuxB1T_;aFM4^sGmacVvt!orI%Q|Q`?oo-e6c}_A?3CfFV+WqgE0558jQrh+%{^h z)*eG*4A#W{x$sS{9g3xn4^i24+)i4OV zqN0o-I)ljxv3x^qs^oS#0%a5&7N9;^l#V+g=WpR<8}THV+%1@UjBoeN0T-8g9cMns zFA8pOXOsC6mYU|ILuw|exhTPYWYp;LpD?bFM|`8yHzm% z94mg#x@Cv0^y2Jkp|2aUn#JeS%!%Zx^<<@pn&a?OwE*Vmtp;|?>>H=q;{@4u7IJG* zhq>8QLScJ<%_*l!8xA{sd7Vr}_J}aL!7cpQLAy<#$fWVgK6S}Y z_r_|DbjFFPfrRYNE92%>ISX^EnW(n@S>a)>WxwEnJ0WIQpHrD9n_?F?w*>Ht&K05&AqsDnh2Zam*1 zBOQ+rfNL5tkA0e&hY@8&rAqSrO5pcJnF><|;`iaY5S{JWo)L;Jb8h^`i3nee6Nq`3 zY{F;?F|)n}-?et0g8aQU&sfOf#!fBpf;s^qqf0$${hb)*_@qN2&11gTRD$tIFL}AH zRJyI^a##~wV?Vj>UBi7V59G661=9saK=|86q6W0ly7R8gZHox&hwQhPvk&$tAyPgUtTDWf5E&Kiort& zFt^=ylxGqY4Q(`&LGU6eKR8jVDujj_AO%N5)JC+0*q$YOZsH1hu-{|+w(!Q&s8`uV z36#cz*A76AWrs^;?A^(_&IHZf=Bt^KJqdFFiBX~y!h^)6Bm|pipS!W;gyPnhEJe(~ zKA+{@QKe-O^hMORb`mJdwdV0DUFVxty*O4mREU&TXK4BD`3&5{EOQUe4&`$$(1Nz} zO41A^=fb$KLV`0sf5%>F&dqa7a`A+IRga@CPtH}P%JD=D)nf=>lXd z6pzF_iw~gkW7<$iXr&!#&gEV_JCa|&!VPb_#cKE6Jur()@gEhKelPLjH}GcfiWL4$ z7sWQNoWaI9fwVRN;OoJ55Co@htC9Y^3iNTAxA zN&ha{=579-{dE9nFH{3>Yj?7wSRg??8i1~tTzVwO-~YXVd=CcKv{FbA@|hUw?dd(` zxhyD$mh{ubnQ@KxN);8RnupkC9$leOmk_t2hxO?&JuX+?H4FK(LAjn5v2MN-A}E48(X9Ht2JrN2O2u7< zDiOxtpg$hQE=T&D4^3QLxIStzG#u9_ zAq#8_OQD)sr8Z*-`yEn)r=HXXy{%kHqw&6NWcStlq#4|>8nvf#BGKYL zP~d!jCsR}oKZU{-@(`c*WXqcnuKSgV1t{F~%zLAO(Ift)KEf1OTn zFNSqgKjWokIKjK=w-E#IXJH;T<&gb|<~if|2R!?=F~0^Xa@V&OHUemzI~$=*t-dX3 zIE`sAC|UujC*g^ddo>7}M9n-@nJrG-l2fLJ`{%qRLT8m25`agl(<}ypDp#m(Im*w@!lvZNH(0VPcp5gJJh8< zJU`*;R`~XwW%zSICEuGdgqfkP;w{g?);G#Qc~}(nP{)Fn$tftr>VvV_SZrtHwq}qo z9T+&Tavq5f*vStb)6_dc@_0kG@uLd6`4}S0kQ<=Mk-#f_5=A$CB$E$)QvgfKXiI@V zAK_K$DWLc^1Hnic8_W@WON1;HsM~5p>78YPIx6~nB=~f7b|C3*b$f7Nb%|a5SFAU_ zI{hr8mmpoBp}M}qVCRjN_lOYAhIi1`Lrg5!r7G4FRlY5VD`*TQlPw~hK23GTq2OE5 zq9=loG!vcTY+wTh$DCL)Z$DtzUP@NT&v%t4db$y&UEUPuyZVq(?JZ+DvsHejRjF({#AH!7quva4G$gwq%Ht2Q>O5VvK&$8~b+O)x z6Mq0JHJGTwhdLbtalanQyPj}V{h;oGA(v|~Wj3u0MIATivr67_E~xUnXK&yk+{IS! zdyxf{pxz*|SS7f24E+!TYx4e#VVB2daJi}2gh<7UgoynMesdA$sDDqiM~eD`1a=#s zSX9blee_h?GflanU50EpJR+$d+o_%)D(5&)1adVG3MWdH?Z`Y^2{Vd9gO1!n^{~E4 zw}{7kx&aek-W)~E{kyFTcyDpwxqvK6e{Gbw6KWRldr1wTD*-ZTH7MT4+>-4x8CXb| z$ie<>YeTXt0>VFGuAKF+FMh^by86fM68&CZ><2f9Y=Y=MzOTR>T5)xMnpU$mR#%jX zX2x^l89gL&Kswn=JW5q5W^KLOZ3C3k^2u`vs>Y+ znK~R8hl4=;Y;Jjeh%Io8Ar@U}z8BO*A9bBXc4Y_?!lQ>k7LlusmEDZtx1|l`>m8QS zTJEt?>bnY1IZc2JluhG;ycj4&3U>hGoNpK8$7G1v1~?*-rY9TdC{N6%lq}H*yf;lU zjH3jL8g^CevS#0WE7H)rIdw0F1E(kdw^~T+!*s4`jNuiq9uxq$^K)f6qbgt6KE*5y zyC~9#xe*+BjzgdAzSnNh8ra*2Z3iVR=hp+kWd0mz#8$m`(0;Bc;2y(41(dVI3aJAH zbwFM{{qAQ+bM%hAE^lRMxGPIxsSKZ#zJO3|eVnD_bwS8UI|^)2O_$xMhduI`CS#|q zZbtPiR{0z!@UAH#&(Oa+pdcZUL26=6VkiARHe2~-y#P&}SM(tQp)l^e@E9eANVCSU za#@j&)z!W2a^vp|)mrTciuNit%q^PgdI z7j(o9cI`5kj&2N@pX>%5M`zI(`%2oMNW*DDRgbMgHbJEG#p&prp~w2AI5kJzl$z%# z+|t{w$auV$rb%VU`JA>>m%7DBfEr@#woZ&4y8p8nj=)#fCQZoJ_zrTyl$#6a+B8-< zPna|>CY3-u8kx{5-`Sq@v(NLctv%<)-7pDD0gD$n@rtA5Uh*9elrWLqh4CM=k=!^T zBV%xWnU=e6qvipRd(8t|gv;10}vRKV0r}8(<4g3Bg&=Oyp!me@PfMDkDMlhn>Z}R?#ubu3lG*Ey*M~L=tNJTvZfHjh9t^o z&miH%JB@Ci7tw%(H8a*yO5qHG zOl8nzo488JE27m2Oyd}enmx)`Qj-auwy9==bBTKN=2-T0vDWSl#X8_8>BpGJr;x*@ ze*)8IJI-D=%wvs#(lfDD{jCuMa}|=StBHLPjAi!9!+0?Z>**w};zFt{qswZu1zg2C z{x@F0r~?+Mbb{Buv92dye>`mWU6n*M#xlY5BmI4eGsWC-Hn8pqI3>%&$vVgNfd7My-EV41AdW~2zRxjsH1LJT6 zAcf{ncEb43bqDyUrqIKzYo9!If7ny{Dw>bKd@JiT-@io;yYr}cx)ed8(AZXp0(nCO zbiq1-goP_JsMG&6d&%FJ=nl=Kq5Klsepan#r#L}m08-<+L9Kwg84b>TO&lmJdJrks zDo_-IveC}x)dHbFxdJx zlM#Mae~Ku~SjrroDjEr; zA|2lkO1Ks(2^88&yaYS@2(^atGbcXg$!+A9BZUWMX%eWi9#rn*kDAToj6F_n)(q<( z+5<(8X`V9kZh%Jh2re>Mo5UOAd-w~kpJMV>M9-6`<`A(W5pgiwa37`1139^+w3#Rl{7&|DY9 zgVNPr#@vhQ(`*m8Cpv=#A8VQsNItc5dHMJWd4W1Glg3)ah^`QmoQwQvsv4sdLi@5C z`?QStsMrn&m-vA1`ng$-6{I-z3R*BcXJ9CD^^6eH@%Sl1@d6Y5z{hJ(IYS3)fCfqS z6+#u*Zu<++0IIA0&#&8ue$C}XLK0``2dTc*eZ#oPFYi5{NRN65RG7fJh4HlI%p-g8 z7C`hgz8_uuD3PLoQr<8!X!ms(0zfM602Jei1$c7ROE3ClGEq4Y z0p1XW@%}iy=D@^LtlK?frX<3N_Wr8Fyx2$Fv?)Lgy(#7iB%;kPVn&a64xmqUp6`eu7HBO{F)`-) zgibV_k-S_Cl;GKj=5~5^@!e_)lUl z`KqWtaKZbgnq@{ybD; z6X~X!R@FwTS6(_goRl6QO62O>xh!r#G#6`XElb@AMy((G-Q*IA;Q<33?Bw)7_Y;bX zYsOL}PThN+XUXDn?v@+#IVN9J6%^S)K8$_KjLo?JhQQqlTY)3~96T4XaKo~O!$u%m zfw*HpjyrO~@nPL~fcI9S4cVe^(m7kzJLiX=@XI!^o*;CJ*cK-^6U4dknA@!&MrYg* zPPsNmu_51-_;3E6>o9b2Bfb$*b}7vgHx-wl_4~bgk+VUT)<;(>Nb7C~0PF2N23C_y z2}2m}&VQ@v_r|vuBhNt_h*;n}>UMjUlgGI}exZ|7Rrk65Fx7|gzwF1Osko z@ykVRC*j5@i4SNIK$z!y;YsA+kGXP|0nlY|mpFk(W4?7zf1X3Mfa)L=i)nx2f{g1w z&Dy^?V+oLAtm{#BRadLySH-7miQ`~5N2RhdlQcQKXfoZvRBg^3^&z3+peT``pqoTl z9@)Kq5rg=@%(Yvk-~kLw*R$zvwJrQExVyEfNsccevGwu%AaMmo;My`wcjNoOUb) z!70hglXuTchu(+)f`umq{3z;#fQc9D`O^|Z!Ar&KFE4zr{!6u2U(?$isE9UP$f_kb zwCta=O^I4`<#mF@k#D0CM;Pi#|pe-v#7nuyqu({4vIgIzCa=H&eIyK*) z^bIr1hSw`_F8ir^V5R2UCck$`YrXhaZp+FJS3O3+sdJ>%tF;Yxw=ajHMj&M=am zy?*_XA{VceF@l>7WHi03t|hC=m@x8(>^8gxrWJ%|4KRc~?L%TH%Bwuse`>Rs-_rVL zv|;OQt>_4sIm?3r58^s$m#ZH<-1}&2xz~vf(*MNGFsuKG_}62)6!Mf)Me#RrSWm&P#5&@{AN3c$6|k=~AVd6>4O(FX8**bRCrNQp`n2z=hzX^tMCudwMBdRsnc9{H}VD%;}0qLJSC0e2&|5azOFT?`^VTVpQ!lo53-?V$Si-W-COOJ0n&))uvWfx4fRAJ z(S)E8v-tDAy@(hxw^UY{iLd5gXEWqX1|?i(DjtKQBDQIxDi1O|8LNd6mJ{NP+qUZ2 zt&b#aN@a6SvD;@@zLN@ z=`Xko9H~ZUXyfdk%_cUKKBsC}wlR5q@4_;;0;x*VB2OBo}?j$`~OH2B&f*r+L&*yQvpwK+@ZXjI7g*M zXO335J$Uv*bD7@|5z}Y;nCFc#m=JcxIG--KE3`7zVM9ZN?{N~LdaB{)gJ%!8*x+=h z%$5J5)Gcp^N}KAGrirNb$EQ399kW*H{ zec10W=&>%z0Z|CEe}w)C>rx6z_T zcp^*tqcIOkEjHWESeKU)N71^#rh5D>taIBjEHaZ7aEMf^VttvPf>C6Ev96QCzIvS* znj3DdZsjp z_b|X2S!|P`Kn}# z3v|ID6*2+&$L3#D`Xgh(9-KMp%|Zz0b^;KSryaU$MIxoX?Oh~BD*{|t+s|iWv9f3lk#HP2r zpZGaAgKc0~tq4T&Q+DcPhE&$qs%K4xg2@i$3^GwL5y;tYf(9jB~R8q%womxdQP^TLz)n;28Sw% z|0vAj+%m_>to|VyV-?4dhuSd*a*I$oP_xIDi*Lpxx}H$$92JK z7)+p*qFa*kO95Qrdk%%OPV@H}-Cw0_f6)Q>ljRM!C^SXuXmY!~@=$hirc@7r zJYtMw$Ia})uV0Fjra^G4_V6Nr7z>E$AV`q&#%i8taDqXQl;n%KwUw$}>CDUjEa{2PBYP7XuTq86*rYr86d3svNF(r-|enX|MR^Td}; zYW~F+&L~M%ebSb_tl3WLS~f*o24BXcGX0sEzM@qwYlN#>ul*!ElW8AVbKb3eFS_e0 zy+oi`VwT!7)fx_4oKBbTaNY(iez;o0*%QyzRXzRZ!}<9Iw@m>RT)cWfIPeeSq1*7T z$hJ<5>8IE3^6zN@(Swjmts`!*5A3x;uaA`C2V+G?xC(~`*$L;z+W|qMj%i#N(iaUY zsZ8+PTv7;q(WZB1`KLTJM@1$y+(D0(x*-UqDFQqE^A}fX<<^R>J`MsQo_~5z-FHjf z@ttjP+v7F*Q^TmJMr&xGa!7vKLz|9!Metl+{lp$2B$p(T1Tq{Z=X16&d5xvUZ$HSq zW6GEPGYYCq#Zp8S5KoFOu84sr+jJM6S3ySHQYs2|az$k>6Y#|XHwu#L&iD_0Fa<`+ zOHH3=$ZipObp;Lg3p!>l|0VK{_EvEzH_b)2F-x$p@0lh~kS9MWCaCHamz)x)vuVf` zw1{g*y0l@Deb7K}J(pXldQX$ivPMhHGf0%7%(aGpIak7b#WZwfN&zyYeV0tD2~@m` z4{PwR8j%iPoMn5pYQ2>t&f5J~7=PR(br$k>cIEKe9IfR*os=A4rD^6xIy4>-S!jMR4{S*bVSB) z(X_r|)+y`vO4X7S(w7J;?T}GQrh_Q)dobV5+|ne>!RDLH^w91H@wrvYftd^gg(m1{=dk2ivByWcag&>0BK+q#W)4UkUEuv+DAFF2eWc`bB-xsLuqg zF;XScNBkg?pSBAxol_BDC0ic!`359A%W+!5IA% zSjqrD|G@V|65crGq6%(XuXN63$`(zGahjt87@peCi6L?d69M zxK((jxjc%aLMUOA(0VnWr)89de?P^APyv-|;KENP{Ji^O-{o8y!_&N~}GupsMkk3OnFQdzkF?O!pB#u(g-+0Fb8ycks$cbQJ#^bc|5K$FYZ~7UXdDW5P-TX!=>hM)jH! zI}KT3HDdj$%cs3k6;w_5r+;Dm%(U2_s%(PNmB;*b#Q#pf_be#_Azul?SX%gqte&2ofcIIIw=al% z%_qJ_YvI(qhr>dbiP#M_?sfgbR|pCWjt{TaOZzl2dFFcb;kAZls_~;6m&#nZ-e(Aa z(^W`@wxhd%rj->i*4rHV!8pG34|s`@LnS)uIMYQYYzm;<;Ob`IULtnipBgl&iuOgD zhGB~@o>!50Ladrj96qyF#STI{H`>ZR4e2o<6~?9;nQ`(hBPO>Ja$$gG-B-w7>IW~; z{yxL~#m!2VM?3A^=t|*9Fgtua> z&bRR{WEdM8HH$21vSZrxL)Tjqwu$aOZA8V86gDYLSwW6s1C)0Al(~o#gwL6jX=<@n zJe630J1jfr@5H@(Q*lpzm6gXL`1>7sHrq!h)Pf^n6!x0!!gO(K23O~~o)c&8>bF{d zYIqz|+x-vt*<%w-HAkkPabQ5S0d?LITE=#dbt#}~jtk4d=P@ST!ELs-PJ&qhtmDb4 zpO35;5adyQFAZ{>7JH5kvr}C7uL+K16s=_d-PIhmbuPQT;>bd+;*7ps#GbDC8-oQ! z85#2G=`|mvwnN~JzoFWgH=p1`9T5tWO(jyCUUjt9M#e===v0`VD&G^iPkq2bO)~K? zPaobOQ}kr`STh7AER)ebh-dS(KLHkpE1B+R5R^Fc6ODgVf~@fr1P$;@M< z%6cs=&QTVDPzfuX;51*e2zg#4W@;^TvFs&9qbfw#QJnWU4ulHh z_)s$<7V^1)8D}O3wX(>PWvl^!sI;0|!kOwJ+1+*69G>?!=fqw)Bk$Wrp*U7&J2XEH2u7HA?C~Y8!dzg zPj9LvkZMG%n{R)d#~&SpBv@QquuC!7c>r(%jAoXB`X^-E=QKn@ic!7Id1S&x2u>Mw z#dLx*fs_0Lw-~8}Qvb>Psn%-*Z-LR}SCh?h_l&bzwJwGpB-3IHXvLb%&Z2ksW9H%( ze0R_}u(Pk^8*35kNO7>(oQLyZ)W8h4V5LQ z+>fG`N+T|){R7do&tvdSh;OdRa^s__)nY{67#09%DEuhzi%Nhfizawaqh_-STYlDn$6yFQmw!St1~oTpx3nn5 zG<@}no7*cT=BpR#u9t5*bE8C^#;0w;xE(1_MgAF)puPnl&ZeOuQipJrqoVNq_2Q3_ zD1q*D2-H+7Q@h8!Y>EvFQMSGs=!vUn5JeEL=s^nwn}?dc%U3SZtNQb~fdlPgw*}3-1zdHS6j)PiMweS(ka&oc+bRu`)=cBCW%sPu|W|2yIrPH-pR^3b>eEvfr(60I~!ap0XfG;g6Bb? z&yNywSze_hg=5oTW}pS1c<$6``X>8;6kR0D!a1cEsiK1CAZ7K-J^mjD5cM-z#k`eVu(>!OBsg2G%bYeo_qQ}4_>=W7z%~lD z=8CIgF7{MPCZp`U#t(fyEQ(-4$e14iCXf{xRVj80E93O=;7IfuTR;68CiJPq&){L9 zGYV1JA&>>P#cm|ZCGMvp|Asn%TB5>g2Yuv=-p<5_YPPQK3BaL8S@6T{SR}4nI#0#R z+}-PWHQUVz(?Tv0>C8ickveb3?5{k6t*7EOD@iJ3z(Fxmc#4lV2RKVgvWEC(MPtb*(3RPvMLiu}-zg`}?^_ZOsX+#07f=XVfsEak?lcBH)B^1VJB z`}5%Sx4z8~;}r~wSn=InV5R59=_nu0)xf7MspTM8+TjbmJJcBi813U)XSrQXTn69V z&w7Y<2v_ccM9kjw{!PRD#Z1DG;!WG&OA$Apfo6*QY|T(kT`?FsI6gVn4XV30_d_QS zvmXA$TR_Ge;8pI4B7aL_Rsn{Y-kaGFT|Z7F5HVMn1qUZW>u~2WN8M5BhT*`XSTCg&ZO z{cJ7p2MhakG((=CW83x>HwSlm$GGgdtLrv|ba*%4imqB!ntPe;eQ&f4)c0Kdk z0U!gMAE+kxb)`5k&E=S6X<~Flg6(;ngjC`9Hg+z?=PmwQwVA~S#VaEx_%1g8#Vr0j z@_};e02!vQaAETIgS|Z;@Nog^w(>6ZZh|&Su~0Xv^8nf4wEQDR@a1!oWAKQ$0O+V? z2(+h@H0jwfQbf2s*%x&8q$3y#3l+Bcwpn1ML|YSi7TYczXgu~hFFU|2Mkr7EJ5B#s zLC)j%V&e_Q5zC>$9Eh-flB2N6#8h3kk%npc06$toI3chxWJlmE;|?De<%_kxxq@wI z11oe^7DmZ4fx6jCI9VPb|RO`Tfm34;TCh~*D#*2AG4YFSu z5V~(c_uy2wE{~JD{aey=WoMZNSg(+X&>@GkSYi^cVzVRaiX{luf-N7_r+BxhVf|oy~sdsISFkviKJC>Wx+z?>&$$|Rq*KwYSobr7$Wo)&&3PiZ-9#~1)T#@>5+9_?ZjiA8OB zIu(M4&mbYU+~G5PiVZ^879ZaW>ou6)%C!F071#KWqJFGqOYZYk0YF%*9|-TYAm{Nx z&@6vLTQa@fmiDIS!A}Uj6n?SCk>aFiGeFB9)MXz-{;I41+nq(uoC7yIhwB~GV2>EsUKUE zVzacj{Nr2)17T~YHyD3&hT(XZFAg-#sHF2@UD{JM&_Q~+bJorT$8vBEDcRKs7zMXs z1^b3=?1NYZQ#lsg1$GQjB$`pv<&wv2BD@RE*4VPwU)4bTj8tb-sXV~}kSnw%13N<3 z*A9{>=xl&aGe*?ijVDRAM3Qpu;C=FSo{`Y+rd|uF`pHMM{pCuPmMV1J`W3G~y{5+!tMtqd8L|3Hq8hI7-Mn*F9 z6=ZgL;T{!JJ7CIUf*KbVr7yCsOw;px>Cq(Nv)nVxP8NG*HH%})`Mpj_<nJ4(SLp;NvfsJg7#q=`HujiydPCy|U3T|wihbT2DF1u6%{V^7o- z%6O?>lv1&b?~sf4yiF+5AZy(bzOA*l7$U2aXAU*KeioVM0c7$`Dm#*7aHo+rcm+g0UaW zN#W5gj%t(QWDS`Hr!4)BS1yQnE~6^gz8{6rLyxCG%Fa`>Q*K$rnsGHL3LW=h%*YQyBd9?m?75wm`Qh76xvEyO z@SQjt@^mmiTt zh00ED@o~mo3MMLAWib*fg>oQ9jR5Js#l*tOw3@TZSuI)cN?v#zJHL*it+3sMvh#>+ zF&3)6(DA)IdNwMeZ=g315;NudXraNrGW{be2d(ekKVpKb6a_UYqY6Z}$aCQ=P27yo zV`(#))UHI3Xm4!N5387zfLgdTb)q{u$GC9;Wt5$CNN@cyuA>R#P5TUe!CN?G$Uk2 z%H{aAcO*}bQoKN1&ROJrG}+a!PsBEvi`T@+RTtH>SMao8!n)uZR8DFwemk0gwa`<> zC)s1u%Cu%zlEPcyW=ay~yr$G-J5c_{OhfWA^L+OI8A|*UyS8G&ysYhZp;*K5^#V4E zaM?xp_YvUuW^;HM_Bov8@RtRrr!2!Ym1bq{S_yyCUU z>(as!_-Ekv>(A6mg~8j51QMeH--;gDD4elgQ0W(gC8D&23lu05P}elfaNJWNM?znV z?Ms7vhk=u1#-M`p4;Z3R_PaBOx7VRH$5jedve=Ju7zDXqA3@LFl%mvEi!oW?2A(8+ z$2HhD%?a}$mP7-^#{H3w#5W!dCR>ZY#4_r5jy&OZxz?Htvf<}kSYahHNTD|@Tf&-pVz56!q z&1pGjI2}Dvnp8auGVH!sUSfFQlYT%lw*Qm<;@gnqiDb!0ef{?iIFAAPz3<)20g!TN zbFg}zG!>d%oQ>GGV&j4(M+zM)FE+>H8?BCcPo-9X-J43+9dFqFe0ll^8Aw{DY;YNG zbiP>s66lbx7uwG0zTavo{wWlkft;2vL)3cxq=TaU?-bXt?)tXS|eW zOmqmu9=98?4c%U$=Wg@g;p zl?h&9TfyX1`SI32EBq~9uzamhqN}lT^fa)yfjU?rSn}qar~(9y|1D61@~*c1-NTgq zQ}#tol;<;s{koCt;J7;tfp4JL44{rpeIcQQ1TuRU&sFr5#CP?tkmDR-Dkx|pvajQ@?P$s=boPrHi>N9L$EMBuqNPR+qP}nwyp2jwr$(C zZQHhO8~5MbnOV#(%kHEqsp{1GgpPq;k3}{3C@dg8q#%L|15QAfv6_F@)g(3u-+EfQ z@pAhd8g0Rx9El%OH>2n|sy231aiFYG#e5ZB8a3U^{t!Jh5$wHrowk`|>4QG3;nLX{ zE|hKH9(@%VI_sI+C#9EHbO_sx%o{|w7P95MMzTM)0e3N~rgILsz=b$3L|R6Q-uG<1xTs zV^~^ojEO7WKOnO}tI`1seqn!wlRJI+sEg-OYr$2UV}T0vJl&5{d>_7>uFWD2`zL0x zyYj`-XQ22tO57AOk1#$RwADC#ez{A>%S-aq<=nSbgHG8UA?A4@`#RPY?Dad8PJe-?gQP^qZ_?9r0WZ75VD)H>mSlFy9!>L^VQDHIjdw&*MY9Gu;VekgQRz*bm2Tz(E4 zxFGdp*7e}_>-Ef>``AFPAC<4b#~IuT!Gds4nIKE{y_^$6`E9};PlXe9YoUTn+GYlC zkfy``c5KBVc@Qh=BQ#8y%RAL;gTUTbUKw@0yQDigduJPKe&`%vKy|Y48duc8vjxNF zu@P6)o9G+w>hgpPpSwE~c==zuco*+ULrX*Ou*xSx81tFYZMk$sUt@7O`y|#~*{ZgN z-73U{YgY1zem$)$-~e-;95_;eW#f`4qA7-*n8Ub!=C35^zpI)`n$(_wZwIG@YS0`D3k2p(m{%Jrnfj*Z;ySkF>*r zV#B1Gmj}}7;SnKN8_2VlAo9swJhsy&c~JC<-s|T?7YIQ)X5}qpLI;Y*`Awh^pDV5| zMP;>=&R=$f)3K7P0hV;`npc^Lc#9l6jS5fz09!iiy07*YP*Bg=`NEBL?gJjZ!dCuHbTWj{Sa0fJm!U{L94}&16$9~w9k{AFp3?@ z!a0=%%0GE_*m{O)#+pPgOLBtEbnWToL;9zx?S;5U`q4oLSf?%JLC|=7oRjp8=rKq; zaIDuX6|8vu{)3H=($6m>6wt}VzI7OmXAdysJBNDXNf|nts(-32O@6*XXzHCU>-EZ2 zBWX&d=2F-hzjY5L#->@L#mLN3XI-(fG|{>~t~rabKo6@$vn7D7 zV0C`8=m1FbxtHOVK=Pi8M4%Gu8@1?b{!h8V)zE~uOzd7>2=&lfS>XAqvyL-)w9kso z$7)+%2$VrHT0e+TzbLBu>0x(DJc7*h{yR>kwKL{MoXtS+YrRSKbS_W8Fkvg6iH*Dg z5<5Tut9NgfK#noKrW)O{x8*xWH<~67+6KyMgMTh%inVEp9+fZkE-SWO=nc)bwA@u% ztP~iI(}sHdvj=E>29Wvv_%KhDqEEE(7=m+oWGmQ{PA}zgw|?vq*P}7dZSeNF3jwhE zo>g)X61cvDdT1D3b+of7!T}|;7~}66DhIIbA9n=VA*?plX)ow9jaKWxd-VhcAypan zz_0JlB!JAi!ziYQT%x=V*=Mag)H00l!4k9X>#&6n-EmoVUlWfUDG0qz(K=#9T{0QD z!!NXaZ^-#HWHzSxhYs{Qg*^n5Nm@+SU)7`zO8CRQ;37SSFwG(K)e|r@zp_kO1=Sfp zyw_rb@gF$Q3W@g9A_OpaIN7qtI}leiM9qk_7qqiCUqP;jYBC-=_8`ks~9%z86_e-o2FB=}f7M3j_m}uygXsk`=17=W7D}=>v@IVDIkhYA8iyW?-vVd0BD=p2jmb6t;eVR?H&wQOxJ;JZm#%OrsM-F*7rpzo z=}AMvBo-H7=<^_6iUibhh_k!SLi!r&NKzf&(GWmGxzXIWGfHkeL6B22#HDuEW03nE zx=o||<$q@oVuW>n6P=6?Y|YY^q~B z2{fQPu6x$|oX%Ddnsiv}ybZ97#BuyGZyr>aPD5FX)l?rGCpU-$agL&tq zGo1$>o>^k41V>8yF}E=UhoHt2hwCGkV|Bc!S1 z5xp&x7y9BQ0kDM!^p;RJ3E+qW9i<<5mxQHla(t?n+o_`LIr~ZhBktV9M;Z~+D8mjx zWbFH^A%4OVm4GG|7us zD2CK>ZSP6f`K>Jx+BtX^obGzC%El~w*cv(s#EO#ukLr<13j(MT-) zD*k4)e%TGt$!KdPzmX~CFYuiVv=0wKHGc6ZRy)M6${e~fW8%@!&LxaKt49y{52s-~Hj7+5Ru9xP+G8~bF zlN~@;NWOxqEIrffFo4QgMyR`|x{$BPuHJN`IMiYnzj5CYTN>`NXR&DTxh+D7k=fz( zGf{5kbFz-J3mu^^7n)rQ2AD8n3OdVY^BH2$4nk_QeZ}H&Qpyl9DJd+rp|?vV!~hD= zwu%uX$a}xt+u@3<=6hxD-CArwh28sVl!OZ7 zY)#XlP5z9Ah5dpX%&b9_dNk@vPh4dUz!v&$z~+=-q}BZ3AQLvITFsFN99dRTH|=q_ zwzUkRjZbJxLpU|b?aAxt#}3~!8s**1zK78hCwVoK!Mj)z<9h;gOdptz^$EX%EbG06 zb$&=+n@mpE>X)A%ZTb#K5VNBBsLlzpB^Pu*qr2~cvxTJ7JouVx4zwdL|D`e^`U%`c zZuS7W$_6@RtCDdZ1Ma|Yc3BmWXMkjca3nb`i}y(Ug4WmG*?FPy%T>H>`9DZ4af0}_ zr!vw7uh5e+baaEaz5t-j*0>Kc?Wl=t4*}?POpsjUyfHcO5<#4rPW5z>0Bm)lAtiN= zY8}WcPYsQL1=;q%MRKbf+`BRi5Hq0-;9#M%NNTmD4+ab2PsRJ#js;#b+7)*XV6j6d z3<8k6WTGdN7j@I$+=$(U{Cl(7TeVtnFB~KNwy}q|3NFnLZoSh>WmswFq4rptlUy7Rt5F^1B^6oBfQd{41!G|0=`* z`M*bgG?}^RQWa&#x*aZh?uSR7=HRX%*ZQk(4rLTzW^y!Bs<;A970W5IvEoaLj|WLV zkD*a;NZg?9HPMp7N43B{{HGfrbFMqhz8E)Z?9a$Z4esH=1m}YsBq&2d&2w=bL`C2b zdIqnQ^tqIn2I(yPK)boZBdV6HETH z3nUKc%iVKgwnH!6`m(-59c>(wvaeqm^=;B>iX%>!4QT_;@kYOz9=PChU7xmXyegrf z6Y5E-jusxxe2n|Fl*PF3bF%3q1E6?xjAa{K8Bb=^cC{4c?%gbR$?X)YH$0*R(2I-^ zodo3<#B@c5f3BKOuUvZRQ62&sge@P_H;reH) zaWbVO*WzFPCQcltZ)ZVz2|BWUF?{`RLtE84d_7jd@*L~UQ_0m`VAbPfWmdO0kiXOd z+2&cOcP%yOodOh)LzNm_{1_oRGxA5)z}V!f6;e2*9Saw%b;HQ6tqeB21hVxUSpwss zM@Zf-$;ll(2DuqPL3HGT3%$(PJc>fxmpv0`A8&wBCW_tHZqj+8-0a8$Av zOlrJugYsfG-F^j9%-tXg=cXA$mMEsJ;fbxk%nj%&wveUOFUSp)qwQ$TL zauxtH686)U=!SA&M&TCcvqcF|LBjo)tf86FjjD}1vVh0rU~JE7fk)71XZEI9_Yl^g zOJ3sA*0P)`AFwYb$lM`@8H*5;y6HH>5<&xMxr!A_>k2DFF$VlXD4#cw$EBzn-r)wd zK+&atoKSUv;me`Wf)eC4yN!o+5UV>eQAfD!HLuYqjf06dQBt><)qlJzaDUyu;pM{L zTm0z)T@Jl0izc3WKhu|`9*G=WZf3~FEaH%cvOVNhKHeb)eRO*1_(eO zd}dc>dgWyzFnO5Q4woK>xt9|sQGC1xF9QKN12cBRK7H$Mb%Z!Tsu7c@*AAVCAP&Cz zK)SCv)|7i60E)Zwt}VpyD(7eD3l(#nK+GTQ^j#**c3tyh7CY?F$N1j-k!!Sbcrvmx zFBJ>K`v~vumy@s*puQ+0G6Fquw0sfC{Y{p8^0p8nMu@i#i>~+50mU@+Of!KrFqY;8 zhQZ7}8v&S82eCgkf*saV9xREEp4&=Omgpl0s}3q3?{S00c; zD8SCKr@Uq#s13@{HQXWUIus4x#yq}M6Vk4n|2_juN2pc6=>BTl)VEULN4k|i`@K>j1&a%$EKbVXyyR*CAzB89}5IRrD){SCAU_o zkL=Nu@&%4eyQrbAWZg*+)UWpF%z}p1(hJx0Zs;j9d+}M2UDX8(c7yqMLiR@BcyG&{ z|Cp@UAu5{QGhX{(O$az9#~oCQgEHirj2uQt-ce^WQWPcyOYjK@ftlpf0XxJ`*F81? zW8}?K8JV`|qG#!&489qvD_Q(Iu|EU=;jf7@)J?^ri#XWA0z7RTLaY-xpvSyQ{SD?} zI46UMTGRA*gXCV*Ht_v~aI-gCO32*sjlnGU} zaGQs>4-weEZY%Zlp9VFW*+Y$tGpkY^lBwhSpr_1WS68tUD|acJ<#SA3_t%?F-4+O(&587Ltpf{hvL55NdI~vC^L>b z{&2`vxGxBVFFHggyIoI_4B-9p(5PxE&=MdxU3nRs*WCA#pN-!4)52J|O^7{&#}3+X zAWj;^I*q;xKD+$lNrIxOW&|h|8El>QUT9y^9|~|26WZhDRuX2{hcwg|Nh^)!eRnt8AyBggKr&=qjJv!@REDM~8ej5@;^ru#8*rVGv zTE&U4SyD%bQ6HM-`lIcJ&dRl#*TV6eD5(l(v^24r5rp5Se!kP1c2xRmp0CXo{l@4D zT4zNNnvF>Ddrfy}6CDzZG*@2fft5hUQ)0|RJrhnG>oR_N&Ze)OYqiz=cS8Alee65v z>S~7I-$**85PVW4ghU$H=2Dj}nZGmWa~6N2j#XH)897>F8$P8fa7u+Wl^{EZU=-#V zgx|OT?o~n&{cVl}Kf`i2C}a1W@>gFccm8pLB^;#s)qIZa1tbng@hu<|c1ETgY-OAz z5>UzH5Eq@gC{KgEr!Ei{z+-Vteat=->ChkroAmYAv&qK4{pq6=Tk-+j?8*QJ3|Cv*8b;F2$WB=kQ zy>2==$5ZXzPFHg7;i0EfO1QzV?w36rw64n=ykFyxfGPgFiDW|M6-ZX028_wPw@J`0 z$wM|O?*lgi)Z?jw{03i)Rp@p$D`3^_t^r^}P>DXBTCxRT&WZ%<#2O5@aUiS{X#hUa zhv&sm$wr?@`XI2 z;GqSbvqe7d+b^`h(I`j3v^)Nx`0*Q6w`PD zjFUtAA_AC=Bn#t$_=9$glk>y6>Tbtq;d&_Wd4#mKv^MYc{|;QJ>1iG_+l-_palazx zB&(&FZ&;{MZT0E-lLs3I8xP|Ki6QT8!X^lYbwszT0M)<_uTZZBi&Q@1+V{yn?c z`eIds%N~c8AnTcB*WKSMb~CiP%3%kxq%CDBrM5qJ%$GZn^;B(ukIzyDR^&bM@Rcs( z97%LIkqa0>Q@#YanvPLVHM--i{`*mcZJ}vfx&2H5&aWBa3@`SIqb@5ljpGUJqdz2C z3sfCHOs3T>$b1)~P?s^XRH7GAru7*gt%SZmuLJw|)GXwIczb}$ z*ngW#avgwH<_q}<_yb)8EJAq1>KI=j!(xqd+28iIQ{LQYQ!$XOQm1kSixB*s4=2Rz zLQT}??_w3TXbn=Y%w7s$2P&b!P2nvazEx610MA(bsS@u}GSeg3 zjbQ}8L$2@pGf7!lviDHus$hn*R)M-v$&9K%4aTKuS}1zycNwEB19Q9gH|BWDp4h<9w84WPVvu)k^hi};dA-49P*^}nK z^{bNI`TrEFFOP^PxfJOlybW(+OLkd_64?BUP38jak%R3RqSo~S8se`a(Z$}cs_#U% z-yGzbt+W^t78b?pnNHJrWA#gn?)Phi5(n>E#ysWNKVDj^k0Yc8h}{kFni&Mt3R&dQ z?7tXbZALrckIeJ>5Z9D`!x~qsQvcc@GJLHBVrtc9u!mlU_SX@bvMU@83P4Seg14CokQ6P}x0J#r^4mrv;=^7s?Lz`9Rs&~S~kPjHOo z1s2@JdG}IPftH%wMPXqr$M5A|VF~7%&IGVkiGx0BwhVCjnnxH*ey-+kU@o(``nxXX z2ku7^bC^t)SeD>Ug$!b3vlNA> z#H$2&5Y=@2gVbn74dw~zmMnUxQDz%Xl_gEt`pUug@uMh_FYuoJ;vJ(5x|gO=)Hn5H z>FaLkS+F}tVUxt(Jw!oJY&)n|IC)n~@V(!@{P-C@$-yAICo^D1X!-Aj!S^y) zXIQbo9ypL~a_IE%Vq7!SIfqcoz+IuA=h>kr?7NB9YnGx9=C%g3cSGKo#yT~%<HcZ>D6oDn)m}E0mgm z>k|?{RayfkqF{iD8N`d2-rYx(Fv^)5KyBH|tKlG`7pJ&6rPP)!7G7mZVX@Lcc((AQ zQiMy=w>ks3OF3x5-ltU(cP%^L5{^G<-+M824;nGD_%W=)6ryZ4;qFJvEptg;q@29YJMWlZ|*w7%fcvJ}GUAFY$pp%NnB(*dwNP zU{)p9hLQ+rf<`f_EYlWC2ZVYrlbjv84}pHm_wY+CE7Ad;Ofuq2BB|1yx3M!4zs7 zc#Q-M#B0Ot@=O&eL%A@<@D6-t!n8U-PA762%L1eb7kwoW+lSW^ca1{kqM1K9paYs` z@PFe?&<4-0|9lQ}1vEARZZEV6xP2CXKfh)L`jdor3B8Lj3KL&+o(k>y%r8z8r;XDH zSp(Yz!ekgF6ReAd=<&D&UPy{#$BOPYx^2Slv3WexLh(gcuKo{aG zQQy0_tN1fv$))R4g4}r-$WFB#5TAwRPhDZXYf{l9{&RwnaUF9IWTV=)&z?~S3=T%*z61E3GVoBWO3`5 zyPpORGrPhgIBt+mmL@2Z194Z-!tTpqm$n?>^oSP+NRuMc+V1ENwT6tuEEZl74P*HH zde?4Yd~2OnGf2VAUj8uuCv<)64^B<8*P5CKTeqp; z5p}~fgr8P@c*7|LfF7_CwxTEA97%ow-j`{e>DVA}pXXy@lNpV`m`&vs447#&rfx9U z@yt(&ctBy!reS41kn6&-x?t+ghC0zrX(ScFe5#AesT;Oi55ih*g>u8ApO9IBS|B6^ z?UBn_gA&e9r?!g#q>e%K<0m?{!2GTd!ucfSWs)(v_tPc?h4KZAUX~Ons1`(UPiJi=_^$mHyqz}ur#IF)9X6OEW&?Qki`9fW&L$z zN($z6Hr5Ix4Nr#54~DcN3NE~VqDuU=8~auxTU$5$0)&2b(=@FyZJgxP!1&VHmN9MN zI5I8I!$YZ_yIY9U$j-yIN(n~PJS;W)+%gBShPp{P?FkI*o{Y4m3MCU2>_Ct#B-H)= zl9JP}lSapnu@~?t*I&-z2rGMk6 zjs%o%p-c!gfu2d`<$W1f!C9ao#yn>q487G(dV@O4z+~U;NR^GM>_LO0e0^Pqg3W1l z1pNxpKk5FXK3G-^@)e=EroInE_r;vO=}VXLX7fHqouVN-^z)-YXT^`gNn^fh(_^>c zy>mY7T01gznWYZ4)J<>IEzWohh6_wTVs$v`%ADQUyiv+ceqwLzdIg%LUR4}C#HQG1 z>4AVPPMuTLTrFRb)j;<6dN=B0$Jx}=8n$B?Kt}qQ6c|1D*uPrMD>FTdK)URRTt4*Nt?-|cLpkFmS zBc&z1c*S42(Ry#1q=3?v{WAob%IpQ>VWEj8lbeJXmgJiQfm(B$!gcFw@}I^qd=?zn z1?l!YTL_mZLpvgD8g&hu=^ULT>&R5s*T4v{`bfu6{jOpG+|F|3IglhO!zme2?U%Zi zYCxj4q9NJSsoTN=Y5G-5rE0_;;&tWhO#)ebicJqfezrML%!C?NM3}Cs^yeCx6{*yS zt-&gn=rw2P8v^v%#~$20MKne!U!>!ZkKDBRN&@`g+E6Ngu~Q5~nK(2wM?mwn;iok#q0DB$b#;SN1k zQFk99l|Gu(%Io-iG-~D9(d`nP7PG|C)=!r*bRCAO-JhD?x2FG5AhM43`Zo^?!q=s_s`e;aX3>3iFM*q!=+s#L&!Avn+uv3j~VOW>A zCjK~$5_2`L`greDYqKG!`&?{Oas+t`G<%-omKJ*GkOCknB&Bi3O_)z5@{==HtP%93vq;gcB;suwus7jkgwfP={Xw|xZ1ZbD8&+oA*e}E}K2S~p(v&CJlrWp=o49*#qptYNAdPI4%MOYl$VIn(iRl>Wu$ z-`sm{_|#@DD-><0_t*39^H1oWzuK?(kL$yBNo1I3dw_>Lx;8O`$ksQ3AMT${Stfd zBG3{p-$sxzU!pRCbU)vIr8a99ia4tSM{F8BH%#YVM(I}sY4jJ`G3R9g>%76HFV!}h zu}35yC!vZ{vt-)gt%c3BL(UK~Z5_(;K8_E6u#Og9cT3=af0%&zbEaIw-unT5`0G9rfG(rtf~}>}-p;ZzHB#k?e_z z?5YxNB)e6o7%Gd`C&}Xgd${If@g65(UN{!)aH&p1-y<{YyJ0^!pDca$=LCY;Sw{Wz z{;)9<8fIm3UeW~29iIw0ScS(}eEKEnSeZdO39rKz*!MgUm0ISF3+G?Iw9o%7^#84y zvrZW3+$FYLg}}v!5cHDbsLXQTCtnx1*)z}M`$801wz>(opJ%q#LV%7OghOYMzd-i` z1{_weTRDybyIn}XTP$_K_M6H~t_%y&e$W8cCQN^XM2qO|8P^Fesg~qY&?8tzPC6xJ z+=s-g!}5@4Mt zJj%QzBPP{zS6*dCQ}yd^@&BIB|7n}wift}OBY=w+zos^m<=5(MQf+!8FRthjwipY@BiN}_RPn~X7hy4xuLq4*?odF zm1ArpN9y{%KAS4?&-~)fX2NHs)pJMtY_5h9E`Zh|o3ewqyqjA!=AkM~X$8MdF*Go9 z-6%Q3jrsGc-~T}Fw@4v!^vrv-zW(`#U96M5xWiJ}QaO)s>PV%DRBO_AY8}!iP0mon z2POo~ah?kwzhAT*FV9HmoVtKUiJXl z<8xEPCa(}T8Hv5AHLAdvDT63r!#OY`ndVo2wn2dQ9wt}nCa1*$4rm+r?Q>sPm4!ot9wKChQ4m{KWfPPTmTQ@l@7*|fvR8t1K) z=zrkD7*{d@!EYr1W$K%v6zE8TBNnsGajgtQ`zyR7CCMD6XiQ5HE2=kCDS)eRC;H9y zAwl|0V{QG+n5{`W6DLb=%PDyc{5Z}8CABi?qFS0#o5EmnJOlV6K>NDm`E9|$x3Vy& zr}CaoQGax~$POC{u0`x?`u2zyBpTyJuu?$wVOW!CbV_gn;Rq$a=`3uh+)0CiIdp4Zix|upF#&TqZ5jItoqC&|G*xd&){$?OOng04y8Hc`t-kp%Y2Un@csU^+yF| zo?E4&E)3F1z^U_an}huPT0jspo_aSVGw*f9--0O3T@OWU(x{N<^q~c2S9GV5Hd+$9 zo?q-%H^QT$VF#JY>}(GL!HL)s)CKFat=u85RzSNF9t#vsa~+Ihqtc0n6hQVS2|bZ#lk}u0S+}cJ_wN`#T7V z{;g1>Bjo#O|H7N$R|86Rb}G7-0ejkYNzytp9U>`CR{he^`wEoYx;}{}<2XBsHgA4A zo;KLUQAAG^T0+CM|G9Q=4AgubKY_i{J_bj%DFrQm-MIM!E6;1ypUyaziV&w!K`$XoI8XeIvNKWm;8A-$9yI6WJR7z13NT+@D9Rb3}Eo6Q=wAgA0nq*er17R3C_lF4YOvGn*$~hU%#lSx1JYV zQp@eIejo*yYm!^AW|d9Yl$? zTSPn>bj1Zk`v*{oc#lO_j0qXYr-~}M$N-jlMq-TluYMi(JG}H@^;pS#1!62&#YC(w zJ_KG13=v$e+2;OE$N?-zT!+g|@B>u&Jb#1{vuyJw8A35E9>Mm2bP-Up$1Ykj%)`9p zUkvF8*eTsJviPL$Ts#iy*3!in(m`GqD~b(7<2uNjdB$0r>tk}I<1)*)Mx@9wUV6bm z^e%>Lq}AFfm6`!SgRcONG!Qa@Ag2%p;oJt)wEFflrpj5S{U*tiTJ}lIOP>E-3Z0u^ zD&eEmVCdpTT?QZ290v3XQl+;c(j=`fCeWliK{w)V7(ztx%R;T@U)c_%5H_4s(KwRq z8zY{iR5fGK^n`ywMaFH5`Vx*UMnL@wB;rPPzEprFy zN$C!^LM$f8S-v=_ka3Ek{lcS|rV1J_r}rkFD%6o-#94AzlS9#U-HTYUf~-fOeAcOt z-c6@e7`;vebm=wpMSEYji*LXCTzUD)L{Iqzw$De(A}hYNtm=R&Lhg z3&0U+tJqpU%(ZOZjTqpSlW;e=(xQrAZQYc;gJ&sn-_=(Kkl6z>-bBR+=rK-cHF57f zi(>O{5=8AZxeyr;Vf9D)ABa}Hxq1!EMM*TKFNa(B1YaOQ)7cuv(d7|NB)ZG$!z@AG zTDi0$QC-ZVG^c1!V770%BPx(=NFN$< zB2KyPK@79{yLf=CqM%NgH{cf|gMeSsSxRw;WZ|f*p&fY{$=jmZIjJ)bO}e{72w9S0 zSUO0_0k#{d$Z2ns5?TI$v=sMP4E{MaE|c%S$y;nN;2)4L-(ux{ZHywg`S}j4v#O0l zhB8k)H2FQtco!Mvk&6Tv4pnB+EBr{#44*fvVXzJCThHG|nrN2c1cv>fm?ME^BwDXP zb35l?{YuYr-8SbT1luKifleqc4yXkiejkd&12k|FLN3(xe3om*pIX?37y5crgb^^m zMa>rxNF2>6w3A)}7D8m{v%i#Y4zymhM;jx+_&n-J+n+h|ESM+a5Sq9uT7P+K#v)KV zYfo6>pmiS{>3_s>E)p0n7r>MN)iy2j!e$ogKyjPnCz7j7{u%1ug3)J>*&vD>#*tu? zlg=?`w_5Ma9emuEdds6Jl3Or2n1ru94<4rcz|7eac^1C^99yG`0r`++nehf#Q%eV| zO|@v@Y=F?>@Z+}aV~HmdXGx=M{&GD9Qm;l)HQ8ZNyy=$r6<(!4gIsFcYF(GCk_8yL zo6m~8)1Oo_-KPmc06zyIJn}^YYj^MUd|8vXN9d5vmy(}~`~-C{ubfdEpf@EgU2z>S z(Ix-|(OUUsCt-e-qjx%a`h#li$(0W5D~X2j zIuX~%xD18d$%U!?!X{D;yLwm%9M>0aVOuZ7 zwuqjP4IQt>8uV%UaW$D6j6=)15~fJt;~Sxm10I-OmF-5ZyJDyqNOqXdwtDH=ApfzR z>(+7M5v|0sTQQ`Q0 zuF3Gr-n6LP2n0}U6EBN%jR<~5zfQl&!fWJBePWl;C{B)EQQFZwgboM(gBt{AWv~SO zGgJj9Ng{7O-`*Z2*nAj|%g0<6V}@OJ6xS!X?R`4B+h^+KQ$GiB&(lk>)JG`y@Q(WP zojQ~TX(Uo@4uUJTFC{y40w4>I7|82~AEt=Ib^R;7fFr~adqBXU`q4vmZdRnX=majNE7LCKYOidnGou6?Re+rl6nUoUD8crafKM21>=& zBn6K5rZAThMXG8_uu13=iuu%2+0bA`eMpVnW%tdTQ0@^wJ_8H<*;<%zEKw(GJVDD9 z#Hc3Pl55${7i1rsFy5xNKM?!C+stcMq=cDOZf-Cq&k}6m0<1mnmFd{NYh9+E>_Rm- z&>S#hJ@I2adyIVN^IwkFvm)!+bFQdG!=enh;esmXG{?@HO0+}O@x9d*3Q?8#tqBP8 z-dpZBph)t1j1-p4YwcZc(ZFihOOwpkL>=WJ)VXHFc#P&CobW+x^S9+E_Yt5{isb#x zy)nek)HSFNW?|)liPJ77mVBqU9S(Kea9$P=;ALJ|N2LMVM<(NqBY;lZpo=^I)k#7C zQeX&VK{tXSgj4XC10=t1ahgr=Kw*hcM{>AuhHdf@5{^^kR#S);;Fd8RbSmx=s9?d= zh8e6;%VWUR9?k1LBO9U6^5_Dg^Gw->{Bd_zQ;-oj-&RQq=ogu&Eb_4bItN=KRN>7U zU#F{IQnW@YEOjI@^T~yhEmeVwN95R|AR8U3Xhec+z0^(1bRn+bGHu;L(^-9L+c%8e z3EfZXwf0Qm=E+@hy*;fdcxuOQ2bILh5rKj+ji_?(-Fb}HkZCD^J^lY2jjo{fdu~1m)evR5%Krd z8l+7^@rNLh2K)OZ2b3{PBN}(I+x45kqPYdNb~f9Y0cPT6V&UGL9n>C414TS#pHBs8T%Ar(SoLL zka8Rgx=b75qH=m}wj&f?qgK6*Plk@Uwia zrO9s#B5bwM5*0)~ikF^_KhL24rh9p;@i`pJZaIn4IxwwEzH0WXd-(@&%!!SlCBa~p z9L^}etGD07@rjLAv2)($R9$X91JIjvbkJh)GfZbr_?&GqrFQ^ZSU23n5=n*PQD6c> zNvM5rv9G7Kn3Q$Myei`EA5gbrashcfWXwp(>GNBWL-%!j-17pL92}wge8460E+5i0 zw3ma;Lnaw4RwVs27@d5>LWY1TKvYPe$|bFan13hzPiFEqb;S|m!`d2zm2##-VuUI? z)_R8u|%zETh9mr#Gu6&RkXyQ@?aE}{C`Cn!4>sl8CZxi#e^p#Zz$h|>!@ z?i|BF#+c4^()Nviom6p46flBciGYl|5h>ha(3`68cj>i~!gtT6?kZ$etgDx(2lIyqU(&Sm@2C9{lY<_lCdk4zix|oOX$?>HBAFV*jbwgaVEOAjGudjtnXyy6$WaD}>Jg=w zOVz&=%4@WTjgoiH1WOdelp+*z`tBw|d4(^u$KH;71*|0#e1R34a9z81w>v6>dpv8s zsb7vpMlE?yIoP8CPM+QYfai;)Ggc86%mrhIEwIYplD;1z6<5BT*_4E96hJ#y{klPD zFA6qO#Gl)tl-d{O_@Lx^49$D3id}4nPg_lXDAkZ_Gk5z72Tlm!*7>#X*!a5 zn>BKH@i(D)XK-7eF(IWf&l6F8(P9wHni&^7qKo;(i$-b_>mO^wqRnzs$|5@r@vEK` zd&qogf|h3sVP&SWvLN?{yh?esOk##~wt!ZA?rc+ek~%7V5_viVeU8v# zo;I_TH+G%gy!YTXK4kU)lGJMv4IXIeDk5^Zep3A(08K!$zcub?Qz$!4 z2iEY7v6!O68-nk#LFtYM>0` zz}-`S?Dz0_sD&&&9(lga|1IF$jA$xt=Jgmr~X zk;s9}hA9{;NHR60vDBl#(dM6h&yfexag>hJZ&sE-w8|Pe#Xb;#9JnY()y8OM1*32B zKUmd@gto%L#n*_+gk2b4b0UjM*7N+hJ30esz?4ae0S(`w3tl*N+W z*DLO}G5rv1mowqr&e{qEoHST;u=C^IaV3}M%=Hvt`7k`)4qDlRZjW?( zVTgGw`U9JC9`bJPm5t_VZ>YhSwXeHG2@i!FP*-zhaOzcD zy~y6Eh=svmau`Z&;F98#tpYD-k@z%)6;uZCE`5yrf>F6VVlXJmQg}j1x%iMuxD8Oe zi7laA`1YEzVUZMPvYu57r7_9-Aq~(z3XWpohpk3$2-f7$#+Z#A%M&3=8CkQjF=Xna z)P%5xvTLbOVG{1rOFwo2WQ#^MT+QAQIgs0q$G3HFZ~4$7lJ4nX-^V=LWIDtJfi*q7 zbimjs6f|ku6R+J5&{<&*v&|9C3z>AQC0D+(vKKnC`wC_;RQI)+I-D?O5Me(v=|UMj zhL`3L@hxX_B+!woFSmp*t%~_3D^z3iqWPx5IsD;LBI0dEbU7zfEMp2N^+Z!28d3(C zpnL|h`@_5=mljzl%+5TlLcJvO!3zH^+GM6N?;7S5kDWs9FW_OOMz+JseStj zzrc}&2e4eHlFlMn)$aulK@AiSwI)W@&nee^*|HuZ5)sddw1j%&JfoTI4+J7pzhfE) z?$RLq(Ai5F*-q!yTV2@i7mqPNUO!JfjWE?ah%AflBeO8Vf7Tki`uZ{y2{Csw{ZA<;UdG8lWDX-J@f21%6sL6jlzg>DkHYF9 zSczGOu{m#tbBWRl!P>THv~x#HtX}vr^b{&}hrvSnkGcwh5K0Cfg1xl1@5#s6TdEnl zL4+Rh2VY#48kcYMRd3`?mnpPKd2^2*b+vqN^chF0ED=<-M>{pOnzn$L<~BO&dPIz| z!_&!o?4IlF&si?mDR}U9@Lo!DPz#_4PjmQKr<32H@9b?afCxzDw++Mhw3e`sd;(bFQJU^*pn>GPCErK zbagHg#S!TaQ^c6H;G1lQZ<tQ4YhP1D}TrE?&I~M`L z2Y~T>t#KL*0oG)$XBg9@$8^dsQt-DWOo#EyAE_x$YhH|HENy1$adBha(ALo|1_Fok z%nhPMiWNIYiJ-W0A z?e*7JW&$0;{{h_g9H`AcFG{jhBa-iWz5HbEy*|O3lI}I5T!yCm14lk8lmUvT`jwQL zk_g(ndVC@XAwC^|Q-4d~y;%DRKOIGkWT;`ueK8~6A7Jq9OeJ17j5CL&6=>T&RHF7^ zkfyO%c8s9<8y?j084x$`5+sZh!l94S2?F%{KJx`|_IQP&_B?VzTYanJU;DnDL6p^>ZS&7DDdKZ)`MF8`2 zKKGWn_5hWboU`@%Y+#xBWLuWappLwqV(*n38X7|HC5I-}5^DPW6)=HrE~Eg$!)R*! zsaahWtXl65-AVebcV1wxZt}#@E(P|W7w0m2V&4gn{l%_syFl13*36C^^k;L@_MxeSGO89PB0A z1RX>pp8xZVqmI;W2w12S0{rv+m8wl#fQ%T$1o4 zi&sJlb0)^w2;!yA-=FOx4y-&#eZ*|(9Qpq0GWJfng~qaaY-yHy4HLNF<^Ak@{Zk=- zFau-38RbR*C0zzKy&Px3&@l4Als?izQI?ud0{pXw6AmUFQ09rqL#=gpe)Z`nDH_T- zldHP+BCw%~p|E#whk0M#IH8lz`{T0$V@A(;XUl_?r6G)xd={OAJXn5nDM?C57n%Q( zN&MEDHdkBZ+z2`Fkxy8n(u(I-HVh4V3uS))_1*2>b4wOfNHkdSsao~*+7NdI$uOIR zL6+ESeZZ-ZI4E}cAC+V*Mf2u_hQdr;Put%*h-HYIu{Zu8sS%j^WQO?<`f(Yv-;M4r zL}|DgqZIa0K9kEqE$NE&JR?w5(hUB1rUGxQO#+w^=G$hyg46`lpcIKIRsjr|^(B-6 zh&^Qu3gEqdX}(a1vh#i~Yy?}@#Khq6ix){vSR}lA>*p|Y0hpfxS!2x$${w7*^Tt3_ z3nI{3FAsmbZRMA_g~$i7F*j(}lsxDr!%@(rg7<$G~=0zrd!F=4ii(CBboOr~F?nsUA z_ez&c7B}K|?0Qb~_jo##NzMV<*YnouqE&!)%u1Zhoq+i|xz|W?EupM+J~3*A;dV>(yR76t8xDeLy>9z zmue^b2tbVHRwR^(oM0k6zqoJyK8_O$7mZKK9YFq!5b2Zj^xI?@gNeqINOMK2g7|4= zP4X`Rt25UQqE>r3@2rEa`9cZRuW_i&B?U!%@KSt%6AUvalL5&nBO!Bh%o8YJ7j5iF zWQm+P5K8@6+G?CKq<@nC94grky=9g@VBCvr;bs|lBLj$J`70^xuZU3vkikmZ&9I+r z4UX|u?cGp&a-5+1E&VZv6%Iit^mFAOeb-VuDF9cL{^gks+g_?c!hG6`ZeDobO_KLo zv%l#(GPBL1d#4RlbXBVKoG6ac7D>#l(2C?dG8N}>Eh4#TAXU+zSgqNfI3gzOaQya- zxRLmo2U1B7PJ)%zW0ANBgFJ1v!OFJ2#2Zuja#VDpMjr_?`5EyA(xN=r6Yd^wf2>dz zE~a(}8(yjV{FE22p5z^N02d6z2nCeSCg0yyV)*|7n<8$u5|gk}J^qu#aJ?Xn;z1`}q)f(*j^EeNX(Pj+ zMYV?tIG4(wEv4=nE!Ox5Xh&uR#<@;;$+UF=YjtlKWjQx|<9Vvi|B~23uU7CJ+@p-vc3l_tFY1TS@t;Fj=L; zU{FZ9fzR3S9HaC`yPAHXcw*dy^5Ry(^o4-LVKuAy7Xni(M9q(1BBNBJPsubf)dOmq zQe_I6z{KDJ&e*)ubpMYyg6cMf9;FY>5qukjffTp$1n)eTN;;^5QHQbnt}Y{m zyKoelLltR8uvdlxVq|O-E&GHd(k*wH?(uGBgqxoMXC) zwcn#GrU0m@|4^DI=fNJEfbIJHN`05tCy3%=*h+a;iE)+);*`Me#%pX>D=^ZZ4-c!> zJHM()NtT3gnUd>>*I^ydl(@-&e$aYNwofX$qCraG$McDBK5VCWdd8(ObZRlod7{7g;T@ zg}k{!Cn*Jh)I*F_YFA#g)iHx~Tw2@uzA|d41K{FfnJ&AE8PmRy@cI?hB(d;&jB8uk zp{Z^P>bZR2YtAQDWrFh|A*1zG6$%G?FJT}zREUm=h^6m#?eqyPkY6M{L5A=y30AYG zeTHs#`HBXh@BRN+U_Y~oYv!x5egh?bNUPjumeGnGqXEM28!;9;))>KS(d^IDUXm8> zM@`aePC$z!!lkSzXAUF}PM~GMHB&gnxa3o>XW9t(wf#snBs3o;RdJE^3&zdp>>DDa zD=vN61%uLTl25J9B2XUlZ&-t;(k698P~^3=vsE%P&&$o~J_*unYFuE!TU>1%)WEOr zyQ*J1{Sr-y@L*3k+@*mmL;9HsCrn6|xz6&nKjK>1@iz5`E~o0q%jno1(u+(1#%D9r zV5+-#LTN{yw@`vyG!~JTWzhT*P^qPEf?L~fW#_XEc|u2nnf;<=+k9X^tag|+(C5#3 z2Gy0xnHc>hV2Nl#lXg$ft{dh3r(^_}99 z(f%RN@fkQ3u9boHwsrdhIrhz)0(PQwTB76<7S4%*aUjU#>r@zc=Z>rXu$pTG2^1r! zLv%iqzn{ak9a{~)lyJkpT>Yo??}*GHEn)c#=Fw&R{u7zdAJ6@6WqH-n=82E-1#bxB z=k~Jg;99+oa9i7GuE)i)0|6i^6{q`PUUK2p@7sWbMf;GKV=}bUc7jIV>Z`4&=CPJF z1~O=5CUpgbH^oYRz@zU$5s|^54jvZU+#Mz(P2k9Ooa9di?y~ekr+*-CIX>5B07Uo~ z`o>OJk8ar+?#QTwZjYNJ2bGhlPv>pXAJ2!un}#oLuowo}&+z70Al;G2YO%eBQ@`pB zPj!?hIZ`Z#V?Pm2DyncGvkU+B+2g2EXcY7BOZITP%v=gIWFBHsM@_-~4fGi=#T>gG zRP!4nem-oV|G{R>DR`&o?ab#5d{DfP1Y$GFT22kLC+*mQ`%nkrq;VK*xcc{{9i5*% zkT54XF8Li+xqJZ|Jhu2|m!A;ayHRF9iR7ESWKaGwMn*(HKWHlN?RiSs8sAWMN&2=5 zz+M*NtwblSw2q(kfO)BUxZY@X6|O8V`CQ&~k7lV-OP^eTQc3rY>Q2dM|lN{)3c8_Ax*CKA2offiwEM-4@MukX?7 z1~DlAhUWT)@LD5d0fI(DP`sbb#%U^#&2)Sd{4lw@|CV0yB31)rjncfD&q&n+ zrap^snCFS6hDdD;t{Kzc$DcvUHZRs6!LOA`5zEguFT}!*O$o(lJ?Xt+W?)~iAf=1* zUFT%Pe|WB;Iore39g?zPEnW8Yp`ktnWdKU9scWoB*C|?6P)Z@K5H{VC$kn>xrH3q{ z%*%w0{R^xXqE?5zF?#kzbhSv~SGt^J4J7#O3nlI2^oOB5J`3f4rb(zoqTWS>`YDbL z%tomcEzqg)Sqk|U{tfS?f+3_ekD=;KL^3yL=jxcUcp$oyZEEMC6nkp=X1ye~5i00L zn){+YK)KhJL(q}nhLS$a#Zr5lZYPgtwFN_{Bmlo9Arw9d7uFlz5?FmMJ;Du`CO3Ud z#5rFW=J3W@V{xPBgb(gIaR79^kn>d zgwvW$Q=2>%JLCan;ey8uu$Xq+cLf8@B?Tt?@u1)sT{kb@VSg_wtH->>y8fWP1i?W5 zmQHMU)iHkn+FnTXjnv)QxZdKa2VWt16dS|g#4bb+LiRO2KvsW<{t+cue;`kt2+>s6 zw+9QRR|F5XJxjF_GPnwEDPrn@6NdLZge3mgV4)1&Ec(U}#kUP*3Gpwgo$jB$@N!jp?U- zX^B{}`^@S~zLOu>)5Sntt;=aWAT>^IX&Dvz1FjN+Psfb!gH~Th(7;Z_itnq^pVqE& zFD1V!>%h&NBx)rDNvHXRhN3WRubaH?XT|6Q4} z#LDZtJ9AZdM9&agFV}5At8}J7EiU9^2Gn9uiHUr+M7O?I0!zQj|sX0KQ3>|2Aj#8pM`J{&R=YeywhyIqq&wj}qx) zBMuxITBO{rU}y~sulFhv6408?UFB1oqH$`y*MNcbzIH;1y*F1#poPMdVn0PrTT2O+ zwFYLzh#k&Hx&EkjF%hHEx*QTbSH)o^8vN9QGk@knKBQWSb~S>J`8w^$^5K1!-Nc(I zNz+6TDG^JL;U-%_M*XVg`-)OXh8pMQwPR zxfkoiTAAq+hN$xVZAO#-S0NN%pynmm>7%H}LQ5?e_O?~!K>JwX6lMc(g`6(TldZge zHNLZ=b5gavnQmwuHN<9zypB_{G!Xk!YT<%kIV?l9{Ky^&#gpfsPEHjJ#aT^~dHmNY z2AZr7_YeBVX{*}RcuNL>;`=(LvbDzmFM@}5ax%#={_28b^lp5u{W3Xw^&FBm-vxSel5GM^CJ;oto#8YQ{$1fAHfZNO9-}>vUl9a8U0xca3@JaHa(z-CxV#-D??-H(*m+mR4I@O)hj=#kAqn*qt2{!5 zs1ZFR}I`0>i0O?DG4gqDu4e`Fxj&pv z-h+hFUi-x6W_rd~8u&&4)-hPgfyZ&L&xl7X{6e>?biBS%h$e-LH_OzHU& zI7D1b$M!#NHi-x+DYHeCkLYo(+-(Y$jCk>lVNkvMM9Uf2YC1TfO z@^?4qjrQ)G$KhN*?Re%pS2Op0qIpk9`hO1WxLg8*CW*kaM8A^r*IBRr8+7HQzmQ6z zTg&cKHTA}usQVvC!j?cqu$L2}BIJ6iQ|k5}%!T6IJlEt`$g&e^arA4(2tQaE-^Y%& zRW$W}?JyQV$Hvfh@wC_rJ5Jgr>lq+bme9hBLi7OyQM8Z=G zy6uNtBblrG_+*sdrlR!jz7ty&%nl=0I{DVlFxzL-JI<-+LZq8o6_i6?57gLFpiCU3 zXo)U7q&0F*e?*UUy_NT3xiK7s$Bs!<-x8A$t}}ZXn#iLLM4MCCi%>F+H5pmOr32t< zI_`pZlZ<^wv=|*w5wa)(s}TyjV-pj{b3b`*;9@v~{_Fd`nJ(M>o^$2j`pdZjjpQ|hn)F# z-LDE3;EP)*pgyjhxpo{{ku67W8(fpklVwPR`Ge*~)ExNTimxV~cfpEW19=|ULUTsK zNoYg`dtlpp)f8dMYkjtuf;<3~LqYp0dQaU$%b;d60tYDLLbq!#j`Ew89OAaC;xD)( z&Qsg|LFj}e8H{4KQJ8ybY8NXVb+Gx`(Q2uchsVfreS2KbZW> zlqr-zV@?*e#=bqkHRhV8J$6(HQiSZe3N=T^^#mxx0rhb9d91jNs*kicKubJK@qi85 zjs4b!ED|aJNd7j^{HhR|0{8z9?fZ`F_cC8`3>IAnGU7G_bfU{svmz50I#8g#{WX66 zWh-2H30_#nfl)FUE;Oe=E=(=pcm$z#80y8 z5$tLcs?lzufU34}qa&-(#!jm?B>z_`t|S}Hg1uFXt`AAxB!yNbJrI`Gu;Sv)Rq`wN z8#m52&a>6qQ~pcI?++v|l(G~=$(s!h_CRGfE&9Q#Ik2OyO!#Q9F!NkGHMRL!^L9Zo zUZhmU2Y4yghHuCiuB+~T(R^bz6>hbCCCZ=DakMDN?@K?5zUU?`5qzQ~1J(^Z2QNg8 z51>=RlRZgVL&MI=t<%ku)}Y(+4$HZhV5cj1vrt#%Kxov+E_Re%#wrx#R?$v>lZkB5 zZjjfKp5%aN22JPatieMu38ktI12Qcz|I64?&{RBeotD@8Ns_Tb)`pcb zaeqE8mx;`jRiN|pC;0>Mb?8w5^Op-QiMz z3>aQcsnd$yTQC8gVlNXAiU1X$P*ffR#xIzdGq(Y&;19fJp24A}2nB=BOA-^5(7WJy1>ct6Ct=zj~=(WF8uk!!1|!Ih~1%+>7# z-7put6hOJK4|H?8T)iTUuDI(-8^Rp;3nI0mR6Pi*o+ubPJ8h{N?f+(HtnkAhvOzuM zB3SU&6D>x`L1m*h&IwDYjB%;$p*7PXco$krK;9q5wVbseA#0lwo8jIYu0CMCorM1F z7F{tV+(*eE+{FDnzsBhAc=)(hjNBYhac)>15-dO%=9b=?EfMCkZ+ep^=Wo+ z_2aD?-;W0OhwVTE&G5CmruE8Lo$|v#{c|MO0_rlA^KlHCSH{ZdbdMXghZyexYK7ez zvjH~X6Q}7{l|jhY{Fp80`dYAt?pGHu_?(w`l*~<~c<~hn5P(Xq*Rg$fYIe+M+g0lM$RVCp>*u!~_HeA<>dKq7ojhNNHRlaQHPijTXpb7W z@PHn7895n|h{35G9MvTR!9JWIpq9VsDe+E#xah5PgAx!1!n0<8IQPwee(_GWrqk2S zOJYFb#j~FzKSvvhVcAU#QiGqSio8E-_}#lXRHEJpsCgU8sGr^g9{WH8)hooRf@ zWw`LWPNzV|0_Zz$Kw%b<+^|N)TBlF|hj}9f=m+fkqmK6ZXng9gI;4PFaDw*F19eEu z>jv>ThW0vMW0JqHc~M$~zv-EHOj4zfK->NX(e&#uT)Qt2-LW4j0Sf6g?ee6`Trps? zh~nQ%DzLu>_HUcfC(?4>vft7;KgAICtAn;Pf-6E~=@mo7dp$Br*&92y!pSZpmAava z!M-w!NT)69Bn>gZYpX}OGCpvjJJ0X~kLLP@DMSAvrtF4!e6^E3*6QZ{9OST1+D~g8 z0r}BXB!QBnjbB3B4y4pS%2uxidr+K5sl(&HWpM=Z7Yql>R7M2)#I_I*T_*yY9EVf< zb`GhDBdv}tt%*aD{;@s8|HwPtiQ?wN@4VS7TCO7fTlNvB)kS!EtS$eobxyG-vW;0MLoc0GSlQ_oB+t>KF=#0`V z_E>MjYPJ!cZh$V^Uo`W&DQrkRBsZ@vr-NtmgjIbxCvI8n|4Vb~diK$#kVlew{17B8 zPJ7+9zT#(24)x+@J@#1UqzVA4T1{RwTv#l^PS02Pi_Q9Qv)otijWAo0333@+;jLy; z*04UL)nv_>+U1S6XA%uAXITM8HdrLs|U%!1K- zFVMK@D=bGARSb4HQia{=-(eQhI!zK)D(i@Mi4c}vJ*{T$`9hlP@`~r7H68usg!w_y z%(17+zK~6i;5pUZ#cJPwzum;u@j4POJ>Nq!#bHL1#b{Lha~$y-FYghe^#<&C8AC6Z zwN28dLSa7XAcm5SHCpx^Ej*9{AI%7U$h<#@F4-J81ruNkdnLqli;&RmmY=ku$0}3|*lLJ!OZDRx(Zc6INM+BYTAPBz0M{A-W zqNYST6mk4PUSw7NPU~*J;Yr@X+4&u7bM0g>s~fmJaDfLL#&0Pv^0gXR4=Tu>d-_Vr znWx&`mco$)Lk&~4910~lIqtNa24qizFQKW;;Xjf{IF%=LI!6}%l-oR16l*(?M7SPJ z%H)G7VwN1k#~JS>>47scs{NJB>;eg&5-3J3u9yj_`}d^`%Cu6d8KU@Hxz6 zLT9Xxy+~n&V+SMlPvNCYL4U4G9!UF4G&-i zGWhvQ%)2GOUj#334{ww5ka1Nxf%%AG`D<|GQVNCb;%;}W>eElP;jc04lz;8PXqb*H-B?K+D(v;Y_Y=pkaU8>pp$hY?EaHoZ-t&5QDy^bht*na8J_FRsZP zkl3#YeJ>A~qA{&H#}_BXdO!B&UPf^J7e}aB-8u@CwUj6*emIaXv~@tztC!9Dt#RK@ zkk$|tOQO?o3^X3cFFr(6LiHNK%29c^#Xwb4m<+`P^PQTC!X5AlGZOV$YTVgTVEOn0 zG0~WE`6>@oLpj3dQb<{gXA9lC6A^10;m)h#^WSA`mWF26E%p~j9FAl1uSxf@4+;l5 zSY_m_BY>rta`x(zn?5II@PkBI*KNl~!ojlah1E@|gf{}~VvgXBM%72(%j*Fv1c}A% z*GczW`jqmysqddJ_=>A!)LM+XeAxQkXr|_mfO)ycJOe1?8@o7A4d$*PXjXJzx8A}p zIDXG?aHm9SPD~H$UV1;p_{{FIXDTn>zd*R2>yViOdZ#_?Q3~{*=OFe|=}%G#)6=*b zRF&^m&4q}FC*mQh*iO4~p8-jZKL+>x`9Cun%dqcj*k1 z)!#XN_|43?Rd$$7ucSeNSgk{Ok?FT%$X?0gs48cs6HbLa1H2#5X>ecmrFb#4&$C2k z#ks+7<}2Zz?ZsIGEk5gk9MdIktIk)_S}X94Em|hKAnSOc0wpg=kRXw1Mp^+%@gT%`$SLZ zOdUiOCA$~6IFk6AWId3l!TWkKOjwYCT9_3r01a-C@2kt~j*f%66ndXNKZ1*Ea0Do_ z(WdpMmDxy$E|VKK4X0bPI3;fgL=;v`V;^)I{4Bu48EIJ}sg7p<&(eG2AJc^4VrDH2 zSSi9WlT#oU;f7{kZ7p)hk})CYE6^jVnJ?jG^Kc(ojANCwNU$Ae*%o^HrS`hNC7+-2nlQFJ zfYBsqQOfbEk84}igZ`l0Ry-ZAJ8SwH@%+P*#Vi17Ze8d?og>o$2HxxFZk?*Vra(&^ zt>h_rs)CCA9Z-ywfFHP1rC)K{JIT}}n&AJFS<65Ozl2^R8<-{Cuk$y9wAg+_3A@Q?Sq=_0vavQ=gQVF6g&g4@{j|549boQkpHhN^f=dlc8){PW>^CjI;V>!Z zosi|Ox2Gk&@Z{TFM;~gX06078N(&R{Dn@W7A&hnP^}_wMtq=1{`Kebh)|Ma)7Ii#! zONSH7uyAos2}#r0RP&YMfm<%^ZJ=~7;C8{sQIkyn)Tkna2GVC8F_H&nKUJH%4Kx7T z4PhvbY=wo)INo2lOQw&bFwqQC7nNr>gZWFqZP%iXw7P|PTmb`roG0vev z+t+M)M3MrFgx5_%xm2u-mPn~nZ{b)R0hFm$xd!MX)5wPKerJJRPpXL{jyL+nGLo+h z=iAXkN3bgWKHV%c_c+fuLS{l!)Fu(rQB@JjC>)QPu1ro?=Mtg8U>peD_EL=41O?q; zD22*Qb~Iw$%7;#hLM)UyJ43lC+< zqV5m^Km_!_D6~2X%S=3)$&bKp4Yf58k)SBD)%(mrTE$voJVj8a!=(zC16YDDo9@QJ z?}|}~@0xG{Vdv%C6qvFo<@B?K6M<%kjgn%W-m8?L(7i#kun%2Y6~~Wi>&UalM7jC| zY5pO3MAVywSMFRsIgF*AE?1pk9ryC}QXiiya46)13-kk~X2wCcK1Y55GVuBWSGVij z+0LC~YvgMkGcN5a>n$yxDao;<@H+{sH|MZCkVfEmAWGP8`~4a%7kTYBYpNj1ql8~$ zA4!gRJKG7Jij(1UaPzDlk&@cTjdx;OW38MF{n&{@#61Gu3!PNft04}(e7sYRq?=-Y zpejusrn|*1d7?J!Xj)frl;R^gxVp=D=O^z3S9Zh}J7RP+_nZmw5>K`|Jn%fA$CzAT}tiDfNX zh%nPrY%Dd+rnyN`Y-w^apTnjT65}VTnUE%2b(bPh1 z2R)WQrZZS+QxbhnPll^6U08c*w1NDxW{NAXIxTMJ_v>p|&`8?;dv~uts>yOjHe}7T zQXtwC(ZO~|wfyOGw7cq1-@L9M&j_yE15_sK77E0(L$hnr-N|Zw#LYRaZcC~6^*s+a zipFDQq~4<--6{GBSDQaN1CkL}*CtRgDp}`E!z{CQie){YJ#|{w* z5UvQAtbNRJI;6WH=|vVaP;V7!+WR7K}&r{mE61~j77x$CPUDAmXl_CT+L|0Atsg14yIZe2eB2E6-SQ)OM8ozIza8J~JbEK_qGNpSEO$o2zW?T&RRXlhHV zImKQo1zt_Hv5>K@y&Usn>hAR7*z7%aqHjsYJjFQSBGbX9BT31AlsWY(qDO`U z8e!9~lX9VMu&FRc4{G7-0E@)ZrRu%BJ$5u#bLT!DOz<<{G{zg*eIPZOl>txAzIxQ>iD4hBfyo<;rNXU3Qs}k1kCOf-K z{4}(@2yA&)%1eye_`$T>!#-S+U4qaMKaOysp(3*f-RDIlIm;6;m_69U`ofus`wlX; znEb?nS^v)y7EsLX=Rpq_vvt!6~cT#_lL=$F;vXjD;7 z+P=6z(#3uu2wtk^j|YSm@kWWdO$Ib4dIt(vDXljFUyFsx0;X?$7wFk(l(l~||528w zNBJ_$6^yJF4S_oB8uGi2k~Gi2xYJpn|MY^0SU)f2pidXX*M8TEX;Gc7f(`J^^uBQF zlk#tVd;euyp05NKV~H7_iA1z!0rv|-2~n|Ez?H0G16#j$=6peAPGB_PZ*e-Y*g3uO z*s8!x)%(epxbbT4@|&u3xNlD|#o)qu>Gi9NKQyDbd7A2u2bI3Azs-RK7Ij;|k>MDI z01oV{;Mf})6D|ySLBw1^=^NDCF0@2=vf)vVqqnR#FeBNTTd47$QkgGrZ@65XPSTqL za5nJMv;e_&)Vl|FMN2{=Pto&W*r6U2Hi>ymP5cErhd#Z5Pd)N!nx8HX9HmFnhm6BE zisqMBdal=L8Y-uI?+*cjsa!2T`lOyXz!)Q54|};JvsJmkm|kWAD6TavF(Sa6FAD$g zX}ap)+%_?`lia}*o2ad^HV5*jkP(4jQU49^3SX!z4TIU!w>q*T;9=}9+Lfxhb&yf^ zrXgKV&YapJ<&z(&jQ=|O#mac;gNYnw^wN*YRHbz2X=nOyr_f_#Js#A6!&KSmli$=} z)jLmUV3&=aRD}}n5fBV$4r$;Mm@~HUGzq2*f~3f{N5mzIQzkH*BMT!a|8`Q+$(E3o ziQ$w3#e0Al6L0WGgMQYj#Df#}h5}zjJS^1ku%y|`514CGdNl@G!xgZjNeG-r z%&R6v-2HS{17Fy%hadk}T zX}U3bx1ee#a1S|;htcjdM2Fj(~Vya2zZ2;I5)o;+=6MX^Y z^{c#q2!68@R<`9!$ZybbrD@&Nt$gY%Z#wDdvuL<s!r_oB82i zCxxTuGQzG}h+SN~UUXbsEJo9%BSsy`Xhz9W{l>bS7-WsssBkQ|I_Brh9qIsiw0eJp z_kvwd{UiRypqiN0E75V6XicNZqY1)X1>d-sVLj{x{qsiO)lg4i5*g51?W6j8R?3;D=(Ps((6~#UyTpWfrNsbH*1SwuiHG8=xB<_%WA)&#c zaMnIQ0SR8C%}G#?>D8m?z|P%V51%!iDFkHeN(f~t(k9qL7lKoarpSiy^`6B~f}7S( zucHwJPmw0I!)-Qp?gg;kStDcHsaPdIlvC&~S;sxGbN~zQ$ax0!MUsx|3>ISdN%sON zhF!YADJ_0e7bwZnT?#eH`mA_t^lt5)*h`)?iB9oy8vuIzC;@C+#uGa|5ZzPV2x98` z=@xBaQRm8F^uE;5n(?QEZhVS5Uh^|>x^2bFU_qv%ytbfrVRUuqNEa-Z*NEOZJEPK6 zvib(K+lg$Bw#i(M}kG| zp!5ZhN{2~J6+-e!Xa-<+{na+(43CTx-v$|8xux?@e`qc8pu~;W&SX)Py)Qh^yB@;T zm>cYA+QH86IefMX>(=nLK8LIVs})U4&k3?VpkARO)D14{52T0V`M9gGZ6)YFdhX5v zF0ES_xRK|viK82_z%=)KJ%l#hb`OKelQlF$f>~NO{-`hHHD3rEh5EBj*+!D8SC)kk z=|zl-r!fr&HVTX!Fc0j*9;4$S0U4QfAl()d?_AI)~ui$;xoCR_Tb)c&6TGa+|et<&>aU^e5VHGsAtCF&OTt0=; z&jj7!_VihZ_Sd>W;XhyyAAm5ZoY-*v?J9)xILem6tts0e>Ry}s`uzG#jdMJ2)Sr|- zDQlL$5@^>>`hRn?-p4^eC8|kabEbwJSHbGc*m_>3lN~4|#F$-f?YC!8sSM{A8GQHY zpBix<|L=pw?)TJj!hsm(|3-*bWITkEx&tXiv_rvUf47D+Pr&UjRT%(X*t@cc;E#pp6KjLOw4YByuScCs zsa}>AeJyy9s=9~)nodwD$(0ml37HMrsxxY@Wk(;`@4+80l|CIW3z)?$*gd$*f;Ond zh%mkwk3%h&$fefKU)wC9(wa)?2H6Bj?B(ua1W}DnBYZ*rN`v%?C*jH^*VB$&gR-Jd ze_Arn->6MEEIlg3sy+Ms>#z(ax^Rh5jW;Ac846r@eRjGg=$I*24o~eOEnAPdGCJRz zv(BSh{7*64D`DuPt6UKOAuL)>s+01()=uF;V4(@nSf zQ@qmiS%V87c=5PwrN+O}=yM2XIh>M{Yph+3w9M7ZLa4~jPsW;Fe|~98!5kzM z$ub%Q5AGFNf1XE^Z0*mk*ltyLnNL9@U%S&!n+1MAzv!6`Y=DqjcsPr{hguX1*?R$h zBc!3?os?fk*^Z!^nzmHUG=-1(3ajGw6tb)84+={GDYf5NBIp-(vh=1K zWfm^P#UnVY%*Qu&RWygUK5YXpdKiP2Wz$z7n#MFlf!PKe52DeFLUfu#^`%sGIWp*w z^(ffqwA8M`ME&BOUpqc2m?hmu+t7|5YT1|==YoK7LvEN>T(+SxKS-A}bH?VIN z=t_<+blvrtf>AqfU3zBNG&2W<6ja^XIf)3xSOCTl^$WsjM9T>HA{x}x)fL}2!%$aZ zIpg3$>yv&dS?YJs$Oy1Yc&(*;n#JFfyFRe#$++Vv1E*`|Z{k*bbN4@A3oB(rBZ#~7 z%+Ng(kM89zU_FvwK{)4^`V@HUQU(F8`;KCg7by#SO~?f&TM(&dBvc?vZ(-5K&-!01cael#J$RRt}V`sPGab!(r8vbk(&7G z;*TQ$1DRR;z%Ki|M5S`dLvhB%$4fp1`+FUm0WcV|pSmWg9?0|sj~sVLhFdXa+%6UT zzOHkm= zCU#HHaRItXIIf$;EKUXM#l5T|ua~GpVfM1{sW&~vvEzF7=U|PT8PNzY!JbIfmZkPl znCT}FMBWqk{GJG;m)P~OG~)f}-zgB{us2ZAT!R;`Anxv=Dd-ZNIjqQH!uzPBq~Ccf z_y=el%Ma1EnwsHG#1V?U8E=b?i&{ce{b80WK?7IgW2^NWOunOHPIK@c^!V{90|Dfi zI#;ye>~ZCUa@1?Gw=PssHmFJ?!)nnFdLBSS^yPKV%IKC>&7qtytMihGdDwGS#flIa zocYu90Xlpr`)lS3-a!$Vy3fakK=H8Q3TB0^Ah!{h1~L?U7)DtpuiymO-Xepj0=su*aV&}qkkP@0u+>;>tGi*ddfxrMQG>lC=vW%<%ZN|(RPMN6LC70gM z!==RqM8uYpeWj5L3&UlGwm_n_X64OAImGrNru(?aozg^1vKX{=y+;?@6liDx(R)E` zvkA5S@gm+k+d*2J+e?6_s&(6}jQ)P2xOvxR_G>ZaSeORn5PKGD=B?x867>O6$nBo* ze4TPNxk*ZilX^HZ=J1h*dVqe05c}x~Gl6|fI7$-XZW(4kO`wV%>4wYAQCWOjZISgP zSKdp2a5)r5RJpKgeBQJc%ulQ)NB%prJGV%yW^kt{srdh{=iY2bmzu}8DL*s3rmi+Z6EtG=?B?m?Q;YcZ=+~t0W>LIrp*|=gGRDZAJ2hNI{xedqs-4H@-kna_Mu@pr;$#ROfMAH>a2X^pE zJvX*ZM$OqX%TeTXl-+RcR{s`~@#+XoEMl>h5;L@w+8=#1&qq_o?kBx5m zw%gs()gvKl(Dze$9@~;F3NsJy97MESoh>T5phg4Jr5Fr(OGU@jOO{{n5_O4G(YKyD zK*shE@AFZJ5o5|f5LY2nWAAOEh?!%Ct32=c>T|3mC2XM(Mcfb&^?`m?M~MaLXam!% zDz(&_oam*TcdV>@+`OW|jwaUVXY4OU7X|4s*40kBlQe72v|$dg!rxDaz14uI=`~W@ z7pdJg-#GAi99qyN^;OEP7v?Uc4`y|G`6*`wy<9h-Zo3Z%g08KhkHp#_)t3+$+TWyJ zhSDfP-314grrGcPr9zZF%J@eMAX5!{EcE+C|Q(VvP)%DyBcZCq&1U}hU7Ql)DM^R=rdm`+2xkD;$?eklZF zdFh_QL->m)Hy5_dZCdQZ-!z*Q+81!jBVU{mY050lS+! zOs)~NDZ^`ZnXxov2!Em|I`-9p0|VP1sdP>8fMr}gnW z3u1IGVHI!nvbm&5pJ0Q>iCP?KqP#w00P8P8M_gKQu*{NhkMpDgqL<@)>pRo(gpvC~ zKE?6{~>J(bf$vrDZP%(MgoWoA~S8qXb4Qh_dI5Ua|+N)a0P808TSJ z4Q6L(*I!x%QC=kVkA`}4Nt=_+AizOk&=JSeS*mS#%HFzy&@bd~WA&YCY`z5qk=8RO zshT^Br>cc`-&o^n^$Iyh&;ecEgJiyh?VN>QtK3%W(h*pa@L9DV$;ES5fWPZHZN!C_+vRCS!|&ZOp*2pXO(_sQ`(|{J zeCHLGZa%>!ZRrYU_nHd*6K?`tk?NUR;fLd0FliqCd7T(F3UCAJ#%nf0`3X=rQe<9N zD^XQ&`=)V0NQBVgn=rRrbnhm{OeP4_z`c(Dm6Dr`7eM%KeijkA1cZrl6yGe`VnCB2y_ zl_SwF0)?8@mI+M&X-(ZBy`Flq>Ff?`{@6Qgek+(7PfQ5Cz5}gSQ5XGBc?7Xf zxhaG|yxZWvS(~&=Ujo-7wIFhv&1!s-vSZNf;{J4wN=d5$`?bO%#>CBm%Bc%5IXowdA!|zQX?%^CmX>`(Ps+?DEX3ppoe`x>}SYRKQkhM!`-vznYam8 zmjbQ2mr4%9d?)%!CW5Wwy@3Z8oFU!~F?c^Ap2%Dxx` z&u%50o*VPP;+3tjSocdNr@$R5#HHaFlVueet2-fTIM`4;YyBCEa(+@DJS+ZvD#D1E zDs*>|#9qY1Y@Q91511VaW)@cjBr=&xt~KMhCF7_U8NsXfj(qmKXyZ#0vD=yboK(&ax*G_; z1BtR7`h8DBNV;e)EkN4b`7Y_I4;XrBkb!*fynKcHh={i>Jb7O4j45h3ExY9;R7_~e zcGU&xG75d-D%gj6bUw1tSrf%6*looo}^D71SPC|Ax(11I&x$`yo1 ziPVGt_ezL%Go2OC({>Bf%}rYEHbAj%Iuz9L6j|G5faWWcuWs~yRo`6)bm2=B!;}N# zxwk7>u*Rz#@VjWSan{;=YhqaG`-==#1SGkq9?T4{h0Y$E8mXtMKB`ZWD&fEMc3;!K z=ks`%Wpde^RB4y=XK`_oyFT_Vr{&&b*hZ6r*$5rD^QI+X+NZiI_So)vVGCF!&gCov zc~AWM)r7}H6ain;9MPu2idJ0TawX5vl$-KOHu&p5Tg&V0uQG90uDwU;qarasMk0U= z;&_DK5kTuz;o^hks*KjqS2;9aKp##!Y7&%|`h#qk)ac>5(Jez-fgHtqC}5M!f5eqj zRN0@9{XqnYf(L<3R9f`&e5yWP&Ok;Y%)s1IrLU&Jo-)1G15wTk04D*l_WYb0brVzt zc-M3yubJ7?NYI`6o=Cp=e|fn@JMKI)hp%$5o^M~j6He$lmu&L|G+b0V3JZ^4DWIJ3 zi_Oq`$Kx~ZJZXe(OKiihUR`RwGqPw~mNhvZ>Dz;F0t|`CZ%84RmgS9Z&uuqcqfaxv zN}8L`C(ln(*A%|CIuP*Hv|0R3#$-N1t9lJ$wxMmdvfh!&HdJ}^B|3P*_k<^V575!w zuuB>T(SP@Vq}-)zNH07K%5a^9y?XK&2Z8RsEGeRpZhkP^z!eza0AZ9^iDuNrymm`_ zoqZ@0Ceb~Qh<7Yhm*5&^J>7+P@9Wp9k;?K83kIc{0GQwi_9 z@mdN?Kl}yx&Ajdj0=V>uNw{RKL7nOvFmtvnZNR-UMkWh~k85HKsrSI$5wO}U(g5R;tL2p{0A_u9E zf!+IhfIfgWNiYS`0poY70C1ZiJs(;tkMaHJq>pZ+KtVpTANt@$k(UeWJF16tLk!U^vnL}^+`U%U@XJZLH`E+m>k5%Rz(GoU0VzXi zp~*TNud!=dORFzD4>lEW_S*ZmElYH(t~`{h+lp1TN?o;N0nC9QYnAz6B^HH=7RNwH zo0DkeS4X)C4@urJC4PGkQ&DI>r5q75+g^2AYmsJL%Z7x&De$2~)KC;-&vXSC(h}u1 zN1OBjF)+KzOwDWs1{Qs?;|?u9&}K_mZ8kn#27civd;HTjpFp}WDG)@pC{ zNQFnTiF96|2r0qd&8r!MY!YOr0}>mkzUyie6drA6Jd>yrru&UF@opFY<~nU2F`>Dr zQn97$X2%ELvBQe0RhxWtT988HWj}SUULiifT8|4;k83{nU>YveQ@!y+zh<>Cx9Sr_ z+Qm%nG|E8P2#ul?ku9h!mU%+H5I+`=LfE@JjH*maG4DyzqtBR>bmGd(4s>yb%ji19!^ES)rUEKW~P}%_&l~3MI9e-gy|&y)tviRh;BcV8Niep zjy5huG>IFBrM4Cwn#v(W^H+0?Y)8UDGQLgW-dZXPZ*O2cIHw|Ba#=y|RBj;&MdqZS zi}cfyaSickfp@U?g!ue8!9L2^P0ilHuHBc48Z}9BAy5 zqLb|Gm~zWz*4=A*C5D~v1yS!*2oI*nSCFUm{Jc-Zmk6jsUiFj$ zDNt_mUQ23nH3bTYW_Jvo?KHLZMJD~5mB$t30Oj=DyyX~o@bgKw{Q$F@pK&xkNc=kH z%9F#_pAZ}R%Txee ztorUFH`*u)GF9!``I*JqRyC{kwmywt922!}W!lBY)df5sc)R;e$1n??c?FGzL7z`5_BDo?Z)@b0u1=WfjMx$hXLskoN1|#K+-T~*snU_R(W4y&_Mw*89<7g zmah5M2n;=Stp@eIBSrMseO<>IaBg-BD1SFQ144}QAECMKsKr-~XitI%O|uNWpB7CrwQl+;bi zd|HK;DMPSPc`eUcHZ8BRO$|#CgV%qq%#ARCc0=65Sc-USJTR`FXkkz+l%+G8DsVNMykPSEl>muO)~r2VVK z#K8v8M)JeMHXCUcWU6%dKVSDFamn66B9q&YvUpuC4U#>pGi1RXWPl`{H#2FT0uCPR zMo>A&LGeMt5&--twFZU(^>FB@1#QqN&?sZCK-c7%Sz`dn1IF}e)YW-$G z?~_ioA+`PXjOFsupN`hJ>=Fi#cp9=qB)mWBaJxre&b)twERBGh)`Ezy{Fn9)1^4t} zJ&5+l)PN?srF-cNbOofkyb*S10aFIgD{vl6-=+9{ob8NhmyqN24&O-c4y6SI{|S2} zU(i(}HYWK{HUIRuZPrjH6-jqvYWQIBB9#vT{10ebW2jK3@B2Sx0ABCZZ^eoC^QF0& z9lBR0XGc3V)97$0aT9+yUT@)7v*frtV0gxzpIp-Gr_>N$ox5Cvcq;8_Gwc=4g3#Lf zbsZ)=nOB(!v8PWXR`rz=K))*5bEu7N=96{?_I|l#XOlMr z9QgwOrzZ&gx$E7o3-+$;D0?a&Q4_H|Sn0ca%(iVmX!-9t$_qQ%I zqiPSVTl-%}Nx;9n>U7!lgi(YYx5qbd)Gm`;Vl^Y)YWR(Rbw@1G~za z(mH>p`wp`SUE^cmFf7@Mt+?%wd`$IMNNH7;^k><&mhhjaM0^oYrfM-9Q=%`5AI;AX z6Yx0goqrc*##xWJLsymy&_hj!Vi>q2v6G%8xYh=#6yZRn!RBhVJ=`HiK{h^&uV(~Z ziwu1&Dn^*D`<3nIsqY`3e0>niw-_n=)-|EI-5UmOB+G|<;*Ig+%1 zL-;V`E(Rxjx}azy>AG$deds3@C=g*{W)qRW$9|_>{w36<8m1S?rWWecWP!mva=LP} z(OxEo(jJYp2{DS>TKrRtq}Ws@p}N(#=HelgCH1~;;hT*!W`)PVty^sRBPvq6!aNZ< z@|H`Si!ON6j2S-@P0eb>mG??JoApVBlg_0pT7;RQX;Opg5Q(TDr;Jb>W)sJlAsfEP z3UD>1AD9knU~O$92IioF>w4!YyD!LRrxD&=K}6n*&Wy?szREY!bcKq7)A2*l+sZZ>j*Kj?Y9Dawek*wo&Kj{-ne zmp1WD&0>~tM;p~+Z>msI8;t;rV{$UvelbmE}>f@OIwHXOE-uklgRv!29osq zt&$KRQ-rpO7^Q#x){A#Zw;5IYF7M!WPXBu3=VVTw@P0o9s(Sp}2x#&+v@ zg1Hd}=ak}F@PNPnVZ~`kBGVm32tB|5sR6a$qsEF*&Pb3F&)>d(6XpATw@-dn9cbS( z|A0UCG0M#u?1n_CO&^OvnR!P=;&~yJc+T`tr+qCSydVT9@PmmOXK15VDCjA4p~24W zQHzZ~_C*bXMhQgzJ3r%TB6PLVXT!{c2TX(Nw>VP={+d1Sus;}C+SFwDgRcvf+Th9$ z70p9HHMstx#?y98NM+R6tyR5jQp#zu=lOX&Ch6^d@n?51OrZlfl7Jr=8)Y+7Sg>hoQjMWDj zL!k+$XmcL}j_bVf+Z4aH=E?b5O&KhuJnwXt8gs#qj3{iZ>PU`fv#aDmL4x)xB{3$S z*xq6)W-W?|#nY-ac>gJbz9LL0=GfXBWDVLcp1R&t_Q>rZVIONGQ z31(CiY4uu4q6T=$$^%z6)Qe6lo+6_{0P~)H9yg~cGJRjgJjz>4F-RvcPIQ1sJ)vmn z_F~spE`Ym}-a$}iJIdMMJ@cA#>j_z~Rc%sK#pGRs2k3_tG|3qBA89|U{i@e0bB7pF z^yr;=)tuej56>)81Y*v@nqT!2N~@-Qu<{dOKnj|ARnkBM_K?^=XxSu=cI*%njoz?5 z-@E;)dpGTI$?)UzToBqZx^PJTOHY20ezuWdt?ie%6@M3YsuC`sOAcGc^ZGz9Ii&n= zp`IOP@q0PVq!uYKfqagD8-{{FRzFvq*RY?WpGfkidaKKlcLwhR?)I7Il84&;tVqOQ zTm-4VP3I`BHGQF3u8{9-*e5IkNsWZg-N~~}KbdUto}xwIPm^?{Af`2I&h%6Q&amkd z5ROYJ+Or7BK0G3Qzb*WgeB`Oh}aXs z?jSmDCvFN1-A`+;d!<{EY{k*S;6$qWu$$GsFA0bc2Sw(R)I@~QpU4fU;|kLxxE~1j z%L-LRnwiPoWlF^68hy@U?7Y{blIi!Mrqe7XaqfywyzEq>R;^I!3EWY+h97~ zVgy>OA0~E9+4i-9ijJYlylLyyx>`43)uUjm747#Wu2)pJB_!-f6S&{F8YO8|%tg_fdOj=685(kkcH%3#Py$(A zpT0?-%WtA}ZcGGV{CDM=xPirS^qF`wTh`2*&**f93%#8Wlpao3NRm$06jV?LvjYc3 zNuR@XdN*vsaH$+`LabEh0}_Ae9lN&S$AmwEcIJ6+;Qhe%;UMToC#HVLPY5zstXnTS zdIe2vGr0+VlHjf@`gLmMHd)9&z85tQc6QWO6EP8xCHU@h-4{`g(?30ByQ)1Eoa0C9@bIXoqZW5c?q za#BNqi�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

  • LKVR%7Y?X@2fRl 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ðv+ECY-k!h6# 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