From b53da43ad28466a3f7d91db67e1d9681ea92b33a Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 15 Jan 2024 17:46:15 -0500 Subject: [PATCH 01/35] adding kzg types --- Cargo.lock | 64 +- core/lib/types/Cargo.toml | 3 + core/lib/types/src/kzg.rs | 147 ++ core/lib/types/src/lib.rs | 2 + etc/kzg_tests/kzg_test_0.json | 5 + trusted_setup.txt | 4163 +++++++++++++++++++++++++++++++++ 6 files changed, 4382 insertions(+), 2 deletions(-) create mode 100644 core/lib/types/src/kzg.rs create mode 100644 etc/kzg_tests/kzg_test_0.json create mode 100644 trusted_setup.txt diff --git a/Cargo.lock b/Cargo.lock index 6aae513b69a..337f17289f9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -800,6 +800,29 @@ dependencies = [ "syn 2.0.38", ] +[[package]] +name = "bindgen" +version = "0.66.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" +dependencies = [ + "bitflags 2.4.1", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "prettyplease", + "proc-macro2 1.0.69", + "quote 1.0.33", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.38", + "which", +] + [[package]] name = "bit-vec" version = "0.6.3" @@ -1138,6 +1161,20 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "c-kzg" +version = "0.1.0" +source = "git+https://github.com/ethereum/c-kzg-4844.git?rev=e266280d88f006b23925c5062476b316d5407cb1#e266280d88f006b23925c5062476b316d5407cb1" +dependencies = [ + "bindgen 0.66.1", + "blst", + "cc", + "glob", + "hex", + "libc", + "serde", +] + [[package]] name = "camino" version = "1.1.6" @@ -1322,7 +1359,7 @@ dependencies = [ "serde", "snark_wrapper", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] [[package]] @@ -3801,7 +3838,7 @@ version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ - "bindgen", + "bindgen 0.65.1", "bzip2-sys", "cc", "glob", @@ -8596,6 +8633,27 @@ dependencies = [ "zkevm_opcode_defs 1.4.1", ] +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/zkevm_circuits.git?rev=f7c610e2ba15e6e426a6f474b722f095c5921dbe#f7c610e2ba15e6e426a6f474b722f095c5921dbe" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_opcode_defs" version = "1.3.1" @@ -9400,6 +9458,7 @@ version = "0.1.0" dependencies = [ "anyhow", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", + "c-kzg", "chrono", "codegen 0.1.0", "ethereum-types 0.12.1", @@ -9420,6 +9479,7 @@ dependencies = [ "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", "zk_evm 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/zkevm_circuits.git?rev=f7c610e2ba15e6e426a6f474b722f095c5921dbe)", "zkevm_test_harness 1.3.3", "zksync_basic_types", "zksync_config", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 95d433e0791..ecafeb20882 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -49,6 +49,9 @@ blake2 = "0.10" # `ethereum-types` version used in `parity-crypto` ethereum_types_old = { package = "ethereum-types", version = "0.12.0" } +c-kzg = { git = "https://github.com/ethereum/c-kzg-4844.git", rev = "e266280d88f006b23925c5062476b316d5407cb1" } +zkevm_circuits = { git = "https://github.com/matter-labs/zkevm_circuits.git", rev = "f7c610e2ba15e6e426a6f474b722f095c5921dbe" } + [dev-dependencies] secp256k1 = { version = "0.27", features = ["recovery"] } tokio = { version = "1", features = ["rt", "macros"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs new file mode 100644 index 00000000000..72eda7d3f52 --- /dev/null +++ b/core/lib/types/src/kzg.rs @@ -0,0 +1,147 @@ +use std::path::Path; + +use c_kzg::{Blob, Bytes32, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; +use zkevm_circuits::eip_4844::input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}; + +const BYTES_PER_BLOB_ZK_SYNC: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; + +/// Packed pubdata commitments. +/// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) = 144 bytes +const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; + +// const KZG_SETTINGS: KzgSettings = KzgSettings::load_trusted_setup_file(&Path::new("./trusted_setup.txt")).unwrap(); + +pub struct KzgInfo { + pub blob: Blob, + pub kzg_commitment: KzgCommitment, + pub opening_point: Bytes32, + pub opening_value: Bytes32, + pub opening_proof: KzgProof, + pub versioned_hash: Bytes32, + pub blob_proof: KzgProof, +} + +impl KzgInfo { + /// Size of KzgInfo is equal to size(blob) + size(kzg_commitment) + size(bytes32) + size(bytes32) + size(kzg_proof) + size(bytes32) + size(kzg_proof) + const SERIALIZED_SIZE: usize = 131_072 + 48 + 32 + 32 + 48 + 32 + 48; + + /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. + /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) + pub fn to_pubdata_commitment(&self) -> [u8; BYTES_PER_PUBDATA_COMMITMENT] { + let mut res = [0u8; BYTES_PER_PUBDATA_COMMITMENT]; + // The crypto team/batchCommitment expects the opening point to be 16 bytes + let mut truncated_opening_point = [0u8; 16]; + truncated_opening_point.copy_from_slice(&self.opening_point.as_slice()[16..]); + res[0..16].copy_from_slice(&truncated_opening_point); + res[16..48].copy_from_slice(&self.opening_value.as_slice()); + res[48..96].copy_from_slice(&self.kzg_commitment.as_slice()); + res[96..144].copy_from_slice(&self.opening_proof.as_slice()); + res + } + + /// Deserializes `Self::SERIALIZED_SIZE` bytes into KzgInfo struct + pub fn from_slice(data: &[u8]) -> Self { + assert_eq!(data.len(), Self::SERIALIZED_SIZE); + + let mut ptr = 0; + + let mut blob = [0u8; BYTES_PER_BLOB]; + blob.copy_from_slice(&data[ptr..ptr + BYTES_PER_BLOB]); + ptr += BYTES_PER_BLOB; + + let mut kzg_commitment = [0u8; 48]; + kzg_commitment.copy_from_slice(&data[ptr..ptr + 48]); + ptr += 48; + + let mut opening_point = [0u8; 32]; + opening_point.copy_from_slice(&data[ptr..ptr + 32]); + ptr += 32; + + let mut opening_value = [0u8; 32]; + opening_value.copy_from_slice(&data[ptr..ptr + 32]); + ptr += 32; + + let mut opening_proof = [0u8; 48]; + opening_proof.copy_from_slice(&data[ptr..ptr + 48]); + ptr += 48; + + let mut versioned_hash = [0u8; 32]; + versioned_hash.copy_from_slice(&data[ptr..ptr + 32]); + ptr += 32; + + let mut blob_proof = [0u8; 48]; + blob_proof.copy_from_slice(&data[ptr..ptr + 48]); + ptr += 48; + + assert_eq!(ptr, Self::SERIALIZED_SIZE); + + Self { + blob: Blob::new(blob), + kzg_commitment: KzgCommitment::from_bytes(&kzg_commitment).unwrap(), + opening_point: Bytes32::new(opening_point), + opening_value: Bytes32::new(opening_value), + opening_proof: KzgProof::from_bytes(&opening_proof).unwrap(), + versioned_hash: Bytes32::new(versioned_hash), + blob_proof: KzgProof::from_bytes(&blob_proof).unwrap(), + } + } + + /// Converts `KzgInfo` struct into a byte array + pub fn to_bytes(&self) -> [u8; Self::SERIALIZED_SIZE] { + let mut res = [0u8; Self::SERIALIZED_SIZE]; + + let mut ptr = 0; + + res[ptr..ptr + BYTES_PER_BLOB].copy_from_slice(self.blob.as_slice()); + ptr += BYTES_PER_BLOB; + + res[ptr..ptr + 48].copy_from_slice(self.kzg_commitment.as_slice()); + ptr += 48; + + res[ptr..ptr + 32].copy_from_slice(self.opening_point.as_slice()); + ptr += 32; + + res[ptr..ptr + 32].copy_from_slice(self.opening_value.as_slice()); + ptr += 32; + + res[ptr..ptr + 48].copy_from_slice(self.opening_proof.as_slice()); + ptr += 48; + + res[ptr..ptr + 32].copy_from_slice(self.versioned_hash.as_slice()); + ptr += 32; + + res[ptr..ptr + 48].copy_from_slice(self.blob_proof.as_slice()); + ptr += 48; + + assert_eq!(ptr, Self::SERIALIZED_SIZE); + + res + } +} + +#[cfg(test)] +mod tests { + use serde::{Deserialize, Serialize}; + use serde_with::serde_as; + + #[serde_as] + #[derive(Debug, Serialize, Deserialize)] + struct KzgTest { + #[serde_as(as = "serde_with::hex::Hex")] + blob: Vec, + #[serde_as(as = "serde_with::hex::Hex")] + versioned_hash: Vec, + #[serde_as(as = "serde_with::hex::Hex")] + commitment: Vec, + } + + #[test] + fn kzg_test() { + let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); + let path = std::path::Path::new(&zksync_home).join("etc/kzg_tests/kzg_test_0.json"); + let contents = std::fs::read_to_string(path).unwrap(); + let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); + + dbg!(kzg_test); + } +} diff --git a/core/lib/types/src/lib.rs b/core/lib/types/src/lib.rs index 6d9017e3310..1251ec0f4cd 100644 --- a/core/lib/types/src/lib.rs +++ b/core/lib/types/src/lib.rs @@ -64,6 +64,8 @@ pub mod utils; pub mod vk_transform; pub mod vm_version; +pub mod kzg; + /// Denotes the first byte of the special zkSync's EIP-712-signed transaction. pub const EIP_712_TX_TYPE: u8 = 0x71; diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json new file mode 100644 index 00000000000..afdef2a239a --- /dev/null +++ b/etc/kzg_tests/kzg_test_0.json @@ -0,0 +1,5 @@ +{ + "blob": "001611aa000000353508ff00ff0000feeddaef45860d702bc36fca406b68083400056d38a56614cdc2aa701a428e0cc23ba1f919cde4d5fb222dc6af38482c4500564c56a81cd8af8e0b1937a3b22c40e666bcdd673beb1608770fbcb5571429005cd1796cc0a043df185750fe6eb86c9c4cbf5520cf09188b89cb5c979a036800d65cb3f21fc3972f62bf94f963c69f4fafc986f375e6f2114b45cbbd7a160d006af4a7ceea4a7e547715efa7d605e413163f81b33cac739b22ca40244ea95100536166091df9465f9562801ba93b007ae5375756d17e5b8ed31cc3aef00e44006f7cbb43a51679f138f6180f2fc92e93a5e3207a8645fc86d03e154ebf1c6b00768b60f69413d43c261ede4d3ba55b2f6a6760e69e2d263118c16e2b51491900f40191282d143cc419450928bb4b857ae1f7618f3c041162c47467e7cc24d600ea6df46b981ca436cf2701275503ba850d93d09b587918ac897183f0c3bdb100dfd8d50e730dd1603409af7c012c7dbf96b43f64d5ca549a4d775b8550802a00001dfc857a7cd4064b8a21af058c64d82ba07e2cb39c513c65a3d460b29eb900ce7970c256e5b868da4d70c6f7658b2c07c3ffa25e069a1602387ad974cad50013336f7d417676dac6bb870be47fd6241875ea11b2a41fc8f7f677fb86432f00837df8c32e56d2b106f38ffc86f1b1c93eb3eec673f1b0070341fb0e7849a10093daa9c4c7de55a200e09d4689cbc1ff01a38f79675931780f9d643f954624008214ed9a7f52b30bf9a4434ef8467bf8892c028ec93ed2791ec777b412c68b00a16275d51d16b431fafed3fc4f33c76dcc3685d8cee65f6514fd8a8e32e5c70024158a864453041aa82c39698a95494a9605b6b97f03db4299c84b7c71dfa10086d1f2a07c961000a8bec8f60baae6a6f5b711c9f6410b83b7fba418a620b60080b11b76763a24d6f520fbcfdcfbd2737581aeaaaaffd40b447082acd709a2004167570267b798e3f0b6a75e4cf0a1ea8b021a5ff216abaa39a61018d1a00f00edae15060edaf9935fc36137576e695d9508a60856541f0ca3df2892a4b97700ae32f4808b1a47cbb769602b2d9f0381f33d1dfd723c724f57648e0fc850b500715d133c291c61f318a6b7d9d2dd73c52515a4c1ba9245a659d17475bbb7100080eaa3e230cad335dd71dfa869bfd155b55622ff0910d2ca9378621a6d37b30016235c3dcd08df320013517b4dfcbe8854194f7c57e7579408eb4fbd8f2f9b00d47ae2258ea03c8535026f99db6b2b19fd5ea2284ebd64fcd64e1185869027004e0a600cbdc4fe9e49b22c76dbf99f5ffff35a5dff42859a61a5704183736400513d85063fc17f87166645c82ac08a172b9d9d5349a4e24a0f2d8c7620ab970061a9ca78528ee4e2bff392988d1830ff9c7868c915ae1c35ee3ddda14ee61d006522fcc538d6a5ca38c23520eb4e94e6a465dff1e22c2e0ba7fdd52e1a3ab1005d9e5a86950e1934716ba93b1ec4e9927751ad3f87458f902959784417809a00df359845e013e0e5c582f96b0e3c650e9048e01f23a3ea5885a1eb7826a8b800da9e166a5df9f702a32f22b23ecdebb4a2f6cf8d0b67027131a6ade222e28f00541e0e6d2bf4d44d0609ea14c9f1bce0f3784c8bab9d3ac975233b25bfeb8800ebe5534e1947aa8cd3f4a287e38ee56d3499c7a5bda5b9532ed15abe3ef95600da56006c49cb06e7a509fb7a41c32fba135f894cd0d27c2cadf24f022abe7400c64a7cca0c224a8171136e63e6c87d26fdd73e7e10a49f8f31939e9e535637002cd0e6c9d18b5cbda50db1415aaff266282238ce1981fc012a8f4a3b9365a800490951c996a450d0806074091083cccd8d61f6053564d0ca95b546994ac77b00649d9c4d599423b6adb082037331a499afc1f8ff4c9f0def510743e509b44e0032245bc061b49f7593fc207c6682705822d1bf60ffe28d72eaa0f2ea00c8c100030db4e2fe3c100fbae90fc8f5ac7e07f069eaf4454fd254b8d2489779b1f70019b36c6c4f84d2270c37290dbd366eecf853a9af9e5d67448385e72386b74d00e6e5325195cb2a75aef630b7615bcb758e661e349be9b73471e1372306ce1c00cf943ee18488b9cefa2f7be0649b131129c94400ccf5ebbb315a767e877f80004aa69882de3191203311f4da6d0a6b27dedc50d8c9ef0b8b5bfe3c0d31a04500fb480533702c5743ce7377741daa78b885ddba1fabc56b94d98accdefc45e1006d3fbe556ac194c646bc8e7b170ec12cb8a4fdfcd31819ec4fe50b3dae1f1400d278167eefd96473846ed7d7d2d02e1c94c0fc27111f74c6b52e077cb7c7ef00d48c30bf3df50b2fad7e06a813d01d36eb02774c81e503bcfed7f023568a3a00612758fd7aeca01622c0b4f6ea67caa30e8e0bbf3b0ab09db5b8c1acaae7c100baaa8b1cf3f11e66862291b0757fa4d95d7a5e81a022433296029a87e3f16800094b1a32297396ee9f5efe35c3427c1c05667f9d10a8eea1d64445c957f3d3002e0c185bf25e1c45f5bd675473612f0c158eb00297f34241bb68accef7d05b00fbf2cc27c1441ef1e58712e55a8ef14c4167eb98c905b496ceb52e1a304ca2007b64cf92a1f20e52d191b051036f6a3d0d08dc3f85b68f176b2aa890d54ea800fe2ff77812650c36884c113768f67ae640027c1e30458fce3e69fd709c2e390027bf78a8899890fe64e8685db077bc14d480a03edaf47120a99269c08e38e60063c8ae022536ec684e687b369aa2ac6877b551d8b6716a7f53c9a1e658d8b30091dd6458b491c8ef3724aae1e683dbb34f8182c4fb1daf8e9cf4e48f2dac21000c3515a1a779c018937026640d8710bf6ac5c4ebd8c9cdb7cfba19d02254e20038b47ef2cd8f1e496b3d09aacfff4d5b9cf1b147f9b21d107feb78631e8a8000309fa8dac4baa95e37582b97e6991d9cc89e7bbb4f0cea3b52007b7b8dce7b00b01081b28f774cb479ee0e52f6ed00fb3c531d25eb253159ec933b0fb0ad74002e4ba6c66df79de737a84d2b0394e49670f6ea66d0eb9faf78a2e1867226d900109ac3f0fd8098c8a23da40a41c0bc9c9955d96d99c3fbc61e02932cdfe038009e2624689a601abc2c84df2202bb383ba56a1f2b4eff0568f754e72e2b5e9000941a8360c1005d51d2ec593142644576752791ecde03d241aa87edc27064d700ad83bfe83fa3dcd1c1cde7f575ddb1327de0a6a2abb4ab6ddb615513f4238700ad9f3d17104eb1a71f5ca6f9fc6ac7198f2916b584ce3e9145fed553e5e622009d29b7eb5f8a253a1404c776e3ae8cab84c430e6bf9d0913d75e10411f5c7500e6d73c3983caf1622e192c4ef90fbfc8140e23489bc717c3341336ee66202100d1f50974bc0a265a83a644c80efc9a8a6d24ee5ba12ea3cc3af1b17711b509001946fb9fc616d2e223cab9f039702bd52d77bc020b61ee74bd3b5c2be686aa00d9f0224224f3e1ea64f3763c5f12b6d9a5dd246db9404be07d34eb89480b930019f7049adce5b7c4ad818e24c5ce38c1d69ab0b22b76434a90de92cd8260fa003a8fbdd029f47c6239b42a0eab8b1494b91e66919f7a5135cdc9d509d42b39000c3c4bb37532f8dd02ea2c787cfb5cec98379733ea44a862fa0d31f9b7b12400ef19376a814f447761f084f1626fcc34b907ad1a61115acf892ab7cdab769900e929bf1318036fccb173c0ed3dede98975f5f1473418545630066a0ffe8ce100c06476aba4f8e8821912b086581a2265690462a589f664736df7b01807ed710063033e51b94a97ee70a6c043485dc263f168882358b0ba4eb4e7babf47f4c500e080b3bda7616203dc39cd0f9beb03a651ebfef13d4caeadbb061433c939aa008fec67bbd943cfab0e53b2f4f8438a443adec0395720fed17baba2edf7369c009b91884aa49c8f29d40853bac530e78e4927c362f6f83a8f3733a07f278d8b00f433eeedf37ff4c536c9c763f0fb14c2f6675f6ab137afe78a015c22b490f4001d8875a097a5275e91dcda2d8753becc7b7eb6b38c05ce2b76721118390e5d0094557218a32e3e1bd458ad1b6f9ea2427811b75eb4602ebda59970d62a5bde00beca2832a173cc8762abd0839bc74456bb0830c662faf32ea2902a364982530070c28dd8e3cf8d043af318795cf56cef261fa0f310842e7fad4b124a2968f0009f90abc3ff615ae1f0f39387d1fe146a84e1926426b3e0ea7cf68177338a5b008b8ae1880ba7e7f6678642b8b4eb3430d057056843508b2f045edb7198225000012f6d49d603a844919d0c2e617a20f98fae36a31b27c1ca08cb0789073e920080f7371005eb1dc85c0b890021ecb73a054153ee8ec3607b4727b1958f5f6700d7e34c00e48d311627c46c3380b6b3c002dc27ed259043a8a102699b9efd18005cff08dd1aec7cb0e3af4ff48e025c262a60c2d5b7e89fd8b1f5d4eb1c142b00f55beba6f851206cf8cf9715dcc53ac62990631398c294d5d4bb9bbf5bee970038df7df4043d43089a5ea3a160878f456159774dc8720975078524e880d4c600724b0ea86b889333f266ddabdb84b57c082366d4d81ed1044e01488ac705ba0031c6fb442f24a47bc3e943e6fad125e1f171d217664027542e484c29f36d2f0045d0a3da1114f93a79b2cc9afb05cafe22c3f5fd654432faebabf5b1bd60bd0059a7ffdceaa76ed9eeead1a0d3e65e565a050612be0a7704ce748ff77d431c00a8dba703b003d67d877a5c5ad320883bf702bc75d2735f61ea697b431f1eb3004d9a72e04c0686b8a4d55a11be4f0122fb1a3db62f20eb95a317e38fd4a3ab0044c2876ee44ce210477d6e6047f4cffe8b866848a82233e16a79356e61c12800903a8a346e1caf33806cfadcaba5b7b01b24bdaca1fea538f4517c1bf1113900e1f3416f93fe3f087002847a2afe9b156c3c68be9142a6c288c08a4e85b82400dcbad29e7cb002d334aa9ccffbf339f14908ee7d2308769cdc3f45c5d01a7200922becf11b047c095dd613be66a22e3038bef4d05dcd2ece932ed730c508020043eaf604ca2346505e9a724a21a04e4a3c0f0a56d3b06b37d4f5c403db43d900ce048a6d6fd2867496c21eaf696177be3f8acaa7235bea6dac618409f5c2c700c704e64b250429df7d65e7a93bae241f24a2b762a2107fd8afeed0f2a977bd0086a08be7f4fba6db2fe19106eec9550ae7fafdd841e79e2d04c165a5b54a30002092514f6b41d976474c19324cae9f043bed7912b06525bb0eed686e85fda1003de7cfa8ae6f74404123c81c26168c0e1f6174d6e0d4f963e0a4c0beeb640100c16e6886af514baf97580db6af1b42a068d8e15b4e0f3f797a2ab661aa2a4f00a3792a19b1b924d048c4a3e8032bb6714ed4be39ec014122f2a7d3be4efdd100146d842a9998e5e4f4d0131b69046f3aa8aa28b04ab54cab5e655a5b4d586200209dce9983616bec3c7432e844ec6a043e5428dfffff5724b3229a2994ec5000ae9a8a0c5158fefe6fb54ad279c36850842c3270505f164c211f18488c830a00202bb1576b7415fbef47be844c3e60e71dc098af824e9b33ab33bc815b4306007f4bb2188e8dcc2615a02cf53a353e75adc8ae0463099c8fab399581e963fe00021300c8a8679f2a12e7f25ca021a03f5b69f4649df8fe4dce1c1a926c36dc00cfda43980f3b828b6d625bf0cdc2059d01358141e3056bb3294a5d2237e3fb008d0946ed5721f5ce3cd5f12a16efda605b118b01bcc1887c219ee4b22a91cf00cefe3318524f2e545c6e07c072f2808c53d3455fe3f5463908bf2ce38e5e280063d1346f41b426d40c499920a33653ee40ce40b5981506f6278e84b5994c1f0015b527145e9299893c719e1a2f8828290de289c6a2c268043b3f4e6054dadc00cd1b16d39d69edab162258965d232ae2aafe5abd0a6711824bb3397b1c770800575e00bcf9f71fec89d05d9f4bf81faad94ba95c34e17a285e418591ffca3f00bc3a35e4b5fd7a56407b31e9195e3f14802e87a95bad082973e33e017c5bb400ceca2708772b035c24a7dfc584842470bae866d68fa309c9cb5ce894823152005fe3246dff50d929f8ad49b685cd92144a10732cd0a68137fe49b87536dbbe00e2602c3e907b163d800fa0c2935eecd31478be49465ff375c01c26516c6721008e4cf97a7e320653a5937ad8c939fcf72eacce6680edb4bf67206d5541a45b003d4e28905958e7260a92e9cf217f1fe1eb6cf1fb7ba8ba60ad0c9b8a94c11600c7ebfe658d1e91a092a09d0662c4083a9d16202286d01712877e37e1386ccb00789a8450ac0a2c616bcdfbc4a9dd21cf9ca2e0c4730f1e0ea608c105246c54007adf91d67bc5fa93d3ac0b5f59cf1a9da172692a8a1208f031b956ee1560dd00731a1d44323f83899a681effedfb7a6eafd3a22894382506e54d9e98fbe4de002864d2b77bd9c1353e68d0c6e97402d2c05ad39890356d7c795c1d02bb2f8800d210ea109cca81754fd9e28a799ccc833d23e07bd7e29a2c7efab817687daa00a0c10183533471628bc9fd6a075eea5da1a4cae7e915cc1ae633b9676020aa00f6ef7dca2499ea1b358efa0f3e721f61e7a790cdcd48a00ff8d26913636ba2003a44d01cd1c04318c891a81e15ad03ae88e863bff700f1cdea3449b4d8494f00742ef28221fa402199a8e3eac512898749841a256c5c5e797ae8594dba7568000df9b37eab7c856e353d3e795161c3ec2fcbb2ff48d4a1d60949398a9f834900ffc9c07c09e349f5e73ba3762bbefd2f2f5a38c0b9d917892a6c0416bf1c3d00f07dc43fd946867c55d5bd509d7250362b5cfeae27e63399b38fad7ac3f2ee000043df846cdc006f2aa510f0d26ec94fde350752d1a27a5d5cbe66320e314800d33072ee91e110f980900c57ac189e9ce320ca770c0826553538f51451e7f400ccb16f7e1faacef16d020fdeac51c43edcb266dae86832bccd10a36e4fdaee00539b60d62f83ea897b1db7f9271d64803c9800f71281a9d92bc90ae357e827001998f857dd19a03390befe5ee580f321ea8210dad7797e87981e0198ec61970097ea6e6b2467b9a67d5558be6ae3d188a128ca8172583c593efbfedf98b1c900f4aaaafe3bd9c81f9b65196bf96ce8069bb7eb15091802d6c7c6f3f1bc0f28003b64f69d576cc94ff93481dddfe0c118d9673f33ce10fed6d091db2f1eb50b00f1a4776fc8b565cb12e0475a8846b966f082bea0f99855e6767736b25c377100de5bbb7383581d4da44f59e4eaca3641e123c946e2cee43ff0a4f720aa7bb800e7a7f2031232f90af4b8b74f22cbac6618ced7c04de7224a6d885750950ad300e4e4657af13e202482723b8d963d0026da776a2d493dc3890a55eaf5bf0c3100e6044276212636595de3370d06c2be9d2f36c7828dcd58a1f70c3970e13d360031c9103f7833e1b0efa2fc79faafecf41f0578094e69ef0759c8dcc6910c5a0078b1d4426d0219533c6c41c6ece8c835a6d4716a13b88022ad0d68d6abd5ca00b9b22aaa6cb5a7c192357a5f1b3cbd2dcf6ad4b0cd527c9df39294e99a02bd00fc57031146f7f6c0d9d6d9fbfc5c81386f94f0c2d2eff7427daef8cafc98bd00e009f58a88e9b6017f15cee9d8796ca1ca192e97ff0faecf0bad721def9f710046708e486f578e838ab9f6adaa1c7eaa892fa7006e530f566a123cedbfa91600caf31b098f691114127369ffb5432f0d070d4bdc0c273d10ebb9f162a43e4600f842f18fd27971189454001987f4bb593fc6cf8aaa653d03a40db738b2fe6b00dd6ff4c525bdd78a4e9386571d65e1ec514a029f8422f66210d4f6027704e300ce1ccb0ab7e888fb810640a11d5f585aea17891bec2093752d168f06c47e4200cb60b42ac820de875e87d0019ef4ac5724f0ce9f859b09cd47d2f94526b1d60018c368e39ac583eafd9a023e3d7715776c612651a4103ac5beafd99af9fa7d00df4192edf7b92b23c2300100f8782c50d6544953a9b38b1b777e24c03be226001833f4484fd20f384ef09cc064dbdb82528ee8fb4214698904f90bee10fe8a0086af97ea8a04718e0cd3a165f8f8a8380156c43e2b1bf6561d7bcda506bd6100522a992100953d2d9ed3b951497dc6f3adc828ab0a1cd002fac444511fd1ed00ea4c6049e707d1bf8b5e565f2c2ea32cab5a0471fb46ab95bc63d7cd074d1f0014665fb887d57c6bec9109008c2f3335ad1fc607a12895e91c19fe73cd8113001dcc6e7d2026829d7997c8ddef19a017c9e644097504bb25a007977e2d559300667333a497b97ab20fc329a2fdca7c5f601ac9ed22e7b7d73339fc14219632008e0f08f6a46ee933ea97e158b4798115af615ceee74e52f413b604ced5518700de0417223fb1c195498401722e89fa9f2f4a25221be932439bd466cfe8bc6a0000d53f8a16d8ea329c880bf2fde53e28144868a2b9b26abcadb69b4138d14700b6208ca39e32b4e66a089f15a4f9e528c788c1aad73272ae048559f61cb5c5004ea5b6504a8710ab1f7473dd043d97d024fd15779bd3cc35b8ef9a2051747600dfc1d4babe205106c85b6f23f3117afea87757eae879db4b5ee63987501cf7000a461b9ec08b63f87528d41c8ab2732ecda318976f1ec9cb7d0660a28cae7300f91f6b934699df5bd84c6de7d550f3416c4715951806d6392d14c9280bff8300f3d95c43db077ec31a31eb18a301d656b42c0d274786e65324fa4fc20a907b008e5b7d0f9643a6c7f5ab9f94d38ace9ca413b383f8de37fa732ede9518567000e563d477cc16e494e3436cc9f87ef4015fca07c0d4fc6ef72ecfc095f9f4a40098f4fd6aad6c1cecc890c5e5348d791b653aa7677459d5c01a387baffa9a5600a75b1d8889be8bf279f4ce9fdb0e0546f726d514859e897e7ff490626733ff00f7d55b760deb0546d6cd58195373e0b018c66cb88feddce363a1aef01f591a00130335ea744f0e136c3935b672712f1d54e9c9353f86bc3664635ed5cb9e9500b61e7a6109aee0ef96fc8acbae0845378dcf298a2e70fffc584342478b4bdb00cafb338e9b4a67616a087183375a5a2d885c6fe37e177d79d4b4c5475e936100bb02457629771e88007a99d278a6f1c7b68d8511df3aa12555c7ef41402bbd0092567b458de87ec3149711878e085d8d83ff0505e0f01f5a268162cf7926c1007529d0e3db04aa13cccc1d335e1bec57fe5a06a2443879735d0363ba6379db002a64b41502a5850ed653e430ff5425e3cebccbf6ad36d503325c50bcf003220019f3e427c3d74cc2c3b1bbf03080ecd47f585085bec9b96b78d83d4b501bd80088f7f2d67dcad41387bf884cf54a26dd1a37e81af8dbe377e0a72805c0914600a4ceb93a624f88e6ffb93504d58d3038d649a1f58b942f32b26584ba46b6a300ca53da05ffb17c119b39422fc78af8dd73aaed808557d3786b3875c176d69400f7a1a0d46847f500f6b81a8789fea305ad24534cf241dc4aa3c88e2c6ac35400f15c09465278fd877b4d7826ec2a937a8d5e0c98a2cd40e8fb7b0ce5148b1000c858d86372e00f03c910302638baae413d701115b4b6f9cd314fc18adbceb100b1040972c5ee1d6716bd3099dab72a0a41e8f7c800ce6281aab396d4211f9800a199f3ff5c6df61ef121db91fd26ec10ea76d3baf33af999b138c09923eeca00c0250451cd5603bae7908b50c5b717728d59a7f9187300d2382108e56e0b3f008ca6447fcc0278b07545224b14966a714aa6cf2a7446ad7cb5222534b70c6c006f13c582525584eefd04e0ecac4e3673bbcc0518fa64ab95e36da964e34814002c5ad6db259dd954e75eb048dca4634c8d26b2a83217707fad120b7753dbd700974cfa1946837de10326abacbfb9e80d2a622b45da06710885de9f7b1bd630006b7df4919616f26d1d269df164e0f47da9df6bf7900c1252414654c2edfe33007351cc050808deb43d37eeedfa03e0f170abd8309a60aabd419c42ee9b0b0a00784edd27c848f434797fae328c0f0e836133607036b693cc25ede9a0009a480039ba1228318238b42404b7070aac84030fa4cc283063b8b849d069e7262e800009191d04ff67af283ca2c064528a9b13c6774d0c8f0346dfa28a8a9856770500c5ae92690257d169f13b2d6d54b28a503e5403669373ee0e7c36e5edd5b1bc001585b2e417e7ebcae8cc2cfc5279af425e3979a6cf6ed15d4f8b5104acfd8900bf236f0f58c5eacc7c38713ee1ec2caf4bbb65c9fdd84959ee287ba4a9e89d008909e847f0860dd003b36779f0a062aa48e3198380ed762b970f6bb8e0d2f2004bed6f135aa9c4fa5654dedb6c1c112e1a93ce0d99c2be80bdaef8768f1416007f8279a78d77b2e3d2ac5b3e9a59ce849942705f50a27d63c6a2e8c4f9061300730f078dfc0dad82a33e209ec8708d4f7da75501aceb370e7c6c4536d86fae00e868abceade47a5587c124a32bd05f5c329e0b2f5630f779c94ca515268c6d001dbf7fb7264193f8c56a55a24c7268ee05294c9de551702717d2c54334821a00f73a76d965a9531bad39cc2cf5d2c62ea6e32192e652e692595d693f5d1c12004d5773c975a2e017caa21766d374fd6ea74115d2a594abc22d54b0f43b2e76002b927f46276f360293245cd9d92f963204e8a88eb10e5748a77c4eb91ccf1d009a6a1da70699a7898f0d2d89d9a8d75dc6b1b25b5f8251119f339e363c2a7d0022a5ac5869ff405e461c31fb41915063b6616cedb773ae193bac31a3fdce0e00bb13593b3806501e5bf9bb116ba3e5e78c553ccf18654d919578fa7e96392c00df200325fe6d1178dcf49d17437506e84107205c4b01fcf1ba0cf7dac5321200ecaac827c279313d2f66e5e4215b8b985d0ced7b7b97e2110281b71d2b91e6002169da8fd36446674e70b7e090d4f6b66aea59f7e07072a4a459b88b6fc98600bde821603498d72b2f021d1912e1f806a3e8c78c561069e82a1823af112698001caeee3f46f51cad09ce55ea7919a6a95772d5798f573213167d7182c0b6ac00ae222ab9bc933abc41d4944896ad90f0066214127cf6199d35b930fbb46dde00bb7d51dbb59aacf8e94816689c2f285304b1a5178101e56bcb32c2d8b4220600eaf1e0c34c38e5f01d5dd656efb2fd149a90a8e55a0ce2535e2d0ca01640d600113e4ff186a5d7b30da782c6b18f1374de4c20da0c134b23675ae95645622600f6908d782f64809be80de84ab0c5919d4947fc9a9c06ecd8e241c911f5c1dd001481c0c66099cdd3d7812ac28fe5194c45cbc355ea94c49862eed707dcdc8c003993dbd87a14b33a48efaa966d1e4c37e31a065b39ef2c9dd7f04f75c43426006d926402ae31a3a6e3b9b99a0b84fb14fb8422975e3624e28dbc0314ea954b00a179c5479844106b6e86da37f340a5c4c786409474ea3fe56237fc9b41be54000e60f7e8c3ec45f58410ae709ec123cd640802fe6d4aa2886743e5b2d3393900e741232658c902bd9a43f1bddd4b4611c30bbbdca3a4b7414d845a9efd0f0f00c3a2ecf336cb1f7b049af2c3c7edf3f3e1feab8cbb99ad80d98f8b97fe1e50007d1de85af5c2c069d099790e788aa3b47ece969f9a58f87f25181d515d981e00261c55a8bf295997c97f01156299c01755e008bf8f7920e332986bb29a543400a2049f352af252e99262b3324080ab697b1a544ece06d8c5cae940f85d233700b5c9db8d482ddb73dbf31cec8aa34590a1cf9ef9a942da85db8b4f32f42de600779063f18f71efeec6934b1aa30491138f3c42782f0c40860a4555aa7d205b00836dde833a99d350d8d504d65ff653b72cb2f96cee0966c76ea16a32118f78008b3c057aef09066ec0c48357ccea28beac88e15a60b703cd23c625faa7def8002737b9c39747518e85aed1bda042d55a3989697783a05f556321802300ee4400769a43c6fde30c8d6b535ce2b7b078bbcf199eaf7c508d98cc229a6683e36000ec5afc0f36cc5829f39618bb087a334b9832975c71684e402263a5512ef7ad00b472c5c472fb360c5e3009fce65076c657bce77d26fda3666aabb5460b847a00055c11005cb27cdd74104783fce4ed22b4cfdee0181596839c5afd6842438a00b57107a3c83b7cd255e86867d0fc0dae309a9beca707580813c6a5cd75d2e100080912db7f86c52b9410039941986f10b1a1dd8998e48fc63a46e5912143fe0029518c34708e94004124504607bbe63ad9d3820f7da1852a835ec7778bb651006f60861e87c4a26c3046aadff7e9a465d4c6ef9ca16449cda82a0f678c3ab7000c7eca1580c479eef1362fcceb2aeaf51347653fab221b694f891154e30425000f7b999a9196249ad269aa2dc50ee3734698f6119c986bd55395e3ab7a9b86006f9f49b89722bf03102c8b2684db05d044a7f946b831fa8e5f1c8bcb986e8d002ddfee1e694040a54d9d48be034f135621437a0d43c032c87bc692f856082300e95f5168ec14c8b0f145aefef3f1de9d4c103289df8c036555e93cd4c4ea6200c6b31ed5bd5ac8a8e70194879c1c53479aca0b565bf83cdf5f34ee1771cd2a000929d9c1ce1a3ffd95c752191214da8258e5dc442828b2deaed1e7f8853861001046ae889cd2da449acdf5c2e41017f916b2e019bc43d4bbc68ff8e123df8e00cd95a4e5e574e4ac3470b4ea5a5761af4c31e2abe1d03aafa70eaf0cd9d41200e755539455df5a26ba1acf6a7adaf318e0e52e4b44c94dff8a25ab491c46be000b3836d4e4b341e06a019535736b5ee3f347bdbb23aebc056cc5047832eda9004ed4396ed3658e0480713b6fb35fef3e0e3dfe43fb8a2f9175b27c3b1803260008edd2b8150367fabf90822bb679d5d4842b33abb73e0d9e7ab6a04b6bdffc007f22d61f0e17d6ef9424226fe90ab3866541c884db59b3468cc77046fd573d00624e1bd1ebb6fc63ebd7f083d44331d1b127f9d2151bcfce1be5091411dc0600a2f750a1ff8cddc321cb4cb2596ba36c6fdd25d598219edc1f32cb4f74f1f3004ace05746d9994c18879fde2085c3271c07103c4874ae3935704593f9e713e003da782cbb8622e9ae96a65d50178a6cf951182275278cb8eb21eaeefef86eb004fad71088c51981cf966904bc007f2356fe47375a318346b4376afa27a41ed00030e4b21d989e021da77c548c2133909fa179122571f181852c96377a676e50073cf489e21a62f8a4ee1c133162f3d966cbca42a17df86de44efb96221280c005d7609497fb846c572f7a08c1e47a6192a493c1b9d1a9a5af7896166c2dfb400702d423975cd590c2544ded4c18e9ff2e2734d4e4b24e7672297033310110000466a88a94287ca53ce5bf29d24443e777989d05f30519832b3189fe116091200f573f9fb1e724a065da4f5890dea173ba0ca667539678ecff24b6a1f483ce200ecba4a834a7ae2d3a0901db3bb4f803bb160928f2e683ad2945197d8468a4e008bcf22f54ff203ed7987da0ffe36ece28b6f18907b6ea3faf7b9494ff2598a0063906bc9e048c928bd0811ad51fbbb8ffeff8552afc9dcea59d9b15ccf98f200d37ebf839cbb0f9145d000bcf210a8e1c4439ad1977e42816805b53e73a3850006ea711d57e634f95c01d754a3f6adfb45d6326208c58a3d086a87219d57e700970f82f1c6a75fe865c157540f0175a9bd216833a13e069487af4d4a390baa001e77423ede90aefc6a4901917741408206948fd7c8ae3b4235ee39da9439300073d1b730f4023aef374b359feb66d51daa554589eb76b8e92802f36cff68f100dc85a0c3385d1bab34baa918929ee7522f7ec62e457d0fd912f4e32b6c0d1000a94d4dd10f8b875636d17e6da688997dbc4c3127e76863a57515c6a56b6ff900c032fbce16a22590b7359c02f69371c367c69bfe1a2facdc369cace1b95982003f9dedd09b8f3f9e3f274bed042db95a68a583563374fa3ccab7a06e78125d00dc994d064660fb918e6253c1fa4bc4544a33ec9a6b8ac3c8cd9d23d6d1948d0080877bac47485b0ed5794192c0f93ce8be73af2cd64673158c0ecdf625153300ef7dc7ba666d075e40d4c67481b58363d9650701547b32defbd1788450dbe8000656e6339e32f6ff3e37b05467426f370a34a1567403de552f78b254ed6aaf008ea64cacffe97bbbdf77f07c978c16ca3ae8b0c3a172e9e1f829890351e98000d6617bc1ffd9f17d746a51470fc6900194cacc5a31afa2e843e29998e774520010928f4771286cbf1bf6243f1e93f6ec0e2816b64456b4a278cfb7a350c3dd00dacd685d8b6e2dc3666421de4e7ecab8eb059d4c21c28125eb2d776e9c50a800960b483285fcd572a6e97039104d3560c8b36a6e666ce50ab3f5a09140dfc000f4293808a5f3caafe7a7768f77a1ddf0cf82f7b352f0cb15a6dafd065682d400440da993eb0ca2ec442d470b81cb4c255c866899ec6c135e621dbe5f36c4ff00095d75075f1c08a611b378fc41208db54ced442d316a05464175bd7ebcd4cf001a912b873174c4d16bdcebe733c13d22f56f3e31833b3272c67a0b01d901930011d4065722f9308444e5343a110cb72d2fbcb383c0337b3a88325cd2930f0b0031fbb8440bb6b34c65357a2a90814762e4d606a1fd1e8536e9f5dea5f57ae4006bd12daf2c1cf91c81d930fb60b4adf15a7213744448a892ed2cc631d9763500b29c380dcfede696b8ce9e25cdeca491bce33081cd59c23e844402405c8e3e00a8ece52b05019c55c077be1d3dc992073ae3c803da668a577f178fb0c8418f000117015b2efe75fb3514d9faa28a85b92af1ceb508d2ad3ea069e8dee035d9008f17bec333a94a8edee39ee9e41ece17fe0191f23f29a2cba95d373e39d2f400922bbc41ddcc83317135a636a2317f81e2fd290f92c14f923013274bea6b1e00a36dd0f6a7d432a206361d3e171d33858e9a289a1c47f1521e277527daf72200e6e3344be6ddec905d49c2429dcda2e90153c57e1b085883441f6f03084cec00010da45c9cff58b319f7975b385d5735e0718bc2a322ce2633d83a75100d7a005987d09644534448dc0587e17d6393a409f5a4d98febadedd156cc449734ca0046ceb803ee2d625daa5d820942a815c622862beb8144749aefe8ba4395b18200f8899e81cd8d84fee43faedcd66b50269f7960f029fdb522e8aa9d8efc258f00a352bd0c0f8e94bc96c7e9f6e08b2e03744658fe3493d49fb2b88a59b4e24e0012172d73e3273aa4cf6cbc7279eed05033ac00c04fa2ae5361ca9e48996020007c498fe4ecf2589bef24558a9764c1cd0d86bde1b2d4804b042b58f8e28e8d000e0c50e700f96c057f2214b92471306f1e4c1215c1e0f9963660a87d2296d500b5d388e7cc4ac790ef15d276a7c436ee416da9af9d2227543884995567dd810030d741787bfe7e9047feb343e3f171ab51c42e260f695d5a52281b91f665d000e44df75685af0f83f5c15ee321b0f3ff94ba5b04be490ab40e18d50bdc0a860011f9d7eff5f20d228194b727d0ba437e121a3f02f7217c2e8f2baafb3bfd4800ef597b91bbe889bb5b5b77b47350e3333cdefd2ab1a8f71b1d85828ddd50af00f04a8fb11f6c21e46a06b47e0f76ac9f35128db15821700c1ed55bdc727b9d00d9c28ec2b105e020a4ccc66786bee5227c51cb086b3ae8abcf8621c0cea1a000ec109b95c19d41a1cea28ff7ebbf3b2e25e1b0ac2b252ecc3b1d5a3238a82000ff26c18083d324d48fe13d69a8ee91017d35345fcb1fb0314e01a8da5dd5a2006d537ca6bb892a5476f861e0c9d73833431c71f11ba7d122eda6ac2daac2c4009d425562e465ca6607d4bf8db162cc59253f97422d14d28070b58ae1bd92460056268379e6c2acc6e33d46927a1cffbc0a7aeda2df4a4e21edb833b05a3c2b00f14ba38457e8a23d63b9abd8f1358c26e5c665a797a2fad614dbc18ef8e146000eec1e55b32f84e1d839a08493a8f50b30e549df51364605b48a9a9b56a7cf0084cf11822f59883498e19f44239484299473258be8c760fe9d466223919adf00459d1f436fa5707381ded70bac68dc1e4bf100cf2cd1e953b0bbcb99a45ea300babdb3cc97b4ca0f3a7ae6c7c22b06ffb8a86c9744ce37a96ec13d6c047e6600a9e56880a693e330fb9e66276df6f2780a6639e9ec204b03daef081a843a0300d0ef76155eb0673bc993e8a469a6a1cdd61d863159cef5fbf4e75e061f1d7200da5fad7fda3c83c0f68802b53b2ea5b6a1d8ff8160482b527f343eff683dd100e4dd17854a40153adae2d6192d5a93127aeac30e4d6203cbfd580cc30ecaff00c853f76f58f66c351239fec3146610ad6797abbe47b83add4a3ece2327a4b2004ae9b4f00c6fe8205a1264f10f9a5b5033f5c26203f6528fe7e5343c890106007dece652164e8ab909172e0767f16dbc6a756b62918bc480e3d347f5b4926400568911586d86bcb9f13d8cc81d566437e2e29f6af4fce5a0975f376c1fd6dd00740d02911dde0f068c78af019285998f8f4dfea7d6b675cc99f5bca59fa40f003b4352a1e31d41422ebae41f0a83f9d7bde9146253b4c47be42ad972518e5900fe3196b6eaa068065511b7e200c0388fc097fd50aa8628ab190f257b05bdec0023ffad778353233d9d9a954b5cff63b3c44c20bf465c527b123bf81e5c92e100a3ce54e1287033350cc11c49f31359a81b4be44ead764601dcf65a364df91a0078620f0a566587e53472aae2e33accfc607c3ef8e661dbc98b01c8fbc5fa8500021ec839dcded326f90934083dd84887b7b4ddfd4a556f9d5d7890214e82d600fe1997c234bd3b0ece9054db9d7a6c792cdd78b90c1833cc1c856b002490560036098fb4d365bd7e572c803c56f04271a3286b8c6ea72edb6c43a301ffab9f00ed7cbb3cf72dd5d6da6d19eb190b215803f22faa3c93ffe5bcd462d76062ea000521b1c34b6a804ecc9548f6845974d477edede05b0ad838aff74091f798a000c77d939ef717ad8d63ea62a3238101351d725fe590420eef2d875ebf676da900b59aae8747972cc23a61c1b7649ae5fc79949bf2f108101000a879b72388e700d2a302010bd064c8d1c87363ad9ecc8336acca3f26b510d7c6a7c2deeb399d00a8a3cffb0277845bbde4e3bccc664ae162ca884f0d386cd658b68e48e70ad500da1fc0f462579a80dff78e9cc17cb8dbbe2318f7d5faac76dda9ecf13b3fab008846cf5a1aef2f6f08c0605d5696aff2d1d98c7b5755e06e2dcd563d9b309900e9861f72cce8bf5dfbc2eb05e46a92298c4352f0d18ca882a22a06c9109fb000236f18f2a3e847a9942347d26f80437556c00c6d66a084b1022f18a325a8ba0032b2714b500b5d859ad3c6c88bff9c789c0118d19835fbb32df7d5a3bcb9380039aca106fa1a4e09ecdc0ceac1f6ea5384e87ca71ce41dd865f26e9afed0a30053fcaff52c34d4cac203a5c0980d39e3dda5569ca43cae70285f3cc355e68200a27edc4ea246a2ad6fa3b694ad801a1838160665b5e233cfb7f6bcfef887ce003e33a6912b2ba680256272c688967da3a2938b35a1c697316d7f5bb07ce11b007b90195b75dd5d3466660143128160096cf3a68a583c4a2adb41c7421b15a600880274a9d99dd3a6bc567510220ea0250da2dad54cb5afb17910f78a32c382003203280df9987a2ca2d662004fc73a7688cd2632da2846b83832379a45fca300b4e32ec713268a404534cf32167cab9994a618fa58c53f32d421cc3c8ba6110083169e32cf4e17d7f81021e8e4085936ce6e38ad7e8f0514dbe44490ad8fc600fd57ee6e8a412af18945901f25bdebc2b52be296f5859b09ea0b690510646300d348ceae8a37c6e6aa5facec9d10bf978d61d1e0ac9ed9683c0eefcbb92f0c0018666acaf46a04c0d015df79469d67deb3ebd164f92c2a80633f7bad03d66200d131328c2fcb2b6800b79d3a0454f3261b41e7edeab9b533dd5bbaf1fa690c0065f170592be81760a857d6b71147df8b44e3a9bd7d044b4bc2b1888ee31f10004ff9def154b6b7f6c4ab435e6d4111b466fc6951f57c893a76ba572d250e4500496d1afa865d48d1e8addfa29de864413dca50ef380cefe30360481e2e1580003b66c5746cc2a37b430c04e44a7f584e8fa773d9da3980f5fb20eb943e2d97005841185c60d00e58b6913c68f6b08fc29442a406f970ea81ddb11cdf16a6bf00f9929e31c0a7c3b1f1d5c1ff903a53f8acfd38e7d3c959117aa4f37c643bc3009fe50a93d561b122ba6a1443ee4d2b2df19a431fbdbb4310e058d3c6620cf900bbe57f436af2a1b1d7e7452b2f29b3e09c2cce483374e3dac77f23bc4e24ca00a82ed5a34a1bcd1a4bf24dc16de7ba67b1f1ed9c2c38dadf96744addbbfd7300b7567375b56ecd8a868e99e8aac8589400797e0220a31239d4b981ff1296d1006f0f37eb3df1ed7f605ca2c1e4067ad2b03428e2cd5375a44067c19d4ebf2e0041db7ff2d398f0ce8059ba007ed56857ae504fd34c2b43a051dfadf54da14d0099943485befbb542b29a9a70e20c693f45a7c10aa2673ff1d67703d008ff2a00ec8449c8b7bdba3b858660b60855db67e6a34d4739feebd81e3ad4413c079900f3fe352cd86be6730421f4b385dee00dc57fd50fbba67fa0bcc43f421a9e8a00b0d3d7682cb49f8e8f35999b55a8e7053dd6c586351545bd6fe551ab88b3a700c31d17a2b0f38eeff327030d907ceaea106b9ff38452ea4e21cf37e93898f0004a88b11c693df7a0eab23977680785fbb29d43670988cf8e1d9b107a58845a003b471182ca3ce375cf47ee1ba7f7b303b210a6e7e30d3e6e3d4a61b3d7889d0049ee15d50df12fb5ac443f5f2664cdc5dbed5a87fe2b04115b2eb647c00e08009cd0437170871be42406a34de9b704997f2a80dca547c5a112651d0b38eda10079b51c3e481d55932749014b7b9fa9c450b4d23b8a54c026a9eba86b88dbdf007c0075fbf931f2790b0e40a3ef8c8cbfa9fc26a20ec308edc65ccae51383ee00ba3c73549261618da70de835d81f76e4269b212d85595d463194f12eddde420040724e8b0ff2bab0b36fde6bdf349ebc690d40d0bf52d4eaea4ba5f94d20d5007006323fffad38895288781746ed5f2ee939b1b22877a48ec20bfadbadd7850099ba28822ba1c62f6692f0f7001dda8008d0f942e2d45401e509f5ab8d85e8003802e39978504f07d6dcce1dcd47642436ee6c103a36bdb6c3d935a650ef2e00383555e783012951748c040eeddf07b07408713536a1b202aeba45a982ec4000d351cc770d620ff90463508b51ea85e7c8680409d620c22877394a072104d800ca5a3cd3d800bb05f04b3e3d1073ce7fae1ac677827c3f752c2571b701d73b006fbb38bb7a4b35e2dd35ca2f9180bd3ed73e7c67675ec82378eafbb9ce62c900ce216e31afed4e46535f0b9d07453cc5471d8f0ffdffad6da5c63f8711c68100a57f09974f9bca958d0fab9a0c0ed0eebf7a24657d9431ebe789e1f8f04cb000d6a0fadcdc843ab4ece003c801e68f5e1df618515e76ce1bd300f8784638f00088ea57825527dfe69e2d706149f75b8087ab1acb655b21f98aab6c8fd208d000c73cb773fd6f6d00e81b0cc5c8ac12a8b621baafdf6ff3643dff2856e1a23a00b8a859ef0c8519f101bd501b766dce0a83cac802f4941d6a9b0771109e258700d37f017e6800582ded8fd96009eacb3954a543c9716a82e83e0709b81afd880055801de0b80aac7fe2b3496dc3569fcb95fa99f7431bcc734a362aaf5b924b001152179d4c15298524a5b0fea1e6499c9860be3a8838e0959a5fb240dca976006e3a81ccafc4cc0f971e0fe4902a6fd8f5888b714babe0c5dbb86fee7e388900602d99ea3634274bd10beb003c3f47caa5c28c5fc44694be0113e17117d3d2003300750566e881f64ecf7d21c8b8cedd651157731e1263eaef8c0302e7837b006e82e48d1f2cc5f23dc848587dad7b5249fd9e506141aed70c3712dc3aaa8d00d4f236f3c61518e2a712a0ffaf246914ed3c9465582df029738ab1ab33975500495a92df0b2d81880c07b080961add4eb7e3955a0187df0ac0a06b2c56d28200dd089add8e682dfb5713ece0436369579793b08168c90a4f3c81ee04c8f194007c281555c127fac0f99d2f08bb22c935b5e694d2480e5087191ee3cdc4422a00562e253ad96e0c5405ffff800192ebc615e820accd2b6efe44b57cd9f9646e00cd2a7e1bf26ef27465daf0a7a7593798c1e658e7b3e8c0ad1391166a4c109f00681936da17c3e1958a596e9e2a89d10be5cf6f170f681bbc986ff5cc796aa4007bc3ee753d8bcf89eb0838070d1a67755381ee8110292936ec7c4ace477d74001db06c3bfdc957ab650ed4cbf693d96b5a2ec184b70103bc881cb8b72fcfd100f936b64792d215f7bb125a0cfaffca5226a7f5367314d17025e4fe4c0ccac300020d8d8a55299193ce544f506c5ea7c4698f704ffd3892bc1d32c1cc7194600003c61df17cac6ea21edb89665c43dc3ebff86183cf12e09d9bf96c87ade60900fc63866b971a6d51ae94198ae52e062b46aac44426bc5af59041b25093b7dc002e48e6740d73dbda83b6b8af348a475120f6f242fd3effd5b980de8344dc220068501fbc8843cb80e3a8c43676f903df850f3b7c72e0890ba253f6948d07ce00727ae24878be87f658753e0a36066416f51e3dd8487b44158c38eb656a53c400d0d328e8b909042823d34d092c0afd507d42f1b7b45d5f83737dab941b18450079c64885d944f9bb6fba408d958842c87cfc216cbd247c56b40c8b649450b600d8dc6203ed9f147be78cac6aaec1d7e0e85620e0850c6de01c830af0cace7e008bd1130e7809b047ab7438e455d84f2a545d599b8e808c07ad4421eebad14700b940191ce90c453066376bdb9ff57f65cf28f7b9b2b1a55304a6b787c86b160004be0c2f731df7d8496eb891908f629286daefbfff687eb1d3287b32de3b8200c4b411687d36c4e7e00d068561aa663ea059b142811602dea6f2bea1168cf300c9399dfa114a803f3369c3121bbc2716c30772c579b91174c04142856d636200a56a0914a32996b8a895643de7af2d11bfef3fb8d2f4d1cfbc8b53f0cf13d70040d5f72d2723a60fb3e38a2b3ffe6602062e53c7d11879a14e57cabbee86ec00ad5daf177c6d5458a4b67a516670cc83b0c475ccfdfcecd3efe8f4c2d6eeba00329c6cc9668f2d542fd24fdb4d4efceb15ef3f2e8e3ea8d60a454c44b8e73b00d4e50ab462c62b5b27d74010c36a63f41291d2cfb1dc231779186bf4517b3400fed399a1dcdef630e6f594028e74a70f0330eaa30ffa172348df19ebcdfbd600c42a0acb8de6d7108883b9eea75fd9fb96d7fc9463086d63f7c3e0c825d2740068fb81e64cfa31ec471158ae47af123ad75afde55d66be398301ad45c5b5f5004c8684687358fe1cbbb786b5d96dba6d9e321af547c180f5af126c4b23a4f700c25e35eada290a7da8e97c1fa7a3219445085ebad3511a2ec7e2fd88d847230046656901ae4661d725354b049176deda8ac7284420516fbe354a4413171c3b0023437fed91cc69cea9789b0ef7cdde0a5f2deeac405249742efcb6a3070fd1009b8b02e80ffab9799aa57fe46bb6ead5b28420231a41bb1078948a0ced86e500c2f9af791d67fdb081cfeb4b87d03ba8ebabcfea8930a9a61d10916637a49f00a0289b2c1fa36b28f8ea0443af3f69610fdb4f9bc36111cfa5710215476f0000fdf061386edd835a0edf90dec4b8e6d37c71828b0ef86f04e14f085eb8174f007403f4d8f48d58f52eb27d413371f105fed48dcc66abb4a0d63a9ee93e991f0047b8dafc9ef03dafc0043d0bcc48449245d422366f4a8f1aaafb97d8035992004a922ae75e724bf8ce560c108482d8c3c9071306dacf4dc77c1360981a5821004af345f0ccbe8f9dbf141f3873382877393b88c55f50c91825482dc141c931004e1ebd4ae0f6b57bf806c10d0f06ea513a67b5550b07dfbb6d467fef4bf55b00fb6f3bbbf4160bfe7e9a87d6b7283e5a445064bdaf2f95c3739c4536a056220005d44c5205c6c2a3dc1c248a862b4a26d5e74496d79c8aacb213d92752d3660055dd6221e5a9db08fb6fbd962b361fb973c28cd2bc53057b50549091575db500428eda3289a46fe62a87f00a245d4aba125f93d31663fa083f7d739b83afd600ccade318e883c0612509bc4d077319c1a714d5dfcd2df218b7764698673e5a00b5027ff404c9d972a9d902776f06237b137224e57ff64e15fac5cfe0882195003f01d9cbce9df7e8cfe3046f2a0b9eb03ecf5188086a43a4904e9636f6f5440033ee72f5ef9a275d15d5dc2e81a13e4d6ff255267be935b8a94c22ad7d3d95001067badf728707867b95f20e02dbd4bb903294f11112846d3076d0d4e05a2700ea04856a73094f03fa82c7580bb1dc02a3993e9e55c83d945409f9edd076ec00df96d5c3a55bb85157a1c6925beddedcf42ec6029c019e994d805c87d1a2580005442b68dd253deacc133eb4cc6af914da5e5acc2abd0c92f218132d8ac3160046030aca9ba45e9cdd09f5abc38469f3d249c4ee2daad63ec353bafa77688600a4f0e09b0280658339cda5e19e8a4a5bad78ddfacfa11d5864db5b7a9a715a00065024396bc976c89d8fb3c230a9f8948539344ef3a07189f7b825243727b3000e6c59ac9eaf05593db5ed0fade6e0d8351a9bbe82ee2a12004d3f2c517b8a001bcbf15ad8f3c301dc197f68d3ab69a1a129e41f56925176517164663beff300cc692e6590c81bed56d4e01e6483cb79121fb662534ba1cad178995dcfa0b100ec0fd8235f29efbb3c97a6450dcd50de5674f8812ee94f6447948f1c690c4900ea3da7e531b9a3a1af13d40698c3666290833bc700582cb12f0873041e5cd30032d4f33156e0a7e1f0814829d68c14e21d1b754c59991a424c55fb0dde49cd008119f0403c93bf749d2af0ccebbd0224ce52d81804f774d325b3e29d21311900894edad35b9523714c197bf94c29e15ad8c1c57a2321a65d168dab840a119d00e8fd5d125ea80c177a022b940986c3a0a2eb4ae9ff4dee6956c9f55910dfbc007a0b4a9c47002e334a4c7005c9f89ee41126f77b758b0a0c75bcc4c0507c6d00d04e2223023854503d657ff5ac076ff4e1c3683681e3db38c2f6658cfd04000002b67b858d5f7b91952ac9ca3a1e3009c03db7dc1f4bc1059ea8ea3441793500336bc1565c4ef37e528f46d8b072dfb33ea3a5acd76a83db4c1cb718e089a700883500f1a301182796bd89c71694c0eb463872949745f7ee1efa200b8e3caf00c20fd9805e3e24e8c1586086725ac098843f9618dc2826603ea86e92038c6100d61f0feb822c853a72c4a9830bf2dc9f77850daf848816dc3248ecdae74f6800602289891dbc0e67b647163be724d16e3ee4e95ce08d99e25333657cdca4560007e2d86bc949084c863aa8348174269783d878766bd612a3b5658064540d7b000b0c519dc088dfd6cbc40b8a6de6ad4eb9e5f4f6f481028b00a6c04f2252b000b84c104a0a0207ddec7e85d58ccd7011998b64a845ed126ba956237e1e8abb00811a788ddb38f73b761c684b5fe5f3ca5d827b36248da26b812d9383bfd1a100e304234ea41f87fe1673a1ed05ff5f0a2268b279edcb90abce1589d26710f100ac25d02e0c3c1beba5bcdd4d2af65a308aace64751d2db45fe422f38ee5a9600bd5e8c2037ea56cac0f45d1a7d187118989a3ed1d91c4cba6e8bcc34888eef0027eb2bb6e850bca680639ac312166ef13dd194a692d86c183e2013060a15e300d3d7f698c0c6daf70d881329ac8b0d796482f27db970e3e80444a12ab5a87a006ab10d5e66ef3576b4fa62ab643d21cd57ac72022a2f2b5f86fff5b4ebcabb00b5b9e9c3ee79419a5095cf86bd7ea2093ee3087033b3f5f82629a640746db100d0682a90dbf0b1eab4210e5dd41a48d20b914d461d9677411444daa426df1400be14a2019202526c386a5d083d89beb81197f017ac863fb34446a820b4f3b400dc65d1d503f1e4218a35f4716585b6c03f8f46b636b523d1e8fc03453b021e006fcbc4c60aacbad6da814915409bc7bb5ea0d5b5ce0ec29633c49367aee90100944e840915fb6f6db01b348d0cbb20936aa1242cc045c55a61917af9bad82600b8bf5850e4075a4db7c8bc7b23fc1c420bccc83b9d0b2c57d3f2d0e335c88f00ad309af7432014627f248ca6a535f327358f305e1efb346a52f14d804350e5009a92e49a9c96368b2423022acb0a581143f71a199827718522bdd0f76d978200c965b6559d0cb90c0ef338581bd3ab5aee0664155a971e96a6e3e209efb4f900a83b4d0f00f9f773a5fbe055478000b23eb57c0fd649afb740a6d3244abc7d00109f0433d0ea7cc2538996efc95c5f496820f1fad9c4d1461ea28084fec266001b43968b953b69f2cfc36f5cc596485a3ff82072deb5e5f09b00aa740f479e0071575854e3adbd1ceef1abeb7969cdb892363c8cda5bde3c4e11182fafeb9300e3269a22f79967633bdf2cd9de3527d45a9bac4e71cdaecc37066da1fc202300f6911ed01a9408ef411fcbcc4433c6c18d08c8aa2abc5089d82e4cf889a711008f62067d5aeb18d569543459073a59368e6846b7bc2139daf65131e1c0ea420041072fc2b1befe3bc7f8a73a2735e41195f5354d28bde9092045baeac03375006f4ca0a7a49ed921840b4a071c92d8e651a217a526ed527592ad931d30c59600ddcbcb9928ea4697e02d3e2feca91e690314be58d9456e94b315388ff40b0f007e8ead7b8568f6e0adb695aadf4a89177c9864fdbb504501c581714e65542e0037126a09d53b5357ec7fead0d0fee726a72b7321b25d7ec6de9112793b3c0800b768230b649b094c9bace8c1445662c856cae1a8730cf06e3adccf4f1d8f97002140ead965a2b0eb0a337cfb3d7d964ce01e86036f94ee75d12115cfe6b4e40086da3c28b5bce03cd841b5438d21da9ef7cc4104741df127aedad0d3d45a87005cf14147ae2ed574cbfa556ab648d4a06cfa851bd761580b7973469ec42ad30039225e091b15ebc77299fa285de19e40f8996a98f00bf13434ce0c6c8974ca00cc7daa1eb470c3d4ae651354ed010fcb5a5637f7999109565503b7228bdb0600fad49c21fcf1fb4e2f6fc81a8361376614541698e8abf1a0edfe9f749f1d10000250496d6332962601d4fd7585e5ac3169fc5d12cba4d2fab27b89d8d54ce40013e7e4bb98300f99862bc519a957d881e90f7da712521dd866c6103c455ed500712c51121f258bba3e996fb568bd5e19d5c4c6359f370c909a51ca359ef53200fbe091cc7103c887c45e9808cd2c0f69fa716b2954fb8c1fedceb9e5ceebc30029324d49a7a6ed86f45d28209fed28dab9015de70f82630b47e20965f6bcba00e8e5ab2e56563d3e49e37f53442e4234dfd7e1e0ea625b660c53d3c81896d6005ccee406b2fa1ccb762d9d55dc7f399434190a52c423109a8e4698737a5e9500c36b4a9c50414d58a2bf6652733ea3a536a0490a43acc2482b4fd1d0b8448700eca1d13db6cc10524e66646ccd6656de7cb96c78b652fc502a61ca66cf706d00127cd75987105c8e0e26f09de8c627973d32035a4bd6023cdd711082a5b4a500f4fb499506a7981b780f492ff7a97b545ee84cdd8cbd7e3fc08298f51e0db4008abe81f689919295fbae9538ae797ab6e371190a1b368fab63b2dacd4ab635009eb83cb97cc5e749bca5ef7075229e66055c55010c35c2f9fe06131bc10f1400deff2608dcab2cfca1dca66f5def56ac9d77773738f0071cd28e5f3cd9360f0006020e39f8db306576d93b00dea502eed7f026a39d563e5b224c8e11bc4226002450e562af44b815603c81f969322355ef664f027813969cd7dfb19a97007f00062120ed9336666130cb6c20c96cea7af68eb39cad425c01564250213a4ed80053fd2935163e3fd13bc8553a437c38ff671f13a9f2c20dc692722b4be6ef2f007c202a600d5b686e4f735cc2db847b30ecadb22360e48ca433980ee54ac17200e3dfc998e786535ca2dbd7c65b2b6156d9b4622925e9fb4266202c9e69a9e3002e5a30b66227077d4021be54306cc053e29bbd12b4c312f5d6778b9daaa2fe00f1d80597e1b0c7fd8a90c37f4360a85237c2d19c296bbee16bab2981262b2600ccd63bfe8e20abb7c9883aca38c26b7a4fc2bd5e9af4c86f14de86e62aa6e4001c37a0f5dfba097d42d9317645930c271b159de975528fc061b302df26f30900f2fa95ad41a6a769763da53ae8cc461015d6943e5df3c5c68950ddd3517f48005cfe299379353f9231f2b3a17750e38bd1488a64a705d3c4d0cac0d58ef06e0089538bd9e6912ede38b9c920c89803977c4852112f5b70232b556876fc877c00de443bee50a6e851173f8f91c1798bdcf1b58445a06bb4d159b3e376b6b77e0055e83d3d4edc173723e091f193e9e6cf1d9a3a9b060359d208c99e9b63a5e8003905eeffbb55c6442c33139d678f67c8ef8b4085e8312adc680f6230e9aa36001070e54a72ee42cfddb25649732111dbb665f375f857d8b3bd80ff28534935000a9f7c40f12e5266a97589516380add0b6d4f172336511fafe8ced8c4df462003c03af87b33d8776a8e1758d0cfbafb0eccf40504716c9a005d0bd2880b0f50089a914841fa7d216f4198b44135829122c933f77701987882b7ded2d85b6a9001bd0177e95b184691429ce23f82892edf96a4a14a70ffc98c46d125676b09b004d23451e572ab9ccb447bfd1faee0978974b22932d630a28a4a8938913cda90045c73c09fbad15ad39135f51a6e841952f7b68be051f9e0f0f6716a9de127b0014f6c0b951ff524bc155fa6fa7bee3408bbce5a6635976e608f5f660db125e008a2df1582c3bea9daccbbf621cc3991b911d9cb131aef46e5fd4c840775662000ef9e32378ffc3709bd5ac2652fb6c403d86502dac54f82674d5a72684a3fe00fedc865faa98ff0ce6bc211f49602eab08414514b2f4d0069485feae69909300956e03c2ff3f702bc4250c20693c7d51d2dfcc446bc950cb4807b384c2e61700c6ad02120bf7fb6b8b83f9e9d3944ff31c69b6c2e45e38372d4431eff7d7b10062485fa00071e05665ccd2daa435c40f0ca03add11b98201d51647a29d47eb0092444e85c25342cb551232b5a27f8d666db44a8b85d00a6d6b5632eb6737e900a98777e65de19d4b58a8451644f01d7eff8b062fede43ff78b675d8d9a9b1f0025188aed4c1f8dd53d3cce5a3a918398db609253b59b9f6aa73dad7cb2a6a0001956b23da6d03988b6fbbcc58027405778bce793fdfb51d974e8354ca8b75000716c5fe560336e357d1cfd5d378a2fbba41abae84fb93def6d6ff3746e4754008b414f652823a69b0df5f645f321b00f390c6ed6e924a2d06e5e4e4e255c2c007fcd51f538d60527056ece1a6591cd6b0347b9f4e4f6b00fca66de61a3c6240030cf5370d5b0bf25184634207dc721cd15e350a0576bc143c9ed9ad47ccce800e7b3f941e86b0c9f4932456283fe256785df1ddcbc9f703db83c679d0f5c6f00159f7b15116980f58c8f824e67260c9949b8c0e576a1e6e3576c3e36fa26fb00b543c86145b9f5304c53647d3ff0b4887f553fb24d6774188443c5cf3464020076be11da5c146e5bf4a158f6b8b49a462d4ca9d126b9bc5b2c0b663501d026001ff697d1d4fa5b95c5f81115ba7d8398fc9f60f9e5267c5d6f4aa1f2ab6a750086d764db255c2d6479a6b262f753a79c7a63546fd4fa04721f24df584767ab001dd8f1f25858c825f23ec48a593f97c985c116daec9f695512ec61f40d8a04000c5274bb39411245fe94268379a6840b9ccd56b719e127af3f0a0355588c4900724e4362558f9a450735a378ebd321cecae7b7b88d749b86a09177040eaab500d673968a0281d68bcf6dd21f3c46cb3a8bfd9135f0a034a0dfc3872304590e00edfff3c855368a9e017283552979d04caaa887535e2b7f17b892d8eaa24409002080e35ba86927f6c756b3443e12b9414e2cdd93e1428f93b54b89b9bf54cd000b8a1af92d0cdca1865e2df0afbe33978b65134e112b3f70ae21f0eb7bd51e00bf7e5cc3aa247bc10acea417fa7453f03baf76af77c5625de74309d1f81c4c00c97bea392e02cb2d01f0719157eef432b30207ff9fc0dfe6284011563b7e7600a51e510ff039d543d92d41dfd2131fc7d0376b7f45b2093952e013e2031304001d00d84b23be6e1eaba7e6ce2ea7ff83711c05b549e117533bcaeeb98b4f0f005746551c3b35908682cb25e69578ebe2b664ea6c9fcb0469544bdefe75cb1e00d9d6c6fadb03b7b0ea382a35a5e313e59b000f49c8e445ef73d2df282848db00bfbb8b7425e319476772be3ca218ea486c0724807267eb035339d71805fb5b00e331b4971612f0cac24e867734a78868a02a954415fcb7cfbce00bf5ef2a4e007842e10ba5d1c05c27044902f6831c7b9c8d060e5be57d009c860c30e081bb0037ed21200b10d5e48f828863a32516fcf3532d8244f1359e3ae8fddf10eb99009152b763f534bedc2427419f78d7bd09f89e2f17c9c95e7b97327b32e7a1f90042f50d807cb08b79c8d4d94be8d43bcbba4c52e73a84d41ed5075a3d558fd700cda0d701e106714d93443617a05e20dadffd5d8181ccbbd18336855daa5396003cd1d56a11dc4ac6f550fc31d344953ca8ba7b33d2f11ddf0e4b0813f4598c004d07ccff94b12390aab8bba12c02721de5c39f390b2706e21bbdae8402df75007d607b2ae270de6272cb67b8fd7da3c03a1baf28a377f8076d625d04867f3700e65e91ae2667f50ffb0656a9e697fe8bae3588bf4d34c8e0f9e67d10281346006df72aaaf8c3b98787c15ab0fcd75b739f69ca25b4b4d97c2f6e18cc64f1e9008d7ec8576319f0e9bb8b437a51087599d807e0f8736eb5d2d1b722e8665a5a00c217af0fc4e07b7438eadf433477cb38347e3fdcccd544f033e764c19286fc001ad9aa7b2b69b3fe8252782ea16ad47c23cfb098fb21f17699474a266ef4ee00245dfc9db20fb1f01542d38148b56035a5099b2f20663cd2fc7f42e242e81600188fc743c9b2a3071d1591957f06178ba4595277850d424c030316f0af7ac2009772fd7d41e87e954d8d6c175aeb994540facb33d5ad9b86398dbd510266610026e541dff74fb018b4c26e129bafac17bfa07d5512f72ea4f1a7373cdcc003007e406dea52f5bd1b65844adeb3ae866246d56fdcd7abc819c71692fad9568a008f90cc6ab9edb6b64a196b57e7b532ae40e29800e0cd3b61bd0359be6548a5008659eae17cab52daf61663f551ba4323a0a119b6ea50f279d2222dfe76b455009bae0ee1c6f56b1e96e45e79b060fa1afc44c824c6daf470832d1d9f046a5900f3b89e1b084a5d7865451b134663147ebcc2258a8e49c2142e02ef7e5eec17006d912ea95d17d443e77e83d9abc00c07f9742b21a369a934052ade2d8b937e001b6e696a9128d5f8adac6e3bdcea5e1a4d9db7818bbe0f6a64e2fbfc2b62aa0015b329ca5ed544757a7d9c8dacbbb4fbc4138359aa2e7bb71073e6fd8eb86a00c890326ee8ec950081f2cc5ffb6835e674532306d79e9437eb77fd8710262900145e499bbd9c248e9df70cbf0029a29b1266e1e23e4bf2e66f29a08e3ef155006a0749e56b2a80a33652a9e197ab195a6e7fe046d18b8af40ea6236a99590200e31674bee415f3a20a4bbb9a6c4fd978ca7ca0a5d9abca1a4bbc6d87fe3d2600125fa6ba43c44a3e3644c1c5cabebf07f08ac7cca01d72491b15494f2b5a9200247f29f5c7f3bff4302dffebfc4ade0f18f364a167399231e9462da0a2277d0086959852370ca348a901570fe528e5b1afc74b35bef33d679eb2b8814d94b600b11732f2e7a02aa77a22c3287a86600aedd8c7ab6b98811aa0f3ff6be57a1e00cdc84e918f433d1597746f6fe11e3cb8a96a28d3264c8df6d5127f09bf8d9b008fac9c7fe170a42073a8a316d24e151c3b516bd0e954a0147193fa86a351a800c393cef0aecaa4d4f4882bafd1cc878c6c80f7523183c672c665c93d19cbf700ae2c3d67562fbe40f3bd356888c0e17dad376574a98e64a3dba5310ee86eb20011c325c172eb7ac9bf065be9508966654c9bdd10a54f2e8757e3ea08f5c2d000b52677a146e68df6eafac247758c5f55c9f5c9aa128ddaba084a8de3d4030e00c329f1c1b589fc8b3e3546f6b3724cb6bb430d3f6cbc6c143aaa9b7db5308d0048ef92992d95feba3dd54024f087dafd5b5551d5a4eefeaf63363f179eb47500f0524c83aa6889dbc93f219bc1b8392e813bd748fe93f7fed9aadd939a94bb0076226e17c24d314743cf279afd7e9aee976ae3bb0646e03b485d5d6924f76400dc5e644d761e7ed3130200345d139945dd45f1d53ef4cc64d031a781585b670025cf3e13b23a22fef42b443ea264f2c8b34c0cf0c0f219b6a0821a302e3617007801e2dce4931938c79cd7bdf0716c44331d56aaa7ea51d2fe4d8dfcc34e8f0097b2091d4a47b226d614afcfe1b506f1a737bb2f3f76a2071ca8c4b120af5000c8c314c72d23080bc7c1e5a353ca029d1dc31e0939168bc657f528e0f6fced00e4181e4623d21f4ea41e80900675ebc3eecae797c0bdee874559f53f2efa2800259c09718401df8d9e287a41ed63bb73ed18404e010bfa3f6898fd0529a83c00ea675d4dfd5379825f416741c1f5048ff9838bc7d4808d29665f08375f562b00d427211d30cd03a3a6c6c759b1a930cb8b2cad15d51375b11d19ad4cb50aa200e72914a783ae9d111d0530d18d9b9818f7a396cc6b630c1f8b1637560400d2003080c75301923eaa2507402315a23114ba6458faac32588abbc56a14aa80730032ae5cf496f8efa8370a01095be66e79c8eca1f716cbb7cbd4a3a3ddb70e3a00e980a3d67e10f6a1699a791d23a047ba7aeb42cf0ab9bcfa634cd13048d9cb0074f55fb4c668e5980f53f2161c659439114adb708443d6674c028a4ad2d0fa00dffc223ccff8ce7b091cf25b8a91a5d201eb4f72c371bef4a28accbfb51b840010cb8ae5ffc5dbf9b7a377485287e2477204546c7b86044689ded2585db459003d161153161e4c457af5c7df8888a0c3f40fcc87e8d07424f7bf50210c69760046a4bd21a58fab280c4a52cefe1c29a19dfe2171df1ba19a2ccb729055cd6e0026546fa3fbc09252a4f96ba4916052be08c6aecb9224c85cffb2ab586d39c50077504a95dde2af36374fc3ca9809df10d824eb5e7a528bb8bf8dd66209c7de00a3006596f8db8edb9beb20f5f7ec0659fd5308955219d8f9a46d2f84b798c400b85873607f385033e53182bfa3ff1ef10fe7f61ba5cba9a8b7b26e11104ddb004578f4b823271536c14de9f080ca16d42404235901f0c63b4f75eb04c223e70031c335157175b51f46c862ec3c6f6110749c28c25220bdbb89f4a5743b66270074be519f134f1b04b8726cbf1ee7f409b321432a1ad330ce283d8820676adf00f70d9b47a372d6791c0b91dc1b697b68aaa2f8a04077e961ac12dd2c9e1c7c0047e42a6cf17b222e569e93f9e411632ac01086f3f2589bdad301dce61a950f000f33a5949e682246e05d1c1e14ad8f96ceb0905556bb78de70ff63a8c95f2100af47d28028c8288330081bf7fc0db39a5e1e1bdad034e0238b5765fc2fc7d1004f9cab0cbb042d25d7fc2ba2594180565db8fcf72ebaaa85dfc0f982a9aa590075d3b141d453728b9657f3c4366b66549cddbf3549e183c7fe2cc6404ade960049e02f3f906ecd513ea6db71e7475f5fabf20278e52127d6e87bec5915c63700e4ee6ae9f843e57a0bb3d4bf5f166b3b240e0fcb9f75b4a544f63b01faa65800aa8fea32a6a33a7a3a02add34f49764a274a2040a97bb9919be53b43fb743f0089992c264ca10415be526eb4a99dc7390782f4ac12dee630aa1dc6d9563bbc0038fd1b90c7f7a70576d35a7c81e541449326897e9137716580d2bf245c7d6500d2d73302ebd473678914901a4a6af20e3689d367ac6e0b167b11473d4d78bf00975c7b01dbe66c942e0b532979903a66945e13e4386a21bd74f99735d9938400073be38cea161386b1b33ac4165c6fb5d1db91cfc7bb4265d47c31bad1c36300ffc5c1517a0508712148e71c4c1042bb7e58ecf8bba17b54c7cb28ef4d45a8002c997b56f0ad5819939163c21f1f30d4447989d58d339cc5deeace86017c6700f28f2f3fd57c4cc64d250509ff105e0d233e6ae44e4ed8ad0fad1d594d5b81002ac5d0addd072179b46cf9de0993dc2f0e191d0d4cec1f78523868de94079d000e1067563d70b292e78e5dd8e73f4c5984febc24ddfc7db8e1a530a6f200360078476d75a388188ea18e67b4e8176ab3bb8b6489c51b075697b0a4e94d58a600647a9a1de1e3ea17b3fb94daca52e3896155239c2913506e4a0dd8a5deaaa70030bff15cfd52cb6ca175b975899625eaa67c3428ddf590e43e41168f30411b0041f43b1c75a6ad6e1d34859fdf6a24f37182a1eec69a10de6606e08d2df42b008794a5707a3b501e91323aae4d18d086b082093786aaf9984fdeb2d668b638006649b5987147d4abddcd7b03185738c9a3882f7f42b7b9d4e9e1d7b574fc950049168acc87e357683fa53dd0cddc5f2b1dd5c57391cd65a5f3328291866b8a0061d695a7ac35e724c3d22172d151ef19b29bfc763d641e30ab14e14dc8caf100f2e40e74447679ff1993c5ba4a5e52a2b7ee34cf01ce4c98613db538379c310059f3c81bf33e31a714b3c00271073bfcb257c8a9ebd3ebc8537ed23033348b001602f0ddca5633d2a30b5651cb0de5558e1efe31da4c7a09972520925d4a02007bcedd9232f3b056efe6ca4239b9795d573689bb3572a35d2cf231b70da40a002b4efa06bf1542a13deab79f686d87692e960828b1b6faad884c183ffb5f34000c06cef54397022d2f2250fb44bd237ab62b6b0f8cb7b81c6f2bb1c9f33e9a00d5599fcb88f8d001fa6f22e26b12f53d79681868e74c9d084b1f8c301d6e9a0034d15db57eb14f3956e9b05ef1b4427afc1a5d234e066d143a2cb4659c6a0e00b943c6c56af0247273122bc9f0a25c9de9fe503b988cd4bb29638b8fef8a6d00d34c52249f37309370cb5f3101795db67be0606f919cf9a3cf1cc19f872fc20057d19126f091bfb2dafb94f35a8efbea412a93a161ae19edf8dfc42d40da5e005a55cf680458f53b28b2e54e85194cba9d177a6c126e85d10794a3585c78bf001c81ab8d8a6574aa0eb10dbaa0318292955825f0baf9f69fed45854ae60b8a008395f7055159eb7b5345b1a1e4847fa12d7c0e9d75d55c779a4dc03ac9247800617ed3b4d0cd7637bfba6a23cb14b80d6a217c0ea7284207e503f1ea10bbb2007670a2de916e8599c75a353146f320edd71283733127156828597e7b4489a90082768b294264f4deb3bd68fa6c3aaa51cadf7818b9d9c660cc271a287f4c3e00c259eb719cf2cc62a8465149cfb17256441499ff4b37187bc2077d9b432c65006cee16797c76d0803cae3d5e125cc484d368620db2029a8ec09499187255b900d1da2f421d6acdae3c33918891e34a51406f0ac75d16c3cd6588b7dbe651d30013ffb5348a4cef586d831e936d2f940a1fa873bbdacf0f3cb8be91773fd19b004918ac922d7fc72aedfd4bd2e2de68735d46c86331e588d787be6da4b80942005f34ed64c9cdd4acb6d9a7d7df0d8ee70e1174f652b3916507533629105de1000642733a7dfa45cccab6d828f1ddd7d9393b250fcc34a5e3fe83000331ac5600dfcadc7abc0d876adb024c4230cd341fc6dd08aa30954083ccfb3d56aaade0006252e38992ace11919cbf2d7ea54249a699d85832e031cd8fcbe218a61c0b600a93c45b7b50ac87db4b46056bcf0460f42141c910aa579d8907510549b7439009bb34d478fa397c1469fb46b091013c616a76d12be6b15b872a6545243e5260037ea16955608abe0aa174f8f98d9c6eba86b75840cfee5a2772d56db06248f00a679b3b594267c4afadf0de9f0045deaec232f3550e1b736b93ab6590a9c66003f9a7135cee52c3185a9f7660c944886f35d2b469b54e779abef75237ec1d1004163ef5c1b7f606614e43d163e33be180ce5e49ab49da2372b6e2920899fb10063f927e38adad1c082737783d92aeb1633aa05e30257f1ee27f0482707683b009db6d9d4e52ef17bbe3b1a836f68e3b91f9c8ac74f3b35e06ff66c0fd4f34300148dbc251f390eead34821368fc3e398a0ac4b3f90c7f5fe6f1f350f30d115007b76abce9c5b397e13f0418c2c685fef4c9291e0794604a52744dd5b8fc26700c98e3c998a23f8192d1d703139004c16a5ddcdc42f6d4746415230773c26d200ee9ce25d61944c044c600cc25eb0c764a9daaa207c0064dba4413fda57df5400f0288c3f33dca6c22285afa730726ac5e308fc57fa00ebca3a3053ae26467900412f8cc285f74d49ef700510b95ab12e4e390dc98eb8d32f013466419846fd00a39b395e5a123d811b03d911a726f6ab61569236c1d6a2adf875a79dac5ad300d21df18c004fbb5d5acab907f12671f3284cc068d6af056b023957c0e7240c00492e6f5078333b3a8dfa96bc590249751fe2acd677f005a03cd226e2460a3f00a75113cb74fc6105fdc1676112ae244438252f77b89ac4fc5c8a26e5869b1b0028070b3f5f81b897cf900d45ba8730799f81314d644bb91bba1f64a33d85080030b5e5d339b276b4863fb0c132365259cb3184ead952dc896646bc1ea2f98c009ec5a7d0a2e06238510266b24ebd7b992071ebec8a37b8248236239df0239f009c2922113c4b0803df89f0ed1c0d93d5109efb702e9768576f76bc6801be3200a97817bf4920f8f050d7d696f8fee3149079dfa714d645a92b5daf95340b3f006f8db61bb9f1feb3f650f0b748f92d402a82bf5a6fdf356b0e88d3ca11a13e0043def08c6cceaa995e5651eccb4666dc3c4a4ea414d89099718a2df6e93beb0046359f3fab667cad4b6316fd8421fb090162cb8873b092bce3dafdff88e1d20036015db2c514c9b5d7902fa05dd0363dd6325b36b23947fcfeac1c44328c70007a7e30421210c86185d4c79132a2df115912a66418f4bb81a55c7920e5ca2a007f7f72db317b7ea0d294d8f4c0bd2f7254f94b4c56cd1845f49cce3ebddb9300b02757656d4e64923effe484ff868e9a4ca2ff05a9302216cf284ea07c6e7500383aaa750563b51ffa7fbfd7ddd982c966c77e00ab0d4856a28bc514ca20d60043589496d2c4fa88af477f2fe2b82fa4a948c26a8d9b435fbbaa8424e79f4c00b856281050ce88051f425ff7f98bd47ebcd0a07dbb5479eca139fa2a6a80ab00dfbd845ad51bd47b1aa1b0c97f3ad42cc4e8663b2355ade19c7a76d403303b009d05d4360ee605ed2d7368ce1ca726ff0e8d398920fe04ff3e748caa2a8384003330515bbf9dccaa548e8fd68c78bddd116f13d48db05b299cbef52e1dbdde009ceeb8e3b44d2b3e02e05334a44d3b4c6edd176628a2643173d7bc38800ff7006fee4e73263ef3b0d7fcef736968407658e9eb5bbf4b59e6dba890f11a47e20080dfa90b20265b63c06dd34e5a37e3fd9a71179bce45f8199ef54cfb09a46c008409efea6698e87167a6b299855c8793ff742e812eba4126302929b51b8f7100d9f4338ed04fd606c5a1af5065c096a25b55129b694b6d189e5ff502a6cdeb000fbe9cf4a933954b08bb4a9fc8066bd3d2a749e1f48291a84bc11f8dc162cd00c6ba8bdd3aff265d6f942a24e4b17ee589e86063476f68838e80f57da4c6b200bba2d8d74c1064da7d9bf66d13c38a26ec3eddfe30daac714cbf65ad7515ab0062c923a47c4f2dce8415c61153d83e2177529c6f80e8d256c36f5789c653870014858c91244c40949d99a1ddd04004a394ed8598b545a9bd80f7c419cdd7eb009a992cb57d8b5bc8ab0646cc59ea3d1e24678c7e3230d7c139e9f7d53a666c00a8e1ec5bcea17a38a153010ac7c500616d2efaf2d02019b810d7617918772d005d9a19110514173165967c6e20568933faed385d224706f082e3ec509a78fd006aff1d9a5c958cde428c4c0f77fc3a97d20e963625c830269c6548aea3e9ea0065034574d54ab1824cb1af23b4afc157b4d3e476d76d6a3827be618b5f17180092f7df0d8f5ec97a65b222751ef0ae48811035e9b509d1c60e187c5d1de8f9009ddad08a274ff6432a5c52e856ab9e9718d3d3fc364be92e850884c6e9c1e000118e1a6a2b83db88dbceb1c2d57370571fc44fdde04b7efcfef522ba74331a003a944b4f8f0924de3e8a5ec1cc958c2d61362841485c25ff80c09cdfe0028c005ba78057498d150ca894654322cac31a1aba28913d77a7d54f4bc1a1463d710089a161405c06d457c88eef7e284131d0daebed0764187ad4ec9f19e683744d0091a64b7c5122eb559054a2b7bfad103c5d610b84a9a94b031f44d8d98fadcc00353f81041ede058ee106944ea84bf1302afc3583fc0a026018273087813b0400ee4c99663e2b6a6299e20847fc8d6726ad82e8d1c1bb96b755686715c9c844005680ec593ca082afc54a63825b3487ce1aad9e7ca6c24f1ea633f847a2165c002c439c9229584adedd892863437ffd5d030e1c379cd3041eff2710ad64ce5800f5c3c0019b3d11f603ebe07f8037faf5d611cbb037604ef381bc5159d54c97004cbe2e739db33420b3eaab45095456c1377e4b4f28cb78ec0fe1c0b54cf5c80042fd4ff4e12e4fc31f640fe7313684c61f1efdbdc11835931fb181e0ed8c97009ff8151522bce760192fb72f0145426d66aa8ccbc4b42d7615cf512f194ca800525c2a47feb3243d98774e6179f30c2248f197ed78425133e5a71bcd2c565b00bf8695ab1903f11e68e20c58b37dcef758aa88b0fb769218417ced2f1d0a810012a208420e4c56db37023a12ebb702b0199e511d9355344e71fe4691e3a320000359d20c30af0cf4c0725271852e1db508d92602cad73ab4a9b8d4871ad3ec00d625c316e83ea993431ea74163366a28756cc468a5287f784db6a99355bdcc00c6a801bf7040d454e0c5ea3f1edb946466bb30b4512e526960f453985f1a450076cdaa3d6197c01006f646fc3fcba0e4efed85293f43c88064f746a79361a300a0a99f4564b54dfa1b85b19230c2fcdca89dbb162b8e77d3ca9a40880b9ae400129c6a9f8bfdea35286ffde9e2e405a6e138dcbfc04276f4e2027c4fc481e000d8e636e8e83d0cca3ee58202f49356d51db3c9142c7f02bdb077ef309170a0003abf801cc2e0d3b597f5a6ba20029e2d670a030db2cc24b221ff97eaeca50e0004dc4ac8c5752c8c12579b7c304961b18adaba0ea10b39d0902b5c419fb68b00a0237c637187bb684213eccbe1fd6e43675a7026b9aa212dba7ba7e7f0e8d100b483bc14178d50fa9692ecae41c9a9ce4212c04f4e2ff0cc33d56d5f9e6d7e00ce04cbb8c6cf394684965c8ad71282dfd873b9672d51b36aa22f090f23f956002c9d2a63cb7bbebf175aa41d7332517d2930fd121d5b332fa1fd0872f013af00858ac23e4ceb38d12ae88d2d7280c76b2feedbd69b7d8109b8fdd55bc1dd59005a9eca28d58a52546caef72dde2db4e50d59d4d6d3083fb7d9d8011d208c9a00b4b0873584dcadb57618c323099224e55f7417e5a9954595a829ffddf8a46200e8dffc0c529047d11c0326aecae71e4cf89a3d4f7f867aab121831306cdc5b00d2045ed7ab4b091d2dceb2f3d4db9f990a669279a4aed4f7a903e8b9addb9d009de4adf9711787850e8f2ddab96e6bac49f38decbd48b89b55910d8e476ddd00ddc19eeb4537618fb8f2162ed8539e3eb1580101377b534de166f0a6f3c9c100ba62b2caef81167fd1d0f78051fe8b8d95b573ef9f25fcfce0e9bd6787338800f4a5d23643cf7467796d60bc719cc8b22bc2c244ee8fe8fd39dfee4b9f8e8000cd0654497c4cb7fe56c401858b513ab1f6ab004366393b25f616bcee007c2100e98a7ede21a9081e8323cf543cb0290d51191b79fa5c64d18f652474a81620005d6a8ab93b6d3cf59c6e035c57195fb2fdd835b8a66b20ac4c6c2b48c8b10b00c4c0f6000db3ac7681387691d72cd16223333065d3a1b4e92d5ade53cd894f004c16ac7c92cf4b21293d1438e35185eebdfee5e0d67975e39fc43dd40f3e1d00fa1e17f78676f582bf24bc2e9fb483799aca9c307896740eb323db8f7b90c800251c1a39b96dc3ed60552c362ac9250d488cd2e60afd1162d81c3b40e51e58003f1aff3952a075c049f3698ba97038933e131424e9ea4ae23b1e89cd5cc2ba00aa942f89c67d45c0ab9347093e32d61d041c146d863362891555d62d5f58c70069c8470607fb8504507c7fce962f768e89fe8db281400dcfd9457e8e58601600c251563ba50577688e50cb27658bd0321781c73e18b872552fd6de897cbedb00a1dc645bef0b356d7f587de5fd7bba41386459361cefa8bb9ba52787e5a55a00228d0c540c685d2563e02285cc2bf92aa35312db14e7d989d4ff62c45a47e6006cd624d1319807f85f2dac1d964f50f8d408a48801d04c94b7c878a5fa4e6300e46678fca3067b1040b8ebd8ba5db6a35bd899bae24d32c820d980f14dce5d0021502dc6654c95898a0ffbdf95d27868caae0700f4c76580fbe06cd598d8e700f23abd32b450c180c4dab60366f709e05b43ebb670dd84f821b050763a86c100a679ff42266f47e1da1d6cebbb00f3247935967b54cbfaa7b94e640dca9a000098292ca6e6781cb9b66cf75367c35726584334c52fa67868737880910ef7d9007922ad4a51f29ab5d992a91c4c23c398bdef291622bf68d51a0eb1e020a98300fda89cccfd2f074c859642a59b3fe243aae8851f97999d416d958f4c5c14e7008284b9e12b885b03378c35e4ad054bf1264a9f2f57e9d4dd65b754cc115ec300dbfc11e0c32dd3ed1533639048fd9f8fb50d3a2c67a59cd194baecae402e2d0022cd35157aecd65eb46bbe5077312557e1cde2ad0968666c92ee3194898cdd00a64983fb0d797ad847be49814deb28cbf617913a65c8a69328498acbaa23b4008ace80c7cf3ea6d7c74c069de5184cd39cf1f6010c205ef8603b95780e85b900624c8e65b39d469fa0fae7905cd49f106ba004318de0692f2c22497122352f007304a4833c1ff7b9b7c1ecf1a649c1a68b95dbcdb08d03830671c0964aefb2008454edb279a62c08b3645878b194b2c752077414430a06cd446b30845f67f4005e3df6c90546933bf5b1b39b4ea71f7d16ca254ad17154cd24aea2cce8dc4300e7ee338ff3a67b822cfd57159e70fa1be75878b9557af9dabdc361585d6b95007dbd55bdb3d5e65571da0fe8d3a4015922ab380a3314f1454ba7418ce01fa5004b9238dc969290e85a3f9df0cb6b40db6597f3b466eb4207db22decfad012e00c373e070baf1ff631bd6a179517bba8d432ffa7119fa388a12d5b00ee3e6c200755cfa043d624802b0a98f57c4e8ad580cfb5119f79d2f687e675e4ec9992b001466d31df99fb52bc1c80bca59d9f5300b3dfca7337cc93f7405777226a00900b42ed80ddf424719086abfb7972f12d363e566e40ea8e29cc7fb953cd15a6100af298678f014218a622613db21a0508a02fb3e9c47c350e6295c8c2ba917bd0089dcca212ecf76b93f6e48380c8fd7511cbfb5fb632c08cdc8ec33422e2790009946c95f0a0aaf1a84c1c1c6a24c4c5de4a2f44168f65d9fb0401710a20c2d004553d14f62c8aa94fbc4096b36aa5c0bc43974f124dd7f204c454de145f6a900ab5b8c321068cc025785b33efaa509f5ae69c5e4923a19e508bbdf694284ef001bf4c31fdb6f42ca90a48163a6e5eb7513037f75f7fbb66ae7f3c2f6df3bfb006ad829a1ce0319447407030a5ef7dca720cfcaa4ae515c00cfba919406f6af00fa07244c69b12ef1b21e5a669f1dd19b4273dc4a2e37370ac20a6e9fff1a56009d11d05ff6fc6547d76f3248c5150df83c09b95b4cbf9e6e4b97cbf7722ca600a1668603e32a131ec1d8308cce8ad834838cded143b04f2866128335e7a7ad00faf58a3e0aca43ba2da46182db09f0a1bd2f32848067d4d7774e80488b160900e33098dfc0a1256419c3bbac4d4d74f0761a4596929ab7433756e35affc6f7001e6569e043bc92ca55a00abf4c3b0c02d5c378dadebf4d60b62d5deeda5269002f349cfbdd4b1d026c405c4554b3faca5a43179db81f48710ef0698b8aa4c500c5b78ad68bacbf79a8fbb23565c774fff7c1ce023f3b514de8fe22af92dd1900325dee24be33b4bfce8cadb1dc3be5d64b2a20a72371618904cbd007746bff008cf8c9c6cde8dae95e0e3c796ea82f93306d3b5a0cc62d42c231cdb51a56370063667ebc942debb6e7068e15434debae16d611589d106af376cff517462fc30056333369c65bdac8451a666cc35cf8ca8bfc06cf9d10fd0fd6349d0e2ab169001a3a448ffdf79b5e9808688a81ecc0db7b14f6bc2d125dd294c97e441d56cc009c74f0971ece7bc834ff136bdc67841152e098f32c111589b07266092e510700a1114e74966025abc4637f9ed2063ce707efe73fba3bbd4c28c79b76ae1a8a0020bfee2a554a7a766b081d901936baf3e762f1c57713425532d39f372a002300222c12d577a66453041f2bdab282d41af1129167ca20ca4c4169d8e8f6b32600ff9c29438478bbaae080067a4910642bf1269db3dc69fcf51df4f1866e3423003c4a984e42416c580a1465ddb4ec622ac52a1bc0ccf2b7cb4fc0f000675d9700e7b8ba27c12b877b2ee02b22463db6157972be15a86c6ec59b42adf3062a42004f02260456d504af454f2792b3c95908f00533fbeea9799b53724249e7afb700ebe22ee7efcd18173d27a7d18b73ecbfecb52b15d164458b7c241b0791164d00f916f8811e0aa208b02994a0dcce43ebf62ed18517a008cc8ba8e2f0dc1e8e00d6b0b1f3709c5bd22c98450d9ff537356356091c344abf6966fc1a3f9afe62003cab3974a4e30fddcd071f6677013f9bcc91b322e34bd359a76c58d35cc95c0056a6ba32e5e0110210c8f122c6b5bacd10589ad5f21b94506b8a8e447ac8b9004ef173cb723772f4d35183acc1dfe1f51abbaf3bc939c4d83d30e4f30c70bd00db6922bec3f5ee653ac348d78accc797cfc9d854577a4a01070d77745dd59d00d5558cb91e1a9fe2cb1c1cee44fffd6eef454807e6fbb639f6e8bf8a524b1800612915373645342c66ac4f8799f9830d4ca09fb9d452d81f7047b3b243225e0053f71e1d2647346c0cc1e4d28e571b4803f88478f2f062508cfdb204d6fe2b003d8b3f9f00ce9ebb5ae964a9fcb8858de1358750d1d66196e8bae3791a7ca1004468f3da48c4aa3fc526744bbf1672a157e03253f54590b5c8322b311ebb0b006f9e512b825f2ab4071cf7a1d9a131f3c6ad489a1bb59860447a6588987ff0000436f44ea0a6ecc4882c3fd91bf11fa70c0ebdd40b6233d9336cec4b387071008fdb69ba8894f54d49e0d0b1abc57ed0d7fb207727916862a02ea47b078f40006f252d70cef2c66c1f9997329fe79db158886496121080d399387eb01e378100a095a7c8acff92c543b0c0a7a7dfe9d05a6cce980f971d260e11733eb84c1d000c0c12d88d266a3a8b6a7224a4aded0c2827c8ea4ddc77a19359a2afec2c6700d1133442fbb91c4756ca8e65018eee3b2ce0954dfad2e5743ef391895950260019342a622dbebb5a426351e05e90c0e1acada6fbc5fc76fe8ec32e2d4717a800868434d9f9a6189b4239ab56051924e8f5fd083a9c40c7555bad1efc0cc086003f695c649b86f9c435e8c18e1aed0589b9e31a58488196ca6e2483c1c97dc900faa5d2e35f4262949b0d302cda7d705bc3dd91db23c0024a38a58b88b2866500c4e325e3a262fd5da4454d24b7cc2e54c2a1379de540ef413bc4edbbcd372d0076999f78c359bca05b519d776738b67549da9d27d07cd389e3ab482aaee0d60053feeb4f1d86ff38872395edf0bc01c327716973fbe5df29c701523443635300bab2e6eb6696d14c82d5c55eaa79e8e0eb93710df2ff8bccee6e9c27150d1800894abe8051d487c8509f171770d1a5acca2b7230ba694b4db90e68fe3fac9000101634e33c456f051d930df0df0d7216e4c4b7c6e914bfdfee0cb0a7966db900a2b5ed00070dc1b1a09bb7875fc6fc6ae7a92b8833f49d26a3fe13625deca600f4b2644fe30d8e9a41f185c2effb1cdba0237fad26052d347ac7a033b12b2e004c23fb251db5a0ea33bfc611699ba9d99dee4a274b52171a03e486293b930800d14dc1e6cbf52d02a835c46d87bfe9dffac97cebf3a13e7b5be8c5cc7910a100eca4fce5492f73f5395c2a447a6aae11ed5096a1f5f1a98479dacbad04d1f000a5d4e65788e7da8bd97195fc8fa9c8d3265ee3db1d32399a5424fef0455b2400473d3503de9587519cb5c1523ef53a51139e2e49ac84caf7e52993321bc885002981c6462d15f5c2b6721cdb009dc1a77a9e6e8e71930345da033e52dbe43600790c59e3561efc9fa286556d38bace9393993f04aeb507cbeadccfd4ab43fe00c4da111d95f0dbe93bbe4c24574c6771fa7cc01dad9bf976b9cf49506ed05200f6371da4a442f0c972c9224dd48552d0d0611375cbcef8fa566eca43d499e3000b53b5fd9135355856b48ff4fb515954f0d8921acaa280a0801dc41651425c00b3b73d77f50dc0255eade1598dc14c8e3ec74065799e586338df390e0cc00b009362289237216f0e86848f5eb203bb3a2cbad1a1df84a626627942a04aa9440080dfcdcd2df8b824fc4d37ed33a1dd15cb6971d52957a054abafd33532775e00a505c9156a9f1a3e743c50b7664793fce8dc24e2a2d205dec735b0f9ed624700740eb042afb238b8394de03e6374bd80af84a6161e2d532e2917a9ff183d7800dc3307cdbd4d9149af678d98eca084a359d4c8429c30f729e0d68b8d5701c600210f223bf75ac3e254d4ab660f69ffb6f9d14b6d0131f7ae556eb76ea2f514008efb8cab1334e9d3e60a099975e7500e55856816133a71dc0073eb5d274e660072760a7fe7027495a8bba5357c301545aefb09846e5571e29aaca6856d805b00a8a000fcbd442e54e6d2f4057507d82bf9938990c2c26289259e7061d7248e001fa138df561d064e6ac770dfebdd5c155c2a2fbfae393da546e69d62bdd15200d6397829bd0e54274ccf758aa2357ceea5120c845bc4e98eede3bbfd802c1400c33292ddbb5fc34a52e4b9e260c58a62fc263bf90872e04972714940b72bfd00f1b53409480db2a7e4b6b8cdb1641714177c509ce89184e3972c7ac87a63230035b8b3f0c39e3e447f17aebe678756c266c67f70f64ced754804ebab44509400d331a5d7707149c05be7a4ab59753493591374344863477cfbab57c86a62340043f45dcdb40a0e0adc687b5187a43c71f8ec5ffd67fabb48318c6686391376001b4f6e95434c2a2093a07c4d3e76a99a19fc43ea9fbd26b1415ddbd1af761900dbcef109c1ff9bc001bc70726934763b2dc029ec63304ce204a40a93e10db7006127bd9b9e8d46f743c55ba19995fc4f18807e55074c9031439db52d6f0dd6003968ea3b58c3cb7f0dae48a95864cf79816a8e3dfc1d17580d1a2095da96f500e9d932d78b1f418e78842d94f2fe9dbb52dd785614cd15eb0b02ac90a52c9500c852cbbaa7b211cc5e242d64720005bbfc6b1604f49fd6d38a96384b079a36009ccb43a2348a07bbd6c04df4c8a4fc5da6eee8d39fb7e10250a78111631cf2006080a240c518f359ef4e01a4455afe517e2d687704004bc7e226912d46af80007140c6960e1bc6696c3da9825f5f3de50a77265ceb141dad8559b820426b9400449a084fa028d15e3af8e9fed0a4d07917ae062868f62db97c5b514f3ea917003e89fbd233da1a2189961570774e4e4b4ec730f5e7fb554e1cd8208ce8cfc200af63a2248ea55d70529b57e6328f1cddd3f4b0e09bfb5999f686a92f10847500c5d59b9a7808c328539e772068b5c01943fa502970b22fe687c1181f2f610f00a0cd0746f90513e4ac3642e7177a1909cba1643baefe2d07b0a27d91f56744004bfa9cde2849739988ef6ea647e8efa254caaabb0346366ad81f271e9695a8007dbdb2b4c5af9ce8ef20c5b2313bbecd74c48d1f26c1d192b96ee37022105d007a77dc41cf08529901c1f025c721ed8b8f40bf7eeb72f9debc8f8c40d2fa6200d07d16f7cd4ac82f1810fa2e091b6192ad43e58f0246b054179c70239ddc990018d4ab987b8f95025abb157633e99bcbdbe8222b1f66f72208b7cbe7b08a8f001498390ee45c327552a3d901b43ec2a7c49fe893585fec116dc8511df63adf00302c2052a2db76fe64765bd3ae32fe47ef09b7a903ffebd59da188b952e1bb003aa3e77a55023e8a2bd3df97bfa79dbb04d74eaa346818b7257bb378bd8f4c00ad86219edc5c60375077f699648439386a4e68e8cdacd723bfb361abbb727000ce095a483a5fe5030df8fb7bfd23cc355ef30388ce05061bb1866255ae15320088b07e086496f2168f011db37a7abb94af72fc14b63a25d8e1fc6eec71bf5700181b135161c429e6b405734395e07d2aae080631d5d863f0a31f8c8bd3049e0002ed067898692c098ccc40ec7f875ac2e1541d8346b21f56a1ca263d53b70b00fc6543b94def1a75b9f401aeaf748860b4c08863f65b197d293a07c6ad5565002d52cf943667230b1b59eba67d6eea4df046acb70ca53883b088140fb0f8dc00bdf27537e73668c76eedb65442f85cb428c6ba9885bb90607d796bb4fbc5f9002e67da47399884f9a454730ba1b2ae49fb36ba6acd818394a550e030b87338005b8660647c32f8cf0744532f00115725744ef3053f6a96fd8737c5db1c7b62004df28cb3c1db915ba6472da6930aac47d0fb7487e82c439858f1c201cb94d600421c0bdbce0d926d67d794f0b2d066bfedf88f8a1c38eab4afacc37466732e00d756bf85d8690f5e6d7f1a184f873cf0c4a69dea6fec01b2cecfb160b392cf00b5456060c5e16f6f72f811fb0c45c0dd62ee406e076ef487aaba1ad9b1e7a900ff68879fe329a73c5cc8c6fabcd2d3f3912d8c7c3b02afdb47707d5ac62d3d00d4ccf21e9130f3ab00f812af55f9a5d02b4787ce767b0eb129bdceaa785f0e0062886df1b577ad616dee80333a259e3abcce914894a0934fe17be6b034aa6700083ce68d274638c2ba9333fcf30989e62233fbea424acddf6ec859c417b801009ec5c632edb608e811ab983df9f8861a416e1a2c33d64f39a4fcfcae46789f00c305042a9f678a84a7bf23e688e1d2ad3a01a1350bd3bdbbc7a561655c49c000f02040cd395284a3fd3e8701d97dcbccc3a53d7b57df4eb343d72c9884d7aa00c320237e6bd75274179478366eea15079b38175b60de9bceaaffc1bf9152560087e5d6228cff0a542ddd92a56007e3d53d0a93cf51bd9d2c1e7e01187e15ca00e51173d52e5295b069639520cb54062e4eb22e1c082989bf8de7d4b6d2efc10063a03dc7e552dfdac5d51c2b57fa080f54c55a142960cceb7b81adfc0405bd00f7a263ecf5283ee2ed030f1ebec8c60d04356fe0e64f62db4d771781cf0c9b0059b553d88386eafc7bc4adb9a0a35eb877c4e4c7e7ae4afc4f8ca401118bb400c651ea30fcb5121a2f14236de7bcee5a4aefa2e4bb5214bb2d89997d548ebc00daddf8caa03024f28cd701e8ec62fff3e4985a232f46986b85a7fcc7c41a45008cfea7f2be4d559c8cede02263c6bc69b0bd32726256fd1041f35b84c12bcd000dc38ba6c5a3854070f0498c5bd653efd6b8cc4f8942d0a0ad9ed5cef6a6090044cb61f34667be9afb40fbfb064eb1b9b9c34dc2800c6792bf7e5510b4102400d6b1a5051ecac4ef9e743526c027bda6defa5a5427edc168f4a75457a9e46e007fba285d9035529384e8d67fb165f28763d5f6584690df9c1cc89ab63e02fc0021d412e780d01ea295c85bfb549ccbe2ab079df6624f80e502864fbfaa160800950b8e6a77e016d8f2e04e2f75c44b05d9f23142313a2dc05da4746e862252003b3f04fd055ec93dd4250a2eaf059ac46271fb9460ee71aad8e2cd04738426003688546ead1ce897ea695ad0ebd3b9787c8c5e06648feafaf0c5c41778af590040201c4809220461c090ba099b271980a73a71e8bf465a1dec3f562327b9020067d6b7125b9fad360c8366e6799937497ff994b2d38036c1af5d5ebcb678eb00a21369af4ab9e44dda01200285fe999867dcf4ca2cb3112fac8aaad7a24d4d00f533fc96566aefdfe70ddaca623e3d51b55c6a84dbb4729cc9d40a75c5294c00984934c68a19ed5e61ae2aa10d95ecc9b87a40e4f1306248ec7b0dcc0a798b00dacdb0c57142dbe1a9674837cffa0e8b0c5cf065b485ef253ae383e0cc808800f72ef8fc88b0fbc6b18452a34de7cb0eb70f461f0db4fd3058356aa2d63a7000ed1633c690d72160f75d041452ada5b06ee70499d71b59e74f39d9e8a4dd9800fd2e1ccc384da7fce2fc2d2ee8c157722245afd87541dcf25358f1aeeec73c00d2c743baecf44a7e0e2ea33d43d4d993347d76f0d5ab5b6105b6c5642c2a8000609b42fa2bfc40dd61358ec18e1ab9772327291c9c92088e1a8c6f50d4cd9a00bb9b1593e6ca34e7721b6048eca9524d6728d836fb714fbdd4397e49ac1f0b00cb274afa1949b50b45796ec50ed34951a63e087b6526aecbbb5f579432fd2d000c180772c723c3ba2f8f282a3764bee4b431161672a6497b4b569b0d9494070033f0b541391c8a0fcf8962330c149aee975c74b0db0798663bc59f1554556e002bd70b140bef49b2fadb26b57f7e5f73af73ee9d2f508e663b963ee0d72f0400e4dce91f85a222a544e89e335c4ac4ff5835bbf5c5c64e271b13cf2f3f378e0050f2fd748507df32f1eca440add5a1445d0ced1b30e3db8bab0c408e860519001d17ef8f4eedad86ac29c59c63f2df121abcfc474c0bdcae35cc4ea737f48e00510ad0e098498e540f5a717ccacc88354fadfa57c6dbe27b4e59df3745d0fa00443c977fca7b1b72df6923288f66fe5ed2124434489846d44af4d56ca313cf009415d87ac3f744eec384ee3531ae2c53f3d5e74661730112ced776547dbd4900b4478d7b92020037217ee6c730374c2e29d265e6d3b60b1d7ec83dea1f55890016702f4aaf10d223c7648b99b5eaed7a2f58d929de10f1de9af91d2f0b9e8600a8dd11b86ffe8c04ac9de99e1f7e9fb2218b1d6a3e34e8e8c0d30802f5617100d857cddfc69e2780f9a9ef4124430ced00e8962c57cc6038bacf96df2fbf6c00e0c990438558bd8c48c884bb4c118a73428def8d3aef6b741f4b58147955f300bb2ef638c5f2319169c829158a995f8d9c28cfcfc91c61d208c222d7530acd00811514e212518870eef86aca2e68b4622ea9dac08993c73ff5eb2ccb01d36500d88244be2be056212ddd6cc2200d6c187ad2726ba922ffa0c9e61bafdffc0f00d55d93826fc345c7c6e2e96204a4b2a490af8b3789d0d12380ab36f7ddcc170073cf0aa044e9f7ed7dd9b9577e5a71985bf0b282c0055e57c0e4b40c2d225c006f3bfbccbc793e7196f3530c09a34b6e64fc19fc97586d7544f9c82c1916270001ef8777e095aa9131a415f6b1a0ba0df7d96e9b4a8307faba1e52c86b6ec10078e004745140656d7afd7a5e676577e7fb8ac73fe3059f7c0c55f46ff239a8007ebacd008cf0ddb571c6ee7ddc589fdeb496ad4ec851ca50c9744785cdbd7e00bdda116536dd208f204bba3ecc44c5c5c8eae4ffd50391d35eb3cb30b592d600da3021cd68b544f1dfec8d6f59f3b80e0037ea1212f285d7173b225beb6b69006242b397141d3a952e1f384ff1ecb065fa9e5dd7da3ed2ea16bbf48b4b51250019900a6dbee414bde96c5faf1331936d232cc8eef4ffb338f8dfb92aa432f20034ac7727402e973f4d060d2f52e67ad563039f378c9f8a826f3607b4202a6a00823a4a4c1c41a78a8326aed30f1894c00ba00c3e630a84fec6f630f6a77ebd008a515088fcd7cea43f839c910135f3bb22277d16bb7e1d6a6ace77698d95410095bc4c2cf761de50df5c29bf749af65fff9a7ec56d774665be3f3b1db364ff00f0fd94e0133fda74a65b9a07706fd44b95d35bb9e40c28385a6726a251489700b0f604981841e5c55e79fc9149fe615a406165475b403bd72c6387b9fe1fa700d924ca2cf8c9b364eb65aa4f5a40fe453c8c3fe11f25638e9b52687620819500cd1714ce1ab0883d067ae6d4e724eef5f68dfa73acdf16a7ea62490c0022d60050bc53fee34bd49e68e90146a3eae9db0dc1286d7840b17acb7d24c066989d0013145011aaefa3d7d256d7fba41dad0a7d97cf5f55b9b517997a513295405800bf17e6963e815366c200d0af6f446e1a9f77899a6acd274e1cd0b56f5eb8320078b69798ec43717659ac67eb78933411c03ade8a5c3092cbf38cc085c1f46400545b8ae28c4cf09019adf6db31b57fb12ef3fe720f61aecf87652f1424f6a2006520e0328b560f9e187804b02df72163291aa6cf21cb3e64d51b2ec759e28300e817584a0b2dc44d65de9dddd66d3d21d4eb1c4a6302a2d7033be8289612af00744a62ce490b4d2937720cde54d8af833f9b161c6195542d8b3b3027c09bbc0083a88373933c11fb3d4cb3a1269c45005db0a62f9c9d6f9ec14ad8fe8ceabd007d576ebb53f8b51994db658a8a1ff75431cef3f50f5fe9da81445b6ee24c0b007c4e790dbbcf6d8d857784ac5ebe974b9a9df80b6c4f702db3582fad359f7e00dc2cd5ddd972b9e4ff6dc85fe50f1ea9b64252cce32ea8dbcc4726e8ca73ea00dc8b462f5a4074d54905a205e07bdeeb3a236bbcc1346fc2c249563a33733200430e7b6779e05ddb662dd9aae174f035cd7f05982af4b366e851dfe6ea777a00934f9acb011a4256d1a32c811c941b502025b4ec022231d96c3753920406ae000635f3be88b7a1c46eadb9f3995f2400d73aff19a8dfc42253d16269b0e44600a3d47e80ea327ea2378b8ac399a1618ffaa1b0efb4788ee0043e3d23f2a01c005c5f66d8f99d3a6c04fdee8bb89da0d2f31ae506d9de90d8fcf2e6e7842c9100ef1c112ee84c3d2a2dd2c02ff37f00a2a0fad0567d5ee26e59d278efc2b3b4008f66d14861e04f5156f5af80df0b7bad858738c318449bebf396cd66e26f19009c2539a93b319a8343f0608a77df7668f8a2499e89855a8f2bebeee17a041100f962c97fcf057ddcc01f1433606b4ee10aa6699f1a4ce0f6fae6f30521a07a003367775baf0bb47e4f8244d2633ca7d854982998a302e7ec58732ec2b9eb1900883faea46d09ce58666eabafe383361e1fe57c703cdc8801c630c9bd4c946700a9265d21a678cd7ae2cdc980579fb38d79cb20e276a037f20418896efec4b500b5251fb6cb94d502197e75a0653e45de834fc42f905be3fca35ea6bae3b19f00fde7bf0346409ca161da195e74865eeaf8ee8c466fb52fb8480fd5f270345b0073f36432a24990442b0e570511ba374feb902f457822d587cc2e53ae12d7c5005a639f5f23e318e5da60d6701654c3e2c0a6702b7537f19356bcf17881150500d0f3d5ad0e2fa1c8a86d9b3c3e5752af293056b0adee7450215992fb635d43003065067f696576a31aa8a28c2729c4267741f1f81779dbc2557f3a4887d3e20063d33a0ab7a9e109ded8d97fab76a0a6b273fd44363cb7373affc32367292700ff38f9aeec745f17dec0e725df614025d4c8504d13bd84042d34c2fe9a58460086fe0d55bdadfa0def622edc64337bd3001a725b6d641da360bd239d7cf14f00eb8e8a8b9e08a7f03446b57bc9499f2063490391871e7c2564274d9b8613550066115c974fd695eec3e3807751b17d49ccb9b32456a593cbbd1ba554840c9400dc08bafd40b1a2ab786c1d2dd053ab8364bfb0d6777bc61f001e74f50ad27400c698027206213a1927b16dde501a76fc65baca7c454b23cf1569c158a40aa200622141af0637c0d5926568a281b35fa73b96d7d703fd5a2077162d6f523d5b00bac2e74905c9d342e9332a000f10df2969d5c1cd02f4a878b22cf8852c529c0013c81d9b0d69377d681e722c720416a267f4c8df2d5e0e7a5495c158a02697006bd12181b58fa8ea01e328a4d14a237e8ee9ec42a9099ca97e1081cd0d5f9b00362f207da01214673731c397258968b40d696d419609971475da9ef4ac4d00002bb1c1f91f970fe9d6ddb2f5be195d2b0233318a360421a45c130ff54c93cf004f8e44b8a76606221efd25da4bd1c3b32ccdabc6ba27db9fe01886f515a039003fe94c4af3309e73f86aaa73e7450a1f5789bd9b189407491bba61fd11d1f90055845c9d9e1455f2886d74e7b04dfa3b0a26a9193e54e7d741f0b34755ab5a00b5e759edd514513acf88a46c735e2d38b26739443534a03ee118f3c3e3fa70001d6a7db7723be342e8c90eb7f56440a9084118e3918309af52c8a4a73724eb004c063d75775ddc13c7e1d77c905526496308fb2e388d70e5ea77e909625e4100f10c2d9d7cf94833790ac2f6eff659eabdd81ab82fd4d7021cb59d061bfbdb00d63798ec60ed544a0757dbeb9cdda5852ed38addec943786d7cd48691090b20000402468fe12c6be471ce0be10a0368306e8b75cc204643801f1b0eac1d9d40030ba47b1765be052a10073bcbc72e7d7dcd5378c75d0e1a84d09bbaea5d1d800c427269502b9d1cd72824d06b8448e4efdbf61fda4514f84ed921c32598f68001b7a4a74aaa84d41e52757d3a2c40cea7e47ec5336172bd8301a840f2fce4a00e63370b6f6044a62e00679f8717b534f9db098f75d25bfbf709b198f14a2970080120124e58abd3817dd9e93f3a7504542252d03df823474fe8a865f37986a00e3f3ec9b4338af6d2cd52b827748c194d999e2d11b556f35e85dbe4437065f00acc1c7b7aaf6a6416de575cfb012d6e0677b1e3d0d818538d9a81c3f8809ef00a8de46cb8d0bb8bcbeee3e8088cb0cf6caaa4aceffd9a5d247fc774af90f5d00b775c8b483474250596f454e025a29bba27d92dbf0852d21c4191a3c10b0e5004120bb799d22a7387a29efb7d90d062f6883ecb53dde6da1cb4122692da41d00c416cd92670b8639fe690d808fb2b53adeba9beefa11c8822cffba5e09c7530061dae677b37089d83d48b98c72d6dc418c5c7ee83f15e15f1b9521155b73ed0058a502ae4ea210e08d0a4282df4a8c356970cf6b9f1a39afc610b12b97d14c00cac4df08ec335742e72c64c6bfb7f3716c50ad73fb124df690b9acbf83af25000fbdaca88f10b69acdbe8996544ad0a2a7113f68bb324334435a5a1db9ae3b000213be4c1d073e9a8bdac3230a094f161d7b5f95b342dbc6caa5667cc5a943008d5a7e187c7c7607c51fa220f095428d60bf6c60bbe0eb43f2fb5d1da37a2600d7460ca4577711c84ca4517553335a5f33a4b6f782feff990a80ae44445d350060ec360f96ba68bd3941faa758913927e7a16f532c6c314d76e96a895f3ff7003a80c1e2da52fd893a73ac54f2b21e395be5ebede808ce6b01631e8d1c1ac800956c781ac2074ab26db45eb70b9edfd8b6fb365159644de6f3dec4c12595e900faab809250220f476faebc407bce055b507fca06d070bd9e8c7d2b9315f33900d23439e7c5bf79296fb68b53d0b23b29561f62f3f4c248ab0d616131ed2e900067ea0c304ad75da97096aa863a4c7ffaf2632f1a7a3a32d60c98e8b830f90e00b01ffcf5851e3907d84928bdf4ef1d3ca973b80ea3bc6c1dcde072d5474d0200fe32c3d8c66ccfcce2a984befc2abd05e54dc9fe616b3165495168edb15bd100d4ec4a56a83a3c494a2625070a8a049d67657b8d793f86495573d080f8fcb500056ceee27be01fe1febc4f199b64eaa92ddc9ccddb64ede54bde5a64e4f18d0081efdd7f58df31388f30107d601d7c57779d93327543cbace53c3f9fc79eb700413aee85133cc8453533a0913c8a445a5eb5590a83523300cd86f06ee3525200e428b7a7fa28e9246761eb9f1c1c1e4904f87d9245d30a38b45a84030c006a00c7d019047c8122afe504651a7c8c6b6c7a579ccce01e77222d743527cc3e8300c2750c1fd17f0937e315b8388968d64fdee0be2f66d5f6bea4d15392a0548800d0fb908be85a06869d473bab4dbc27cb55e720ee7cb961a89d86e63078c9a300bb967454a063b8c7e30ea7590560d7520a977798327d50300f3dcffb5c9041002a5c2fa31510e01f1ecdafcc4fb424b4e829a657e1c617965735b71f53ce4700c40a2d82e82b564318b3df22fa4bb76d574a1c63bdeb66e2380e30a38ad3a90033abc0017e033a3718037069276a75a4c8772ce49ef80e85fdf0a719fd744c0059e9d817639fef8c6e614f19edebc44420bf680aa6e5fa85ce321549140aa800f8232967598eef75da5959a1e6d973a586bdffbfa7bb87371ad9422367a8cf00952a0aa599948585bb953f2a6663256d52aa9b3e9ae0a6551cf3fa5714ec8000773c0f356b564d109cde54574012a6337142b1ebccfc78d419b9203b6a1b0c0033fa72c1a86ad3ee8322142978694356e403c81b1c1ebb1f4d8ad8d79a8aba00409c35a91f64d32f007e955be94c8de6c7f1cd096337da3491e4a559f72430008b036e4be55402f74908ef358bb98d2a1fa08eef5fd65cf7fa91de1807135300ac60f28585e27489770ac7568a0ad2c30558e2bdf669d121c925601730863c00239603cd82a2ffdca88644fdcb49c0384e0984c347399ad2a81571de3ed88400514aed9ab89ef0d56d8d90d971f2fb8bebb2625f00bc99cddf2fcef10b35d100cc58e063042028069417f309dcd5ed09859d7105f5fc3b7b9ca5f8b3f4c61f008f3327d1a16416e5e23d7a9f08662908b7e1324e49360d629391be3a3d529e0066c97f4317538ed10013c038946bfb0ef5900e3f1de81a8abc563bebab8021000dd56e00120f97c06d7556c2e601aab6d01419dea846278e03c6c387c63d0d00047bba9d7078067dea0142e627de82437322fb5360ae180cfff0ae7cf7865e0095028c8ca7a39376f1b3c48ddd467ea015789a18f808d17654bfe046bbab27009a30f00011a6388755073070d1da7be18b3d03dd9308b736bf4f3ae1e7de7100f6a01a02f5bc4a15551681712d3cb9bb6af3ca27c5f0e527707bd304666a19004949e894c9fbfe5c9322f3378955a803868df3aa6e6724e1146279541b5618001a79a9101cbe6df5352a95618cdc9abea72af788e0c23fe73a1b7c11566c72002e5647b5a7fc0547fe664910aeab51702e2ef1d1d8f9d1bfc711171e62253e0096722247961f394471ff511b3b22f899a064a50b03271a70bf68d73effc27900caa62d73a12d8b5e58faa91a2742f0bfbfaa75ba450747fb581444907a463e0043542935cc883832f27d3f87ce13300727dcc7d48a4e6be502ed9ec3cd78e70045b52f7daa5441b8e70dfca57a1d4e992b7f3138cbcb25fa94c69237206aa10078e0d772a3a08ff65a516ba8d312c5f8802d9b11566ea978c384fde7ec900e008eaeebafd2475d5a0b79e4c224ab0c70b4824f32d8c876ef6389a760680822009fb332d85ee3f1512f0670f3ef1d7c11ebafe7d99be725f982879575f87e2e0021ad57b8ff346b576c94a62b6d2590e3cbdb9409865b52f4f9c5d3c6d55b08003cf55857661276e26c4c0f2110acf17e97051b4e9ea93a6c9ebf54f5761ae3001370c6bb0c9246933f7ed6fcb24f58d420ad69995069ab874a898067007a3b0015772dfd9ec89fa7ff696f1c0c3bb91ce780760bcb9bec0a4ca75a3236cfbd002d0cb81793509cdfe18769d132fe69845396bc12d0095bda17db52d5fe9d9c005f085261b4a06209fe186f6838ef38f7669eabe674fd43741dad3ddf57c31f00a960f4244915e61f746654397832b22cd127798c5349b30b5e40a82810301800ae5d1a2f137e8b0da1efe093b36acb11b164f08ed2c264c807cef7aee9537100590f4774d8e3367ca97441aabaebacf9f1d68ed9c73548a1467983eae3689800c735e6ff6b3cadfb1817aa1347845da42f60a8f45e01c2a0bb2cadd7e65db1007ec1cd2610964fe9ca930f1b4668614317166e33cfab5b7aeb200a082c4bd700fe55d091a7ddc660dab08d11b4fd2bcbc859a10516a1b89356fec4a8293a9c004fb773d07b3a55cd0999effd9e59509c52121dcd349320c97a0cb9913ae7d100ad9f34cf75242be7c1b953c19cb0cc51e46e25d5f6d983476c92940fa565110067205707d64124b70c3acc5737d0f203f1924cf42c52976e6f9e9b4614e20f008a51d3f996e5e942aa474b5acfa04ae899806313f21c7737128acf79fe20c2004a53013be7a99b7d2bd3a07cf7a23e4d71b1536c37e67d3e6ebc0fe6e09c5900270f5d19decb6898dcab18f4994fd6bdf66d9f696aca997749ad1f2f4fdce200e4fbea5b679406916aa12735d533227ae3bd07133ae614c5637b521622d53d00743ea66697e1db8ebb79a5ef7c39a8a5261795c9d1a2978cd81ad5abddc7b8005b7373beb0deb6075efeca88104b74d488c6f4f43a8e0f3f3154c661aa0c1000c63f82bc1214a42819c604c06e2a1888ec362f2121e0a0fdf647be29b9f7b1008b729dcde7e62cff5ba4e6df17290881bb8783a96651f61f29fd59bf0d82d200e4b9bd307004bd9f89a51b63b533cfbf0492e21ab094649059ca4ff148163d00ffd1ff8e1cfec9ec17e23dceac7afa4c00c5e74934932da7da179fab9e33ae000bbe9c986ca97d757ca0223384ea51aff220908ecfbd3b3d36b485ca95a64800b41f41d199d98768c83e1d0c6143b31319a241fed5d45301f14b99fa1d56a900cf2efa9461d22c488402489166ff9ce69c598b096c680fc9e59204ff9efbf400ddfcb565f6abd2757941ae2f0b00079031dd1926faf6cee2291fa9696769910057e154ee646f27507f0613d1f895b6289c6fd4d845f25bffb65eaaf0ea2fd100ea4280d97475a1c69a14c049aeb6dfe391c2698d6255cc72e0f2cd97cfb9df009666904d66c84b78eefe4598c09e0a7f121907112d66bb59a7602834f232fb003a01382bb794312454a634612696dfdb2c9e7255485dd9dd1409dd32ba43a100dd3dd88e3ca34c17494087af8d792a2062c8128e5d4581bdd0807a04fb618400a52cb1e7c9d9006bed71d9746654aa58a6a625f3f0e790d2c4cb5ec2fe2ca70011cc1a019a32d3f7337965de1305c9215c6c02ffc929b8b34eb92c6bf25cf70055dd23487310219e306c7c6fc17da10161cf3c0f074cdbfff21370ad35a347004465b152f8262310bfaf8ad57e0c7239cfbfa6ecdd7a393caccb4a8e784f7000f83df2fe513080119ac1285101f7a0e6479ea48326ac328257ffe1813334240096e77c86b42bcb618a4974177419796a2cf33b97dc5b6d799b29c717424af90074ed79cf8e3705e25af4a04cc791b9907875ae9c696d2c0c5efae3c9a79fd700622e2c28e61ab912d52c1565c60437eedc22bc831a43c1efa376533e88e0dd0014989c0ae45b6fea2cc7560fc747b68f6af237bf71839796e641505edbcaab005d06620e8affe9a50f3a1e4c6f5bdfc698f801d59d396bfb81d99599be049d00d3fc52e3782bee50961a3e4fd964fa0b38918f9c808bdf56f05df1afc24adb0090c509f2e7b73e4ded3a3bf72d1e9d688acfc032e7cc59d6c9c09236322dce002576a7ada8246a42aeccf68c898fbaa45ae37d43bd127e315d369731409af700ebc10af7837f850299bd9139ce4d958ca43dad2bdf628055e37fc5426de21d00d4e64c1cdbd6edfccad4d7b9cd971fa212db5375314ac2c0b8d6b333f3cbf7007d9bdb62795b712788d06d130fbc40d837263dc180a5decdc6582a7f522f56000709599c09712f8c3198afc3edd684359899ec10424412d27575021be8892e00fdb303a1999edf75b05a4ada4fc3f23c3c611977ea46e1c02187eeeb086bb00076ef2f3b979cca412105e43029ea2961df5b3d3a48f3565bea23a0a3e5552e00479005e72d445a959633030bd721f4935297a7859ba6fb2cce5fe6b19b28b400a309255d40fd918d42ae282dadc514921ba4051e059e51a50d49a2ba4d089100db8710a2e849549c82df369bf23510aef4a525fec2ad125223b31d3c88d84e0064d306b5b4156379a4370fcf2c2a45c19c9082cd97d114f7199f1097540fbe00710cc624f2c41cef37f674a915fac14e9f6bd5db0c8c9023f618638cee158900c802ddf3b871adf57e7e84515d949fee7243e37750442bdd78e6d4270ecafb00242e45a279f62c38305a4096ed1ce5776a5cd7937b21460c73b4b8fa5187c900cb6c54237d1157b014a73fdb094a43f25f6e567f5cffe624ff728ffccdddf900cef145766826008f53f14cda6b79d45739e972dea5b2ac49274edfb9527af60038b8cc57d77a1c09f6d56acda4c68c8f91d6b7f0210d568b1245e15f7d1db600abfb3673b01ba18019df53acf4f5775913d6fb7af52a13de73fd55279f1b3200b55ce4e00777c601989a6714b4b328696c2ff8a3011fa2d0b44a74bcb0c1c700c9c7b22bfb53e482184ac1e1bfc90fcd05b6322c2ad588bd40c38b9debd34b00eb565ebedda579d2d45913dcfcc51cc6db1c4167338c91e470f2a2be26487f00ceb345e4501bcadff1fcf7a5513e16d72389269aa6dc86fafc6ac7b4a953a7003f952e628c9b2d41eeb3fd1dabed3022a43bd3f48ecdbf03b22feb367a8f720073c33a1a014a9fc8d37f9f2b740a3b3aade70ad845968e49fd8cb73a1d13390069eb1f3d86703a969662980fcd8f6bccc9c5ffbb7acee7fe5cdd306ab9f870000d6ce5a67557f33461b61578f034fe24512ead6372ec173e22ab7c7b76f3e800714fa99a006c2ea3a09b7f4721497872d4cc542ff6a49f733be842734da92400cc43020839135414ee4aff653588d556ee16b91b259128516c149f21eb1fff000bc7927a67f74bec27ddf4c79e46cd2927ed6e5bc4cb376f23d177fa39a10e0008b4a39c49a9b66bb8c8b3f388ac534be171ba048dba4b0dc578154c20e9fd00cf631c7e0e28db9e39b126f929ee5774dafc0f0ce1323952316d2876030b86003e42c5b9aa497a03da7aa14bce902927884f7b1424e2f891a88276c187a78100d0398a6ff37dca9381fa4e47f313cb2c49a47b4ef0a4b64cc7ca546efd0dc80061f11488427cb3fd67d02243ec5e56d98d7b914d10fbf15ac6275d6210d25f004d0021fa9948f8bbdd15e131566bd93641a0210468384717835fa04d9b43c700a99bbba1b5a01a42096bea3f3c7d19a5f0c92ffe461ec7a0d7cecd0329d59900cf4107e984a3cf31dd169ea9a357b6249c4ba4d817743883b7f3980d24bc75000dea7ffae7d8dc1c60d11bba97beb91330f1add96232a7efc352cc36fa3fa000a5047398cf3223386e9702c7f3974d8e7cecbdfd0963949c4ea331ed48e3a600afe64c424432fe6fa15f6c660aa69ba87301138323a8c9e25be18182138dc0009e20a90ec769aa3e4f1b6ca42bce6230f157bda92c569ed0e22e4939796d06009fe6d7c9a2f37d7dbdd1e853fecc34ce206c422e326bdacdca15f816b9e15200d0e711ea805bb083215b0e0f68f9c2d573eb6f5d71f655e19e36e844a1cfe7009eeb4cf254f6258f5818e2b5ef24233e27273aa96ff463de11fd60437eaa80007075cd4df20c1af9e7f8e393e14c7fabe56f7d1cee040b59e6e676e06bb8b40020eb80bbfcbff00196e247ca41a60b4a29fd669e09c035b57549425cd6b2c1008ab76c76e91f506a7fe889a9a693a4183c4288cbea9bb35ad0c4bb85ca1aa600b3de700444154555dfeaf8fa73fbd23832f7f213416420b08a94a06946d47a007fbc01a727fc178da17bb7e242c88f7a1f857a1bd80c73ce7ff26adeb817700043f47ff9e92f6117854e6035134bc96be3209b5369be716d7078bda42344d400e292a2af18ab74e10640c46d7839f80d43c930a84c9f2aa182fd1d5260184a0075f237ad65dbba759dfcbdf368095886a08caf586c79638534e8e8580531af002a31b83ad3e71a0bd0e33e78a19ea03dc1eda64c3ffa860a41ae9f083084e9004be87b9df43a276bf491cee4747eb40898bcd5734ede609de7e582599ff64700b64fc0408e14882d52816cb40d9328b3a199ca24861a7bd53de8413331e8b600faffc905c9163edcbb428b0edcdc2998c054952cfb46dc88106c7cc470971d00710dbbc7bdac30407f835d9fd8624c111a208a84d4047df1ef2f04298a3a7b0062474d5786423d129f0aa8f7449674a861b69b7975a8e0b3c877e6936b247d000739c2545297768591ef3f61774200c79e3912a6404497e1607fbfaf2b79e6003c458fe515b950c835a2c2bb9b029bb37830015966a877f99f180ba5de1a7d00944ebd163c18aa4fecb20cdc52be5c2b0939a8c04ade4fe663ebf8f0c7e5c000fcd26329d57be0931133d9f8975a155dcf7112334a1ac3e989bef4610b99b70097113bcc0c850651203e849df17933df0964f36135b9c1133ddbef925afa9500d43151e268ef158431809111b827a96ef94f44d8796e74e657dab85d17e40400ce0c1db092902eeb0a16f4aa75cd372125fcc06412859eda15feac0af1b21b00efce665f74c73393ced711725fa8f950812a4cfb0ff6d1645b3104e987c9c700ab33bedac520e4e101759ed390f7a9276fc906553a56175c1ec100a41dc89f00beee4ec1efa68411a56b5b697ea0cc362820b7418a59127a09a7f86753046800dc44566f9fce1b7d3053f7b857a1fea715bd45376c4622989785b64ef6b485007061eb5d2471a4f661c9dfbf7d9f4d82aae68f198b553bef08a1de32ebe5a300f761dd15771b2c8a67937a673832d857772fbd6bf661965a9ca9afad3dbef600e8e43f2c88beba1f6bd3b040a97ae52b20607f7cf524692bbbc574ccddf7e000d8ba10cc3f5cb57015e5f2c7486094f169e149b948101636df20fcc5a8f08600d95e1bbb4db85117ec55952b158e2a52c0b23f408d1c3d28cb57f81ffb5cb800ac3096075e26da4e03837cd43f56c457587522f42ce10e2081f606759163db00aceff2f0ef1b6584de3f121d14b8c1b3d583b5c7a95c83af58de2801fd892b00de6cd7972653f2ffc94737498de662ed051542e621884ec45c0823af9edeed00a8045af3c77f2787287b05a0042e9d46093ab1b0efe67a3ba4cf39ba7e4b04007e7d61b71dba01d75963962bfc1516469a23ec5a72cd5f9314dbeba54741c400fc22d71a83a769f3f4b4f11d166ceca558cf7de73ae8a561941a539029b60e003b3d4d44167cdf39dfaa226f89a8947788f20c626648dbc22651a37435a06200fc053db73f875a339011665acac201f1986831f1b6203b3cd0ecb85a3bfc6b00cb611ea162c17c8b058f07c142fe2d9941e0f8ec1f603a57f7ca5d36ee3cde00d364b7ca8117667a416dce4e8458c62e5dc4c725526032f8649aab22653536003868a7fb26db75d6be6a7be18fd15023207084056a15c24f85d1b2136bac4f00d94cd673443105902ea2319dee49870411043d61d1f458eb9788111d08cce80036f663a67f886c2abdc93a7dd02fce6eac81f727764f79470d237a5d6323610025b983434c88d020ad5613adb9c98220b81af51440a8fc80b3bc97f21d3a8e00436fdcf87e39122b131376955629b8f7440679d2ae978b4b2a03f59b1ba46600c7af693adb053add3985896fccd80a1f3caf3f66dc2b008d88e9788122e4dc008a897ba4fcd69b5f4d08a8b964ab4fa420376065a225eb1eb25b02d979e83d007e0b2efc56f8bfb8429e1ead2a181e7d8a2134dd045c4c2a56417ca81281e90090b28324ce54e5b6e5746fb52541dff3a3534418eb3ffe2526b639996eecca005290a45cc1837f7fb7a1a124692831fb0b0d6181626eb4e45b64bf5f8fcc9400189b5b465bda5f017897fa530fb15f87b1238f00c5d097c40f7a7e1200d7200083a4609399966e60d7bcca839ff5b118b3bf7ef2b0d91fa28a7a4979ad36de00dd5f883a9ff8ce4be2034f5f6d1889e7aa2232beb24559c4a0bf0bcd89f35c00ddda66532f13c93be3467de2c6f5ebfd7657f66ba9389fd0cafcfe813dea6d00478b8cd9b6c8eefbd3f5fc777d4d1a4b7c116bc74cee21e5113e0a6c171e6d00e4627974885595fb5e81f4c95c3f0c4b8149f93197d9effb6890ae48390373002ac71997aa9058f30de071f34cf9a0ff13aaa9a4905b5f327432596ed7855c006a4147a74611b1b60b96ba786cb86f12aa1062996f39f4a4d4260819adc1ba00c7c7d646584aa3c9bdab33296fa7870264aeac3a6e23805e30b9cf89a1f45400e61a6b71d9ec420de99ec7db87446a7ef42a52f520870a14524b1d94ce528000f20ff20753fc255db26fcda203333db07ff1c702507c55508d362262905b4400bb84d45a21bc6fc8753f5857e4ba64a536297e24663b0239c87a1fa0d40233004368b10dff9dc7381393f219fd5cc997e71522e8f49aedcf72712f81b81282008b1c43de014c38d8c4275a7ed409fee552b95fb3f04d973ff4976940ed42b000129451055255e0a6c6a741f01582e6aad299825a2192c3452ae9f6ba3d366200f53ff7ee39102ccc397100a0aa7fb432df438435e543a271ceb7756c77c5df00e187e620a4d50b70a4816608d82aa8a56dfdc305f4d45a205acbddf9055a6d0095a3127f657dceb7dc8ffb3b66e9c1aedbe924ab0e68fa01eb5986b28a93f40062d088b590857291fc3c818d844eb75d9f9ccb9c63b94b47da3fda8c4f7485003c69734e7d9766713d731bdfa03c912c06901a444e2aca3f42772e91f4dab80080d326985ecb9d7c8f0f0957d7ed7ce4ca9b572f7beafeda7669d22a811a23006e74117ae16696ef9e54a3f8b8875217fdf3b98a88e52f940e742dd3ef624d0026ae9d89fcae11629ce88e60619ea49128698a359fed28f9577d5316a773bf00bb5a2b5d76271bc79715114c4de5dc95e33a5ceec9eba3b6b3fd2764cadf9f0014e46eeb86c63a0876798039de8da4421d50a9e504b6cbcfe8990d4fcd9ed000c7f370524b138807d739cab099694a07b974c94ce964187d92df40dff542e300dd5641cbe1618fe66792a5a2898506ba704c9f1f4b63e1722d9fa1911fffad000ad179157476d1f5686788d5e151c58a39da02176c75be215bff2bba50812c0036f47be73ac63f30b6097623b5233a0bdd2be18f6cc98e4f0edf6ffb9f841800509abf4aa39d5df0e3f573e1816d097ee7bfb96e470c12f5ae84342516effb00d74a71da599a6ab131896f1f7c97046881e224d06216ea4a0cb6f03dbd68840089643676e980a3ba1b84e048bda9ccbb21f3e91d4ebb40a181d8bc4b93c422008e49b3d83b8425a241939293f498c93c93d743b1018de2cc98904502fc3a6600354ad33ae8f03bb154c04ecf71c749be18f6468bf1d667b8b64942c77c63ec00175fe1d14e9fc189abc22965bcfa2cb71ca81ed920de25a6c421dad92bbd2d002f63c5dbef2393e3455d0e03af49b7f4a482fcb7339b4d9fdd7ee4e2311d59001ace5d37b86efc5f019626172d19930b2bfdddb2bf814a74aa705c724419cd0015891a2635a2e8643476dce5e105c0a859a810a6fee323db7bb0b1e9ba6abf009b2031ad55bdb30253abaf75f181ace345ae35c62e66cc83221d7757bb3b56000aabb982a21c8a202470a42266b5b43d382cbcc0c441a48cbe8463df2dbb4f00a989c02cd24cf74c5a4ad7653125568a46411f324931e7a63780d9ec1598c20046e59a29e0ab42a3a968dad8b8240eef5ad00f8be9f2fb756ddc0f8a6787d0008625bf07db5360deabf60b8ca0b8504fd9fdc4b039ce83922bdc7fc1418a6000245760dd50ba194375644413c9ec88973248de542a55582c410735bb94d2b500bcfea38cee7756349d75aa19d354f579b47ad3694d8021eb9a8640a3ac13e60023ff9ef25a76eaf974e1cd8a79807625ba2e581c60df87bfdfc0dd6a94550d0051021dce3c618337caa49cc2630ee54540dcccb699b9d841b6ec45bd6a6d5500d5aadc45929d934b62fad09da1d6572f4793f9c622e2268c6214225d7b2b7500a86d3fe672daf491e9d87239ea472c032e6166d8ab8094ce2eacc0f41fb89b007f715346e0325df2ae12c6f5b26aadd271a7d28ac6e6e58fe7320640a8e6e6003a8769064d5f64f519b26c40cc81a9bec1d82cd6584d0fbde41d278e704cff0083659c1f9b9e54b232d522fd3e5d5c35b2f33702f51870253e838c4fe5171300dcd077a474b6c3e9c431933cdb1aafd9d602882197615374469306fc8c914c0069834d4dad4df340bb2c304771fa680ec6dbb4fe6010ccbe763e5a9f0ca1fc00303d22945ef1618cc8ae89bb1f9aa97608ba4d5fb159669db900ace2c2c3760060a79b8c410d380d90179efb422b28a1f2730899cf5992cbff73ada6c7440d00d1e3c81bdb1d2ac3bd7cde60fe304568550d68d5c17b38f14dd271dd19686300c592bf2be4e7cc298da1d33eedf683983c42c931459ec254a090d8fd9b968300eb1ad3c549b15f68c8f56ff6e295ac1d455e4f0f8efe8e60f7474acee8b3e200ca8b0bf84193343949434365e1a63a8bf4bce4b7f8ad98e420647d0e8b808700b9635096eefcb621422a6b52d6fc727ab20a5ad34b6c14f0cd6d0fb0f90b6700bdd936fc2fa26643d3a9b810657862244bc8ccf36bdbf8d4cef1f76835499600f812a694dcea6c87ff946400040332f98ce82123253dc1aa4235de385da2b2009e9ccbde80f7c3be215ec898ea75a7c7050705de2967cabc90a8308c3818bb00904701e1dd73bbf45d8914d8c9df131dce889eaf02a3b0fe2af38baa2cc8b0003bc47ed44d5cbd898329eabc3b0be253b38962ff5ce8406ea8294bfc4600450090936359685dc8d1486d106af80d669dcfba5b6b65d1eeb0d1633517b85d31000b77e6c1c6db2341230e016064ed9a2c233fd065be8bc3c6c5426a9ef38ff700228f1c106b741647ffa61a30f37b7c134cd68f6b6f6e14f677bdf44a373ecd007b69cd99845d8d9df156624c8a6d21edd2f3691ce7541d72d20b71b20bddf100483bdcaa6ab712149aaf35690391565523a94d9209e93571db5212297f18d500b2acee54a3854bbf82dab942d3d78445951377c88c54ed137489187040b2f20060cf3b61cbaae0a19ed5b309fa3b865129b70e53fdb4bafceb1a6108c201f600f0e184637fc1b67affcd83962bfc2e88d1e8d32612c7e847c92018940fc3f900fab5e54ff6f9663157239c0a2b87acb65c540303831f4a7c265af2d271879600aefaa07e97a0594ef3b2637c9e9758c7c3cd2847127e67d52a250d141cac6b000dfd2b4e2eab715c382e6b3651a575ce643972021423acde7649fd5ea0498a0023e55f5fb43d2433e834b55975919f9599928cb38ae23a4dcc72485bb5264c00899f2a2410ed2883df167c50f50b9c82bfc6b23c643b841309c4b157248d65009bdff44ba2a0d65356d06edb6d397d859a42d03b2d29a3e20c84f9a83f01e900d3fa5e77699c89386633f2b138f6b4147597b40fa42200d8115e4afb55ba5700cbd4afde437037d0f0ce7ffd699e60b09ca2b79162919738fa2f172cd4619f003179b905799d466cf672f4f34af0621e31ed761c49d878e41283aec4dc87dc007a2a91bd6cea7d99e05bb5e7ad44bb1a6c04e4648a73b2a1404b44a9b6e49a00b3220677b1778c31a971526f6f901332b3d8dcf00cdbcbbf337e42c632f2fa00b6919ea28a9e7f4b5d8c0da640c63591c44b6cc1bd6dfa66cd9c2acddec1ab0016d8efc8376809c7f1e695ad828444391344f808c8205bbe077c4b5e82a50900c9c86a71f742b8182f54ce15b0cfe6a40b8bfb16de1bc6f4011799a2f4cecd002f617e6fcbb28d79956fd841cd2134f4d493d4558e256f7206d22e42962022000c90a338bb08229b0d7a2cecf905c00fe790e72cc3e33faca71c02d01d017d00d530e21a7c8f37cabcd7019a58cb3951da1b3406d07be057dd2dbcadff50150094b7d4d14fb51f4e6b66012df51b293c9728122dbbd1c20cc4ab86f5c9a608004368826aabf51329a6b27ebcc8f3282d4c28812a8f8a25749c20dfbb9643490006c789173f3cb0cf654962c9d80b3b6a146c79ed06bc7fd1c296f957acc581004ec8c0b4c42743b14502374c6d1486a62b08ce76a489115bdf4296a240d9e400a72e4f154ea8e79ff9e065496031e50d3194a9e0ba3776a35724e3baa78e8f009ed911eafbcf37f6a8bb8fa8df435a079202c50f76fc6b3db8f7a3db51edf600af08a859647de8e36f49a6f65d48113531715b7ac67bb8994c7bd7d955989a00718a48ffc1a30b31a56f9fdbb691bdcc851613f67d242189ef784676a82033003ea7ae3874b695643045d6f4036b9590399e77cec6be5d98c23b622b187a5600a175e015bdb9c2205148a2ac596df705f434b43d9751a6bf8a953fc29f1ae300c01eca8df35d193e6bb22b5fc14fdd725eb0dd08bf7901d8b9c47dfa40053f001c3e2f544adb9d44d29f3117d4bf2a213c519ea2dae06c0c4942d08131ecdf00acd4250b1d30cbe7364edddcd578e0508b19c2f108b4b1ca03364902153d6c00301668811270971c03730a740939ff3949fdbcef14cc20ab1fd54acc1af6e900050ade47566a92092f2ed973fb4ffbf3ae71e5d0fb18f146bdb79c58a7223300c9652574d3c4fdc288fec4e2dd1c5515d1a286376676eb577cdc78a1d3a3d00034af6ce009d16bda55d94985731c9d9e10da44892ba570a2276702102e38f4004823ef3dcae66ba28284d116229a33224491a3f4375d820ca3ba3f7fc356d30085476ec02ec570492b2454cdd75e5f75f684d668d16b6a843510821592c94500fe00504c3cff0aa646a0d64bd955a3ac5cb6acb2904134a0f26a68f7ee52eb002076e7b961ebc20daf0f0c5e4f8bacffede4f889959aedff0f114f468b1dfe0084b4bfdf71a0e0f54e5607d9afb7a163f993d6be2aba3f3976bedd5fd5637b0033f555bbe5e4de2e1c5515e0e81376d565e5cd24fb1d097cd743e340d1f7f300c52fd7edba99eec49aa74265b40523e9a106bcbc5aa05a3a1b1f48f9c869f2003827149512edb505a8bacf0007cc27f335dee6020d8fff9419d15d336be42f0092b2545069a55a36754e14f0aa1d60cad1f6d54574d049990f3cd26e68c6ea00a6509b5fc6f08d1947009ac7a04a4c85ca02811697dd19e74c90e550d194f300a522f1bd3764a02f4115b8c7be34e9d617355a5cc136a4fce0b1a121d67d2a0009adb634976b5dd57c4f454792cd9682ac817566c6571672b6804e8fbdee7800eb887a531a8068b47cf26c826e888a01b7e314749179a5257747d86feff6af00bfda3f3cc71defb0811ed61bb4fa897c8dddbcad530660a0c16906c3abf88d0033d7ad933532e41f507feedcefb0a41cbc02a706351d4a9598937f14759bf400bd89b5a4dc4a40891adf1e5771a68b3530fc04518b841b83b207ab275563f300e62f030f0cf0220a7e1c7c5babaed08cd5c49284d02a9271847d52d2edd24900713c4f2e135de02c331ae70435977cec037dd7c08b3b91e9ba90c908cf6d510092a139c64b92543ca95e45c1b218e96ba2032a3f5c3c71881efa334126c4230079b9e8d7e02ad5c7a57bfb2c40332b3315b16661d8d5c24dfc3ff4163b7f3800c67c77c80f42ff724488d536fe8387306f971506a2f87cdc6e0cc4b23dd1c200e4c7694af9bd0978428dd5d49b11fbbea3d67208d330220b12e1dfb9c3fe4f00dcd7aa7118601ce6b0af458ac76f9ac6fba9ab7ffbdb744f3f4ba81c3ed8a40042ffb9b79089b47dd5b4cf0d1b6b0d35093b01dba611121e2313e53bd2a8f500a852b217db709a00e45d1f47983b5ed0c6ea4aa4d4ed5d9ea430ed5947e5be0008f3f315dc2eb600c543626e4166103b7221f48f8fa62921b94a1a250bf04400c9ccd7c19930fa7c7c7f222813d5f20ffd58b909233c2cb535f7e58b11265c00bfe219512daedbb319371f10a75af6c202ed87db61877e87884caa99958811008d8283ff5b3e1f6accde370de7d2662973691dcee63b798d854f526312181100d57d4c776cb2c0f50f6f5c0d22548021b930ac434580f4f362cecd8a0a12fe00a74531f3a6a2496e2d4719d34d2677a8a1a5278ac3dc75a753891b92b6a667004b2e63c638d2edbb8612bf4e2234fc452829ebe5faf7e2c7542bcb7275c1c100e4b64c98c06d0473f2ae4e806bc83d01911194df9bc2d6d6e0f8638fdeaa2c00e727566abdd81c321438e32da662827c87c34f074860a0c96a27e8848e635e0050bc60773426f1f20f8536b2ba8a51f4ee452c3f48aa5120278fafa6e6d45d001df1fc8e0eb20a275f6595f0ab527f2ce46586e5a8df02b83472e89351317e00023cf2bcb7ea0b38d74a7fa8ee381eca7a3eef288d4737f4362a32de8cdef600accaa5422e6acda3af59d919e638c39e3ec396e14be565aac72453338475d200390e600cca56e46127da074345dac62b5a30c2c2dd78b8b14d3e6a53297010008c58df5d3d624d7acf98c4f8fa9af3361c120439c81db5dd6526e078516ea000eb15e262da126b421b5698cea868abf8d67b8cb86c5279bd2dc8e283d4f80a00e96fa63dd9824d64d3bf809cd4a87615cef400084ff02f05dfed5db5d7755600b132589fec3202829b69fcff1b288479a2effaeedf3020e2bef25df0183279006fe5706f5c1a60e13a8eea5e9362df07138fd710249b80c04b0130a873d00500d813a38a193668fe048c05299592b4e1943a53393b742067bb33710062f22c001bf107b6285fb0bb77dcc48bc7158b3242bfb0b143e2ae1c695635a6c56e340058879b3a7496d419a39756f642c23cad98872266660d23a5806e88414419900088aa9363a7a8b262da7ecb2ee026ee096ac64af2b3923da7801a63991eef79006b15fbbcaa1c0d1f177b1fb434bc6de133f848793bc08e281b1a33272072e500234a3c3a536d87487b6753ffd65431963871523878d001a6ca99d61b7b9263006fecb0cde83426dc84312f6f7582ea4f39b14fd88af0c695d04f66ac1e85ce0000b2a8be137a3718e55df88e9b3f9a0a85f3738be42beea29070ded3a700eb00752741489c7d888a14d260f8f00d39e81ae7b7d05048421d94b84c174e793500362134c96cac74dba869d7d8ce3b15434ab562ed66f44fc0e80652304cad0c005616f185ef7fe26f524989a03f77186a4b7e9a631596672066376a1a08f22600a5d81a7e971ece1d03c3cd7cd29d230d8bd72ad667293eb3ccb6ab8cbe8aae00b0e9c65c6d3ce472323b40bc12dd2c288e66417008449c23da788b6e606c330009559ce193f5c83c4ebdac292baa629bac8ed82d90dde7dc2f13691642238f001505b018782519828e8b73447217a1ea0e2d1cbcb71fb6f20eb1026709a19900c5c3fe2d14618b05f64a1405e90361b1b9cc6f687465447fd5b4b1ed3bfac800063b0f80252bcc2f185a9bd5285b13fd0f8ddade96d6e06fc0a4bbb6ccc2de006131b88d1578e291c5097aceba4de41471c0b345e20fa3cb2ecca0c869f0fe0070b2f6b538f147dfef271a8f0b109236f7ddb9507e69f86a241a11e6e4d81d00f0281879234b0d3178acbd5c4c9fb429275e882fa5787ac806701ca6fb2ecf0020df742f82cd77010e64038323b74f3f325784ec708c2fc208079daf8af3c0002d28aa66c5201ec8749cfaa985f4a08986ed06cfa37de4014c136c6c438e6b004220c6b13aea9b8878e9c5e496fd78dec370d6438ee5704bbcc9661c95ba0900b566056eb9d66d8353109d297c3e373324ca8f4059de26e9b4ac44a7c7f6a1003bd92d67730f69be55d44c2f9463450b126a19e835c672ba98a08c631e604c00589b917ef11ac1aa4c2adddf9808c8e6f711c2975949d88c5a02082880d39f00229a0bffc143ff46657deae54c4275e5d4a9d36bd77f9f773b00dad657fbc700bfb8fa7a4cf9e0c131b57cbb7332fcbd4411fc56930d819bd617ab2ec5dd60004337d093a3cefd3302b6f01bdd8feb0a2d0f26b3094896831e6974d1512342000aa8b140446b23ac98226136323cc01c0639ef54b82b0e86110502a85b71d5001d0046ee6caa4a159b57472d9a88b636522a4eee53c476197ef4fb930c284100c8cbd91c900cd34cedc125a18359a9e69e4458dc63bf83a39f834ba6012d0d00db493f41df2342d8f0133edf156838c7885822fee7235dd110311d4bb7a46800a645109268c5ab4aca2adafde8ebf660816259e37d021c2c9ea0c75bb0621c003a52bf1c893643876a23ecfe0f9ab63cdf6751207cd80081aa5bc8c72c5d5200f5ea6c5302ce409f6b9cfb6c8aa6c65292f1bd06005e56f06ae20fce6576ac001d5425c777edf3bfe4420c07261b6202dbb4e9022ffeeecb4aed20869bf0cc004fffbd702e43b03823208c9557f6e9f5ed5a581f5a8230ca9dfd4af633a0dd004e5e5b1fde7e5bf9e30435ffc8cf0267d2b40abc22ab3a9e5159ea219147f3009de9334246fe97ae46300e54e5ff93823460f893376d743ec3cc77e2a88d340023c6833d03af70a6848c2eab1ac832683a3bd804e18bf17ef174357e2a594100eca5687e42f8cf785e84bbb3e5db208623a0533134fd71b32a8bec84ade9c30097211f0f5234de552d3d8d6dba1a3f2069e3066cc9f5d98988bff031dfa75c0091116725183625f887c2c1af372f8f85136085817a2cea97887b25ffdc7f1700b6bba083e1f933cb6733e3d6c8d8c73fd80accbf7221e54592142f753a93bd002ff807c12667fff1a054ec48771a086918567d66f381fb5e8356cf258cbfd70062d6e7f64c60e5a416b891de11018b8e656184a7193373a63709e2f41321bd00ea68746ec1df901e5f800b841bdaea8a91986d3475f0e14b30991018bddc75001c20a550db60f8ba226c999e8185fa2d38bee6d0a5f36a711001f51401dafe00e864bc01d1b19c41e5984d115618dda4df5ba5a161dd0624a2a57682c11c9b00ffae3077d648c3d0d807cab6ef47ec1514f4d072ae6e7d42fef7ab730d097a004a50aff42615bd0c221cae7e6a566681e3115647151385983983a2629b595e008826e06ddbd59920d278f80eae424183bed63a48083e79b6d3eea589c1fcd500309e01306dbf87eeba2f239b062451de4441d1a412a0bf75ea994bbdf66e1e008357db51338080e4a6026bdde8c038cd180cbcebc01d040eb4a0e614ccdbb400b5b83a40ff479f988be48ed4dc7ab67abca3ad09b004b40a68913640902dc8000d3081e49b4d9dfc31d0619c3852f69bda52bf697b955eb1fbab8d86ed6d0200d60daee400136f6c078d5e0260a468dd21de19c74359d82b424f8b3da7abfc00aab05fcc72aa7d91922f10660fa16c5e7f3a2c69dfea10e4b76dbd367f197f0000cfc6714734854acdc4d9e114208d63d0114f64543159a6caf863646e4dd0009b439f212c1b71baabd27fb3ad896189612189d5db5fb1dfd2ad1bf73d840a00a9339b0ffdb29a28b7f92779b6e6fb8c91eb8a76801fea0401a69c8d90b83100e3ac1fd7dd20fa5f17562a1b54aba2a187374cb6c28d7d961be828b82ac8c400cbe391065649f75e210a0c31159c0a2b1e58193366df7b9cd2ff937e4304e8008da83294ecabf06d201b6a97d82bc9b74b17a55ded0bf1c2014d52ee8aec8f0000a2733ab56242d9fdf567f3f9e2ee7e338440479ac9de8e150c91fd558ce7000aae2354c9d5b9d1f3151ec46bc39ffa67c7351e9ac343501f2f118aa5306e00d4ff748670806056bf83daa106004af9fa4e462fff39aeab408c6dd564d6a0002009305edc4b3559ecbd26c3407615ff2469aee6dca55a9348f9e9ea9e1257009de1f47505dc792f24fe2bf5d94c4e6ea9d4b342b91f042ce225c24b66ee4f00178e3c1245badea7d474502f5ccc5f3764fc2da48b7cd15188143c49e26f3200cbc9aee9e3b4e2c617552f73557beceaf4cb8c6fbb306115ce9e2feb1bece200bd3cfefd1526a68c0be1916758ecce8501a31ec2f810f9344df549f4a3a3f800e606add3773cdb18d709da77714b2a43237642be112fd63a3501292ae3d45d00063fc181e249ca342dd0b93ae352dd082ce51ceed788b22c69b9f7ee31768900334441c60d8ae92947ddc1d53fcff319d69c05fad727c976dcf77a6a4359ea00fc9b055a17aa71761d90257286c5031a384c619654cfceb5b2a16d65b57ae7008e99b7e1b412fb570eb928ec8d8fe0f68b7a45da21839a5f9a18dd8592b35d0008e6863585eda6c2658f4234cb9038988e67a278b3dadff556be4b6f96f99b00a3c1716533234fd8c25b6907533fd8277b159f9a2ae1cc4c363e53d74085b800bf98f462f6820118b81aed88c9794fd33b4da66d513ca205e800caced615d800edd9d51e93a207550e923ffb726da91947a1bf3c4aaf386b93e5f65a45b99600bc60a666ac867f42215bb8b6be9c46f87777957ddd832d13c8c9a8addb7a6c00eb6bb866b1d217fb70189d3d694f8bd169de050a666fc807ce0065b4b7e6f100ff46a39974ab88e7236a7c808835984b37f0fbe03293f7c2d4eb3832fb16920074a305d52eb6bf996ad63c2eda69c5e608370491aa00bac8664bff97e10cc300f263145e99ff44f9e8de2d4aeafeb9dfb937a40032204c8eda2d84033e404800d6a665dfe86d592b818157d2dcd1293abdfee63a9e3edbb4611d63b325090e00c54b2252989f21c77cea90230d2f193db92f4f47fa44fc220cfdb2e074097800eb4fbd58e11c32d4d796d65a79dfa0c928dcf0e95875db9bc374ad4f0e09730096c3a0d8836d59a154088c9d62123ff4a002659645c8f7ca3531714a65d7f200635b22663e0900e8af02655cb30c03605ea1c2c9c1e0fa271336269139440a007ecdcaa9d346d48c89ed5069b3e2c22b3d4df683e010c2b683a7d9a958860d00a25394ceeeba1f055ecd68e4c0d53a29ee19ffc4f514096300532d9a66c864009d820c588a73d620397a88bf6083aca1983e9105c6b258cb4249c61f29a028000262abf12e1983d18e5658a6392a3bb8812a7cd9bb5d71fe175443b77b6da4007ad8c3411468e5ce7aba8e6d8009285ac59618064865f36b57c5c7608a271800370ff099a7a0cac6c9bf04b30e7f1b3193b297de8591bef4eab7cb54d3589e0046f0c733876543f9f215487cd3f243019ff078aae993145953076c02fd851300789acdd5d0c0f90d5bc6fe318337ea35ca3e9fa6eb255a3744a552b1120e3f0077d9ee133b13a80a3dd117cde94303e17683c4d5159f83daa4a275c1e858ce002c09fea94f6b6bbc930a779502150e397cf3ae4eb8bf3822e9be9bf0ee061600f3628495f646b120598fc8035bb9ddf3bfe4d38df851e0ebf806898c378bb700ded5dc2b36bbbebad17d876d8a20b4a8a226e03908e2b53a258d3adec30d5d00b3665484b9dcacd483b85d87d03852a08922ae1f5fd74299a3458cc2e8fd6e00bb2be5eeb24602c215ced5517c46d06d8bd69fa719b1240fcdb72b2fbee80600932b8cec077338bcbd0442cc3d11a5a22fe6f37aff7a98c08cc72faf388a9300a43d76a790678e09d66cc41b449c004498b5427266aee9abd47dae099c60b700fb7f893158cd15e6f3fb21a93e252788f6a41e26b98c76408da75b1b4fa8d100028cba8237383ea2fa06019988da2a9143bd23681c209905690bbda3d18ea0008cca8a122a87ad60d964299ba09c7ea79ce59b7fe27beaebc192ad331628eb009fb7c8f38b951c4e9a3a2ea65924bece3849b8711792d8b6257fd4257e2bfb00a851bd1f2c7893724e255509737a320ed05ff2f585dafbe57c60ce427d185400a94a3f96976b123f927b898f5bd8af12b769e30d7659132c9d066612ed42c60095f588b144d259f9dbdcb2a02996e2ce10e6ea090e29c53fd4d1de850ed66b0032e419334c271ef0b7c47c1287d278d4f838c2d33dbffe1cac58c7672d143000e1f3e549627837fb326ace98efc592f57111514a5f1431efba329b0ba64d0000560989639b211545906e1e43395203df56b062ca2020f187b8dfb54edc2659004ddcd673aacb9ed4e9835271d1ed19e1f5ae1ba023a3c0c4acc0aa0fe3f53f006ccb8f0ee7809095f5999d9ff5edec5035cc21e94a834c794e82578eadd6c60005a5a589afafc48ae1707eec507dca700e87c2e3b420bdc0e5f4e67299183d00f2c3c64be288993799aa2b69926c4201322d8442deab0bcb11b0d9b67135a800f1b2a2c902a6d30fcca5d866837832dc3eddb04333f9b2624739d40b1dbc0500a6434210d63d8ee16f65f3aed9ab100f2ac6c78e7998a030dd30aa0637f7f7007ce589e76a9a962021f33fa65ee1c39b98b317b00679c783dee16670223a5100071160c3ab8d8a67e005ed3a988b7e3014739a36d6233fd4cb7fab3748d75e00d4d6a0d1ab79a6dae8c5f6bc211b71fd029f9d2aaa9573418e7b82e0576c610016332ad27e1d4396f9beca9209c015db278af6825181296512a497f43cf08200af9563bbc697508ffae59426ff25f4257238b2144fac860d290cb6d737250100090658715f2fe5289bd141d05dd0ce468a3dfdd41845fb707bb1d0fb0253020039fb32bcd3d03a92baaf0f52bc181888305cfb84af59fd260c8f84e69664e8005b9a99edfa2fbdcd250b71ed52ddcbc95da75ddc91acc2d2ffb1a44d31b236001686b274756f78c4f52a8e28eb8116cea0c1e90094c8209e46b113f84f3f1600ba9adb66f301db8f9ede63ce1c1f5b1d1613693640d927d49ab99eda5deab5007623cad94810ea65d95135b77dee30d733a4500f4b4174f0352bd1c21b4c5700ec6cf751d1f4f149465e9fcd435d2698618d0436284ca3c07b40e3ee666d9d0007d0619ab086897a8af0cc8b78a68bf8823ec576d981aef051efe99680944600ebdb9d0a8bf31d39b92196cc2b5a54e8099f6ef489aa8fabefedb15b6af3c9004c7a66992fbb93a18eb9bef88820b4a30d1649d41ca7b9ad8a983d80abd5c00058c60c64fbb4d53531ebfe64d951f6b27b59e13c667cc7d5ea923682f3a87200d47505115890d91ca9548d328ed2ead0fcbd5fecd80f9fd1123fad0ab8de7800f9101ce4063054fc386dea9cdeefc227586503618df99b62ac5b169a6574980075e6a2b0ea49e0d39753a4365dec6476d835bd087744b98c5700b96cf73f2f001f090aedc00f8f6d39ef05b746ccea91cae74dda0802bdb4a9d0cb799fba5a0067d25cbecb0eb1994382c7832e7879fdd618a0df97d91aedb19ac325bb17df009ec076553db5c80c78b4c59dd1f0c30be5d11bec3a45980aac696a8764c4250009d1159010266f1eab9d7563728b19e31d2c7dda61a537ab2a46a7e25ec86800a83813a729ef5d4360a0eb4aeaee0fd075cbf2903b57414366a663d222c4960049a73338ae935dc11e0262ac73e8282eece1b2a0971fdaa102002f1ae1170500bd12285f2aedc4f855ccd1f27e737f0ca221b771b8c6ac6f050b88251383a800800913fe1c7fd24975850b75c3feadacc6dd17dd43257c90ebf6c6f0e8af660024d1df9d9faed046f2da4cffbcb08f56f616aa713d113f5d859a7189732154008d09d387059306db76139038d962376fe8be849a6df47cf14f0c243d51a28d00a84831cc9191199edf508107e7da6185eb5509d96c9da95503550f35a1567d00c3c9114954ed730603a0f896c3d7a135ec8b28cfa226cfdc397bb1eee462ea00cdf913cfd2fd2cdf20f43886a7a1e7f18a4ed282e64b7a80cee6e708b2983c009802f5d5ea124c0fa295a2c5c4d6c72145b930ffc463682ba131d27bdeb5c1007821b20d4dd4a3a3a7d8403aecf9b0e65016cd6af028a9975c111021e2a9170012282c8f26610f531e45493d49e97e1c725679047aee004963442df0346f8a008191ff8f6829269d89acc285bc16e1d4f7df388dec4551183a2c29ca9c774a0088008c8e5e37922002566fa9102b199cebceff11dde6a03235c5ac53a1e3240040b4d45c59f489f07d2b0e797927473bc8c070fb465db0405fd7ed697c2fa000b9a321344dcc16b430eab6a19c38fae0834b94b62fa81e8ba71c16c1a1dd0c00d7eca0b8310a5f6b540aaaaf6eed17e138bf2e27d5723d12cbcf6d9b0dc3d0002053bb98e00353bf0445f8b990ecb48cdc12009346868c2ee4ba16c1c65f1f00f6ec0a5ee1b1e770dffd897bf6fe8506377421911ca19e0cf8179c425fdda500684906d6992102da710a3ce7cb7f43aee8fefc2d59805fbd89385b789704cb009bb547231375ddd76f2beb549fba750c022b63aae6716e4cc0ad60e9bcec9c00f507ecdc7b9b99605e486116cdf1a46949e44deb5b8f304b8d049ad8499eba00abe2a17fcbd89c5b50320a57f3253e84fc4bc70c5db62058cbcd2e9330f0170038fab8f931e2c66752c8c1b82673c673332f65bea83c491ae5214b4110a9ed0049c6e019ddedfe470d4f5a4e1d85cc6c2555adf723ad3f02e399de79e1c1970028ea0421fe932d815adea108b1aefff18dec96d200df8e68913bcc57ba94f70050456ef94ae65edf66c240de3cde4b948f1aa74e1116c1bef8a7fcd47a52f4004e841fdb94e4d77cbf847538fe08616e29fa6efeb7095d098f7fa3c0cf9c6e00a718fd3cf801cef3030fad491edff28fc4c59aa30cc171ca4b1212869095dd006f6ab89eed466d8923e20a353c385ab894bdfacb69f715efb221d99d96a125007eaaf8b586a15abcafe627a32a16fb84e276343236065fcf91bdeed9c0892f00fd2110dd89b41c0990b62c2cbc3d31155b76de7fb3731de82e7990c3e89d2e00d95a26f9e92d1dc5545f2236eb90c137853d68fe954c71e642e0524ea43efe00c1b9a11059a79f26a5f6e0d6aa3fa6de828fe5e4310d95378f9573232d66e7002dbe63ba779fb773cca5e4067b7d10da2db5416198bcc3f533a6eecf6a0e15006019d46bf03238a2f598219ab549cf69175564600d3f903765c8d9bb77737b0039a1c2d3f462d694c98bcd3ead7beae8377be46059b9f8e00444aa222051c00089e31ba292be03fe185809b5bbad9672b20866be0e2572464407d247dbb36f00f9c645713fff01db3808dea43c60c798487223ca45ee91c9e0839aac2ee099001d40d17e35031091aa2a690b7ad3e6043524a4e6174c6132e4754c4b5de1c400fbaf680e345042cf6894c8e14569de841705b7e6ecbb2e83ab2bf0d86deed10089ac1b9c7d3a1cadd500d0ec367d7268d65259814685cf6c7911e51b36441b00b488ffe0d781efee288e94aacefbf8e08893a7b04e60c66876c0649b4d428c008a73d3ccc6082cbd554b1f19f661960187613c1be2ea225ba2b7fe3bc98b46004cc1ae084097f1418c7620b0d1f8ddc5a8f20fc8e569aad0555fc1df0d23e2007188f6c717f5413c64034ea05d887ab2348dc0c0f726d06a9d9574967d132300b240b60573eb08a76b834644c07355237f4be8feb4183297da6e0612c8f81300bca6a13d3b218dc2f8f0f2b4f7d40f64a88b1c25aa99e1e87d92886642e26400e7df51b6ff8935df496cff7cf61bcd6da4e50e67b8b87d40d2587b0e00ffe800d58df74521564f9af5c43b6fee58ad0ab01b20a13b605061f9615fe524c44d0013fd9e1cc73f97a082973fde4a8266391bac8151dcacc5a96fd3a965db7e60007fe27dd20383067d9620ea3fbff30462810f1d37f703ebc50e15c352a626c0006effa8031cc63d35ff0ebce3e17e3507aa4488baf9c350dd86633635c01f4800c099c192c4fcc9970babbb5ca8dc1d612bd70aa78e27a37ee07d9b15efcee900703cd0b2e53972525c9d0f021262be815a099037b77541c64ac5c7314db9a800b23d05f9249f8085b6d33aa2db77cc6811f1c617b99e89593cbbad5b05dd0b000e583480e6cb71bfe364d88e7668f1f278354c438aab0943c118fc0169f98f00a3d757ba8fc110ece523adf9530b37d2f5ef2a017cb883ddba75ad51c33f790025a3a90dcd798caba3da986e44c0530d7b8b212e88bd321f2d9a2fcf1adafd00501698f83c729ee9d08603cd53f15b44c2faf95e84925fb2c3bbee657e88d300d8b96573acac0e8ba6c81e91699c2d44ec70c95d45cb53b0695002738fec9a00a1a3c9f171f11b8b82663060de79f7809d07b4eec0e3ec2f42442a9f0b99f100b1892e2a5397cc35c08c93a1f328bc7975a833c82a51ed461196bec2a72cd10049976f72cdc1192555ab0a58cf990152d3c5c4d610ab8f520e3821454ddf1c0082576eb0c7bb5eb38d022555ebaecea2d205fb47827087d10a7058694aa3ea00213b8ce33da95618e535244a58efbd8a775001eed1939157d8892bc0c09eb700468572345cebe9ebf581dd84301daacd1d7cfa72b4886cbe8ba039b5f2dda3002510422cc587af01d28765eb3813d4a6c2d6f03984ac98f5cd4db3a29cadd9006cc84d373b234c298cfbc189ed657d126b4b882fc4bbceac74d125e0def126003252a06df71a874a61b328ee02aa1237775ced6200aaac25e635e1fc1e320c00429ea223b63e055e804d58248114106476d1b6b61c97a28f14d3c230bd5434006d8d9f26ad6173a4e046fb0c5608c63a136823ac34125c81d9f69de3cd6ca100737fa11a29c0021b9486b590a7a6d56b60f55f0091ad08510c951421bfbbec00c2db5fc0d2dc3827cbe041fe90ffaa55928a336f39c3f344bda91ee693831a00eb51fca539b889633a5e979d9113eafdb93afee6dc2332248d6c1897d9e7540088c500137f7e249bbca55711f03a54f6fd38bb9df6ca4b59c446b40bd6c84100c25870ac2c25069439841262dac5bfdeae1f9398612a4c687b929ac40e0baf00de0fa62132a752ab949fe2fb4854e2ff1a268eb6aac23b0aef67b0b3fe500a0055bbfa930c46268082be80ac9ec21c84b3a042e4bff133817b4c479267dcda002788cda702519bfba8cfcbd976a230bf265771852246a8c920aeb1fa03244b0006034d14bff8033f6d276615e42627c3b1d93d9288ca70f6156cb027adc2cd003d209bc5348f33d9eac161684370534b36537b500986ead516b4c14cc5bc6e00053d9d6a8863b4a983eeddc75ed25f96d3f64746d6c6c56bb68b38a3bae0df003b10e30eba8f73b5a9f861802de8d219e4326c2913363608f611613648bb5400fdcb50061e689d46bf6ac2dcd90f78d247f2da92788e49c0e72713b07b305b002f4457af13859cc15bfc038818899a9ddb76a814ccd6fa454757f273dbbda900cb1559482ca0e66764eaa8767843c5f412f87fbd3598842757ed1b4ce1877900bfe51f2c02de04b6da877a0c9330fbc0ca5261cbc16c226a3865ee8aab6467009ecc2533ea8647510dc5b69ee4e5facd9fb4caa69ffba4d1085e2e6870509e004e50cf1466126a66e05940c2212621c8e58436c1768005d6e0f15e2b7e5ce200d10fb2fa81e959ef4824f55729cbe5c27f483afdbdd9f7887d29849149c2d1003deac939a87275dfb445c80e0e0110d44272b20646b49a1e9ac90efa76bec600c47d3f846e7938aecab152c3eebb0ab516b935ba2f62b7a8936fa181f8d65e00e0d63c81879c38184a8d7e5426b358ff4975ccd91b74fe5c02b543a5b4530400434c27005fd839ccc14ad2247d74904cda1f314bdf5d98e06901fb80c87727004c0d90412eb21678c1d5fbaf829d50b65f8822b83a157558973e46d62c6ea8004e17611200757c3f24bef2bd9e411c9b137c41c452257f7fc8f23bb878388a00d08d4cf6b4ebf65dda49354d2f25cef07d71f0c2c5b73ea59de60dc3e058090002365e19a66ca17525dba638eb5a19db1d9ea118772b7caee93d054057d0200051a06b11c00c537850fa28aaf81ef13acce4d8ba5efd953126b8fd51b602df00b72067065f59d456fde7b71243757b36893ef26182a1d8b1c5d0289068d91a00eda9b634c52785ff84ae9218856492e0ad2aa208be3c198e209eaaa13ffdbb00f3cfc08db3c4ab54e081adefee8788a04b590017b102cafef9b9d8fa41db61002145a9c046662c2e44e78304b4e98881985482356015b119cb18e421125c0400d0f91bf79a388deedbf9f7d3c0119c329fb930e58a3a7a0193ef0c9bd60f45009a23e6be14456389fdabc6fe59938ea1fac991e1b968527a6a0bf5e567c5f500871d0f95cc1876791e51fc9f700bf9a13d714f6495efd3778e498a1ec240030031f411fb3a8d9c978f17221cc624081978b042ec39459e57cbf7f4ceea724400544d6d21f09c30a15679c0a2057237b9702c9e4fec567f782643d75cc27e47007f3f9a4a3e62d607439c6cb61c37b5bf1430b1ea9854b115e24cb9864d239d009ce29c5c59a2115efae7070719e058a9f423b6abc3376b99bde26dd25c777900e0dc6c1a8eec49654c9d1816520ec1fbe90d2cb93ffa3c3d8650b0d1c5d54e0098a5d41685d7e9529c1a5aa01c3521363877022157a74c8750dc63a4a8aa8900e8cc13f98570a713e5d340cf617b55bfb7f013cd94b440df433561e79e917a00d925a506e62f4f2ba50f2bb2886b964889ecfa44de8974e0cc45e185b24e81004d1a88ddbe2253e13e2fcb1abee052afb44f999a9831be0a76e075e4ae416200c7f83825d1746c8002e7e6b9fc7c9860f933e9921b25addcd0547f97174b4a000466fdf058d0ea053cfc3ee5e6987269a2099ab3ee9403c0121cd90a4058a30067f16eaf7f79db7c7976054476bae55d2cdc0fd8479f89568b72cef522b6350088ed572f58d7cc5e577be6b9a95589c7bbcaab9c3f2bf5cfa14806e48dfc3b00e6e4aba8831d5bc41016d75cb6afdf5c57ae041db68a39514916f424b5343d0084a7b7e1956a8f425d0763944f5c3470c903ccb6291df3c7dab3165a85cfd700fc63d4e1c5abb61851419ce37025a62af50180adc75cde8b7b75a4f8ea03dc009643c7248ef9d076e7279a94fc45c4b3145fcac61bdf64bafb48d390b1b6d300b3651ba89e6bae7e8f972a7f7e1aca7e89b8722b461398382e5c6cf104c3220066c2079d20c01cb97579e146d2802fb0ca9e631f9ba7133616564201344b7000c8c7c105511fdebdb52e1ce2bd3c01939fa95a3dda7335b6343e6db77327ef007a6138c6e56df6b9fcfad98f5136fc7c0adafc315c096edb38f24520b60ed900b7ef1d91f27432123130375f899f8b699dd7faad245a75cf4e8107ab7b9ef000eb3aae5facdfa5d5f1569aa9e4546257dc216f449661842f3dd0f1bb9580400077ca937d0611c47d1c496630b1631a50b82568e2672372d5f51aeb5ccb23a700047cbb5432bfc1c046267af9db5f1b0bf889ee77bf57daa23fc5f5edb0ab110012070c7c136d837e04e4c82e8df18b571d1c52034318f930ffd4617ad6a9ff00675f3119c25345129b2cdd0b0c8b3a6ee6da6b4fcecf7d1487e2b0de98a10000cae3ccd93451a72f13bbf5c48a39638c8dbf124f7617087fb7f28b3b9d443d00218fa59d453f41ae3213101480db6b1026c1c049821e4443714a845ae0cdb7008957ef7f05594ee3c5035e040341c1ece4cc8d56883de2b196388bcc0688bf00f012988f59fc8d1eba405cab36b861c555377758eb2271ef9ef87168e6079c00331490730a5b344fbf568025a0181584158c00e2762626581d6b52f6d7e0de0042c8b4179a86f4e920cc85a430a08893fbf8042b70b7fb5ba6310597e1d64d00083de2560e76bf18daa0336bc66e8d3322b0b83beacae7045b859b857d3b9500d875d11fa6161e75258c490d510e8f43f855d88b989221d4c39a8e8ff8f87b0012033008a0638b016a16c9054a5ae54c6daa513d8082c1372ea88ad26fe38d00ef403932718d80f2e87f370d2ead7236d5b6e788e95d069c7d61e707af769600c80c9bb7d59c5eb6af3568de24ac96afeb9d36df68af34f3bfb0c4f72af8f0008acf503e2244dbd78ec9540d83425cdbafa4504154077e4d51d792427615830073c0ef5433b83e192701253af33ab552e88ada66223198b1a658b257f266370013c4c818f453d2464aea6b0ae495a0c1eb486d004f7b6ab002689c90da7c18002a8240c00d2c4dfccd20f22ef16b2ea02c24e7a19d7895d5153a653c8e3c7b00c9f58bf55e3d0f02075701f74414fd89abe8518d29f3bcd0dbbb2ebd69ab6700a8190d22992041d3f7115d079dbf28418aff87497ac1d08162c503f47096ec00389f200e3e9503092fa7b73a1e16c53b9a44e20dbde83599741439525611270052ad8a78200e91427747365a00891c885d8c37d8a14a1280fc1adf005a5d470037f7348fb9f18f0bcd1f29c3a68fc7897172feb8b290e175dc3098153c59c300fed60f29b5f559db2686d1ae540a83d31dd67bf4b60d6ce86f9d8a4b779c8200b5524f1d997bff60081d2696ad9530434a79b85f78594f0f407ab1b9fbfe55000511092d66c8c4218b137474bb8732dbc2fdcb21519bbee43df825d11e426f00b886d48488fedaad1a270a8de75970b8e2bccf6184d94a9dcbdcf7e2589de9001467704db6d24527da26ba31a4cde17e707c4307565c89422e24768f5e1dd0000cd4c850c6a91342e273dc9da319a1dcbbe1805528d55a0de41a8180bf799100c42625df0700a1ace11f3f6a166bec8629cafa6127277dd7df254f18ba5877000ce10aca0b9198bc2ca10997bb7bf4c78a6358210c9c0f8364b8031c143c20004f12be964067c2e29a82a2184467dc9ccfe6736ed564d2a76ad056504ac16e00f5a133f36a507f425937fa845a52c37d8794c84c2ed9fb7e74a2d25d5797f600f22b70c251c580af19e358685c61108342431cee459f56651e2b7f1e16149f000d582958f94308feb3875b9d4ebe903565cb66206682d785f21bab3843eed400af8ed511e4a4a75f121bc12477a274d10cafb638351eaf43e1cab18771de050016bac0000591d1858e6323db2472512996142504bfcf5355ecf01c7c2fd741004b6a775e0a8b890ee366400b24aa01a02fb6f19df062907386aa74dcc8a9a90021bfd8249e73a9e4c283cdd81ad98f1eab37c77b33eafeda0f4749492299e50018760df44ef170c197d59b02b874952ae2248361194f26eb4b09843bb5b91a00e6c0f3b39fbdeb7bfaffca5ac8368f46cd09d41ef70a35fe7f408cf9a08d48002a19c0d9ce4364bdfa22481cd1c7b48db1266ec119260a39a44f30ab549013000a3cd226106a0809db959aa3916ecf934d6c74ad46de2f45dc13b26a1215b300fc7f8908307842fcbceb688ac4da9f25e6fe9209a7a6b7c5115dc387ae722000b37d1acd1682788a6c158221ea4fd71bd0b28a42a80bd3353c2e5a85eb5ae700f4105210349ae3c2929347efa09cc96f5d9add5d20bde05f65e8bb8dbc56060066f1b07c0bb0dd73997b8f5b2b0d660e4b5614008f70009a29d897b20d6cf900280d6eb16473d4c547ad6146f3bf535866ba71913a8e39689adcb01fed45a400fc3700f9630d8897aee02277a583f36a6026f92cf29fc2b3d7bbe78721c70c005b32a1acf41a7c1a46b9fa95d1a7cf93b441803cd76455d5504be742d58a010037cf4f1f95bf4b98f9dbfcaf483ae227f4603a86771eb69c504cdcfe7727f80043724f96b09872d9573b4f18609114c1e5c95c48386406259fb8f947a268c200a6d5a155f448aa5e01b69749a72c6489bfe4fdadf613735d99a0f371a090a400bdfd7aa38dae2f0ed5eca9f76f0617da6418d74bb3c4d8a600074d0da2983800b5c10e8287c5803cc737b1e32e5d32df3e88f4d0bf8ded6aef63f7071ae6fb00885b05473efedd72ac1f63d5874a9fdecce5a00219e555f4c1f3cc8d32b7f000ae1f3983e15b981f8da353479863d03a344e58b1d40ca28be4d61573815ed200741f449943334a20a4c31201331b7947436a9930a041c2a1645868daf7a83200f246aabd8c48b1c435fe10703c4ebb94719646d81c7f7f5851655f10a3c96b005378460a6bb563c614d7c2834c857f747a7fe3db3763fdae935b95215b33ab0020426ff6d8bbd1b9984e4b28eb16965c0b466cee23c571712e6d803f96b78900f3b32063f139168e14eaef0383a011c3f6185cca374cc0d2a29daaf4adb32700438ddc7d5147d7b453b2bcf3c7038c230a85f3551229afa45c32b48f3f36b00097cefaaf967b286474a5996141e6c0071573411c379074481e4d8c9cad6411006cd1a1c155c167d6427e2fff2e5976cfab5b625c6453804bfafde0e77de66200c4ce409027b0c86f78e1ab5d116f24111b22cc29feae30edf011147ae8fe8e00b02739a8e4fea5b4ed293a4e87f9e3f414fb5e029d5ca0cfbcf7e8d502f10600f66dde47917ae759bd05e98f8dfd029df688df07765bcc94320c4b57a606fd0004e83007cb49e1316392e2ef1c5cf635e604a5fc63f78b0385b5495717f47900a0064e4305d3006ef0d0fcdbfea7fef566cb9a581771ba54d20a53db84be0d00e30b23a0b8f4ee1407e8a3b057d4ceb1ee626fd26e87ee991d79a9918c9aae008d6763d9d6e18728e81d6e21eb71f29e462ae571e23ffaba01e8dd8d8f192a002884ab8368535835379c7ea4dc8f84311bff92b233fd1dc882994c15e74a3a00202022fd739fff85ce4c0f71ad3132b41a1ecb15e82e156bfcdb5e3b6374b200bd3c02b8c25f1b1a31898bc9390968468af590a7b4329fef28144e1728ba3d00167270671cbfbd1c3fc193568f5955771b906b55bdb58a39f06e870fd4af77007a7764346fd8bbdc05bb382b66fc9cb2ca6448330001574e62dc0aab61bbf8006e295b39adfe38555bfea3344348d01be5b89979b4dcf6d200f673ba997846000724864038cb41a162644316130a791ad4fceb21fe69ebcf14f90202efe3200040777975c3b97aaf1078e852c58290e742d5e1b52fac43792acf60d6f9beb900654a5f8fa1ad85fc527461e24e7eb20979c92ecc431a608ccc36ca1152ba8000f9fda7a1575c3101851342c5943509461c9ef53eadd60b580b622b20a1636000d2e41cf238bcb74946123a014330fb0084f4da579252e104fc45610eec0232007ec1b880a6818f015ef02ae1867192f6a59306861e32c8004ca097056390740090c01546d7aee36e7ffd475e860dc33485e9de036223a3d6a756f0f5cad26500067a95773a3397b071c5b7d0404158ff8817969e7531081f65837d0b36cd7000f1a50fdfa5b4c12b4b7869d85c19da15a40c97ff4084c3aea8d555b5c67639009d653c099f768b5d99038c7a2069d51e2824a3bf2564bc8c319f281a688d7e00a8d7fd8430f054d399b0bdce02ebabd9fdb5788be53e1924fa6635493c0d56000d1960a257e9cc9fbb35f6992c326baec2168598acc760a3bd803eec9160f300f2684877e055b0a7fe27ceaa6fdf411ddc7311d02566b11b7cc58d5ead7d37005f03d45b287778f4746dd5ae1dde3443ae3bfd30be692989b5bf50f0517e1700120410c0df7abd34bdd442b370af3e4244d3f5ab555f7bd7a60617d37e089900fc152ea82b578707f4aaec3a7b38f4bd4a6947b5ded679a9699ec0bd09c55700dba2452a8672cf0807b1724d4f23d9ffcec0805e77ee6a02ab5841f138298f00215385cc2fc45d903b46167edfb18d402d509a6d6cfcb26c25a581e271c5da00e18ac6c217f0a522ab211cfb13fd44cfab92e982a1fafa7ef472e0e5366c9d00bbd246eecfbcb824c7cb845c158bd215e49187b65b9f43a80c9d3b17f8b8d40002ad8b8c309be5baa4e9f64c51ea37bb081733443f1610d485edf41b201cf10043467bf3d5e84060692be557ff9d8a4d8f28c4cf42c0cef875971d3b212b8a0080393d3aaeb5b525ffbbeaa0e6dc1e24227602ca44d745135ddec83c02d75300e1ddc065fcae5af9748163a4317ffad55f35c397af97b4d85a92924d96e11a0036ba32ca1880384133bac3f02d3b6144be15018cd422b8ad04b435bce70ac10089f30eff87fff1e6764568f36da6cc53051ebdee617441c56005e8655ebc27001c751c385ecc959e4ff08797041cba9d2c61b24ebd71d73acb92704cfc5bab00dad0f6e5e119522238555a8446c926b8b7a1248e05b32c3681b86ef610460c00affadc7985acf2f8e99349971ef1127a1ea5003927385258e93ead2f94b98a00d761b92f2c1881fd47858475609aba17ddcc81acff22debe636a7b1657fda6004113f0fbb4d3ef42e9e2ff88c0eda724cf259cf75e21f808ab2920df6b101f00b944c4ac1141c8d00de7c5aa1d6b3d09c8018f6594eba5b707af58718088c5003fb08720ccef54f58ac93d531497f531af95a5234f694253aeffcce025737500abe4659252ac40ae76c22a1bb0f4eb59b55dae741ea3da320b00f9e922198e00d3f0c5595fda090c6b54653efb346dc244dcb4dc108f88d1e14393fbb83f310086f9ef9fb6828e3175efdaa45a8aae833acfb8f735d17e90ad8f28cdc25b7700d968bc76f95e9b934ade2d4a568a3a543379b8726cd12970b9a1cf4077d1f9008df7d6fffecb7304823caa9208ee5803615a2da92619594b8a95ce411f774d0009d2fb7c1d3b932ab2f3dcca78bb4dac954488aebd8e0e32ca3bfdabf9dd9d00d2db52f76faf2757831de29348093102086eb04c64e882e4738cbf3e4b6ded001500f26e2a44e1657c42d739ec7e19914779667dc1af88aa7f93a0c2886685009445cab5011261b42471c2da10c10f1c19510eec9dc8a4a956f71a48cf741a006b23c7e23a3ecf9021fca376841104f74c8a4facc11f702c20c96597d6c79000b0f32557dd74adf3b714bfb07391012998708d7c3b27caba689d537938cbe20080f89ef911f493449a91e57833fcb42a5c55db0033ff1cc5f38b1aa0d1a99700118797ec23e77582895b008a8501919261f628d5083b1fd0fae863f6e2614000dc35d31154ab3399998d58a8377bbd0a7007ecf68459ea46cea94f657c1304008fa8ba70b276efb02b20aff070f01525eea7708e7471cf57b33493c0b7a99d00027c423507b25d479c3e184195ae205a765a6f59f251ec6e7156e1a4bfa6b5005e6bacbe2dad141c7c1a5fe781a7b79203fb0a55839344a7b8e809d19505630017ba0dfbe17803eae5f09fe41eb7994a796fdd0af15f8581e243c05efc9722001f13a9202e2019f0695cce1d4fd85aef7dbb4d08a2e5284597cc78c44202be00add946f1996c167da21b2565305a100e4365de2f1e80b2eb36870e08f3ce6600c50d517a40ae908f0e95819967c3c3118504156f3cedcc4d3229bac4e6f7f900b7cf981fc750d3c313a9900dac27fdbc2ccbbca91271adac17ffa3347a2e1c00eb46b2fa70e3cd5d60e408bfc1f44b2eff377aa81e2a9244f52152b4570e26006b4772d024fd59c29c77a6d7d01e29a3d12784ed770d8fa7c3ab4a438d26b100c6a768cd789791f7fcf3010b2de9d8ad8745bbe6aacf80e08896ffec47161800e55b14950842dd0a689a00538ee65daf48b1f960ac4b10dc631d90524bcf4c004099b27c4019d580ff2b354c699e4b5c885f347818f1c100e780af7acc31300041372f5a2a33350f69d50379088b2f94102f0ce9347e562b0189cbb1a49f690048596c9c8e704f4a03f8b6bab36fa22f2cecafab9cbf56bc9ab881befc2fab00a1065fb717548eb11d61b42e3a346184ddf5eb3f6ddb03cdb73e1921328b8d0035b3945196340f4eb08018b64caeec17bb544612567f9d56cababf43112bec002fc16e58cbe1b43c032d7ecbb0433bc1adc290fc94046cb3ca8bbf5881d3d900324e805f3cf39ba94fe6550a66c1ed1e1e361209060290726dfd0e4190964000329070599af27b258c0f2175198d88f0356cbfe584820d8f3705af5dc91268002962f9ffe095ccf75c9c63fac4df4bbd10f6d13425dd6cfee2f40b37f8a66b00fd36d4dd634ac6b6b294d1492dac67527c3fa61f0db931d27d97b7b351f9a5005244176c85a9bb1d8db382b4e214944894b1287f9626f9ca4669773571421600f54e82202cfc49d7efc9850596e3c8e60df8fad9747e3f64ca9e73bb46a8040009f5c1e954a6d4d1b00ea3d80fc4b8dbc74011718df3d952e9b0aefd3aa30000cb5165f2e57a536aeccd6a243aa775a907eae7b995321f03c6283283797bd000eab9a11b2c8ade4c3b7f870b7fb161c586455fe3faae477745f276c0c123d300695349fad27f26b0592faa4296b080f8d7b5d4c9eb470b60d29ed54dbc54540033b65f1fd851f256bc80ec24a945c8b645db723f84025004675ad6168c4ef4001ccf1ece7ca9fb8625f2584cf4f035d0140278abb9c3b2c63e6291e4f1dd4d0033107e15c443a84d157cefcaccb384b97a2511879acc3fc14fc19f5e8cd4cb00fd1c8a83e982698d58ed7613a7b0be7bbd158b2d0b0ec8ece5201838ea7c5a0077db8f26cbe4f82b2af3a7cfe3a641a8e5d72bf34ec80b4db496b31673f4350090e0df5bd1799d174db8045f9832008ad8f021a222e64b32e0782ff7bfe704005b313ee70c9ac5b5f1b619458d387cd8fbef3ffd4e82d1ae4a87e27d0e63e90034b303f7253b8c44a2cb7c67606f2abb361998d037a2d1366d8c0ea4bffe76009c1010b2882e305c16413db50ebcb3f92f6c840a4aaffcbbd800f0e9f3f88c001c68e2fd474e9e737b9554feee24dfef3744ff4d9c9175159ba09ea663c57000f1c86fd2c8ca969a5a6139108676462c99200906b404543d4bead8ef9c6fa600f45fa5f990ce0b3c7aff475897d90ebc8ea70b4988ee2e603464fb6d7c32c50044df8dce485af9dd9f315d6d5e9348f2d6ad6971de9305ef8f1a3f3a2bbf10009ffd1da5502a9f0f0e730e585c924823ee8eefb013c35d69710af6512b5c0600400a250d2f0efcdbb0ba10d60836f6f538e8b55a2b3dcb50a29b78a848c6cb004aaf04c1d72e7bc52b2cf381c9049172d941e37f22d5e7866e3ada5365c207004532ced86dd4df1ef83735d0c404e027d22d24932cacef9871dd9b3c1769bb004d27aac9a750278b4b0fede831739b2a059eaa2f4b856fa456ec0fb65c2a340016caa9d943ab12b05704b8c1e25ece1015ed2496857dc717441a1c522e97a20023cdff017e140c89f1ef5132963c2e9614712e2c001c0d31a4969b8eafd0d8009a13544ac5a8eaf73b492328275d64ce7d35006db86449ca71d0b04f58eaee00d7a6802bf6b84766d281134c24dddacbe3f1cfb8d3739ae2037845ad700a7a00e4989f31236e03ff64e4fa944c34960f7daaccf05a39f4f8fd5f344341588e00e2dd05e6a0243b49d38b610e36744f6fac7aef477b686a74896cb9eb7ce83200b9e7fb8f5d0362a4d8090151c6272dd55934de5de5a690ae9d00f176cf78c100195e1fd922affd9f7b3a3dc0dea86c0aeb1e66fee979054fc1a0277f58e56c008b1aa8a703e8ba269df0bd9ecca5cbc22aa3ae0a2ceadd4a4c53331c9a287100aa3925a56fad9c62ee2eb58184ce9662118094a421b249095664077c41facc000397c2e9248d7e4fe05822c5249d0930036d02c5ddfc002ed6f1f18789079900e14974874a822f179bd5c666d41244c34110c95893bb8af4d7f4e5e42f45f4005bac8b81cd5add7b2b13138d3f52d2cbc860077b12c68d75b432ad2fa5669700b16ae816ebcf8ef5ef3d883c3e231a5edf32e9cef2e3349169096f1e94876e00bc11830c99e0d24da6b4a01d686a3f38b0dc1d1f581477750fc127d820dbe5006a0f0e835e269527afff6fec5d7c4a1f4d3d9aa72947aa8c81bcbf5c97711a00dff924fc6b90dbbf9b37bceb69db142054f735c5ae820bf963444ba32926880007df6b4df578ce5029a756731a348165e752dc2aac0394d9374aae5d8249e400e44457743e17631c4edc8c05d533b9b27f99cfd8264a1f04fe7196802fdfae00ce583f189bbf91ec25ada9d7b0b8d4a43bf4a9a910738245237ec3df06a012006a1140dea9604c7cd5ab16b4f8f8732fec5e5e7f8446e7fbe50ac5a4a6ab37002d5bd3acf1fdbb7c3dc4fd4adf5bb1ee18318ab5911e83a88b3ea84b4c6e170078a55bc40683f1dded2513d54bc6efa24937734d7749b20c3a295f471c481a00db31ec2dba22b9f1792af56a05df1e4742c8b5b13055e7c75e6c6ee8e05fea002232d8a66c26b3934110a0cb78510ce38134146257d8cc4c393504b01d17110020638191e13dda87fcd14480b1589f742543d25576b45b847fb1ddf4bb240500bcae18ab18ec749a84634199c5c10458c880c4c9899becfe5169ca20cc7d24008f76b47746b93e1388ec8cd92dcf87ef887f8b2d325e09048a3f2750073e200079b55c020461fad0217c8cdf326cc8ee092322980e8b65d989e4faaab7c98200523caa23a1da6b1e4c3910e97ea7caa17189c754cb548539394705488c6a3100d62d0a2a7fd5a5590eca7941ade7919889b17130ad7279d07a2f4ada4892aa00289c0aaa2f4f0732dd3e82b78b6963f8a1f778b795e7f95b46527eec72aa3700d740dd682499089517370177e165a64ad6b2b600277e115c94da86fc3fe4fd001e84229b2718e864590a7ca8b65323ad4cbf6fecef52844d6a098ba6af3fea007450cbca90b170d5e194050c044fc5046247fefaae3f8d0e556eadda35686a002992ea3cbc0e4e24758a37dd20397c196b31649fe47cc3f21cb6ce14e9c0d400065ef05b173a1bdca734e0ed9f59387ed73bede705c43cb71648134a12483f002467152f13bc89567ed95bb5a9642f22115e56d00ca34d490b1bc9ba8e8c2100ffa8131abc2e3a8cd52207c77c8af4a72570aee557a7d6d1b73f28fe9e89e8006c9d70b08519c9951768a3fc7d81b745923ae445a7960f5ad15bd8ea6ea81200be2754873d1d790b6f819eb6c7e548dab8333e5586c76fbf83fc78382236e80075c4006715f1238f7a24820244f1ee0442b8a27be65aac56349b0fdc9b1da6006a30e0b716ef1a416109aaaa85b00644cd30e5a4a205ef0330f212d1318aa6004d1f9edc1d55f2769dcbe7b4ecd8230a5435c35a1b6f0c02780f8937a5ca9300ff5c5c0062db725d5897c095aedc0e42409183c55b46478d73cff74c0a6d38001fb3ff2be76332a072a1fea4627ce1d54d2c9cb7309e0e8d8bd183b15cb763005c503ce2b65a96a495d14cd4b6834a51ea315e7a45bc9ca1f3e371e7c2b46500c117ab1f50096a01d986d87416fcf1124e25820de8991184f9aaecc151560c0002374f692c980d139d09165fdfeaf4c8c06977f4f20b83289a9c51cf1177ae00af2001630bac208362a0a447b41f9e87b886d7a984000f55016471d51e2ddf0048032ad3b259cb812cea668a081c179fdefac966aa56e44c3c1cbf4b2588870081fefa4ceb9714efc3b23cf3015bd90e5f03821871e467922458a00fb05df5001d5cfac83f7b58c9962663e877223834e8ad7152190e294739fc68daab354f00dcc2b926d066caa27b298235521ce371276b32fe5b5934501a88cff3581fb10051338cb7df430a0b257d67ec378bbaa75a0a76b492ef14d7d0941baef01b240062fc94d39246f5db8b54a44086559cea42eba115fa888f957f01d87c00ca390002d299312b48dff38f493b0ab2dd2808396a135cdbebbfa41a5cda38542fe400ce068524e6b18c62983fc5a8d07c1d30cfbd06d6fd66e111766e566f7a07ed00abbe91a5a0020a9f349756dbc8c774af94b60957617403f5a4e2cfcdbe17ef005ac34c9558eb4b41bf17e56d4e533414e6b9c88104a6a749afd4639d71fb8a00853d388b4d1d99ece43b4663ade748c91e35e0fc4be5df53689c24f250abf10095e22922906e29e01f0672d09da85e87eb80ea1b2bcdd659ddbdddd49858a7006da210df039e80badc69bf6754aedfd607dd121b501f3f9865a2a18bf8a62f008d7d3b67132116a7f5532dab96967aaf62dca725d90a1de521a1fca9f8197c00f0262bb92fcdbe907cf067f3a5c3a775c45aa3949c94a9d15f74ac0cf0b15e00a9f72a0c4fd3664c0b1243cfe11ff88e3ed3c141c0848bf4c83690e740c43900e89cd836087f0cbeb61e6471f1887e209dd52a9c387164e951fd2008cd0f53002c258056d2c0ea119d6c8108ece96d029f5b3b445168a183fe185572c58b9b00f163b0db5d03efad33d028562db5619cc51174cc559801d489db5795032514003541c1215e94da0cdde4ab1b23e9b4bedeed6a4efaa2fba5e58e57e88e2ba9001614d6ac6315d4d968a46c1a096117925f0000b3845962afd12266ba72a21300fdbd61389e3ec5e003f3d1aeace138b895c179ffe5830b730d27715cd88bce00418cc45e64b5e93e884e096ebbf203d974a7428fab13fda19f4d4d8ba0ddf1002093d7f7b5427e830de044485827328e17044bc167c7d5558cd847de6274c000c84dd2c31e2c3d4fe7c700599c76af7620f9e02ae8a4ecc09a76d0428317d50095a51554f79b84a4fa72efb9eccab697d6987b54d0dc1b50b1d7ee3162b04a00d8bd27b00db0997c5827607b80c0ada9661218149241ef9e796fa6c675f51b00a0bbc2dcace5684e7019f938472044b8a1a4f427350944097d3b337031f1fb0094435c2c011404de83ac80c23d8957c3db0ba38b757a913ff0d077dea5c8bb00b479862c629ebdc2b8634d50131b1b786a29209cecaee01d27198873e82ca300c2b6b5666859130bff016bda1c423bfe08da890a262259836deb278ed8107c006440f312082c6362e61495810e1949cbcaefd41d6da39832a557c147c4ad4b000bc6764994973bfd36640a0cb2546c6bb527d3fd10e94c2ab5f405a39dbd7b00aa66cec0e1e923b1a5c8b246570a04264f255442dc5650354352cfb700dc520074c4891c51506e0b5e37684c7798b755256eecc32b7f162800c9391d0a728700944f27fd7205ee5c445b4b488644dbf63f95f250dfe27e5ea6800223c7aca300d119fe0f734d058411fbee1f04f1a711b1a09c7621e6ce92e7c35b8691e34e005cf6a2990f96e9375a7a260d80bc388df29555c3d295be6dd47c3278915b0b00bdaa1bdc1322fa34b2a609645f64add2ad0ac317700678a3444a753fa9dc5500c214c52504e7216d65dbe99ed53f5391390ee6042b539ba72e6396ccb22eec0061e09bdeb52bd73ab1e8ece63658dbbb6aeccadb3765438016a2a4176fdc9700530baeb05f87f3f17ebed1cb364a3ff6cf73a1c1d6e82513192f94038749b400de8661825cda40e8020965e318e69e46bed2e94106dd5521e4e6c9b2635aaf0070c812ebad38bb2ed33d6c5d5ebf6ae40250c6132eb16e1a73f6c4b7a5b77e0034238c12230270db3585f70184efa235c2678f9676076b618167cdf1a02d7100048a35c4ff84c6d405f0456ca6d76f78d99ce1710936dc2703b8b896ad7d4a0086f8b08da8359dc6e93cf46b8a9904b3168a41a4818eea1406dba447c7b1e800f7984f792fffc56b18bba4dfd8040047af88c44ef80bd9e5b951659d1b7ba700f4bed9d9fdd8ebc8fbf5df0e5d4d7fb33a1d2e77b4f2b6da6bccb384b391da00251c69cc83084b4688d57c60c9f70821193179913e00de592659f191015103003a161cd0f554ed09ee32b6838fe4c9ca4cba77f9eb73dca8bfb20caeb1e915002f6b82dcdf60f775b52c2ad54ab7c9fdc3869f64ae86f07c23bc9ca68d03ab0062092459c76780d9fdef3b175c360968f66cb8a92082355859910a62eca73d00bf348ba78f330eb820e2b396b25089a6a61ec74863d781aac43fad5c9c516a0062b2efa771f2cf4f65d0f7e4bc4d4ba5bec2ce39007d6e6f3687deac5e7e5900e58726925f3bb09afa0d61da4c7f39102c7673835180f42bcd63b1867025f100f7cefd80e9bec5c62208164f5331bcfb90bc61471d3d2e42a1eb016fd665b500ad6849ebf40298f0487884ee87aae51d48185c367f86f5fed45476e7d3b4f100776e6151a12f2ba2026b1bbe78bed3903cf0f64f9bb8b92e33078f833b44bd0042c9c5f9ad64085b440b89ebfb2f11f29e3eb6eb8a01e71bceabc131cc869800681d9d9bc7001131483bb8252cd2db5f723c5cf3a44eea43f5d08a350df42a00e6883ff864c21f311de830ac0c8fd71a10cafd53262f2246c7111e9c222aae00989b74e44d9d1247353107f37477180a1a6628931e336fc455862aa86c99fb00afa83d6bc389f40b4a640c34eb5d34eb4ca3f7cad06c2f035045723b08aa9300dd9c8b49737a547fa8a7bd24cb9bc4ea474d87bc8d3162a1477e91fa8a3b11004edfbe13c3475d2c4630586f08b080163c867f4df4e6b681ff7322eb776f850006329f844ed55a4100b95be7fa003ae90a3985205bd88391774c2c58ff4048003d81326ab139d4405437bd1586e9eddfa27bf3813d263dfa60218d41a691e000cd630137145bc511fbc6c0059bd8d5cbc0252ef52080d02b2955ba0672384e00ec4a5362be57fa11bddc061391993783a49284feb6ed5d1e635421d30db85c0096c1e1b2587fd6fce320e0c4870be879a33768ffaaf7586f03be5dde7db9b0009b969e54b00ed9c68971df7ad39ce4db1597fffd502542c09a74ef5fc28330003c572ea3e8b5935c65e4842ce87113da7ea922e9f5a1e10fa6630e1333be3300757e39df5826f0d75583a99759b06b738f4148662ad0a54741a851e7c3c9530013a68a5b5cd9de7ea91b764b987a291f547e966c2cf4844420b132ccf2981200116b74940da764891c79c63e875165fb29c0d56212d94e50d0c23416448b7000b55ff52ff35b7c899fb0f40144408c356b47562c6413ca8cc4438aa7505844005aaa5338d6fdb075e01da1a9c3e4ab4eb80badb4d79712c6947604fa3a16e60008a8754c3e071025122be1385d37d10f1276b0ecfe7bc80905ee5cd0d77fe300e55a41f15c3123ee7f9dc2c0444cbf4979a6b696f45d649f778bc3e862d4ca00ed54521c9cac9b5ee8ea3bcbd5011901ddf9d1b759829c0e83510a6dad185300ba03aa6f057aa9bef58e6175be99e728b1be4d47da977b0ff66b4f2c6f9bb500774c0f0216461ebc7f42e5208000d92b3091d203deaa04a009b937cabe458d00f27e09d7530aacbe7673dcbbb3983c532e11d6217c4c63c0ed64886656c4f7009d8629871eb3473ec210dda66f8ddbac52555c9584c229f9a59f0d040b278b0015b2b825ad21318bc94dbb884220e36b3a5246adf4d575bfe76059670de1ea00998563dc7e6ad804e1d10af698ff830b359a00cb500dd9543b9f12730d717700e89d24b299e149f6dcd8a96641c920d1246632821f1efba9b2d7837dea49ef0046060baa697300d1286c96e4d2fa492c12d00f080eabf32fc6808e27c58cdc00b6eef5057b880d7849137f187b994d6c07a63679cdf59d0883b1c3488f821200728dc02226714a8c430de6d99945169331e08d06f6aa5abf095303b84b7a420072cbd7ddbe93008aeaa48dd6abf19772b724f61ae8c3c23ec826d971be860e000b6d24eff30741fb1d54cc2308bf10b1bc0fa8c43758bec24d14a7a3533f0300aaf9323c7ad2d153740f600452121a5a3ef8fca1fcfeb1cfc973fb5aa249c500f46d7b848efb40730ec7c9eff0fb515e4722c01b69f69fc2c98b30b395b18d004352e68ac911dd294dd264f90c0711f702b92b252ddc53cd59a9cdfaae9d0e002609a2340c7931be33b425d058cf5a85167228574f8b3f25206614cb333a670086aa973b6516a009fc88a5fccbe04e42eb4e6b89ff6d943bf678419dbd823c007c82aff089ccd952de425807b622f221f7aa7d0eb129ea5f3d5a349c14992d0044aa60b2cf8ef5a5c94f28bbfb480c3e486fa8616882be115070d093ed4ec30086e0b033c832115bd6903fd7046d7c87cf82afa1fff2ed97c10e6b3297765900a2535d2e377402db13ca44217f0bcd612a29c47a270436fdb6496390f2164a003e35c13b1d3e186c682c1a1306e911c2c8cf985488d3ee09136b2fc9ef3654004cd42c706f4463301adb32dd325df2d944cd26296f702c0d4255a231a40f2400b797d7407391ac67ba7dbda8d58d4aa849e975cd5346c8e887cd279c9b112d0049a8cc938b70233cf1e862e4a2a08265bda93da2dde5528285af5a4ff770aa002ca090ee90a25b91b800ba494a8332b26f3845a34a10c0208c03228971397600f41599e6a82d1cc020cbb2b64f5b8239970eb9cadd544c949d06d7a78e1c8200f635c994ac04896a7d432c8dce5bc0d81b348b7ed0dc3cfff38b257fa140df00b21c3abbcfb3769feea349f2a161e9d2d0222e495c6b66eb64f59aae1caa56009afd69e293a6ed1561481cb2294419381d981375e9adedc26c8d61afc39e8a003ff27239b4a5a1b380e73285f3d8b301c4a6276e5a3d261707121e5e6feaa800c89d3284926fc0e641810d007d3334545f20f7c3fc06fbe7becf051bacd86000272a5214f8fd5c12f509c242179d537f8c2c9a43e748255df0f1fd5da51e4200d4d12ee83b69a1a2793a9b99bd72f0606f2b6544dcb56409fa2da0f2d1835300a28d08a20589eb72f755c9d5a7570c2d5ad24514e9f027838047dfe6a3aff200ddfe1f329b637645f2928db93f67e0e49b7d63e98c7c3de6b998896351e0a9005f1934544bd91884f20ff31c32ea3e35ee8f0f548039daf58caaf607d4610900a1104c48a11fa89a511b840bff3aebba75d00657906c869188b79f90910ad1007ad6287eec4f5e9da686714cc22e84b41c68aceaa536a943126f975dc4c56400a300ca8d4c5959a4ab9f50fc45624256c6cd24655d7f84162d0606ba10f1d000955dde0a5087a8c442e518f68fa6445c74cdc611345343ce35fa0d3c443c48009081230f0fedb08f2a9ff5840b874a2d11a8f415048234c439a9492e9a3dac004d5d29b741ce529e3eaef1ecaafb446b5630bf66f042e78b5b5dbc2ac8d6bf004b22c2d6678cf5884f9617ea810a3dc088c69f9145ab85f3314192390d79e300fa772ccbe5c7092ca713fbbdfbe89599eb1024be7f3ba98332efd564561db4004624ce97895512477cd5fd5cdc1241f028ece40c42b6185ebf09663860301b006a4dcac782d1f9934b28fe6a2e9a9373d085ac3202dd9a63bcb6f24c60a3db00365d185c32fb05ed3f7b17926eda3ed77e776fb037378332889c82b1bbec8400c6c50e38f7ee8fd773f267f30d8900cd5c9f07fa96a5a8ad023b4a51aadf780076a96a54b780379bfdd184f03ab3492786878115f389fbe1759d07321f5f420012523f41df3ac3ec2e50efa92aac32b3e41bf4b7495e7549e20b6d8f58d6ab00dfedd2cce01b2672eeecdbfa3d976835367be99e1ef6207b1fef890ebda50300b49911e367e245617cbd40f5dacc653c671a463c39c5745f0376212221865800ae7ac91cd4ed83c708720c4e83ab0b68c970ab29c834f9fe9a2dacd2268ecb005c922736729538d5000096d25fed442c311033f5014e0a86c7f5959a08c81e00ad4f989cf648ec072f811bf23b9ca71d2de39fba72265e5dedafbffb3e53a80096b5ec5dc83734a2b0df6ce7e6d56a9cc989be38648b97a06ede5e05b360ef00d637c60d42821b1f3de7c1eabdc6f8116c37c8f442991b2a6c449a42bbe60f0035013d3d094b210b2d3ba65f2a45e5f86e9522880300c2cfbeb310e64853a8007522cff8239f1cb2af54c37755eb5dc8e8955cd2426359b8068ecd1289e45b00bc6c12bec17325c3bd376526888481faef2e71cd2b18207b5a0ab7fd8cddae00e966d03e9fd4c567a0aa80c7dc39d8061dedc44b38bcd220be64730df988b90089ba069d8c48541f3f3ffd64842cc6d0bc765881f6bce77a006689b9dbcd2a003b06a41eb472569b7174253b099f88373b17a15eb586d884effbf778de68a200d2a29b4057dbc6465874a89bea7364ea4a9cd3ef3f6b11adb4ba5aee71256200fbb2e140a91188ccdf8bd8d52fb06daef3f6c2c98cb3e79c32ed808d0bd50e000bea6b1a075858fd9ecad9e51e74e996ff14b113d6e1a8686148582a0193ba0037acaf83604684beb1c6d2ea91a61ef62754da8ee9c6767b34e1dc97ec38900024d8c30e3982594226c039aecd46aad4f67b3d1a31c5ab053816a6a6e56c2d00dffd763f7739a32a39a0b15b0b1cfd27efab0229a2f0611de19b61644a7aeb0010008c268d60c4df544cce1d2000c2602d8669cdd8f605edf6a71429b038d700df47828904a0823eabdd0aef7adc011171edea52f4343d2d5a2533d6c1b2a70023348097b206227b7f61b651fb2e678077d1f4843ca8b114e0d541712fa2c8007b456a1dea19ed3110e5726f494360b652f72fa4c217324637912f3fe6fd9400b0794679c0c84eff452d5c7002db32700e5bb8a1e1b8b691dbf897062dcc2700830c1cfc70d8ecadfc0e5e563cfb5c61d43088fb44d6b89de17f090ed165f100f5fa3991fbbf2dbd6b15dee8d3f31198f107096ffe31d6a87107fd6dd1508400800fb398f37caa2006e69a7095fe9a0998bbbfd20ff8eea8585cb47189702f00434aba335771ec2537390548cce4417d130ff6259060e10e6dfe0351435213009f70c478170d8af61be95c32f4534751bc23741a499dfe0b39b9b460efad7200646d0861febf1c316859a4a60f83dba2c09143e1fb51fba3b39ac360d70d8a008a377240b66e42e2b7b966f9115c7ffd9667b8bca1c3151091ea5c838da77000403a4c4b64f95f12ab6a07419850be58c6d6bef5974149b4c6f2b23cd7162400d15eeeda229242479af09ce67fd8af15e0d6d820c7f306000f01e39373763a007cfd87c7dc3f25d895b6ca28195293d525d7aa9cfead81638109524c332554005fd9c5eb7cbef5a437e552c50094dfce7784c19a7cda36499c0ee9e8bb4b0f00c9d03508419ef777767837eb4d1165a0227fd584b6a7ce73391602b9fd9ab100d2c6dfa23f5e1bc369039e530f3d8a33f57bc58f88dca3c70452da0a2048cd003962260ef946c8d7bb0f3e7a651efc583bd1cdfa922d959b18a52d8efb7c0a00d8a3861da52b7e256688d7cdb2dc84a8cbd9be39fd0fc4535bf0745230d1d800f45db3a172c495ec97982f3baf1d87cc1b730e9beec1c223e7a7fe3daa7a7c009a4cdc93a7cffa153c69d984dbb46eb8894ce8cf70c79d8578ed48eb7a809c00f2c918480d76a628af1f85d2dc60a6f6dd7a105d5998cc3c09e9622425e46000fd5bfa3173a1b09e38f6557f7c7baa16438805adbbb24e94ce2d469375b85f003b390efde3b745b58fb531628e5c41a8f817cec7e23ad23bcdf2bf51847d9b00337affba0c6f252d57d71cb0a6c8d621ad51cc59b0cb6c1cd4e39b2310ea040090a2897e2e4ebf69eab1e4bff512b92090f2170c9b1ae42fbe74ccaf50f2ec008aa407c86fdfe1b93447f0814ba8e81bf570e1617bc2f5e2a34805b4111d58006b14a2128c17bac644025764c00f8e99014f4adedcd145e646f779ebb5749c00e909603965cfc41776e5ed9f2737f0808d4022826c10df8a983ad0d4f205fb002998e0a00421e6729ec1f2fd2eef37da1b8014f8df3a162b96abb25018e98100a5b74bc997ccef4b0dc68fc3492f49fe4a77198053f5f41079e579108a929000e5a371c7f2d82e7950b6e36754f18cab0730cb1c3fca5e1f2f7d92f89758bd00163936e1d71a504094a04ccbc82c7a80e18405c41342e7228118dbb807ee05002ceb3c9e60706e4849679c64b65ae30367b73c7b8086f71aac816f82a2e2b5000fa7bd29f92c011b3d9e1a71f2c9295ac519a3649e3dfda0e7901e048b0b4800bee0c8dc1107802b3c83d990893a8060c1f528c35c793a1a803fd48654891c0059272669473c60d3f49d3c2338e7f3b4dd9549c67a90eb4edab6eea0b8c4a9006ab0244077c33e11fd3aca0757f1de9acf18470de2b7336574cb1bb6d9ac7b001007787565f696ad8e8f87f94732001df1aaf4b41faf1b378ff12df4f8336a008b78a683e88d1970c724bad71b6a395ce8358476b76080bfeb084aa1ac823100624be47891892c49249db9cd1e84795094e4ae8864168db721867db67f2249007546a9c173c90bd934dfaed3bcb395a57d3b6ca4896ca4e362359c639199b500e09ad76f623c993cd0ec4d726e915a1824c2e5412ba8d860741a0b29fd6e9700bdf53ce509fda27708aca254608a022aea900e12a5d807d9b70fbb78b91b6900149563ee64ffca0cd3943e82c9f7a177542a98a9835b8ed206bad6403d073900ad86def90fa4d5f92cfd1957e5a18b10508a806e1d23f46c01f451a80f30d20061da6482fb8aa835c2fc3a78da0e22d84b692101217bfd6fbf523624ded69d00db52ece739ff13e1535ba1c4249b804257cdd0db73dacd121b478854317d0c006406dcd300592d9c78e3fd01f47c881a0caf9fe651998fd50c0ff80fdf4378000d5afce309bc66676559b8de9b7c5a36af7b96a50cdb743d1c8f1c47fbeb5d003000b4dc18ddbb65788a85b255612d97952abb875865a2742f436a68b4c42800a3308f6e079b5f5266e65ee536e3c5c2a282e5cfda7e6dc92ef15fb28fe468006a211aeaa1e2508401235b99a45a18a02763d5539deb84b97e969e44fd446c00d6880db61bdf5d753943ac6095ab7d5c84b1fc649bbaacaa8e20d72b24a01600b2642cc5531ad466b935eb9f470f8587280d5f8a75777f5e9e2d96c8fb43cd007afb6481744656b0975b9c734841eca35966b63b6a04fa492de538f9b4582c00632fe7dea6406c1ccf382b0226a087ddab4f87d976b3c4e8a54d03a911e9f100aee0110494e26c6267b8f2ac66478bfaf3988aaa05f403555b9c8ebf107a41005835b97bb1f67c0660f472673d775458af3cb2bebed814465d3b1088555082003dead960b70a304c8944cd83b0ed4c5b63d555a0d7b957105ce4a1dd1583c300730704b74570926144a2192be8f57f12f03b58816a3ccab300cff054f6740d00dd8f8f59a919cd99ac3304be1f8a4530000abd323045a1afa2c420cf86eb49003eae85ae4aa7b93d968a3a3988f9bb52a5884ceb42d6ffe60f1c7ad06d182700a520750f87dea872450039d428c50743349ba1f77368aca06d26e1ae2dfc6400d9284674fbb45275c0e22815975b11cd6c27eb7a5ee27d06c6f5d6faa2d22000525126ee81ceee05ef6d542f80e2d0404f8ed398b0e9735415334b2e56862f00b48257b26ed4ebbcd6bf42579cebc9f2cf022f08ab86482452dc9fd58d1772006d6a7aa217bebe4691783374bbda1110ef84dff0f7f7eb843f2066ee8299d600b982f2bf89805d7038ccd945a52b6b25a60cd34d91c820265fcef22826492a00c1c3c285d152c9e6249a5a0acecb65acd8757cf0cd73e5df120444c24c3942001262067c1e2091678f6820a3aed73622bb9ac950a6c6df354c33c21990a160000c70ffaa98ae8ab4e531a0e1a5883dfe75cbb93eed592ea446f3fac8a2840900642440102fb9f42b32dd51aabd9c929470b8daaca7b7ff24b12269d6934939006b261e52d5bb1586f29d461808151c75243c1e1085f1a48230402a9b943cbe0018a2360ed603e3045f017eb2ac3ca935f919be95f10ee2c70bd35e920912dc00cba442e3d2b8e8f4997155533c6fdbc3376f32818ddcd9f78a2bc86e16c8f5004c2bb9505a090642ba3eba9daa9a8e34b0c776fc760897142086468f9da5f900d10940d5f46ad198c31a1bc3807fb468a537f23c900fba536c21baedb13c87006bd98b6beb86b5cbd694c9600a097ff4d1f700f27a16ba8785c546cbb160d100fdec72c7eb6c30425184b138b48430f04260859445fa3f534b306d48265e0200f934d746976317b6a4d1b1a58cf269286f9b029b2ba31b25fa67007bd2ad8400b5d0cac822e1459addd5cff3cf85259367443cdd39158c43e9117e45ceb2e700f9511a7ec18f7fcb352a52430a8dfa9ad3068ecc83ebff99f41483e114fccb00235570b4483ca8a83cae0b703ce14249c18c6082a2b28e7170093a022a4a1700d0b1a9ae4a76f354f9f00fb711f01d2c1a29a922a7f2724c055ce39b6c88840024d8ffc4931a634dbfc033f184ddb1f676a611e6bf2c64e95396da64a7e60000a2a58e6efdb06f4f8b7b5fdf489ef1448d2c0c39021d005fe2e0150b2de24e00532098cddfb3489523a61963f78c6467b939cde667e7d07307d80959b040e5009935e12c8346f631e7a5b614aabbbc8f56ed8ef6ccf5f28eb86a3a4d1a69c600cb0bd6752a5c5f9392da944746376a3b6a502fcf97c7baae6becc46f554ef100cb15bc475c32cb41c2e588b47ded48c255891a5441e1d4db31b16d57d1bd7100ea7626ba23e5977bec42dd3bf136ab375cbda1c5e56b5f12cdea3b8e1245b5008cb2902549d149878cf5473fcbc0176a222ced3c212b5c0d8ad81638d73fa800946962663df8e4d1d8e9a38637379721a5cd87f6a069a177403a31ddde4cf400b265c7931db1de53bfbf91fd858c5591989b2f7b2ad92b0565d02459435bee000021c56362aa29091af07597aeeb51179f4416e60d43857e405e567a6eeb770044567bce317d2ad10a4a7c35ab67007daae3ed95776ca0160d16c7c9d21b670048f80ae145f1e3f8c3177a4650e622b126dc9164496bd072b4de9d2d20b8b0009399fc63a823ea7287e8a9da8182015bf39f0545393ea6ceba360df71190d900f3ce43a2b6bfb7790c6593ac3451b5033ecc21d3abf5ef608f401d8757236c009a75161684f0cf6c8976656550c64aa0c6b65a75f7f83cebd907da924d50ce00735657aba17ad362e56c25b2765dc2cb2038dba168d78ec835559f50277b58004ab0d83c154562a03254365c750f82825d91f302136ae2d33ca2bcbc87cab80005de9d1254b41e354066872e7f11478f7323c260e870210440eb55adcb4d410059610a6103ce375b9ffa7dd97c7b8e516e965cd81da3edbaa48a1ed25c66060020617466b6bbfe148cbe8c82c7543c95631607b8d107e35e0482173b781980004fe56d294d6348a70200a576068e5e4dc808a0b30d5cb5bc5e3032849a908a005ff467c407da6d6fad19162ad93b8f4b9ec67831348f6cd671cf252d1dd7e100ee97ccf83efaaa6addf0d09458c613b81468eb68258aac8c4432f477c2683200fb36bd1bda9e02f5b4672d5b9b7bf11f98cb73ed06ef5acfe5c5978942b7b10092e9515f5bf3525278bcd90a081852a772b9454d565bf0a299dbe5cdc678c70022581337ef7fc729327e17a5261dfcb3326df05927297b98da93eb80b214430055e820e02793c9bba63bc59b8900c7c1d9abe222bde56659b9b32b028b962000419413c401fbe2f3f778bdd18cfa7a5947830dff73108d3a8630b3aec8a0a4003698f0b79dc5338c98182eae048b1a46c2654564a1eba3610cd3b9a2e44a02009026723288887944bc05cc93d97ddc4bd782dad5a3ea3f8d476bada28441840036366e860cc3ad2b1a882147fee739f4648f4118d77de43eff4210ec684f0d00a2573baf208102cf5568df51725215319b44f3179e499b978af608fc52880e003a9505e8b60d619c56e140c66cc7c2b10c685958bf784f16d25cace293537c0001a8c63158674600a22fc23a3e95f17ded62d66965be7880fea04867642f8700eada0daf7618e9de7738acc204928305787181bcca95d022619b75f4ce2cfc0095814b72ab4aad4670ffe1db049770e0907ec04e409855c119328fc81f8cb7007b4aabc953a978f475ed84d7accbb95483dbdecb0eded7b504a8a70180b6d700f8ac922bca178114851d4ddf4da92e4cd7c0a62e0a9b13d8fee2039e1c7e5700e731042d91d05280fd7d5252663dd0de744eb43d4cb457adca01e873bc286100505314843fe79c5b82e081412a2c1b4c416df9411f4a5a81b0ec3696c8058300a08304339468cb8a4c6e2c77b8e76310493c99f52ac26851c4140b778aecb7009b593903d551d19c17f7ed984106b77338b8e495a98f81b269cbce68f2a2a10011ffd6642063b8d2c058a97608278ed74c6d2fb1fc55abcb9edd8b44fa499d0052446a278a507a33bfeebc39b005aab97b572124e509394f3530a4e0641bc6000fff28ca446cec2239322153f5dbf0b9b699e20b5ea9c3966c41186e9c9f1400a731f4b2d13ff6864a3af66fb2403e0a2c47ed7e2de452c27ad0e8b3c2ac240092bd86c12c0eeb6d652916bebe587fc9891de1244d3dee13d322a71d056e4b009ad9b9038985cf6d9a053ae08b7792bb26b96304f93b9f73ef1d2644d6875200242c512597fb8bf29f6da08dfc1fb0600665c85297564d56ab9f3585ecd88e00fb696b737dc3fa67afbc3a3a78e832498144fb151d4b7bc0c8a6a971e34278005d8be97852bd870f896311f42a1d563e2676b85b2860d0146577046a08795800e8e616ebfb5c034f930e5597a2aa97e1fad3cff88113442f4a34ae2e30448f008ee9a3cdbe66a79e3ca265df902cfdf9dd6058aba78270bc087f51f334fb2e001df28921803b9cf79154523ebd2c93400e07f14e70653e81c7dd949eb99eca000c89ec9ecf4c46ce41ce4f7ca542ed803eea20d4daf913bff3d08dbb13c44e00ee1ffa0b9d4560344dfb513e3b8f994cde73ec3cd5f63f0da877cfee90c76800a1ba30dfd7f0d23db2219fc58b8bd6421f7217815a53fca959130c650bbd28000e1880f8d60a4d71a3685acec773fcee7b5d770f4586991e73110fe008fdb800afa7958c3050d28440eaf65597e67cad66e760ed6d63725a95e60f5e5f642e0011045551289c6390ace93df357aea9b7372124da706094234d964b7a16dee800c063ebb113355c1dd8ca9afd7007a0b0b70dff68686076b74fd589c3f79cd70002068d142a037ec79fce11e85d734f32838c22f70314dd5fee9f2e7798e8f90052cdefbb45cb5125efb6c38023fa2aca5589f55748d0c9897f92f7384508e2006da2fa7ae2ab00f1ea9d2e89111749f0b73071089a40afa4695d8b2dfde2f2001bacc8f2684ea095eb64bee5aeb3b9a9679cbe08afdebc2e989ea4274bb91b0006ed65448ee62eaf197ad8bf5bd3fae1a4e371bb91764ca430dc8062ed208000a6d57520eee85fe3b7d7d588e1e687dc486af9cdcc749accb0f8b1e489b9d100260ba831bf003db7889e5e5f12b8a37007f8446de4ad0a6bd9fc15a374eb8000b802366cd38d83fbcd0595578fb97f3f4d7f16c4e541af635d68d40ce8d8250042d79245f63dcc18f9376c49671e7ab94ca60f3c0beb7deb7f2f7a7c8303440011c41751b3459ab5658126249bc7b1e7cae31f562558f36c9a3de193ef355f00c1949de4a5e6c83ac3bf38688f73c34411a05fda7db3199077beac88a05d0800d2093667964c2056402d35b2291e8d5c1ef8751a191003e14b0108abb291090012d9edb97449db44d91bfe9d4edb5ca14e051849cb5d4b6c4262d8430f2d3900b17c0042c7125ca31a537d6a573f7aeb6a0558d22e95db1a4e28fae37c820c0091f9d51ad824bb01671fa0fee14d91b2b30802eb9e0ae8dc653bbd7143c5fe002310bbf1c44d2ab6826a73ea9894113f52b0418b89597d76df71ade0c05b170050c6bc8c8abd2e2f5b4f97f01f35431b28489e54dc6d88abcb74ee88f512a700b5317ff52115186cbe2eb66b670f5278695da24430e1b80cffa8ba7a7d79f200da6e0a8a34d9e17a5f45d40c1261d61d48fc6763d46a90ecf6825994d260e5005560a6ec622068794767e43f6faaf01b723f5b30541f1990d1ebb51741251d003a9957f4f8ff7768c754a5c00ca3b0620318cc77a63ad2993e004fe0ff05b600d4c87bc7e9baccb5ec6374f186276fe62255abaca01c1905de11ad7f0e09970082d16fe277a01b5311007cff8bfdb759d3bb08add52a8dd8f962d97e9e50ee0024bbecb2b3b3ff21c33560cade35605b699a3b2fa202c213575292bd208d92003e8abbe29c4c0177cb012446253ccb47d17bbe74ef97793c6bdb9c4d1189050009914b13d9d9e3615d2fd66c47f062ce8f56d3226e72de286d8d0f0b1cf96c00a45f1cd784cbf6ab6fe04ec663047b591615c8ce199657374dbda2226d6a7800eb93a17cf522699d83a4ac0fee70f537be96b050d82ec1a8040a8a8e4f036000101a61d5bf3629d745ccef72c512b0d62cb1bb10b3c872fe1ac858fd0fe19400c4a35bbf49ab12df22b877f1b76a801e9e28931eddb462b664704dddf25e8a0029896150f05af9f69b088a83c339661b4f44759b10b600154c57e92470f16300cf51633b356053fdb5fbbe630a01c04474defc67d388d2625793fd63926463005f703b8cc2656fb1944f0739b57abc01f374a7ea19f04d5de1a1ed09bcfdb1002222cae7d8f6dc2e7a8e3d02a35744bf95732e45a29d4a7b57fd6439af91230046b860970aef903d6869ff2971907363ea8eeaf2f7c126badb009603b3b0e400b1d9333571d1fbba9985348faee56c529a35f3a4db6c77e7b6f9c5dd6f695b00b0498d17bf45c54c1462e9a370ec168cfcd7dda7aebccce97368146b73bdf6004a81e9b54455b716e357e75183148ff0ebccde822ff420a9b6f914d611d8da0051c3fb41db46a911a53f3b2a26da458e47d1c216b90ab91383b608a3d2cbaf00cc147b5a91fea024454b64c8283487f7847dbb1a11f437ef34f2ba768e3835000d8188aa463d09a55246e2a48ed7b63ecc03c75dc579171e4c06f47c9a3f10009b9c96cf0d462c84744b2165ca9a87e5224e83f26c140997dee99bdcf320b1006a59f9f1fd66e19a20a1e7020e65fbaaba7189efbc6f8881ea0be420a4af2c00d7ec355f58e72b7c07fe5c0aa1a4404ea36ef378d14f16cffb711024df67e8009005336fb3f25f47d08c37c649df97faf45dbbc842b616fced53aa2a67a83b0094914a34462e76f333891a3fcaf8765d38f7436db30bb945cdbed1dfb0caa2000fc5f580d142a8bbc3592238c4825a858dadd6273a5f6972c38a37d7c8c17c004fd4af37c05969697e939d8ead1b991f5ca3d77377fafa1ab95860e5223b82006a3b44382d3fbb82e858aec55265fadaa101982a253843d50fd13e12ea080f006c190f6bfca892df6264cd9afdb102f54e05e7be847311def1e60fb3b3acb9003b3f2b435fcaa57738aa83e64d38f36ff1e2f16c2a5a24a51717306ed32f7b001093601a4bd5062e26f3c348c36b8a21903e74737035de44d862c359ebf55d006db606a17a43195a068cba54ce07160b7504bc3389ef2c300ed4bcf3529fab00ec49f16f1f4f3981ec96ea419319184bfa7b760ca8e3e0251eeab0c218463a00b583edf2b8298301bbb1490ee03df8cd095c6a7554beab34a66487601fe7e70072acee90ca0fd7329efac5e932f5792cc20b38a77e694f54ff9777bb8bfa9c00e067ae9a6cc8263420240a882fbac19c53a2734dd4269d52e664eece5f704000a360f3b79cbf4bac1fe95a7177ad2e38462fc4930cd0f5a0bc030d14b57c6b00e3383df2aaaa39d84dd857a3253daf8d27c0ff31df6d616da0e8d8ad2782b300586f5f8c2c0e25b9920c7066b532019377036dd4e434fbdf9ded1fae04c6af00f56248f5b67a176f819aa99b4f30509d860a4671af6b52a176edc52c544da8005e62bc635f58c4b49d6314f15aaca2a3600f82248ee13a9c24e8a4f64f259500e866175dbf6e118675fcf7318445ebf56c0fd18c6be64f7a804ccbd31cec8300dbcad3722306adf71f80fae0f109b125593792dba4404508a1b7d39c869f5d0082d0eaeee217f61a8cadf14c4c13561040f5f446c7c16c84bfe1cc520b5b3b0083aea91a470918806e935cbee197cef68bf5b961efe51f5ddff6a895ebbeb10029eedd0c94cffd5287af29a1d4113f7a0a0ed55a3046e6b118c1e7edb7e9ab00cad28f8bfba12b316d27374c940d0e7cd987dd2b2e94583c7115110de862f100716959871989c921255f89b2ec0c5907d1979a3b79f614af9a47ca36a1b77e005b999e728514707973b52991760534c53787ad5c3dfd00cd32511cc83e15d6009dee01e833a4af0fc915242347caca293552c0194cb56d63eaccae5db050d5006f723361cf54065a38d7687099a16e5010d7c4104ecb79514785badb943ece00cc1311c56340a743599add56ec6f33d7669a3fb56cc01eb0eb70f5d975060300bbe0d22c048d8e41977fa6e7ec241639f48deb9cd88e0062d8e50aa2a0a21d0025923f54349d333ab37ff5ea352ad9fc7ec96fa1074b122c372525c76ecbf800283311a661039fe788f5b5d27b55d5284b78a28350a29564778ad4c7e328a3008f7e71dfb31d653600676b8670d819fe4e794424fd43981ef03c9df8ddb20a0090a75c7149b350187e11b2fea3d11639fae332a24da63e3999d9c5eb24807c00c727fffeacfa8fe25972394ec0b915ffc1138fcfd35cce9799f479596fc4ad006209eb3aee1bc43a8fb096f1d35e0140c667fe50c951bb0c1bfcb7b280352e00792b292226bccaf0416bccccad74ed15154ee805fbd939b02f1bafc937f64200111fa1da0eb009c4ca34aaa1969c65560168bda66c17f7b1a933e380fa9b4a004fc0c1f4fd16e4c50805dd41d0a1455d45fb8298f5e6a263e86b00eeb5a61800fb3dea4391f42c44453e628a61687cd2d5cab3ed5a0bed6ebf68b1851aba080025cbaa366b6258561edef1165f1d1130f4aca400b5094986db29f7415123e10045a6fabf5313212a102dee5e1350a0e5fadd39f9280d690c04b496342cf6e5002eced5d90055d5600e56fbe6cd0dc5dd9391d30f5efafd68e8a641f7254885007b3edfcdb1a07c8e64dc37183c31251d189e21010bf5b5194c9870981c5ecb00d6db9716aea5261215307db0b2cae202ddd90e7614081bc834acb2ffb3dc4200bb5089b4aaa08fbe89bc63babe5dfad19416e1a593c34fd22278399f3e78010020a84bc6122bb500b873fd05c68356e1db93b315eccacf31bbbb100432e107002db004f2c09eb385a5e8458092d6710e3142ed0732973712c31d5ee9be71e90002d7dd484a85329e270fc06269c7e01ef82d60826ac0334dc09776aba3760a00ca237bbe9e8500d9e7bcdb0c9c6dcb32e6bebba5ffa9ed63a08255abdb888f00250315032e8cf82b4841d190bff832fa85df307e8946e4a622989f46903db80090488b5afd3292156ed892e53f1a977cb9f94af90bffdff5ab79b9115d390600c49c1dc15ed05da23aa39a4f03ead5179ab875aa1e1037a66092d345af0403004c8a6d53f345f680a3d30e929ced354f44db9d9d5a5428e38ab4e9e4aec3d30071bb02367e7bd9f36ca22c4b9f80440bde3bc36e36b11285aaf99c28a0caf800d857453738f241632626c5295c313d8a8ae04ee52a1eb9ec1e90ce862271f90060b87c597612ed2712efd34de3865230ed8258ec377464bcb7139a2023750e008aed9de2f3ceb4172204d83b914a0c9bfdef777d6e074401c9fe526d2b6f95001c1363325bdbacb2af3a07c587697896c665079cd3fb25924add867e05339d004a04d17a31d30f311ff6547c1394952c2e21825dbd7e59908826718ecfa1820049387f50f2593364d32f1aee643f4972c24f0c99cbdd388e0b8e7c359cbf2a00da0952bf051b5c604fa8be1d508ea4874a2cb74ed7028d9d2c59536e570dbd0071edb75b4e8c8a7a132bd1b56b090dc198ce07f6c8380f84be5336d2d1502a006df150688d7ed0a06cce31d69b99aea68d1c7bbc67b08d65c5bc43be7c753d009c57ae509ad1b45049ebcb7c531d645b94cb094e129d08b8fc2a4228f1e5c500e6b453f394201f0d067cbab59fd78fe703baf436dedc5259710dabd28d6d5c00c5a7fbd140cc79850bb2b1a47744fa12441ec0aca28253064d2f60f2f630540013987fd3ec77b955d3f4475b86c315c8d27a7452d75214c6bacf2c9a645b2a00652f2c0a9c86e774e0dea3c9f9b9d0427123050788a07ba1769d2ddaa2415f008cf9545b8cd867a6e7d1990034ce5cc3c5c95122dd14d0ff248fb2cbdca16b00e6847cfb5a246d536767553d1c660f92ca17eed81d9cf3dd4ffdfce476f7b900bc977fee97c3edb56ed388c958fcb377f2f11db351895378edffedd177e78b00bc1cbf5ccef0b1a2610ee7ccd37679ecec1b9673b2109ceb2ac34e0437fe50005d1067f80415820e15e5d0670bc776d93b7fe2c948be5cb5d7b959cbc5b640005ec8cf3a1f259fabc5e90a6c5ebee4ea933c2aa62b8d14bf9f3b1204f2bdd3003f0a38170c0259d6f81d236768b75ed3761a625159d26c495ddd80f3295ac0005656f24fd612fef7a3a96177928e953e1ec9c171b3d16521bed405ae93f4f000ede6fd35843a8cdb7bfb825a2742f742831627155aaf8cb13e8c5e9d8d819e009800ef874d1ba8abc33d7f7bd0fb1b477432af9aca5c93aa75fa62482304a20075180d4ae92ce78c3a14d0e8bbceeb81258a9e324cc4c0cdc22a7cfa6dab54005117f695d505bee467d243f23f137b77ba0380e07a02ad647113b537f27552000e3e6c7ad7b4085a51d88f73918afece830912f4e42ff10fdaee9a5a35203e006f580880fe96e81dc76a650fe8a958de800c607aa04afc9c9624081a6fddcc00ba58f608807c8736e5a0322650cbe9bb670d02289ab34021627a77911b9bda000602121efd792ba67847bb83cb371ee2cb1e066e2727c4b26d9d943528fbde001a114976844edf0de25abb7f7340c6381828de4b7c75b176bd523fcf1a7e6300e1043ea59d3ffbcb601670347db61e7ab0266313f901f1f676487c59ba58d30056e2bb0f5b86e66bdde5d48be82718b6635671299a22d6df14a341ed906ce70022a1595c000ca11e5193c997d200043e513aad3500930ade0a2bf67e1fb58f00e4ea94ea82c53110235c9254a10324c1abc096e38cae96ccb5a3f3babf37a2007f89ffb2ccc522a0b877b9cb8cf0f3dfb6d7eae1cc6c947a14f1c0ee53fcdd007b5db40352ee1772bbe93db7357d86126d5f7941924639b263e4a9f8b6c64500f3026a63582f65404a66a5b166d634d5a3c66771f9ee15cdfcd51c7459355400a4658184497d6dd8183997357ad1f57e76afe3bba0c5848160f618ce2aab3a00d24b76f415cd1d58bfc858721723198eab379a2ff061a38e0ff261e84b813a00f1897c274e55ecabf17d6d09bee5b8a77a9662269fbb76de0e8298c91decae004e6c80270f69637696f2f0e4e16de11d3884e6b88b4c078bc0840bd1f2e65600578cf81286612e1257dc9d77b9f54eeff5069d1b9a61275e591bce6316c323006ce24799c072a2ef2711e9be14682c9bdc494b9ab760976f42507acab5731200746d2864d54b1f0a2add50032ea29afc120dee4757199e3fb1f1e8c089083e0081b9ed2bb8f7fc135f57ebcd1d580fdb00f4039c9f173989fbcf3ed6a782b400234274e81b72d4997f5aa2ac0aa4f26ceecbd2b736bac80708abec87a7096c00f04814307975ad449b080b94689ef5384dca4427786b77bf9dea3bfd6e8530007f10da977e2cd568fcf952d4eb3f31b92022cc48bf092c84b8d8cb9704f22000b27802e5891a83a3dc689d3c6fddb9945ea6f24c680d5f0b6fc4686891411500962aff6c18312218a484803824f0d05725c01ad6323263f240955067f8813c0012301fc95bf2f876ab04a8a6f301380ec05ffa38f2b412c678956f32cec2bd0025fb2c2b1d8e12ecc8ca2d90c0f5531b87e15d35a2f37de0cbe820e760f51600185a90e65f6356b689850799143807394dd153fb7081733f0315ea1c027a8e0046c6e5625483d2d04afe63050bf958a82e641c5236db50768d3482775eb13a00d11b0856097806e784a2caadbcbb3812d7fa2527e79c98081e60ae6caaac3e000ec6ba193d212272518d17b7cbc3a2f8d3cfc2bcf575b4a6e7ab24db8c7d41001e4d690bd8c9e058e6e3cea27e8e5a62488156ab7808c8c764a12a71668d300007b9e4549d8f76922be7b17771688947583792db6cdfc0c3e14053d1410df700db7fd53411b775bc6cf3a6e710d1926a85613afb809a36d6901b2c0419b9c700add3dff2ceefc11047536ead1fb949662be08225a96f5f7d04b9cdaccff8cc0039b55afdd0860234c8995da8f13a44c0e364ce591a13117401f9c55a56cd160067c4378df996f65431e04c4b4862585841d650bae3591aba3f19da4a5c756f004c9c2cc2d34567742a94cbe63ea17115e8a5aef0306dabba19b2070861b86c00d6721a1b1ce523932a64d23d984e5cd36d7fff387ab0a5b93f4293b36285eb007c2603c293203e080adfe0f9642e7c8d1e387878f6253dff8dcfa3e38da8a50031e2ca8b407105948015ba8828e49a39f1605de6c3de52ead3a0823f9910910015074b5c97505188e203b7fd6fcc9c28c11f5c364fee6b17a998bf9b92cd9e00ad440cb0263a8327531ece8ee1660984fa990e330d0273122c85c7cfdbca5f00f5b1b1705b66ef27a7601730e539c97755cb927a06e36639c1c8dab289dc5600a997c4d685dc38ab40ca12edb753e1d512d4a17e8f1d5b0b151f085e1e7637004f425e7d89be479967ff8837ac410cdcd7b78f11d63fc40a539041f68e13610026acd7c176131b29ee3a98695a6c38732ab7dee07bc747de73088406ef20b400365a5858476b7e6bde7ea5e27e8f7251e478e7b266e708e02402c86fae834200c904ad9dec4f8daabd4f34736fb41ad88a6ecec3c8144ca50f23f4a29c7bd4005b97178d0bd0e4173d0ade2266025a18c98e29d5842906fec164bf66e011080010efdd16de62e6abc92960d40c271ff0789dafdc0e82883bd55fea6307b2af00fa0853fb08116efaa28d6761cbad10332145b267138facfaae2434ee410976000c0ede8c62b5217d601ca492b8f6d890b696d915416b735968446628ce8783003dfc779d412cf6f8fb9be8c5c27dc94f9047ce9923a11995055c7cdc1a05a4004a410e2902121eb1fa96b3313ffde49421e40e87628b0ba56f8ea816ca671f00603664fc3df69a9db6a4c48b5c8491bcfd169e1f1e2d4706c241a9b556c63800f478bd951540115fd727fc45f0cfa439255299db78a1c3fa14768a6af9804d0059c4567b55b424efb5b36091a765282a4ecbc1ab8dad6e4bc41b7ff91187c900eccb62964776e0e06afb2da9d2b94b623745b89786caba788949261a4f0992007c0ec4e0d45b7121e0f172c7a94fcf395e533f534b03b5ad1e67ed82cb6a36009a206b3b8143ca93dd464c5302f166cdd5f5e9ecfaf60af8064119ab7bf3af00aaf88aef1629ebbf02c75b505bf35e41c6fbad36e3c0aa2b320d77a1db21d500a7a562d72a8d3a78fca4a848c8245ae334432224ae73d658af38f0e2f5038c000601b19ac261d82f0ad6484fd837ff119b091573ee17c7d9873f41635b3b30003788ec862db2b2a7eb54fcdadf7758726880ef6f9cf144dfca2b33f787d655000904dec1abe6025bd1c2f2b78706fdcf8999f7d545ec801ca01c42e14bf5ad00a36c938a4d5c95c75cf1633e23ba3ebe614b2a51a64c4b23208fbf02dc68e8001859f704dbd481d53592e216369c0a3c4a1794ad0316b867dbd1aa9c95019c000383abf38d955e1a00884b5e6c24ad472c3b0f20b9af94d865c96cde6d051c00fc69a9e4fa74a4198e297474f253f3b768446b0af69aeba942f8ebfc8d4a4600bd0976f5eaed0572fb0549c25c96b5c4e1880573844fb47e9fd72da7ca943600cde90d7c6ac221857e244eda70c786acb150bd9afde562b0085f5c5cc018bf00c6c35b72279ad593347dfca911a5ba97c456c21f402d5d0a727cda385e21250061b6e70ae28e5cee8e301e62c4c86e6d0a995e4158461fa2de099ac8a7289d00c13649468b7db2a401198ac7de53cb642b9a8365618aa637dc86eea4d6ab5e00532792415da5481c33d40fd5974300a687b722ac23d40723093b423a0f545a0073d1b201885788642d4c8a3afb0639120f0c5f8290ef1308ad033aa6b4310900ed74785e4b5c88ee89e7ab25b7c5b6e4eb6ef0858d53753ee0355f12d8d2cb003420d6444fa451eaf38ea16847fdcf41160a3e5dc9e496edb5f9f55c66b05f001b4136a0df0be36d69a992b1bb5416f608661732db86284aea3f167892f16d00e9d97b00052605b758543f47b8a9e5a8ce795b9c59dd38151011fbeb57f30100572c64872fb0eabfd9324edd8810975c4646fce347086d1ef1f442a479d1d50069aae4aad0cc791751e6e8172d1fdc5df962a4cd7b401b9d4a6506e403d66e008e9fc998e933f076f2f77c40bb43e6fd5b578a853e71959737c65a3da6e5dc00dbc5df8b89e14ee4aaace9dbee7861c5e3b86084f454255546d02c366cc78900400f1947f693829f89da01751d9b90b0b9d650c03f87c1246aad18ec3584b800c8c395148cd442191117b1699fc1c252a327c0ee6416596e7d112a7c4a2da9002b1220340cfa13faa5fa4147ff21a8fdf28d3c6ee4d37a14327b35abca540500d42078e1732d8f2807b5981ae4986ad43986b41d3afddabe62de067751a292004bab592777f3e995e58a87fbcf6eef2965f4ef8b0b8cfd8500f4cf540ae9980062f1b957524fc3ed15431285fb48c9efc18f2beb49f10115d7278acecbad7600efb912914f8259aa69c0b7a3121a31f682c2d026cb0fa93ff1f226dbeb355900d1ab143f46bd55921bb04243098240ae6c9bdbfe6d6004fe934592bdb06656008004de80d38afa9031de8a06d1f4cc546df32e57baebd5417109065d48bcef00d311e691d817134a53196f78be0fdae58c951bb32ac4feb75ab27d2e8cbd9e003df600cee27b5e4b94052c8372e0e048fb6280a65287146575c7f4e31055210043d45491e3a4508ca2e7c41b0f97da5da257d1c4a951561b5687f13fc1ca6000ac8fbd333c862a921989617e55366a38f2b3a3f39285e18ba89675bac2f67400785bc02e133edb835006289c6a8f0e16bd03b5a2f337c05307f5452d065784002e1ecc15d24f6bbf529b7f53a8a5e64e84d85d31128f8124e87f2a7a317b7c00b2a72aa2198c592cd1ec5b2d58a0bf43c1cbebf6511a80265cedc5c04ebcf7007a9803717dbf457d9986524aad2ad41e09814650890e07137c55287fa05b48009ef140418b25161733b2136b0951c539db805b3da9e36d3c16489392a6030000762e6ee1ba4f4475795e6f175011c22a8cea0efb5fb73f48e137ea251a46b80081416b29def237afb0be7ecb48d82d6e5a2d016c5ead5e4c003356edf962dd007dbb6a91fc372b4ae4e7cf468a0a3d3f9437db71e06ae884f4dcd58b1c2c0b00cf2720aa875ad2548024f088eb43c9048d58b72652ea899138efd2f8dded13005a90a9e3b4809e57c0681c8bed70e7f97268183c284d7e70169ac66bd99a85002259fde9015f5db84bf9031e6e7f4ec90a81c0b450569689103f736957c91a00f9442ee9b29bbc1f2af49c6bc0f4f70b11816cca59cec1214816f04e169e1200a807a230766eba705b0c2d96157d3f34240bd7277d7645b34eca3d84b157b500f84c6de7816b3a9b4690532975b8292ed585a2b0241e1fb3f7914ca6ef7dbd008014f5a4f6ec927c1cc9e390d312ee0509f99d47f293af0ea85235a6fab576005fd64a11a1cc3893dbfaf74856a01cbab4dcf78bea6be4a4155fe127d3c5f800d6bfe91bec256905520ae84319178c99ecb31b67715909736b839a228594e700f7d29f5ba6f83cbd82694635b44f5fe126212263494705b3079b74528aa803001fc8df25a184d100558cdea197da3e73fcada770c856c373df9fb51a7423990093ca4c1c4370c8d374b7f5179c0f879bbf49f5e1f21689fe5e7ef152902343004496792b7e7e773cb3ce6ea9e9882d2041bc4be71231b0fc272fb1eae731ec00aeb0720cec8a2e116b7091fc4308f25ec5179d6d3c98d517ecb4dc3c1cf60d00714fdf52df79debfad600729a56f796846fd2dc81c2ce0f1fd8a205fbeebbe005c3c0a7a64ad3ad13a1351146470759786b8fb0be9588ddb4fb453696064c200a33eb77ee31e46b04de63759246beaf9c4e53b88723bd9ed4bbca97f57476b00b145954d6f79623f5e93ed2023a1fbfc081399f53f4e10905ed32e362607ed00597d25998d867353f2aa28e52e13cda721dfafc1b5f7544f982e78054e94e000b7c3c48945ff61a0f1a717b12cf8290c91cb6a8adf0c1ab3655a961ea3ab8600748184092b3011b4ad7b3d80c4dd6eb8af13fc0e67cc3bdaf449069fd3c3b700d85ddd314df52d17fcb8dcdde006846f252b2ecb95539af29968db3feac6db00707b1ec1093b84dfe3b2da9696ad92ac52bb497538f13af42c979f56845ec6009e1d0bfbc41d276b40dcc378e30d9b9fd896eebf4fc7bbdf7886a8a691570d003c1d75507edecb9abb726a66e645b8a2fd69783b91398a7c19068bae678caa001221c04fa7f40e15ed454b5d1150a0a293136652f2e703c5d45efd3ca345e7000daff2e776d20abd68eb01e2f9b942617b7434d1ec8ef6cb70c65e3ede0a4600d07227558263fac5acccd5e0e3953d35861993bc01e86cd70b6ae16db9d21c005e9e4375984543689da547086152fd0c49a1c1f05f1b0231f75495aeb2958300363b44be906e7bf2beab5085cfaea129eddfdf5ee152fd15403be85f424184000710f20cfa13a70e03464599bf23954ac724d100cff59ee8d4397cbdb501c9005f81473e8c9cec262eb6b3a575fefc7ccd7266ea41e318d73d4cafc59644130027aabee7dc84db3319268797f4400da1d945d0329f4fcfcc08b90268e62d980016d5920ccf6282966513b8fcb898a05c7354e7e49cdf6e0e52941960639a8d008c26863ddb62c4f2d7185dd6756c51737491f91c05abb2e82154fb41d7f6e700bf93b281058af0c7c7ad73f2876bc80b853701824593996130898909537103009a83fdc11ea77189a5c4a54d162039a54558db4c32f4aeaf50f35b8f9c5edb004576714dbae31ac926682096f6818eaf098151dfe33debebb31478d887fbac000d788802c0f118d87b8f6ff4a095c24579df905318b3ec2ec2d409924410330039eb4ad35c05e7f09fdf74ef5362d5163f5e5ea23039a1b40cbbffdad104bd008ef191df56e26166cdc856e8aa26acb302a9626db636827bc1f634937cb856000d45aa022fabf10ae387ae262426aa8df1fd712c2c65a5076a732f3058daa4003fde6f5702a3e75035384954670b954fd40015a91cea7559519c5b8b52898f0090e169f1dee321f1f697f05eb2630347f2a7ccccf25e64b7873da8d5da02ab0097bf0cca7d5a67a592c3f6fe730303b9979b59103705df67850e2ad14c1d250048069f6cf96201107c47a92f9afdb4e0193f6d3b682b3b64f597f133d5ef61008c1949db2b996d4a8a3de0d5b5f73f345211963f9359e4a91fa05a711babe900476993d61d280da82b9f3e8518e26290bfe80be549b22eb44ac792a6feac5300fc0c81727b9b4719f6803444b2a20e9fee08500248208063f7d07d6415932000054b06d8976795f992f22df45e845da71e1ee1e773478a706a8babc7596551007ada19c22f3bc463c21fbe92b549718982317ff4cfb105902585e8218eb4440092ee88a54e7f2edfb364abaaee345daa741fd43603e347a0e0e60b8565ed170075854fca9da6990b1e2575b8db10c3b68e1a219d98ff9b493606d2937cc7b400b2cd60f26a7cedb9b9934cdc53be68d81758ad59f60ea929c525ce94600cf9003a096cfaa39abe426dade313540de1e310c460a52c9d8b01a2a94e86bf934100c13e1ee491fa191513f06ec93bca4be27a5f44f53cd5b4c830269ae9f5c42400a55856b3febf6fdc064d70eb165f9662d5b7375c0caf0632648d8e4742911900e76ee76be025b67039a7b71dc629073b45eea7a5a8bc9c3d7339744a1a6d9a00b26ef3e3c8bcd755ff36b7987b1abfe147eb528b13cf4d0d4afcfc9a3add18000337d86c246d76467b28442dc68efb63ab651ae7674b237ba3c1832ca988870043bd8bc6e7facddd1a754afb183e9b9711b823bdd15e7035154d7d4280132400199da3cebb5c5dc6d377067dd2c8c6b343d2f2abe191198149c38a0be4789f00300fd630f08d5ae9e50f52e3cbff967fc85487b152f4e262aa3f40205ba5ce00fac580e24775fb5a2697edfe4cbf7d2b114b380150eb122d4ea0779418be1a0074b0bb450c27e8a68311a7d089eb94d2029a226679a78c7215118a4840d9ef00c288271cdd9fe1f8d66a7683ab30bd1f57fc9df1febd28a1f03fe518291a7e00e13c3eb1dd78fd79f6eb71657ad686d96d7bd8b3fbd75f770d965aaed5e75500e839699787dc5ff40b21345a33dc55b4c55690a77ddc26c5e00af7c3874a7c00fa5111dfbdf6cfc367dcbf52dde29e828c9dd689f841864aa3efaf6d60aaa0004a0a378de4948d05cad6b13231885bdc13d9c3bfb7178536ec8c78d9fdaa6b00be3fb13ddab56982ef167be18271dac129c04104dc6fd89ee50763c9addd2a0084c7799091d831ddb5561cb620d493147bfbca2cd2ee2dead0666b4633832100818c73c71dcad8370af10747a4b07ab1c8e372408e5f9519f5bc65d5347a120039e78118bbf3968523e72223bee8c32c2b62cc3b205952004afb6d3a89af4000135d37ed21e1f24e9b57ff0ce8b6047e3faf5e64211dd31f0762f0ed93c38e00892202e3da3270e6b864b78e0f76847fc31d74c4b0ff42dd49eb1191801aca00b84d257aa8453d318f49523aac1b70ed422a5233a3f1ecf4dd615e2b04f590001e210a7ed89d3dbfa88d091ac5c2f773354f27d41a90f730c231cb4d9e8bf3000c2a84c2165ba6d43a0e7e8845c3f173b5e168931d87b61059acc105af171f005a8bb99cd671ffa2daeccccbbd6c13eb7e868dfe56f2a440d7d08e36e9a32800b5fc279f69f56260a20d4b3ae43da5fc2625463096f45c24b405ff41dfe0630023ca0f7c98fae6966196b00995cc2e817f21a8adf5611d83ca77eb21a3eede00e103dd6af48a6604b8357d11c5814e67cfa3c03391f922f61db3a9e2c829e80005e40c209e03c7601824768c03bcabe64ef319b978e63d74c12f7399efba54007a692a24fd7cbf3aef528e3f6e570a72472272f87f68d374b81b98f537380a00a9276bcf51337234178a2289fb11b45039136576bbb172265176cb8852809a008790359d05ef4eccecce316cadc05efc88ace7f6530fa5d7fe543e12fa807e00a8b31d0c1a076a630aef7b3ed229f7828bf8c443efaeee1e6f7365ed4f805f001b01fb323d1ce45a7bb179690268b379489a41101b95f98f66b9b03149feba00ee179c1faf69665f50e5e9341894d249ac04749e71efb7a846c55b0fcc8b290092128f598f2ef7928a07a56dceeb63c16df6afcb853362b1564a9ace17511c006f34838f87859156d0c683683459acf3d738dff912523a05dfc84e29138d1c00b6de8ef1e9e882caf610678ee87dc9672735d7faf7f537c532c05b6e08cd7800544964718b9cdab0a6e5a66c53bee37d4071f3c83b425bcf95b8c609d51a9200f33ebf6ad4c711424cfacf243d4d55def983f2d8802c13c0379486752e922b0018ed4e6309ab9ccfc47d21c950d490ddca3467146d89c6cfcc69c0bfd409e9001c1345e773c706dfa0a6336bfb5dcf5df5fcfb4de2e52e48e48fa7139b55e60081ddb61f920378add877c7b6492aea1b1f9d63d460622a5db870ace004d9b300df6df9df7eb877abfd1728f6fd4073fc171ee72c2a17c317806539fb4f2c8000f6812ea48c78621d6e3195da2434679feadad1b56fa940d69831a9dd16ea71000908b0df913c55784c12c4b175033f5a79bf26733780b13ad1208ec5518b5c00bafe78d56b7cb6fd53757b581a8e0d1862be17d99a7a3ae8f7022dd3a7312f00a283c5e5f32b243af06bfb67f362d4ecbc35c1f10139752467879e522d5c99005a02531eaf5b75257d0fa3a3e8a9c56c41067f3de1e87455c585a9d5b177e700a5f002050aae0b9b09f8f25e4b931b6645da55c8111a68320b6723aea0739e00cb439a673ba819738dc3301a774b285a4444e3255e7835a38baaa8235bac4800f0b9bcf1505e2dd11fd56c6c77e813d69f991629b1a25fb16dcbf8fe29860600667436615c19c2271518adf59036a38fe83f1f44bf8b684d6e2d07d4f245550076a170a6e3fe0242cfbc15d13feed77361598da2cdcdcaaf77d07447ca960000c8fb2a2cad6c7e9aa2f5604f2e2c63f6586b10f1ce1511c4701e2a612192bb0079e8d3249f56e5c95e5a7e576551cfd845deb7dd0ee9166225ea4472405c2900b73b8120231c2dc4229d2fadaa5acd68510438921d1867d3aaa4d94a4c64920092fff98dcf4acd3b47fac83e2b774694f5c9a96182ab5a829850df449a4e5f00839e785df0512dda45eb01a93e72fdccfe6727e731b8cae5718ae2208bc776008ebbeb4496a8b8f29963830c5ded79ad05145d0f9119093d67139965afd4b800fbd71ff19197ff00091a60275c4b7d21d99ea3059fe90e3479ff16a637479c00c35c0058683effa2c7471be7a47341cb86a47f30b46cbe088e13ce8dba8b2200f0e968b274e0aed38adfecbcf825944f9e6d83f8b5329126214f6da14710f50024af539b8c2cf3375a3a0f9b4be31175bb161e57cd3a9e24b0fd53251440a7002a78a0fe43b2938d3997545b74d4f68706a2fc1d429e0798fb343919e3f8a500e5513d19eb86d23769202815bee5b6a08f59635aa7e2af53fa81e4b30da03100852aeca587b69bc8ea82cd78b7111aef06436cc466859b4dd1b48edde724e700991d5267a8b5c5d99eaad45feb6a382b121a5f124299865697107b51a2307a009d1f20fad8401a2dbdb2f41c1b43eed266912aee4082291e73534744aaccb500a60217f244afb156cbdec42c008673f6445d69cc02b9f7054a9ae29172c65f002a5db8a3c64dc901136d8ab11e697a0a8f2ddccbe5a0f364d794598252e4a700c3fa48ddb80386ecd53ab02e1a9fe3bb0a9f6115598cda2f84995887262c1f0089101bc0fd07df74e6ff971a3ad1b269de17dfa4ed09088ea34c9f1e8ffd380027813a9aefc4a1fa7026baa6fea4e74dad2053ea2a6e5b7354f685e7f3ce990028a96d51b21c02a7c0dbf61ad6b4a0f5e72eb57dea305a5c1963cd0a2fb1fa00dedd9d99b6fdd62d7d0f454a3bdc2fa5956401eb99b3ee47e0991f5b15c8da00212d93d32bea8bb24aac20b02438fd8e60fdde07af8bd3ed55600d5d840d1c008a78613869d7d19cb6caaf13eb0df68f165215169947e22fde7a9ba5d1b76a0066862d6ddbf5497da889f887ae491c7f42931d863cde27748e46ccc7d2b7130015ba90ea866846b8ac2a53c37b96def5e9c49171cdbbbe297e5a13f10b76aa00b2f1c05812f00e9b1852e0c2d559c7e93f0d944822b5aa507bc5031409cbb00064c56750ef0580d1a41161bda063e9532c106fae6090b2350eda9ed45a7500004756c54dc78805c0ae7340b11d5f4cff581c9b9990dae9e5e16482ff640cdc00b690ea5981ce9955ee06b4ad08dbf325f506171d7a4e7e4247047f16ac8122002740106cf499bafcfc1dedc3d28ca77cb055051b501f058e927648573ca5d20010e2a18b6ba2a9bb8f5ff59f0be371470778032db395090dc9d9bc07e7ba0b005dd41df474f9e19924090c1a390af2a320c3cfa73cf3ed3fced65904ff75840084adb7433458db25db3e6308a947cb4d56e83cfb68b52512edfbda2c1a27c700c7074c1e4e6cb4e52df2217cedb2b684fbff5e01c161aaf135e9d5383f3c3100edc319ae073c97070dac711d2bbdb6750caf1ab437163a16ce588430dd879a00d8acb888fc64a1b795a33dc875b829bafd8960b1f60147decd6418a233f51500a87cef9e4bf1964a9a56cc0e2c3595fc6086e32062bd7011e42ae1b53548bd00825955944c7d4c79641e0b37aa9d423e18778dbd669c3381083a878ac69d6e00f6aca96f9df7d12b6ee1a1e636405281b79acb25709da545e210c4116d8afb0068cef02de8ef3ba367f7a4f492f782d21dc77140ae11c46a78d50c36461027003e27545ee6b7bb8212161a56502f4fdb239056f61ac27316857eb003b2d7d800a35f4882be9d89160d951223bc7b8b00a0e7b917d0b95a3dd7dc45b668c84d00bb9f644a35f890fea9aaa1fab43febfd01beb67b36181b353e9c93a02735310005897075c894ba6921c0df8dcc309f9163de7e79b2381121eca9cf157a27b40036e48964e48b4ff59625de16c5028edce82a31cbe11aff3d315e9ead46693900ee6fb8f5a4fd0ff426c0d7cae57fbc73ab145df8417fe6af319f321c8784ff004abab42d22fb45117a7fc1a3159a8621a21f20b520458f44dc5afb2cf347420016566483ddcc4b35f61c288b7e5c4ddd3e2685ca66f60fe721562e5dc3dccc001870e173b1eefcb2985f31f1e65ad1e30cac7e64906e3604b59cb10cfd94de00979d07e0150d5a565a7f7632b177b01853df1e1e07e22114f78c8b036dfa3d00fdf23476294bc18ccf1452d555e192a8b8ff9e2570d25b6020733fd218f90500ceecdba335f86a6782a6834327fd37c78d610fbc5fcf78cff0bbeec6e2a25700ec42000ebec81dde4d89f33e39e55978f1f0f1cc73520a05395cce613f895700c6c17ebf70ce7f9d494ba4352f5798bc0150623f4699f293cca602d2dbc45000b95f714e80c7ee3eca5ab78f9a23d6ecf8ed4664996941f7e2e99b8f27140b004cac6fd79b6d11835a0e6f8087b48bd8146a9aaa273c34ebfb070869adb57d00c01ab8e2b347d4ea35c0896ab139d920e3be8235dc4193144ca22912b0df6d00cd69b72f686d8de777574966f3c09709300e8b81b13d08b40a879a62e186be00b5471f52801140a09aa996495d41296ea14ff70e82d893192a2385d90bb00300b06051ae3b4c9d17543d60239d0fb73597c2b22968b44c4091c52dd3cca2fc00fc485bb59ce6cf69c6a7c74757bd8edc6312e88ab468bb6c84f6dfefa13dae00cbf12d491ecb4f092df1b43268965684dcb96632ab7060f405d105b183131400643f53eebe6d29d34bba1252e8abc10149a94c8b729cd7214fb1eaa3cc061e003312bcc4e0dde61fc7e04d27c8f2328a0a3d55aff068815bebfb16c8ab45990076dd7e54c5b568d4c78c869cffa5d3a5049c5750efd6c1981f97ebf9c3fdc700bbf7604c2077dd7fb108740f017ab52bf35ff09b662f952d3e90569635108f00da972d27307b7658e9a460dc479517c0b98c4fc794d560d8d1b840b7753a580081560f1aabe6ce40ea2971df83d9a556c022979d4508e3bd3e9e3796fe146000ccb59104d870fa6c5c61199e72b16093d773f33dbec62273f1ed020669b8f800be7a6635fd5ea5175058b92be5dd630441e96a65a9b5a2fb14a105bb61732a007814cea5bf6a51e6003a650870ee30db6c6c1acd54e24e6634efd8e1c1fa8c00d2e3d886e3aa164a1ad22278e2007946170c2764a7a8221f3992c8ce9fae5200fd4c4ce7884c8ed0892be05acac8ff21c8241e6ccaeea7432238c4cf3b7f7700190d3c37a0e25a455017b800723eed28d17bd695378e3d5c7016b55a9b9cc400473892d0514df39cf20ca8f074aa6c1f4bbcfcdde78dce1fe1fbc59ae9c1a800663d41c22348787878b15fcbc662f6e7b70419e5d25f022272f756c6896f0c00b5728d3ab3cc97db9c57924b30ba5c7a3adc643fbfd3708b65e8dd211742890051e50f9239ab5db928d8c0af1358d537f63df757eeac1d145146bd289c54410071e3f205d391f89e3f7af2d99c0e1b3a1b35a522fdfa44ad715d81d664c289004a56589d92aa043de9dad11dd311bb4633a29cbaef273ef236e36ec2fa1f5800f3d8d8d294aa4f25a3fbf923931f7205abeb60828e1c8e7c16e143567c119300ad9230d2de2b9c55bbbc2aa9713b9f1f48c430e2e81ecd5ed0e875f961ad44009c6b2fe8fccfc164c8c61b3053cf6c3532b3ac136a18058ca799cdb249052500e2eb9b7b3ad0d54c2fca9f8858172c80660533e317904761651ad772c8788e008a608e309b626f7b287b45d3f58848b6a773ad214693e3265da854de6f114100488f59602a1c41f116ba5089c428672463c0787c60344bd3631ad4a2bff8e000275b6b4b938448bff66632ecbaf94ec77b3a7eb22725d40713e682cf766d14000d65b7325e0569d25524c67cf5a64a656805f03eec5b46f15ec07659446f920062c1ea12fd5f009cda8e0683ed49f0a0d5b7dfc3459f057dab8477ce53586d006de849ae427ff35f9eca8a9bf3e264f73234103caf5970803a86579328e02300081de7527e324c0c202534a08c6cc15cd53c3f95d590dcbda05ec082446e7500a328d54471f237199fba919c242a079990ccfdac5e97ac32bcdb58e6fa2ac30001cbd0dd0467a9a1270473c144f71b3bbee9c53b1f9914bdd060ad4daf4ed900789423d83ebe5b86b68dbabd8bdfac6dd10c1fa1417f16f298d0e427029f2800410421c1f02e5688805df15c94f1855752c627e9f8406378034c75437bb088001e633aef1746af7ccf100a5fc6657f57ad2ef4b390e3cf37026d0d493c455c000d1d33cb1ecbce6b907648976369e27d51f9cf298e7bc0e19ca7134f7eb82200a7a038594203e6f8b8381ee6b5ef6ca34d77ebf75f4d21a23caaf6a71e189d00cfaca158c1873eeafdd1f3e4fc8f1b99aaf71a8594ea0e8bc3aa8218c2a80e00a3e4b5d2c2425f71e676aaeeaf4c947bbdc943a2364c4916a457fc51596b85006d4860f23994909b73e3839245fbb21be9a99e694fa7125ec90c91caedfd5d004930d86c3adbb9f078d56f492b6139e277494152e50e121ed02041d3b8e61700088a1d8747ba1d425f24aebfe04d51f21a4c72abb4c0ea6df097c70a7890d7003a6987e4d97c132f8a63070f24259f1b6546d7b829d7784c02aa41edfe987500bec2b151e6a3ff353112412f1248a432cb6c9e6bb32ef81cb0a0c1cffba20d0088b5ce5b011ef30c149afad4fba06cc13fd2d939ae9d3035b362dfb0b4314a00c505bc655f39912609220fbc2fda1a6f38be15c37d1e35e37a16e557f537d00094247e4d5694324c238187d060cbfaa9ae15c9bc0f256d04e380b934dcf2510051e0a66581365410935b84154270e6714b6acc18c25fb083cd2605be6c761900715ab92a5ecf73083e1bacc5cdeb5f780a436590cea01f74fe5ef2e660b6cf00d6754efc2a1cf063740d096c5764156f4f80c49839d3ca833fd86a8baa8d07008e5f88180e109ebf58083b938ba46aa49526dab7388db41bb88b105e9d0611008a4e21800beda6563a32c759db87e82259306d40e6c0a03c581301bc7691af00759eb84b8542111187e6390d28aa3d808ef3e2b25107636687e0b52e4fcc4e0089065732b3c767db60cb21449182afb0686cbc3315f6b4c895aa3312540afe000013f8f1cb5c5b68f75518000dd577f447c4c03fe6f3ced13774cbf3376d3d007acb9bd777ab35dfa931ebbd20175b33a311c01ac32926d9d79ae58bbd3f2d00c54455eb311cc876800172dd8ff71a005825b79ad987c5c45dd840487ad6e100bf2854086ee888921962ab465ecf8c0806bdab65319811b502356922cff09500434c0217237cb7c826bf92e05b8902b18bcaa65d95f0abbbdeb5435a31dce8009088423e581d895959b20ebd7d7f86c6e42cdcc10f4bf4820d43961d1a4c09004ea297b9ed27ee35a2ff1bf9d9afbb7cd0c7f0243299e57e501efb35633281008461c42cfcacf82ebd2129502e5bcf76a2a25fb81ecafd2f7949b220e4eed300f5f97c0a4e5ea479958c652fda3dd7cb1f143c8749dcd4ce09de81bd8dad4900c449ce106f4bb70bf73cf886ffd5529a92d28ba89f0aeef1216224382874fb00ddd3b20ac817bf9b0b702dca1ba2f574d5b1acfa2aca4a22aad53cb078e35000909680f33f42c41a3ba92fe91117711d40fc8193cd80d64e99f74d7807a155003750a87f24f55f3121a370561518458e54e320e5984bb4c467db643dfc636d00dfcfa19312abb8e73ea01d940260b0164031fbac7f66ed75fe27cc847e6cf100d3b5a2302411e534278c390930a04a8ed622b51dbbb16fe881600069b4bd740083f7781ce29ce19837962631cc5980a282ac780a3b0eb061e56566c88409e500ac3558d8eae84acc6a61d8e6b8ba57cc23f0c1dffb44fc652285be1d172b7d008742440b823ffeee5db9b0b8ca0e648622f652e436e36c5df57ea78926e5ab00a0fddaed36af1ad85269973b66b95a4a8b2230b091454e879518c73220272600840427dbb9c0f57ae5dd5d7fce19a3153853432f0e356a1b27c1a76042008e0012ac7010edfa55dd360965beae4a4214370553a8c361738c6feef3457d0e0600630982a284de7abd611d796a85655639c678ffeba92297d553caeeecaa48e6005aebd0251e0c34bf607660dbaabf52898c50bbeaaf29aadc7fee5b8c9d500700d137eaf883fdee89901023c8d7c2d451bc79dd02f89ef9e63ee3be9972ea8c00439e35d802afbb5e540150cadf26fcc9cabc395db5b51ee0823ca6805923de00f1fc85f09f8446a5a306d8c8e979bbb5ab20b31cedf671131a03f1adcf6d8200da7106e976586237ed6c90ba15af80874dd6be5fe4228589b3a62a663793b700f654045e4f515dedaf1768860de5efb0d12f0e8bd9abb57f5c11720497d94100348ec1a74183cb803a2ea90970ef28c90086e574d745d006310cc5a698085d0015448fbba3175f9a166098faa2d62d83cb1b8b0c855735d2991a7c55f19f9500136c71cd1ebb822852c1f48cd3247c1d089d1f3af6dfe3482147e2dc14387d002931449498c9eb159c706c781ea0cc98f4330bf488eadabc04e5542ed972b000a612e2b3fda52d5e8c5c562dd9ec9068fd41638f227e15c020e114328d17170017cc21e84122a65b52808a6fd9161bf5ee085886cee7292d329c29cccdbfad002daaf9106e84c3776044f4ef3534e1a14b63b351d3d39f286593340d6e121f00317a99a4d7bd9749914d647ee34427b9d86df22722f70183224ae019a737a800e1550619f8cbc072c66209beeec5c20f84f645c373e5ae9684df69c940f447007dd2dddfa13583b55d2620c3adef53e31ad28bdaa3c217c2f1f94e60403e3600c90b8e5e3944b8ba1cd904691906bc8c2a7968ff858f9df4e2e7c8d66ff0ff0000fecf93f0513fb2bcbe2ab6ed92076e5f7e8b921b47408a94380e47478ca400cb397839b76678044136311c6685a0a368bb4ae15b828a80edf579cb24d14a00860fbf51a16e21697f167a10b4934b3a035146ab395bed3d4a4e4df62b053a0098d44a770b27ae7272d97922fdd751815d14ff79d9e201f31d4f65f7dbf06a00f8258af5c33092e282792f64b7b54797dae6e90da4f8335a87cf5b33a8be940017bdef8ee49c388ddff290bdef0188f6ef9feaa960066581927a6ba1ca779500964331003386752a1aa4edbb0e6beced828dc09885d27408b8453b90ab6d7d006582da431296247b94314140188e2bd07ed03cee76fdb902da90c0d5136b7100003c5d78e2d8ce54e951f5d9e9fcd58c87d992cb043dad5c1d0f3e2353828700e23016c9fefc44850a053c76182909094e8a41c86d86a48b0ba37df04e4c1b0055ba71df242b1fddedeeed59ff7ba5f9fe730f6e5778b8116c0643b17dc1b6008d7af300ed54f37c6caeb16c1122ea61465aef12b1ecb00ceb129ccc6bb1c400bdff7e894b3476df798948f1346e4327b882a13bdf93ff8581fca177b2e96d00ef169cba2e3be0026d974bd8803265513a843941d94a639d0dc3eb90f1eeac00dc9558a848e3becde11a80d6faf5b47362ac0b141fd2e3357f3e00881bf1a3008dbb61519e67759f5f0da9cdc0a98fb13259c95fcc9e26b4f597e113be7aa4006bca09286e7ba5cfda3c3f9f1b4e8a9f771ec60e553c0fdd0e74475cec523500f050362971991810b315f2d46bea23771d2506733514ab70138386414a82ab003042e896e08d04e272e125e3aaf9ba8c817424846b528992efe0fb623ba29a0046dfb26bd8dbab76e3e8c9aafecbecc9b7fa4af9060b189f817c6d2ea38543000374e63df4243f99e0a03dd620384de53ea7b998dd6af6c05515f43d8c07fc00c3899b5b1afb7c2989fc3999b7302742f1a43101f6a4ce8c309910141ef6970093c2b2369d5c7c38a7597ed334c52ef8dd359b37934ac0a90370de72e4c9720029bb05b8671cb64c45135a8e75c3028e4cea8433014a52fe3b7f97760cbec700c291d0de759627afee814807fdf4b22201f41c39a1055d0084a577b7110a0e00c6588d07f2a35a9e311de87952df6370269d0d01526aad3b691aea3a32c6cc00346e8009b787328b4d259d9d030dfe73f0210eca096fd63e71e468e8c609de0012b41ec9000094b51f7516419be5dbca5976ee99157bb3372dc2ef0a0ab44800535f758385d212a11a318e265c9d599f610e671a5cb03c93e8657b9aa4307a001cac5d39fe21129d7ae1d8f23a6c0d4620d5c032e387accdfa1c11ee2d375f002add575cb0ffdb17264a3b2db6f59ba3bad188acd69f403aeed3882cf5347c00286cf9e518512ac5b921a6696bc23e8c6c99833f3aa6bce22fe9c5bcae8cf400e5ca618d014177010113eb4eaff0e04c1012b7402adccbd553a12f5a52b48000975381e4940df114d0188fffc19de378d3835c7a620d531e02d4bbc9c6003300da94dd5b8ec7685c79d28f5bcffe3ff3efe9541e9ffa1a723f0b6f03a265f100c7c3a477a36a49191a14a29ec33c56ff762ef93e6dd801a725caee458c412a00fda34c2798c9bf59ac6007732c2d9f9eceaa04277181a825e68f58a614b3cf00134c341426f0e3e523b77bb745b116ae5112c6133235f19bb234d0e51b4f8b001a1147433a674ab2a542b6fe817e3972e0bdbb7d14f7e1a0a04addefc089e10083a41c89a1a2586b0007353438ff36f6943a368fc9893e00cf5fb60503c8f4005b286f08d896ce4e11adae253277993a08131f71b41656ddcf1582b60d25170062f41d568c19eba4e63a5889b9447dc93d63477f78f8b523e99a09504810300019fa01f6025f2ce14ce2d6ea06f8d1fd1ac15695433f01999aa09ef1eca9f600140e5cc777e77f9db4c480ebc12912394c1153bbbc93fe80efb4ad802791c100339dfe44bcf56d98e1cd40bc530ea50b8fa41988d07facab5b3e091c1abc4e00cb5e510c30ccc5220615a0037b5311daf8ece89acba643daef0e5166ea7302003e1f1627bbd01be29597e96042628646a7482961709ed6e56e2a1c4befba3800eee21727e15e289976de5578a32b06ed9f8e064ee411645de74175ce07859e006882c8dbe1dccaf944172cc054b2382deeb2b1ba9732ba9ed2a7dd2b469b1400ddd4eac10ec6fc6274cc8e1f10d713e896b373b5638899fa54ba84dd15483c0056a79e13d3e01b61699510b03d5d2c98f6d8df18602c6c44009acb885a32390079b3469cb3eb3222d995a4d39ef492f1affee887dcdefde21ba774a166522e00750fd9383019c4afa837d37a440983f487b329ee0c08e9596b2ecc9f9b04d50062a5bd378fcfe304c579cfcbf46a18902c1a670057fc6cb0d9faecbe1bd341003bf24d7bf6ce9136112bf8d0e14d41a9d1af0c3e45862b2b806e889d83d94f0016a87033f6b27b5cd50eb038ac36e0adbd9b726ecea6635427c111fa69962e00bfaa0d4fd47dfac387df8a35cd2cc0b8b4c77ac40cd1b81ee313f4f57efba40007cf6978c731bb2b9afa022e4ec3f1dab832d467d5cd9f7a648565dde4590c00850342c7808d8ed0be092566dbc6527f8220358f59fcf2c70de25c06b2984a005400eca35d3f235894ceb1461c0386bb1c3086825be0cae0dc55438407ab9b0024d6621f49aeaa4c205384b32c22b413cff8dd5d22a4747df1fdb8b8b24224008830dc36595c35baea46eaa6a4f7617b127916e618acd39fe9678005afbbe300ca146365530ada8624525d2052c6ddc009378059625c2b2d2d5321a2dc4fa600724735385e98b0aeb944ffa78b2bf083ca3d36c1772b1dc7c3a867f97a77550072f9e99ccc8e30e78c0d238c810f3cd63ce7f134b576a63fbc2cba3b64e8d00083a3ed534f8ab1c84497423f0484ab9493d8959e92f5c6a61e6201a8eeaed6005260911628f41241b5e66d62951a3d424d291f135cb232a29d772e4649eca40070df7f354c59272335536e0cb984eefc2cadc3225067ead107aa28cf6eaa5a003baf39dc1a4c3fbdfd0f14d25b8316377c10202b2c3eabeae2ca1594da199b00b88178910a0ea61ed4cfcd406f2e0d7abc6ab452d8490f8fa1297d39f59eac00cd246704f3ae5c46d2fc619420ea35381f30dfe9c0b41336c6214e4708b3a90062bf5fc5d6ffaab78f84b9da37724d61cb30cc8ddfad57d9dac7f868e11b20005e8c26e3a67ad8d18caddcee7b67b8321f0b82c2ab04fa173c38406bd00135004e0a9f8eaefc6165ff6ddaf13c5249568397436d47c6c630894f64bca420a500f60d40ec8b075343904c3bdfa047a30c66d1992b2f8878d3e50003cd5a65b600fb2f5bcf18581c8f638826d37ab7ecd8c3e04a653db971571ecdae12c8f5bf00057c5c4c93fc01d0cd850eaef5b22d547acaaaade808475e6f74ea458be5a200e5c52a92249a5ab411012b34620077e5164f1da4de6304952a66e0d32c202d00e4fd628845255e5b4ab1e06cce17d8568042d0c32ab45b2e48894c100eef3400edde83fdbf589d5a3ad19a867246fb1cc377a9db27988214be6ae68fc3eddc006a573f231994a2dfbbc43c28b2b21dbf852185b525eb161e953882a7f6212c00c22be42265ca671fc21503ce1e2ced6ceca83888f442a09ed39199de1d1381008533b84cc0807ceaf9427e0adca1cf0fcd0afad11f21fdcb813d919f2e893500b18a3c8500785b1ffbf0126c160a1b01db335e88a3779de5c494890c53027800ef860a2b7f911c3adc0b9c25a0cd2b54d86d11f8b7eb62eb078c64a1a5a80b00d615ea7364fd60742ab0c8fdcd31e6d2246df2f70c2e933d27c8cbff0888580015d050722664564d32cb1c27fdd68d17272e82928dfea77ad3a95540fd96f200a3c810792931d76c657aa6d6ebd60472cdfb6f0de87c9bd99a8f10abaedc0d00437b9a45814131604f45ad2233d91887e7998db356243f14dc64c1ed1ca5ae00435ef3fbbb19e396da13c93f0441fef51f0cd51b53e84cecc5ab17abdfee9800f1529dfd29a6a5b5eaad9efb3926af3b47286135094f07dc6fda74abf026fd00b1066e0be00473400018e5684ad3f9363c6120659686bf6cc4c23ce736d02900e2ab862637a54682061838bc39fc9fb1e8d376da665fe6ce773dc12d7c90b40064fc88458e2ee16a92b22d87e529d7ecb0efd922d571cf78c3c61b811e539c008e3c44b93e9ecf5fe4aa6789bef4170f68e08685e907b2396e169337cf569900bdbe1ce03287be2ad54567b48a47195b1f56706f15d0da6451eb1e68c18b3a0008b52832fc03cf99bc8fd2aeaf1b496d7c4a64404411cdca8c406164391c4e00d1788f8d33a737c2e8af8a1c3494d52735382cfc9d592a1baf4060c1c0f69a005b29c116d3736a319672347776b1a1b129937ac5b22c8af71634dc4f0425cd00212ad1f8640a27b787c1fab16d417b6a0abe4cbbe7c22b48510efe2a85696c0093247cb14171583a53c780d3c8a08e9b41761d70ad1be0cad533f4dbe6b77f0064b76e00a77126dfdc6dafb4059aae85415b52b6827c745d53b899f81f0d8600638ff002ab740e3c6fe07ab82438952b6e8c4f35131321ac99c7c32ca5b43b0016d2f30949e846ecff2e6364093303366de71cf73ca0c23c777298be4f64c900494115ccf04428faea7cb93b7c4dc3a310a5dbd603cf9646af39fc2a1e177a0015f0859542967b55f1e7befdf6a93cff6b101b0594d13dda155bcbdda6f02300418f670650b29143401d548153e1b9e3fe0fa2028b360e6f59f62c2b5703c100a5f234c9a91058214b487756df4eb3e6fa117ae4e3e9ce56ffe42b7baf5c1a00efab207dafaa5a9cc92805ab65b4b2fdb5671e3cef128067b474235988e6220048746e4085f00f9751e7a04082921966e330a9fb0fc84badd628c5a4acbc000012b8f0d99a31fb4ba2931bc9c781f0ad40ae5b6ae0f9abfc69f7c9205414f500be2ed78a0992e9db8f88df930fb5feba8501262f991ce7621b0a78e6d13c2200fe0f2e375d639ea3fd93e7cf020c331a721cf32548149ee3300003ae6f68f3004a0d58d7e912071b896a5f2a88ee8c26ebf3b27e2c9508df86676f6bc4aa29002638c032f91895f971f4a7a40b3e59bdb807663b45c56c6253a27cf48555f600735089f5765a038bb44178097a4ff734ce1cafac3e3be29b5af87c9a6064800089f83dba0eaf64002976b61f540fa2423c17d83ec15161c2c43cfad47888cf00966223aa8d3d71692203d869f2fa11af380158e90fc8727dd3d72bb320498500f2b0d200548da67587b943ad0bc57a247de6dbd28fe465009a4c77a7dbf5ba00e6a775e2847f4db845f3f7802721b796ce03ff8b3ee69708c5e23c3035c6d5005d3f778b3ff37a7023f4166e9e8bc718b7927c17fde39e6aaa512cf3217645002b14057578de258091296debd17fa58325cd8f18e0c6c2962edd992d2f29850080e37befebe71339ff3db4dc09c3820ce01d619d2588261374f4c33027200f0071c84f4935173aba678e8a12a0dfcef367710e9ba31ec3252dd3295cde7a5f00445e25e5ff385dd5eae5f6f6af6f8a9b2db232d2b574d1e7c89043a6e0fb84009a26e1dba8f70d2f7594229a4bd420a53c4913c4084f413547a1b7b1d5251f004a4f2382d878d30afed78631a7de5af105c7dde8c57e726052f2b4c67117e6003f2cb476a824c1a3303bef93bc3496182c765fd4921208a6f8596bb6613533005cb4c47efc985af6ad91b97693e5469c469676dcd333b79ac1da50a85a5a19001def3398bdef3beb8f8e9245e6a50a75bcb475b826d9c8d608a2d1570b5d7500fecb4467f906f355ad44361f5fd3f6eb65e99d0e91215aa7fbee3d499a59e20017bb041fa5d49c0142f23e31e7a7470172a1a3512354986337e13eeecc497f007835dc855aa104a771eb13336d52e40b61bf252958422c2e01dba91f49ec66009a8c7fa5da910d819c7cb897e0b85403c89409d93e0269bebe94edac694c8c00e28b17ab43bcd85cb67c0900588eda3c19d74d62c01d380dbbc6ad847df2e700c06a59ce7d3ddc8c0900d4af15dc9293e1858508deb45ea3049e7920e1e4eb00debcfacad1a327b2586c984a5ebb36d8273c4f320ab722802da22f3220c257002c7ceb4c884f90a6d457a534585bf5299e35ed6353f58772d182112ef7fa0700d2b963be72edc7fca524bd4ec561b5d178e086ea9d7fd8689cf01ae1d0d29e00155071ad4e4f800504d6cca4f5a2b1db768f0228054ddc18dd280dae13b63d00721cd06b5927620aaa1defe8b6fdebd2ecd4b85b498345769a686b232b57480019edc3fd6b83de442ff628196be4ff9d3db5f1268346323c6f34415609951500a0022e2999e32e51a3adea93b0dadbd93d1983c81835d86bcf70e696ba48c60008525e4f3c6dbd8d683b85f7caaa12f0e5c294ef401730d721bca7901c3c71000dd8d0dbb19e0d74c2366579c63ddabc6f1bbd49cc32cacb2b118a97bddbc400369a2edffa59da72b74a872cb380e418ebd38c8826432df071876363e1624400ed5973ef97e305ce3290ed2bcc9ef02e2fd67d6976af5abdf4a620a14b19a000992e668bb5c15be171177079512f48db19f75f958157a1e27b45ce55d1ed7100137406cf01141b3d1e40377a4a7d04f42ec2afb99e79e8982d516c4eca6e3d0024d302f3f78e7f49920818ef673d5a99c8288f94839bc9496889915a1b9bec003bbaedba000315c56c7a8fc14fd59639dedde062fd8b288a321f60a4ff17b400f219f6e17a4dd35ca9d75a461559839323fd7e1ce29ee998710f21c312577100ff93d47f69acca3dfea11a2b0c509f431d7291077a0754f96e603a8d101b6700ebf0304399bed4a862673f1e06c28eaed6dd463dea2df52486ae569cc6cf990015776aa8b66889ffcf66c1a5f050942dd907c026ee74ecf97c24de4e762e890021e2d906c6b2b008cbf54d7f2e3768e179d45078ff185267346f6122c385a60095b695b4fabdd79b8b8032c4bd2edaf37a4933b219914606faf7bd76b09f6700ab3adf929e47ea06f4db20fcbc10a3d014253304fd02ac1fd160fc76f1620200b3784057e4217a145227d7c6e984afb0d1a7e40099dddb550a46e2296d294b0005e56cb0525383674462723329c3bb1930ab0d723347fa958811700f3a46d700c893abd0d2fb36231b05877789adbc8224e9b31d51567770cc7c1a0b67c91a009a10d96f833e6083fa84c363d5eb65a1e20c227c1daa852423cf25cf719641004d9209d84cadf7e31235b545108549177b4b9bea2fe0e6b870eb22bbc196eb008ec22d8db8739ab5f88c8bd66a4978f3788d9d3531db9cd673c952e8442deb00876d215a24a0d4d5835323f86c1d5e3296ee7c065d3dac44647f038f404c1600d6b394ed5f2ee54ab606738c998578b3702ff6bd6986653fe4cdfab3d1463d00b2daf223210da9ee85e000fdd250965892218fdcd696af713f14e63ef10c2300b44b9d19eb84c647ef5ba366ae929115a17a10d5ce260996b500997b80a5b700137fa76eca9571c581463b381b0fcdad5ec999e8fa16300755f2ecf8ef5f8500637c81a0aa3d98ed4f7ff81432b854ffd045aaa0181406af3c7ce9b3abc74d00fac62ac568fa1f19314df9e9adfc3771001b107d8c08ce12ab1a4bcae1d2fb000c0727e3b80758c6540c60ac78a9ab2be49e29c3146776319ba49d8f75cd8b009e25d49a4d36687ba16601b55e558d8b8e1ed9acd15848e66396a0f24b7a9200f1b3819fa6dc7737855e094e98eb57e348cb8dfb592588743fa6369273b2bc0016a1567a5d66d60d3d9a3c270d06c2a09ed6a13073fb26d496e9f5dd0743ed0075cc105c50baf9736f3c8d88d2ca7645ad4564304fb21f6ef8423b60a10a27002aa77c29a8ecb2d2ea8a9144c3c0cfa7080125c4e15e23142072fbf44c6f87004061f86f5e5dd7eebc029c403f13034afdbb0a4aaeb5b4c38ebc3f530db10900d2da83ec0a0b06e98b1a617123a7f7d599ffd8c0b0b34e48c636b343105b0000142da259178f0d4e56f6cc0dfc126472ebc605423b4e2759e701c88065bf43009f4f16ccad99e3d8d9fc1491f6a73e4cab1e7c66199c9f999b0b8ddd0c45d300f58aa979ef5329aef31f7a30d926c5ae89f23e1250827ce20326512fe9b78100dcb56f8041076f41925f5394c03b78f2139fb4718c878d5203f7a2388356f70019c1d7d3d3af83a943b7e75251834d979d2b270bce2653e85d9503fcef45870084f7ee02ed5193408fa36e894a24f17b5100ead40488f597d52577ab6f3c9400cb94974a2a424ddd6a3706e6248f941ae58d8792c01e8c952263e6fdae382900361a53b643cf126e59b908afffa11bd0182abf7203d0bdaadae4ddd3ad25430094cb8aaf5ba85860a9eeb2cc54583f660fbfb440a48ae4b3260ac36712f83600fc332c8d2482adf08eab7ca90998a544ab0c65e8b5d99b09f103fd59e7a5a00081d87200c9decf89da795fb1a1d2ca046f231c4b3dbed8b7665ee32f0926550061308effce748f7aef8204cf089e55f248b37015dbff9b0478fd4f9e5098af00cc65ecff6d040c96fe732fbca1339494ce40aa100c97b2ef4bbbb3f5c423ab009950eeebd06beb432471733f0facd8d54c79f666040c1039415ffe24dd5d240049c1fa282a0b2cd2a23ace4d4e030484fa3053b3087c14e6914247e09cf0eb0016bcccd67868e9c2e8c6c99f77787d0a4365d115b35effed576624e3a8ee7400cdbd7b3a3caf9f1e71b8516d27fa292d34d811406869154f2827f7c818683f00b1026d9eb8f7f9122fe9e35dc0dd3b800d47bb140cb86bbfbe76724905513f00a6d57a4e269f6f642444f163ac70eeb4d61516c38d4656c3a946d3e2bee8c300391f488e5c5cf64641f865ad920cc2e67956b33143b13099270b72e1d07a470066aae82a8dac58da9073e37b5c169caa954e6c6706b843c862a3c42751a58800d6d27384e8e55e63396a71f0ccc3bfc0a095c5c0a7fa8d3f8ff904082d5c5500cb0e1cc9588e7ae4f94efff584628214152d47a67b18d8d47db246de6a0fb000a2f72a957a8db180c392ad0b2403baf85ae22efaf720f4b4f446d28bafb09000b51bc8f7828e9533d3a31e649a9f5fdcfd798d3df97e3780d8ccd9d37a2ada0053ef05f5c6c26f5aeff9d80cf8a49e666cd4cd574ec8d4eef2a1726efd7a3a0069fd8ae316b67ae516da5e99533439f8ca71c97205a427be73bc553d2ae69e00451ac6d00ba6d80b4317bda3333541a534b16819268bc587af91a1f549fd1500d860f06920413db28c119fa03e9397831d24c9a385219474f8121099fcb404009ddbb1387e0c3f00f3ce2b4042936fdce4c1c39cf5da2cfb26374ea290e97300656680a57cd7700e3c102241079b47c4ba60668d68e523ef3702088a0a81a300dd339c1516e09b3eb6482b6dd2d04e2ce71d1ed60c7d17bf35bbbb459ca06b00ac3cea1fa09dc6ab9816a7014afb193ca8e735b4344ce4c5d4def05b902f3f00af1a3b307c8b5777c815ae173d33287878a4623096f3af978f9c764e41c19f002c245ca1899c25e803ca400620a205dc79a702274acdcec0cd2fb5273e9adc008fa547fcc4ac1d7f47d33b0f0b099269a05da14df1bd4774fd9be61088c45400678b51928e634d603a510687c938f0c7da5fa385500399aa35fbf0a37752060049a7570f6bad79836e63aa6dd40e8d89454fcd70ee356d659eda0095c4bfb500e7c8a946b1d0d6be01d9b58eaf2c6080f1ee7aa4071048a80c2e29f9cb1ba700aa70a059443aee7c738a39172702e0e9eedb1ab8eb36ac21780fa6ebb43b100033078e2369aeb351a57a9374fb6673e17cee294c6eb88ace9e086de9038a9900996df5a73ba920b215183098915335ea26c57a6e2dbd054edebb45685843490019837e5075be5e584babd014d0c18ad3d17f86b5be8659faf42ffee9c770260019f59af6c71c94ef13b1d3c8933fbddeee893690d30dce05fe832cee5df882005b6b77c084538985aefb1b996cc9692d138f1a473a3c7aa087213226aa146a007903e1656ceac34ac3518c5a44b8cdab38ac79eadc200927c1787a46cf402a002a8590b41de1412baa6a296dfa12bf7c622f4c2b0d103b8d9c95945ce4b57400813d320ae7d213e00dee93023e5837c22bd3f1543e2e02c963639a56daa05d003ac57468169e87300dad87910fc201dd040d78a1f76027f787a470165e1c8b0078ad2d59c7ad3460c8ed0cb220a7016cf64bd19abe8df7ad5fc5d8be66fe6000b87afe404f524b57b1ab5cc7ad293dfe6fd1c9ce1cf61f2b4775dbbbf94ba00070b2786b57c3c03abd68b9edb33d60745a142043cb58c768ffddb79523fb8b0031ed051d48c7bc53e4beaccdaac66c344004f54644bf90f54e09d282fc1c67005c2f660ebe1a7a8f131cda0fda300f22645bac068e9fa7a6b7befb027005590007dfcc6f9007a0f1f3e985a92befaa4e8f745e4b6e43602999874f571f3eb60074ce694f66c8f5043c3437615758f31d442ac23c1ce0336da82d10ee23a3340032862852fe926b919abad0a7f9a8aa038d1c909618d8c72e2f1368e90dd44200a75af3b1ae694cf9b9376e271e81acfe715e80f60ceadedf1d4303d1be524200690a619cbbdaa4f3702dec4c38c016475b25f30b876d9b47d4a58eae4a357d00dea9276d1e47549e3347061d6c70ede202f235a335644ef1d324768581a3d100dcb20372e37a34b0d382d5670f0fd351f6e0335085136b1802797982db798b00284d90a7845df126e9ad4fd4077f7e40b933d29b150043538f3e8b679b857a003f91314823d7acb655f39e4d2adc83304526e5a37918a756e98f983ffcc66500a3e596064c42a681e84d1d530aace5619c340be712da08173a47bed83c12c100a245d08490016dc831168e80decc0036eb2166aa5817d467bbc9161e77f157008a071dbb288d2c65ee0e86c19f67761305f5a2a7199588557d6d1d7c408c0b00e7ad8ea3681ec3133fc8c801d67a13b2511537047c3eb3f1439f421057448c00e1ba827310bed68437828f2194877dec9bbedf98f213e22e348727fb3554940015958766d6f48e7c0a31676f8584edb487fa60144ac92f99583bb9a2c45f2e008d24add47301772ca8b2abab4d861d292815b144766acb5c194497d091aa4a00f39b02e0986ff5c94186cf0a5d150f979b324b438ce239a4ceb0fecb15a34000eb58eecf72024a7c414b686011f5738cc8240aa74b123b1aa96329a1ec96d30099f245ef406834ee03431530dd9813b0a58444a882664aaf093caaedf6235500e942cb2a013f3d8f613123ff7a324e5015e3dc7f0ad015fad8142865f450ad005eef08523e39f03ef00a20f06737161627b0fb06c173ce35438bfd6d46fe6800d847a6ea36e74e79ee72785a6667364d0a37fa93b236e7caf65c3382f4d7180046d10f945bef8e27c99f1c5c2be4153d13f206ac96cd4403ba3e5dedca05aa00451e0d67a4dfa28afcb54c3a63835dcd57788ce4435176665979b254f65a2600b4a2da3fd953e8a499caa2ff0627f910a2ced9a7eabc9da018982976e41a8e00348e0296c6a85d318cff9211bd249acc967bf6ffbde2edb25ee1b13ce63bef00902789785af02b8d3d612b3268c43baeda983f40a92045e8c5c171bad1d8fc008fecdca972d7bb34ddddc8ce8a65560b63384c0d90e91c1ea5a0f0945f3ff8006e4cf9b4978c484662ff804b6ad3f351300316d9f7f903b8c14a8f9ad30dc900b32ac2f48a700628613839e6d3744b9a7e304ea72f36917c23eb2d45d252d90084ee3dfdf3a77f18455b016da443d1b09591a36b7a839e0384095d583557c6006bb65cc8896ae535887cf73904c1d4ddeb1fb17571a0659a6695212f44cffc0075919d22ff26c8b0576bd5a519d28e87bb0b99f9b9cdba8d7e50f84bac9ab3006c5427cf34e010e394c00339e46314fdbcf7ae03d8f293983f6d7b3893e50800fafdb0ecdfa1d159e8d037fb49b4035ec9cb3733893a652f52c0ecd342a9e400fb66d1cbc34b7659209ab2a69ef14045dc6b90a5913fefcf797e3fa44313e4007c8ad5897f68357eecb8635b81fd139d226843a9b33cd55f88b4a7af66035600f6452e236b476113f5cefaaa54d9447595a68bd4f7b5169acd05bd426165e90041292aabf7d94c4874b596e154575da904762e10e35e90f58cf46d40bf656300b3dde4665a1cae77375e8532984f83c6f35a30ff9cdc2550ae27ebdd38648400c3ac6147de5305e8d902ac76584ffd6a5d5c376ee835eebfafc60319deaf88001a3d8cfd2337eeb186887f03ece614fc7fba0b4a39bb6e3f41ca281acf17f3009d32fd6131c84cbcf2542824914f32004e7ea9a7c78e6dbd05038de3d96ea800736a436ad228e22369f96ae3f7c9e0801b01253734b94e5244bc465f1e47de001dabcafba15503f6c1288fb2a7d713d9870eacee3416d915fdd8be961da95e00c981d697989d365aa09bbfa36f34501a6fd292d31f8b35785e2304d4637fe900f1c0218825fad27aee37657eeb0bd4799c8c8ce74199a646190ba426d02529002e5d32a3d0e8cf7f5a5dc52961ba35495cf4157c87376c554622c707cf37ed0092a417492bdd7507cd2bdef178bfa02554c3f02e058ee722f57dd9650e6cb4005a20e13e936b3929a31f1c10992fb8776b79b8c995752d78a8813ba6efd04e00f02528ba9e400bc98bc311d46eca90bb790c40f7ca27ac044e053c6e0f468300b0c34361d27230b3f2cd6ddf98a71c99aece64c3a5b3908d4c7a33c252873c00987123ec895f4a8932c9bd5c209e77e44cee1ebc4e42dd4d97353dba2fcde500088de3d6b91790d8b722e828b55e920b6bb5e547fed4e5fc6ff75bc9158148002907e5a617b85c82de6af165ab1f0b7264c7e8de62493800d0a4370f47311800ba4f7591db5765adf85843566f6b4cacd8445b14544bc9f5d7183fa24cee250078a435ebd89a3498b956249a4156d84721a7bcb455ce865046903ab591522b00f09641445f5b9472dccbdc7c5a152f8e359cd2b13249e6eaaa152603f00eef00be90cae4a22efe521a8920328f6714c3391f43c2d9bbd6fdd1e0cc5007c92e00eb1b7251a361ef7b67ec324d76173ab1f34a003ca7ce328c980b41d28ca3a3005bbecb2d935630a8caee2eb2322dfbc8d087dcbdecb2310a62a118c5f3350400d7c401c072cb295dd3307880a78442f414e97f5ffaf85efa8d170e99c03e0f0097214d9661045c0b40a7282c00a9ee641247f9faaea89f65782c8c89f9d66300c5fb159c57919b1668e5114b65fcb22b0f94262ace66dc383be2d2d208f62a002cc23001b0e6e10026f29e9fa3cd30602732bbe44db485afc2a8a8944c55d800602a05e48f29dec0429c34ee5c6c395b38a9f9cf1f2e2aa1820655b04fce0d00357cf0c5a03bbba1c93054896786b5809ff2b180bdb3581f62276f6ac25a3a00466cc8f01d53f9d968c8a218fd84ada810a9327055b4c373fdf9fb6357618e004bc795fbd315117b69a2268893a5d8c30a90b699c8206d09dd50a199f445b100e3da0bd31ac846f8e78775133f8d54c471bc54c3f89baa1ad0d9cafe1b34bb00af252d76300fef3f12b572641f06383c4106d5f4d943d90379b85485ffef14005ee27e781a89d5482526548318359d77134d1a4bd8601ef17ffc6af85de295001946477a422a44259e7c4e8c4c0453566d374f89fec145df058eeb42d87377005619e7d95bf637549dcf77d979700bd272c251fd0f3ebd7722c89e4683378c006847edd6fe97a173a1fe3e6848279e71a85333757b5140ab3cfa02c26531f500a9452e94af6e1eae150295f5134a1f7c24bddda150e845d9c89a9d20d8c5920051969ee315a1334c9024f604eec9ab08ac0cafa7b102e2687f420a773bd8dd0098bd317c25ea70e0c595968e26c793ce6783d3e7cd3ec5d5c39826c4b9fb090001d405451a20aea97d24f5572ea79fb223f622d590f39a76c23c4b045151e2006bd9bc34574ac46a23031a514ee6fb85b1f484879c02bbd34718127b4f1ff300b1cccc6c6f66b2d599b21ad5f5501b76465c2e9041d6d13fe3ad5047d6f7b900f7e192cc3a26243c5a14a764ffccae80233514d00985c3a925bcc5c642526d008f00e4cb35538707517df8fe182c3659f8c6e7ee2e350e84a3d9668b6d12d4005ad698e71e9b15bd1450cf193c3fc55e40e10814f937ede1bbb8c06d1322e80066e5bc36966b97ecf8bd06c624f482fdba74e9ae6832d61d732834c32cbce10010f35956543bf4dc6e3cb091936da6ee1bf50e6f7f8f70f46b1f4e62e53b1800fce6ba8bc3ef20c8e21b9708c545f4c019917216bed91be391d323608fe908003abfd2de193c270cd16726ba8ad0a57b7b4c314611493928ea1ca20d578a9a0094a2400d106e48530824b72f4caed66cabad494fd7ade92616698fdef75d5f00aad20ce3a807fdd44b456863d2aecee980f175d6133ccad60e315fa59bd6d9007e7f0da6b84bc551207e5945668890680dbd48e6d69a421bf9da43dd6fe58000f6fc3d86128b9532a80ede7093c11a7ac1ce6ca7cf8c1f3d5825e5d04fdb0900a3951080997797e0b16c9ab8b42444ba647a4f721ab91cc56b69a7b57e954a00b336816e6e0fc01eb77da3baa10743e72168dd93758283f5f6c249681db7e300eb6740bad0d22fe0e83d2d66b7e96865c4fd64cf72b0cbaad66f808526b09e00d684185c3af6d7f0a1bb0764085d6693641ce36c43234bae8533640642a9ba00b02382639d03aed079d069bbd67da6fee83d0ccefaa5e208c1e894df1afabf009f55041d5a6ea5abe21dd1f7dd571aee6d0f08484933c04f8e933cf89d6564001efe2e8ac447fa32a5eaccc225acd2a255b1e90aa8d60ba97b648605a667f800371b9fb15613716c0309223f0973584422f492b3ce8b9bb237d870ec5a147d00a3ca3795da2a2daad69000deba1b33ae328533ce05d3623c43ded95c7b473600558679da11f934d8b7fc0a14f4f5fae711778ae7c7e45984be650faf5e1e7c007705d6687de7f59203999a272917d44844b8f4c2e710e281800a53a9e1209e0013c75d8de94bcea573288522e4455499ffa1a052b7ad4c16c95a204bfa4d2f00a0466067c46104ea4773116940e5f7b4ff59cf6db3e884dd961337e05fb4130095e8239c98b301bae36281c9a46eb879c8c5ffedc654282ac61e811b91f1d3009239ab053d7c6ddc15ab23887e5cbece9e3daa5d301a8dea098279f28d46a500dd21fd56e50dcce3b000baf3635589e8304e058009bf2523f7ead2d48d96c90060d43fc260755192723a2ab0575286ef736eefb6062dea24e8b06b0841b8a300696131b14919528acc785275644218de426df4d9e4d347fa502ff142f8b991003a839cf322b1cf7dcc48d348469831bd7675211554bfbb16038aefd96a29ca0068df872559c0cfe11ebb626783bf400cc0313c235a242c7c235c50ac8af4a40066dcc347cdc74dfdd779030fad62c91c5338ba9966430a27f461cb9562f5fc00f38df98fa44d9881eafa5dd0480ef07738a892ce1825a725f63d54da03ce4000141648177a68a1ba6e04679c63b29ed4ead43983c4633538c829128225536900d6e2ddec7491d0abce43fced81ab8ad5cd9138c14add3ff4250eb56255612a00a1c102623bab093901b3fd564cdbdf3dd3dfd81c0aad753bd9485d2743821100af91cbab2eb0ef76fc863f6e0690f50dde0d48385f079230ab1e0f2275591e00c538015a617c3a1ca771317e6b6ba4a2e0eb3ef0e9fd96bb612a6d467d34af0095bd22002256024c9e9f1ff3c35751d88bc7d40a815f0fc232ef7f5a561f08002a6f332944f57977320be10d799f20d31650cafe328be29c2b4e4b3715c3b600884b9ce99512f9bf1b17ee8775a867e140b03bd7f7f5a20b9e0dc9e2627db100a14b4d9f465a8a86bca9b3b76a56549cad6e7efde1c242ca1945c370334ec7005d523a0ba015564de64291f4eb6862f07027e437d62154d60c3bf19ae7ab850025b0299568530bc04c918fb74f1e14c0c012ff36aba0a1b3be2f574b5939520039aadd997a8471f42620b2042b440cfa59fdcbf3af4e1993e068161191298300169ad4f30e9cec0adbf34d01ff57020ab8367567b644fd6d9a9a75eef4276000b884bb221bc7468178833559a922b1803a9b8d580b041cbe7dc0c7a997cd0f00fbb058f03e7a88eed6d8b7e86dcd302e2c5cec1c2d79e802ac324dfdba2982005f2057043176740c7bf3cb6461729284da799ffb59cc39a30888a0f9361c0300b19f15f6c7aa0b06d2594d25e55f42b381d24d0440d9c487440b3612e5054c00af957c7b4f8c24c23ea0930c08980ac24958facd502be834433b7e3e4188d0009b78994212147a60e6a20fe19249beca474452917fdcc239395a67c69a2dad0004157c56f6f2efd8d7cbc5ec766727de25863984287728909404a09852ad7200c671a4076f6cb35bc8d8e1bc3170ab26fc97becd9d672ea7190a9227daa16500bf3b27d7d07e91a15b6f85c3ca1b00a8bd270f8b028c4198c0b7bdce55d6c100202198207db2d3033707dcee8654c4037a6becd271cc3e49e1382709c657c00075d7f581b1b8888920b922e378ba594055ea37da0bc3e3889fb2f8afd5e39000248682f93c65e6760e84fc8e43dab03f0bb15c12562df36c1e2226007b8d0e00e8290ec98eb8dd87eba02eb6385cb49e8c8d11f58497761c0cff3bf3abad37007854ecb712ac3a645a29c1ce333ee54b20e71ea2f956a7ab9cb4937fa5c8ba00fcb4cfc2bcb3df3473aac7671f274319f34bde0a7efbc1e29f44c3dccf490b00b449dbcb82b531652e454be222add8df7b7bdd37c35889213bc73bb54ef4ab00bac22a24e51ff4c5a7ae6119554e5faa97a06231284745470eb1277706e4190049d5d0b438aff8b2bb5a415865c8180b910a1d5774400faf98320e293abf300035423c4f3f09bac25a95a476a278a69ee03716bea049fd727d2ddb261c6eb800593cec141851430bf536a323fe83a535dd835995e65c09783d41a3cdfff95b00aca3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "versioned_hash": "010000080bf2b22249a9b0183268735b0ec28062f73dfb0a4a50e665c1d6311b", + "commitment": "99099754f7e1d630e953e6f2023351b4aa85037b6e139311939b032af5599002d3520a1cd5d85e2ab3b42a2d15595786" +} diff --git a/trusted_setup.txt b/trusted_setup.txt new file mode 100644 index 00000000000..e4db7d1dd98 --- /dev/null +++ b/trusted_setup.txt @@ -0,0 +1,4163 @@ +4096 +65 +a0413c0dcafec6dbc9f47d66785cf1e8c981044f7d13cfe3e4fcbb71b5408dfde6312493cb3c1d30516cb3ca88c03654 +8b997fb25730d661918371bb41f2a6e899cac23f04fc5365800b75433c0a953250e15e7a98fb5ca5cc56a8cd34c20c57 +83302852db89424d5699f3f157e79e91dc1380f8d5895c5a772bb4ea3a5928e7c26c07db6775203ce33e62a114adaa99 +a759c48b7e4a685e735c01e5aa6ef9c248705001f470f9ad856cd87806983e917a8742a3bd5ee27db8d76080269b7c83 +967f8dc45ebc3be14c8705f43249a30ff48e96205fb02ae28daeab47b72eb3f45df0625928582aa1eb4368381c33e127 +a418eb1e9fb84cb32b370610f56f3cb470706a40ac5a47c411c464299c45c91f25b63ae3fcd623172aa0f273c0526c13 +8f44e3f0387293bc7931e978165abbaed08f53acd72a0a23ac85f6da0091196b886233bcee5b4a194db02f3d5a9b3f78 +97173434b336be73c89412a6d70d416e170ea355bf1956c32d464090b107c090ef2d4e1a467a5632fbc332eeb679bf2d +a24052ad8d55ad04bc5d951f78e14213435681594110fd18173482609d5019105b8045182d53ffce4fc29fc8810516c1 +b950768136b260277590b5bec3f56bbc2f7a8bc383d44ce8600e85bf8cf19f479898bcc999d96dfbd2001ede01d94949 +92ab8077871037bd3b57b95cbb9fb10eb11efde9191690dcac655356986fd02841d8fdb25396faa0feadfe3f50baf56d +a79b096dff98038ac30f91112dd14b78f8ad428268af36d20c292e2b3b6d9ed4fb28480bb04e465071cc67d05786b6d1 +b9ff71461328f370ce68bf591aa7fb13027044f42a575517f3319e2be4aa4843fa281e756d0aa5645428d6dfa857cef2 +8d765808c00b3543ff182e2d159c38ae174b12d1314da88ea08e13bd9d1c37184cb515e6bf6420531b5d41767987d7ce +b8c9a837d20c3b53e6f578e4a257bb7ef8fc43178614ec2a154915b267ad2be135981d01ed2ee1b5fbd9d9bb27f0800a +a9773d92cf23f65f98ef68f6cf95c72b53d0683af2f9bf886bb9036e4a38184b1131b26fd24397910b494fbef856f3aa +b41ebe38962d112da4a01bf101cb248d808fbd50aaf749fc7c151cf332032eb3e3bdbd716db899724b734d392f26c412 +90fbb030167fb47dcc13d604a726c0339418567c1d287d1d87423fa0cb92eec3455fbb46bcbe2e697144a2d3972142e4 +b11d298bd167464b35fb923520d14832bd9ed50ed841bf6d7618424fd6f3699190af21759e351b89142d355952149da1 +8bc36066f69dc89f7c4d1e58d67497675050c6aa002244cebd9fc957ec5e364c46bab4735ea3db02b73b3ca43c96e019 +ab7ab92c5d4d773068e485aa5831941ebd63db7118674ca38089635f3b4186833af2455a6fb9ed2b745df53b3ce96727 +af191ca3089892cb943cd97cf11a51f38e38bd9be50844a4e8da99f27e305e876f9ed4ab0628e8ae3939066b7d34a15f +a3204c1747feabc2c11339a542195e7cb6628fd3964f846e71e2e3f2d6bb379a5e51700682ea1844eba12756adb13216 +903a29883846b7c50c15968b20e30c471aeac07b872c40a4d19eb1a42da18b649d5bbfde4b4cf6225d215a461b0deb6d +8e6e9c15ffbf1e16e5865a5fef7ed751dc81957a9757b535cb38b649e1098cda25d42381dc4f776778573cdf90c3e6e0 +a8f6dd26100b512a8c96c52e00715c4b2cb9ac457f17aed8ffe1cf1ea524068fe5a1ddf218149845fc1417b789ecfc98 +a5b0ffc819451ea639cfd1c18cbc9365cc79368d3b2e736c0ae54eba2f0801e6eb0ee14a5f373f4a70ca463bdb696c09 +879f91ccd56a1b9736fbfd20d8747354da743fb121f0e308a0d298ff0d9344431890e41da66b5009af3f442c636b4f43 +81bf3a2d9755e206b515a508ac4d1109bf933c282a46a4ae4a1b4cb4a94e1d23642fad6bd452428845afa155742ade7e +8de778d4742f945df40004964e165592f9c6b1946263adcdd5a88b00244bda46c7bb49098c8eb6b3d97a0dd46148a8ca +b7a57b21d13121907ee28c5c1f80ee2e3e83a3135a8101e933cf57171209a96173ff5037f5af606e9fd6d066de6ed693 +b0877d1963fd9200414a38753dffd9f23a10eb3198912790d7eddbc9f6b477019d52ddd4ebdcb9f60818db076938a5a9 +88da2d7a6611bc16adc55fc1c377480c828aba4496c645e3efe0e1a67f333c05a0307f7f1d2df8ac013602c655c6e209 +95719eb02e8a9dede1a888c656a778b1c69b7716fbe3d1538fe8afd4a1bc972183c7d32aa7d6073376f7701df80116d8 +8e8a1ca971f2444b35af3376e85dccda3abb8e8e11d095d0a4c37628dfe5d3e043a377c3de68289ef142e4308e9941a0 +b720caaff02f6d798ac84c4f527203e823ff685869e3943c979e388e1c34c3f77f5c242c6daa7e3b30e511aab917b866 +86040d55809afeec10e315d1ad950d269d37cfee8c144cd8dd4126459e3b15a53b3e68df5981df3c2346d23c7b4baaf4 +82d8cabf13ab853db0377504f0aec00dba3a5cd3119787e8ad378ddf2c40b022ecfc67c642b7acc8c1e3dd03ab50993e +b8d873927936719d2484cd03a6687d65697e17dcf4f0d5aed6f5e4750f52ef2133d4645894e7ebfc4ef6ce6788d404c8 +b1235594dbb15b674a419ff2b2deb644ad2a93791ca05af402823f87114483d6aa1689b7a9bea0f547ad12fe270e4344 +a53fda86571b0651f5affb74312551a082fffc0385cfd24c1d779985b72a5b1cf7c78b42b4f7e51e77055f8e5e915b00 +b579adcfd9c6ef916a5a999e77a0cb21d378c4ea67e13b7c58709d5da23a56c2e54218691fc4ac39a4a3d74f88cc31f7 +ab79e584011713e8a2f583e483a91a0c2a40771b77d91475825b5acbea82db4262132901cb3e4a108c46d7c9ee217a4e +a0fe58ea9eb982d7654c8aaf9366230578fc1362f6faae0594f8b9e659bcb405dff4aac0c7888bbe07f614ecf0d800a6 +867e50e74281f28ecd4925560e2e7a6f8911b135557b688254623acce0dbc41e23ac3e706a184a45d54c586edc416eb0 +89f81b61adda20ea9d0b387a36d0ab073dc7c7cbff518501962038be19867042f11fcc7ff78096e5d3b68c6d8dc04d9b +a58ee91bb556d43cf01f1398c5811f76dc0f11efdd569eed9ef178b3b0715e122060ec8f945b4dbf6eebfa2b90af6fa6 +ac460be540f4c840def2eef19fc754a9af34608d107cbadb53334cf194cc91138d53b9538fcd0ec970b5d4aa455b224a +b09b91f929de52c09d48ca0893be6eb44e2f5210a6c394689dc1f7729d4be4e11d0474b178e80cea8c2ac0d081f0e811 +8d37a442a76b06a02a4e64c2504aea72c8b9b020ab7bcc94580fe2b9603c7c50d7b1e9d70d2a7daea19c68667e8f8c31 +a9838d4c4e3f3a0075a952cf7dd623307ec633fcc81a7cf9e52e66c31780de33dbb3d74c320dc7f0a4b72f7a49949515 +a44766b6251af458fe4f5f9ed1e02950f35703520b8656f09fc42d9a2d38a700c11a7c8a0436ac2e5e9f053d0bb8ff91 +ad78d9481c840f5202546bea0d13c776826feb8b1b7c72e83d99a947622f0bf38a4208551c4c41beb1270d7792075457 +b619ffa8733b470039451e224b777845021e8dc1125f247a4ff2476cc774657d0ff9c5279da841fc1236047de9d81c60 +af760b0a30a1d6af3bc5cd6686f396bd41779aeeb6e0d70a09349bd5da17ca2e7965afc5c8ec22744198fbe3f02fb331 +a0cc209abdb768b589fcb7b376b6e1cac07743288c95a1cf1a0354b47f0cf91fca78a75c1fcafa6f5926d6c379116608 +864add673c89c41c754eeb3cd8dcff5cdde1d739fce65c30e474a082bb5d813cba6412e61154ce88fdb6c12c5d9be35b +b091443b0ce279327dc37cb484e9a5b69b257a714ce21895d67539172f95ffa326903747b64a3649e99aea7bb10d03f7 +a8c452b8c4ca8e0a61942a8e08e28f17fb0ef4c5b018b4e6d1a64038280afa2bf1169202f05f14af24a06ca72f448ccd +a23c24721d18bc48d5dcf70effcbef89a7ae24e67158d70ae1d8169ee75d9a051d34b14e9cf06488bac324fe58549f26 +92a730e30eb5f3231feb85f6720489dbb1afd42c43f05a1610c6b3c67bb949ec8fde507e924498f4ffc646f7b07d9123 +8dbe5abf4031ec9ba6bb06d1a47dd1121fb9e03b652804069250967fd5e9577d0039e233441b7f837a7c9d67ba18c28e +aa456bcfef6a21bb88181482b279df260297b3778e84594ebddbdf337e85d9e3d46ca1d0b516622fb0b103df8ec519b7 +a3b31ae621bd210a2b767e0e6f22eb28fe3c4943498a7e91753225426168b9a26da0e02f1dc5264da53a5ad240d9f51b +aa8d66857127e6e71874ce2202923385a7d2818b84cb73a6c42d71afe70972a70c6bdd2aad1a6e8c5e4ca728382a8ea8 +ac7e8e7a82f439127a5e40558d90d17990f8229852d21c13d753c2e97facf077cf59582b603984c3dd3faebd80aff4f5 +93a8bcf4159f455d1baa73d2ef2450dcd4100420de84169bbe28b8b7a5d1746273f870091a87a057e834f754f34204b1 +89d0ebb287c3613cdcae7f5acc43f17f09c0213fc40c074660120b755d664109ffb9902ed981ede79e018ddb0c845698 +a87ccbfad431406aadbee878d9cf7d91b13649d5f7e19938b7dfd32645a43b114eef64ff3a13201398bd9b0337832e5a +833c51d0d0048f70c3eefb4e70e4ff66d0809c41838e8d2c21c288dd3ae9d9dfaf26d1742bf4976dab83a2b381677011 +8bcd6b1c3b02fffead432e8b1680bad0a1ac5a712d4225e220690ee18df3e7406e2769e1f309e2e803b850bc96f0e768 +b61e3dbd88aaf4ff1401521781e2eea9ef8b66d1fac5387c83b1da9e65c2aa2a56c262dea9eceeb4ad86c90211672db0 +866d3090db944ecf190dd0651abf67659caafd31ae861bab9992c1e3915cb0952da7c561cc7e203560a610f48fae633b +a5e8971543c14274a8dc892b0be188c1b4fbc75c692ed29f166e0ea80874bc5520c2791342b7c1d2fb5dd454b03b8a5b +8f2f9fc50471bae9ea87487ebd1bc8576ef844cc42d606af5c4c0969670fdf2189afd643e4de3145864e7773d215f37f +b1bb0f2527db6d51f42b9224383c0f96048bbc03d469bf01fe1383173ef8b1cc9455d9dd8ba04d46057f46949bfc92b5 +aa7c99d906b4d7922296cfe2520473fc50137c03d68b7865c5bfb8adbc316b1034310ec4b5670c47295f4a80fb8d61e9 +a5d1da4d6aba555919df44cbaa8ff79378a1c9e2cfdfbf9d39c63a4a00f284c5a5724e28ecbc2d9dba27fe4ee5018bd5 +a8db53224f70af4d991b9aae4ffe92d2aa5b618ad9137784b55843e9f16cefbfd25ada355d308e9bbf55f6d2f7976fb3 +b6536c4232bb20e22af1a8bb12de76d5fec2ad9a3b48af1f38fa67e0f8504ef60f305a73d19385095bb6a9603fe29889 +87f7e371a1817a63d6838a8cf4ab3a8473d19ce0d4f40fd013c03d5ddd5f4985df2956531cc9f187928ef54c68f4f9a9 +ae13530b1dbc5e4dced9d909ea61286ec09e25c12f37a1ed2f309b0eb99863d236c3b25ed3484acc8c076ad2fa8cd430 +98928d850247c6f7606190e687d5c94a627550198dbdbea0161ef9515eacdb1a0f195cae3bb293112179082daccf8b35 +918528bb8e6a055ad4db6230d3a405e9e55866da15c4721f5ddd1f1f37962d4904aad7a419218fe6d906fe191a991806 +b71e31a06afe065773dd3f4a6e9ef81c3292e27a3b7fdfdd452d03e05af3b6dd654c355f7516b2a93553360c6681a73a +8870b83ab78a98820866f91ac643af9f3ff792a2b7fda34185a9456a63abdce42bfe8ad4dc67f08a6392f250d4062df4 +91eea1b668e52f7a7a5087fabf1cab803b0316f78d9fff469fbfde2162f660c250e4336a9eea4cb0450bd30ac067bc8b +8b74990946de7b72a92147ceac1bd9d55999a8b576e8df68639e40ed5dc2062cfcd727903133de482b6dca19d0aaed82 +8ebad537fece090ebbab662bdf2618e21ca30cf6329c50935e8346d1217dcbe3c1fe1ea28efca369c6003ce0a94703c1 +a8640479556fb59ebd1c40c5f368fbd960932fdbb782665e4a0e24e2bdb598fc0164ce8c0726d7759cfc59e60a62e182 +a9a52a6bf98ee4d749f6d38be2c60a6d54b64d5cbe4e67266633dc096cf28c97fe998596707d31968cbe2064b72256bf +847953c48a4ce6032780e9b39d0ed4384e0be202c2bbe2dfda3910f5d87aa5cd3c2ffbfcfae4dddce16d6ab657599b95 +b6f6e1485d3ec2a06abaecd23028b200b2e4a0096c16144d07403e1720ff8f9ba9d919016b5eb8dc5103880a7a77a1d3 +98dfc2065b1622f596dbe27131ea60bef7a193b12922cecb27f8c571404f483014f8014572e86ae2e341ab738e4887ef +acb0d205566bacc87bbe2e25d10793f63f7a1f27fd9e58f4f653ceae3ffeba511eaf658e068fad289eeb28f9edbeb35b +ae4411ed5b263673cee894c11fe4abc72a4bf642d94022a5c0f3369380fcdfc1c21e277f2902972252503f91ada3029a +ac4a7a27ba390a75d0a247d93d4a8ef1f0485f8d373a4af4e1139369ec274b91b3464d9738eeaceb19cd6f509e2f8262 +87379c3bf231fdafcf6472a79e9e55a938d851d4dd662ab6e0d95fd47a478ed99e2ad1e6e39be3c0fc4f6d996a7dd833 +81316904b035a8bcc2041199a789a2e6879486ba9fddcba0a82c745cc8dd8374a39e523b91792170cd30be7aa3005b85 +b8206809c6cd027ed019f472581b45f7e12288f89047928ba32b4856b6560ad30395830d71e5e30c556f6f182b1fe690 +88d76c028f534a62e019b4a52967bb8642ede6becfa3807be68fdd36d366fc84a4ac8dc176e80a68bc59eb62caf5dff9 +8c3b8be685b0f8aad131ee7544d0e12f223f08a6f8edaf464b385ac644e0ddc9eff7cc7cb5c1b50ab5d71ea0f41d2213 +8d91410e004f76c50fdc05784157b4d839cb5090022c629c7c97a5e0c3536eeafee17a527b54b1165c3cd81774bb54ce +b25c2863bc28ec5281ce800ddf91a7e1a53f4c6d5da1e6c86ef4616e93bcf55ed49e297216d01379f5c6e7b3c1e46728 +865f7b09ac3ca03f20be90c48f6975dd2588838c2536c7a3532a6aa5187ed0b709cd03d91ff4048061c10d0aa72b69ce +b3f7477c90c11596eb4f8bbf34adbcb832638c4ff3cdd090d4d477ee50472ac9ddaf5be9ad7eca3f148960d362bbd098 +8db35fd53fca04faecd1c76a8227160b3ab46ac1af070f2492445a19d8ff7c25bbaef6c9fa0c8c088444561e9f7e4eb2 +a478b6e9d058a2e01d2fc053b739092e113c23a6a2770a16afbef044a3709a9e32f425ace9ba7981325f02667c3f9609 +98caa6bd38916c08cf221722a675a4f7577f33452623de801d2b3429595f988090907a7e99960fff7c076d6d8e877b31 +b79aaaacefc49c3038a14d2ac468cfec8c2161e88bdae91798d63552cdbe39e0e02f9225717436b9b8a40a022c633c6e +845a31006c680ee6a0cc41d3dc6c0c95d833fcf426f2e7c573fa15b2c4c641fbd6fe5ebb0e23720cc3467d6ee1d80dc4 +a1bc287e272cf8b74dbf6405b3a5190883195806aa351f1dc8e525aa342283f0a35ff687e3b434324dedee74946dd185 +a4fd2dc8db75d3783a020856e2b3aa266dc6926e84f5c491ef739a3bddd46dc8e9e0fc1177937839ef1b18d062ffbb9e +acbf0d3c697f57c202bb8c5dc4f3fc341b8fc509a455d44bd86acc67cad2a04495d5537bcd3e98680185e8aa286f2587 +a5caf423a917352e1b8e844f5968a6da4fdeae467d10c6f4bbd82b5eea46a660b82d2f5440d3641c717b2c3c9ed0be52 +8a39d763c08b926599ab1233219c49c825368fad14d9afc7c0c039224d37c00d8743293fd21645bf0b91eaf579a99867 +b2b53a496def0ba06e80b28f36530fbe0fb5d70a601a2f10722e59abee529369c1ae8fd0f2db9184dd4a2519bb832d94 +a73980fcef053f1b60ebbb5d78ba6332a475e0b96a0c724741a3abf3b59dd344772527f07203cf4c9cb5155ebed81fa0 +a070d20acce42518ece322c9db096f16aed620303a39d8d5735a0df6e70fbeceb940e8d9f5cc38f3314b2240394ec47b +a50cf591f522f19ca337b73089557f75929d9f645f3e57d4f241e14cdd1ea3fb48d84bcf05e4f0377afbb789fbdb5d20 +82a5ffce451096aca8eeb0cd2ae9d83db3ed76da3f531a80d9a70a346359bf05d74863ce6a7c848522b526156a5e20cd +88e0e84d358cbb93755a906f329db1537c3894845f32b9b0b691c29cbb455373d9452fadd1e77e20a623f6eaf624de6f +aa07ac7b84a6d6838826e0b9e350d8ec75e398a52e9824e6b0da6ae4010e5943fec4f00239e96433f291fef9d1d1e609 +ac8887bf39366034bc63f6cc5db0c26fd27307cbc3d6cce47894a8a019c22dd51322fb5096edc018227edfafc053a8f6 +b7d26c26c5b33f77422191dca94977588ab1d4b9ce7d0e19c4a3b4cd1c25211b78c328dbf81e755e78cd7d1d622ad23e +99a676d5af49f0ba44047009298d8474cabf2d5bca1a76ba21eff7ee3c4691a102fdefea27bc948ccad8894a658abd02 +b0d09a91909ab3620c183bdf1d53d43d39eb750dc7a722c661c3de3a1a5d383ad221f71bae374f8a71867505958a3f76 +84681a883de8e4b93d68ac10e91899c2bbb815ce2de74bb48a11a6113b2a3f4df8aceabda1f5f67bc5aacac8c9da7221 +9470259957780fa9b43521fab3644f555f5343281c72582b56d2efd11991d897b3b481cafa48681c5aeb80c9663b68f7 +ab1b29f7ece686e6fa968a4815da1d64f3579fed3bc92e1f3e51cd13a3c076b6cf695ed269d373300a62463dc98a4234 +8ab415bfcd5f1061f7687597024c96dd9c7cb4942b5989379a7a3b5742f7d394337886317659cbeacaf030234a24f972 +b9b524aad924f9acc63d002d617488f31b0016e0f0548f050cada285ce7491b74a125621638f19e9c96eabb091d945be +8c4c373e79415061837dd0def4f28a2d5d74d21cb13a76c9049ad678ca40228405ab0c3941df49249847ecdefc1a5b78 +a8edf4710b5ab2929d3db6c1c0e3e242261bbaa8bcec56908ddadd7d2dad2dca9d6eb9de630b960b122ebeea41040421 +8d66bb3b50b9df8f373163629f9221b3d4b6980a05ea81dc3741bfe9519cf3ebba7ab98e98390bae475e8ede5821bd5c +8d3c21bae7f0cfb97c56952bb22084b58e7bb718890935b73103f33adf5e4d99cd262f929c6eeab96209814f0dbae50a +a5c66cfab3d9ebf733c4af24bebc97070e7989fe3c73e79ac85fb0e4d40ae44fb571e0fad4ad72560e13ed453900d14f +9362e6b50b43dbefbc3254471372297b5dcce809cd3b60bf74a1268ab68bdb50e46e462cbd78f0d6c056330e982846af +854630d08e3f0243d570cc2e856234cb4c1a158d9c1883bf028a76525aaa34be897fe918d5f6da9764a3735fa9ebd24a +8c7d246985469ff252c3f4df6c7c9196fc79f05c1c66a609d84725c78001d0837c7a7049394ba5cf7e863e2d58af8417 +ae050271e01b528925302e71903f785b782f7bf4e4e7a7f537140219bc352dc7540c657ed03d3a297ad36798ecdb98cd +8d2ae9179fcf2b0c69850554580b52c1f4a5bd865af5f3028f222f4acad9c1ad69a8ef6c7dc7b03715ee5c506b74325e +b8ef8de6ce6369a8851cd36db0ccf00a85077e816c14c4e601f533330af9e3acf0743a95d28962ed8bfcfc2520ef3cfe +a6ecad6fdfb851b40356a8b1060f38235407a0f2706e7b8bb4a13465ca3f81d4f5b99466ac2565c60af15f022d26732e +819ff14cdea3ab89d98e133cd2d0379361e2e2c67ad94eeddcdb9232efd509f51d12f4f03ebd4dd953bd262a886281f7 +8561cd0f7a6dbcddd83fcd7f472d7dbcba95b2d4fb98276f48fccf69f76d284e626d7e41314b633352df8e6333fd52a1 +b42557ccce32d9a894d538c48712cb3e212d06ac05cd5e0527ccd2db1078ee6ae399bf6a601ffdab1f5913d35fc0b20c +89b4008d767aad3c6f93c349d3b956e28307311a5b1cec237e8d74bb0dee7e972c24f347fd56afd915a2342bd7bc32f0 +877487384b207e53f5492f4e36c832c2227f92d1bb60542cfeb35e025a4a7afc2b885fae2528b33b40ab09510398f83e +8c411050b63c9053dd0cd81dacb48753c3d7f162028098e024d17cd6348482703a69df31ad6256e3d25a8bbf7783de39 +a8506b54a88d17ac10fb1b0d1fe4aa40eae7553a064863d7f6b52ccc4236dd4b82d01dca6ba87da9a239e3069ba879fb +b1a24caef9df64750c1350789bb8d8a0db0f39474a1c74ea9ba064b1516db6923f00af8d57c632d58844fb8786c3d47a +959d6e255f212b0708c58a2f75cb1fe932248c9d93424612c1b8d1e640149656059737e4db2139afd5556bcdacf3eda2 +84525af21a8d78748680b6535bbc9dc2f0cf9a1d1740d12f382f6ecb2e73811d6c1da2ad9956070b1a617c61fcff9fe5 +b74417d84597a485d0a8e1be07bf78f17ebb2e7b3521b748f73935b9afbbd82f34b710fb7749e7d4ab55b0c7f9de127d +a4a9aecb19a6bab167af96d8b9d9aa5308eab19e6bfb78f5a580f9bf89bdf250a7b52a09b75f715d651cb73febd08e84 +9777b30be2c5ffe7d29cc2803a562a32fb43b59d8c3f05a707ab60ec05b28293716230a7d264d7cd9dd358fc031cc13e +95dce7a3d4f23ac0050c510999f5fbf8042f771e8f8f94192e17bcbfa213470802ebdbe33a876cb621cf42e275cbfc8b +b0b963ebcbbee847ab8ae740478544350b3ac7e86887e4dfb2299ee5096247cd2b03c1de74c774d9bde94ae2ee2dcd59 +a4ab20bafa316030264e13f7ef5891a2c3b29ab62e1668fcb5881f50a9acac6adbe3d706c07e62f2539715db768f6c43 +901478a297669d608e406fe4989be75264b6c8be12169aa9e0ad5234f459ca377f78484ffd2099a2fe2db5e457826427 +88c76e5c250810c057004a03408b85cd918e0c8903dc55a0dd8bb9b4fc2b25c87f9b8cf5943eb19fbbe99d36490050c5 +91607322bbad4a4f03fc0012d0821eff5f8c516fda45d1ec1133bface6f858bf04b25547be24159cab931a7aa08344d4 +843203e07fce3c6c81f84bc6dc5fb5e9d1c50c8811ace522dc66e8658433a0ef9784c947e6a62c11bf705307ef05212e +91dd8813a5d6dddcda7b0f87f672b83198cd0959d8311b2b26fb1fae745185c01f796fbd03aad9db9b58482483fdadd8 +8d15911aacf76c8bcd7136e958febd6963104addcd751ce5c06b6c37213f9c4fb0ffd4e0d12c8e40c36d658999724bfd +8a36c5732d3f1b497ebe9250610605ee62a78eaa9e1a45f329d09aaa1061131cf1d9df00f3a7d0fe8ad614a1ff9caaae +a407d06affae03660881ce20dab5e2d2d6cddc23cd09b95502a9181c465e57597841144cb34d22889902aff23a76d049 +b5fd856d0578620a7e25674d9503be7d97a2222900e1b4738c1d81ff6483b144e19e46802e91161e246271f90270e6cf +91b7708869cdb5a7317f88c0312d103f8ce90be14fb4f219c2e074045a2a83636fdc3e69e862049fc7c1ef000e832541 +b64719cc5480709d1dae958f1d3082b32a43376da446c8f9f64cb02a301effc9c34d9102051733315a8179aed94d53cc +94347a9542ff9d18f7d9eaa2f4d9b832d0e535fe49d52aa2de08aa8192400eddabdb6444a2a78883e27c779eed7fdf5a +840ef44a733ff1376466698cd26f82cf56bb44811e196340467f932efa3ae1ef9958a0701b3b032f50fd9c1d2aed9ab5 +90ab3f6f67688888a31ffc2a882bb37adab32d1a4b278951a21646f90d03385fc976715fc639a785d015751171016f10 +b56f35d164c24b557dbcbc8a4bfa681ec916f8741ffcb27fb389c164f4e3ed2be325210ef5bdaeae7a172ca9599ab442 +a7921a5a80d7cf6ae81ba9ee05e0579b18c20cd2852762c89d6496aa4c8ca9d1ca2434a67b2c16d333ea8e382cdab1e3 +a506bcfbd7e7e5a92f68a1bd87d07ad5fe3b97aeee40af2bf2cae4efcd77fff03f872732c5b7883aa6584bee65d6f8cb +a8c46cff58931a1ce9cbe1501e1da90b174cddd6d50f3dfdfb759d1d4ad4673c0a8feed6c1f24c7af32865a7d6c984e5 +b45686265a83bff69e312c5149db7bb70ac3ec790dc92e392b54d9c85a656e2bf58596ce269f014a906eafc97461aa5f +8d4009a75ccb2f29f54a5f16684b93202c570d7a56ec1a8b20173269c5f7115894f210c26b41e8d54d4072de2d1c75d0 +aef8810af4fc676bf84a0d57b189760ddc3375c64e982539107422e3de2580b89bd27aa6da44e827b56db1b5555e4ee8 +888f0e1e4a34f48eb9a18ef4de334c27564d72f2cf8073e3d46d881853ac1424d79e88d8ddb251914890588937c8f711 +b64b0aa7b3a8f6e0d4b3499fe54e751b8c3e946377c0d5a6dbb677be23736b86a7e8a6be022411601dd75012012c3555 +8d57776f519f0dd912ea14f79fbab53a30624e102f9575c0bad08d2dc754e6be54f39b11278c290977d9b9c7c0e1e0ad +a018fc00d532ceb2e4de908a15606db9b6e0665dd77190e2338da7c87a1713e6b9b61554e7c1462f0f6d4934b960b15c +8c932be83ace46f65c78e145b384f58e41546dc0395270c1397874d88626fdeda395c8a289d602b4c312fe98c1311856 +89174838e21639d6bdd91a0621f04dc056907b88e305dd66e46a08f6d65f731dea72ae87ca5e3042d609e8de8de9aa26 +b7b7f508bb74f7a827ac8189daa855598ff1d96fa3a02394891fd105d8f0816224cd50ac4bf2ed1cf469ace516c48184 +b31877ad682583283baadd68dc1bebd83f5748b165aadd7fe9ef61a343773b88bcd3a022f36d6c92f339b7bfd72820a9 +b79d77260b25daf9126dab7a193df2d7d30542786fa1733ffaf6261734770275d3ca8bae1d9915d1181a78510b3439db +91894fb94cd4c1dd2ceaf9c53a7020c5799ba1217cf2d251ea5bc91ed26e1159dd758e98282ebe35a0395ef9f1ed15a0 +ab59895cdafd33934ceedfc3f0d5d89880482cba6c99a6db93245f9e41987efd76e0640e80aef31782c9a8c7a83fccec +aa22ea63654315e033e09d4d4432331904a6fc5fb1732557987846e3c564668ca67c60a324b4af01663a23af11a9ce4b +b53ba3ef342601467e1f71aa280e100fbabbd38518fa0193e0099505036ee517c1ac78e96e9baeb549bb6879bb698fb0 +943fd69fd656f37487cca3605dc7e5a215fddd811caf228595ec428751fc1de484a0cb84c667fe4d7c35599bfa0e5e34 +9353128b5ebe0dddc555093cf3e5942754f938173541033e8788d7331fafc56f68d9f97b4131e37963ab7f1c8946f5f1 +a76cd3c566691f65cfb86453b5b31dbaf3cab8f84fe1f795dd1e570784b9b01bdd5f0b3c1e233942b1b5838290e00598 +983d84b2e53ffa4ae7f3ba29ef2345247ea2377686b74a10479a0ef105ecf90427bf53b74c96dfa346d0f842b6ffb25b +92e0fe9063306894a2c6970c001781cff416c87e87cb5fbac927a3192655c3da4063e6fa93539f6ff58efac6adcc5514 +b00a81f03c2b8703acd4e2e4c21e06973aba696415d0ea1a648ace2b0ea19b242fede10e4f9d7dcd61c546ab878bc8f9 +b0d08d880f3b456a10bf65cff983f754f545c840c413aea90ce7101a66eb0a0b9b1549d6c4d57725315828607963f15a +90cb64d03534f913b411375cce88a9e8b1329ce67a9f89ca5df8a22b8c1c97707fec727dbcbb9737f20c4cf751359277 +8327c2d42590dfcdb78477fc18dcf71608686ad66c49bce64d7ee874668be7e1c17cc1042a754bbc77c9daf50b2dae07 +8532171ea13aa7e37178e51a6c775da469d2e26ec854eb16e60f3307db4acec110d2155832c202e9ba525fc99174e3b0 +83ca44b15393d021de2a511fa5511c5bd4e0ac7d67259dce5a5328f38a3cce9c3a269405959a2486016bc27bb140f9ff +b1d36e8ca812be545505c8214943b36cabee48112cf0de369957afa796d37f86bf7249d9f36e8e990f26f1076f292b13 +9803abf45be5271e2f3164c328d449efc4b8fc92dfc1225d38e09630909fe92e90a5c77618daa5f592d23fc3ad667094 +b268ad68c7bf432a01039cd889afae815c3e120f57930d463aece10af4fd330b5bd7d8869ef1bcf6b2e78e4229922edc +a4c91a0d6f16b1553264592b4cbbbf3ca5da32ab053ffbdd3dbb1aed1afb650fb6e0dc5274f71a51d7160856477228db +ad89d043c2f0f17806277ffdf3ecf007448e93968663f8a0b674254f36170447b7527d5906035e5e56f4146b89b5af56 +8b6964f757a72a22a642e4d69102951897e20c21449184e44717bd0681d75f7c5bfa5ee5397f6e53febf85a1810d6ed1 +b08f5cdaabec910856920cd6e836c830b863eb578423edf0b32529488f71fe8257d90aed4a127448204df498b6815d79 +af26bb3358be9d280d39b21d831bb53145c4527a642446073fee5a86215c4c89ff49a3877a7a549486262f6f57a0f476 +b4010b37ec4d7c2af20800e272539200a6b623ae4636ecbd0e619484f4ab9240d02bc5541ace3a3fb955dc0a3d774212 +82752ab52bdcc3cc2fc405cb05a2e694d3df4a3a68f2179ec0652536d067b43660b96f85f573f26fbd664a9ef899f650 +96d392dde067473a81faf2d1fea55b6429126b88b160e39b4210d31d0a82833ffd3a80e07d24d495aea2d96be7251547 +a76d8236d6671204d440c33ac5b8deb71fa389f6563d80e73be8b043ec77d4c9b06f9a586117c7f957f4af0331cbc871 +b6c90961f68b5e385d85c9830ec765d22a425f506904c4d506b87d8944c2b2c09615e740ed351df0f9321a7b93979cae +a6ec5ea80c7558403485b3b1869cdc63bde239bafdf936d9b62a37031628402a36a2cfa5cfbb8e26ac922cb0a209b3ba +8c3195bbdbf9bc0fc95fa7e3d7f739353c947f7767d1e3cb24d8c8602d8ea0a1790ac30b815be2a2ba26caa5227891e2 +a7f8a63d809f1155722c57f375ea00412b00147776ae4444f342550279ef4415450d6f400000a326bf11fea6c77bf941 +97fa404df48433a00c85793440e89bb1af44c7267588ae937a1f5d53e01e1c4d4fc8e4a6d517f3978bfdd6c2dfde012f +a984a0a3836de3d8d909c4629a2636aacb85393f6f214a2ef68860081e9db05ad608024762db0dc35e895dc00e2d4cdd +9526cf088ab90335add1db4d3a4ac631b58cbfbe88fa0845a877d33247d1cfeb85994522e1eb8f8874651bfb1df03e2a +ac83443fd0afe99ad49de9bf8230158c118e2814c9c89db5ac951c240d6c2ce45e7677221279d9e97848ec466b99aafe +aeeefdbaba612e971697798ceaf63b247949dc823a0ad771ae5b988a5e882b338a98d3d0796230f49d533ec5ba411b39 +ae3f248b5a7b0f92b7820a6c5ae21e5bd8f4265d4f6e21a22512079b8ee9be06393fd3133ce8ebac0faf23f4f8517e36 +a64a831b908eee784b8388b45447d2885ec0551b26b0c2b15e5f417d0a12c79e867fb7bd3d008d0af98b44336f8ec1ad +b242238cd8362b6e440ba21806905714dd55172db25ec7195f3fc4937b2aba146d5cbf3cf691a1384b4752dc3b54d627 +819f97f337eea1ffb2a678cc25f556f1aab751c6b048993a1d430fe1a3ddd8bb411c152e12ca60ec6e057c190cd1db9a +b9d7d187407380df54ee9fef224c54eec1bfabf17dc8abf60765b7951f538f59aa26fffd5846cfe05546c35f59b573f4 +aa6e3c14efa6a5962812e3f94f8ce673a433f4a82d07a67577285ea0eaa07f8be7115853122d12d6d4e1fdf64c504be1 +82268bee9c1662d3ddb5fb785abfae6fb8b774190f30267f1d47091d2cd4b3874db4372625aa36c32f27b0eee986269b +b236459565b7b966166c4a35b2fa71030b40321821b8e96879d95f0e83a0baf33fa25721f30af4a631df209e25b96061 +8708d752632d2435d2d5b1db4ad1fa2558d776a013655f88e9a3556d86b71976e7dfe5b8834fdec97682cd94560d0d0d +ae1424a68ae2dbfb0f01211f11773732a50510b5585c1fb005cb892b2c6a58f4a55490b5c5b4483c6fce40e9d3236a52 +b3f5f722af9dddb07293c871ce97abbccba0093ca98c8d74b1318fa21396fc1b45b69c15084f63d728f9908442024506 +9606f3ce5e63886853ca476dc0949e7f1051889d529365c0cb0296fdc02abd088f0f0318ecd2cf36740a3634132d36f6 +b11a833a49fa138db46b25ff8cdda665295226595bc212c0931b4931d0a55c99da972c12b4ef753f7e37c6332356e350 +afede34e7dab0a9e074bc19a7daddb27df65735581ca24ad70c891c98b1349fcebbcf3ba6b32c2617fe06a5818dabc2d +97993d456e459e66322d01f8eb13918979761c3e8590910453944bdff90b24091bb018ac6499792515c9923be289f99f +977e3e967eff19290a192cd11df3667d511b398fb3ac9a5114a0f3707e25a0edcb56105648b1b85a8b7519fc529fc6f6 +b873a7c88bf58731fe1bf61ff6828bf114cf5228f254083304a4570e854e83748fc98683ddba62d978fff7909f2c5c47 +ad4b2691f6f19da1d123aaa23cca3e876247ed9a4ab23c599afdbc0d3aa49776442a7ceaa996ac550d0313d9b9a36cee +b9210713c78e19685608c6475bfa974b57ac276808a443f8b280945c5d5f9c39da43effa294bfb1a6c6f7b6b9f85bf6c +a65152f376113e61a0e468759de38d742caa260291b4753391ee408dea55927af08a4d4a9918600a3bdf1df462dffe76 +8bf8c27ad5140dde7f3d2280fd4cc6b29ab76537e8d7aa7011a9d2796ee3e56e9a60c27b5c2da6c5e14fc866301dc195 +92fde8effc9f61393a2771155812b863cff2a0c5423d7d40aa04d621d396b44af94ddd376c28e7d2f53c930aea947484 +97a01d1dd9ee30553ce676011aea97fa93d55038ada95f0057d2362ae9437f3ed13de8290e2ff21e3167dd7ba10b9c3f +89affffaa63cb2df3490f76f0d1e1d6ca35c221dd34057176ba739fa18d492355e6d2a5a5ad93a136d3b1fed0bb8aa19 +928b8e255a77e1f0495c86d3c63b83677b4561a5fcbbe5d3210f1e0fc947496e426d6bf3b49394a5df796c9f25673fc4 +842a0af91799c9b533e79ee081efe2a634cac6c584c2f054fb7d1db67dde90ae36de36cbf712ec9cd1a0c7ee79e151ea +a65b946cf637e090baf2107c9a42f354b390e7316beb8913638130dbc67c918926eb87bec3b1fe92ef72bc77a170fa3b +aafc0f19bfd71ab5ae4a8510c7861458b70ad062a44107b1b1dbacbfa44ba3217028c2824bd7058e2fa32455f624040b +95269dc787653814e0be899c95dba8cfa384f575a25e671c0806fd80816ad6797dc819d30ae06e1d0ed9cb01c3950d47 +a1e760f7fa5775a1b2964b719ff961a92083c5c617f637fc46e0c9c20ab233f8686f7f38c3cb27d825c54dd95e93a59b +ac3b8a7c2317ea967f229eddc3e23e279427f665c4705c7532ed33443f1243d33453c1088f57088d2ab1e3df690a9cc9 +b787beeddfbfe36dd51ec4efd9cf83e59e84d354c3353cc9c447be53ae53d366ed1c59b686e52a92f002142c8652bfe0 +b7a64198300cb6716aa7ac6b25621f8bdec46ad5c07a27e165b3f774cdf65bcfdbf31e9bae0c16b44de4b00ada7a4244 +b8ae9f1452909e0c412c7a7fe075027691ea8df1347f65a5507bc8848f1d2c833d69748076db1129e5b4fb912f65c86c +9682e41872456b9fa67def89e71f06d362d6c8ca85c9c48536615bc401442711e1c9803f10ab7f8ab5feaec0f9df20a6 +88889ff4e271dc1c7e21989cc39f73cde2f0475acd98078281591ff6c944fadeb9954e72334319050205d745d4df73df +8f79b5b8159e7fd0d93b0645f3c416464f39aec353b57d99ecf24f96272df8a068ad67a6c90c78d82c63b40bb73989bb +838c01a009a3d8558a3f0bdd5e22de21af71ca1aefc8423c91dc577d50920e9516880e87dce3e6d086e11cd45c9052d9 +b97f1c6eee8a78f137c840667cc288256e39294268a3009419298a04a1d0087c9c9077b33c917c65caf76637702dda8a +972284ce72f96a61c899260203dfa06fc3268981732bef74060641c1a5068ead723e3399431c247ca034b0dae861e8df +945a8d52d6d3db6663dbd3110c6587f9e9c44132045eeffba15621576d178315cb52870fa5861669f84f0bee646183fe +a0a547b5f0967b1c3e5ec6c6a9a99f0578521489180dfdfbb5561f4d166baac43a2f06f950f645ce991664e167537eed +a0592cda5cdddf1340033a745fd13a6eff2021f2e26587116c61c60edead067e0f217bc2bef4172a3c9839b0b978ab35 +b9c223b65a3281587fa44ec829e609154b32f801fd1de6950e01eafb07a8324243b960d5735288d0f89f0078b2c42b5b +99ebfc3b8f9f98249f4d37a0023149ed85edd7a5abe062c8fb30c8c84555258b998bdcdd1d400bc0fa2a4aaa8b224466 +955b68526e6cb3937b26843270f4e60f9c6c8ece2fa9308fe3e23afa433309c068c66a4bc16ee2cf04220f095e9afce4 +b766caeafcc00378135ae53397f8a67ed586f5e30795462c4a35853de6681b1f17401a1c40958de32b197c083b7279c1 +921bf87cad947c2c33fa596d819423c10337a76fe5a63813c0a9dc78a728207ae7b339407a402fc4d0f7cba3af6da6fc +a74ba1f3bc3e6c025db411308f49b347ec91da1c916bda9da61e510ec8d71d25e0ac0f124811b7860e5204f93099af27 +a29b4d144e0bf17a7e8353f2824cef0ce85621396babe8a0b873ca1e8a5f8d508b87866cf86da348470649fceefd735c +a8040e12ffc3480dd83a349d06741d1572ef91932c46f5cf03aee8454254156ee95786fd013d5654725e674c920cec32 +8c4cf34ca60afd33923f219ffed054f90cd3f253ffeb2204a3b61b0183417e366c16c07fae860e362b0f2bfe3e1a1d35 +8195eede4ddb1c950459df6c396b2e99d83059f282b420acc34220cadeed16ab65c856f2c52568d86d3c682818ed7b37 +91fff19e54c15932260aa990c7fcb3c3c3da94845cc5aa8740ef56cf9f58d19b4c3c55596f8d6c877f9f4d22921d93aa +a3e0bf7e5d02a80b75cf75f2db7e66cb625250c45436e3c136d86297d652590ec97c2311bafe407ad357c79ab29d107b +81917ff87e5ed2ae4656b481a63ced9e6e5ff653b8aa6b7986911b8bc1ee5b8ef4f4d7882c3f250f2238e141b227e510 +915fdbe5e7de09c66c0416ae14a8750db9412e11dc576cf6158755fdcaf67abdbf0fa79b554cac4fe91c4ec245be073f +8df27eafb5c3996ba4dc5773c1a45ca77e626b52e454dc1c4058aa94c2067c18332280630cc3d364821ee53bf2b8c130 +934f8a17c5cbb827d7868f5c8ca00cb027728a841000a16a3428ab16aa28733f16b52f58c9c4fbf75ccc45df72d9c4df +b83f4da811f9183c25de8958bc73b504cf790e0f357cbe74ef696efa7aca97ad3b7ead1faf76e9f982c65b6a4d888fc2 +87188213c8b5c268dc2b6da413f0501c95749e953791b727450af3e43714149c115b596b33b63a2f006a1a271b87efd0 +83e9e888ab9c3e30761de635d9aabd31248cdd92f7675fc43e4b21fd96a03ec1dc4ad2ec94fec857ffb52683ac98e360 +b4b9a1823fe2d983dc4ec4e3aaea297e581c3fc5ab4b4af5fa1370caa37af2d1cc7fc6bfc5e7da60ad8fdce27dfe4b24 +856388bc78aef465dbcdd1f559252e028c9e9a2225c37d645c138e78f008f764124522705822a61326a6d1c79781e189 +a6431b36db93c3b47353ba22e7c9592c9cdfb9cbdd052ecf2cc3793f5b60c1e89bc96e6bae117bfd047f2308da00dd2f +b619972d48e7e4291542dcde08f7a9cdc883c892986ded2f23ccb216e245cd8d9ad1d285347b0f9d7611d63bf4cee2bc +8845cca6ff8595955f37440232f8e61d5351500bd016dfadd182b9d39544db77a62f4e0102ff74dd4173ae2c181d24ef +b2f5f7fa26dcd3b6550879520172db2d64ee6aaa213cbef1a12befbce03f0973a22eb4e5d7b977f466ac2bf8323dcedd +858b7f7e2d44bdf5235841164aa8b4f3d33934e8cb122794d90e0c1cac726417b220529e4f896d7b77902ab0ccd35b3a +80b0408a092dae2b287a5e32ea1ad52b78b10e9c12f49282976cd738f5d834e03d1ad59b09c5ccaccc39818b87d06092 +b996b0a9c6a2d14d984edcd6ab56bc941674102980d65b3ad9733455f49473d3f587c8cbf661228a7e125ddbe07e3198 +90224fcebb36865293bd63af786e0c5ade6b67c4938d77eb0cbae730d514fdd0fe2d6632788e858afd29d46310cf86df +b71351fdfff7168b0a5ec48397ecc27ac36657a8033d9981e97002dcca0303e3715ce6dd3f39423bc8ef286fa2e9e669 +ae2a3f078b89fb753ce4ed87e0c1a58bb19b4f0cfb6586dedb9fcab99d097d659a489fb40e14651741e1375cfc4b6c5f +8ef476b118e0b868caed297c161f4231bbeb863cdfa5e2eaa0fc6b6669425ce7af50dc374abceac154c287de50c22307 +92e46ab472c56cfc6458955270d3c72b7bde563bb32f7d4ab4d959db6f885764a3d864e1aa19802fefaa5e16b0cb0b54 +96a3f68323d1c94e73d5938a18a377af31b782f56212de3f489d22bc289cf24793a95b37f1d6776edf88114b5c1fa695 +962cc068cfce6faaa27213c4e43e44eeff0dfbb6d25b814e82c7da981fb81d7d91868fa2344f05fb552362f98cfd4a72 +895d4e4c4ad670abf66d43d59675b1add7afad7438ada8f42a0360c704cee2060f9ac15b4d27e9b9d0996bb801276fe3 +b3ad18d7ece71f89f2ef749b853c45dc56bf1c796250024b39a1e91ed11ca32713864049c9aaaea60cde309b47486bbf +8f05404e0c0258fdbae50e97ccb9b72ee17e0bd2400d9102c0dad981dac8c4c71585f03e9b5d50086d0a2d3334cb55d1 +8bd877e9d4591d02c63c6f9fc9976c109de2d0d2df2bfa5f6a3232bab5b0b8b46e255679520480c2d7a318545efa1245 +8d4c16b5d98957c9da13d3f36c46f176e64e5be879f22be3179a2c0e624fe4758a82bf8c8027410002f973a3b84cd55a +86e2a8dea86427b424fa8eada881bdff896907084a495546e66556cbdf070b78ba312bf441eb1be6a80006d25d5097a3 +8608b0c117fd8652fdab0495b08fadbeba95d9c37068e570de6fddfef1ba4a1773b42ac2be212836141d1bdcdef11a17 +a13d6febf5fb993ae76cae08423ca28da8b818d6ef0fde32976a4db57839cd45b085026b28ee5795f10a9a8e3098c683 +8e261967fa6de96f00bc94a199d7f72896a6ad8a7bbb1d6187cca8fad824e522880e20f766620f4f7e191c53321d70f9 +8b8e8972ac0218d7e3d922c734302803878ad508ca19f5f012bc047babd8a5c5a53deb5fe7c15a4c00fd6d1cb9b1dbd0 +b5616b233fb3574a2717d125a434a2682ff68546dccf116dd8a3b750a096982f185614b9fb6c7678107ff40a451f56fa +aa6adf9b0c3334b0d0663f583a4914523b2ac2e7adffdb026ab9109295ff6af003ef8357026dbcf789896d2afded8d73 +acb72df56a0b65496cd534448ed4f62950bb1e11e50873b6ed349c088ee364441821294ce0f7c61bd7d38105bea3b442 +abae12df83e01ec947249fedd0115dc501d2b03ff7232092979eda531dbbca29ace1d46923427c7dde4c17bdf3fd7708 +820b4fc2b63a9fda7964acf5caf19a2fc4965007cb6d6b511fcafcb1f71c3f673a1c0791d3f86e3a9a1eb6955b191cc0 +af277259d78c6b0f4f030a10c53577555df5e83319ddbad91afbd7c30bc58e7671c56d00d66ec3ab5ef56470cd910cee +ad4a861c59f1f5ca1beedd488fb3d131dea924fffd8e038741a1a7371fad7370ca5cf80dc01f177fbb9576713bb9a5b3 +b67a5162982ce6a55ccfb2f177b1ec26b110043cf18abd6a6c451cf140b5af2d634591eb4f28ad92177d8c7e5cd0a5e8 +96176d0a83816330187798072d449cbfccff682561e668faf6b1220c9a6535b32a6e4f852e8abb00f79abb87493df16b +b0afe6e7cb672e18f0206e4423f51f8bd0017bf464c4b186d46332c5a5847647f89ff7fa4801a41c1b0b42f6135bcc92 +8fc5e7a95ef20c1278c645892811f6fe3f15c431ebc998a32ec0da44e7213ea934ed2be65239f3f49b8ec471e9914160 +b7793e41adda6c82ba1f2a31f656f6205f65bf8a3d50d836ee631bc7ce77c153345a2d0fc5c60edf8b37457c3729c4ec +a504dd7e4d6b2f4379f22cc867c65535079c75ccc575955f961677fa63ecb9f74026fa2f60c9fb6323c1699259e5e9c8 +ab899d00ae693649cc1afdf30fb80d728973d2177c006e428bf61c7be01e183866614e05410041bc82cb14a33330e69c +8a3bd8b0b1be570b65c4432a0f6dc42f48a2000e30ab089cf781d38f4090467b54f79c0d472fcbf18ef6a00df69cc6f3 +b4d7028f7f76a96a3d7803fca7f507ae11a77c5346e9cdfccb120a833a59bda1f4264e425aa588e7a16f8e7638061d84 +b9c7511a76ea5fb105de905d44b02edb17008335766ee357ed386b7b3cf19640a98b38785cb14603c1192bee5886c9b6 +8563afb12e53aed71ac7103ab8602bfa8371ae095207cb0d59e8fd389b6ad1aff0641147e53cb6a7ca16c7f37c9c5e6b +8e108be614604e09974a9ed90960c28c4ea330a3d9a0cb4af6dd6f193f84ab282b243ecdf549b3131036bebc8905690c +b794d127fbedb9c5b58e31822361706ffac55ce023fbfe55716c3c48c2fd2f2c7660a67346864dfe588812d369cb50b6 +b797a3442fc3b44f41baefd30346f9ac7f96e770d010d53c146ce74ce424c10fb62758b7e108b8abfdc5fafd89d745cb +993bb71e031e8096442e6205625e1bfddfe6dd6a83a81f3e2f84fafa9e5082ab4cad80a099f21eff2e81c83457c725c3 +8711ab833fc03e37acf2e1e74cfd9133b101ff4144fe30260654398ae48912ab46549d552eb9d15d2ea57760d35ac62e +b21321fd2a12083863a1576c5930e1aecb330391ef83326d9d92e1f6f0d066d1394519284ddab55b2cb77417d4b0292f +877d98f731ffe3ee94b0b5b72d127630fa8a96f6ca4f913d2aa581f67732df6709493693053b3e22b0181632ac6c1e3b +ae391c12e0eb8c145103c62ea64f41345973311c3bf7281fa6bf9b7faafac87bcf0998e5649b9ef81e288c369c827e07 +b83a2842f36998890492ab1cd5a088d9423d192681b9a3a90ec518d4c541bce63e6c5f4df0f734f31fbfdd87785a2463 +a21b6a790011396e1569ec5b2a423857b9bec16f543e63af28024e116c1ea24a3b96e8e4c75c6537c3e4611fd265e896 +b4251a9c4aab3a495da7a42e684ba4860dbcf940ad1da4b6d5ec46050cbe8dab0ab9ae6b63b5879de97b905723a41576 +8222f70aebfe6ac037f8543a08498f4cadb3edaac00336fc00437eb09f2cba758f6c38e887cc634b4d5b7112b6334836 +86f05038e060594c46b5d94621a1d9620aa8ba59a6995baf448734e21f58e23c1ea2993d3002ad5250d6edd5ba59b34f +a7c0c749baef811ab31b973c39ceb1d94750e2bc559c90dc5eeb20d8bb6b78586a2b363c599ba2107d6be65cd435f24e +861d46a5d70b38d6c1cd72817a2813803d9f34c00320c8b62f8b9deb67f5b5687bc0b37c16d28fd017367b92e05da9ca +b3365d3dab639bffbe38e35383686a435c8c88b397b717cd4aeced2772ea1053ceb670f811f883f4e02975e5f1c4ac58 +a5750285f61ab8f64cd771f6466e2c0395e01b692fd878f2ef2d5c78bdd8212a73a3b1dfa5e4c8d9e1afda7c84857d3b +835a10809ccf939bc46cf950a33b36d71be418774f51861f1cd98a016ade30f289114a88225a2c11e771b8b346cbe6ef +a4f59473a037077181a0a62f1856ec271028546ca9452b45cedfcb229d0f4d1aabfc13062b07e536cc8a0d4b113156a2 +95cd14802180b224d44a73cc1ed599d6c4ca62ddcaa503513ccdc80aaa8be050cc98bd4b4f3b639549beb4587ac6caf9 +973b731992a3e69996253d7f36dd7a0af1982b5ed21624b77a7965d69e9a377b010d6dabf88a8a97eec2a476259859cc +af8a1655d6f9c78c8eb9a95051aa3baaf9c811adf0ae8c944a8d3fcba87b15f61021f3baf6996fa0aa51c81b3cb69de1 +835aad5c56872d2a2d6c252507b85dd742bf9b8c211ccb6b25b52d15c07245b6d89b2a40f722aeb5083a47cca159c947 +abf4e970b02bef8a102df983e22e97e2541dd3650b46e26be9ee394a3ea8b577019331857241d3d12b41d4eacd29a3ac +a13c32449dbedf158721c13db9539ae076a6ce5aeaf68491e90e6ad4e20e20d1cdcc4a89ed9fd49cb8c0dd50c17633c1 +8c8f78f88b7e22dd7e9150ab1c000f10c28e696e21d85d6469a6fe315254740f32e73d81ab1f3c1cf8f544c86df506e8 +b4b77f2acfe945abf81f2605f906c10b88fb4d28628487fb4feb3a09f17f28e9780445dfcee4878349d4c6387a9d17d4 +8d255c235f3812c6ecc646f855fa3832be5cb4dbb9c9e544989fafdf3f69f05bfd370732eaf954012f0044aa013fc9c6 +b982efd3f34b47df37c910148ac56a84e8116647bea24145a49e34e0a6c0176e3284d838dae6230cb40d0be91c078b85 +983f365aa09bd85df2a6a2ad8e4318996b1e27d02090755391d4486144e40d80b1fbfe1c798d626db92f52e33aa634da +95fd1981271f3ea3a41d654cf497e6696730d9ff7369f26bc4d7d15c7adb4823dd0c42e4a005a810af12d234065e5390 +a9f5219bd4b913c186ef30c02f995a08f0f6f1462614ea5f236964e02bdaa33db9d9b816c4aee5829947840a9a07ba60 +9210e6ceb05c09b46fd09d036287ca33c45124ab86315e5d6911ff89054f1101faaa3e83d123b7805056d388bcec6664 +8ed9cbf69c6ff3a5c62dd9fe0d7264578c0f826a29e614bc2fb4d621d90c8c9992438accdd7a614b1dca5d1bb73dc315 +85cf2a8cca93e00da459e3cecd22c342d697eee13c74d5851634844fc215f60053cf84b0e03c327cb395f48d1c71a8a4 +8818a18e9a2ec90a271b784400c1903089ffb0e0b40bc5abbbe12fbebe0f731f91959d98c5519ef1694543e31e2016d4 +8dabc130f296fa7a82870bf9a8405aaf542b222ed9276bba9bd3c3555a0f473acb97d655ee7280baff766a827a8993f0 +ac7952b84b0dc60c4d858f034093b4d322c35959605a3dad2b806af9813a4680cb038c6d7f4485b4d6b2ff502aaeca25 +ad65cb6d57b48a2602568d2ec8010baed0eb440eec7638c5ec8f02687d764e9de5b5d42ad5582934e592b48471c22d26 +a02ab8bd4c3d114ea23aebdd880952f9495912817da8c0c08eabc4e6755439899d635034413d51134c72a6320f807f1c +8319567764b8295402ec1ebef4c2930a138480b37e6d7d01c8b4c9cd1f2fc3f6e9a44ae6e380a0c469b25b06db23305f +afec53b2301dc0caa8034cd9daef78c48905e6068d692ca23d589b84a6fa9ddc2ed24a39480597e19cb3e83eec213b3f +ac0b4ffdb5ae08e586a9cdb98f9fe56f4712af3a97065e89e274feacfb52b53c839565aee93c4cfaaccfe51432c4fab0 +8972cbf07a738549205b1094c5987818124144bf187bc0a85287c94fdb22ce038c0f11df1aa16ec5992e91b44d1af793 +b7267aa6f9e3de864179b7da30319f1d4cb2a3560f2ea980254775963f1523b44c680f917095879bebfa3dc2b603efcf +80f68f4bfc337952e29504ee5149f15093824ea7ab02507efd1317a670f6cbc3611201848560312e3e52e9d9af72eccf +8897fee93ce8fc1e1122e46b6d640bba309384dbd92e46e185e6364aa8210ebf5f9ee7e5e604b6ffba99aa80a10dd7d0 +b58ea6c02f2360be60595223d692e82ee64874fda41a9f75930f7d28586f89be34b1083e03bbc1575bbfdda2d30db1ea +85a523a33d903280d70ac5938770453a58293480170c84926457ac2df45c10d5ff34322ab130ef4a38c916e70d81af53 +a2cbf045e1bed38937492c1f2f93a5ba41875f1f262291914bc1fc40c60bd0740fb3fea428faf6da38b7c180fe8ac109 +8c09328770ed8eb17afc6ac7ddd87bb476de18ed63cab80027234a605806895959990c47bd10d259d7f3e2ecb50074c9 +b4b9e19edb4a33bde8b7289956568a5b6b6557404e0a34584b5721fe6f564821091013fbb158e2858c6d398293bb4b59 +8a47377df61733a2aa5a0e945fce00267f8e950f37e109d4487d92d878fb8b573317bb382d902de515b544e9e233458d +b5804c9d97efeff5ca94f3689b8088c62422d92a1506fd1d8d3b1b30e8a866ad0d6dad4abfa051dfc4471250cac4c5d9 +9084a6ee8ec22d4881e9dcc8a9eb3c2513523d8bc141942370fd191ad2601bf9537a0b1e84316f3209b3d8a54368051e +85447eea2fa26656a649f8519fa67279183044791d61cf8563d0783d46d747d96af31d0a93507bbb2242666aa87d3720 +97566a84481027b60116c751aec552adfff2d9038e68d48c4db9811fb0cbfdb3f1d91fc176a0b0d988a765f8a020bce1 +ae87e5c1b9e86c49a23dceda4ecfd1dcf08567f1db8e5b6ec752ebd45433c11e7da4988573cdaebbb6f4135814fc059e +abee05cf9abdbc52897ac1ce9ed157f5466ed6c383d6497de28616238d60409e5e92619e528af8b62cc552bf09970dc2 +ae6d31cd7bf9599e5ee0828bab00ceb4856d829bba967278a73706b5f388465367aa8a6c7da24b5e5f1fdd3256ef8e63 +ac33e7b1ee47e1ee4af472e37ab9e9175260e506a4e5ce449788075da1b53c44cb035f3792d1eea2aa24b1f688cc6ed3 +80f65b205666b0e089bb62152251c48c380a831e5f277f11f3ef4f0d52533f0851c1b612267042802f019ec900dc0e8f +858520ad7aa1c9fed738e3b583c84168f2927837ad0e1d326afe9935c26e9b473d7f8c382e82ef1fe37d2b39bb40a1ee +b842dd4af8befe00a97c2d0f0c33c93974761e2cb9e5ab8331b25170318ddd5e4bdbc02d8f90cbfdd5f348f4f371c1f7 +8bf2cb79bc783cb57088aae7363320cbeaabd078ffdec9d41bc74ff49e0043d0dad0086a30e5112b689fd2f5a606365d +982eb03bbe563e8850847cd37e6a3306d298ab08c4d63ab6334e6b8c1fa13fce80cf2693b09714c7621d74261a0ff306 +b143edb113dec9f1e5105d4a93fbe502b859e587640d3db2f628c09a17060e6aec9e900e2c8c411cda99bc301ff96625 +af472d9befa750dcebc5428fe1a024f18ec1c07bca0f95643ce6b5f4189892a910285afb03fd7ed7068fbe614e80d33c +a97e3bc57ede73ecd1bbf02de8f51b4e7c1a067da68a3cd719f4ba26a0156cbf1cef2169fd35a18c5a4cced50d475998 +a862253c937cf3d75d7183e5f5be6a4385d526aeda5171c1c60a8381fea79f88f5f52a4fab244ecc70765d5765e6dfd5 +90cb776f8e5a108f1719df4a355bebb04bf023349356382cae55991b31720f0fd03206b895fa10c56c98f52453be8778 +a7614e8d0769dccd520ea4b46f7646e12489951efaef5176bc889e9eb65f6e31758df136b5bf1e9107e68472fa9b46ec +ac3a9b80a3254c42e5ed3a090a0dd7aee2352f480de96ad187027a3bb6c791eddfc3074b6ffd74eea825188f107cda4d +82a01d0168238ef04180d4b6e0a0e39024c02c2d75b065017c2928039e154d093e1af4503f4d1f3d8a948917abb5d09f +8fab000a2b0eef851a483aec8d2dd85fe60504794411a2f73ed82e116960547ac58766cb73df71aea71079302630258d +872451a35c6db61c63e9b8bb9f16b217f985c20be4451c14282c814adb29d7fb13f201367c664435c7f1d4d9375d7a58 +887d9ff54cc96b35d562df4a537ff972d7c4b3fd91ab06354969a4cfede0b9fc68bbffb61d0dbf1a58948dc701e54f5a +8cb5c2a6bd956875d88f41ae24574434f1308514d44057b55c9c70f13a3366ed054150eed0955a38fda3f757be73d55f +89ad0163cad93e24129d63f8e38422b7674632a8d0a9016ee8636184cab177659a676c4ee7efba3abe1a68807c656d60 +b9ec01c7cab6d00359b5a0b4a1573467d09476e05ca51a9227cd16b589a9943d161eef62dcc73f0de2ec504d81f4d252 +8031d17635d39dfe9705c485d2c94830b6fc9bc67b91300d9d2591b51e36a782e77ab5904662effa9382d9cca201f525 +8be5a5f6bc8d680e5092d6f9a6585acbaaaa2ddc671da560dcf5cfa4472f4f184b9597b5b539438accd40dda885687cc +b1fc0f052fae038a2e3de3b3a96b0a1024b009de8457b8b3adb2d315ae68a89af905720108a30038e5ab8d0d97087785 +8b8bdc77bd3a6bc7ca5492b6f8c614852c39a70d6c8a74916eaca0aeb4533b11898b8820a4c2620a97bf35e275480029 +af35f4dc538d4ad5cdf710caa38fd1eb496c3fa890a047b6a659619c5ad3054158371d1e88e0894428282eed9f47f76b +8166454a7089cc07758ad78724654f4e7a1a13e305bbf88ddb86f1a4b2904c4fc8ab872d7da364cdd6a6c0365239e2ad +ab287c7d3addce74ce40491871c768abe01daaa0833481276ff2e56926b38a7c6d2681ffe837d2cc323045ad1a4414f9 +b90317f4505793094d89365beb35537f55a6b5618904236258dd04ca61f21476837624a2f45fef8168acf732cab65579 +98ae5ea27448e236b6657ab5ef7b1cccb5372f92ab25f5fa651fbac97d08353a1dae1b280b1cd42b17d2c6a70a63ab9d +adcf54e752d32cbaa6cb98fbca48d8cd087b1db1d131d465705a0d8042c8393c8f4d26b59006eb50129b21e6240f0c06 +b591a3e4db18a7345fa935a8dd7994bbac5cc270b8ebd84c8304c44484c7a74afb45471fdbe4ab22156a30fae1149b40 +806b53ac049a42f1dcc1d6335505371da0bf27c614f441b03bbf2e356be7b2fb4eed7117eabcce9e427a542eaa2bf7d8 +800482e7a772d49210b81c4a907f5ce97f270b959e745621ee293cf8c71e8989363d61f66a98f2d16914439544ca84c7 +99de9eafdad3617445312341644f2bb888680ff01ce95ca9276b1d2e5ef83fa02dab5e948ebf66c17df0752f1bd37b70 +961ee30810aa4c93ae157fbe9009b8e443c082192bd36a73a6764ff9b2ad8b0948fe9a73344556e01399dd77badb4257 +ae0a361067c52efbe56c8adf982c00432cd478929459fc7f74052c8ee9531cd031fe1335418fde53f7c2ef34254eb7ac +a3503d16b6b27eb20c1b177bcf90d13706169220523a6271b85b2ce35a9a2b9c5bed088540031c0a4ebfdae3a4c6ab04 +909420122c3e723289ca4e7b81c2df5aff312972a2203f4c45821b176e7c862bf9cac7f7df3adf1d59278f02694d06e7 +989f42380ae904b982f85d0c6186c1aef5d6bcba29bcfbb658e811b587eb2749c65c6e4a8cc6409c229a107499a4f5d7 +8037a6337195c8e26a27ea4ef218c6e7d79a9720aaab43932d343192abc2320fe72955f5e431c109093bda074103330a +b312e168663842099b88445e940249cc508f080ab0c94331f672e7760258dbd86be5267e4cf25ea25facb80bff82a7e9 +aaa3ff8639496864fcdbfdda1ac97edc4f08e3c9288b768f6c8073038c9fbbf7e1c4bea169b4d45c31935cdf0680d45e +97dbd3df37f0b481a311dfc5f40e59227720f367912200d71908ef6650f32cc985cb05b981e3eea38958f7e48d10a15d +a89d49d1e267bb452d6cb621b9a90826fe55e9b489c0427b94442d02a16f390eed758e209991687f73f6b5a032321f42 +9530dea4e0e19d6496f536f2e75cf7d814d65fde567055eb20db48fd8d20d501cd2a22fb506db566b94c9ee10f413d43 +81a7009b9e67f1965fa7da6a57591c307de91bf0cd35ab4348dc4a98a4961e096d004d7e7ad318000011dc4342c1b809 +83440a9402b766045d7aca61a58bba2aa29cac1cf718199e472ba086f5d48093d9dda4d135292ba51d049a23964eceae +a06c9ce5e802df14f6b064a3d1a0735d429b452f0e2e276042800b0a4f16df988fd94cf3945921d5dd3802ab2636f867 +b1359e358b89936dee9e678a187aad3e9ab14ac40e96a0a68f70ee2583cdcf467ae03bef4215e92893f4e12f902adec8 +835304f8619188b4d14674d803103d5a3fa594d48e96d9699e653115dd05fdc2dda6ba3641cf7ad53994d448da155f02 +8327cba5a9ff0d3f5cd0ae55e77167448926d5fcf76550c0ad978092a14122723090c51c415e88e42a2b62eb07cc3981 +b373dcdaea85f85ce9978b1426a7ef4945f65f2d3467a9f1cc551a99766aac95df4a09e2251d3f89ca8c9d1a7cfd7b0e +ab1422dc41af2a227b973a6fd124dfcb2367e2a11a21faa1d381d404f51b7257e5bc82e9cf20cd7fe37d7ae761a2ab37 +a93774a03519d2f20fdf2ef46547b0a5b77c137d6a3434b48d56a2cbef9e77120d1b85d0092cf8842909213826699477 +8eb967a495a38130ea28711580b7e61bcd1d051cd9e4f2dbf62f1380bd86e0d60e978d72f6f31e909eb97b3b9a2b867c +ae8213378da1287ba1fe4242e1acaec19b877b6fe872400013c6eac1084b8d03156792fa3020201725b08228a1e80f49 +b143daf6893d674d607772b3b02d8ac48f294237e2f2c87963c0d4e26d9227d94a2a13512457c3d5883544bbc259f0ef +b343bd2aca8973888e42542218924e2dda2e938fd1150d06878af76f777546213912b7c7a34a0f94186817d80ffa185c +b188ebc6a8c3007001aa347ae72cc0b15d09bc6c19a80e386ee4b334734ec0cc2fe8b493c2422f38d1e6d133cc3db6fe +b795f6a8b9b826aaeee18ccd6baf6c5adeeec85f95eb5b6d19450085ec7217e95a2d9e221d77f583b297d0872073ba0e +b1c7dbd998ad32ae57bfa95deafa147024afd57389e98992c36b6e52df915d3d5a39db585141ec2423173e85d212fed8 +812bcdeb9fe5f12d0e1df9964798056e1f1c3de3b17b6bd2919b6356c4b86d8e763c01933efbe0224c86a96d5198a4be +b19ebeda61c23d255cbf472ef0b8a441f4c55b70f0d8ed47078c248b1d3c7c62e076b43b95c00a958ec8b16d5a7cb0d7 +b02adc9aaa20e0368a989c2af14ff48b67233d28ebee44ff3418bb0473592e6b681af1cc45450bd4b175df9051df63d9 +8d87f0714acee522eb58cec00360e762adc411901dba46adc9227124fa70ee679f9a47e91a6306d6030dd4eb8de2f3c1 +8be54cec21e74bcc71de29dc621444263737db15f16d0bb13670f64e42f818154e04b484593d19ef95f2ee17e4b3fe21 +ab8e20546c1db38d31493b5d5f535758afb17e459645c1b70813b1cf7d242fd5d1f4354a7c929e8f7259f6a25302e351 +89f035a1ed8a1e302ac893349ba8ddf967580fcb6e73d44af09e3929cde445e97ff60c87dafe489e2c0ab9c9986cfa00 +8b2b0851a795c19191a692af55f7e72ad2474efdc5401bc3733cfdd910e34c918aaebe69d5ea951bdddf3c01cabbfc67 +a4edb52c2b51495ccd1ee6450fc14b7b3ede8b3d106808929d02fb31475bacb403e112ba9c818d2857651e508b3a7dd1 +9569341fded45d19f00bcf3cbf3f20eb2b4d82ef92aba3c8abd95866398438a2387437e580d8b646f17cf6fde8c5af23 +aa4b671c6d20f72f2f18a939a6ff21cc37e0084b44b4a717f1be859a80b39fb1be026b3205adec2a66a608ec2bcd578f +94902e980de23c4de394ad8aec91b46f888d18f045753541492bfbb92c59d3daa8de37ae755a6853744af8472ba7b72b +af651ef1b2a0d30a7884557edfad95b6b5d445a7561caebdc46a485aedd25932c62c0798465c340a76f6feaa196dd712 +b7b669b8e5a763452128846dd46b530dca4893ace5cc5881c7ddcd3d45969d7e73fbebdb0e78aa81686e5f7b22ec5759 +82507fd4ebe9fa656a7f2e084d64a1fa6777a2b0bc106d686e2d9d2edafc58997e58cb6bfd0453b2bf415704aa82ae62 +b40bce2b42b88678400ecd52955bbdadd15f8b9e1b3751a1a3375dc0efb5ca3ee258cf201e1140b3c09ad41217d1d49e +b0210d0cbb3fbf3b8cdb39e862f036b0ff941cd838e7aaf3a8354e24246e64778d22f3de34572e6b2a580614fb6425be +876693cba4301b251523c7d034108831df3ce133d8be5a514e7a2ca494c268ca0556fa2ad8310a1d92a16b55bcd99ea9 +8660281406d22a4950f5ef050bf71dd3090edb16eff27fa29ef600cdea628315e2054211ed2cc6eaf8f2a1771ef689fd +a610e7e41e41ab66955b809ba4ade0330b8e9057d8efc9144753caed81995edeb1a42a53f93ce93540feca1fae708dac +a49e2c176a350251daef1218efaccc07a1e06203386ede59c136699d25ca5cb2ac1b800c25b28dd05678f14e78e51891 +83e0915aa2b09359604566080d411874af8c993beba97d4547782fdbe1a68e59324b800ff1f07b8db30c71adcbd102a8 +a19e84e3541fb6498e9bb8a099c495cbfcad113330e0262a7e4c6544495bb8a754b2208d0c2d895c93463558013a5a32 +87f2bd49859a364912023aca7b19a592c60214b8d6239e2be887ae80b69ebdeb59742bdebcfa73a586ab23b2c945586c +b8e8fdddae934a14b57bc274b8dcd0d45ebb95ddbaabef4454e0f6ce7d3a5a61c86181929546b3d60c447a15134d08e1 +87e0c31dcb736ea4604727e92dc1d9a3cf00adcff79df3546e02108355260f3dd171531c3c0f57be78d8b28058fcc8c0 +9617d74e8f808a4165a8ac2e30878c349e1c3d40972006f0787b31ea62d248c2d9f3fc3da83181c6e57e95feedfd0e8c +8949e2cee582a2f8db86e89785a6e46bc1565c2d8627d5b6bf43ba71ffadfab7e3c5710f88dcb5fb2fc6edf6f4fae216 +ad3fa7b0edceb83118972a2935a09f409d09a8db3869f30be3a76f67aa9fb379cabb3a3aff805ba023a331cad7d7eb64 +8c95718a4112512c4efbd496be38bf3ca6cdcaad8a0d128f32a3f9aae57f3a57bdf295a3b372a8c549fda8f4707cffed +88f3261d1e28a58b2dee3fcc799777ad1c0eb68b3560f9b4410d134672d9533532a91ea7be28a041784872632d3c9d80 +b47472a41d72dd2e8b72f5c4f8ad626737dde3717f63d6bc776639ab299e564cbad0a2ad5452a07f02ff49a359c437e5 +9896d21dc2e8aad87b76d6df1654f10cd7bceed4884159d50a818bea391f8e473e01e14684814c7780235f28e69dca6e +82d47c332bbd31bbe83b5eb44a23da76d4a7a06c45d7f80f395035822bc27f62f59281d5174e6f8e77cc9b5c3193d6f0 +95c74cd46206e7f70c9766117c34c0ec45c2b0f927a15ea167901a160e1530d8522943c29b61e03568aa0f9c55926c53 +a89d7757825ae73a6e81829ff788ea7b3d7409857b378ebccd7df73fdbe62c8d9073741cf038314971b39af6c29c9030 +8c1cd212d0b010905d560688cfc036ae6535bc334fa8b812519d810b7e7dcf1bb7c5f43deaa40f097158358987324a7f +b86993c383c015ed8d847c6b795164114dd3e9efd25143f509da318bfba89389ea72a420699e339423afd68b6512fafb +8d06bd379c6d87c6ed841d8c6e9d2d0de21653a073725ff74be1934301cc3a79b81ef6dd0aad4e7a9dc6eac9b73019bc +81af4d2d87219985b9b1202d724fe39ef988f14fef07dfe3c3b11714e90ffba2a97250838e8535eb63f107abfe645e96 +8c5e0af6330a8becb787e4b502f34f528ef5756e298a77dc0c7467433454347f3a2e0bd2641fbc2a45b95e231c6e1c02 +8e2a8f0f04562820dc8e7da681d5cad9fe2e85dd11c785fb6fba6786c57a857e0b3bd838fb849b0376c34ce1665e4837 +a39be8269449bfdfc61b1f62077033649f18dae9bef7c6163b9314ca8923691fb832f42776f0160b9e8abd4d143aa4e1 +8c154e665706355e1cc98e0a4cabf294ab019545ba9c4c399d666e6ec5c869ca9e1faf8fb06cd9c0a5c2f51a7d51b70a +a046a7d4de879d3ebd4284f08f24398e9e3bf006cd4e25b5c67273ade248689c69affff92ae810c07941e4904296a563 +afd94c1cb48758e5917804df03fb38a6da0e48cd9b6262413ea13b26973f9e266690a1b7d9d24bbaf7e82718e0e594b0 +859e21080310c8d6a38e12e2ac9f90a156578cdeb4bb2e324700e97d9a5511cd6045dc39d1d0de3f94aeed043a24119d +a219fb0303c379d0ab50893264919f598e753aac9065e1f23ef2949abc992577ab43c636a1d2c089203ec9ddb941e27d +b0fdb639d449588a2ca730afcba59334e7c387342d56defdfb7ef79c493f7fd0e5277eff18e7203e756c7bdda5803047 +87f9c3b7ed01f54368aca6dbcf2f6e06bff96e183c4b2c65f8baa23b377988863a0a125d5cdd41a072da8462ced4c070 +99ef7a5d5ac2f1c567160e1f8c95f2f38d41881850f30c461a205f7b1b9fb181277311333839b13fb3ae203447e17727 +aeaca9b1c2afd24e443326cc68de67b4d9cedb22ad7b501a799d30d39c85bb2ea910d4672673e39e154d699e12d9b3dc +a11675a1721a4ba24dd3d0e4c3c33a6edf4cd1b9f6b471070b4386c61f77452266eae6e3f566a40cfc885eada9a29f23 +b228334445e37b9b49cb4f2cc56b454575e92173ddb01370a553bba665adadd52df353ad74470d512561c2c3473c7bb9 +a18177087c996572d76f81178d18ed1ceebc8362a396348ce289f1d8bd708b9e99539be6fccd4acb1112381cfc5749b4 +8e7b8bf460f0d3c99abb19803b9e43422e91507a1c0c22b29ee8b2c52d1a384da4b87c292e28eff040db5be7b1f8641f +b03d038d813e29688b6e6f444eb56fec3abba64c3d6f890a6bcf2e916507091cdb2b9d2c7484617be6b26552ed1c56cb +a1c88ccd30e934adfc5494b72655f8afe1865a84196abfb376968f22ddc07761210b6a9fb7638f1413d1b4073d430290 +961b714faebf172ad2dbc11902461e286e4f24a99a939152a53406117767682a571057044decbeb3d3feef81f4488497 +a03dc4059b46effdd786a0a03cc17cfee8585683faa35bb07936ded3fa3f3a097f518c0b8e2db92fd700149db1937789 +adf60180c99ca574191cbcc23e8d025b2f931f98ca7dfcebfc380226239b6329347100fcb8b0fcb12db108c6ad101c07 +805d4f5ef24d46911cbf942f62cb84b0346e5e712284f82b0db223db26d51aabf43204755eb19519b00e665c7719fcaa +8dea7243e9c139662a7fe3526c6c601eee72fd8847c54c8e1f2ad93ef7f9e1826b170afe58817dac212427164a88e87f +a2ba42356606d651b077983de1ad643650997bb2babb188c9a3b27245bb65d2036e46667c37d4ce02cb1be5ae8547abe +af2ae50b392bdc013db2d12ce2544883472d72424fc767d3f5cb0ca2d973fc7d1f425880101e61970e1a988d0670c81b +98e6bec0568d3939b31d00eb1040e9b8b2a35db46ddf4369bdaee41bbb63cc84423d29ee510a170fb5b0e2df434ba589 +822ff3cd12fbef4f508f3ca813c04a2e0b9b799c99848e5ad3563265979e753ee61a48f6adc2984a850f1b46c1a43d35 +891e8b8b92a394f36653d55725ef514bd2e2a46840a0a2975c76c2a935577f85289026aaa74384da0afe26775cbddfb9 +b2a3131a5d2fe7c8967047aa66e4524babae941d90552171cc109527f345f42aa0df06dcbb2fa01b33d0043917bbed69 +80c869469900431f3eeefafdbe07b8afd8cee7739e659e6d0109b397cacff85a88247698f87dc4e2fe39a592f250ac64 +9091594f488b38f9d2bb5df49fd8b4f8829d9c2f11a197dd1431ed5abbc5c954bbde3387088f9ee3a5a834beb7619bce +b472e241e6956146cca57b97a8a204668d050423b4e76f857bad5b47f43b203a04c8391ba9d9c3e95093c071f9d376a1 +b7dd2de0284844392f7dfb56fe7ca3ede41e27519753ffc579a0a8d2d65ceb8108d06b6b0d4c3c1a2588951297bd1a1e +902116ce70d0a079ac190321c1f48701318c05f8e69ee09694754885d33a835a849cafe56f499a2f49f6cda413ddf9a7 +b18105cc736787fafaf7c3c11c448bce9466e683159dff52723b7951dff429565e466e4841d982e3aaa9ee2066838666 +97ab9911f3f659691762d568ae0b7faa1047b0aed1009c319fa79d15d0db8db9f808fc385dc9a68fa388c10224985379 +b2a2cba65f5b927e64d2904ba412e2bac1cf18c9c3eda9c72fb70262497ecf505b640827e2afebecf10eebbcf48ccd3e +b36a3fd677baa0d3ef0dac4f1548ff50a1730286b8c99d276a0a45d576e17b39b3cbadd2fe55e003796d370d4be43ce3 +a5dfec96ca3c272566e89dc453a458909247e3895d3e44831528130bc47cc9d0a0dac78dd3cad680a4351d399d241967 +8029382113909af6340959c3e61db27392531d62d90f92370a432aec3eb1e4c36ae1d4ef2ba8ec6edb4d7320c7a453f6 +971d85121ea108e6769d54f9c51299b0381ece8b51d46d49c89f65bedc123bab4d5a8bc14d6f67f4f680077529cbae4c +98ff6afc01d0bec80a278f25912e1b1ebff80117adae72e31d5b9fa4d9624db4ba2065b444df49b489b0607c45e26c4c +8fa29be10fb3ab30ce25920fec0187e6e91e458947009dabb869aade7136c8ba23602682b71e390c251f3743164cbdaa +b3345c89eb1653418fe3940cf3e56a9a9c66526389b98f45ca02dd62bfb37baa69a4baaa7132d7320695f8ea6ad1fd94 +b72c7f5541c9ac6b60a7ec9f5415e7fb14da03f7164ea529952a29399f3a071576608dbbcc0d45994f21f92ddbeb1e19 +aa3450bb155a5f9043d0ef95f546a2e6ade167280bfb75c9f09c6f9cdb1fffb7ce8181436161a538433afa3681c7a141 +92a18fecaded7854b349f441e7102b638ababa75b1b0281dd0bded6541abe7aa37d96693595be0b01fe0a2e2133d50f9 +980756ddf9d2253cfe6c94960b516c94889d09e612810935150892627d2ecee9a2517e04968eea295d0106850c04ca44 +ae68c6ccc454318cdd92f32b11d89116a3b8350207a36d22a0f626718cad671d960090e054c0c77ac3162ae180ecfd4b +99f31f66eaaa551749ad91d48a0d4e3ff4d82ef0e8b28f3184c54e852422ba1bdafd53b1e753f3a070f3b55f3c23b6a2 +a44eaeaa6589206069e9c0a45ff9fc51c68da38d4edff1d15529b7932e6f403d12b9387019c44a1488a5d5f27782a51f +b80b5d54d4b344840e45b79e621bd77a3f83fb4ce6d8796b7d6915107b3f3c34d2e7d95bdafd120f285669e5acf2437a +b36c069ec085a612b5908314d6b84c00a83031780261d1c77a0384c406867c9847d5b0845deddfa512cc04a8df2046fb +b09dbe501583220f640d201acea7ee3e39bf9eda8b91aa07b5c50b7641d86d71acb619b38d27835ce97c3759787f08e9 +87403d46a2bf63170fff0b857acacf42ee801afe9ccba8e5b4aea967b68eac73a499a65ca46906c2eb4c8f27bc739faa +82b93669f42a0a2aa5e250ffe6097269da06a9c02fcd1801abbad415a7729a64f830754bafc702e64600ba47671c2208 +8e3a3029be7edb8dd3ab1f8216664c8dc50d395f603736061d802cef77627db7b859ef287ed850382c13b4d22d6a2d80 +968e9ec7194ff424409d182ce0259acd950c384c163c04463bc8700a40b79beba6146d22b7fa7016875a249b7b31c602 +8b42c984bbe4996e0c20862059167c6bdc5164b1ffcd928f29512664459212d263e89f0f0e30eed4e672ffa5ed0b01b5 +96bac54062110dada905363211133f1f15dc7e4fd80a4c6e4a83bc9a0bcbbaba11cd2c7a13debcf0985e1a954c1da66b +a16dc8a653d67a7cd7ae90b2fffac0bf1ca587005430fe5ba9403edd70ca33e38ba5661d2ed6e9d2864400d997626a62 +a68ab11a570a27853c8d67e491591dcba746bfbee08a2e75ae0790399130d027ed387f41ef1d7de8df38b472df309161 +92532b74886874447c0300d07eda9bbe4b41ed25349a3da2e072a93fe32c89d280f740d8ff70d5816793d7f2b97373cc +88e35711b471e89218fd5f4d0eadea8a29405af1cd81974427bc4a5fb26ed60798daaf94f726c96e779b403a2cd82820 +b5c72aa4147c19f8c4f3a0a62d32315b0f4606e0a7025edc5445571eaf4daff64f4b7a585464821574dd50dbe1b49d08 +9305d9b4095258e79744338683fd93f9e657367b3ab32d78080e51d54eec331edbc224fad5093ebf8ee4bd4286757eb8 +b2a17abb3f6a05bcb14dc7b98321fa8b46d299626c73d7c6eb12140bf4c3f8e1795250870947af817834f033c88a59d6 +b3477004837dbd8ba594e4296f960fc91ab3f13551458445e6c232eb04b326da803c4d93e2e8dcd268b4413305ff84da +924b4b2ebaafdcfdfedb2829a8bf46cd32e1407d8d725a5bd28bdc821f1bafb3614f030ea4352c671076a63494275a3f +8b81b9ef6125c82a9bece6fdcb9888a767ac16e70527753428cc87c56a1236e437da8be4f7ecfe57b9296dc3ae7ba807 +906e19ec8b8edd58bdf9ae05610a86e4ea2282b1bbc1e8b00b7021d093194e0837d74cf27ac9916bdb8ec308b00da3da +b41c5185869071760ac786078a57a2ab4e2af60a890037ac0c0c28d6826f15c2cf028fddd42a9b6de632c3d550bfbc14 +a646e5dec1b713ae9dfdf7bdc6cd474d5731a320403c7dfcfd666ffc9ae0cff4b5a79530e8df3f4aa9cb80568cb138e9 +b0efad22827e562bd3c3e925acbd0d9425d19057868608d78c2209a531cccd0f2c43dc5673acf9822247428ffa2bb821 +a94c19468d14b6f99002fc52ac06bbe59e5c472e4a0cdb225144a62f8870b3f10593749df7a2de0bd3c9476ce682e148 +803864a91162f0273d49271dafaab632d93d494d1af935aefa522768af058fce52165018512e8d6774976d52bd797e22 +a08711c2f7d45c68fb340ac23597332e1bcaec9198f72967b9921204b9d48a7843561ff318f87908c05a44fc35e3cc9d +91c3cad94a11a3197ae4f9461faab91a669e0dddb0371d3cab3ed9aeb1267badc797d8375181130e461eadd05099b2a2 +81bdaaf48aae4f7b480fc13f1e7f4dd3023a41439ba231760409ce9292c11128ab2b0bdbbf28b98af4f97b3551f363af +8d60f9df9fd303f625af90e8272c4ecb95bb94e6efc5da17b8ab663ee3b3f673e9f6420d890ccc94acf4d2cae7a860d8 +a7b75901520c06e9495ab983f70b61483504c7ff2a0980c51115d11e0744683ce022d76e3e09f4e99e698cbd21432a0d +82956072df0586562fda7e7738226f694e1c73518dd86e0799d2e820d7f79233667192c9236dcb27637e4c65ef19d493 +a586beb9b6ffd06ad200957490803a7cd8c9bf76e782734e0f55e04a3dc38949de75dc607822ec405736c576cf83bca3 +a179a30d00def9b34a7e85607a447eea0401e32ab5abeee1a281f2acd1cf6ec81a178020666f641d9492b1bdf66f05a3 +83e129705c538787ed8e0fdc1275e6466a3f4ee21a1e6abedd239393b1df72244723b92f9d9d9339a0cab6ebf28f5a16 +811bd8d1e3722b64cd2f5b431167e7f91456e8bba2cc669d3fbbce7d553e29c3c19f629fcedd2498bc26d33a24891d17 +a243c030c858f1f60cccd26b45b024698cc6d9d9e6198c1ed4964a235d9f8d0baf9cde10c8e63dfaa47f8e74e51a6e85 +ab839eb82e23ca52663281f863b55b0a3d6d4425c33ffb4eeb1d7979488ab068bf99e2a60e82cea4dc42c56c26cbfebe +8b896f9bb21d49343e67aec6ad175b58c0c81a3ca73d44d113ae4354a0065d98eb1a5cafedaf232a2bb9cdc62152f309 +af6230340cc0b66f5bf845540ed4fc3e7d6077f361d60762e488d57834c3e7eb7eacc1b0ed73a7d134f174a01410e50c +88975e1b1af678d1b5179f72300a30900736af580dd748fd9461ef7afccc91ccd9bed33f9da55c8711a7635b800e831f +a97486bb9047391661718a54b8dd5a5e363964e495eae6c692730264478c927cf3e66dd3602413189a3699fbeae26e15 +a5973c161ab38732885d1d2785fd74bf156ba34881980cba27fe239caef06b24a533ffe6dbbbeca5e6566682cc00300a +a24776e9a840afda0003fa73b415d5bd6ecd9b5c2cc842b643ee51b8c6087f4eead4d0bfbd987eb174c489a7b952ff2a +a8a6ee06e3af053b705a12b59777267c546f33ba8a0f49493af8e6df4e15cf8dd2d4fb4daf7e84c6b5d3a7363118ff03 +a28e59ce6ad02c2ce725067c0123117e12ac5a52c8f5af13eec75f4a9efc4f696777db18a374fa33bcae82e0734ebd16 +86dfc3b78e841c708aff677baa8ee654c808e5d257158715097c1025d46ece94993efe12c9d188252ad98a1e0e331fec +a88d0275510f242eab11fdb0410ff6e1b9d7a3cbd3658333539815f1b450a84816e6613d15aa8a8eb15d87cdad4b27a2 +8440acea2931118a5b481268ff9f180ee4ede85d14a52c026adc882410825b8275caa44aff0b50c2b88d39f21b1a0696 +a7c3182eab25bd6785bacf12079d0afb0a9b165d6ed327814e2177148539f249eb9b5b2554538f54f3c882d37c0a8abe +85291fbe10538d7da38efdd55a7acebf03b1848428a2f664c3ce55367aece60039f4f320b1771c9c89a35941797f717c +a2c6414eeb1234728ab0de94aa98fc06433a58efa646ca3fcbd97dbfb8d98ae59f7ce6d528f669c8149e1e13266f69c9 +840c8462785591ee93aee2538d9f1ec44ba2ca61a569ab51d335ac873f5d48099ae8d7a7efa0725d9ff8f9475bfa4f56 +a7065a9d02fb3673acf7702a488fbc01aa69580964932f6f40b6c2d1c386b19e50b0e104fcac24ea26c4e723611d0238 +b72db6d141267438279e032c95e6106c2ccb3164b842ba857a2018f3a35f4b040da92680881eb17cd61d0920d5b8f006 +a8005d6c5960e090374747307ef0be2871a7a43fa4e76a16c35d2baab808e9777b496e9f57a4218b23390887c33a0b55 +8e152cea1e00a451ca47c20a1e8875873419700af15a5f38ee2268d3fbc974d4bd5f4be38008fa6f404dbdedd6e6e710 +a3391aed1fcd68761f06a7d1008ec62a09b1cb3d0203cd04e300a0c91adfed1812d8bc1e4a3fd7976dc0aae0e99f52f1 +967eb57bf2aa503ee0c6e67438098149eac305089c155f1762cf5e84e31f0fbf27c34a9af05621e34645c1ec96afaec8 +88af97ddc4937a95ec0dcd25e4173127260f91c8db2f6eac84afb789b363705fb3196235af631c70cafd09411d233589 +a32df75b3f2c921b8767638fd289bcfc61e08597170186637a7128ffedd52c798c434485ac2c7de07014f9e895c2c3d8 +b0a783832153650aa0d766a3a73ec208b6ce5caeb40b87177ffc035ab03c7705ecdd1090b6456a29f5fb7e90e2fa8930 +b59c8e803b4c3486777d15fc2311b97f9ded1602fa570c7b0200bada36a49ee9ef4d4c1474265af8e1c38a93eb66b18b +982f2c85f83e852022998ff91bafbb6ff093ef22cf9d5063e083a48b29175ccbd51b9c6557151409e439096300981a6c +939e3b5989fefebb9d272a954659a4eb125b98c9da6953f5e628d26266bd0525ec38304b8d56f08d65abc4d6da4a8dbb +8898212fe05bc8de7d18503cb84a1c1337cc2c09d1eeef2b475aa79185b7322bf1f8e065f1bf871c0c927dd19faf1f6d +94b0393a41cd00f724aee2d4bc72103d626a5aecb4b5486dd1ef8ac27528398edf56df9db5c3d238d8579af368afeb09 +96ac564450d998e7445dd2ea8e3fc7974d575508fa19e1c60c308d83b645864c029f2f6b7396d4ff4c1b24e92e3bac37 +8adf6638e18aff3eb3b47617da696eb6c4bdfbecbbc3c45d3d0ab0b12cbad00e462fdfbe0c35780d21aa973fc150285e +b53f94612f818571b5565bbb295e74bada9b5f9794b3b91125915e44d6ddcc4da25510eab718e251a09c99534d6042d9 +8b96462508d77ee083c376cd90807aebad8de96bca43983c84a4a6f196d5faf6619a2351f43bfeec101864c3bf255519 +aeadf34657083fc71df33bd44af73bf5281c9ca6d906b9c745536e1819ea90b56107c55e2178ebad08f3ba75b3f81c86 +9784ba29b2f0057b5af1d3ab2796d439b8753f1f749c73e791037461bdfc3f7097394283105b8ab01788ea5255a96710 +8756241bda159d4a33bf74faba0d4594d963c370fb6a18431f279b4a865b070b0547a6d1613cf45b8cfb5f9236bbf831 +b03ebfd6b71421dfd49a30460f9f57063eebfe31b9ceaa2a05c37c61522b35bdc09d7db3ad75c76c253c00ba282d3cd2 +b34e7e6341fa9d854b2d3153bdda0c4ae2b2f442ab7af6f99a0975d45725aa48e36ae5f7011edd249862e91f499687d4 +b462ee09dc3963a14354244313e3444de5cc37ea5ccfbf14cd9aca8027b59c4cb2a949bc30474497cab8123e768460e6 +aea753290e51e2f6a21a9a0ee67d3a2713f95c2a5c17fe41116c87d3aa77b1683761264d704df1ac34f8b873bc88ef7b +98430592afd414394f98ddfff9f280fcb1c322dbe3510f45e1e9c4bb8ee306b3e0cf0282c0ee73ebb8ba087d4d9e0858 +b95d3b5aaf54ffca11f4be8d57f76e14afdb20afc859dc7c7471e0b42031e8f3d461b726ecb979bdb2f353498dfe95ea +984d17f9b11a683132e0b5a9ee5945e3ff7054c2d5c716be73b29078db1d36f54c6e652fd2f52a19da313112e97ade07 +ab232f756b3fff3262be418a1af61a7e0c95ceebbc775389622a8e10610508cd6784ab7960441917a83cc191c58829ea +a28f41678d6e60de76b0e36ab10e4516e53e02e9c77d2b5af3cfeee3ce94cfa30c5797bd1daab20c98e1cad83ad0f633 +b55395fca84dd3ccc05dd480cb9b430bf8631ff06e24cb51d54519703d667268c2f8afcde4ba4ed16bece8cc7bc8c6e0 +8a8a5392a0e2ea3c7a8c51328fab11156004e84a9c63483b64e8f8ebf18a58b6ffa8fe8b9d95af0a2f655f601d096396 +ab480000fe194d23f08a7a9ec1c392334e9c687e06851f083845121ce502c06b54dda8c43092bcc1035df45cc752fe9b +b265644c29f628d1c7e8e25a5e845cabb21799371814730a41a363e1bda8a7be50fee7c3996a365b7fcba4642add10db +b8a915a3c685c2d4728f6931c4d29487cad764c5ce23c25e64b1a3259ac27235e41b23bfe7ae982921b4cb84463097df +8efa7338442a4b6318145a5440fc213b97869647eeae41b9aa3c0a27ee51285b73e3ae3b4a9423df255e6add58864aa9 +9106d65444f74d217f4187dfc8fcf3810b916d1e4275f94f6a86d1c4f3565b131fd6cde1fa708bc05fe183c49f14941a +948252dac8026bbbdb0a06b3c9d66ec4cf9532163bab68076fda1bd2357b69e4b514729c15aaa83b5618b1977bbc60c4 +ae6596ccfdf5cbbc5782efe3bb0b101bb132dbe1d568854ca24cacc0b2e0e9fabcb2ca7ab42aecec412efd15cf8cb7a2 +84a0b6c198ff64fd7958dfd1b40eac9638e8e0b2c4cd8cf5d8cdf80419baee76a05184bce6c5b635f6bf2d30055476a7 +8893118be4a055c2b3da593dbca51b1ae2ea2469911acfb27ee42faf3e6c3ad0693d3914c508c0b05b36a88c8b312b76 +b097479e967504deb6734785db7e60d1d8034d6ca5ba9552887e937f5e17bb413fccac2c1d1082154ed76609127860ad +a0294e6b9958f244d29943debf24b00b538b3da1116269b6e452bb12dc742226712fd1a15b9c88195afeb5d2415f505c +b3cc15f635080bc038f61b615f62b5b5c6f2870586191f59476e8368a73641d6ac2f7d0c1f54621982defdb318020230 +99856f49b9fe1604d917c94d09cc0ed753d13d015d30587a94e6631ffd964b214e607deb8a69a8b5e349a7edf4309206 +a8571e113ea22b4b4fce41a094da8c70de37830ae32e62c65c2fa5ad06a9bc29e884b945e73d448c72b176d6ecebfb58 +a9e9c6e52beb0013273c29844956b3ce291023678107cdc785f7b44eff5003462841ad8780761b86aefc6b734adde7cf +80a784b0b27edb51ef2bad3aee80e51778dcaa0f3f5d3dcb5dc5d4f4b2cf7ae35b08de6680ea9dac53f8438b92eb09ef +827b543e609ea328e97e373f70ad72d4915a2d1daae0c60d44ac637231070e164c43a2a58db80a64df1c624a042b38f9 +b449c65e8195202efdcb9bdb4e869a437313b118fef8b510cbbf8b79a4e99376adb749b37e9c20b51b31ed3310169e27 +8ea3028f4548a79a94c717e1ed28ad4d8725b8d6ab18b021063ce46f665c79da3c49440c6577319dab2d036b7e08f387 +897798431cfb17fe39f08f5f854005dc37b1c1ec1edba6c24bc8acb3b88838d0534a75475325a5ea98b326ad47dbad75 +89cf232e6303b0751561960fd4dea5754a28c594daf930326b4541274ffb03c7dd75938e411eb9a375006a70ce38097f +9727c6ae7f0840f0b6c8bfb3a1a5582ceee705e0b5c59b97def7a7a2283edd4d3f47b7971e902a3a2079e40b53ff69b8 +b76ed72b122c48679d221072efc0eeea063cb205cbf5f9ef0101fd10cb1075b8628166c83577cced654e1c001c7882f7 +ae908c42d208759da5ee9b405df85a6532ea35c6f0f6a1288d22870f59d98edc896841b8ac890a538e6c8d1e8b02d359 +809d12fe4039a0ec80dc9be6a89acaab7797e5f7f9b163378f52f9a75a1d73b2e9ae6e3dd49e32ced439783c1cabbef5 +a4149530b7f85d1098ba534d69548c6c612c416e8d35992fc1f64f4deeb41e09e49c6cf7aadbed7e846b91299358fe2d +a49342eacd1ec1148b8df1e253b1c015f603c39de11fa0a364ccb86ea32d69c34fd7aa6980a1fadcd8e785a57fa46f60 +87d43eff5a006dc4dddcf76cc96c656a1f3a68f19f124181feab86c6cc9a52cb9189cdbb423414defdd9bb0ca8ff1ddc +861367e87a9aa2f0f68296ba50aa5dbc5713008d260cc2c7e62d407c2063064749324c4e8156dc21b749656cfebce26b +b5303c2f72e84e170e66ae1b0fbd51b8c7a6f27476eaf5694b64e8737d5c84b51fe90100b256465a4c4156dd873cddb0 +b62849a4f891415d74f434cdc1d23c4a69074487659ca96e1762466b2b7a5d8525b056b891d0feea6fe6845cba8bc7fb +923dd9e0d6590a9307e8c4c23f13bae3306b580e297a937711a8b13e8de85e41a61462f25b7d352b682e8437bf2b4ab3 +9147379860cd713cd46c94b8cdf75125d36c37517fbecf81ace9680b98ce6291cd1c3e472f84249cc3b2b445e314b1b6 +a808a4f17ac21e3fb5cfef404e61fae3693ca3e688d375f99b6116779696059a146c27b06de3ac36da349b0649befd56 +87787e9322e1b75e66c1f0d9ea0915722a232770930c2d2a95e9478c4b950d15ab767e30cea128f9ed65893bfc2d0743 +9036a6ee2577223be105defe1081c48ea7319e112fff9110eb9f61110c319da25a6cea0464ce65e858635b079691ef1f +af5548c7c24e1088c23b57ee14d26c12a83484c9fd9296edf1012d8dcf88243f20039b43c8c548c265ef9a1ffe9c1c88 +a0fff520045e14065965fb8accd17e878d3fcaf9e0af2962c8954e50be6683d31fa0bf4816ab68f08630dbac6bfce52a +b4c1b249e079f6ae1781af1d97a60b15855f49864c50496c09c91fe1946266915b799f0406084d7783f5b1039116dd8b +8b0ffa5e7c498cb3879dddca34743b41eee8e2dea3d4317a6e961b58adb699ef0c92400c068d5228881a2b08121226bf +852ae8b19a1d80aa8ae5382e7ee5c8e7670ceb16640871c56b20b96b66b3b60e00015a3dde039446972e57b49a999ddd +a49942f04234a7d8492169da232cfff8051df86e8e1ba3db46aede02422c689c87dc1d99699c25f96cb763f5ca0983e5 +b04b597b7760cf5dcf411ef896d1661e6d5b0db3257ac2cf64b20b60c6cc18fa10523bb958a48d010b55bac7b02ab3b1 +a494591b51ea8285daecc194b5e5bd45ae35767d0246ac94fae204d674ee180c8e97ff15f71f28b7aeb175b8aea59710 +97d2624919e78406e7460730680dea8e71c8571cf988e11441aeea54512b95bd820e78562c99372d535d96f7e200d20d +ac693ddb00e48f76e667243b9b6a7008424043fb779e4f2252330285232c3fccac4da25cbd6d95fe9ad959ff305a91f6 +8d20ca0a71a64a3f702a0825bb46bd810d03bebfb227683680d474a52f965716ff99e19a165ebaf6567987f4f9ee3c94 +a5c516a438f916d1d68ca76996404792e0a66e97b7f18fc54c917bf10cf3211b62387932756e39e67e47b0bd6e88385a +b089614d830abc0afa435034cec7f851f2f095d479cacf1a3fb57272da826c499a52e7dcbc0eb85f4166fb94778e18e9 +a8dacc943765d930848288192f4c69e2461c4b9bc6e79e30eeef9a543318cf9ae9569d6986c65c5668a89d49993f8e07 +ab5a9361fa339eec8c621bdad0a58078983abd8942d4282b22835d7a3a47e132d42414b7c359694986f7db39386c2e19 +94230517fb57bd8eb26c6f64129b8b2abd0282323bf7b94b8bac7fab27b4ecc2c4290c294275e1a759de19f2216134f3 +b8f158ea5006bc3b90b285246625faaa6ac9b5f5030dc69701b12f3b79a53ec7e92eeb5a63bbd1f9509a0a3469ff3ffc +8b6944fd8cb8540957a91a142fdcda827762aa777a31e8810ca6d026e50370ee1636fc351724767e817ca38804ebe005 +82d1ee40fe1569c29644f79fa6c4033b7ed45cd2c3b343881f6eb0de2e79548fded4787fae19bed6ee76ed76ff9f2f11 +a8924c7035e99eaed244ca165607e7e568b6c8085510dcdbaf6ebdbed405af2e6c14ee27d94ffef10d30aa52a60bf66d +956f82a6c2ae044635e85812581e4866c5fa2f427b01942047d81f6d79a14192f66fbbe77c9ffeaef4e6147097fdd2b5 +b1100255a1bcf5e05b6aff1dfeb6e1d55b5d68d43a7457ba10cc76b61885f67f4d0d5179abda786e037ae95deb8eea45 +99510799025e3e5e8fbf06dedb14c060c6548ba2bda824f687d3999dc395e794b1fb6514b9013f3892b6cf65cb0d65aa +8f9091cebf5e9c809aab415942172258f894e66e625d7388a05289183f01b8d994d52e05a8e69f784fba41db9ea357f0 +a13d2eeb0776bdee9820ecb6693536720232848c51936bb4ef4fe65588d3f920d08a21907e1fdb881c1ad70b3725e726 +a68b8f18922d550284c5e5dc2dda771f24c21965a6a4d5e7a71678178f46df4d8a421497aad8fcb4c7e241aba26378a0 +8b7601f0a3c6ad27f03f2d23e785c81c1460d60100f91ea9d1cab978aa03b523150206c6d52ce7c7769c71d2c8228e9e +a8e02926430813caa851bb2b46de7f0420f0a64eb5f6b805401c11c9091d3b6d67d841b5674fa2b1dce0867714124cd8 +b7968ecba568b8193b3058400af02c183f0a6df995a744450b3f7e0af7a772454677c3857f99c140bbdb2a09e832e8e0 +8f20b1e9ba87d0a3f35309b985f3c18d2e8800f1ca7f0c52cadef773f1496b6070c936eea48c4a1cae83fd2524e9d233 +88aef260042db0d641a51f40639dbeeefa9e9811df30bee695f3791f88a2f84d318f04e8926b7f47bf25956cb9e3754f +9725345893b647e9ba4e6a29e12f96751f1ae25fcaec2173e9a259921a1a7edb7a47159b3c8767e44d9e2689f5aa0f72 +8c281e6f72752cb11e239e4df9341c45106eb7993c160e54423c2bffe10bc39d42624b45a1f673936ef2e1a02fc92f1a +90aba2f68bddb2fcce6c51430dacdfeec43ea8dc379660c99095df11017691ccf5faa27665cf4b9f0eea7728ae53c327 +b7022695c16521c5704f49b7ddbdbec9b5f57ce0ceebe537bc0ebb0906d8196cc855a9afeb8950a1710f6a654464d93f +8fe1b9dd3c6a258116415d36e08374e094b22f0afb104385a5da48be17123e86fb8327baacc4f0d9ebae923d55d99bb5 +817e85d8e3d19a4cbc1dec31597142c2daa4871bda89c2177fa719c00eda3344eb08b82eb92d4aa91a9eaacb3fc09783 +b59053e1081d2603f1ca0ba553804d6fa696e1fd996631db8f62087b26a40dfef02098b0326bb75f99ec83b9267ca738 +990a173d857d3ba81ff3789b931bfc9f5609cde0169b7f055fa3cb56451748d593d62d46ba33f80f9cafffe02b68dd14 +b0c538dbba4954b809ab26f9f94a3cf1dcb77ce289eaec1d19f556c0ae4be1fa03af4a9b7057837541c3cc0a80538736 +ac3ba42f5f44f9e1fc453ce49c4ab79d0e1d5c42d3b30b1e098f3ab3f414c4c262fa12fb2be249f52d4aaf3c5224beb9 +af47467eb152e59870e21f0d4da2f43e093daf40180ab01438030684b114d025326928eaab12c41b81a066d94fce8436 +98d1b58ba22e7289b1c45c79a24624f19b1d89e00f778eef327ec4856a9a897278e6f1a9a7e673844b31dde949153000 +97ccb15dfadc7c59dca08cfe0d22df2e52c684cf97de1d94bc00d7ba24e020025130b0a39c0f4d46e4fc872771ee7875 +b699e4ed9a000ff96ca296b2f09dce278832bc8ac96851ff3cff99ed3f6f752cfc0fea8571be28cd9b5a7ec36f1a08ee +b9f49f0edb7941cc296435ff0a912e3ad16848ee8765ab5f60a050b280d6ea585e5b34051b15f6b8934ef01ceb85f648 +ac3893df7b4ceab23c6b9054e48e8ba40d6e5beda8fbe90b814f992f52494186969b35d8c4cdc3c99890a222c9c09008 +a41293ad22fae81dea94467bc1488c3707f3d4765059173980be93995fa4fcc3c9340796e3eed0beeb0ba0d9bb4fa3aa +a0543e77acd2aeecde13d18d258aeb2c7397b77f17c35a1992e8666ea7abcd8a38ec6c2741bd929abba2f766138618cc +92e79b22bc40e69f6527c969500ca543899105837b6b1075fa1796755c723462059b3d1b028e0b3df2559fa440e09175 +a1fa1eac8f41a5197a6fb4aa1eae1a031c89f9c13ff9448338b222780cf9022e0b0925d930c37501a0ef7b2b00fdaf83 +b3cb29ff73229f0637335f28a08ad8c5f166066f27c6c175164d0f26766a927f843b987ee9b309ed71cbf0a65d483831 +84d4ab787f0ac00f104f4a734dc693d62d48c2aeb03913153da62c2ae2c27d11b1110dcef8980368dd84682ea2c1a308 +ab6a8e4bbc78d4a7b291ad3e9a8fe2d65f640524ba3181123b09d2d18a9e300e2509ccf7000fe47e75b65f3e992a2e7e +b7805ebe4f1a4df414003dc10bca805f2ab86ca75820012653e8f9b79c405196b0e2cab099f2ab953d67f0d60d31a0f9 +b12c582454148338ea605d22bd00a754109063e22617f1f8ac8ddf5502c22a181c50c216c3617b9852aa5f26af56b323 +86333ad9f898947e31ce747728dc8c887479e18d36ff3013f69ebef807d82c6981543b5c3788af93c4d912ba084d3cba +b514efa310dc4ad1258add138891e540d8c87142a881b5f46563cc58ecd1488e6d3a2fca54c0b72a929f3364ca8c333e +aa0a30f92843cf2f484066a783a1d75a7aa6f41f00b421d4baf20a6ac7886c468d0eea7ca8b17dd22f4f74631b62b640 +b3b7dc63baec9a752e8433c0cdee4d0f9bc41f66f2b8d132faf925eef9cf89aae756fc132c45910f057122462605dc10 +b9b8190dac5bfdeb59fd44f4da41a57e7f1e7d2c21faba9da91fa45cbeca06dcf299c9ae22f0c89ece11ac46352d619f +89f8cf36501ad8bdfeab863752a9090e3bfda57cf8fdeca2944864dc05925f501e252c048221bcc57136ab09a64b64b2 +b0cbfaf317f05f97be47fc9d69eda2dd82500e00d42612f271a1fe24626408c28881f171e855bd5bd67409f9847502b4 +a7c21a8fcede581bfd9847b6835eda62ba250bea81f1bb17372c800a19c732abe03064e64a2f865d974fb636cab4b859 +95f9df524ba7a4667351696c4176b505d8ea3659f5ff2701173064acc624af69a0fad4970963736383b979830cb32260 +856a74fe8b37a2e3afeac858c8632200485d438422a16ae3b29f359e470e8244995c63ad79c7e007ed063f178d0306fd +b37faa4d78fdc0bb9d403674dbea0176c2014a171c7be8527b54f7d1a32a76883d3422a3e7a5f5fcc5e9b31b57822eeb +8d37234d8594ec3fe75670b5c9cc1ec3537564d4739b2682a75b18b08401869a4264c0f264354219d8d896cded715db4 +b5289ee5737f0e0bde485d32096d23387d68dab8f01f47821ab4f06cc79a967afe7355e72dc0c751d96b2747b26f6255 +9085e1fdf9f813e9c3b8232d3c8863cd84ab30d45e8e0d3d6a0abd9ebc6fd70cdf749ff4d04390000e14c7d8c6655fc7 +93a388c83630331eca4da37ea4a97b3b453238af474817cc0a0727fd3138dcb4a22de38c04783ec829c22cb459cb4e8e +a5377116027c5d061dbe24c240b891c08cdd8cd3f0899e848d682c873aff5b8132c1e7cfe76d2e5ed97ee0eb1d42cb68 +a274c84b04338ed28d74683e2a7519c2591a3ce37c294d6f6e678f7d628be2db8eff253ede21823e2df7183e6552f622 +8bc201147a842453a50bec3ac97671397bc086d6dfc9377fa38c2124cdc286abda69b7324f47d64da094ae011d98d9d9 +9842d0c066c524592b76fbec5132bc628e5e1d21c424bec4555efca8619cc1fd8ea3161febcb8b9e8ab54702f4e815e2 +a19191b713a07efe85c266f839d14e25660ee74452e6c691cd9997d85ae4f732052d802d3deb018bdd847caa298a894b +a24f71fc0db504da4e287dd118a4a74301cbcd16033937ba2abc8417956fcb4ae19b8e63b931795544a978137eff51cb +a90eec4a6a3a4b8f9a5b93d978b5026fcf812fe65585b008d7e08c4aaf21195a1d0699f12fc16f79b6a18a369af45771 +8b551cf89737d7d06d9b3b9c4c1c73b41f2ea0af4540999c70b82dabff8580797cf0a3caf34c86c59a7069eb2e38f087 +b8d312e6c635e7a216a1cda075ae77ba3e1d2fd501dc31e83496e6e81ed5d9c7799f8e578869c2e0e256fb29f5de10a7 +8d144bdb8cae0b2cdb5b33d44bbc96984a5925202506a8cc65eb67ac904b466f5a7fe3e1cbf04aa785bbb7348c4bb73c +a101b3d58b7a98659244b88de0b478b3fb87dc5fc6031f6e689b99edf498abd43e151fd32bd4bbd240e0b3e59c440359 +907453abca7d8e7151a05cc3d506c988007692fe7401395dc93177d0d07d114ab6cca0cc658eb94c0223fe8658295cad +825329ffbe2147ddb68f63a0a67f32d7f309657b8e5d9ab5bb34b3730bfa2c77a23eaaadb05def7d9f94a9e08fdc1e96 +88ee923c95c1dac99ae7ed6067906d734d793c5dc5d26339c1bb3314abe201c5dccb33b9007351885eb2754e9a8ea06c +98bc9798543f5f1adc9f2cfcfa72331989420e9c3f6598c45269f0dc9b7c8607bbeaf03faa0aea2ddde2b8f17fdceff5 +8ee87877702a79aef923ab970db6fa81561b3c07d5bf1a072af0a7bad765b4cbaec910afe1a91703feacc7822fa38a94 +8060b9584aa294fe8adc2b22f67e988bc6da768eae91e429dcc43ddc53cfcc5d6753fdc1b420b268c7eb2fb50736a970 +b344a5524d80a2f051870c7001f74fcf348a70fcf78dbd20c6ff9ca85d81567d2318c8b8089f2c4f195d6aec9fc15fa6 +8f5a5d893e1936ed062149d20eb73d98b62b7f50ab5d93a6429c03656b36688d1c80cb5010e4977491e51fa0d7dd35d5 +86fa32ebbf97328c5f5f15564e1238297e289ec3219b9a741724e9f3ae8d5c15277008f555863a478b247ba5dc601d44 +9557e55377e279f4b6b5e0ffe01eca037cc13aac242d67dfcd0374a1e775c5ed5cb30c25fe21143fee54e3302d34a3ea +8cb6bcbc39372d23464a416ea7039f57ba8413cf3f00d9a7a5b356ab20dcb8ed11b3561f7bce372b8534d2870c7ee270 +b5d59075cb5abde5391f64b6c3b8b50adc6e1f654e2a580b6d6d6eff3f4fbdd8fffc92e06809c393f5c8eab37f774c4b +afcfb6903ef13e493a1f7308675582f15af0403b6553e8c37afb8b2808ad21b88b347dc139464367dc260df075fea1ad +810fbbe808375735dd22d5bc7fc3828dc49fdd22cc2d7661604e7ac9c4535c1df578780affb3b895a0831640a945bcad +8056b0c678803b416f924e09a6299a33cf9ad7da6fe1ad7accefe95c179e0077da36815fde3716711c394e2c5ea7127f +8b67403702d06979be19f1d6dc3ec73cc2e81254d6b7d0cc49cd4fdda8cd51ab0835c1d2d26fc0ecab5df90585c2f351 +87f97f9e6d4be07e8db250e5dd2bffdf1390665bc5709f2b631a6fa69a7fca958f19bd7cc617183da1f50ee63e9352b5 +ae151310985940471e6803fcf37600d7fa98830613e381e00dab943aec32c14162d51c4598e8847148148000d6e5af5c +81eb537b35b7602c45441cfc61b27fa9a30d3998fad35a064e05bc9479e9f10b62eba2b234b348219eea3cadcaac64bb +8a441434934180ab6f5bc541f86ebd06eadbee01f438836d797e930fa803a51510e005c9248cecc231a775b74d12b5e9 +81f3c250a27ba14d8496a5092b145629eb2c2e6a5298438670375363f57e2798207832c8027c3e9238ad94ecdadfc4df +a6217c311f2f3db02ceaa5b6096849fe92b6f4b6f1491535ef8525f6ccee6130bed2809e625073ecbaddd4a3eb3df186 +82d1c396f0388b942cf22b119d7ef1ad03d3dad49a74d9d01649ee284f377c8daddd095d596871669e16160299a210db +a40ddf7043c5d72a7246bd727b07f7fff1549f0e443d611de6f9976c37448b21664c5089c57f20105102d935ab82f27b +b6c03c1c97adf0c4bf4447ec71366c6c1bff401ba46236cd4a33d39291e7a1f0bb34bd078ba3a18d15c98993b153a279 +8a94f5f632068399c359c4b3a3653cb6df2b207379b3d0cdace51afdf70d6d5cce6b89a2b0fee66744eba86c98fb21c2 +b2f19e78ee85073f680c3bba1f07fd31b057c00b97040357d97855b54a0b5accb0d3b05b2a294568fcd6a4be6f266950 +a74632d13bbe2d64b51d7a9c3ae0a5a971c19f51cf7596a807cea053e6a0f3719700976d4e394b356c0329a2dced9aa2 +afef616d341a9bc94393b8dfba68ff0581436aa3a3adb7c26a1bbf2cf19fa877066191681f71f17f3cd6f9cf6bf70b5a +8ce96d93ae217408acf7eb0f9cbb9563363e5c7002e19bbe1e80760bc9d449daee2118f3878b955163ed664516b97294 +8414f79b496176bc8b8e25f8e4cfee28f4f1c2ddab099d63d2aca1b6403d26a571152fc3edb97794767a7c4686ad557c +b6c61d01fd8ce087ef9f079bf25bf10090db483dd4f88c4a786d31c1bdf52065651c1f5523f20c21e75cea17df69ab73 +a5790fd629be70545093631efadddc136661f63b65ec682609c38ef7d3d7fa4e56bdf94f06e263bc055b90cb1c6bcefe +b515a767e95704fb7597bca9e46f1753abacdc0e56e867ee3c6f4cd382643c2a28e65312c05ad040eaa3a8cbe7217a65 +8135806a02ead6aa92e9adb6fefb91349837ab73105aaa7be488ef966aa8dfaafdfa64bbae30fcbfa55dd135a036a863 +8f22435702716d76b1369750694540742d909d5e72b54d0878245fab7c269953b1c6f2b29c66f08d5e0263ca3a731771 +8e0f8a8e8753e077dac95848212aeffd51c23d9b6d611df8b102f654089401954413ecbedc6367561ca599512ae5dda7 +815a9084e3e2345f24c5fa559deec21ee1352fb60f4025c0779be65057f2d528a3d91593bd30d3a185f5ec53a9950676 +967e6555ccba395b2cc1605f8484c5112c7b263f41ce8439a99fd1c71c5ed14ad02684d6f636364199ca48afbbde13be +8cd0ccf17682950b34c796a41e2ea7dd5367aba5e80a907e01f4cdc611e4a411918215e5aebf4292f8b24765d73314a6 +a58bf1bbb377e4b3915df6f058a0f53b8fb8130fdec8c391f6bc82065694d0be59bb67ffb540e6c42cc8b380c6e36359 +92af3151d9e6bfb3383d85433e953c0160859f759b0988431ec5893542ba40288f65db43c78a904325ef8d324988f09d +8011bbb05705167afb47d4425065630f54cb86cd462095e83b81dfebf348f846e4d8fbcf1c13208f5de1931f81da40b9 +81c743c104fc3cb047885c9fa0fb9705c3a83ee24f690f539f4985509c3dafd507af3f6a2128276f45d5939ef70c167f +a2c9679b151c041aaf5efeac5a737a8f70d1631d931609fca16be1905682f35e291292874cb3b03f14994f98573c6f44 +a4949b86c4e5b1d5c82a337e5ce6b2718b1f7c215148c8bfb7e7c44ec86c5c9476048fc5c01f57cb0920876478c41ad6 +86c2495088bd1772152e527a1da0ef473f924ea9ab0e5b8077df859c28078f73c4e22e3a906b507fdf217c3c80808b5c +892e0a910dcf162bcea379763c3e2349349e4cda9402949255ac4a78dd5a47e0bf42f5bd0913951576b1d206dc1e536a +a7009b2c6b396138afe4754b7cc10dee557c51c7f1a357a11486b3253818531f781ea8107360c8d4c3b1cd96282353c0 +911763ef439c086065cc7b4e57484ed6d693ea44acee4b18c9fd998116da55fbe7dcb8d2a0f0f9b32132fca82d73dff6 +a722000b95a4a2d40bed81870793f15ba2af633f9892df507f2842e52452e02b5ea8dea6a043c2b2611d82376e33742a +9387ac49477bd719c2f92240d0bdfcf9767aad247ca93dc51e56106463206bc343a8ec855eb803471629a66fffb565d6 +92819a1fa48ab4902939bb72a0a4e6143c058ea42b42f9bc6cea5df45f49724e2530daf3fc4f097cceefa2a8b9db0076 +98eac7b04537653bc0f4941aae732e4b1f84bd276c992c64a219b8715eb1fb829b5cbd997d57feb15c7694c468f95f70 +b275e7ba848ce21bf7996e12dbeb8dadb5d0e4f1cb5a0248a4f8f9c9fe6c74e3c93f4b61edbcb0a51af5a141e1c14bc7 +97243189285aba4d49c53770c242f2faf5fd3914451da4931472e3290164f7663c726cf86020f8f181e568c72fd172d1 +839b0b3c25dd412bee3dc24653b873cc65454f8f16186bb707bcd58259c0b6765fa4c195403209179192a4455c95f3b8 +8689d1a870514568a074a38232e2ceb4d7df30fabeb76cff0aed5b42bf7f02baea12c5fadf69f4713464dbd52aafa55f +8958ae7b290f0b00d17c3e9fdb4dbf168432b457c7676829299dd428984aba892de1966fc106cfc58a772862ecce3976 +a422bc6bd68b8870cfa5bc4ce71781fd7f4368b564d7f1e0917f6013c8bbb5b240a257f89ecfdbecb40fe0f3aa31d310 +aa61f78130cebe09bc9a2c0a37f0dd57ed2d702962e37d38b1df7f17dc554b1d4b7a39a44182a452ce4c5eb31fa4cfcc +b7918bd114f37869bf1a459023386825821bfadce545201929d13ac3256d92a431e34f690a55d944f77d0b652cefeffc +819bba35fb6ace1510920d4dcff30aa682a3c9af9022e287751a6a6649b00c5402f14b6309f0aeef8fce312a0402915e +8b7c9ad446c6f63c11e1c24e24014bd570862b65d53684e107ba9ad381e81a2eaa96731b4b33536efd55e0f055071274 +8fe79b53f06d33386c0ec7d6d521183c13199498594a46d44a8a716932c3ec480c60be398650bbfa044fa791c4e99b65 +9558e10fb81250b9844c99648cf38fa05ec1e65d0ccbb18aa17f2d1f503144baf59d802c25be8cc0879fff82ed5034ad +b538a7b97fbd702ba84645ca0a63725be1e2891c784b1d599e54e3480e4670d0025526674ef5cf2f87dddf2290ba09f0 +92eafe2e869a3dd8519bbbceb630585c6eb21712b2f31e1b63067c0acb5f9bdbbcbdb612db4ea7f9cc4e7be83d31973f +b40d21390bb813ab7b70a010dff64c57178418c62685761784e37d327ba3cb9ef62df87ecb84277c325a637fe3709732 +b349e6fbf778c4af35fbed33130bd8a7216ed3ba0a79163ebb556e8eb8e1a7dad3456ddd700dad9d08d202491c51b939 +a8fdaedecb251f892b66c669e34137f2650509ade5d38fbe8a05d9b9184bb3b2d416186a3640429bd1f3e4b903c159dd +ac6167ebfee1dbab338eff7642f5e785fc21ef0b4ddd6660333fe398068cbd6c42585f62e81e4edbb72161ce852a1a4f +874b1fbf2ebe140c683bd7e4e0ab017afa5d4ad38055aaa83ee6bbef77dbc88a6ce8eb0dcc48f0155244af6f86f34c2d +903c58e57ddd9c446afab8256a6bb6c911121e6ccfb4f9b4ed3e2ed922a0e500a5cb7fa379d5285bc16e11dac90d1fda +8dae7a0cffa2fd166859cd1bf10ff82dd1932e488af377366b7efc0d5dec85f85fe5e8150ff86a79a39cefc29631733a +aa047857a47cc4dfc08585f28640420fcf105b881fd59a6cf7890a36516af0644d143b73f3515ab48faaa621168f8c31 +864508f7077c266cc0cb3f7f001cb6e27125ebfe79ab57a123a8195f2e27d3799ff98413e8483c533b46a816a3557f1f +8bcd45ab1f9cbab36937a27e724af819838f66dfeb15923f8113654ff877bd8667c54f6307aaf0c35027ca11b6229bfd +b21aa34da9ab0a48fcfdd291df224697ce0c1ebc0e9b022fdee8750a1a4b5ba421c419541ed5c98b461eecf363047471 +a9a18a2ab2fae14542dc336269fe612e9c1af6cf0c9ac933679a2f2cb77d3c304114f4d219ca66fe288adde30716775b +b5205989b92c58bdda71817f9a897e84100b5c4e708de1fced5c286f7a6f01ae96b1c8d845f3a320d77c8e2703c0e8b1 +a364059412bbcc17b8907d43ac8e5df90bc87fd1724b5f99832d0d24559fae6fa76a74cff1d1eac8cbac6ec80b44af20 +ae709f2c339886b31450834cf29a38b26eb3b0779bd77c9ac269a8a925d1d78ea3837876c654b61a8fe834b3b6940808 +8802581bba66e1952ac4dab36af371f66778958f4612901d95e5cac17f59165e6064371d02de8fb6fccf89c6dc8bd118 +a313252df653e29c672cbcfd2d4f775089cb77be1077381cf4dc9533790e88af6cedc8a119158e7da5bf6806ad9b91a1 +992a065b4152c7ef11515cd54ba9d191fda44032a01aed954acff3443377ee16680c7248d530b746b8c6dee2d634e68c +b627b683ee2b32c1ab4ccd27b9f6cce2fe097d96386fa0e5c182ad997c4c422ab8dfc03870cd830b8c774feb66537282 +b823cf8a9aee03dadd013eb9efe40a201b4b57ef67efaae9f99683005f5d1bf55e950bf4af0774f50859d743642d3fea +b8a7449ffac0a3f206677097baf7ce00ca07a4d2bd9b5356fbcb83f3649b0fda07cfebad220c1066afba89e5a52abf4b +b2dd1a2f986395bb4e3e960fbbe823dbb154f823284ebc9068502c19a7609790ec0073d08bfa63f71e30c7161b6ef966 +98e5236de4281245234f5d40a25b503505af140b503a035fc25a26159a9074ec81512b28f324c56ea2c9a5aa7ce90805 +89070847dc8bbf5bc4ed073aa2e2a1f699cf0c2ca226f185a0671cecc54e7d3e14cd475c7752314a7a8e7476829da4bc +a9402dc9117fdb39c4734c0688254f23aed3dce94f5f53f5b7ef2b4bf1b71a67f85ab1a38ec224a59691f3bee050aeb3 +957288f9866a4bf56a4204218ccc583f717d7ce45c01ea27142a7e245ad04a07f289cc044f8cf1f21d35e67e39299e9c +b2fb31ccb4e69113763d7247d0fc8edaae69b550c5c56aecacfd780c7217dc672f9fb7496edf4aba65dacf3361268e5b +b44a4526b2f1d6eb2aa8dba23bfa385ff7634572ab2afddd0546c3beb630fbfe85a32f42dd287a7fec069041411537f7 +8db5a6660c3ac7fd7a093573940f068ee79a82bc17312af900b51c8c439336bc86ca646c6b7ab13aaaa008a24ca508ab +8f9899a6d7e8eb4367beb5c060a1f8e94d8a21099033ae582118477265155ba9e72176a67f7f25d7bad75a152b56e21a +a67de0e91ade8d69a0e00c9ff33ee2909b8a609357095fa12319e6158570c232e5b6f4647522efb7345ce0052aa9d489 +82eb2414898e9c3023d57907a2b17de8e7eea5269029d05a94bfd7bf5685ac4a799110fbb375eb5e0e2bd16acf6458ae +94451fc7fea3c5a89ba701004a9693bab555cb622caf0896b678faba040409fdfd14a978979038b2a81e8f0abc4994d2 +ac879a5bb433998e289809a4a966bd02b4bf6a9c1cc276454e39c886efcf4fc68baebed575826bde577ab5aa71d735a9 +880c0f8f49c875dfd62b4ddedde0f5c8b19f5687e693717f7e5c031bc580e58e13ab497d48b4874130a18743c59fdce3 +b582af8d8ff0bf76f0a3934775e0b54c0e8fed893245d7d89cae65b03c8125b7237edc29dc45b4fe1a3fe6db45d280ee +89f337882ed3ae060aaee98efa20d79b6822bde9708c1c5fcee365d0ec9297f694cae37d38fd8e3d49717c1e86f078e7 +826d2c1faea54061848b484e288a5f4de0d221258178cf87f72e14baaa4acc21322f8c9eab5dde612ef497f2d2e1d60b +a5333d4f227543e9cd741ccf3b81db79f2f03ca9e649e40d6a6e8ff9073e06da83683566d3b3c8d7b258c62970fb24d1 +a28f08c473db06aaf4c043a2fae82b3c8cfaa160bce793a4c208e4e168fb1c65115ff8139dea06453c5963d95e922b94 +8162546135cc5e124e9683bdfaa45833c18553ff06a0861c887dc84a5b12ae8cd4697f6794c7ef6230492c32faba7014 +b23f0d05b74c08d6a7df1760792be83a761b36e3f8ae360f3c363fb196e2a9dd2de2e492e49d36561366e14daa77155c +b6f70d6c546722d3907c708d630dbe289771d2c8bf059c2e32b77f224696d750b4dda9b3a014debda38e7d02c9a77585 +83bf4c4a9f3ca022c631017e7a30ea205ba97f7f5927cba8fc8489a4646eac6712cb821c5668c9ffe94d69d524374a27 +b0371475425a8076d0dd5f733f55aabbe42d20a7c8ea7da352e736d4d35a327b2beb370dfcb05284e22cfd69c5f6c4cc +a0031ba7522c79211416c2cca3aa5450f96f8fee711552a30889910970ba13608646538781a2c08b834b140aadd7166f +99d273c80c7f2dc6045d4ed355d9fc6f74e93549d961f4a3b73cd38683f905934d359058cd1fc4da8083c7d75070487f +b0e4b0efa3237793e9dcce86d75aafe9879c5fa23f0d628649aef2130454dcf72578f9bf227b9d2b9e05617468e82588 +a5ab076fa2e1c5c51f3ae101afdd596ad9d106bba7882b359c43d8548b64f528af19afa76cd6f40da1e6c5fca4def3fa +8ce2299e570331d60f6a6eff1b271097cd5f1c0e1113fc69b89c6a0f685dabea3e5bc2ac6bd789aa492ab189f89be494 +91b829068874d911a310a5f9dee001021f97471307b5a3de9ec336870ec597413e1d92010ce320b619f38bed7c4f7910 +b14fe91f4b07bf33b046e9285b66cb07927f3a8da0af548ac2569b4c4fb1309d3ced76d733051a20814e90dd5b75ffd1 +abaab92ea6152d40f82940277c725aa768a631ee0b37f5961667f82fb990fc11e6d3a6a2752b0c6f94563ed9bb28265c +b7fe28543eca2a716859a76ab9092f135337e28109544f6bd2727728d0a7650428af5713171ea60bfc273d1c821d992c +8a4917b2ab749fc7343fc64bdf51b6c0698ff15d740cc7baf248c030475c097097d5a473bcc00d8c25817563fe0447b4 +aa96156d1379553256350a0a3250166add75948fb9cde62aa555a0a9dc0a9cb7f2f7b8428aff66097bf6bfedaf14bbe2 +ae4ffeb9bdc76830d3eca2b705f30c1bdede6412fa064260a21562c8850c7fb611ec62bc68479fe48f692833e6f66d8d +b96543caaba9d051600a14997765d49e4ab10b07c7a92cccf0c90b309e6da334fdd6d18c96806cbb67a7801024fbd3c7 +97b2b9ad76f19f500fcc94ca8e434176249f542ac66e5881a3dccd07354bdab6a2157018b19f8459437a68d8b86ba8e0 +a8d206f6c5a14c80005849474fde44b1e7bcf0b2d52068f5f97504c3c035b09e65e56d1cf4b5322791ae2c2fdbd61859 +936bad397ad577a70cf99bf9056584a61bd7f02d2d5a6cf219c05d770ae30a5cd902ba38366ce636067fc1dd10108d31 +a77e30195ee402b84f3882e2286bf5380c0ed374a112dbd11e16cef6b6b61ab209d4635e6f35cdaaa72c1a1981d5dabe +a46ba4d3947188590a43c180757886a453a0503f79cc435322d92490446f37419c7b999fdf868a023601078070e03346 +80d8d4c5542f223d48240b445d4d8cf6a75d120b060bc08c45e99a13028b809d910b534d2ac47fb7068930c54efd8da9 +803be9c68c91b42b68e1f55e58917a477a9a6265e679ca44ee30d3eb92453f8c89c64eafc04c970d6831edd33d066902 +b14b2b3d0dfe2bb57cee4cd72765b60ac33c1056580950be005790176543826c1d4fbd737f6cfeada6c735543244ab57 +a9e480188bba1b8fb7105ff12215706665fd35bf1117bacfb6ab6985f4dbc181229873b82e5e18323c2b8f5de03258e0 +a66a0f0779436a9a3999996d1e6d3000f22c2cac8e0b29cddef9636393c7f1457fb188a293b6c875b05d68d138a7cc4a +848397366300ab40c52d0dbbdafbafef6cd3dadf1503bb14b430f52bb9724188928ac26f6292a2412bc7d7aa620763c8 +95466cc1a78c9f33a9aaa3829a4c8a690af074916b56f43ae46a67a12bb537a5ac6dbe61590344a25b44e8512355a4a7 +8b5f7a959f818e3baf0887f140f4575cac093d0aece27e23b823cf421f34d6e4ff4bb8384426e33e8ec7b5eed51f6b5c +8d5e1368ec7e3c65640d216bcc5d076f3d9845924c734a34f3558ac0f16e40597c1a775a25bf38b187213fbdba17c93b +b4647c1b823516880f60d20c5cc38c7f80b363c19d191e8992226799718ee26b522a12ecb66556ed3d483aa4824f3326 +ac3abaea9cd283eb347efda4ed9086ea3acf495043e08d0d19945876329e8675224b685612a6badf8fd72fb6274902b1 +8eae1ce292d317aaa71bcf6e77e654914edd5090e2e1ebab78b18bb41b9b1bc2e697439f54a44c0c8aa0d436ebe6e1a9 +94dc7d1aec2c28eb43d93b111fa59aaa0d77d5a09501220bd411768c3e52208806abf973c6a452fd8292ff6490e0c9e2 +8fd8967f8e506fef27d17b435d6b86b232ec71c1036351f12e6fb8a2e12daf01d0ee04451fb944d0f1bf7fd20e714d02 +824e6865be55d43032f0fec65b3480ea89b0a2bf860872237a19a54bc186a85d2f8f9989cc837fbb325b7c72d9babe2c +8bd361f5adb27fd6f4e3f5de866e2befda6a8454efeb704aacc606f528c03f0faae888f60310e49440496abd84083ce2 +b098a3c49f2aaa28b6b3e85bc40ce6a9cdd02134ee522ae73771e667ad7629c8d82c393fba9f27f5416986af4c261438 +b385f5ca285ff2cfe64dcaa32dcde869c28996ed091542600a0b46f65f3f5a38428cca46029ede72b6cf43e12279e3d3 +8196b03d011e5be5288196ef7d47137d6f9237a635ab913acdf9c595fa521d9e2df722090ec7eb0203544ee88178fc5f +8ed1270211ef928db18e502271b7edf24d0bbd11d97f2786aee772d70c2029e28095cf8f650b0328cc8a4c38d045316d +a52ab60e28d69b333d597a445884d44fd2a7e1923dd60f763951e1e45f83e27a4dac745f3b9eff75977b3280e132c15d +91e9fe78cdac578f4a4687f71b800b35da54b824b1886dafec073a3c977ce7a25038a2f3a5b1e35c2c8c9d1a7312417c +a42832173f9d9491c7bd93b21497fbfa4121687cd4d2ab572e80753d7edcbb42cfa49f460026fbde52f420786751a138 +97b947126d84dcc70c97be3c04b3de3f239b1c4914342fa643b1a4bb8c4fe45c0fcb585700d13a7ed50784790c54bef9 +860e407d353eac070e2418ef6cb80b96fc5f6661d6333e634f6f306779651588037be4c2419562c89c61f9aa2c4947f5 +b2c9d93c3ba4e511b0560b55d3501bf28a510745fd666b3cb532db051e6a8617841ea2f071dda6c9f15619c7bfd2737f +8596f4d239aeeac78311207904d1bd863ef68e769629cc379db60e019aaf05a9d5cd31dc8e630b31e106a3a93e47cbc5 +8b26e14e2e136b65c5e9e5c2022cee8c255834ea427552f780a6ca130a6446102f2a6f334c3f9a0308c53df09e3dba7e +b54724354eb515a3c8bed0d0677ff1db94ac0a07043459b4358cb90e3e1aa38ac23f2caa3072cf9647275d7cd61d0e80 +b7ce9fe0e515e7a6b2d7ddcb92bc0196416ff04199326aea57996eef8c5b1548bd8569012210da317f7c0074691d01b7 +a1a13549c82c877253ddefa36a29ea6a23695ee401fdd48e65f6f61e5ebd956d5e0edeff99484e9075cb35071fec41e2 +838ba0c1e5bd1a6da05611ff1822b8622457ebd019cb065ece36a2d176bd2d889511328120b8a357e44569e7f640c1e6 +b916eccff2a95519400bbf76b5f576cbe53cf200410370a19d77734dc04c05b585cfe382e8864e67142d548cd3c4c2f4 +a610447cb7ca6eea53a6ff1f5fe562377dcb7f4aaa7300f755a4f5e8eba61e863c51dc2aa9a29b35525b550fbc32a0fe +9620e8f0f0ee9a4719aa9685eeb1049c5c77659ba6149ec4c158f999cfd09514794b23388879931fe26fea03fa471fd3 +a9dcf8b679e276583cf5b9360702a185470d09aea463dc474ee9c8aee91ef089dacb073e334e47fbc78ec5417c90465c +8c9adee8410bdd99e5b285744cee61e2593b6300ff31a8a83b0ec28da59475a5c6fb9346fe43aadea2e6c3dad2a8e30a +97d5afe9b3897d7b8bb628b7220cf02d8ee4e9d0b78f5000d500aaf4c1df9251aaaabfd1601626519f9d66f00a821d4e +8a382418157b601ce4c3501d3b8409ca98136a4ef6abcbf62885e16e215b76b035c94d149cc41ff92e42ccd7c43b9b3d +b64b8d11fb3b01abb2646ac99fdb9c02b804ce15d98f9fe0fbf1c9df8440c71417487feb6cdf51e3e81d37104b19e012 +849d7d044f9d8f0aab346a9374f0b3a5d14a9d1faa83dbacccbdc629ad1ef903a990940255564770537f8567521d17f0 +829dbb0c76b996c2a91b4cbbe93ba455ca0d5729755e5f0c92aaee37dff7f36fcdc06f33aca41f1b609c784127b67d88 +85a7c0069047b978422d264d831ab816435f63938015d2e977222b6b5746066c0071b7f89267027f8a975206ed25c1b0 +84b9fbc1cfb302df1acdcf3dc5d66fd1edfe7839f7a3b2fb3a0d5548656249dd556104d7c32b73967bccf0f5bdcf9e3b +972220ac5b807f53eac37dccfc2ad355d8b21ea6a9c9b011c09fe440ddcdf7513e0b43d7692c09ded80d7040e26aa28f +855885ed0b21350baeca890811f344c553cf9c21024649c722453138ba29193c6b02c4b4994cd414035486f923472e28 +841874783ae6d9d0e59daea03e96a01cbbe4ecaced91ae4f2c8386e0d87b3128e6d893c98d17c59e4de1098e1ad519dd +827e50fc9ce56f97a4c3f2f4cbaf0b22f1c3ce6f844ff0ef93a9c57a09b8bf91ebfbd2ba9c7f83c442920bffdaf288cc +a441f9136c7aa4c08d5b3534921b730e41ee91ab506313e1ba5f7c6f19fd2d2e1594e88c219834e92e6fb95356385aa7 +97d75b144471bf580099dd6842b823ec0e6c1fb86dd0da0db195e65524129ea8b6fd4a7a9bbf37146269e938a6956596 +a4b6fa87f09d5a29252efb2b3aaab6b3b6ea9fab343132a651630206254a25378e3e9d6c96c3d14c150d01817d375a8e +a31a671876d5d1e95fe2b8858dc69967231190880529d57d3cab7f9f4a2b9b458ac9ee5bdaa3289158141bf18f559efb +90bee6fff4338ba825974021b3b2a84e36d617e53857321f13d2b3d4a28954e6de3b3c0e629d61823d18a9763313b3bf +96b622a63153f393bb419bfcf88272ea8b3560dbd46b0aa07ada3a6223990d0abdd6c2adb356ef4be5641688c8d83941 +84c202adeaff9293698022bc0381adba2cd959f9a35a4e8472288fd68f96f6de8be9da314c526d88e291c96b1f3d6db9 +8ca01a143b8d13809e5a8024d03e6bc9492e22226073ef6e327edf1328ef4aff82d0bcccee92cb8e212831fa35fe1204 +b2f970dbad15bfbefb38903c9bcc043d1367055c55dc1100a850f5eb816a4252c8c194b3132c929105511e14ea10a67d +a5e36556472a95ad57eb90c3b6623671b03eafd842238f01a081997ffc6e2401f76e781d049bb4aa94d899313577a9cf +8d1057071051772f7c8bedce53a862af6fd530dd56ae6321eaf2b9fc6a68beff5ed745e1c429ad09d5a118650bfd420a +8aadc4f70ace4fcb8d93a78610779748dcffc36182d45b932c226dc90e48238ea5daa91f137c65ed532352c4c4d57416 +a2ea05ae37e673b4343232ae685ee14e6b88b867aef6dfac35db3589cbcd76f99540fed5c2641d5bb5a4a9f808e9bf0d +947f1abad982d65648ae4978e094332b4ecb90f482c9be5741d5d1cf5a28acf4680f1977bf6e49dd2174c37f11e01296 +a27b144f1565e4047ba0e3f4840ef19b5095d1e281eaa463c5358f932114cbd018aa6dcf97546465cf2946d014d8e6d6 +8574e1fc3acade47cd4539df578ce9205e745e161b91e59e4d088711a7ab5aa3b410d517d7304b92109924d9e2af8895 +a48ee6b86b88015d6f0d282c1ae01d2a5b9e8c7aa3d0c18b35943dceb1af580d08a65f54dc6903cde82fd0d73ce94722 +8875650cec543a7bf02ea4f2848a61d167a66c91ffaefe31a9e38dc8511c6a25bde431007eefe27a62af3655aca208dc +999b0a6e040372e61937bf0d68374e230346b654b5a0f591a59d33a4f95bdb2f3581db7c7ccb420cd7699ed709c50713 +878c9e56c7100c5e47bbe77dc8da5c5fe706cec94d37fa729633bca63cace7c40102eee780fcdabb655f5fa47a99600e +865006fb5b475ada5e935f27b96f9425fc2d5449a3c106aa366e55ebed3b4ee42adc3c3f0ac19fd129b40bc7d6bc4f63 +b7a7da847f1202e7bc1672553e68904715e84fd897d529243e3ecda59faa4e17ba99c649a802d53f6b8dfdd51f01fb74 +8b2fb4432c05653303d8c8436473682933a5cb604da10c118ecfcd2c8a0e3132e125afef562bdbcc3df936164e5ce4f2 +808d95762d33ddfa5d0ee3d7d9f327de21a994d681a5f372e2e3632963ea974da7f1f9e5bac8ccce24293509d1f54d27 +932946532e3c397990a1df0e94c90e1e45133e347a39b6714c695be21aeb2d309504cb6b1dde7228ff6f6353f73e1ca2 +9705e7c93f0cdfaa3fa96821f830fe53402ad0806036cd1b48adc2f022d8e781c1fbdab60215ce85c653203d98426da3 +aa180819531c3ec1feb829d789cb2092964c069974ae4faad60e04a6afcce5c3a59aec9f11291e6d110a788d22532bc6 +88f755097f7e25cb7dd3c449520c89b83ae9e119778efabb54fbd5c5714b6f37c5f9e0346c58c6ab09c1aef2483f895d +99fc03ab7810e94104c494f7e40b900f475fde65bdec853e60807ffd3f531d74de43335c3b2646b5b8c26804a7448898 +af2dea9683086bed1a179110efb227c9c00e76cd00a2015b089ccbcee46d1134aa18bda5d6cab6f82ae4c5cd2461ac21 +a500f87ba9744787fdbb8e750702a3fd229de6b8817594348dec9a723b3c4240ddfa066262d002844b9e38240ce55658 +924d0e45c780f5bc1c1f35d15dfc3da28036bdb59e4c5440606750ecc991b85be18bc9a240b6c983bc5430baa4c68287 +865b11e0157b8bf4c5f336024b016a0162fc093069d44ac494723f56648bc4ded13dfb3896e924959ea11c96321afefc +93672d8607d4143a8f7894f1dcca83fb84906dc8d6dd7dd063bb0049cfc20c1efd933e06ca7bd03ea4cb5a5037990bfe +826891efbdff0360446825a61cd1fa04326dd90dae8c33dfb1ed97b045e165766dd070bd7105560994d0b2044bdea418 +93c4a4a8bcbc8b190485cc3bc04175b7c0ed002c28c98a540919effd6ed908e540e6594f6db95cd65823017258fb3b1c +aeb2a0af2d2239fda9aa6b8234b019708e8f792834ff0dd9c487fa09d29800ddceddd6d7929faa9a3edcb9e1b3aa0d6b +87f11de7236d387863ec660d2b04db9ac08143a9a2c4dfff87727c95b4b1477e3bc473a91e5797313c58754905079643 +80dc1db20067a844fe8baceca77f80db171a5ca967acb24e2d480eae9ceb91a3343c31ad1c95b721f390829084f0eae6 +9825c31f1c18da0de3fa84399c8b40f8002c3cae211fb6a0623c76b097b4d39f5c50058f57a16362f7a575909d0a44a2 +a99fc8de0c38dbf7b9e946de83943a6b46a762167bafe2a603fb9b86f094da30d6de7ed55d639aafc91936923ee414b3 +ad594678b407db5d6ea2e90528121f84f2b96a4113a252a30d359a721429857c204c1c1c4ff71d8bb5768c833f82e80e +b33d985e847b54510b9b007e31053732c8a495e43be158bd2ffcea25c6765bcbc7ca815f7c60b36ad088b955dd6e9350 +815f8dfc6f90b3342ca3fbd968c67f324dae8f74245cbf8bc3bef10e9440c65d3a2151f951e8d18959ba01c1b50b0ec1 +94c608a362dd732a1abc56e338637c900d59013db8668e49398b3c7a0cae3f7e2f1d1bf94c0299eeafe6af7f76c88618 +8ebd8446b23e5adfcc393adc5c52fe172f030a73e63cd2d515245ca0dd02782ceed5bcdd9ccd9c1b4c5953dfac9c340c +820437f3f6f9ad0f5d7502815b221b83755eb8dc56cd92c29e9535eb0b48fb8d08c9e4fcc26945f9c8cca60d89c44710 +8910e4e8a56bf4be9cc3bbf0bf6b1182a2f48837a2ed3c2aaec7099bfd7f0c83e14e608876b17893a98021ff4ab2f20d +9633918fde348573eec15ce0ad53ac7e1823aac86429710a376ad661002ae6d049ded879383faaa139435122f64047c6 +a1f5e3fa558a9e89318ca87978492f0fb4f6e54a9735c1b8d2ecfb1d1c57194ded6e0dd82d077b2d54251f3bee1279e1 +b208e22d04896abfd515a95c429ff318e87ff81a5d534c8ac2c33c052d6ffb73ef1dccd39c0bbe0734b596c384014766 +986d5d7d2b5bde6d16336f378bd13d0e671ad23a8ec8a10b3fc09036faeeb069f60662138d7a6df3dfb8e0d36180f770 +a2d4e6c5f5569e9cef1cddb569515d4b6ace38c8aed594f06da7434ba6b24477392cc67ba867c2b079545ca0c625c457 +b5ac32b1d231957d91c8b7fc43115ce3c5c0d8c13ca633374402fa8000b6d9fb19499f9181844f0c10b47357f3f757ce +96b8bf2504b4d28fa34a4ec378e0e0b684890c5f44b7a6bb6e19d7b3db2ab27b1e2686389d1de9fbd981962833a313ea +953bfd7f6c3a0469ad432072b9679a25486f5f4828092401eff494cfb46656c958641a4e6d0d97d400bc59d92dba0030 +876ab3cea7484bbfd0db621ec085b9ac885d94ab55c4bb671168d82b92e609754b86aaf472c55df3d81421d768fd108a +885ff4e67d9ece646d02dd425aa5a087e485c3f280c3471b77532b0db6145b69b0fbefb18aa2e3fa5b64928b43a94e57 +b91931d93f806d0b0e6cc62a53c718c099526140f50f45d94b8bbb57d71e78647e06ee7b42aa5714aed9a5c05ac8533f +a0313eeadd39c720c9c27b3d671215331ab8d0a794e71e7e690f06bcd87722b531d6525060c358f35f5705dbb7109ccb +874c0944b7fedc6701e53344100612ddcb495351e29305c00ec40a7276ea5455465ffb7bded898886c1853139dfb1fc7 +8dc31701a01ee8137059ca1874a015130d3024823c0576aa9243e6942ec99d377e7715ed1444cd9b750a64b85dcaa3e5 +836d2a757405e922ec9a2dfdcf489a58bd48b5f9683dd46bf6047688f778c8dee9bc456de806f70464df0b25f3f3d238 +b30b0a1e454a503ea3e2efdec7483eaf20b0a5c3cefc42069e891952b35d4b2c955cf615f3066285ed8fafd9fcfbb8f6 +8e6d4044b55ab747e83ec8762ea86845f1785cc7be0279c075dadf08aca3ccc5a096c015bb3c3f738f647a4eadea3ba5 +ad7735d16ab03cbe09c029610aa625133a6daecfc990b297205b6da98eda8c136a7c50db90f426d35069708510d5ae9c +8d62d858bbb59ec3c8cc9acda002e08addab4d3ad143b3812098f3d9087a1b4a1bb255dcb1635da2402487d8d0249161 +805beec33238b832e8530645a3254aeef957e8f7ea24bcfc1054f8b9c69421145ebb8f9d893237e8a001c857fedfc77e +b1005644be4b085e3f5775aa9bd3e09a283e87ddada3082c04e7a62d303dcef3b8cf8f92944c200c7ae6bb6bdf63f832 +b4ba0e0790dc29063e577474ffe3b61f5ea2508169f5adc1e394934ebb473e356239413a17962bc3e5d3762d72cce8c2 +a157ba9169c9e3e6748d9f1dd67fbe08b9114ade4c5d8fc475f87a764fb7e6f1d21f66d7905cd730f28a1c2d8378682a +913e52b5c93989b5d15e0d91aa0f19f78d592bc28bcfdfddc885a9980c732b1f4debb8166a7c4083c42aeda93a702898 +90fbfc1567e7cd4e096a38433704d3f96a2de2f6ed3371515ccc30bc4dd0721a704487d25a97f3c3d7e4344472702d8d +89646043028ffee4b69d346907586fd12c2c0730f024acb1481abea478e61031966e72072ff1d5e65cb8c64a69ad4eb1 +b125a45e86117ee11d2fb42f680ab4a7894edd67ff927ae2c808920c66c3e55f6a9d4588eee906f33a05d592e5ec3c04 +aad47f5b41eae9be55fb4f67674ff1e4ae2482897676f964a4d2dcb6982252ee4ff56aac49578b23f72d1fced707525e +b9ddff8986145e33851b4de54d3e81faa3352e8385895f357734085a1616ef61c692d925fe62a5ed3be8ca49f5d66306 +b3cb0963387ed28c0c0adf7fe645f02606e6e1780a24d6cecef5b7c642499109974c81a7c2a198b19862eedcea2c2d8c +ac9c53c885457aaf5cb36c717a6f4077af701e0098eebd7aa600f5e4b14e6c1067255b3a0bc40e4a552025231be7de60 +8e1a8d823c4603f6648ec21d064101094f2a762a4ed37dd2f0a2d9aa97b2d850ce1e76f4a4b8cae58819b058180f7031 +b268b73bf7a179b6d22bd37e5e8cb514e9f5f8968c78e14e4f6d5700ca0d0ca5081d0344bb73b028970eebde3cb4124e +a7f57d71940f0edbd29ed8473d0149cae71d921dd15d1ff589774003e816b54b24de2620871108cec1ab9fa956ad6ce6 +8053e6416c8b120e2b999cc2fc420a6a55094c61ac7f2a6c6f0a2c108a320890e389af96cbe378936132363c0d551277 +b3823f4511125e5aa0f4269e991b435a0d6ceb523ebd91c04d7add5534e3df5fc951c504b4fd412a309fd3726b7f940b +ae6eb04674d04e982ca9a6add30370ab90e303c71486f43ed3efbe431af1b0e43e9d06c11c3412651f304c473e7dbf39 +96ab55e641ed2e677591f7379a3cd126449614181fce403e93e89b1645d82c4af524381ff986cae7f9cebe676878646d +b52423b4a8c37d3c3e2eca8f0ddbf7abe0938855f33a0af50f117fab26415fb0a3da5405908ec5fdc22a2c1f2ca64892 +82a69ce1ee92a09cc709d0e3cd22116c9f69d28ea507fe5901f5676000b5179b9abe4c1875d052b0dd42d39925e186bb +a84c8cb84b9d5cfb69a5414f0a5283a5f2e90739e9362a1e8c784b96381b59ac6c18723a4aa45988ee8ef5c1f45cc97d +afd7efce6b36813082eb98257aae22a4c1ae97d51cac7ea9c852d4a66d05ef2732116137d8432e3f117119725a817d24 +a0f5fe25af3ce021b706fcff05f3d825384a272284d04735574ce5fb256bf27100fad0b1f1ba0e54ae9dcbb9570ecad3 +8751786cb80e2e1ff819fc7fa31c2833d25086534eb12b373d31f826382430acfd87023d2a688c65b5e983927e146336 +8cf5c4b17fa4f3d35c78ce41e1dc86988fd1135cd5e6b2bb0c108ee13538d0d09ae7102609c6070f39f937b439b31e33 +a9108967a2fedd7c322711eca8159c533dd561bedcb181b646de98bf5c3079449478eab579731bee8d215ae8852c7e21 +b54c5171704f42a6f0f4e70767cdb3d96ffc4888c842eece343a01557da405961d53ffdc34d2f902ea25d3e1ed867cad +ae8d4b764a7a25330ba205bf77e9f46182cd60f94a336bbd96773cf8064e3d39caf04c310680943dc89ed1fbad2c6e0d +aa5150e911a8e1346868e1b71c5a01e2a4bb8632c195861fb6c3038a0e9b85f0e09b3822e9283654a4d7bb17db2fc5f4 +9685d3756ce9069bf8bb716cf7d5063ebfafe37e15b137fc8c3159633c4e006ff4887ddd0ae90360767a25c3f90cba7f +82155fd70f107ab3c8e414eadf226c797e07b65911508c76c554445422325e71af8c9a8e77fd52d94412a6fc29417cd3 +abfae52f53a4b6e00760468d973a267f29321997c3dbb5aee36dc1f20619551229c0c45b9d9749f410e7f531b73378e8 +81a76d921f8ef88e774fd985e786a4a330d779b93fad7def718c014685ca0247379e2e2a007ad63ee7f729cd9ed6ce1b +81947c84bc5e28e26e2e533af5ae8fe10407a7b77436dbf8f1d5b0bbe86fc659eae10f974659dc7c826c6dabd03e3a4b +92b8c07050d635b8dd4fd09df9054efe4edae6b86a63c292e73cc819a12a21dd7d104ce51fa56af6539dedf6dbe6f7b6 +b44c579e3881f32b32d20c82c207307eca08e44995dd2aac3b2692d2c8eb2a325626c80ac81c26eeb38c4137ff95add5 +97efab8941c90c30860926dea69a841f2dcd02980bf5413b9fd78d85904588bf0c1021798dbc16c8bbb32cce66c82621 +913363012528b50698e904de0588bf55c8ec5cf6f0367cfd42095c4468fcc64954fbf784508073e542fee242d0743867 +8ed203cf215148296454012bd10fddaf119203db1919a7b3d2cdc9f80e66729464fdfae42f1f2fc5af1ed53a42b40024 +ab84312db7b87d711e9a60824f4fe50e7a6190bf92e1628688dfcb38930fe87b2d53f9e14dd4de509b2216856d8d9188 +880726def069c160278b12d2258eac8fa63f729cd351a710d28b7e601c6712903c3ac1e7bbd0d21e4a15f13ca49db5aa +980699cd51bac6283959765f5174e543ed1e5f5584b5127980cbc2ef18d984ecabba45042c6773b447b8e694db066028 +aeb019cb80dc4cb4207430d0f2cd24c9888998b6f21d9bf286cc638449668d2eec0018a4cf3fe6448673cd6729335e2b +b29852f6aa6c60effdffe96ae88590c88abae732561d35cc19e82d3a51e26cb35ea00986193e07f90060756240f5346e +a0fa855adc5ba469f35800c48414b8921455950a5c0a49945d1ef6e8f2a1881f2e2dfae47de6417270a6bf49deeb091d +b6c7332e3b14813641e7272d4f69ecc7e09081df0037d6dab97ce13a9e58510f5c930d300633f208181d9205c5534001 +85a6c050f42fce560b5a8d54a11c3bbb8407abbadd859647a7b0c21c4b579ec65671098b74f10a16245dc779dff7838e +8f3eb34bb68759d53c6677de4de78a6c24dd32c8962a7fb355ed362572ef8253733e6b52bc21c9f92ecd875020a9b8de +a17dd44181e5dab4dbc128e1af93ec22624b57a448ca65d2d9e246797e4af7d079e09c6e0dfb62db3a9957ce92f098d5 +a56a1b854c3183082543a8685bb34cae1289f86cfa8123a579049dbd059e77982886bfeb61bf6e05b4b1fe4e620932e7 +aedae3033cb2fb7628cb4803435bdd7757370a86f808ae4cecb9a268ad0e875f308c048c80cbcac523de16b609683887 +9344905376aa3982b1179497fac5a1d74b14b7038fd15e3b002db4c11c8bfc7c39430db492cdaf58b9c47996c9901f28 +a3bfafdae011a19f030c749c3b071f83580dee97dd6f949e790366f95618ca9f828f1daaeabad6dcd664fcef81b6556d +81c03d8429129e7e04434dee2c529194ddb01b414feda3adee2271eb680f6c85ec872a55c9fa9d2096f517e13ed5abcc +98205ef3a72dff54c5a9c82d293c3e45d908946fa74bb749c3aabe1ab994ea93c269bcce1a266d2fe67a8f02133c5985 +85a70aeed09fda24412fadbafbbbf5ba1e00ac92885df329e147bfafa97b57629a3582115b780d8549d07d19b7867715 +b0fbe81c719f89a57d9ea3397705f898175808c5f75f8eb81c2193a0b555869ba7bd2e6bc54ee8a60cea11735e21c68c +b03a0bd160495ee626ff3a5c7d95bc79d7da7e5a96f6d10116600c8fa20bedd1132f5170f25a22371a34a2d763f2d6d0 +a90ab04091fbca9f433b885e6c1d60ab45f6f1daf4b35ec22b09909d493a6aab65ce41a6f30c98239cbca27022f61a8b +b66f92aa3bf2549f9b60b86f99a0bd19cbdd97036d4ae71ca4b83d669607f275260a497208f6476cde1931d9712c2402 +b08e1fdf20e6a9b0b4942f14fa339551c3175c1ffc5d0ab5b226b6e6a322e9eb0ba96adc5c8d59ca4259e2bdd04a7eb0 +a2812231e92c1ce74d4f5ac3ab6698520288db6a38398bb38a914ac9326519580af17ae3e27cde26607e698294022c81 +abfcbbcf1d3b9e84c02499003e490a1d5d9a2841a9e50c7babbef0b2dd20d7483371d4dc629ba07faf46db659459d296 +b0fe9f98c3da70927c23f2975a9dc4789194d81932d2ad0f3b00843dd9cbd7fb60747a1da8fe5a79f136a601becf279d +b130a6dba7645165348cb90f023713bed0eefbd90a976b313521c60a36d34f02032e69a2bdcf5361e343ed46911297ec +862f0cffe3020cea7a5fd4703353aa1eb1be335e3b712b29d079ff9f7090d1d8b12013011e1bdcbaa80c44641fd37c9f +8c6f11123b26633e1abb9ed857e0bce845b2b3df91cc7b013b2fc77b477eee445da0285fc6fc793e29d5912977f40916 +91381846126ea819d40f84d3005e9fb233dc80071d1f9bb07f102bf015f813f61e5884ffffb4f5cd333c1b1e38a05a58 +8add7d908de6e1775adbd39c29a391f06692b936518db1f8fde74eb4f533fc510673a59afb86e3a9b52ade96e3004c57 +8780e086a244a092206edcde625cafb87c9ab1f89cc3e0d378bc9ee776313836160960a82ec397bc3800c0a0ec3da283 +a6cb4cd9481e22870fdd757fae0785edf4635e7aacb18072fe8dc5876d0bab53fb99ce40964a7d3e8bcfff6f0ab1332f +af30ff47ecc5b543efba1ba4706921066ca8bb625f40e530fb668aea0551c7647a9d126e8aba282fbcce168c3e7e0130 +91b0bcf408ce3c11555dcb80c4410b5bc2386d3c05caec0b653352377efdcb6bab4827f2018671fc8e4a0e90d772acc1 +a9430b975ef138b6b2944c7baded8fe102d31da4cfe3bd3d8778bda79189c99d38176a19c848a19e2d1ee0bddd9a13c1 +aa5a4eef849d7c9d2f4b018bd01271c1dd83f771de860c4261f385d3bdcc130218495860a1de298f14b703ec32fa235f +b0ce79e7f9ae57abe4ff366146c3b9bfb38b0dee09c28c28f5981a5d234c6810ad4d582751948affb480d6ae1c8c31c4 +b75122748560f73d15c01a8907d36d06dc068e82ce22b84b322ac1f727034493572f7907dec34ebc3ddcc976f2f89ed7 +b0fc7836369a3e4411d34792d6bd5617c14f61d9bba023dda64e89dc5fb0f423244e9b48ee64869258931daa9753a56f +8956d7455ae9009d70c6e4a0bcd7610e55f37494cf9897a8f9e1b904cc8febc3fd2d642ebd09025cfff4609ad7e3bc52 +ad741efe9e472026aa49ae3d9914cb9c1a6f37a54f1a6fe6419bebd8c7d68dca105a751c7859f4389505ede40a0de786 +b52f418797d719f0d0d0ffb0846788b5cba5d0454a69a2925de4b0b80fa4dd7e8c445e5eac40afd92897ed28ca650566 +a0ab65fb9d42dd966cd93b1de01d7c822694669dd2b7a0c04d99cd0f3c3de795f387b9c92da11353412f33af5c950e9a +a0052f44a31e5741a331f7cac515a08b3325666d388880162d9a7b97598fde8b61f9ff35ff220df224eb5c4e40ef0567 +a0101cfdc94e42b2b976c0d89612a720e55d145a5ef6ef6f1f78cf6de084a49973d9b5d45915349c34ce712512191e3c +a0dd99fcf3f5cead5aaf08e82212df3a8bb543c407a4d6fab88dc5130c1769df3f147e934a46f291d6c1a55d92b86917 +a5939153f0d1931bbda5cf6bdf20562519ea55fbfa978d6dbc6828d298260c0da7a50c37c34f386e59431301a96c2232 +9568269f3f5257200f9ca44afe1174a5d3cf92950a7f553e50e279c239e156a9faaa2a67f288e3d5100b4142efe64856 +b746b0832866c23288e07f24991bbf687cad794e7b794d3d3b79367566ca617d38af586cdc8d6f4a85a34835be41d54f +a871ce28e39ab467706e32fec1669fda5a4abba2f8c209c6745df9f7a0fa36bbf1919cf14cb89ea26fa214c4c907ae03 +a08dacdd758e523cb8484f6bd070642c0c20e184abdf8e2a601f61507e93952d5b8b0c723c34fcbdd70a8485eec29db2 +85bdb78d501382bb95f1166b8d032941005661aefd17a5ac32df9a3a18e9df2fc5dc2c1f07075f9641af10353cecc0c9 +98d730c28f6fa692a389e97e368b58f4d95382fad8f0baa58e71a3d7baaea1988ead47b13742ce587456f083636fa98e +a557198c6f3d5382be9fb363feb02e2e243b0c3c61337b3f1801c4a0943f18e38ce1a1c36b5c289c8fa2aa9d58742bab +89174f79201742220ac689c403fc7b243eed4f8e3f2f8aba0bf183e6f5d4907cb55ade3e238e3623d9885f03155c4d2b +b891d600132a86709e06f3381158db300975f73ea4c1f7c100358e14e98c5fbe792a9af666b85c4e402707c3f2db321e +b9e5b2529ef1043278c939373fc0dbafe446def52ddd0a8edecd3e4b736de87e63e187df853c54c28d865de18a358bb6 +8589b2e9770340c64679062c5badb7bbef68f55476289b19511a158a9a721f197da03ece3309e059fc4468b15ac33aa3 +aad8c6cd01d785a881b446f06f1e9cd71bca74ba98674c2dcddc8af01c40aa7a6d469037498b5602e76e9c91a58d3dbd +abaccb1bd918a8465f1bf8dbe2c9ad4775c620b055550b949a399f30cf0d9eb909f3851f5b55e38f9e461e762f88f499 +ae62339d26db46e85f157c0151bd29916d5cc619bd4b832814b3fd2f00af8f38e7f0f09932ffe5bba692005dab2d9a74 +93a6ff30a5c0edf8058c89aba8c3259e0f1b1be1b80e67682de651e5346f7e1b4b4ac3d87cbaebf198cf779524aff6bf +8980a2b1d8f574af45b459193c952400b10a86122b71fca2acb75ee0dbd492e7e1ef5b959baf609a5172115e371f3177 +8c2f49f3666faee6940c75e8c7f6f8edc3f704cca7a858bbb7ee5e96bba3b0cf0993996f781ba6be3b0821ef4cb75039 +b14b9e348215b278696018330f63c38db100b0542cfc5be11dc33046e3bca6a13034c4ae40d9cef9ea8b34fef0910c4e +b59bc3d0a30d66c16e6a411cb641f348cb1135186d5f69fda8b0a0934a5a2e7f6199095ba319ec87d3fe8f1ec4a06368 +8874aca2a3767aa198e4c3fec2d9c62d496bc41ff71ce242e9e082b7f38cdf356089295f80a301a3cf1182bde5308c97 +b1820ebd61376d91232423fc20bf008b2ba37e761199f4ef0648ea2bd70282766799b4de814846d2f4d516d525c8daa7 +a6b202e5dedc16a4073e04a11af3a8509b23dfe5a1952f899adeb240e75c3f5bde0c424f811a81ea48d343591faffe46 +a69becee9c93734805523b92150a59a62eed4934f66056b645728740d42223f2925a1ad38359ba644da24d9414f4cdda +ad72f0f1305e37c7e6b48c272323ee883320994cb2e0d850905d6655fafc9f361389bcb9c66b3ff8d2051dbb58c8aa96 +b563600bd56fad7c8853af21c6a02a16ed9d8a8bbeea2c31731d63b976d83cb05b9779372d898233e8fd597a75424797 +b0abb78ce465bf7051f563c62e8be9c57a2cc997f47c82819300f36e301fefd908894bb2053a9d27ce2d0f8c46d88b5b +a071a85fb8274bac2202e0cb8e0e2028a5e138a82d6e0374d39ca1884a549c7c401312f00071b91f455c3a2afcfe0cda +b931c271513a0f267b9f41444a5650b1918100b8f1a64959c552aff4e2193cc1b9927906c6fa7b8a8c68ef13d79aaa52 +a6a1bb9c7d32cb0ca44d8b75af7e40479fbce67d216b48a2bb680d3f3a772003a49d3cd675fc64e9e0f8fabeb86d6d61 +b98d609858671543e1c3b8564162ad828808bb50ded261a9f8690ded5b665ed8368c58f947365ed6e84e5a12e27b423d +b3dca58cd69ec855e2701a1d66cad86717ff103ef862c490399c771ad28f675680f9500cb97be48de34bcdc1e4503ffd +b34867c6735d3c49865e246ddf6c3b33baf8e6f164db3406a64ebce4768cb46b0309635e11be985fee09ab7a31d81402 +acb966c554188c5b266624208f31fab250b3aa197adbdd14aee5ab27d7fb886eb4350985c553b20fdf66d5d332bfd3fe +943c36a18223d6c870d54c3b051ef08d802b85e9dd6de37a51c932f90191890656c06adfa883c87b906557ae32d09da0 +81bca7954d0b9b6c3d4528aadf83e4bc2ef9ea143d6209bc45ae9e7ae9787dbcd8333c41f12c0b6deee8dcb6805e826a +aba176b92256efb68f574e543479e5cf0376889fb48e3db4ebfb7cba91e4d9bcf19dcfec444c6622d9398f06de29e2b9 +b9f743691448053216f6ece7cd699871fff4217a1409ceb8ab7bdf3312d11696d62c74b0664ba0a631b1e0237a8a0361 +a383c2b6276fa9af346b21609326b53fb14fdf6f61676683076e80f375b603645f2051985706d0401e6fbed7eb0666b6 +a9ef2f63ec6d9beb8f3d04e36807d84bda87bdd6b351a3e4a9bf7edcb5618c46c1f58cfbf89e64b40f550915c6988447 +a141b2d7a82f5005eaea7ae7d112c6788b9b95121e5b70b7168d971812f3381de8b0082ac1f0a82c7d365922ebd2d26a +b1b76ef8120e66e1535c17038b75255a07849935d3128e3e99e56567b842fb1e8d56ef932d508d2fb18b82f7868fe1a9 +8e2e234684c81f21099f5c54f6bbe2dd01e3b172623836c77668a0c49ce1fe218786c3827e4d9ae2ea25c50a8924fb3c +a5caf5ff948bfd3c4ca3ffbdfcd91eec83214a6c6017235f309a0bbf7061d3b0b466307c00b44a1009cf575163898b43 +986415a82ca16ebb107b4c50b0c023c28714281db0bcdab589f6cb13d80e473a3034b7081b3c358e725833f6d845cb14 +b94836bf406ac2cbacb10e6df5bcdfcc9d9124ae1062767ca4e322d287fd5e353fdcebd0e52407cb3cd68571258a8900 +83c6d70a640b33087454a4788dfd9ef3ed00272da084a8d36be817296f71c086b23b576f98178ab8ca6a74f04524b46b +ad4115182ad784cfe11bcfc5ce21fd56229cc2ce77ac82746e91a2f0aa53ca6593a22efd2dc4ed8d00f84542643d9c58 +ab1434c5e5065da826d10c2a2dba0facccab0e52b506ce0ce42fbe47ced5a741797151d9ecc99dc7d6373cfa1779bbf6 +8a8b591d82358d55e6938f67ea87a89097ab5f5496f7260adb9f649abb289da12b498c5b2539c2f9614fb4e21b1f66b0 +964f355d603264bc1f44c64d6d64debca66f37dff39c971d9fc924f2bc68e6c187b48564a6dc82660a98b035f8addb5d +b66235eaaf47456bc1dc4bde454a028e2ce494ece6b713a94cd6bf27cf18c717fd0c57a5681caaa2ad73a473593cdd7a +9103e3bb74304186fa4e3e355a02da77da4aca9b7e702982fc2082af67127ebb23a455098313c88465bc9b7d26820dd5 +b6a42ff407c9dd132670cdb83cbad4b20871716e44133b59a932cd1c3f97c7ac8ff7f61acfaf8628372508d8dc8cad7c +883a9c21c16a167a4171b0f084565c13b6f28ba7c4977a0de69f0a25911f64099e7bbb4da8858f2e93068f4155d04e18 +8dbb3220abc6a43220adf0331e3903d3bfd1d5213aadfbd8dfcdf4b2864ce2e96a71f35ecfb7a07c3bbabf0372b50271 +b4ad08aee48e176bda390b7d9acf2f8d5eb008f30d20994707b757dc6a3974b2902d29cd9b4d85e032810ad25ac49e97 +865bb0f33f7636ec501bb634e5b65751c8a230ae1fa807a961a8289bbf9c7fe8c59e01fbc4c04f8d59b7f539cf79ddd5 +86a54d4c12ad1e3605b9f93d4a37082fd26e888d2329847d89afa7802e815f33f38185c5b7292293d788ad7d7da1df97 +b26c8615c5e47691c9ff3deca3021714662d236c4d8401c5d27b50152ce7e566266b9d512d14eb63e65bc1d38a16f914 +827639d5ce7db43ba40152c8a0eaad443af21dc92636cc8cc2b35f10647da7d475a1e408901cd220552fddad79db74df +a2b79a582191a85dbe22dc384c9ca3de345e69f6aa370aa6d3ff1e1c3de513e30b72df9555b15a46586bd27ea2854d9d +ae0d74644aba9a49521d3e9553813bcb9e18f0b43515e4c74366e503c52f47236be92dfbd99c7285b3248c267b1de5a0 +80fb0c116e0fd6822a04b9c25f456bdca704e2be7bdc5d141dbf5d1c5eeb0a2c4f5d80db583b03ef3e47517e4f9a1b10 +ac3a1fa3b4a2f30ea7e0a114cdc479eb51773573804c2a158d603ad9902ae8e39ffe95df09c0d871725a5d7f9ba71a57 +b56b2b0d601cba7f817fa76102c68c2e518c6f20ff693aad3ff2e07d6c4c76203753f7f91686b1801e8c4659e4d45c48 +89d50c1fc56e656fb9d3915964ebce703cb723fe411ab3c9eaa88ccc5d2b155a9b2e515363d9c600d3c0cee782c43f41 +b24207e61462f6230f3cd8ccf6828357d03e725769f7d1de35099ef9ee4dca57dbce699bb49ed994462bee17059d25ce +b886f17fcbcbfcd08ac07f04bb9543ef58510189decaccea4b4158c9174a067cb67d14b6be3c934e6e2a18c77efa9c9c +b9c050ad9cafd41c6e2e192b70d080076eed59ed38ea19a12bd92fa17b5d8947d58d5546aaf5e8e27e1d3b5481a6ce51 +aaf7a34d3267e3b1ddbc54c641e3922e89303f7c86ebebc7347ebca4cffad5b76117dac0cbae1a133053492799cd936f +a9ee604ada50adef82e29e893070649d2d4b7136cc24fa20e281ce1a07bd736bf0de7c420369676bcbcecff26fb6e900 +9855315a12a4b4cf80ab90b8bd13003223ba25206e52fd4fe6a409232fbed938f30120a3db23eab9c53f308bd8b9db81 +8cd488dd7a24f548a3cf03c54dec7ff61d0685cb0f6e5c46c2d728e3500d8c7bd6bba0156f4bf600466fda53e5b20444 +890ad4942ebac8f5b16c777701ab80c68f56fa542002b0786f8fea0fb073154369920ac3dbfc07ea598b82f4985b8ced +8de0cf9ddc84c9b92c59b9b044387597799246b30b9f4d7626fc12c51f6e423e08ee4cbfe9289984983c1f9521c3e19d +b474dfb5b5f4231d7775b3c3a8744956b3f0c7a871d835d7e4fd9cc895222c7b868d6c6ce250de568a65851151fac860 +86433b6135d9ed9b5ee8cb7a6c40e5c9d30a68774cec04988117302b8a02a11a71a1e03fd8e0264ef6611d219f103007 +80b9ed4adbe9538fb1ef69dd44ec0ec5b57cbfea820054d8d445b4261962624b4c70ac330480594bc5168184378379c3 +8b2e83562ccd23b7ad2d17f55b1ab7ef5fbef64b3a284e6725b800f3222b8bdf49937f4a873917ada9c4ddfb090938c2 +abe78cebc0f5a45d754140d1f685e387489acbfa46d297a8592aaa0d676a470654f417a4f7d666fc0b2508fab37d908e +a9c5f8ff1f8568e252b06d10e1558326db9901840e6b3c26bbd0cd5e850cb5fb3af3f117dbb0f282740276f6fd84126f +975f8dc4fb55032a5df3b42b96c8c0ffecb75456f01d4aef66f973cb7270d4eff32c71520ceefc1adcf38d77b6b80c67 +b043306ed2c3d8a5b9a056565afd8b5e354c8c4569fda66b0d797a50a3ce2c08cffbae9bbe292da69f39e89d5dc7911e +8d2afc36b1e44386ba350c14a6c1bb31ff6ea77128a0c5287584ac3584282d18516901ce402b4644a53db1ed8e7fa581 +8c294058bed53d7290325c363fe243f6ec4f4ea2343692f4bac8f0cb86f115c069ccb8334b53d2e42c067691ad110dba +b92157b926751aaf7ef82c1aa8c654907dccab6376187ee8b3e8c0c82811eae01242832de953faa13ebaff7da8698b3e +a780c4bdd9e4ba57254b09d745075cecab87feda78c88ffee489625c5a3cf96aa6b3c9503a374a37927d9b78de9bd22b +811f548ef3a2e6a654f7dcb28ac9378de9515ed61e5a428515d9594a83e80b35c60f96a5cf743e6fab0d3cb526149f49 +85a4dccf6d90ee8e094731eec53bd00b3887aec6bd81a0740efddf812fd35e3e4fe4f983afb49a8588691c202dabf942 +b152c2da6f2e01c8913079ae2b40a09b1f361a80f5408a0237a8131b429677c3157295e11b365b1b1841924b9efb922e +849b9efee8742502ffd981c4517c88ed33e4dd518a330802caff168abae3cd09956a5ee5eda15900243bc2e829016b74 +955a933f3c18ec0f1c0e38fa931e4427a5372c46a3906ebe95082bcf878c35246523c23f0266644ace1fa590ffa6d119 +911989e9f43e580c886656377c6f856cdd4ff1bd001b6db3bbd86e590a821d34a5c6688a29b8d90f28680e9fdf03ba69 +b73b8b4f1fd6049fb68d47cd96a18fcba3f716e0a1061aa5a2596302795354e0c39dea04d91d232aec86b0bf2ba10522 +90f87456d9156e6a1f029a833bf3c7dbed98ca2f2f147a8564922c25ae197a55f7ea9b2ee1f81bf7383197c4bad2e20c +903cba8b1e088574cb04a05ca1899ab00d8960580c884bd3c8a4c98d680c2ad11410f2b75739d6050f91d7208cac33a5 +9329987d42529c261bd15ecedd360be0ea8966e7838f32896522c965adfc4febf187db392bd441fb43bbd10c38fdf68b +8178ee93acf5353baa349285067b20e9bb41aa32d77b5aeb7384fe5220c1fe64a2461bd7a83142694fe673e8bbf61b7c +a06a8e53abcff271b1394bcc647440f81fb1c1a5f29c27a226e08f961c3353f4891620f2d59b9d1902bf2f5cc07a4553 +aaf5fe493b337810889e777980e6bbea6cac39ac66bc0875c680c4208807ac866e9fda9b5952aa1d04539b9f4a4bec57 +aa058abb1953eceac14ccfa7c0cc482a146e1232905dcecc86dd27f75575285f06bbae16a8c9fe8e35d8713717f5f19f +8f15dd732799c879ca46d2763453b359ff483ca33adb1d0e0a57262352e0476c235987dc3a8a243c74bc768f93d3014c +a61cc8263e9bc03cce985f1663b8a72928a607121005a301b28a278e9654727fd1b22bc8a949af73929c56d9d3d4a273 +98d6dc78502d19eb9f921225475a6ebcc7b44f01a2df6f55ccf6908d65b27af1891be2a37735f0315b6e0f1576c1f8d8 +8bd258b883f3b3793ec5be9472ad1ff3dc4b51bc5a58e9f944acfb927349ead8231a523cc2175c1f98e7e1e2b9f363b8 +aeacc2ecb6e807ad09bedd99654b097a6f39840e932873ace02eabd64ccfbb475abdcb62939a698abf17572d2034c51e +b8ccf78c08ccd8df59fd6eda2e01de328bc6d8a65824d6f1fc0537654e9bc6bf6f89c422dd3a295cce628749da85c864 +8f91fd8cb253ba2e71cc6f13da5e05f62c2c3b485c24f5d68397d04665673167fce1fc1aec6085c69e87e66ec555d3fd +a254baa10cb26d04136886073bb4c159af8a8532e3fd36b1e9c3a2e41b5b2b6a86c4ebc14dbe624ee07b7ccdaf59f9ab +94e3286fe5cd68c4c7b9a7d33ae3d714a7f265cf77cd0e9bc19fc51015b1d1c34ad7e3a5221c459e89f5a043ee84e3a9 +a279da8878af8d449a9539bec4b17cea94f0242911f66fab275b5143ab040825f78c89cb32a793930609415cfa3a1078 +ac846ceb89c9e5d43a2991c8443079dc32298cd63e370e64149cec98cf48a6351c09c856f2632fd2f2b3d685a18bbf8b +a847b27995c8a2e2454aaeb983879fb5d3a23105c33175839f7300b7e1e8ec3efd6450e9fa3f10323609dee7b98c6fd5 +a2f432d147d904d185ff4b2de8c6b82fbea278a2956bc406855b44c18041854c4f0ecccd472d1d0dff1d8aa8e281cb1d +94a48ad40326f95bd63dff4755f863a1b79e1df771a1173b17937f9baba57b39e651e7695be9f66a472f098b339364fc +a12a0ccd8f96e96e1bc6494341f7ebce959899341b3a084aa1aa87d1c0d489ac908552b7770b887bb47e7b8cbc3d8e66 +81a1f1681bda923bd274bfe0fbb9181d6d164fe738e54e25e8d4849193d311e2c4253614ed673c98af2c798f19a93468 +abf71106a05d501e84cc54610d349d7d5eae21a70bd0250f1bebbf412a130414d1c8dbe673ffdb80208fd72f1defa4d4 +96266dc2e0df18d8136d79f5b59e489978eee0e6b04926687fe389d4293c14f36f055c550657a8e27be4118b64254901 +8df5dcbefbfb4810ae3a413ca6b4bf08619ca53cd50eb1dde2a1c035efffc7b7ac7dff18d403253fd80104bd83dc029e +9610b87ff02e391a43324a7122736876d5b3af2a137d749c52f75d07b17f19900b151b7f439d564f4529e77aa057ad12 +a90a5572198b40fe2fcf47c422274ff36c9624df7db7a89c0eb47eb48a73a03c985f4ac5016161c76ca317f64339bce1 +98e5e61a6ab6462ba692124dba7794b6c6bde4249ab4fcc98c9edd631592d5bc2fb5e38466691a0970a38e48d87c2e43 +918cefb8f292f78d4db81462c633daf73b395e772f47b3a7d2cea598025b1d8c3ec0cbff46cdb23597e74929981cde40 +a98918a5dc7cf610fe55f725e4fd24ce581d594cb957bb9b4e888672e9c0137003e1041f83e3f1d7b9caab06462c87d4 +b92b74ac015262ca66c33f2d950221e19d940ba3bf4cf17845f961dc1729ae227aa9e1f2017829f2135b489064565c29 +a053ee339f359665feb178b4e7ee30a85df37debd17cacc5a27d6b3369d170b0114e67ad1712ed26d828f1df641bcd99 +8c3c8bad510b35da5ce5bd84b35c958797fbea024ad1c97091d2ff71d9b962e9222f65a9b776e5b3cc29c36e1063d2ee +af99dc7330fe7c37e850283eb47cc3257888e7c197cb0d102edf94439e1e02267b6a56306d246c326c4c79f9dc8c6986 +afecb2dc34d57a725efbd7eb93d61eb29dbe8409b668ab9ea040791f5b796d9be6d4fc10d7f627bf693452f330cf0435 +93334fedf19a3727a81a6b6f2459db859186227b96fe7a391263f69f1a0884e4235de64d29edebc7b99c44d19e7c7d7a +89579c51ac405ad7e9df13c904061670ce4b38372492764170e4d3d667ed52e5d15c7cd5c5991bbfa3a5e4e3fa16363e +9778f3e8639030f7ef1c344014f124e375acb8045bd13d8e97a92c5265c52de9d1ffebaa5bc3e1ad2719da0083222991 +88f77f34ee92b3d36791bdf3326532524a67d544297dcf1a47ff00b47c1b8219ff11e34034eab7d23b507caa2fd3c6b9 +a699c1e654e7c484431d81d90657892efeb4adcf72c43618e71ca7bd7c7a7ebbb1db7e06e75b75dc4c74efd306b5df3f +81d13153baebb2ef672b5bdb069d3cd669ce0be96b742c94e04038f689ff92a61376341366b286eee6bf3ae85156f694 +81efb17de94400fdacc1deec2550cbe3eecb27c7af99d8207e2f9be397e26be24a40446d2a09536bb5172c28959318d9 +989b21ebe9ceab02488992673dc071d4d5edec24bff0e17a4306c8cb4b3c83df53a2063d1827edd8ed16d6e837f0d222 +8d6005d6536825661b13c5fdce177cb37c04e8b109b7eb2b6d82ea1cb70efecf6a0022b64f84d753d165edc2bba784a3 +a32607360a71d5e34af2271211652d73d7756d393161f4cf0da000c2d66a84c6826e09e759bd787d4fd0305e2439d342 +aaad8d6f6e260db45d51b2da723be6fa832e76f5fbcb77a9a31e7f090dd38446d3b631b96230d78208cae408c288ac4e +abcfe425255fd3c5cffd3a818af7650190c957b6b07b632443f9e33e970a8a4c3bf79ac9b71f4d45f238a04d1c049857 +aeabf026d4c783adc4414b5923dbd0be4b039cc7201219f7260d321f55e9a5b166d7b5875af6129c034d0108fdc5d666 +af49e740c752d7b6f17048014851f437ffd17413c59797e5078eaaa36f73f0017c3e7da020310cfe7d3c85f94a99f203 +8854ca600d842566e3090040cd66bb0b3c46dae6962a13946f0024c4a8aca447e2ccf6f240045f1ceee799a88cb9210c +b6c03b93b1ab1b88ded8edfa1b487a1ed8bdce8535244dddb558ffb78f89b1c74058f80f4db2320ad060d0c2a9c351cc +b5bd7d17372faff4898a7517009b61a7c8f6f0e7ed4192c555db264618e3f6e57fb30a472d169fea01bf2bf0362a19a8 +96eb1d38319dc74afe7e7eb076fcd230d19983f645abd14a71e6103545c01301b31c47ae931e025f3ecc01fb3d2f31fa +b55a8d30d4403067def9b65e16f867299f8f64c9b391d0846d4780bc196569622e7e5b64ce799b5aefac8f965b2a7a7b +8356d199a991e5cbbff608752b6291731b6b6771aed292f8948b1f41c6543e4ab1bedc82dd26d10206c907c03508df06 +97f4137445c2d98b0d1d478049de952610ad698c91c9d0f0e7227d2aae690e9935e914ec4a2ea1fbf3fc1dddfeeacebb +af5621707e0938320b15ddfc87584ab325fbdfd85c30efea36f8f9bd0707d7ec12c344eff3ec21761189518d192df035 +8ac7817e71ea0825b292687928e349da7140285d035e1e1abff0c3704fa8453faaae343a441b7143a74ec56539687cc4 +8a5e0a9e4758449489df10f3386029ada828d1762e4fb0a8ffe6b79e5b6d5d713cb64ed95960e126398b0cdb89002bc9 +81324be4a71208bbb9bca74b77177f8f1abb9d3d5d9db195d1854651f2cf333cd618d35400da0f060f3e1b025124e4b2 +849971d9d095ae067525b3cbc4a7dfae81f739537ade6d6cec1b42fb692d923176197a8770907c58069754b8882822d6 +89f830825416802477cc81fdf11084885865ee6607aa15aa4eb28e351c569c49b8a1b9b5e95ddc04fa0ebafe20071313 +9240aeeaff37a91af55f860b9badd466e8243af9e8c96a7aa8cf348cd270685ab6301bc135b246dca9eda696f8b0e350 +acf74db78cc33138273127599eba35b0fb4e7b9a69fe02dae18fc6692d748ca332bd00b22afa8e654ed587aab11833f3 +b091e6d37b157b50d76bd297ad752220cd5c9390fac16dc838f8557aed6d9833fc920b61519df21265406216315e883f +a6446c429ebf1c7793c622250e23594c836b2fbcaf6c5b3d0995e1595a37f50ea643f3e549b0be8bbdadd69044d72ab9 +93e675353bd60e996bf1c914d5267eeaa8a52fc3077987ccc796710ef9becc6b7a00e3d82671a6bdfb8145ee3c80245a +a2f731e43251d04ed3364aa2f072d05355f299626f2d71a8a38b6f76cf08c544133f7d72dd0ab4162814b674b9fc7fa6 +97a8b791a5a8f6e1d0de192d78615d73d0c38f1e557e4e15d15adc663d649e655bc8da3bcc499ef70112eafe7fb45c7a +98cd624cbbd6c53a94469be4643c13130916b91143425bcb7d7028adbbfede38eff7a21092af43b12d4fab703c116359 +995783ce38fd5f6f9433027f122d4cf1e1ff3caf2d196ce591877f4a544ce9113ead60de2de1827eaff4dd31a20d79a8 +8cf251d6f5229183b7f3fe2f607a90b4e4b6f020fb4ba2459d28eb8872426e7be8761a93d5413640a661d73e34a5b81f +b9232d99620652a3aa7880cad0876f153ff881c4ed4c0c2e7b4ea81d5d42b70daf1a56b869d752c3743c6d4c947e6641 +849716f938f9d37250cccb1bf77f5f9fde53096cdfc6f2a25536a6187029a8f1331cdbed08909184b201f8d9f04b792f +80c7c4de098cbf9c6d17b14eba1805e433b5bc905f6096f8f63d34b94734f2e4ebf4bce8a177efd1186842a61204a062 +b790f410cf06b9b8daadceeb4fd5ff40a2deda820c8df2537e0a7554613ae3948e149504e3e79aa84889df50c8678eeb +813aab8bd000299cd37485b73cd7cba06e205f8efb87f1efc0bae8b70f6db2bc7702eb39510ad734854fb65515fe9d0f +94f0ab7388ac71cdb67f6b85dfd5945748afb2e5abb622f0b5ad104be1d4d0062b651f134ba22385c9e32c2dfdcccce1 +ab6223dca8bd6a4f969e21ccd9f8106fc5251d321f9e90cc42cea2424b3a9c4e5060a47eeef6b23c7976109b548498e8 +859c56b71343fce4d5c5b87814c47bf55d581c50fd1871a17e77b5e1742f5af639d0e94d19d909ec7dfe27919e954e0c +aae0d632b6191b8ad71b027791735f1578e1b89890b6c22e37de0e4a6074886126988fe8319ae228ac9ef3b3bcccb730 +8ca9f32a27a024c3d595ecfaf96b0461de57befa3b331ab71dc110ec3be5824fed783d9516597537683e77a11d334338 +a061df379fb3f4b24816c9f6cd8a94ecb89b4c6dc6cd81e4b8096fa9784b7f97ab3540259d1de9c02eb91d9945af4823 +998603102ac63001d63eb7347a4bb2bf4cf33b28079bb48a169076a65c20d511ccd3ef696d159e54cc8e772fb5d65d50 +94444d96d39450872ac69e44088c252c71f46be8333a608a475147752dbb99db0e36acfc5198f158509401959c12b709 +ac1b51b6c09fe055c1d7c9176eea9adc33f710818c83a1fbfa073c8dc3a7eb3513cbdd3f5960b7845e31e3e83181e6ba +803d530523fc9e1e0f11040d2412d02baef3f07eeb9b177fa9bfa396af42eea898a4276d56e1db998dc96ae47b644cb2 +85a3c9fc7638f5bf2c3e15ba8c2fa1ae87eb1ceb44c6598c67a2948667a9dfa41e61f66d535b4e7fda62f013a5a8b885 +a961cf5654c46a1a22c29baf7a4e77837a26b7f138f410e9d1883480ed5fa42411d522aba32040b577046c11f007388e +ad1154142344f494e3061ef45a34fab1aaacf5fdf7d1b26adbb5fbc3d795655fa743444e39d9a4119b4a4f82a6f30441 +b1d6c30771130c77806e7ab893b73d4deb590b2ff8f2f8b5e54c2040c1f3e060e2bd99afc668cf706a2df666a508bbf6 +a00361fd440f9decabd98d96c575cd251dc94c60611025095d1201ef2dedde51cb4de7c2ece47732e5ed9b3526c2012c +a85c5ab4d17d328bda5e6d839a9a6adcc92ff844ec25f84981e4f44a0e8419247c081530f8d9aa629c7eb4ca21affba6 +a4ddd3eab4527a2672cf9463db38bc29f61460e2a162f426b7852b7a7645fbd62084fd39a8e4d60e1958cce436dd8f57 +811648140080fe55b8618f4cf17f3c5a250adb0cd53d885f2ddba835d2b4433188e41fc0661faac88e4ff910b16278c0 +b85c7f1cfb0ed29addccf7546023a79249e8f15ac2d14a20accbfef4dd9dc11355d599815fa09d2b6b4e966e6ea8cff1 +a10b5d8c260b159043b020d5dd62b3467df2671afea6d480ca9087b7e60ed170c82b121819d088315902842d66c8fb45 +917e191df1bcf3f5715419c1e2191da6b8680543b1ba41fe84ed07ef570376e072c081beb67b375fca3565a2565bcabb +881fd967407390bfd7badc9ab494e8a287559a01eb07861f527207c127eadea626e9bcc5aa9cca2c5112fbac3b3f0e9c +959fd71149af82cc733619e0e5bf71760ca2650448c82984b3db74030d0e10f8ab1ce1609a6de6f470fe8b5bd90df5b3 +a3370898a1c5f33d15adb4238df9a6c945f18b9ada4ce2624fc32a844f9ece4c916a64e9442225b6592afa06d2e015f2 +817efb8a791435e4236f7d7b278181a5fa34587578c629dbc14fbf9a5c26772290611395eecd20222a4c58649fc256d8 +a04c9876acf2cfdc8ef96de4879742709270fa1d03fe4c8511fbef2d59eb0aaf0336fa2c7dfe41a651157377fa217813 +81e15875d7ea7f123e418edf14099f2e109d4f3a6ce0eb65f67fe9fb10d2f809a864a29f60ad3fc949f89e2596b21783 +b49f529975c09e436e6bc202fdc16e3fdcbe056db45178016ad6fdece9faad4446343e83aed096209690b21a6910724f +879e8eda589e1a279f7f49f6dd0580788c040d973748ec4942dbe51ea8fbd05983cc919b78f0c6b92ef3292ae29db875 +81a2b74b2118923f34139a102f3d95e7eee11c4c2929c2576dee200a5abfd364606158535a6c9e4178a6a83dbb65f3c4 +8913f281d8927f2b45fc815d0f7104631cb7f5f7278a316f1327d670d15868daadd2a64e3eb98e1f53fe7e300338cc80 +a6f815fba7ef9af7fbf45f93bc952e8b351f5de6568a27c7c47a00cb39a254c6b31753794f67940fc7d2e9cc581529f4 +b3722a15c66a0014ce4d082de118def8d39190c15678a472b846225585f3a83756ae1b255b2e3f86a26168878e4773b2 +817ae61ab3d0dd5b6e24846b5a5364b1a7dc2e77432d9fed587727520ae2f307264ea0948c91ad29f0aea3a11ff38624 +b3db467464415fcad36dc1de2d6ba7686772a577cc2619242ac040d6734881a45d3b40ed4588db124e4289cfeec4bbf6 +ad66a14f5a54ac69603b16e5f1529851183da77d3cc60867f10aea41339dd5e06a5257982e9e90a352cdd32750f42ee4 +adafa3681ef45d685555601a25a55cf23358319a17f61e2179e704f63df83a73bdd298d12cf6cef86db89bd17119e11d +a379dc44cb6dd3b9d378c07b2ec654fec7ca2f272de6ba895e3d00d20c9e4c5550498a843c8ac67e4221db2115bedc1c +b7bf81c267a78efc6b9e5a904574445a6487678d7ef70054e3e93ea6a23f966c2b68787f9164918e3b16d2175459ed92 +b41d66a13a4afafd5760062b77f79de7e6ab8ccacde9c6c5116a6d886912fb491dc027af435b1b44aacc6af7b3c887f2 +9904d23a7c1c1d2e4bab85d69f283eb0a8e26d46e8b7b30224438015c936729b2f0af7c7c54c03509bb0500acb42d8a4 +ae30d65e9e20c3bfd603994ae2b175ff691d51f3e24b2d058b3b8556d12ca4c75087809062dddd4aaac81c94d15d8a17 +9245162fab42ac01527424f6013310c3eb462982518debef6c127f46ba8a06c705d7dc9f0a41e796ba8d35d60ae6cc64 +87fab853638d7a29a20f3ba2b1a7919d023e9415bfa78ebb27973d8cbc7626f584dc5665d2e7ad71f1d760eba9700d88 +85aac46ecd330608e5272430970e6081ff02a571e8ea444f1e11785ea798769634a22a142d0237f67b75369d3c484a8a +938c85ab14894cc5dfce3d80456f189a2e98eddbc8828f4ff6b1df1dcb7b42b17ca2ff40226a8a1390a95d63dca698dd +a18ce1f846e3e3c4d846822f60271eecf0f5d7d9f986385ac53c5ace9589dc7c0188910448c19b91341a1ef556652fa9 +8611608a9d844f0e9d7584ad6ccf62a5087a64f764caf108db648a776b5390feb51e5120f0ef0e9e11301af3987dd7dc +8106333ba4b4de8d1ae43bc9735d3fea047392e88efd6a2fa6f7b924a18a7a265ca6123c3edc0f36307dd7fb7fe89257 +a91426fa500951ff1b051a248c050b7139ca30dde8768690432d597d2b3c4357b11a577be6b455a1c5d145264dcf81fc +b7f9f90e0e450f37b081297f7f651bad0496a8b9afd2a4cf4120a2671aaaa8536dce1af301258bfbfdb122afa44c5048 +84126da6435699b0c09fa4032dec73d1fca21d2d19f5214e8b0bea43267e9a8dd1fc44f8132d8315e734c8e2e04d7291 +aff064708103884cb4f1a3c1718b3fc40a238d35cf0a7dc24bdf9823693b407c70da50df585bf5bc4e9c07d1c2d203e8 +a8b40fc6533752983a5329c31d376c7a5c13ce6879cc7faee648200075d9cd273537001fb4c86e8576350eaac6ba60c2 +a02db682bdc117a84dcb9312eb28fcbde12d49f4ce915cc92c610bb6965ec3cc38290f8c5b5ec70afe153956692cda95 +86decd22b25d300508472c9ce75d3e465b737e7ce13bc0fcce32835e54646fe12322ba5bc457be18bfd926a1a6ca4a38 +a18666ef65b8c2904fd598791f5627207165315a85ee01d5fb0e6b2e10bdd9b00babc447da5bd63445e3337de33b9b89 +89bb0c06effadefdaf34ffe4b123e1678a90d4451ee856c863df1e752eef41fd984689ded8f0f878bf8916d5dd8e8024 +97cfcba08ebec05d0073992a66b1d7d6fb9d95871f2cdc36db301f78bf8069294d1c259efef5c93d20dc937eedae3a1a +ac2643b14ece79dcb2e289c96776a47e2bebd40dd6dc74fd035df5bb727b5596f40e3dd2d2202141e69b0993717ede09 +a5e6fd88a2f9174d9bd4c6a55d9c30974be414992f22aa852f552c7648f722ed8077acf5aba030abd47939bb451b2c60 +8ad40a612824a7994487731a40b311b7349038c841145865539c6ada75c56de6ac547a1c23df190e0caaafecddd80ccc +953a7cea1d857e09202c438c6108060961f195f88c32f0e012236d7a4b39d840c61b162ec86436e8c38567328bea0246 +80d8b47a46dae1868a7b8ccfe7029445bbe1009dad4a6c31f9ef081be32e8e1ac1178c3c8fb68d3e536c84990cc035b1 +81ecd99f22b3766ce0aca08a0a9191793f68c754fdec78b82a4c3bdc2db122bbb9ebfd02fc2dcc6e1567a7d42d0cc16a +b1dd0446bccc25846fb95d08c1c9cc52fb51c72c4c5d169ffde56ecfe800f108dc1106d65d5c5bd1087c656de3940b63 +b87547f0931e164e96de5c550ca5aa81273648fe34f6e193cd9d69cf729cb432e17aa02e25b1c27a8a0d20a3b795e94e +820a94e69a927e077082aae66f6b292cfbe4589d932edf9e68e268c9bd3d71ef76cf7d169dd445b93967c25db11f58f1 +b0d07ddf2595270c39adfa0c8cf2ab1322979b0546aa4d918f641be53cd97f36c879bb75d205e457c011aca3bbd9f731 +8700b876b35b4b10a8a9372c5230acecd39539c1bb87515640293ad4464a9e02929d7d6a6a11112e8a29564815ac0de4 +a61a601c5bb27dcb97e37c8e2b9ce479c6b192a5e04d9ed5e065833c5a1017ee5f237b77d1a17be5d48f8e7cc0bcacf6 +92fb88fe774c1ba1d4a08cae3c0e05467ad610e7a3f1d2423fd47751759235fe0a3036db4095bd6404716aa03820f484 +b274f140d77a3ce0796f5e09094b516537ccaf27ae1907099bff172e6368ba85e7c3ef8ea2a07457cac48ae334da95b3 +b2292d9181f16581a9a9142490b2bdcdfb218ca6315d1effc8592100d792eb89d5356996c890441f04f2b4a95763503e +8897e73f576d86bc354baa3bd96e553107c48cf5889dcc23c5ba68ab8bcd4e81f27767be2233fdfa13d39f885087e668 +a29eac6f0829791c728d71abc49569df95a4446ecbfc534b39f24f56c88fe70301838dfc1c19751e7f3c5c1b8c6af6a0 +9346dc3720adc5df500a8df27fd9c75ef38dc5c8f4e8ed66983304750e66d502c3c59b8e955be781b670a0afc70a2167 +9566d534e0e30a5c5f1428665590617e95fd05d45f573715f58157854ad596ece3a3cfec61356aee342308d623e029d5 +a464fb8bffe6bd65f71938c1715c6e296cc6d0311a83858e4e7eb5873b7f2cf0c584d2101e3407b85b64ca78b2ac93ce +b54088f7217987c87e9498a747569ac5b2f8afd5348f9c45bf3fd9fbf713a20f495f49c8572d087efe778ac7313ad6d3 +91fa9f5f8000fe050f5b224d90b59fcce13c77e903cbf98ded752e5b3db16adb2bc1f8c94be48b69f65f1f1ad81d6264 +92d04a5b0ac5d8c8e313709b432c9434ecd3e73231f01e9b4e7952b87df60cbfa97b5dedd2200bd033b4b9ea8ba45cc1 +a94b90ad3c3d6c4bbe169f8661a790c40645b40f0a9d1c7220f01cf7fc176e04d80bab0ced9323fcafb93643f12b2760 +94d86149b9c8443b46196f7e5a3738206dd6f3be7762df488bcbb9f9ee285a64c997ed875b7b16b26604fa59020a8199 +82efe4ae2c50a2d7645240c173a047f238536598c04a2c0b69c96e96bd18e075a99110f1206bc213f39edca42ba00cc1 +ab8667685f831bc14d4610f84a5da27b4ea5b133b4d991741a9e64dceb22cb64a3ce8f1b6e101d52af6296df7127c9ad +83ba433661c05dcc5d562f4a9a261c8110dac44b8d833ae1514b1fc60d8b4ee395b18804baea04cb10adb428faf713c3 +b5748f6f660cc5277f1211d2b8649493ed8a11085b871cd33a5aea630abd960a740f08c08be5f9c21574600ac9bf5737 +a5c8dd12af48fb710642ad65ebb97ca489e8206741807f7acfc334f8035d3c80593b1ff2090c9bb7bd138f0c48714ca8 +a2b382fd5744e3babf454b1d806cc8783efeb4761bc42b6914ea48a46a2eae835efbe0a18262b6bc034379e03cf1262b +b3145ffaf603f69f15a64936d32e3219eea5ed49fdfd2f5bf40ea0dfd974b36fb6ff12164d4c2282d892db4cf3ff3ce1 +87a316fb213f4c5e30c5e3face049db66be4f28821bd96034714ec23d3e97849d7b301930f90a4323c7ccf53de23050c +b9de09a919455070fed6220fc179c8b7a4c753062bcd27acf28f5b9947a659c0b364298daf7c85c4ca6fca7f945add1f +806fbd98d411b76979464c40ad88bc07a151628a27fcc1012ba1dfbaf5b5cc9d962fb9b3386008978a12515edce934bc +a15268877fae0d21610ae6a31061ed7c20814723385955fac09fdc9693a94c33dea11db98bb89fdfe68f933490f5c381 +8d633fb0c4da86b2e0b37d8fad5972d62bff2ac663c5ec815d095cd4b7e1fe66ebef2a2590995b57eaf941983c7ad7a4 +8139e5dd9cf405e8ef65f11164f0440827d98389ce1b418b0c9628be983a9ddd6cf4863036ccb1483b40b8a527acd9ed +88b15fa94a08eac291d2b94a2b30eb851ff24addf2cc30b678e72e32cfcb3424cf4b33aa395d741803f3e578ddf524de +b5eaf0c8506e101f1646bcf049ee38d99ea1c60169730da893fd6020fd00a289eb2f415947e44677af49e43454a7b1be +8489822ad0647a7e06aa2aa5595960811858ddd4542acca419dd2308a8c5477648f4dd969a6740bb78aa26db9bfcc555 +b1e9a7b9f3423c220330d45f69e45fa03d7671897cf077f913c252e3e99c7b1b1cf6d30caad65e4228d5d7b80eb86e5e +b28fe9629592b9e6a55a1406903be76250b1c50c65296c10c5e48c64b539fb08fe11f68cf462a6edcbba71b0cee3feb2 +a41acf96a02c96cd8744ff6577c244fc923810d17ade133587e4c223beb7b4d99fa56eae311a500d7151979267d0895c +880798938fe4ba70721be90e666dfb62fcab4f3556fdb7b0dc8ec5bc34f6b4513df965eae78527136eb391889fe2caf9 +98d4d89d358e0fb7e212498c73447d94a83c1b66e98fc81427ab13acddb17a20f52308983f3a5a8e0aaacec432359604 +81430b6d2998fc78ba937a1639c6020199c52da499f68109da227882dc26d005b73d54c5bdcac1a04e8356a8ca0f7017 +a8d906a4786455eb74613aba4ce1c963c60095ffb8658d368df9266fdd01e30269ce10bf984e7465f34b4fd83beba26a +af54167ac1f954d10131d44a8e0045df00d581dd9e93596a28d157543fbe5fb25d213806ed7fb3cba6b8f5b5423562db +8511e373a978a12d81266b9afbd55035d7bc736835cfa921903a92969eeba3624437d1346b55382e61415726ab84a448 +8cf43eea93508ae586fa9a0f1354a1e16af659782479c2040874a46317f9e8d572a23238efa318fdfb87cc63932602b7 +b0bdd3bacff077173d302e3a9678d1d37936188c7ecc34950185af6b462b7c679815176f3cce5db19aac8b282f2d60ad +a355e9b87f2f2672052f5d4d65b8c1c827d24d89b0d8594641fccfb69aef1b94009105f3242058bb31c8bf51caae5a41 +b8baa9e4b950b72ff6b88a6509e8ed1304bc6fd955748b2e59a523a1e0c5e99f52aec3da7fa9ff407a7adf259652466c +840bc3dbb300ea6f27d1d6dd861f15680bd098be5174f45d6b75b094d0635aced539fa03ddbccb453879de77fb5d1fe9 +b4bc7e7e30686303856472bae07e581a0c0bfc815657c479f9f5931cff208d5c12930d2fd1ff413ebd8424bcd7a9b571 +89b5d514155d7999408334a50822508b9d689add55d44a240ff2bdde2eee419d117031f85e924e2a2c1ca77db9b91eea +a8604b6196f87a04e1350302e8aa745bba8dc162115d22657b37a1d1a98cb14876ddf7f65840b5dbd77e80cd22b4256c +83cb7acdb9e03247515bb2ce0227486ccf803426717a14510f0d59d45e998b245797d356f10abca94f7a14e1a2f0d552 +aeb3266a9f16649210ab2df0e1908ac259f34ce1f01162c22b56cf1019096ee4ea5854c36e30bb2feb06c21a71e8a45c +89e72e86edf2aa032a0fc9acf4d876a40865fbb2c8f87cb7e4d88856295c4ac14583e874142fd0c314a49aba68c0aa3c +8c3576eba0583c2a7884976b4ed11fe1fda4f6c32f6385d96c47b0e776afa287503b397fa516a455b4b8c3afeedc76db +a31e5b633bda9ffa174654fee98b5d5930a691c3c42fcf55673d927dbc8d91c58c4e42e615353145431baa646e8bbb30 +89f2f3f7a8da1544f24682f41c68114a8f78c86bd36b066e27da13acb70f18d9f548773a16bd8e24789420e17183f137 +ada27fa4e90a086240c9164544d2528621a415a5497badb79f8019dc3dce4d12eb6b599597e47ec6ac39c81efda43520 +90dc1eb21bf21c0187f359566fc4bf5386abea52799306a0e5a1151c0817c5f5bc60c86e76b1929c092c0f3ff48cedd2 +b702a53ebcc17ae35d2e735a347d2c700e9cbef8eadbece33cac83df483b2054c126593e1f462cfc00a3ce9d737e2af5 +9891b06455ec925a6f8eafffba05af6a38cc5e193acaaf74ffbf199df912c5197106c5e06d72942bbb032ce277b6417f +8c0ee71eb01197b019275bcf96cae94e81d2cdc3115dbf2d8e3080074260318bc9303597e8f72b18f965ad601d31ec43 +8aaf580aaf75c1b7a5f99ccf60503506e62058ef43b28b02f79b8536a96be3f019c9f71caf327b4e6730134730d1bef5 +ae6f9fc21dd7dfa672b25a87eb0a41644f7609fab5026d5cedb6e43a06dbbfd6d6e30322a2598c8dedde88c52eaed626 +8159b953ffece5693edadb2e906ebf76ff080ee1ad22698950d2d3bfc36ac5ea78f58284b2ca180664452d55bd54716c +ab7647c32ca5e9856ac283a2f86768d68de75ceeba9e58b74c5324f8298319e52183739aba4340be901699d66ac9eb3f +a4d85a5701d89bcfaf1572db83258d86a1a0717603d6f24ac2963ffcf80f1265e5ab376a4529ca504f4396498791253c +816080c0cdbfe61b4d726c305747a9eb58ac26d9a35f501dd32ba43c098082d20faf3ccd41aad24600aa73bfa453dfac +84f3afac024f576b0fd9acc6f2349c2fcefc3f77dbe5a2d4964d14b861b88e9b1810334b908cf3427d9b67a8aee74b18 +94b390655557b1a09110018e9b5a14490681ade275bdc83510b6465a1218465260d9a7e2a6e4ec700f58c31dc3659962 +a8c66826b1c04a2dd4c682543242e7a57acae37278bd09888a3d17747c5b5fec43548101e6f46d703638337e2fd3277b +86e6f4608a00007fa533c36a5b054c5768ccafe41ad52521d772dcae4c8a4bcaff8f7609be30d8fab62c5988cbbb6830 +837da4cf09ae8aa0bceb16f8b3bfcc3b3367aecac9eed6b4b56d7b65f55981ef066490764fb4c108792623ecf8cad383 +941ff3011462f9b5bf97d8cbdb0b6f5d37a1b1295b622f5485b7d69f2cb2bcabc83630dae427f0259d0d9539a77d8424 +b99e5d6d82aa9cf7d5970e7f710f4039ac32c2077530e4c2779250c6b9b373bc380adb0a03b892b652f649720672fc8c +a791c78464b2d65a15440b699e1e30ebd08501d6f2720adbc8255d989a82fcded2f79819b5f8f201bed84a255211b141 +84af7ad4a0e31fcbb3276ab1ad6171429cf39adcf78dc03750dc5deaa46536d15591e26d53e953dfb31e1622bc0743ab +a833e62fe97e1086fae1d4917fbaf09c345feb6bf1975b5cb863d8b66e8d621c7989ab3dbecda36bc9eaffc5eaa6fa66 +b4ef79a46a2126f53e2ebe62770feb57fd94600be29459d70a77c5e9cc260fa892be06cd60f886bf48459e48eb50d063 +b43b8f61919ea380bf151c294e54d3a3ff98e20d1ee5efbfe38aa2b66fafbc6a49739793bd5cb1c809f8b30466277c3a +ab37735af2412d2550e62df9d8b3b5e6f467f20de3890bf56faf1abf2bf3bd1d98dc3fa0ad5e7ab3fce0fa20409eb392 +82416b74b1551d484250d85bb151fabb67e29cce93d516125533df585bc80779ab057ea6992801a3d7d5c6dcff87a018 +8145d0787f0e3b5325190ae10c1d6bee713e6765fb6a0e9214132c6f78f4582bb2771aaeae40d3dad4bafb56bf7e36d8 +b6935886349ecbdd5774e12196f4275c97ec8279fdf28ccf940f6a022ebb6de8e97d6d2173c3fe402cbe9643bed3883b +87ef9b4d3dc71ac86369f8ed17e0dd3b91d16d14ae694bc21a35b5ae37211b043d0e36d8ff07dcc513fb9e6481a1f37f +ae1d0ded32f7e6f1dc8fef495879c1d9e01826f449f903c1e5034aeeabc5479a9e323b162b688317d46d35a42d570d86 +a40d16497004db4104c6794e2f4428d75bdf70352685944f3fbe17526df333e46a4ca6de55a4a48c02ecf0bde8ba03c0 +8d45121efba8cc308a498e8ee39ea6fa5cae9fb2e4aab1c2ff9d448aa8494ccbec9a078f978a86fcd97b5d5e7be7522a +a8173865c64634ba4ac2fa432740f5c05056a9deaf6427cb9b4b8da94ca5ddbc8c0c5d3185a89b8b28878194de9cdfcd +b6ec06a74d690f6545f0f0efba236e63d1fdfba54639ca2617408e185177ece28901c457d02b849fd00f1a53ae319d0a +b69a12df293c014a40070e3e760169b6f3c627caf9e50b35a93f11ecf8df98b2bc481b410eecb7ab210bf213bbe944de +97e7dc121795a533d4224803e591eef3e9008bab16f12472210b73aaf77890cf6e3877e0139403a0d3003c12c8f45636 +acdfa6fdd4a5acb7738cc8768f7cba84dbb95c639399b291ae8e4e63df37d2d4096900a84d2f0606bf534a9ccaa4993f +86ee253f3a9446a33e4d1169719b7d513c6b50730988415382faaf751988c10a421020609f7bcdef91be136704b906e2 +aac9438382a856caf84c5a8a234282f71b5fc5f65219103b147e7e6cf565522285fbfd7417b513bdad8277a00f652ca1 +83f3799d8e5772527930f5dc071a2e0a65471618993ec8990a96ccdeee65270e490bda9d26bb877612475268711ffd80 +93f28a81ac8c0ec9450b9d762fae9c7f8feaace87a6ee6bd141ef1d2d0697ef1bbd159fe6e1de640dbdab2b0361fca8a +a0825c95ba69999b90eac3a31a3fd830ea4f4b2b7409bde5f202b61d741d6326852ce790f41de5cb0eccec7af4db30c1 +83924b0e66233edd603c3b813d698daa05751fc34367120e3cf384ea7432e256ccee4d4daf13858950549d75a377107d +956fd9fa58345277e06ba2ec72f49ed230b8d3d4ff658555c52d6cddeb84dd4e36f1a614f5242d5ca0192e8daf0543c2 +944869912476baae0b114cced4ff65c0e4c90136f73ece5656460626599051b78802df67d7201c55d52725a97f5f29fe +865cb25b64b4531fb6fe4814d7c8cd26b017a6c6b72232ff53defc18a80fe3b39511b23f9e4c6c7249d06e03b2282ed2 +81e09ff55214960775e1e7f2758b9a6c4e4cd39edf7ec1adfaad51c52141182b79fe2176b23ddc7df9fd153e5f82d668 +b31006896f02bc90641121083f43c3172b1039334501fbaf1672f7bf5d174ddd185f945adf1a9c6cf77be34c5501483d +88b92f6f42ae45e9f05b16e52852826e933efd0c68b0f2418ac90957fd018df661bc47c8d43c2a7d7bfcf669dab98c3c +92fc68f595853ee8683930751789b799f397135d002eda244fe63ecef2754e15849edde3ba2f0cc8b865c9777230b712 +99ca06a49c5cd0bb097c447793fcdd809869b216a34c66c78c7e41e8c22f05d09168d46b8b1f3390db9452d91bc96dea +b48b9490a5d65296802431852d548d81047bbefc74fa7dc1d4e2a2878faacdfcb365ae59209cb0ade01901a283cbd15d +aff0fdbef7c188b120a02bc9085d7b808e88f73973773fef54707bf2cd772cd066740b1b6f4127b5c349f657bd97e738 +966fd4463b4f43dd8ccba7ad50baa42292f9f8b2e70da23bb6780e14155d9346e275ef03ddaf79e47020dcf43f3738bd +9330c3e1fadd9e08ac85f4839121ae20bbeb0a5103d84fa5aadbd1213805bdcda67bf2fb75fc301349cbc851b5559d20 +993bb99867bd9041a71a55ad5d397755cfa7ab6a4618fc526179bfc10b7dc8b26e4372fe9a9b4a15d64f2b63c1052dda +a29b59bcfab51f9b3c490a3b96f0bf1934265c315349b236012adbd64a56d7f6941b2c8cc272b412044bc7731f71e1dc +a65c9cefe1fc35d089fe8580c2e7671ebefdb43014ac291528ff4deefd4883fd4df274af83711dad610dad0d615f9d65 +944c78c56fb227ae632805d448ca3884cd3d2a89181cead3d2b7835e63297e6d740aa79a112edb1d4727824991636df5 +a73d782da1db7e4e65d7b26717a76e16dd9fab4df65063310b8e917dc0bc24e0d6755df5546c58504d04d9e68c3b474a +af80f0b87811ae3124f68108b4ca1937009403f87928bbc53480e7c5408d072053ace5eeaf5a5aba814dab8a45502085 +88aaf1acfc6e2e19b8387c97da707cb171c69812fefdd4650468e9b2c627bd5ccfb459f4d8e56bdfd84b09ddf87e128f +92c97276ff6f72bab6e9423d02ad6dc127962dbce15a0dd1e4a393b4510c555df6aa27be0f697c0d847033a9ca8b8dfd +a0e07d43d96e2d85b6276b3c60aadb48f0aedf2de8c415756dc597249ea64d2093731d8735231dadc961e5682ac59479 +adc9e6718a8f9298957d1da3842a7751c5399bbdf56f8de6c1c4bc39428f4aee6f1ba6613d37bf46b9403345e9d6fc81 +951da434da4b20d949b509ceeba02e24da7ed2da964c2fcdf426ec787779c696b385822c7dbea4df3e4a35921f1e912c +a04cbce0d2b2e87bbf038c798a12ec828423ca6aca08dc8d481cf6466e3c9c73d4d4a7fa47df9a7e2e15aae9e9f67208 +8f855cca2e440d248121c0469de1f94c2a71b8ee2682bbad3a78243a9e03da31d1925e6760dbc48a1957e040fae9abe8 +b642e5b17c1df4a4e101772d73851180b3a92e9e8b26c918050f51e6dd3592f102d20b0a1e96f0e25752c292f4c903ff +a92454c300781f8ae1766dbbb50a96192da7d48ef4cbdd72dd8cbb44c6eb5913c112cc38e9144615fdc03684deb99420 +8b74f7e6c2304f8e780df4649ef8221795dfe85fdbdaa477a1542d135b75c8be45bf89adbbb6f3ddf54ca40f02e733e9 +85cf66292cbb30cec5fd835ab10c9fcb3aea95e093aebf123e9a83c26f322d76ebc89c4e914524f6c5f6ee7d74fc917d +ae0bfe0cdc97c09542a7431820015f2d16067b30dca56288013876025e81daa8c519e5e347268e19aa1a85fa1dc28793 +921322fc6a47dc091afa0ad6df18ed14cde38e48c6e71550aa513918b056044983aee402de21051235eecf4ce8040fbe +96c030381e97050a45a318d307dcb3c8377b79b4dd5daf6337cded114de26eb725c14171b9b8e1b3c08fe1f5ea6b49e0 +90c23b86b6111818c8baaf53a13eaee1c89203b50e7f9a994bf0edf851919b48edbac7ceef14ac9414cf70c486174a77 +8bf6c301240d2d1c8d84c71d33a6dfc6d9e8f1cfae66d4d0f7a256d98ae12b0bcebfa94a667735ee89f810bcd7170cff +a41a4ffbbea0e36874d65c009ee4c3feffff322f6fc0e30d26ee4dbc1f46040d05e25d9d0ecb378cef0d24a7c2c4b850 +a8d4cdd423986bb392a0a92c12a8bd4da3437eec6ef6af34cf5310944899287452a2eb92eb5386086d5063381189d10e +a81dd26ec057c4032a4ed7ad54d926165273ed51d09a1267b2e477535cf6966835a257c209e4e92d165d74fa75695fa3 +8d7f708c3ee8449515d94fc26b547303b53d8dd55f177bc3b25d3da2768accd9bc8e9f09546090ebb7f15c66e6c9c723 +839ba65cffcd24cfffa7ab3b21faabe3c66d4c06324f07b2729c92f15cad34e474b0f0ddb16cd652870b26a756b731d3 +87f1a3968afec354d92d77e2726b702847c6afcabb8438634f9c6f7766de4c1504317dc4fa9a4a735acdbf985e119564 +91a8a7fd6542f3e0673f07f510d850864b34ac087eb7eef8845a1d14b2b1b651cbdc27fa4049bdbf3fea54221c5c8549 +aef3cf5f5e3a2385ead115728d7059e622146c3457d266c612e778324b6e06fbfb8f98e076624d2f3ce1035d65389a07 +819915d6232e95ccd7693fdd78d00492299b1983bc8f96a08dcb50f9c0a813ed93ae53c0238345d5bea0beda2855a913 +8e9ba68ded0e94935131b392b28218315a185f63bf5e3c1a9a9dd470944509ca0ba8f6122265f8da851b5cc2abce68f1 +b28468e9b04ee9d69003399a3cf4457c9bf9d59f36ab6ceeb8e964672433d06b58beeea198fedc7edbaa1948577e9fa2 +a633005e2c9f2fd94c8bce2dd5bb708fe946b25f1ec561ae65e54e15cdd88dc339f1a083e01f0d39610c8fe24151aaf0 +841d0031e22723f9328dd993805abd13e0c99b0f59435d2426246996b08d00ce73ab906f66c4eab423473b409e972ce0 +85758d1b084263992070ec8943f33073a2d9b86a8606672550c17545507a5b3c88d87382b41916a87ee96ff55a7aa535 +8581b06b0fc41466ef94a76a1d9fb8ae0edca6d018063acf6a8ca5f4b02d76021902feba58972415691b4bdbc33ae3b4 +83539597ff5e327357ee62bc6bf8c0bcaec2f227c55c7c385a4806f0d37fb461f1690bad5066b8a5370950af32fafbef +aee3557290d2dc10827e4791d00e0259006911f3f3fce4179ed3c514b779160613eca70f720bff7804752715a1266ffa +b48d2f0c4e90fc307d5995464e3f611a9b0ef5fe426a289071f4168ed5cc4f8770c9332960c2ca5c8c427f40e6bb389f +847af8973b4e300bb06be69b71b96183fd1a0b9d51b91701bef6fcfde465068f1eb2b1503b07afda380f18d69de5c9e1 +a70a6a80ce407f07804c0051ac21dc24d794b387be94eb24e1db94b58a78e1bcfb48cd0006db8fc1f9bedaece7a44fbe +b40e942b8fa5336910ff0098347df716bff9d1fa236a1950c16eeb966b3bc1a50b8f7b0980469d42e75ae13ced53cead +b208fabaa742d7db3148515330eb7a3577487845abdb7bd9ed169d0e081db0a5816595c33d375e56aeac5b51e60e49d3 +b7c8194b30d3d6ef5ab66ec88ad7ebbc732a3b8a41731b153e6f63759a93f3f4a537eab9ad369705bd730184bdbbdc34 +9280096445fe7394d04aa1bc4620c8f9296e991cc4d6c131bd703cb1cc317510e6e5855ac763f4d958c5edfe7eebeed7 +abc2aa4616a521400af1a12440dc544e3c821313d0ab936c86af28468ef8bbe534837e364598396a81cf8d06274ed5a6 +b18ca8a3325adb0c8c18a666d4859535397a1c3fe08f95eebfac916a7a99bbd40b3c37b919e8a8ae91da38bc00fa56c0 +8a40c33109ecea2a8b3558565877082f79121a432c45ec2c5a5e0ec4d1c203a6788e6b69cb37f1fd5b8c9a661bc5476d +88c47301dd30998e903c84e0b0f2c9af2e1ce6b9f187dab03528d44f834dc991e4c86d0c474a2c63468cf4020a1e24a0 +920c832853e6ab4c851eecfa9c11d3acc7da37c823be7aa1ab15e14dfd8beb5d0b91d62a30cec94763bd8e4594b66600 +98e1addbe2a6b8edc7f12ecb9be81c3250aeeca54a1c6a7225772ca66549827c15f3950d01b8eb44aecb56fe0fff901a +8cfb0fa1068be0ec088402f5950c4679a2eb9218c729da67050b0d1b2d7079f3ddf4bf0f57d95fe2a8db04bc6bcdb20c +b70f381aafe336b024120453813aeab70baac85b9c4c0f86918797b6aee206e6ed93244a49950f3d8ec9f81f4ac15808 +a4c8edf4aa33b709a91e1062939512419711c1757084e46f8f4b7ed64f8e682f4e78b7135920c12f0eb0422fe9f87a6a +b4817e85fd0752d7ebb662d3a51a03367a84bac74ebddfba0e5af5e636a979500f72b148052d333b3dedf9edd2b4031b +a87430169c6195f5d3e314ff2d1c2f050e766fd5d2de88f5207d72dba4a7745bb86d0baca6e9ae156582d0d89e5838c7 +991b00f8b104566b63a12af4826b61ce7aa40f4e5b8fff3085e7a99815bdb4471b6214da1e480214fac83f86a0b93cc5 +b39966e3076482079de0678477df98578377a094054960ee518ef99504d6851f8bcd3203e8da5e1d4f6f96776e1fe6eb +a448846d9dc2ab7a0995fa44b8527e27f6b3b74c6e03e95edb64e6baa4f1b866103f0addb97c84bef1d72487b2e21796 +894bec21a453ae84b592286e696c35bc30e820e9c2fd3e63dd4fbe629e07df16439c891056070faa490155f255bf7187 +a9ec652a491b11f6a692064e955f3f3287e7d2764527e58938571469a1e29b5225b9415bd602a45074dfbfe9c131d6ca +b39d37822e6cbe28244b5f42ce467c65a23765bd16eb6447c5b3e942278069793763483dafd8c4dd864f8917aad357fe +88dba51133f2019cb266641c56101e3e5987d3b77647a2e608b5ff9113dfc5f85e2b7c365118723131fbc0c9ca833c9c +b566579d904b54ecf798018efcb824dccbebfc6753a0fd2128ac3b4bd3b038c2284a7c782b5ca6f310eb7ea4d26a3f0a +a97a55c0a492e53c047e7d6f9d5f3e86fb96f3dddc68389c0561515343b66b4bc02a9c0d5722dff1e3445308240b27f7 +a044028ab4bcb9e1a2b9b4ca4efbf04c5da9e4bf2fff0e8bd57aa1fc12a71e897999c25d9117413faf2f45395dee0f13 +a78dc461decbeaeed8ebd0909369b491a5e764d6a5645a7dac61d3140d7dc0062526f777b0eb866bff27608429ebbdde +b2c2a8991f94c39ca35fea59f01a92cb3393e0eccb2476dfbf57261d406a68bd34a6cff33ed80209991688c183609ef4 +84189eefb521aff730a4fd3fd5b10ddfd29f0d365664caef63bb015d07e689989e54c33c2141dd64427805d37a7e546e +85ac80bd734a52235da288ff042dea9a62e085928954e8eacd2c751013f61904ed110e5b3afe1ab770a7e6485efb7b5e +9183a560393dcb22d0d5063e71182020d0fbabb39e32493eeffeb808df084aa243eb397027f150b55a247d1ed0c8513e +81c940944df7ecc58d3c43c34996852c3c7915ed185d7654627f7af62abae7e0048dd444a6c09961756455000bd96d09 +aa8c34e164019743fd8284b84f06c3b449aae7996e892f419ee55d82ad548cb300fd651de329da0384243954c0ef6a60 +89a7b7bdfc7e300d06a14d463e573d6296d8e66197491900cc9ae49504c4809ff6e61b758579e9091c61085ba1237b83 +878d21809ba540f50bd11f4c4d9590fb6f3ab9de5692606e6e2ef4ed9d18520119e385be5e1f4b3f2e2b09c319f0e8fc +8eb248390193189cf0355365e630b782cd15751e672dc478b39d75dc681234dcd9309df0d11f4610dbb249c1e6be7ef9 +a1d7fb3aecb896df3a52d6bd0943838b13f1bd039c936d76d03de2044c371d48865694b6f532393b27fd10a4cf642061 +a34bca58a24979be442238cbb5ece5bee51ae8c0794dd3efb3983d4db713bc6f28a96e976ac3bd9a551d3ed9ba6b3e22 +817c608fc8cacdd178665320b5a7587ca21df8bdd761833c3018b967575d25e3951cf3d498a63619a3cd2ad4406f5f28 +86c95707db0495689afd0c2e39e97f445f7ca0edffad5c8b4cacd1421f2f3cc55049dfd504f728f91534e20383955582 +99c3b0bb15942c301137765d4e19502f65806f3b126dc01a5b7820c87e8979bce6a37289a8f6a4c1e4637227ad5bf3bf +8aa1518a80ea8b074505a9b3f96829f5d4afa55a30efe7b4de4e5dbf666897fdd2cf31728ca45921e21a78a80f0e0f10 +8d74f46361c79e15128ac399e958a91067ef4cec8983408775a87eca1eed5b7dcbf0ddf30e66f51780457413496c7f07 +a41cde4a786b55387458a1db95171aca4fd146507b81c4da1e6d6e495527c3ec83fc42fad1dfe3d92744084a664fd431 +8c352852c906fae99413a84ad11701f93f292fbf7bd14738814f4c4ceab32db02feb5eb70bc73898b0bc724a39d5d017 +a5993046e8f23b71ba87b7caa7ace2d9023fb48ce4c51838813174880d918e9b4d2b0dc21a2b9c6f612338c31a289df8 +83576d3324bf2d8afbfb6eaecdc5d767c8e22e7d25160414924f0645491df60541948a05e1f4202e612368e78675de8a +b43749b8df4b15bc9a3697e0f1c518e6b04114171739ef1a0c9c65185d8ec18e40e6954d125cbc14ebc652cf41ad3109 +b4eebd5d80a7327a040cafb9ccdb12b2dfe1aa86e6bc6d3ac8a57fadfb95a5b1a7332c66318ff72ba459f525668af056 +9198be7f1d413c5029b0e1c617bcbc082d21abe2c60ec8ce9b54ca1a85d3dba637b72fda39dae0c0ae40d047eab9f55a +8d96a0232832e24d45092653e781e7a9c9520766c3989e67bbe86b3a820c4bf621ea911e7cd5270a4bfea78b618411f6 +8d7160d0ea98161a2d14d46ef01dff72d566c330cd4fabd27654d300e1bc7644c68dc8eabf2a20a59bfe7ba276545f9b +abb60fce29dec7ba37e3056e412e0ec3e05538a1fc0e2c68877378c867605966108bc5742585ab6a405ce0c962b285b6 +8fabffa3ed792f05e414f5839386f6449fd9f7b41a47595c5d71074bd1bb3784cc7a1a7e1ad6b041b455035957e5b2dc +90ff017b4804c2d0533b72461436b10603ab13a55f86fd4ec11b06a70ef8166f958c110519ca1b4cc7beba440729fe2d +b340cfd120f6a4623e3a74cf8c32bfd7cd61a280b59dfd17b15ca8fae4d82f64a6f15fbde4c02f424debc72b7db5fe67 +871311c9c7220c932e738d59f0ecc67a34356d1429fe570ca503d340c9996cb5ee2cd188fad0e3bd16e4c468ec1dbebd +a772470262186e7b94239ba921b29f2412c148d6f97c4412e96d21e55f3be73f992f1ad53c71008f0558ec3f84e2b5a7 +b2a897dcb7ffd6257f3f2947ec966f2077d57d5191a88840b1d4f67effebe8c436641be85524d0a21be734c63ab5965d +a044f6eacc48a4a061fa149500d96b48cbf14853469aa4d045faf3dca973be1bd4b4ce01646d83e2f24f7c486d03205d +981af5dc2daa73f7fa9eae35a93d81eb6edba4a7f673b55d41f6ecd87a37685d31bb40ef4f1c469b3d72f2f18b925a17 +912d2597a07864de9020ac77083eff2f15ceb07600f15755aba61251e8ce3c905a758453b417f04d9c38db040954eb65 +9642b7f6f09394ba5e0805734ef6702c3eddf9eea187ba98c676d5bbaec0e360e3e51dc58433aaa1e2da6060c8659cb7 +8ab3836e0a8ac492d5e707d056310c4c8e0489ca85eb771bff35ba1d658360084e836a6f51bb990f9e3d2d9aeb18fbb5 +879e058e72b73bb1f4642c21ffdb90544b846868139c6511f299aafe59c2d0f0b944dffc7990491b7c4edcd6a9889250 +b9e60b737023f61479a4a8fd253ed0d2a944ea6ba0439bbc0a0d3abf09b0ad1f18d75555e4a50405470ae4990626f390 +b9c2535d362796dcd673640a9fa2ebdaec274e6f8b850b023153b0a7a30fffc87f96e0b72696f647ebe7ab63099a6963 +94aeff145386a087b0e91e68a84a5ede01f978f9dd9fe7bebca78941938469495dc30a96bba9508c0d017873aeea9610 +98b179f8a3d9f0d0a983c30682dd425a2ddc7803be59bd626c623c8951a5179117d1d2a68254c95c9952989877d0ee55 +889ecf5f0ee56938273f74eb3e9ecfb5617f04fb58e83fe4c0e4aef51615cf345bc56f3f61b17f6eed3249d4afd54451 +a0f2b2c39bcea4b50883e2587d16559e246248a66ecb4a4b7d9ab3b51fb39fe98d83765e087eee37a0f86b0ba4144c02 +b2a61e247ed595e8a3830f7973b07079cbda510f28ad8c78c220b26cb6acde4fbb5ee90c14a665f329168ee951b08cf0 +95bd0fcfb42f0d6d8a8e73d7458498a85bcddd2fb132fd7989265648d82ac2707d6d203fac045504977af4f0a2aca4b7 +843e5a537c298666e6cf50fcc044f13506499ef83c802e719ff2c90e85003c132024e04711be7234c04d4b0125512d5d +a46d1797c5959dcd3a5cfc857488f4d96f74277c3d13b98b133620192f79944abcb3a361d939a100187f1b0856eae875 +a1c7786736d6707a48515c38660615fcec67eb8a2598f46657855215f804fd72ab122d17f94fcffad8893f3be658dca7 +b23dc9e610abc7d8bd21d147e22509a0fa49db5be6ea7057b51aae38e31654b3aa044df05b94b718153361371ba2f622 +b00cc8f257d659c22d30e6d641f79166b1e752ea8606f558e4cad6fc01532e8319ea4ee12265ba4140ac45aa4613c004 +ac7019af65221b0cc736287b32d7f1a3561405715ba9a6a122342e04e51637ba911c41573de53e4781f2230fdcb2475f +81a630bc41b3da8b3eb4bf56cba10cd9f93153c3667f009dc332287baeb707d505fb537e6233c8e53d299ec0f013290c +a6b7aea5c545bb76df0f230548539db92bc26642572cb7dd3d5a30edca2b4c386f44fc8466f056b42de2a452b81aff5b +8271624ff736b7b238e43943c81de80a1612207d32036d820c11fc830c737972ccc9c60d3c2359922b06652311e3c994 +8a684106458cb6f4db478170b9ad595d4b54c18bf63b9058f095a2fa1b928c15101472c70c648873d5887880059ed402 +a5cc3c35228122f410184e4326cf61a37637206e589fcd245cb5d0cec91031f8f7586b80503070840fdfd8ce75d3c88b +9443fc631aed8866a7ed220890911057a1f56b0afe0ba15f0a0e295ab97f604b134b1ed9a4245e46ee5f9a93aa74f731 +984b6f7d79835dffde9558c6bb912d992ca1180a2361757bdba4a7b69dc74b056e303adc69fe67414495dd9c2dd91e64 +b15a5c8cba5de080224c274d31c68ed72d2a7126d347796569aef0c4e97ed084afe3da4d4b590b9dda1a07f0c2ff3dfb +991708fe9650a1f9a4e43938b91d45dc68c230e05ee999c95dbff3bf79b1c1b2bb0e7977de454237c355a73b8438b1d9 +b4f7edc7468b176a4a7c0273700c444fa95c726af6697028bed4f77eee887e3400f9c42ee15b782c0ca861c4c3b8c98a +8c60dcc16c51087eb477c13e837031d6c6a3dc2b8bf8cb43c23f48006bc7173151807e866ead2234b460c2de93b31956 +83ad63e9c910d1fc44bc114accfb0d4d333b7ebe032f73f62d25d3e172c029d5e34a1c9d547273bf6c0fead5c8801007 +85de73213cc236f00777560756bdbf2b16841ba4b55902cf2cad9742ecaf5d28209b012ceb41f337456dfeca93010cd7 +a7561f8827ccd75b6686ba5398bb8fc3083351c55a589b18984e186820af7e275af04bcd4c28e1dc11be1e8617a0610b +88c0a4febd4068850557f497ea888035c7fc9f404f6cc7794e7cc8722f048ad2f249e7dc62743e7a339eb7473ad3b0cd +932b22b1d3e6d5a6409c34980d176feb85ada1bf94332ef5c9fc4d42b907dabea608ceef9b5595ef3feee195151f18d8 +a2867bb3f5ab88fbdae3a16c9143ab8a8f4f476a2643c505bb9f37e5b1fd34d216cab2204c9a017a5a67b7ad2dda10e8 +b573d5f38e4e9e8a3a6fd82f0880dc049efa492a946d00283019bf1d5e5516464cf87039e80aef667cb86fdea5075904 +b948f1b5ab755f3f5f36af27d94f503b070696d793b1240c1bdfd2e8e56890d69e6904688b5f8ff5a4bdf5a6abfe195f +917eae95ebc4109a2e99ddd8fec7881d2f7aaa0e25fda44dec7ce37458c2ee832f1829db7d2dcfa4ca0f06381c7fe91d +95751d17ed00a3030bce909333799bb7f4ab641acf585807f355b51d6976dceee410798026a1a004ef4dcdff7ec0f5b8 +b9b7bd266f449a79bbfe075e429613e76c5a42ac61f01c8f0bbbd34669650682efe01ff9dbbc400a1e995616af6aa278 +ac1722d097ce9cd7617161f8ec8c23d68f1fb1c9ca533e2a8b4f78516c2fd8fb38f23f834e2b9a03bb06a9d655693ca9 +a7ad9e96ffd98db2ecdb6340c5d592614f3c159abfd832fe27ee9293519d213a578e6246aae51672ee353e3296858873 +989b8814d5de7937c4acafd000eec2b4cd58ba395d7b25f98cafd021e8efa37029b29ad8303a1f6867923f5852a220eb +a5bfe6282c771bc9e453e964042d44eff4098decacb89aecd3be662ea5b74506e1357ab26f3527110ba377711f3c9f41 +8900a7470b656639721d2abbb7b06af0ac4222ab85a1976386e2a62eb4b88bfb5b72cf7921ddb3cf3a395d7eeb192a2e +95a71b55cd1f35a438cf5e75f8ff11c5ec6a2ebf2e4dba172f50bfad7d6d5dca5de1b1afc541662c81c858f7604c1163 +82b5d62fea8db8d85c5bc3a76d68dedd25794cf14d4a7bc368938ffca9e09f7e598fdad2a5aac614e0e52f8112ae62b9 +997173f07c729202afcde3028fa7f52cefc90fda2d0c8ac2b58154a5073140683e54c49ed1f254481070d119ce0ce02a +aeffb91ccc7a72bbd6ffe0f9b99c9e66e67d59cec2e02440465e9636a613ab3017278cfa72ea8bc4aba9a8dc728cb367 +952743b06e8645894aeb6440fc7a5f62dd3acf96dab70a51e20176762c9751ea5f2ba0b9497ccf0114dc4892dc606031 +874c63baeddc56fbbca2ff6031f8634b745f6e34ea6791d7c439201aee8f08ef5ee75f7778700a647f3b21068513fce6 +85128fec9c750c1071edfb15586435cc2f317e3e9a175bb8a9697bcda1eb9375478cf25d01e7fed113483b28f625122d +85522c9576fd9763e32af8495ae3928ed7116fb70d4378448926bc9790e8a8d08f98cf47648d7da1b6e40d6a210c7924 +97d0f37a13cfb723b848099ca1c14d83e9aaf2f7aeb71829180e664b7968632a08f6a85f557d74b55afe6242f2a36e7c +abaa472d6ad61a5fccd1a57c01aa1bc081253f95abbcba7f73923f1f11c4e79b904263890eeb66926de3e2652f5d1c70 +b3c04945ba727a141e5e8aec2bf9aa3772b64d8fd0e2a2b07f3a91106a95cbcb249adcd074cbe498caf76fffac20d4ef +82c46781a3d730d9931bcabd7434a9171372dde57171b6180e5516d4e68db8b23495c8ac3ab96994c17ddb1cf249b9fb +a202d8b65613c42d01738ccd68ed8c2dbc021631f602d53f751966e04182743ebc8e0747d600b8a8676b1da9ae7f11ab +ae73e7256e9459db04667a899e0d3ea5255211fb486d084e6550b6dd64ca44af6c6b2d59d7aa152de9f96ce9b58d940d +b67d87b176a9722945ec7593777ee461809861c6cfd1b945dde9ee4ff009ca4f19cf88f4bbb5c80c9cbab2fe25b23ac8 +8f0b7a317a076758b0dac79959ee4a06c08b07d0f10538a4b53d3da2eda16e2af26922feb32c090330dc4d969cf69bd3 +90b36bf56adbd8c4b6cb32febc3a8d5f714370c2ac3305c10fa6d168dffb2a026804517215f9a2d4ec8310cdb6bb459b +aa80c19b0682ead69934bf18cf476291a0beddd8ef4ed75975d0a472e2ab5c70f119722a8574ae4973aceb733d312e57 +a3fc9abb12574e5c28dcb51750b4339b794b8e558675eef7d26126edf1de920c35e992333bcbffcbf6a5f5c0d383ce62 +a1573ff23ab972acdcd08818853b111fc757fdd35aa070186d3e11e56b172fb49d840bf297ac0dd222e072fc09f26a81 +98306f2be4caa92c2b4392212d0cbf430b409b19ff7d5b899986613bd0e762c909fc01999aa94be3bd529d67f0113d7f +8c1fc42482a0819074241746d17dc89c0304a2acdae8ed91b5009e9e3e70ff725ba063b4a3e68fdce05b74f5180c545e +a6c6113ebf72d8cf3163b2b8d7f3fa24303b13f55752522c660a98cd834d85d8c79214d900fa649499365e2e7641f77a +ab95eea424f8a2cfd9fb1c78bb724e5b1d71a0d0d1e4217c5d0f98b0d8bbd3f8400a2002abc0a0e4576d1f93f46fefad +823c5a4fd8cf4a75fdc71d5f2dd511b6c0f189b82affeacd2b7cfcad8ad1a5551227dcc9bfdb2e34b2097eaa00efbb51 +b97314dfff36d80c46b53d87a61b0e124dc94018a0bb680c32765b9a2d457f833a7c42bbc90b3b1520c33a182580398d +b17566ee3dcc6bb3b004afe4c0136dfe7dd27df9045ae896dca49fb36987501ae069eb745af81ba3fc19ff037e7b1406 +b0bdc0f55cfd98d331e3a0c4fbb776a131936c3c47c6bffdc3aaf7d8c9fa6803fbc122c2fefbb532e634228687d52174 +aa5d9e60cc9f0598559c28bb9bdd52aa46605ab4ffe3d192ba982398e72cec9a2a44c0d0d938ce69935693cabc0887ea +802b6459d2354fa1d56c592ac1346c428dadea6b6c0a87bf7d309bab55c94e1cf31dd98a7a86bd92a840dd51f218b91b +a526914efdc190381bf1a73dd33f392ecf01350b9d3f4ae96b1b1c3d1d064721c7d6eec5788162c933245a3943f5ee51 +b3b8fcf637d8d6628620a1a99dbe619eabb3e5c7ce930d6efd2197e261bf394b74d4e5c26b96c4b8009c7e523ccfd082 +8f7510c732502a93e095aba744535f3928f893f188adc5b16008385fb9e80f695d0435bfc5b91cdad4537e87e9d2551c +97b90beaa56aa936c3ca45698f79273a68dd3ccd0076eab48d2a4db01782665e63f33c25751c1f2e070f4d1a8525bf96 +b9fb798324b1d1283fdc3e48288e3861a5449b2ab5e884b34ebb8f740225324af86e4711da6b5cc8361c1db15466602f +b6d52b53cea98f1d1d4c9a759c25bf9d8a50b604b144e4912acbdbdc32aab8b9dbb10d64a29aa33a4f502121a6fb481c +9174ffff0f2930fc228f0e539f5cfd82c9368d26b074467f39c07a774367ff6cccb5039ac63f107677d77706cd431680 +a33b6250d4ac9e66ec51c063d1a6a31f253eb29bbaed12a0d67e2eccfffb0f3a52750fbf52a1c2aaba8c7692346426e7 +a97025fd5cbcebe8ef865afc39cd3ea707b89d4e765ec817fd021d6438e02fa51e3544b1fd45470c58007a08efac6edd +b32a78480edd9ff6ba2f1eec4088db5d6ceb2d62d7e59e904ecaef7bb4a2e983a4588e51692b3be76e6ffbc0b5f911a5 +b5ab590ef0bb77191f00495b33d11c53c65a819f7d0c1f9dc4a2caa147a69c77a4fff7366a602d743ee1f395ce934c1e +b3fb0842f9441fb1d0ee0293b6efbc70a8f58d12d6f769b12872db726b19e16f0f65efbc891cf27a28a248b0ef9c7e75 +9372ad12856fefb928ccb0d34e198df99e2f8973b07e9d417a3134d5f69e12e79ff572c4e03ccd65415d70639bc7c73e +aa8d6e83d09ce216bfe2009a6b07d0110d98cf305364d5529c170a23e693aabb768b2016befb5ada8dabdd92b4d012bb +a954a75791eeb0ce41c85200c3763a508ed8214b5945a42c79bfdcfb1ec4f86ad1dd7b2862474a368d4ac31911a2b718 +8e2081cfd1d062fe3ab4dab01f68062bac802795545fede9a188f6c9f802cb5f884e60dbe866710baadbf55dc77c11a4 +a2f06003b9713e7dd5929501ed485436b49d43de80ea5b15170763fd6346badf8da6de8261828913ee0dacd8ff23c0e1 +98eecc34b838e6ffd1931ca65eec27bcdb2fdcb61f33e7e5673a93028c5865e0d1bf6d3bec040c5e96f9bd08089a53a4 +88cc16019741b341060b95498747db4377100d2a5bf0a5f516f7dec71b62bcb6e779de2c269c946d39040e03b3ae12b7 +ad1135ccbc3019d5b2faf59a688eef2500697642be8cfbdf211a1ab59abcc1f24483e50d653b55ff1834675ac7b4978f +a946f05ed9972f71dfde0020bbb086020fa35b482cce8a4cc36dd94355b2d10497d7f2580541bb3e81b71ac8bba3c49f +a83aeed488f9a19d8cfd743aa9aa1982ab3723560b1cd337fc2f91ad82f07afa412b3993afb845f68d47e91ba4869840 +95eebe006bfc316810cb71da919e5d62c2cebb4ac99d8e8ef67be420302320465f8b69873470982de13a7c2e23516be9 +a55f8961295a11e91d1e5deadc0c06c15dacbfc67f04ccba1d069cba89d72aa3b3d64045579c3ea8991b150ac29366ae +b321991d12f6ac07a5de3c492841d1a27b0d3446082fbce93e7e1f9e8d8fe3b45d41253556261c21b70f5e189e1a7a6f +a0b0822f15f652ce7962a4f130104b97bf9529797c13d6bd8e24701c213cc37f18157bd07f3d0f3eae6b7cd1cb40401f +96e2fa4da378aa782cc2d5e6e465fc9e49b5c805ed01d560e9b98abb5c0de8b74a2e7bec3aa5e2887d25cccb12c66f0c +97e4ab610d414f9210ed6f35300285eb3ccff5b0b6a95ed33425100d7725e159708ea78704497624ca0a2dcabce3a2f9 +960a375b17bdb325761e01e88a3ea57026b2393e1d887b34b8fa5d2532928079ce88dc9fd06a728b26d2bb41b12b9032 +8328a1647398e832aadc05bd717487a2b6fcdaa0d4850d2c4da230c6a2ed44c3e78ec4837b6094f3813f1ee99414713f +aa283834ebd18e6c99229ce4b401eda83f01d904f250fedd4e24f1006f8fa0712a6a89a7296a9bf2ce8de30e28d1408e +b29e097f2caadae3e0f0ae3473c072b0cd0206cf6d2e9b22c1a5ad3e07d433e32bd09ed1f4e4276a2da4268633357b7f +9539c5cbba14538b2fe077ecf67694ef240da5249950baaabea0340718b882a966f66d97f08556b08a4320ceb2cc2629 +b4529f25e9b42ae8cf8338d2eface6ba5cd4b4d8da73af502d081388135c654c0b3afb3aa779ffc80b8c4c8f4425dd2b +95be0739c4330619fbe7ee2249c133c91d6c07eab846c18c5d6c85fc21ac5528c5d56dcb0145af68ed0c6a79f68f2ccd +ac0c83ea802227bfc23814a24655c9ff13f729619bcffdb487ccbbf029b8eaee709f8bddb98232ef33cd70e30e45ca47 +b503becb90acc93b1901e939059f93e671900ca52c6f64ae701d11ac891d3a050b505d89324ce267bc43ab8275da6ffe +98e3811b55b1bacb70aa409100abb1b870f67e6d059475d9f278c751b6e1e2e2d6f2e586c81a9fb6597fda06e7923274 +b0b0f61a44053fa6c715dbb0731e35d48dba257d134f851ee1b81fd49a5c51a90ebf5459ec6e489fce25da4f184fbdb1 +b1d2117fe811720bb997c7c93fe9e4260dc50fca8881b245b5e34f724aaf37ed970cdad4e8fcb68e05ac8cf55a274a53 +a10f502051968f14b02895393271776dee7a06db9de14effa0b3471825ba94c3f805302bdddac4d397d08456f620999d +a3dbad2ef060ae0bb7b02eaa4a13594f3f900450faa1854fc09620b01ac94ab896321dfb1157cf2374c27e5718e8026a +b550fdec503195ecb9e079dcdf0cad559d64d3c30818ef369b4907e813e689da316a74ad2422e391b4a8c2a2bef25fc0 +a25ba865e2ac8f28186cea497294c8649a201732ecb4620c4e77b8e887403119910423df061117e5f03fc5ba39042db1 +b3f88174e03fdb443dd6addd01303cf88a4369352520187c739fc5ae6b22fa99629c63c985b4383219dab6acc5f6f532 +97a7503248e31e81b10eb621ba8f5210c537ad11b539c96dfb7cf72b846c7fe81bd7532c5136095652a9618000b7f8d3 +a8bcdc1ce5aa8bfa683a2fc65c1e79de8ff5446695dcb8620f7350c26d2972a23da22889f9e2b1cacb3f688c6a2953dc +8458c111df2a37f5dd91a9bee6c6f4b79f4f161c93fe78075b24a35f9817da8dde71763218d627917a9f1f0c4709c1ed +ac5f061a0541152b876cbc10640f26f1cc923c9d4ae1b6621e4bb3bf2cec59bbf87363a4eb72fb0e5b6d4e1c269b52d5 +a9a25ca87006e8a9203cbb78a93f50a36694aa4aad468b8d80d3feff9194455ca559fcc63838128a0ab75ad78c07c13a +a450b85f5dfffa8b34dfd8bc985f921318efacf8857cf7948f93884ba09fb831482ee90a44224b1a41e859e19b74962f +8ed91e7f92f5c6d7a71708b6132f157ac226ecaf8662af7d7468a4fa25627302efe31e4620ad28719318923e3a59bf82 +ab524165fd4c71b1fd395467a14272bd2b568592deafa039d8492e9ef36c6d3f96927c95c72d410a768dc0b6d1fbbc9b +b662144505aa8432c75ffb8d10318526b6d5777ac7af9ebfad87d9b0866c364f7905a6352743bd8fd79ffd9d5dd4f3e6 +a48f1677550a5cd40663bb3ba8f84caaf8454f332d0ceb1d94dbea52d0412fe69c94997f7749929712fd3995298572f7 +8391cd6e2f6b0c242de1117a612be99776c3dc95cb800b187685ea5bf7e2722275eddb79fd7dfc8be8e389c4524cdf70 +875d3acb9af47833b72900bc0a2448999d638f153c5e97e8a14ec02d0c76f6264353a7e275e1f1a5855daced523d243b +91f1823657d30b59b2f627880a9a9cb530f5aca28a9fd217fe6f2f5133690dfe7ad5a897872e400512db2e788b3f7628 +ad3564332aa56cea84123fc7ca79ea70bb4fef2009fa131cb44e4b15e8613bd11ca1d83b9d9bf456e4b7fee9f2e8b017 +8c530b84001936d5ab366c84c0b105241a26d1fb163669f17c8f2e94776895c2870edf3e1bc8ccd04d5e65531471f695 +932d01fa174fdb0c366f1230cffde2571cc47485f37f23ba5a1825532190cc3b722aeb1f15aed62cf83ccae9403ba713 +88b28c20585aca50d10752e84b901b5c2d58efef5131479fbbe53de7bce2029e1423a494c0298e1497669bd55be97a5d +b914148ca717721144ebb3d3bf3fcea2cd44c30c5f7051b89d8001502f3856fef30ec167174d5b76265b55d70f8716b5 +81d0173821c6ddd2a068d70766d9103d1ee961c475156e0cbd67d54e668a796310474ef698c7ab55abe6f2cf76c14679 +8f28e8d78e2fe7fa66340c53718e0db4b84823c8cfb159c76eac032a62fb53da0a5d7e24ca656cf9d2a890cb2a216542 +8a26360335c73d1ab51cec3166c3cf23b9ea51e44a0ad631b0b0329ef55aaae555420348a544e18d5760969281759b61 +94f326a32ed287545b0515be9e08149eb0a565025074796d72387cc3a237e87979776410d78339e23ef3172ca43b2544 +a785d2961a2fa5e70bffa137858a92c48fe749fee91b02599a252b0cd50d311991a08efd7fa5e96b78d07e6e66ffe746 +94af9030b5ac792dd1ce517eaadcec1482206848bea4e09e55cc7f40fd64d4c2b3e9197027c5636b70d6122c51d2235d +9722869f7d1a3992850fe7be405ec93aa17dc4d35e9e257d2e469f46d2c5a59dbd504056c85ab83d541ad8c13e8bcd54 +b13c4088b61a06e2c03ac9813a75ff1f68ffdfee9df6a8f65095179a475e29cc49119cad2ce05862c3b1ac217f3aace9 +8c64d51774753623666b10ca1b0fe63ae42f82ed6aa26b81dc1d48c86937c5772eb1402624c52a154b86031854e1fb9f +b47e4df18002b7dac3fee945bf9c0503159e1b8aafcce2138818e140753011b6d09ef1b20894e08ba3006b093559061b +93cb5970076522c5a0483693f6a35ffd4ea2aa7aaf3730c4eccd6af6d1bebfc1122fc4c67d53898ae13eb6db647be7e2 +a68873ef80986795ea5ed1a597d1cd99ed978ec25e0abb57fdcc96e89ef0f50aeb779ff46e3dce21dc83ada3157a8498 +8cab67f50949cc8eee6710e27358aea373aae3c92849f8f0b5531c080a6300cdf2c2094fe6fecfef6148de0d28446919 +993e932bcb616dbaa7ad18a4439e0565211d31071ef1b85a0627db74a05d978c60d507695eaeea5c7bd9868a21d06923 +acdadff26e3132d9478a818ef770e9fa0d2b56c6f5f48bd3bd674436ccce9bdfc34db884a73a30c04c5f5e9764cb2218 +a0d3e64c9c71f84c0eef9d7a9cb4fa184224b969db5514d678e93e00f98b41595588ca802643ea225512a4a272f5f534 +91c9140c9e1ba6e330cb08f6b2ce4809cd0d5a0f0516f70032bf30e912b0ed684d07b413b326ab531ee7e5b4668c799b +87bc2ee7a0c21ba8334cd098e35cb703f9af57f35e091b8151b9b63c3a5b0f89bd7701dbd44f644ea475901fa6d9ef08 +9325ccbf64bf5d71b303e31ee85d486298f9802c5e55b2c3d75427097bf8f60fa2ab4fcaffa9b60bf922c3e24fbd4b19 +95d0506e898318f3dc8d28d16dfd9f0038b54798838b3c9be2a2ae3c2bf204eb496166353fc042220b0bd4f6673b9285 +811de529416331fe9c416726d45df9434c29dcd7e949045eb15740f47e97dde8f31489242200e19922cac2a8b7c6fd1f +ade632d04a4c8bbab6ca7df370b2213cb9225023e7973f0e29f4f5e52e8aeaabc65171306bbdd12a67b195dfbb96d48f +88b7f029e079b6ae956042c0ea75d53088c5d0efd750dd018adaeacf46be21bf990897c58578c491f41afd3978d08073 +91f477802de507ffd2be3f4319903119225b277ad24f74eb50f28b66c14d32fae53c7edb8c7590704741af7f7f3e3654 +809838b32bb4f4d0237e98108320d4b079ee16ed80c567e7548bd37e4d7915b1192880f4812ac0e00476d246aec1dbc8 +84183b5fc4a7997a8ae5afedb4d21dce69c480d5966b5cbdafd6dd10d29a9a6377f3b90ce44da0eb8b176ac3af0253bb +8508abbf6d3739a16b9165caf0f95afb3b3ac1b8c38d6d374cf0c91296e2c1809a99772492b539cda184510bce8a0271 +8722054e59bab2062e6419a6e45fc803af77fde912ef2cd23055ad0484963de65a816a2debe1693d93c18218d2b8e81a +8e895f80e485a7c4f56827bf53d34b956281cdc74856c21eb3b51f6288c01cc3d08565a11cc6f3e2604775885490e8c5 +afc92714771b7aa6e60f3aee12efd9c2595e9659797452f0c1e99519f67c8bc3ac567119c1ddfe82a3e961ee9defea9a +818ff0fd9cefd32db87b259e5fa32967201016fc02ef44116cdca3c63ce5e637756f60477a408709928444a8ad69c471 +8251e29af4c61ae806fc5d032347fb332a94d472038149225298389495139ce5678fae739d02dfe53a231598a992e728 +a0ea39574b26643f6f1f48f99f276a8a64b5481989cfb2936f9432a3f8ef5075abfe5c067dc5512143ce8bf933984097 +af67a73911b372bf04e57e21f289fc6c3dfac366c6a01409b6e76fea4769bdb07a6940e52e8d7d3078f235c6d2f632c6 +b5291484ef336024dd2b9b4cf4d3a6b751133a40656d0a0825bcc6d41c21b1c79cb50b0e8f4693f90c29c8f4358641f9 +8bc0d9754d70f2cb9c63f991902165a87c6535a763d5eece43143b5064ae0bcdce7c7a8f398f2c1c29167b2d5a3e6867 +8d7faff53579ec8f6c92f661c399614cc35276971752ce0623270f88be937c414eddcb0997e14724a783905a026c8883 +9310b5f6e675fdf60796f814dbaa5a6e7e9029a61c395761e330d9348a7efab992e4e115c8be3a43d08e90d21290c892 +b5eb4f3eb646038ad2a020f0a42202532d4932e766da82b2c1002bf9c9c2e5336b54c8c0ffcc0e02d19dde2e6a35b6cc +91dabfd30a66710f1f37a891136c9be1e23af4abf8cb751f512a40c022a35f8e0a4fb05b17ec36d4208de02d56f0d53a +b3ded14e82d62ac7a5a036122a62f00ff8308498f3feae57d861babaff5a6628d43f0a0c5fc903f10936bcf4e2758ceb +a88e8348fed2b26acca6784d19ef27c75963450d99651d11a950ea81d4b93acd2c43e0ecce100eaf7e78508263d5baf3 +b1f5bbf7c4756877b87bb42163ac570e08c6667c4528bf68b5976680e19beeff7c5effd17009b0718797077e2955457a +ad2e7b516243f915d4d1415326e98b1a7390ae88897d0b03b66c2d9bd8c3fba283d7e8fe44ed3333296a736454cef6d8 +8f82eae096d5b11f995de6724a9af895f5e1c58d593845ad16ce8fcae8507e0d8e2b2348a0f50a1f66a17fd6fac51a5c +890e4404d0657c6c1ee14e1aac132ecf7a568bb3e04137b85ac0f84f1d333bd94993e8750f88eee033a33fb00f85dcc7 +82ac7d3385e035115f1d39a99fc73e5919de44f5e6424579776d118d711c8120b8e5916372c6f27bed4cc64cac170b6c +85ee16d8901c272cfbbe966e724b7a891c1bd5e68efd5d863043ad8520fc409080af61fd726adc680b3f1186fe0ac8b8 +86dc564c9b545567483b43a38f24c41c6551a49cabeebb58ce86404662a12dbfafd0778d30d26e1c93ce222e547e3898 +a29f5b4522db26d88f5f95f18d459f8feefab02e380c2edb65aa0617a82a3c1a89474727a951cef5f15050bcf7b380fb +a1ce039c8f6cac53352899edb0e3a72c76da143564ad1a44858bd7ee88552e2fe6858d1593bbd74aeee5a6f8034b9b9d +97f10d77983f088286bd7ef3e7fdd8fa275a56bec19919adf33cf939a90c8f2967d2b1b6fc51195cb45ad561202a3ed7 +a25e2772e8c911aaf8712bdac1dd40ee061c84d3d224c466cfaae8e5c99604053f940cde259bd1c3b8b69595781dbfec +b31bb95a0388595149409c48781174c340960d59032ab2b47689911d03c68f77a2273576fbe0c2bf4553e330656058c7 +b8b2e9287ad803fb185a13f0d7456b397d4e3c8ad5078f57f49e8beb2e85f661356a3392dbd7bcf6a900baa5582b86a1 +a3d0893923455eb6e96cc414341cac33d2dbc88fba821ac672708cce131761d85a0e08286663a32828244febfcae6451 +82310cb42f647d99a136014a9f881eb0b9791efd2e01fc1841907ad3fc8a9654d3d1dab6689c3607214b4dc2aca01cee +874022d99c16f60c22de1b094532a0bc6d4de700ad01a31798fac1d5088b9a42ad02bef8a7339af7ed9c0d4f16b186ee +94981369e120265aed40910eebc37eded481e90f4596b8d57c3bec790ab7f929784bd33ddd05b7870aad6c02e869603b +a4f1f50e1e2a73f07095e0dd31cb45154f24968dae967e38962341c1241bcd473102fff1ff668b20c6547e9732d11701 +ae2328f3b0ad79fcda807e69a1b5278145225083f150f67511dafc97e079f860c3392675f1752ae7e864c056e592205b +875d8c971e593ca79552c43d55c8c73b17cd20c81ff2c2fed1eb19b1b91e4a3a83d32df150dbfd5db1092d0aebde1e1f +add2e80aa46aae95da73a11f130f4bda339db028e24c9b11e5316e75ba5e63bc991d2a1da172c7c8e8fee038baae3433 +b46dbe1cb3424002aa7de51e82f600852248e251465c440695d52538d3f36828ff46c90ed77fc1d11534fe3c487df8ef +a5e5045d28b4e83d0055863c30c056628c58d4657e6176fd0536f5933f723d60e851bb726d5bf3c546b8ce4ac4a57ef8 +91fec01e86dd1537e498fff7536ea3ca012058b145f29d9ada49370cd7b7193ac380e116989515df1b94b74a55c45df3 +a7428176d6918cd916a310bdc75483c72de660df48cac4e6e7478eef03205f1827ea55afc0df5d5fa7567d14bbea7fc9 +851d89bef45d9761fe5fdb62972209335193610015e16a675149519f9911373bac0919add226ef118d9f3669cfdf4734 +b74acf5c149d0042021cb2422ea022be4c4f72a77855f42393e71ffd12ebb3eec16bdf16f812159b67b79a9706e7156d +99f35dce64ec99aa595e7894b55ce7b5a435851b396e79036ffb249c28206087db4c85379df666c4d95857db02e21ff9 +b6b9a384f70db9e298415b8ab394ee625dafff04be2886476e59df8d052ca832d11ac68a9b93fba7ab055b7bc36948a4 +898ee4aefa923ffec9e79f2219c7389663eb11eb5b49014e04ed4a336399f6ea1691051d86991f4c46ca65bcd4fdf359 +b0f948217b0d65df7599a0ba4654a5e43c84db477936276e6f11c8981efc6eaf14c90d3650107ed4c09af4cc8ec11137 +aa6286e27ac54f73e63dbf6f41865dd94d24bc0cf732262fcaff67319d162bb43af909f6f8ee27b1971939cfbba08141 +8bca7cdf730cf56c7b2c8a2c4879d61361a6e1dba5a3681a1a16c17a56e168ace0e99cf0d15826a1f5e67e6b8a8a049a +a746d876e8b1ce225fcafca603b099b36504846961526589af977a88c60d31ba2cc56e66a3dec8a77b3f3531bf7524c9 +a11e2e1927e6704cdb8874c75e4f1842cef84d7d43d7a38e339e61dc8ba90e61bbb20dd3c12e0b11d2471d58eed245be +a36395e22bc1d1ba8b0459a235203177737397da5643ce54ded3459d0869ff6d8d89f50c73cb62394bf66a959cde9b90 +8b49f12ba2fdf9aca7e5f81d45c07d47f9302a2655610e7634d1e4bd16048381a45ef2c95a8dd5b0715e4b7cf42273af +91cffa2a17e64eb7f76bccbe4e87280ee1dd244e04a3c9eac12e15d2d04845d876eb24fe2ec6d6d266cce9efb281077f +a6b8afabf65f2dee01788114e33a2f3ce25376fb47a50b74da7c3c25ff1fdc8aa9f41307534abbf48acb6f7466068f69 +8d13db896ccfea403bd6441191995c1a65365cab7d0b97fbe9526da3f45a877bd1f4ef2edef160e8a56838cd1586330e +98c717de9e01bef8842c162a5e757fe8552d53269c84862f4d451e7c656ae6f2ae473767b04290b134773f63be6fdb9d +8c2036ace1920bd13cf018e82848c49eb511fad65fd0ff51f4e4b50cf3bfc294afb63cba682c16f52fb595a98fa84970 +a3520fdff05dbad9e12551b0896922e375f9e5589368bcb2cc303bde252743b74460cb5caf99629325d3620f13adc796 +8d4f83a5bfec05caf5910e0ce538ee9816ee18d0bd44c1d0da2a87715a23cd2733ad4d47552c6dc0eb397687d611dd19 +a7b39a0a6a02823452d376533f39d35029867b3c9a6ad6bca181f18c54132d675613a700f9db2440fb1b4fa13c8bf18a +80bcb114b2544b80f404a200fc36860ed5e1ad31fe551acd4661d09730c452831751baa9b19d7d311600d267086a70bc +90dcce03c6f88fc2b08f2b42771eedde90cc5330fe0336e46c1a7d1b5a6c1641e5fcc4e7b3d5db00bd8afca9ec66ed81 +aec15f40805065c98e2965b1ae12a6c9020cfdb094c2d0549acfc7ea2401a5fb48d3ea7d41133cf37c4e096e7ff53eb9 +80e129b735dba49fa627a615d6c273119acec8e219b2f2c4373a332b5f98d66cbbdd688dfbe72a8f8bfefaccc02c50c1 +a9b596da3bdfe23e6799ece5f7975bf7a1979a75f4f546deeaf8b34dfe3e0d623217cb4cf4ccd504cfa3625b88cd53f1 +abcbbb70b16f6e517c0ab4363ab76b46e4ff58576b5f8340e5c0e8cc0e02621b6e23d742d73b015822a238b17cfd7665 +a046937cc6ea6a2e1adae543353a9fe929c1ae4ad655be1cc051378482cf88b041e28b1e9a577e6ccff2d3570f55e200 +831279437282f315e65a60184ef158f0a3dddc15a648dc552bdc88b3e6fe8288d3cfe9f0031846d81350f5e7874b4b33 +993d7916fa213c6d66e7c4cafafc1eaec9a2a86981f91c31eb8a69c5df076c789cbf498a24c84e0ee77af95b42145026 +823907a3b6719f8d49b3a4b7c181bd9bb29fcf842d7c70660c4f351852a1e197ca46cf5e879b47fa55f616fa2b87ce5e +8d228244e26132b234930ee14c75d88df0943cdb9c276a8faf167d259b7efc1beec2a87c112a6c608ad1600a239e9aae +ab6e55766e5bfb0cf0764ed909a8473ab5047d3388b4f46faeba2d1425c4754c55c6daf6ad4751e634c618b53e549529 +ab0cab6860e55a84c5ad2948a7e0989e2b4b1fd637605634b118361497332df32d9549cb854b2327ca54f2bcb85eed8f +b086b349ae03ef34f4b25a57bcaa5d1b29bd94f9ebf87e22be475adfe475c51a1230c1ebe13506cb72c4186192451658 +8a0b49d8a254ca6d91500f449cbbfbb69bb516c6948ac06808c65595e46773e346f97a5ce0ef7e5a5e0de278af22709c +ac49de11edaaf04302c73c578cc0824bdd165c0d6321be1c421c1950e68e4f3589aa3995448c9699e93c6ebae8803e27 +884f02d841cb5d8f4c60d1402469216b114ab4e93550b5bc1431756e365c4f870a9853449285384a6fa49e12ce6dc654 +b75f3a28fa2cc8d36b49130cb7448a23d73a7311d0185ba803ad55c8219741d451c110f48b786e96c728bc525903a54f +80ae04dbd41f4a35e33f9de413b6ad518af0919e5a30cb0fa1b061b260420780bb674f828d37fd3b52b5a31673cbd803 +b9a8011eb5fcea766907029bf743b45262db3e49d24f84503687e838651ed11cb64c66281e20a0ae9f6aa51acc552263 +90bfdd75e2dc9cf013e22a5d55d2d2b8a754c96103a17524488e01206e67f8b6d52b1be8c4e3d5307d4fe06d0e51f54c +b4af353a19b06203a815ec43e79a88578cc678c46f5a954b85bc5c53b84059dddba731f3d463c23bfd5273885c7c56a4 +aa125e96d4553b64f7140e5453ff5d2330318b69d74d37d283e84c26ad672fa00e3f71e530eb7e28be1e94afb9c4612e +a18e060aee3d49cde2389b10888696436bb7949a79ca7d728be6456a356ea5541b55492b2138da90108bd1ce0e6f5524 +93e55f92bdbccc2de655d14b1526836ea2e52dba65eb3f87823dd458a4cb5079bf22ce6ef625cb6d6bfdd0995ab9a874 +89f5a683526b90c1c3ceebbb8dc824b21cff851ce3531b164f6626e326d98b27d3e1d50982e507d84a99b1e04e86a915 +83d1c38800361633a3f742b1cb2bfc528129496e80232611682ddbe403e92c2ac5373aea0bca93ecb5128b0b2b7a719e +8ecba560ac94905e19ce8d9c7af217bf0a145d8c8bd38e2db82f5e94cc3f2f26f55819176376b51f154b4aab22056059 +a7e2a4a002b60291924850642e703232994acb4cfb90f07c94d1e0ecd2257bb583443283c20fc6017c37e6bfe85b7366 +93ed7316fa50b528f1636fc6507683a672f4f4403e55e94663f91221cc198199595bd02eef43d609f451acc9d9b36a24 +a1220a8ebc5c50ceed76a74bc3b7e0aa77f6884c71b64b67c4310ac29ce5526cb8992d6abc13ef6c8413ce62486a6795 +b2f6eac5c869ad7f4a25161d3347093e2f70e66cd925032747e901189355022fab3038bca4d610d2f68feb7e719c110b +b703fa11a4d511ca01c7462979a94acb40b5d933759199af42670eb48f83df202fa0c943f6ab3b4e1cc54673ea3aab1e +b5422912afbfcb901f84791b04f1ddb3c3fbdc76d961ee2a00c5c320e06d3cc5b5909c3bb805df66c5f10c47a292b13d +ad0934368da823302e1ac08e3ede74b05dfdbfffca203e97ffb0282c226814b65c142e6e15ec1e754518f221f01b30f7 +a1dd302a02e37df15bf2f1147efe0e3c06933a5a767d2d030e1132f5c3ce6b98e216b6145eb39e1e2f74e76a83165b8d +a346aab07564432f802ae44738049a36f7ca4056df2d8f110dbe7fef4a3e047684dea609b2d03dc6bf917c9c2a47608f +b96c5f682a5f5d02123568e50f5d0d186e4b2c4c9b956ec7aabac1b3e4a766d78d19bd111adb5176b898e916e49be2aa +8a96676d56876fc85538db2e806e1cba20fd01aeb9fa3cb43ca6ca94a2c102639f65660db330e5d74a029bb72d6a0b39 +ab0048336bd5c3def1a4064eadd49e66480c1f2abb4df46e03afbd8a3342c2c9d74ee35d79f08f4768c1646681440984 +888427bdf76caec90814c57ee1c3210a97d107dd88f7256f14f883ad0f392334b82be11e36dd8bfec2b37935177c7831 +b622b282becf0094a1916fa658429a5292ba30fb48a4c8066ce1ddcefb71037948262a01c95bab6929ed3a76ba5db9fe +b5b9e005c1f456b6a368a3097634fb455723abe95433a186e8278dceb79d4ca2fbe21f8002e80027b3c531e5bf494629 +a3c6707117a1e48697ed41062897f55d8119403eea6c2ee88f60180f6526f45172664bfee96bf61d6ec0b7fbae6aa058 +b02a9567386a4fbbdb772d8a27057b0be210447348efe6feb935ceec81f361ed2c0c211e54787dc617cdffed6b4a6652 +a9b8364e40ef15c3b5902e5534998997b8493064fa2bea99600def58279bb0f64574c09ba11e9f6f669a8354dd79dc85 +9998a2e553a9aa9a206518fae2bc8b90329ee59ab23005b10972712389f2ec0ee746033c733092ffe43d73d33abbb8ef +843a4b34d9039bf79df96d79f2d15e8d755affb4d83d61872daf540b68c0a3888cf8fc00d5b8b247b38524bcb3b5a856 +84f7128920c1b0bb40eee95701d30e6fc3a83b7bb3709f16d97e72acbb6057004ee7ac8e8f575936ca9dcb7866ab45f7 +918d3e2222e10e05edb34728162a899ad5ada0aaa491aeb7c81572a9c0d506e31d5390e1803a91ff3bd8e2bb15d47f31 +9442d18e2489613a7d47bb1cb803c8d6f3259d088cd079460976d87f7905ee07dea8f371b2537f6e1d792d36d7e42723 +b491976970fe091995b2ed86d629126523ccf3e9daf8145302faca71b5a71a5da92e0e05b62d7139d3efac5c4e367584 +aa628006235dc77c14cef4c04a308d66b07ac92d377df3de1a2e6ecfe3144f2219ad6d7795e671e1cb37a3641910b940 +99d386adaea5d4981d7306feecac9a555b74ffdc218c907c5aa7ac04abaead0ec2a8237300d42a3fbc464673e417ceed +8f78e8b1556f9d739648ea3cab9606f8328b52877fe72f9305545a73b74d49884044ba9c1f1c6db7d9b7c7b7c661caba +8fb357ae49932d0babdf74fc7aa7464a65d3b6a2b3acf4f550b99601d3c0215900cfd67f2b6651ef94cfc323bac79fae +9906f2fa25c0290775aa001fb6198113d53804262454ae8b83ef371b5271bde189c0460a645829cb6c59f9ee3a55ce4d +8f4379b3ebb50e052325b27655ca6a82e6f00b87bf0d2b680d205dd2c7afdc9ff32a9047ae71a1cdf0d0ce6b9474d878 +a85534e88c2bd43c043792eaa75e50914b21741a566635e0e107ae857aed0412035f7576cf04488ade16fd3f35fdbb87 +b4ce93199966d3c23251ca7f28ec5af7efea1763d376b0385352ffb2e0a462ef95c69940950278cf0e3dafd638b7bd36 +b10cb3d0317dd570aa73129f4acf63c256816f007607c19b423fb42f65133ce21f2f517e0afb41a5378cccf893ae14d0 +a9b231c9f739f7f914e5d943ed9bff7eba9e2c333fbd7c34eb1648a362ee01a01af6e2f7c35c9fe962b11152cddf35de +99ff6a899e156732937fb81c0cced80ae13d2d44c40ba99ac183aa246103b31ec084594b1b7feb96da58f4be2dd5c0ed +8748d15d18b75ff2596f50d6a9c4ce82f61ecbcee123a6ceae0e43cab3012a29b6f83cf67b48c22f6f9d757c6caf76b2 +b88ab05e4248b7fb634cf640a4e6a945d13e331237410f7217d3d17e3e384ddd48897e7a91e4516f1b9cbd30f35f238b +8d826deaeeb84a3b2d2c04c2300ca592501f992810582d6ae993e0d52f6283a839dba66c6c72278cff5871802b71173b +b36fed027c2f05a5ef625ca00b0364b930901e9e4420975b111858d0941f60e205546474bb25d6bfa6928d37305ae95f +af2fcfc6b87967567e8b8a13a4ed914478185705724e56ce68fb2df6d1576a0cf34a61e880997a0d35dc2c3276ff7501 +ac351b919cd1fbf106feb8af2c67692bfcddc84762d18cea681cfa7470a5644839caace27efee5f38c87d3df306f4211 +8d6665fb1d4d8d1fa23bd9b8a86e043b8555663519caac214d1e3e3effbc6bee7f2bcf21e645f77de0ced279d69a8a8b +a9fc1c2061756b2a1a169c1b149f212ff7f0d2488acd1c5a0197eba793cffa593fc6d1d1b40718aa75ca3ec77eff10e1 +aff64f0fa009c7a6cf0b8d7a22ddb2c8170c3cb3eec082e60d5aadb00b0040443be8936d728d99581e33c22178c41c87 +82e0b181adc5e3b1c87ff8598447260e839d53debfae941ebea38265575546c3a74a14b4325a030833a62ff6c52d9365 +b7ad43cbb22f6f892c2a1548a41dc120ab1f4e1b8dea0cb6272dd9cb02054c542ecabc582f7e16de709d48f5166cae86 +985e0c61094281532c4afb788ecb2dfcba998e974b5d4257a22040a161883908cdd068fe80f8eb49b8953cfd11acf43a +ae46895c6d67ea6d469b6c9c07b9e5d295d9ae73b22e30da4ba2c973ba83a130d7eef39717ec9d0f36e81d56bf742671 +8600177ea1f7e7ef90514b38b219a37dedfc39cb83297e4c7a5b479817ef56479d48cf6314820960c751183f6edf8b0e +b9208ec1c1d7a1e99b59c62d3e4e61dfb706b0e940d09d3abfc3454c19749083260614d89cfd7e822596c3cdbcc6bb95 +a1e94042c796c2b48bc724352d2e9f3a22291d9a34705993357ddb6adabd76da6fc25dac200a8cb0b5bbd99ecddb7af6 +b29c3adedd0bcad8a930625bc4dfdc3552a9afd5ca6dd9c0d758f978068c7982b50b711aa0eb5b97f2b84ee784637835 +af0632a238bb1f413c7ea8e9b4c3d68f2827bd2e38cd56024391fba6446ac5d19a780d0cfd4a78fe497d537b766a591a +aaf6e7f7d54f8ef5e2e45dd59774ecbeecf8683aa70483b2a75be6a6071b5981bbaf1627512a65d212817acdfab2e428 +8c751496065da2e927cf492aa5ca9013b24f861d5e6c24b30bbf52ec5aaf1905f40f9a28175faef283dd4ed4f2182a09 +8952377d8e80a85cf67d6b45499f3bad5fd452ea7bcd99efc1b066c4720d8e5bff1214cea90fd1f972a7f0baac3d29be +a1946ee543d1a6e21f380453be4d446e4130950c5fc3d075794eb8260f6f52d0a795c1ff91d028a648dc1ce7d9ab6b47 +89f3fefe37af31e0c17533d2ca1ce0884cc1dc97c15cbfab9c331b8debd94781c9396abef4bb2f163d09277a08d6adf0 +a2753f1e6e1a154fb117100a5bd9052137add85961f8158830ac20541ab12227d83887d10acf7fd36dcaf7c2596d8d23 +814955b4198933ee11c3883863b06ff98c7eceb21fc3e09df5f916107827ccf3323141983e74b025f46ae00284c9513b +8cc5c6bb429073bfef47cae7b3bfccb0ffa076514d91a1862c6bda4d581e0df87db53cc6c130bf8a7826304960f5a34e +909f22c1f1cdc87f7be7439c831a73484a49acbf8f23d47087d7cf867c64ef61da3bde85dc57d705682b4c3fc710d36e +8048fee7f276fcd504aed91284f28e73693615e0eb3858fa44bcf79d7285a9001c373b3ef71d9a3054817ba293ebe28c +94400e5cf5d2700ca608c5fe35ce14623f71cc24959f2bc27ca3684092850f76b67fb1f07ca9e5b2ca3062cf8ad17bd4 +81c2ae7d4d1b17f8b6de6a0430acc0d58260993980fe48dc2129c4948269cdc74f9dbfbf9c26b19360823fd913083d48 +8c41fe765128e63f6889d6a979f6a4342300327c8b245a8cfe3ecfbcac1e09c3da30e2a1045b24b78efc6d6d50c8c6ac +a5dd4ae51ae48c8be4b218c312ade226cffce671cf121cb77810f6c0990768d6dd767badecb5c69921d5574d5e8433d3 +b7642e325f4ba97ae2a39c1c9d97b35aafd49d53dba36aed3f3cb0ca816480b3394079f46a48252d46596559c90f4d58 +ae87375b40f35519e7bd4b1b2f73cd0b329b0c2cb9d616629342a71c6c304338445eda069b78ea0fbe44087f3de91e09 +b08918cb6f736855e11d3daca1ddfbdd61c9589b203b5493143227bf48e2c77c2e8c94b0d1aa2fab2226e0eae83f2681 +ac36b84a4ac2ebd4d6591923a449c564e3be8a664c46092c09e875c2998eba16b5d32bfd0882fd3851762868e669f0b1 +a44800a3bb192066fa17a3f29029a23697240467053b5aa49b9839fb9b9b8b12bcdcbfc557f024b61f4f51a9aacdefcb +9064c688fec23441a274cdf2075e5a449caf5c7363cc5e8a5dc9747183d2e00a0c69f2e6b3f6a7057079c46014c93b3b +aa367b021469af9f5b764a79bb3afbe2d87fe1e51862221672d1a66f954b165778b7c27a705e0f93841fab4c8468344d +a1a8bfc593d4ab71f91640bc824de5c1380ab2591cfdafcbc78a14b32de3c0e15f9d1b461d85c504baa3d4232c16bb53 +97df48da1799430f528184d30b6baa90c2a2f88f34cdfb342d715339c5ebd6d019aa693cea7c4993daafc9849063a3aa +abd923831fbb427e06e0dd335253178a9e5791395c84d0ab1433c07c53c1209161097e9582fb8736f8a60bde62d8693e +84cd1a43f1a438b43dc60ffc775f646937c4f6871438163905a3cebf1115f814ccd38a6ccb134130bff226306e412f32 +91426065996b0743c5f689eb3ca68a9f7b9e4d01f6c5a2652b57fa9a03d8dc7cd4bdbdab0ca5a891fee1e97a7f00cf02 +a4bee50249db3df7fd75162b28f04e57c678ba142ce4d3def2bc17bcb29e4670284a45f218dad3969af466c62a903757 +83141ebcc94d4681404e8b67a12a46374fded6df92b506aff3490d875919631408b369823a08b271d006d5b93136f317 +a0ea1c8883d58d5a784da3d8c8a880061adea796d7505c1f903d07c287c5467f71e4563fc0faafbc15b5a5538b0a7559 +89d9d480574f201a87269d26fb114278ed2c446328df431dc3556e3500e80e4cd01fcac196a2459d8646361ebda840df +8bf302978973632dd464bec819bdb91304712a3ec859be071e662040620422c6e75eba6f864f764cffa2799272efec39 +922f666bc0fd58b6d7d815c0ae4f66d193d32fc8382c631037f59eeaeae9a8ca6c72d08e72944cf9e800b8d639094e77 +81ad8714f491cdff7fe4399f2eb20e32650cff2999dd45b9b3d996d54a4aba24cc6c451212e78c9e5550368a1a38fb3f +b58fcf4659d73edb73175bd9139d18254e94c3e32031b5d4b026f2ed37aa19dca17ec2eb54c14340231615277a9d347e +b365ac9c2bfe409b710928c646ea2fb15b28557e0f089d39878e365589b9d1c34baf5566d20bb28b33bb60fa133f6eff +8fcae1d75b53ab470be805f39630d204853ca1629a14158bac2f52632277d77458dec204ff84b7b2d77e641c2045be65 +a03efa6bebe84f4f958a56e2d76b5ba4f95dd9ed7eb479edc7cc5e646c8d4792e5b0dfc66cc86aa4b4afe2f7a4850760 +af1c823930a3638975fb0cc5c59651771b2719119c3cd08404fbd4ce77a74d708cefbe3c56ea08c48f5f10e6907f338f +8260c8299b17898032c761c325ac9cabb4c5b7e735de81eacf244f647a45fb385012f4f8df743128888c29aefcaaad16 +ab2f37a573c82e96a8d46198691cd694dfa860615625f477e41f91b879bc58a745784fccd8ffa13065834ffd150d881d +986c746c9b4249352d8e5c629e8d7d05e716b3c7aab5e529ca969dd1e984a14b5be41528baef4c85d2369a42d7209216 +b25e32da1a8adddf2a6080725818b75bc67240728ad1853d90738485d8924ea1e202df0a3034a60ffae6f965ec55cf63 +a266e627afcebcefea6b6b44cbc50f5c508f7187e87d047b0450871c2a030042c9e376f3ede0afcf9d1952f089582f71 +86c3bbca4c0300606071c0a80dbdec21ce1dd4d8d4309648151c420854032dff1241a1677d1cd5de4e4de4385efda986 +b9a21a1fe2d1f3273a8e4a9185abf2ff86448cc98bfa435e3d68306a2b8b4a6a3ea33a155be3cb62a2170a86f77679a5 +b117b1ea381adce87d8b342cba3a15d492ff2d644afa28f22424cb9cbc820d4f7693dfc1a4d1b3697046c300e1c9b4c8 +9004c425a2e68870d6c69b658c344e3aa3a86a8914ee08d72b2f95c2e2d8a4c7bb0c6e7e271460c0e637cec11117bf8e +86a18aa4783b9ebd9131580c8b17994825f27f4ac427b0929a1e0236907732a1c8139e98112c605488ee95f48bbefbfc +84042243b955286482ab6f0b5df4c2d73571ada00716d2f737ca05a0d2e88c6349e8ee9e67934cfee4a1775dbf7f4800 +92c2153a4733a62e4e1d5b60369f3c26777c7d01cd3c8679212660d572bd3bac9b8a8a64e1f10f7dbf5eaa7579c4e423 +918454b6bb8e44a2afa144695ba8d48ae08d0cdfef4ad078f67709eddf3bb31191e8b006f04e82ea45a54715ef4d5817 +acf0b54f6bf34cf6ed6c2b39cf43194a40d68de6bcf1e4b82c34c15a1343e9ac3737885e1a30b78d01fa3a5125463db8 +a7d60dbe4b6a7b054f7afe9ee5cbbfeca0d05dc619e6041fa2296b549322529faddb8a11e949562309aecefb842ac380 +91ffb53e6d7e5f11159eaf13e783d6dbdfdb1698ed1e6dbf3413c6ea23492bbb9e0932230a9e2caac8fe899a17682795 +b6e8d7be5076ee3565d5765a710c5ecf17921dd3cf555c375d01e958a365ae087d4a88da492a5fb81838b7b92bf01143 +a8c6b763de2d4b2ed42102ef64eccfef31e2fb2a8a2776241c82912fa50fc9f77f175b6d109a97ede331307c016a4b1a +99839f86cb700c297c58bc33e28d46b92931961548deac29ba8df91d3e11721b10ea956c8e16984f9e4acf1298a79b37 +8c2e2c338f25ea5c25756b7131cde0d9a2b35abf5d90781180a00fe4b8e64e62590dc63fe10a57fba3a31c76d784eb01 +9687d7df2f41319ca5469d91978fed0565a5f11f829ebadaa83db92b221755f76c6eacd7700735e75c91e257087512e3 +8795fdfb7ff8439c58b9bf58ed53873d2780d3939b902b9ddaaa4c99447224ced9206c3039a23c2c44bcc461e2bb637f +a803697b744d2d087f4e2307218d48fa88620cf25529db9ce71e2e3bbcc65bac5e8bb9be04777ef7bfb5ed1a5b8e6170 +80f3d3efbbb9346ddd413f0a8e36b269eb5d7ff6809d5525ff9a47c4bcab2c01b70018b117f6fe05253775612ff70c6b +9050e0e45bcc83930d4c505af35e5e4d7ca01cd8681cba92eb55821aececcebe32bb692ebe1a4daac4e7472975671067 +8d206812aac42742dbaf233e0c080b3d1b30943b54b60283515da005de05ea5caa90f91fedcfcba72e922f64d7040189 +a2d44faaeb2eff7915c83f32b13ca6f31a6847b1c1ce114ea240bac3595eded89f09b2313b7915ad882292e2b586d5b4 +961776c8576030c39f214ea6e0a3e8b3d32f023d2600958c098c95c8a4e374deeb2b9dc522adfbd6bda5949bdc09e2a2 +993fa7d8447407af0fbcd9e6d77f815fa5233ab00674efbcf74a1f51c37481445ae291cc7b76db7c178f9cb0e570e0fc +abd5b1c78e05f9d7c8cc99bdaef8b0b6a57f2daf0f02bf492bec48ea4a27a8f1e38b5854da96efff11973326ff980f92 +8f15af4764bc275e6ccb892b3a4362cacb4e175b1526a9a99944e692fe6ccb1b4fc19abf312bb2a089cb1f344d91a779 +a09b27ccd71855512aba1d0c30a79ffbe7f6707a55978f3ced50e674b511a79a446dbc6d7946add421ce111135a460af +94b2f98ce86a9271fbd4153e1fc37de48421fe3490fb3840c00f2d5a4d0ba8810c6a32880b002f6374b59e0a7952518b +8650ac644f93bbcb88a6a0f49fee2663297fd4bc6fd47b6a89b9d8038d32370438ab3a4775ec9b58cb10aea8a95ef7b6 +95e5c2f2e84eed88c6980bbba5a1c0bb375d5a628bff006f7516d45bb7d723da676add4fdd45956f312e7bab0f052644 +b3278a3fa377ac93af7cfc9453f8cb594aae04269bbc99d2e0e45472ff4b6a2f97a26c4c57bf675b9d86f5e77a5d55d1 +b4bcbe6eb666a206e2ea2f877912c1d3b5bdbd08a989fc4490eb06013e1a69ad1ba08bcdac048bf29192312be399077b +a76d70b78c99fffcbf9bb9886eab40f1ea4f99a309710b660b64cbf86057cbcb644d243f6e341711bb7ef0fedf0435a7 +b2093c1ee945dca7ac76ad5aed08eae23af31dd5a77c903fd7b6f051f4ab84425d33a03c3d45bf2907bc93c02d1f3ad8 +904b1f7534e053a265b22d20be859912b9c9ccb303af9a8d6f1d8f6ccdc5c53eb4a45a1762b880d8444d9be0cd55e7f9 +8f664a965d65bc730c9ef1ec7467be984d4b8eb46bd9b0d64e38e48f94e6e55dda19aeac82cbcf4e1473440e64c4ca18 +8bcee65c4cc7a7799353d07b114c718a2aae0cd10a3f22b7eead5185d159dafd64852cb63924bf87627d176228878bce +8c78f2e3675096fef7ebaa898d2615cd50d39ca3d8f02b9bdfb07e67da648ae4be3da64838dffc5935fd72962c4b96c7 +8c40afd3701629421fec1df1aac4e849384ef2e80472c0e28d36cb1327acdf2826f99b357f3d7afdbc58a6347fc40b3c +a197813b1c65a8ea5754ef782522a57d63433ef752215ecda1e7da76b0412ee619f58d904abd2e07e0c097048b6ae1dd +a670542629e4333884ad7410f9ea3bd6f988df4a8f8a424ca74b9add2312586900cf9ae8bd50411f9146e82626b4af56 +a19875cc07ab84e569d98b8b67fb1dbbdfb59093c7b748fae008c8904a6fd931a63ca8d03ab5fea9bc8d263568125a9b +b57e7f68e4eb1bd04aafa917b1db1bdab759a02aa8a9cdb1cba34ba8852b5890f655645c9b4e15d5f19bf37e9f2ffe9f +8abe4e2a4f6462b6c64b3f10e45db2a53c2b0d3c5d5443d3f00a453e193df771eda635b098b6c8604ace3557514027af +8459e4fb378189b22b870a6ef20183deb816cefbf66eca1dc7e86d36a2e011537db893729f500dc154f14ce24633ba47 +930851df4bc7913c0d8c0f7bd3b071a83668987ed7c397d3d042fdc0d9765945a39a3bae83da9c88cb6b686ed8aeeb26 +8078c9e5cd05e1a8c932f8a1d835f61a248b6e7133fcbb3de406bf4ffc0e584f6f9f95062740ba6008d98348886cf76b +addff62bb29430983fe578e3709b0949cdc0d47a13a29bc3f50371a2cb5c822ce53e2448cfaa01bcb6e0aa850d5a380e +9433add687b5a1e12066721789b1db2edf9b6558c3bdc0f452ba33b1da67426abe326e9a34d207bfb1c491c18811bde1 +822beda3389963428cccc4a2918fa9a8a51cf0919640350293af70821967108cded5997adae86b33cb917780b097f1ca +a7a9f52bda45e4148ed56dd176df7bd672e9b5ed18888ccdb405f47920fdb0844355f8565cefb17010b38324edd8315f +b35c3a872e18e607b2555c51f9696a17fa18da1f924d503b163b4ec9fe22ed0c110925275cb6c93ce2d013e88f173d6a +adf34b002b2b26ab84fc1bf94e05bd8616a1d06664799ab149363c56a6e0c807fdc473327d25632416e952ea327fcd95 +ae4a6b9d22a4a3183fac29e2551e1124a8ce4a561a9a2afa9b23032b58d444e6155bb2b48f85c7b6d70393274e230db7 +a2ea3be4fc17e9b7ce3110284038d46a09e88a247b6971167a7878d9dcf36925d613c382b400cfa4f37a3ebea3699897 +8e5863786b641ce3140fbfe37124d7ad3925472e924f814ebfc45959aaf3f61dc554a597610b5defaecc85b59a99b50f +aefde3193d0f700d0f515ab2aaa43e2ef1d7831c4f7859f48e52693d57f97fa9e520090f3ed700e1c966f4b76048e57f +841a50f772956622798e5cd208dc7534d4e39eddee30d8ce133383d66e5f267e389254a0cdae01b770ecd0a9ca421929 +8fbc2bfd28238c7d47d4c03b1b910946c0d94274a199575e5b23242619b1de3497784e646a92aa03e3e24123ae4fcaba +926999579c8eec1cc47d7330112586bdca20b4149c8b2d066f527c8b9f609e61ce27feb69db67eea382649c6905efcf9 +b09f31f305efcc65589adf5d3690a76cf339efd67cd43a4e3ced7b839507466e4be72dd91f04e89e4bbef629d46e68c0 +b917361f6b95f759642638e0b1d2b3a29c3bdef0b94faa30de562e6078c7e2d25976159df3edbacbf43614635c2640b4 +8e7e8a1253bbda0e134d62bfe003a2669d471b47bd2b5cde0ff60d385d8e62279d54022f5ac12053b1e2d3aaa6910b4c +b69671a3c64e0a99d90b0ed108ce1912ff8ed983e4bddd75a370e9babde25ee1f5efb59ec707edddd46793207a8b1fe7 +910b2f4ebd37b7ae94108922b233d0920b4aba0bd94202c70f1314418b548d11d8e9caa91f2cd95aff51b9432d122b7f +82f645c90dfb52d195c1020346287c43a80233d3538954548604d09fbab7421241cde8593dbc4acc4986e0ea39a27dd9 +8fee895f0a140d88104ce442fed3966f58ff9d275e7373483f6b4249d64a25fb5374bbdc6bce6b5ab0270c2847066f83 +84f5bd7aab27b2509397aeb86510dd5ac0a53f2c8f73799bf720f2f87a52277f8d6b0f77f17bc80739c6a7119b7eb062 +9903ceced81099d7e146e661bcf01cbaccab5ba54366b85e2177f07e2d8621e19d9c9c3eee14b9266de6b3f9b6ea75ae +b9c16ea2a07afa32dd6c7c06df0dec39bca2067a9339e45475c98917f47e2320f6f235da353fd5e15b477de97ddc68dd +9820a9bbf8b826bec61ebf886de2c4f404c1ebdc8bab82ee1fea816d9de29127ce1852448ff717a3fe8bbfe9e92012e5 +817224d9359f5da6f2158c2c7bf9165501424f063e67ba9859a07ab72ee2ee62eb00ca6da821cfa19065c3282ca72c74 +94b95c465e6cb00da400558a3c60cfec4b79b27e602ca67cbc91aead08de4b6872d8ea096b0dc06dca4525c8992b8547 +a2b539a5bccd43fa347ba9c15f249b417997c6a38c63517ca38394976baa08e20be384a360969ff54e7e721db536b3e5 +96caf707e34f62811ee8d32ccf28d8d6ec579bc33e424d0473529af5315c456fd026aa910c1fed70c91982d51df7d3ca +8a77b73e890b644c6a142bdbac59b22d6a676f3b63ddafb52d914bb9d395b8bf5aedcbcc90429337df431ebd758a07a6 +8857830a7351025617a08bc44caec28d2fae07ebf5ffc9f01d979ce2a53839a670e61ae2783e138313929129790a51a1 +aa3e420321ed6f0aa326d28d1a10f13facec6f605b6218a6eb9cbc074801f3467bf013a456d1415a5536f12599efa3d3 +824aed0951957b00ea2f3d423e30328a3527bf6714cf9abbae84cf27e58e5c35452ba89ccc011de7c68c75d6e021d8f1 +a2e87cc06bf202e953fb1081933d8b4445527dde20e38ed1a4f440144fd8fa464a2b73e068b140562e9045e0f4bd3144 +ae3b8f06ad97d7ae3a5e5ca839efff3e4824dc238c0c03fc1a8d2fc8aa546cdfd165b784a31bb4dec7c77e9305b99a4b +b30c3e12395b1fb8b776f3ec9f87c70e35763a7b2ddc68f0f60a4982a84017f27c891a98561c830038deb033698ed7fc +874e507757cd1177d0dff0b0c62ce90130324442a33da3b2c8ee09dbca5d543e3ecfe707e9f1361e7c7db641c72794bb +b53012dd10b5e7460b57c092eaa06d6502720df9edbbe3e3f61a9998a272bf5baaac4a5a732ad4efe35d6fac6feca744 +85e6509d711515534d394e6cacbed6c81da710074d16ef3f4950bf2f578d662a494d835674f79c4d6315bced4defc5f0 +b6132b2a34b0905dcadc6119fd215419a7971fe545e52f48b768006944b4a9d7db1a74b149e2951ea48c083b752d0804 +989867da6415036d19b4bacc926ce6f4df7a556f50a1ba5f3c48eea9cefbb1c09da81481c8009331ee83f0859185e164 +960a6c36542876174d3fbc1505413e29f053ed87b8d38fef3af180491c7eff25200b45dd5fe5d4d8e63c7e8c9c00f4c8 +9040b59bd739d9cc2e8f6e894683429e4e876a8106238689ff4c22770ae5fdae1f32d962b30301fa0634ee163b524f35 +af3fcd0a45fe9e8fe256dc7eab242ef7f582dd832d147444483c62787ac820fafc6ca55d639a73f76bfa5e7f5462ab8f +b934c799d0736953a73d91e761767fdb78454355c4b15c680ce08accb57ccf941b13a1236980001f9e6195801cffd692 +8871e8e741157c2c326b22cf09551e78da3c1ec0fc0543136f581f1550f8bab03b0a7b80525c1e99812cdbf3a9698f96 +a8a977f51473a91d178ee8cfa45ffef8d6fd93ab1d6e428f96a3c79816d9c6a93cd70f94d4deda0125fd6816e30f3bea +a7688b3b0a4fc1dd16e8ba6dc758d3cfe1b7cf401c31739484c7fa253cce0967df1b290769bcefc9d23d3e0cb19e6218 +8ae84322662a57c6d729e6ff9d2737698cc2da2daeb1f39e506618750ed23442a6740955f299e4a15dda6db3e534d2c6 +a04a961cdccfa4b7ef83ced17ab221d6a043b2c718a0d6cc8e6f798507a31f10bf70361f70a049bc8058303fa7f96864 +b463e39732a7d9daec8a456fb58e54b30a6e160aa522a18b9a9e836488cce3342bcbb2e1deab0f5e6ec0a8796d77197d +b1434a11c6750f14018a2d3bcf94390e2948f4f187e93bb22070ca3e5393d339dc328cbfc3e48815f51929465ffe7d81 +84ff81d73f3828340623d7e3345553610aa22a5432217ef0ebd193cbf4a24234b190c65ca0873c22d10ea7b63bd1fbed +b6fe2723f0c47757932c2ddde7a4f8434f665612f7b87b4009c2635d56b6e16b200859a8ade49276de0ef27a2b6c970a +9742884ed7cd52b4a4a068a43d3faa02551a424136c85a9313f7cb58ea54c04aa83b0728fd741d1fe39621e931e88f8f +b7d2d65ea4d1ad07a5dee39e40d6c03a61264a56b1585b4d76fc5b2a68d80a93a42a0181d432528582bf08d144c2d6a9 +88c0f66bada89f8a43e5a6ead2915088173d106c76f724f4a97b0f6758aed6ae5c37c373c6b92cdd4aea8f6261f3a374 +81f9c43582cb42db3900747eb49ec94edb2284999a499d1527f03315fd330e5a509afa3bff659853570e9886aab5b28b +821f9d27d6beb416abf9aa5c79afb65a50ed276dbda6060103bc808bcd34426b82da5f23e38e88a55e172f5c294b4d40 +8ba307b9e7cb63a6c4f3851b321aebfdb6af34a5a4c3bd949ff7d96603e59b27ff4dc4970715d35f7758260ff942c9e9 +b142eb6c5f846de33227d0bda61d445a7c33c98f0a8365fe6ab4c1fabdc130849be597ef734305894a424ea715372d08 +a732730ae4512e86a741c8e4c87fee8a05ee840fec0e23b2e037d58dba8dde8d10a9bc5191d34d00598941becbbe467f +adce6f7c30fd221f6b10a0413cc76435c4bb36c2d60bca821e5c67409fe9dbb2f4c36ef85eb3d734695e4be4827e9fd3 +a74f00e0f9b23aff7b2527ce69852f8906dab9d6abe62ecd497498ab21e57542e12af9918d4fd610bb09e10b0929c510 +a593b6b0ef26448ce4eb3ab07e84238fc020b3cb10d542ff4b16d4e2be1bcde3797e45c9cf753b8dc3b0ffdb63984232 +aed3913afccf1aa1ac0eb4980eb8426d0baccebd836d44651fd72af00d09fac488a870223c42aca3ceb39752070405ae +b2c44c66a5ea7fde626548ba4cef8c8710191343d3dadfd3bb653ce715c0e03056a5303a581d47dde66e70ea5a2d2779 +8e5029b2ccf5128a12327b5103f7532db599846e422531869560ceaff392236434d87159f597937dbf4054f810c114f4 +82beed1a2c4477e5eb39fc5b0e773b30cfec77ef2b1bf17eadaf60eb35b6d0dd9d8cf06315c48d3546badb3f21cd0cca +90077bd6cc0e4be5fff08e5d07a5a158d36cebd1d1363125bc4fae0866ffe825b26f933d4ee5427ba5cd0c33c19a7b06 +a7ec0d8f079970e8e34f0ef3a53d3e0e45428ddcef9cc776ead5e542ef06f3c86981644f61c5a637e4faf001fb8c6b3e +ae6d4add6d1a6f90b22792bc9d40723ee6850c27d0b97eefafd5b7fd98e424aa97868b5287cc41b4fbd7023bca6a322c +831aa917533d077da07c01417feaa1408846363ba2b8d22c6116bb858a95801547dd88b7d7fa1d2e3f0a02bdeb2e103d +96511b860b07c8a5ed773f36d4aa9d02fb5e7882753bf56303595bcb57e37ccc60288887eb83bef08c657ec261a021a2 +921d2a3e7e9790f74068623de327443666b634c8443aba80120a45bba450df920b2374d96df1ce3fb1b06dd06f8cf6e3 +aa74451d51fe82b4581ead8e506ec6cd881010f7e7dd51fc388eb9a557db5d3c6721f81c151d08ebd9c2591689fbc13e +a972bfbcf4033d5742d08716c927c442119bdae336bf5dff914523b285ccf31953da2733759aacaa246a9af9f698342c +ad1fcd0cae0e76840194ce4150cb8a56ebed728ec9272035f52a799d480dfc85840a4d52d994a18b6edb31e79be6e8ad +a2c69fe1d36f235215432dad48d75887a44c99dfa0d78149acc74087da215a44bdb5f04e6eef88ff7eff80a5a7decc77 +a94ab2af2b6ee1bc6e0d4e689ca45380d9fbd3c5a65b9bd249d266a4d4c07bf5d5f7ef2ae6000623aee64027892bf8fe +881ec1fc514e926cdc66480ac59e139148ff8a2a7895a49f0dff45910c90cdda97b66441a25f357d6dd2471cddd99bb3 +884e6d3b894a914c8cef946a76d5a0c8351843b2bffa2d1e56c6b5b99c84104381dd1320c451d551c0b966f4086e60f9 +817c6c10ce2677b9fc5223500322e2b880583254d0bb0d247d728f8716f5e05c9ff39f135854342a1afecd9fbdcf7c46 +aaf4a9cb686a14619aa1fc1ac285dd3843ac3dd99f2b2331c711ec87b03491c02f49101046f3c5c538dc9f8dba2a0ac2 +97ecea5ce53ca720b5d845227ae61d70269a2f53540089305c86af35f0898bfd57356e74a8a5e083fa6e1ea70080bd31 +a22d811e1a20a75feac0157c418a4bfe745ccb5d29466ffa854dca03e395b6c3504a734341746b2846d76583a780b32e +940cbaa0d2b2db94ae96b6b9cf2deefbfd059e3e5745de9aec4a25f0991b9721e5cd37ef71c631575d1a0c280b01cd5b +ae33cb4951191258a11044682de861bf8d92d90ce751b354932dd9f3913f542b6a0f8a4dc228b3cd9244ac32c4582832 +a580df5e58c4274fe0f52ac2da1837e32f5c9db92be16c170187db4c358f43e5cfdda7c5911dcc79d77a5764e32325f5 +81798178cb9d8affa424f8d3be67576ba94d108a28ccc01d330c51d5a63ca45bb8ca63a2f569b5c5fe1303cecd2d777f +89975b91b94c25c9c3660e4af4047a8bacf964783010820dbc91ff8281509379cb3b24c25080d5a01174dd9a049118d5 +a7327fcb3710ed3273b048650bde40a32732ef40a7e58cf7f2f400979c177944c8bc54117ba6c80d5d4260801dddab79 +92b475dc8cb5be4b90c482f122a51bcb3b6c70593817e7e2459c28ea54a7845c50272af38119406eaadb9bcb993368d0 +9645173e9ecefc4f2eae8363504f7c0b81d85f8949a9f8a6c01f2d49e0a0764f4eacecf3e94016dd407fc14494fce9f9 +9215fd8983d7de6ae94d35e6698226fc1454977ae58d42d294be9aad13ac821562ad37d5e7ee5cdfe6e87031d45cd197 +810360a1c9b88a9e36f520ab5a1eb8bed93f52deefbe1312a69225c0a08edb10f87cc43b794aced9c74220cefcc57e7d +ad7e810efd61ed4684aeda9ed8bb02fb9ae4b4b63fda8217d37012b94ff1b91c0087043bfa4e376f961fff030c729f3b +8b07c95c6a06db8738d10bb03ec11b89375c08e77f0cab7e672ce70b2685667ca19c7e1c8b092821d31108ea18dfd4c7 +968825d025ded899ff7c57245250535c732836f7565eab1ae23ee7e513201d413c16e1ba3f5166e7ac6cf74de8ceef4f +908243370c5788200703ade8164943ad5f8c458219186432e74dbc9904a701ea307fd9b94976c866e6c58595fd891c4b +959969d16680bc535cdc6339e6186355d0d6c0d53d7bbfb411641b9bf4b770fd5f575beef5deec5c4fa4d192d455c350 +ad177f4f826a961adeac76da40e2d930748effff731756c797eddc4e5aa23c91f070fb69b19221748130b0961e68a6bb +82f8462bcc25448ef7e0739425378e9bb8a05e283ce54aae9dbebaf7a3469f57833c9171672ad43a79778366c72a5e37 +a28fb275b1845706c2814d9638573e9bc32ff552ebaed761fe96fdbce70395891ca41c400ae438369264e31a2713b15f +8a9c613996b5e51dadb587a787253d6081ea446bf5c71096980bf6bd3c4b69905062a8e8a3792de2d2ece3b177a71089 +8d5aefef9f60cb27c1db2c649221204dda48bb9bf8bf48f965741da051340e8e4cab88b9d15c69f3f84f4c854709f48a +93ebf2ca6ad85ab6deace6de1a458706285b31877b1b4d7dcb9d126b63047efaf8c06d580115ec9acee30c8a7212fa55 +b3ee46ce189956ca298057fa8223b7fd1128cf52f39159a58bca03c71dd25161ac13f1472301f72aef3e1993fe1ab269 +a24d7a8d066504fc3f5027ccb13120e2f22896860e02c45b5eba1dbd512d6a17c28f39155ea581619f9d33db43a96f92 +ae9ceacbfe12137db2c1a271e1b34b8f92e4816bad1b3b9b6feecc34df0f8b3b0f7ed0133acdf59c537d43d33fc8d429 +83967e69bf2b361f86361bd705dce0e1ad26df06da6c52b48176fe8dfcbeb03c462c1a4c9e649eff8c654b18c876fdef +9148e6b814a7d779c19c31e33a068e97b597de1f8100513db3c581190513edc4d544801ce3dd2cf6b19e0cd6daedd28a +94ccdafc84920d320ed22de1e754adea072935d3c5f8c2d1378ebe53d140ea29853f056fb3fb1e375846061a038cc9bc +afb43348498c38b0fa5f971b8cdd3a62c844f0eb52bc33daf2f67850af0880fce84ecfb96201b308d9e6168a0d443ae3 +86d5736520a83538d4cd058cc4b4e84213ed00ebd6e7af79ae787adc17a92ba5359e28ba6c91936d967b4b28d24c3070 +b5210c1ff212c5b1e9ef9126e08fe120a41e386bb12c22266f7538c6d69c7fd8774f11c02b81fd4e88f9137b020801fe +b78cfd19f94d24e529d0f52e18ce6185cb238edc6bd43086270fd51dd99f664f43dd4c7d2fe506762fbd859028e13fcf +a6e7220598c554abdcc3fdc587b988617b32c7bb0f82c06205467dbedb58276cc07cae317a190f19d19078773f4c2bbb +b88862809487ee430368dccd85a5d72fa4d163ca4aad15c78800e19c1a95be2192719801e315d86cff7795e0544a77e4 +87ecb13a03921296f8c42ceb252d04716f10e09c93962239fcaa0a7fef93f19ab3f2680bc406170108bc583e9ff2e721 +a810cd473832b6581c36ec4cb403f2849357ba2d0b54df98ef3004b8a530c078032922a81d40158f5fb0043d56477f6e +a247b45dd85ca7fbb718b328f30a03f03c84aef2c583fbdc9fcc9eb8b52b34529e8c8f535505c10598b1b4dac3d7c647 +96ee0b91313c68bac4aa9e065ce9e1d77e51ca4cff31d6a438718c58264dee87674bd97fc5c6b8008be709521e4fd008 +837567ad073e42266951a9a54750919280a2ac835a73c158407c3a2b1904cf0d17b7195a393c71a18ad029cbd9cf79ee +a6a469c44b67ebf02196213e7a63ad0423aab9a6e54acc6fcbdbb915bc043586993454dc3cd9e4be8f27d67c1050879b +8712d380a843b08b7b294f1f06e2f11f4ad6bcc655fdde86a4d8bc739c23916f6fad2b902fe47d6212f03607907e9f0e +920adfb644b534789943cdae1bdd6e42828dda1696a440af2f54e6b97f4f97470a1c6ea9fa6a2705d8f04911d055acd1 +a161c73adf584a0061e963b062f59d90faac65c9b3a936b837a10d817f02fcabfa748824607be45a183dd40f991fe83f +874f4ecd408c76e625ea50bc59c53c2d930ee25baf4b4eca2440bfbffb3b8bc294db579caa7c68629f4d9ec24187c1ba +8bff18087f112be7f4aa654e85c71fef70eee8ae480f61d0383ff6f5ab1a0508f966183bb3fc4d6f29cb7ca234aa50d3 +b03b46a3ca3bc743a173cbc008f92ab1aedd7466b35a6d1ca11e894b9482ea9dc75f8d6db2ddd1add99bfbe7657518b7 +8b4f3691403c3a8ad9e097f02d130769628feddfa8c2b3dfe8cff64e2bed7d6e5d192c1e2ba0ac348b8585e94acd5fa1 +a0d9ca4a212301f97591bf65d5ef2b2664766b427c9dd342e23cb468426e6a56be66b1cb41fea1889ac5d11a8e3c50a5 +8c93ed74188ca23b3df29e5396974b9cc135c91fdefdea6c0df694c8116410e93509559af55533a3776ac11b228d69b1 +82dd331fb3f9e344ebdeeb557769b86a2cc8cc38f6c298d7572a33aea87c261afa9dbd898989139b9fc16bc1e880a099 +a65faedf326bcfd8ef98a51410c78b021d39206704e8291cd1f09e096a66b9b0486be65ff185ca224c45918ac337ddeb +a188b37d363ac072a766fd5d6fa27df07363feff1342217b19e3c37385e42ffde55e4be8355aceaa2f267b6d66b4ac41 +810fa3ba3e96d843e3bafd3f2995727f223d3567c8ba77d684c993ba1773c66551eb5009897c51b3fe9b37196984f5ec +87631537541852da323b4353af45a164f68b304d24c01183bf271782e11687f3fcf528394e1566c2a26cb527b3148e64 +b721cb2b37b3c477a48e3cc0044167d51ff568a5fd2fb606e5aec7a267000f1ddc07d3db919926ae12761a8e017c767c +904dfad4ba2cc1f6e60d1b708438a70b1743b400164cd981f13c064b8328d5973987d4fb9cf894068f29d3deaf624dfb +a70491538893552c20939fae6be2f07bfa84d97e2534a6bbcc0f1729246b831103505e9f60e97a8fa7d2e6c1c2384579 +8726cf1b26b41f443ff7485adcfddc39ace2e62f4d65dd0bb927d933e262b66f1a9b367ded5fbdd6f3b0932553ac1735 +ae8a11cfdf7aa54c08f80cb645e3339187ab3886babe9fae5239ba507bb3dd1c0d161ca474a2df081dcd3d63e8fe445e +92328719e97ce60e56110f30a00ac5d9c7a2baaf5f8d22355d53c1c77941e3a1fec7d1405e6fbf8959665fe2ba7a8cad +8d9d6255b65798d0018a8cccb0b6343efd41dc14ff2058d3eed9451ceaad681e4a0fa6af67b0a04318aa628024e5553d +b70209090055459296006742d946a513f0cba6d83a05249ee8e7a51052b29c0ca9722dc4af5f9816a1b7938a5dac7f79 +aab7b766b9bf91786dfa801fcef6d575dc6f12b77ecc662eb4498f0312e54d0de9ea820e61508fc8aeee5ab5db529349 +a8104b462337748b7f086a135d0c3f87f8e51b7165ca6611264b8fb639d9a2f519926cb311fa2055b5fadf03da70c678 +b0d2460747d5d8b30fc6c6bd0a87cb343ddb05d90a51b465e8f67d499cfc5e3a9e365da05ae233bbee792cdf90ec67d5 +aa55f5bf3815266b4a149f85ed18e451c93de9163575e3ec75dd610381cc0805bb0a4d7c4af5b1f94d10231255436d2c +8d4c6a1944ff94426151909eb5b99cfd92167b967dabe2bf3aa66bb3c26c449c13097de881b2cfc1bf052862c1ef7b03 +8862296162451b9b6b77f03bf32e6df71325e8d7485cf3335d66fd48b74c2a8334c241db8263033724f26269ad95b395 +901aa96deb26cda5d9321190ae6624d357a41729d72ef1abfd71bebf6139af6d690798daba53b7bc5923462115ff748a +96c195ec4992728a1eb38cdde42d89a7bce150db43adbc9e61e279ea839e538deec71326b618dd39c50d589f78fc0614 +b6ff8b8aa0837b99a1a8b46fb37f20ad4aecc6a98381b1308697829a59b8442ffc748637a88cb30c9b1f0f28a926c4f6 +8d807e3dca9e7bef277db1d2cfb372408dd587364e8048b304eff00eacde2c723bfc84be9b98553f83cba5c7b3cba248 +8800c96adb0195c4fc5b24511450dee503c32bf47044f5e2e25bd6651f514d79a2dd9b01cd8c09f3c9d3859338490f57 +89fe366096097e38ec28dd1148887112efa5306cc0c3da09562aafa56f4eb000bf46ff79bf0bdd270cbde6bf0e1c8957 +af409a90c2776e1e7e3760b2042507b8709e943424606e31e791d42f17873a2710797f5baaab4cc4a19998ef648556b0 +8d761863c9b6edbd232d35ab853d944f5c950c2b643f84a1a1327ebb947290800710ff01dcfa26dc8e9828481240e8b1 +90b95e9be1e55c463ed857c4e0617d6dc3674e99b6aa62ed33c8e79d6dfcf7d122f4f4cc2ee3e7c5a49170cb617d2e2e +b3ff381efefabc4db38cc4727432e0301949ae4f16f8d1dea9b4f4de611cf5a36d84290a0bef160dac4e1955e516b3b0 +a8a84564b56a9003adcadb3565dc512239fc79572762cda7b5901a255bc82656bb9c01212ad33d6bef4fbbce18dacc87 +90a081890364b222eef54bf0075417f85e340d2fec8b7375995f598aeb33f26b44143ebf56fca7d8b4ebb36b5747b0eb +ade6ee49e1293224ddf2d8ab7f14bb5be6bc6284f60fd5b3a1e0cf147b73cff57cf19763b8a36c5083badc79c606b103 +b2fa99806dd2fa3de09320b615a2570c416c9bcdb052e592b0aead748bbe407ec9475a3d932ae48b71c2627eb81986a6 +91f3b7b73c8ccc9392542711c45fe6f236057e6efad587d661ad5cb4d6e88265f86b807bb1151736b1009ab74fd7acb4 +8800e2a46af96696dfbdcbf2ca2918b3dcf28ad970170d2d1783b52b8d945a9167d052beeb55f56c126da7ffa7059baa +9862267a1311c385956b977c9aa08548c28d758d7ba82d43dbc3d0a0fd1b7a221d39e8399997fea9014ac509ff510ac4 +b7d24f78886fd3e2d283e18d9ad5a25c1a904e7d9b9104bf47da469d74f34162e27e531380dbbe0a9d051e6ffd51d6e7 +b0f445f9d143e28b9df36b0f2c052da87ee2ca374d9d0fbe2eff66ca6fe5fe0d2c1951b428d58f7314b7e74e45d445ea +b63fc4083eabb8437dafeb6a904120691dcb53ce2938b820bb553da0e1eecd476f72495aacb72600cf9cad18698fd3db +b9ffd8108eaebd582d665f8690fe8bb207fd85185e6dd9f0b355a09bac1bbff26e0fdb172bc0498df025414e88fe2eda +967ed453e1f1a4c5b7b6834cc9f75c13f6889edc0cc91dc445727e9f408487bbf05c337103f61397a10011dfbe25d61d +98ceb673aff36e1987d5521a3984a07079c3c6155974bb8b413e8ae1ce84095fe4f7862fba7aefa14753eb26f2a5805f +85f01d28603a8fdf6ce6a50cb5c44f8a36b95b91302e3f4cd95c108ce8f4d212e73aec1b8d936520d9226802a2bd9136 +88118e9703200ca07910345fbb789e7a8f92bd80bbc79f0a9e040e8767d33df39f6eded403a9b636eabf9101e588482a +90833a51eef1b10ed74e8f9bbd6197e29c5292e469c854eed10b0da663e2bceb92539710b1858bbb21887bd538d28d89 +b513b905ec19191167c6193067b5cfdf5a3d3828375360df1c7e2ced5815437dfd37f0c4c8f009d7fb29ff3c8793f560 +b1b6d405d2d18f9554b8a358cc7e2d78a3b34269737d561992c8de83392ac9a2857be4bf15de5a6c74e0c9d0f31f393c +b828bd3e452b797323b798186607849f85d1fb20c616833c0619360dfd6b3e3aa000fd09dafe4b62d74abc41072ff1a9 +8efde67d0cca56bb2c464731879c9ac46a52e75bac702a63200a5e192b4f81c641f855ca6747752b84fe469cb7113b6c +b2762ba1c89ac3c9a983c242e4d1c2610ff0528585ed5c0dfc8a2c0253551142af9b59f43158e8915a1da7cc26b9df67 +8a3f1157fb820d1497ef6b25cd70b7e16bb8b961b0063ad340d82a79ee76eb2359ca9e15e6d42987ed7f154f5eeaa2da +a75e29f29d38f09c879f971c11beb5368affa084313474a5ecafa2896180b9e47ea1995c2733ec46f421e395a1d9cffe +8e8c3dd3e7196ef0b4996b531ec79e4a1f211db5d5635e48ceb80ff7568b2ff587e845f97ee703bb23a60945ad64314a +8e7f32f4a3e3c584af5e3d406924a0aa34024c42eca74ef6cc2a358fd3c9efaf25f1c03aa1e66bb94b023a2ee2a1cace +ab7dce05d59c10a84feb524fcb62478906b3fa045135b23afbede3bb32e0c678d8ebe59feabccb5c8f3550ea76cae44b +b38bb4b44d827f6fd3bd34e31f9186c59e312dbfadd4a7a88e588da10146a78b1f8716c91ad8b806beb8da65cab80c4c +9490ce9442bbbd05438c7f5c4dea789f74a7e92b1886a730544b55ba377840740a3ae4f2f146ee73f47c9278b0e233bc +83c003fab22a7178eed1a668e0f65d4fe38ef3900044e9ec63070c23f2827d36a1e73e5c2b883ec6a2afe2450171b3b3 +9982f02405978ddc4fca9063ebbdb152f524c84e79398955e66fe51bc7c1660ec1afc3a86ec49f58d7b7dde03505731c +ab337bd83ccdd2322088ffa8d005f450ced6b35790f37ab4534313315ee84312adc25e99cce052863a8bedee991729ed +8312ce4bec94366d88f16127a17419ef64285cd5bf9e5eda010319b48085966ed1252ed2f5a9fd3e0259b91bb65f1827 +a60d5a6327c4041b0c00a1aa2f0af056520f83c9ce9d9ccd03a0bd4d9e6a1511f26a422ea86bd858a1f77438adf07e6c +b84a0a0b030bdad83cf5202aa9afe58c9820e52483ab41f835f8c582c129ee3f34aa096d11c1cd922eda02ea1196a882 +8077d105317f4a8a8f1aadeb05e0722bb55f11abcb490c36c0904401107eb3372875b0ac233144829e734f0c538d8c1d +9202503bd29a6ec198823a1e4e098f9cfe359ed51eb5174d1ca41368821bfeebcbd49debfd02952c41359d1c7c06d2b1 +abc28c155e09365cb77ffead8dc8f602335ef93b2f44e4ef767ce8fc8ef9dd707400f3a722e92776c2e0b40192c06354 +b0f6d1442533ca45c9399e0a63a11f85ff288d242cea6cb3b68c02e77bd7d158047cae2d25b3bcd9606f8f66d9b32855 +b01c3d56a0db84dc94575f4b6ee2de4beca3230e86bed63e2066beb22768b0a8efb08ebaf8ac3dedb5fe46708b084807 +8c8634b0432159f66feaabb165842d1c8ac378f79565b1b90c381aa8450eb4231c3dad11ec9317b9fc2b155c3a771e32 +8e67f623d69ecd430c9ee0888520b6038f13a2b6140525b056dc0951f0cfed2822e62cf11d952a483107c5c5acac4826 +9590bb1cba816dd6acd5ac5fba5142c0a19d53573e422c74005e0bcf34993a8138c83124cad35a3df65879dba6134edd +801cd96cde0749021a253027118d3ea135f3fcdbe895db08a6c145641f95ebd368dd6a1568d995e1d0084146aebe224a +848b5d196427f6fc1f762ee3d36e832b64a76ec1033cfedc8b985dea93932a7892b8ef1035c653fb9dcd9ab2d9a44ac8 +a1017eb83d5c4e2477e7bd2241b2b98c4951a3b391081cae7d75965cadc1acaec755cf350f1f3d29741b0828e36fedea +8d6d2785e30f3c29aad17bd677914a752f831e96d46caf54446d967cb2432be2c849e26f0d193a60bee161ea5c6fe90a +935c0ba4290d4595428e034b5c8001cbd400040d89ab00861108e8f8f4af4258e41f34a7e6b93b04bc253d3b9ffc13bf +aac02257146246998477921cef2e9892228590d323b839f3e64ea893b991b463bc2f47e1e5092ddb47e70b2f5bce7622 +b921fde9412970a5d4c9a908ae8ce65861d06c7679af577cf0ad0d5344c421166986bee471fd6a6cecb7d591f06ec985 +8ef4c37487b139d6756003060600bb6ebac7ea810b9c4364fc978e842f13ac196d1264fbe5af60d76ff6d9203d8e7d3f +94b65e14022b5cf6a9b95f94be5ace2711957c96f4211c3f7bb36206bd39cfbd0ea82186cab5ad0577a23214a5c86e9e +a31c166d2a2ca1d5a75a5920fef7532681f62191a50d8555fdaa63ba4581c3391cc94a536fc09aac89f64eafceec3f90 +919a8cc128de01e9e10f5d83b08b52293fdd41bde2b5ae070f3d95842d4a16e5331cf2f3d61c765570c8022403610fa4 +b23d6f8331eef100152d60483cfa14232a85ee712c8538c9b6417a5a7c5b353c2ac401390c6c215cb101f5cee6b5f43e +ab357160c08a18319510a571eafff154298ce1020de8e1dc6138a09fcb0fcbcdd8359f7e9386bda00b7b9cdea745ffdc +ab55079aea34afa5c0bd1124b9cdfe01f325b402fdfa017301bf87812eaa811ea5798c3aaf818074d420d1c782b10ada +ade616010dc5009e7fc4f8d8b00dc716686a5fa0a7816ad9e503e15839d3b909b69d9dd929b7575376434ffec0d2bea8 +863997b97ed46898a8a014599508fa3079f414b1f4a0c4fdc6d74ae8b444afa350f327f8bfc2a85d27f9e2d049c50135 +8d602ff596334efd4925549ed95f2aa762b0629189f0df6dbb162581657cf3ea6863cd2287b4d9c8ad52813d87fcd235 +b70f68c596dcdeed92ad5c6c348578b26862a51eb5364237b1221e840c47a8702f0fbc56eb520a22c0eed99795d3903e +9628088f8e0853cefadee305a8bf47fa990c50fa96a82511bbe6e5dc81ef4b794e7918a109070f92fc8384d77ace226f +97e26a46e068b605ce96007197ecd943c9a23881862f4797a12a3e96ba2b8d07806ad9e2a0646796b1889c6b7d75188c +b1edf467c068cc163e2d6413cc22b16751e78b3312fe47b7ea82b08a1206d64415b2c8f2a677fa89171e82cc49797150 +a44d15ef18745b251429703e3cab188420e2d974de07251501799b016617f9630643fcd06f895634d8ecdd579e1bf000 +abd126df3917ba48c618ee4dbdf87df506193462f792874439043fa1b844466f6f4e0ff2e42516e63b5b23c0892b2695 +a2a67f57c4aa3c2aa1eeddbfd5009a89c26c2ce8fa3c96a64626aba19514beb125f27df8559506f737de3eae0f1fc18f +a633e0132197e6038197304b296ab171f1d8e0d0f34dcf66fe9146ac385b0239232a8470b9205a4802ab432389f4836d +a914b3a28509a906c3821463b936455d58ff45dcbe158922f9efb2037f2eb0ce8e92532d29b5d5a3fcd0d23fa773f272 +a0e1412ce4505daf1a2e59ce4f0fc0e0023e335b50d2b204422f57cd65744cc7a8ed35d5ef131a42c70b27111d3115b7 +a2339e2f2b6072e88816224fdd612c04d64e7967a492b9f8829db15367f565745325d361fd0607b0def1be384d010d9e +a7309fc41203cb99382e8193a1dcf03ac190a7ce04835304eb7e341d78634e83ea47cb15b885601956736d04cdfcaa01 +81f3ccd6c7f5b39e4e873365f8c37b214e8ab122d04a606fbb7339dc3298c427e922ec7418002561d4106505b5c399ee +92c121cf914ca549130e352eb297872a63200e99b148d88fbc9506ad882bec9d0203d65f280fb5b0ba92e336b7f932e8 +a4b330cf3f064f5b131578626ad7043ce2a433b6f175feb0b52d36134a454ca219373fd30d5e5796410e005b69082e47 +86fe5774112403ad83f9c55d58317eeb17ad8e1176d9f2f69c2afb7ed83bc718ed4e0245ceab4b377f5f062dcd4c00e7 +809d152a7e2654c7fd175b57f7928365a521be92e1ed06c05188a95864ddb25f7cab4c71db7d61bbf4cae46f3a1d96ce +b82d663e55c2a5ada7e169e9b1a87bc1c0177baf1ec1c96559b4cb1c5214ce1ddf2ab8d345014cab6402f3774235cf5a +86580af86df1bd2c385adb8f9a079e925981b7184db66fc5fe5b14cddb82e7d836b06eaeef14924ac529487b23dae111 +b5f5f4c5c94944ecc804df6ab8687d64e27d988cbfeae1ba7394e0f6adbf778c5881ead7cd8082dd7d68542b9bb4ecd5 +a6016916146c2685c46e8fdd24186394e2d5496e77e08c0c6a709d4cd7dfa97f1efcef94922b89196819076a91ad37b5 +b778e7367ded3b6eab53d5fc257f7a87e8faf74a593900f2f517220add2125be3f6142022660d8181df8d164ad9441ce +8581b2d36abe6f553add4d24be761bec1b8efaa2929519114346615380b3c55b59e6ad86990e312f7e234d0203bdf59b +9917e74fd45c3f71a829ff5498a7f6b5599b48c098dda2339bf04352bfc7f368ccf1a407f5835901240e76452ae807d7 +afd196ce6f9335069138fd2e3d133134da253978b4ce373152c0f26affe77a336505787594022e610f8feb722f7cc1fb +a477491a1562e329764645e8f24d8e228e5ef28c9f74c6b5b3abc4b6a562c15ffb0f680d372aed04d9e1bf944dece7be +9767440d58c57d3077319d3a330e5322b9ba16981ec74a5a14d53462eab59ae7fd2b14025bfc63b268862094acb444e6 +80986d921be3513ef69264423f351a61cb48390c1be8673aee0f089076086aaebea7ebe268fd0aa7182695606116f679 +a9554c5c921c07b450ee04e34ec58e054ac1541b26ce2ce5a393367a97348ba0089f53db6660ad76b60278b66fd12e3e +95097e7d2999b3e84bf052c775581cf361325325f4a50192521d8f4693c830bed667d88f482dc1e3f833aa2bd22d2cbf +9014c91d0f85aefd28436b5228c12f6353c055a9326c7efbf5e071e089e2ee7c070fcbc84c5fafc336cbb8fa6fec1ca1 +90f57ba36ee1066b55d37384942d8b57ae00f3cf9a3c1d6a3dfee1d1af42d4b5fa9baeb0cd7e46687d1d6d090ddb931d +8e4b1db12fd760a17214c9e47f1fce6e43c0dbb4589a827a13ac61aaae93759345697bb438a00edab92e0b7b62414683 +8022a959a513cdc0e9c705e0fc04eafd05ff37c867ae0f31f6d01cddd5df86138a426cab2ff0ac8ff03a62e20f7e8f51 +914e9a38829834c7360443b8ed86137e6f936389488eccf05b4b4db7c9425611705076ecb3f27105d24b85c852be7511 +957fb10783e2bd0db1ba66b18e794df710bc3b2b05776be146fa5863c15b1ebdd39747b1a95d9564e1772cdfc4f37b8a +b6307028444daed8ed785ac9d0de76bc3fe23ff2cc7e48102553613bbfb5afe0ebe45e4212a27021c8eb870721e62a1f +8f76143597777d940b15a01b39c5e1b045464d146d9a30a6abe8b5d3907250e6c7f858ff2308f8591e8b0a7b3f3c568a +96163138ac0ce5fd00ae9a289648fd9300a0ca0f63a88481d703ecd281c06a52a3b5178e849e331f9c85ca4ba398f4cc +a63ef47c3e18245b0482596a09f488a716df3cbd0f9e5cfabed0d742843e65db8961c556f45f49762f3a6ac8b627b3ef +8cb595466552e7c4d42909f232d4063e0a663a8ef6f6c9b7ce3a0542b2459cde04e0e54c7623d404acb5b82775ac04f6 +b47fe69960eb45f399368807cff16d941a5a4ebad1f5ec46e3dc8a2e4d598a7e6114d8f0ca791e9720fd786070524e2b +89eb5ff83eea9df490e5beca1a1fbbbbcf7184a37e2c8c91ede7a1e654c81e8cd41eceece4042ea7918a4f4646b67fd6 +a84f5d155ed08b9054eecb15f689ba81e44589e6e7207a99790c598962837ca99ec12344105b16641ca91165672f7153 +a6cc8f25c2d5b2d2f220ec359e6a37a52b95fa6af6e173c65e7cd55299eff4aa9e6d9e6f2769e6459313f1f2aecb0fab +afcde944411f017a9f7979755294981e941cc41f03df5e10522ef7c7505e5f1babdd67b3bf5258e8623150062eb41d9b +8fab39f39c0f40182fcd996ade2012643fe7731808afbc53f9b26900b4d4d1f0f5312d9d40b3df8baa4739970a49c732 +ae193af9726da0ebe7df1f9ee1c4846a5b2a7621403baf8e66c66b60f523e719c30c6b4f897bb14b27d3ff3da8392eeb +8ac5adb82d852eba255764029f42e6da92dcdd0e224d387d1ef94174038db9709ac558d90d7e7c57ad4ce7f89bbfc38c +a2066b3458fdf678ee487a55dd5bfb74fde03b54620cb0e25412a89ee28ad0d685e309a51e3e4694be2fa6f1593a344c +88d031745dd0ae07d61a15b594be5d4b2e2a29e715d081649ad63605e3404b0c3a5353f0fd9fad9c05c18e93ce674fa1 +8283cfb0ef743a043f2b77ecaeba3005e2ca50435585b5dd24777ee6bce12332f85e21b446b536da38508807f0f07563 +b376de22d5f6b0af0b59f7d9764561f4244cf8ffe22890ecd3dcf2ff1832130c9b821e068c9d8773136f4796721e5963 +ae3afc50c764f406353965363840bf28ee85e7064eb9d5f0bb3c31c64ab10f48c853e942ee2c9b51bae59651eaa08c2f +948b204d103917461a01a6c57a88f2d66b476eae5b00be20ec8c747650e864bc8a83aee0aff59cb7584b7a3387e0ee48 +81ab098a082b07f896c5ffd1e4446cb7fb44804cbbf38d125208b233fc82f8ec9a6a8d8dd1c9a1162dc28ffeec0dde50 +a149c6f1312821ced2969268789a3151bdda213451760b397139a028da609c4134ac083169feb0ee423a0acafd10eceb +b0ac9e27a5dadaf523010f730b28f0ebac01f460d3bbbe277dc9d44218abb5686f4fac89ae462682fef9edbba663520a +8d0e0073cca273daaaa61b6fc54bfe5a009bc3e20ae820f6c93ba77b19eca517d457e948a2de5e77678e4241807157cb +ad61d3a2edf7c7533a04964b97499503fd8374ca64286dba80465e68fe932e96749b476f458c6fc57cb1a7ca85764d11 +90eb5e121ae46bc01a30881eaa556f46bd8457a4e80787cf634aab355082de34ac57d7f497446468225f7721e68e2a47 +8cdac557de7c42d1f3780e33dec1b81889f6352279be81c65566cdd4952d4c15d79e656cbd46035ab090b385e90245ef +82b67e61b88b84f4f4d4f65df37b3e3dcf8ec91ea1b5c008fdccd52da643adbe6468a1cfdb999e87d195afe2883a3b46 +8503b467e8f5d6048a4a9b78496c58493a462852cab54a70594ae3fd064cfd0deb4b8f336a262155d9fedcaa67d2f6fd +8db56c5ac763a57b6ce6832930c57117058e3e5a81532b7d19346346205e2ec614eb1a2ee836ef621de50a7bc9b7f040 +ad344699198f3c6e8c0a3470f92aaffc805b76266734414c298e10b5b3797ca53578de7ccb2f458f5e0448203f55282b +80602032c43c9e2a09154cc88b83238343b7a139f566d64cb482d87436b288a98f1ea244fd3bff8da3c398686a900c14 +a6385bd50ecd548cfb37174cdbb89e10025b5cadaf3cff164c95d7aef5a33e3d6a9bf0c681b9e11db9ef54ebeee2a0c1 +abf2d95f4aa34b0581eb9257a0cc8462b2213941a5deb8ba014283293e8b36613951b61261cc67bbd09526a54cbbff76 +a3d5de52f48df72c289ff713e445991f142390798cd42bd9d9dbefaee4af4f5faf09042d126b975cf6b98711c3072553 +8e627302ff3d686cff8872a1b7c2a57b35f45bf2fc9aa42b049d8b4d6996a662b8e7cbac6597f0cb79b0cc4e29fbf133 +8510702e101b39a1efbf4e504e6123540c34b5689645e70d0bac1ecc1baf47d86c05cef6c4317a4e99b4edaeb53f2d00 +aa173f0ecbcc6088f878f8726d317748c81ebf501bba461f163b55d66099b191ec7c55f7702f351a9c8eb42cfa3280e2 +b560a697eafab695bcef1416648a0a664a71e311ecbe5823ae903bd0ed2057b9d7574b9a86d3fe22aa3e6ddce38ea513 +8df6304a3d9cf40100f3f687575419c998cd77e5cc27d579cf4f8e98642de3609af384a0337d145dd7c5635172d26a71 +8105c7f3e4d30a29151849673853b457c1885c186c132d0a98e63096c3774bc9deb956cf957367e633d0913680bda307 +95373fc22c0917c3c2044ac688c4f29a63ed858a45c0d6d2d0fe97afd6f532dcb648670594290c1c89010ecc69259bef +8c2fae9bcadab341f49b55230310df93cac46be42d4caa0d42e45104148a91e527af1b4209c0d972448162aed28fab64 +b05a77baab70683f76209626eaefdda2d36a0b66c780a20142d23c55bd479ddd4ad95b24579384b6cf62c8eb4c92d021 +8e6bc6a7ea2755b4aaa19c1c1dee93811fcde514f03485fdc3252f0ab7f032c315614f6336e57cea25dcfb8fb6084eeb +b656a27d06aade55eadae2ad2a1059198918ea6cc3fd22c0ed881294d34d5ac7b5e4700cc24350e27d76646263b223aa +a296469f24f6f56da92d713afcd4dd606e7da1f79dc4e434593c53695847eefc81c7c446486c4b3b8c8d00c90c166f14 +87a326f57713ac2c9dffeb3af44b9f3c613a8f952676fc46343299122b47ee0f8d792abaa4b5db6451ced5dd153aabd0 +b689e554ba9293b9c1f6344a3c8fcb6951d9f9eac4a2e2df13de021aade7c186be27500e81388e5b8bcab4c80f220a31 +87ae0aa0aa48eac53d1ca5a7b93917de12db9e40ceabf8fdb40884ae771cfdf095411deef7c9f821af0b7070454a2608 +a71ffa7eae8ace94e6c3581d4cb2ad25d48cbd27edc9ec45baa2c8eb932a4773c3272b2ffaf077b40f76942a1f3af7f2 +94c218c91a9b73da6b7a495b3728f3028df8ad9133312fc0c03e8c5253b7ccb83ed14688fd4602e2fd41f29a0bc698bd +ae1e77b90ca33728af07a4c03fb2ef71cd92e2618e7bf8ed4d785ce90097fc4866c29999eb84a6cf1819d75285a03af2 +b7a5945b277dab9993cf761e838b0ac6eaa903d7111fca79f9fde3d4285af7a89bf6634a71909d095d7619d913972c9c +8c43b37be02f39b22029b20aca31bff661abce4471dca88aa3bddefd9c92304a088b2dfc8c4795acc301ca3160656af2 +b32e5d0fba024554bd5fe8a793ebe8003335ddd7f585876df2048dcf759a01285fecb53daae4950ba57f3a282a4d8495 +85ea7fd5e10c7b659df5289b2978b2c89e244f269e061b9a15fcab7983fc1962b63546e82d5731c97ec74b6804be63ef +96b89f39181141a7e32986ac02d7586088c5a9662cec39843f397f3178714d02f929af70630c12cbaba0268f8ba2d4fa +929ab1a2a009b1eb37a2817c89696a06426529ebe3f306c586ab717bd34c35a53eca2d7ddcdef36117872db660024af9 +a696dccf439e9ca41511e16bf3042d7ec0e2f86c099e4fc8879d778a5ea79e33aa7ce96b23dc4332b7ba26859d8e674d +a8fe69a678f9a194b8670a41e941f0460f6e2dbc60470ab4d6ae2679cc9c6ce2c3a39df2303bee486dbfde6844e6b31a +95f58f5c82de2f2a927ca99bf63c9fc02e9030c7e46d0bf6b67fe83a448d0ae1c99541b59caf0e1ccab8326231af09a5 +a57badb2c56ca2c45953bd569caf22968f76ed46b9bac389163d6fe22a715c83d5e94ae8759b0e6e8c2f27bff7748f3f +868726fd49963b24acb5333364dffea147e98f33aa19c7919dc9aca0fd26661cfaded74ede7418a5fadbe7f5ae67b67b +a8d8550dcc64d9f1dd7bcdab236c4122f2b65ea404bb483256d712c7518f08bb028ff8801f1da6aed6cbfc5c7062e33b +97e25a87dae23155809476232178538d4bc05d4ff0882916eb29ae515f2a62bfce73083466cc0010ca956aca200aeacc +b4ea26be3f4bd04aa82d7c4b0913b97bcdf5e88b76c57eb1a336cbd0a3eb29de751e1bc47c0e8258adec3f17426d0c71 +99ee555a4d9b3cf2eb420b2af8e3bc99046880536116d0ce7193464ac40685ef14e0e3c442f604e32f8338cb0ef92558 +8c64efa1da63cd08f319103c5c7a761221080e74227bbc58b8fb35d08aa42078810d7af3e60446cbaff160c319535648 +8d9fd88040076c28420e3395cbdfea402e4077a3808a97b7939d49ecbcf1418fe50a0460e1c1b22ac3f6e7771d65169a +ae3c19882d7a9875d439265a0c7003c8d410367627d21575a864b9cb4918de7dbdb58a364af40c5e045f3df40f95d337 +b4f7bfacab7b2cafe393f1322d6dcc6f21ffe69cd31edc8db18c06f1a2b512c27bd0618091fd207ba8df1808e9d45914 +94f134acd0007c623fb7934bcb65ef853313eb283a889a3ffa79a37a5c8f3665f3d5b4876bc66223610c21dc9b919d37 +aa15f74051171daacdc1f1093d3f8e2d13da2833624b80a934afec86fc02208b8f55d24b7d66076444e7633f46375c6a +a32d6bb47ef9c836d9d2371807bafbbbbb1ae719530c19d6013f1d1f813c49a60e4fa51d83693586cba3a840b23c0404 +b61b3599145ea8680011aa2366dc511a358b7d67672d5b0c5be6db03b0efb8ca5a8294cf220ea7409621f1664e00e631 +859cafc3ee90b7ececa1ed8ef2b2fc17567126ff10ca712d5ffdd16aa411a5a7d8d32c9cab1fbf63e87dce1c6e2f5f53 +a2fef1b0b2874387010e9ae425f3a9676d01a095d017493648bcdf3b31304b087ccddb5cf76abc4e1548b88919663b6b +939e18c73befc1ba2932a65ede34c70e4b91e74cc2129d57ace43ed2b3af2a9cc22a40fbf50d79a63681b6d98852866d +b3b4259d37b1b14aee5b676c9a0dd2d7f679ab95c120cb5f09f9fbf10b0a920cb613655ddb7b9e2ba5af4a221f31303c +997255fe51aaca6e5a9cb3359bcbf25b2bb9e30649bbd53a8a7c556df07e441c4e27328b38934f09c09d9500b5fabf66 +abb91be2a2d860fd662ed4f1c6edeefd4da8dc10e79251cf87f06029906e7f0be9b486462718f0525d5e049472692cb7 +b2398e593bf340a15f7801e1d1fbda69d93f2a32a889ec7c6ae5e8a37567ac3e5227213c1392ee86cfb3b56ec2787839 +8ddf10ccdd72922bed36829a36073a460c2118fc7a56ff9c1ac72581c799b15c762cb56cb78e3d118bb9f6a7e56cb25e +93e6bc0a4708d16387cacd44cf59363b994dc67d7ada7b6d6dbd831c606d975247541b42b2a309f814c1bfe205681fc6 +b93fc35c05998cffda2978e12e75812122831523041f10d52f810d34ff71944979054b04de0117e81ddf5b0b4b3e13c0 +92221631c44d60d68c6bc7b287509f37ee44cbe5fdb6935cee36b58b17c7325098f98f7910d2c3ca5dc885ad1d6dabc7 +a230124424a57fad3b1671f404a94d7c05f4c67b7a8fbacfccea28887b78d7c1ed40b92a58348e4d61328891cd2f6cee +a6a230edb8518a0f49d7231bc3e0bceb5c2ac427f045819f8584ba6f3ae3d63ed107a9a62aad543d7e1fcf1f20605706 +845be1fe94223c7f1f97d74c49d682472585d8f772762baad8a9d341d9c3015534cc83d102113c51a9dea2ab10d8d27b +b44262515e34f2db597c8128c7614d33858740310a49cdbdf9c8677c5343884b42c1292759f55b8b4abc4c86e4728033 +805592e4a3cd07c1844bc23783408310accfdb769cca882ad4d07d608e590a288b7370c2cb327f5336e72b7083a0e30f +95153e8b1140df34ee864f4ca601cb873cdd3efa634af0c4093fbaede36f51b55571ab271e6a133020cd34db8411241f +82878c1285cfa5ea1d32175c9401f3cc99f6bb224d622d3fd98cc7b0a27372f13f7ab463ce3a33ec96f9be38dbe2dfe3 +b7588748f55783077c27fc47d33e20c5c0f5a53fc0ac10194c003aa09b9f055d08ec971effa4b7f760553997a56967b3 +b36b4de6d1883b6951f59cfae381581f9c6352fcfcf1524fccdab1571a20f80441d9152dc6b48bcbbf00371337ca0bd5 +89c5523f2574e1c340a955cbed9c2f7b5fbceb260cb1133160dabb7d41c2f613ec3f6e74bbfab3c4a0a6f0626dbe068f +a52f58cc39f968a9813b1a8ddc4e83f4219e4dd82c7aa1dd083bea7edf967151d635aa9597457f879771759b876774e4 +8300a67c2e2e123f89704abfde095463045dbd97e20d4c1157bab35e9e1d3d18f1f4aaba9cbe6aa2d544e92578eaa1b6 +ac6a7f2918768eb6a43df9d3a8a04f8f72ee52f2e91c064c1c7d75cad1a3e83e5aba9fe55bb94f818099ac91ccf2e961 +8d64a2b0991cf164e29835c8ddef6069993a71ec2a7de8157bbfa2e00f6367be646ed74cbaf524f0e9fe13fb09fa15fd +8b2ffe5a545f9f680b49d0a9797a4a11700a2e2e348c34a7a985fc278f0f12def6e06710f40f9d48e4b7fbb71e072229 +8ab8f71cd337fa19178924e961958653abf7a598e3f022138b55c228440a2bac4176cea3aea393549c03cd38a13eb3fc +8419d28318c19ea4a179b7abb43669fe96347426ef3ac06b158d79c0acf777a09e8e770c2fb10e14b3a0421705990b23 +8bacdac310e1e49660359d0a7a17fe3d334eb820e61ae25e84cb52f863a2f74cbe89c2e9fc3283745d93a99b79132354 +b57ace3fa2b9f6b2db60c0d861ace7d7e657c5d35d992588aeed588c6ce3a80b6f0d49f8a26607f0b17167ab21b675e4 +83e265cde477f2ecc164f49ddc7fb255bb05ff6adc347408353b7336dc3a14fdedc86d5a7fb23f36b8423248a7a67ed1 +a60ada971f9f2d79d436de5d3d045f5ab05308cae3098acaf5521115134b2a40d664828bb89895840db7f7fb499edbc5 +a63eea12efd89b62d3952bf0542a73890b104dd1d7ff360d4755ebfa148fd62de668edac9eeb20507967ea37fb220202 +a0275767a270289adc991cc4571eff205b58ad6d3e93778ddbf95b75146d82517e8921bd0d0564e5b75fa0ccdab8e624 +b9b03fd3bf07201ba3a039176a965d736b4ef7912dd9e9bf69fe1b57c330a6aa170e5521fe8be62505f3af81b41d7806 +a95f640e26fb1106ced1729d6053e41a16e4896acac54992279ff873e5a969aad1dcfa10311e28b8f409ac1dab7f03bb +b144778921742418053cb3c70516c63162c187f00db2062193bb2c14031075dbe055d020cde761b26e8c58d0ea6df2c1 +8432fbb799e0435ef428d4fefc309a05dd589bce74d7a87faf659823e8c9ed51d3e42603d878e80f439a38be4321c2fa +b08ddef14e42d4fd5d8bf39feb7485848f0060d43b51ed5bdda39c05fe154fb111d29719ee61a23c392141358c0cfcff +8ae3c5329a5e025b86b5370e06f5e61177df4bda075856fade20a17bfef79c92f54ed495f310130021ba94fb7c33632b +92b6d3c9444100b4d7391febfc1dddaa224651677c3695c47a289a40d7a96d200b83b64e6d9df51f534564f272a2c6c6 +b432bc2a3f93d28b5e506d68527f1efeb2e2570f6be0794576e2a6ef9138926fdad8dd2eabfa979b79ab7266370e86bc +8bc315eacedbcfc462ece66a29662ca3dcd451f83de5c7626ef8712c196208fb3d8a0faf80b2e80384f0dd9772f61a23 +a72375b797283f0f4266dec188678e2b2c060dfed5880fc6bb0c996b06e91a5343ea2b695adaab0a6fd183b040b46b56 +a43445036fbaa414621918d6a897d3692fdae7b2961d87e2a03741360e45ebb19fcb1703d23f1e15bb1e2babcafc56ac +b9636b2ffe305e63a1a84bd44fb402442b1799bd5272638287aa87ca548649b23ce8ce7f67be077caed6aa2dbc454b78 +99a30bf0921d854c282b83d438a79f615424f28c2f99d26a05201c93d10378ab2cd94a792b571ddae5d4e0c0013f4006 +8648e3c2f93d70b392443be116b48a863e4b75991bab5db656a4ef3c1e7f645e8d536771dfe4e8d1ceda3be8d32978b0 +ab50dc9e6924c1d2e9d2e335b2d679fc7d1a7632e84964d3bac0c9fe57e85aa5906ec2e7b0399d98ddd022e9b19b5904 +ab729328d98d295f8f3272afaf5d8345ff54d58ff9884da14f17ecbdb7371857fdf2f3ef58080054e9874cc919b46224 +83fa5da7592bd451cad3ad7702b4006332b3aae23beab4c4cb887fa6348317d234bf62a359e665b28818e5410c278a09 +8bdbff566ae9d368f114858ef1f009439b3e9f4649f73efa946e678d6c781d52c69af195df0a68170f5f191b2eac286b +91245e59b4425fd4edb2a61d0d47c1ccc83d3ced8180de34887b9655b5dcda033d48cde0bdc3b7de846d246c053a02e8 +a2cb00721e68f1cad8933947456f07144dc69653f96ceed845bd577d599521ba99cdc02421118971d56d7603ed118cbf +af8cd66d303e808b22ec57860dd909ca64c27ec2c60e26ffecfdc1179d8762ffd2739d87b43959496e9fee4108df71df +9954136812dffcd5d3f167a500e7ab339c15cfc9b3398d83f64b0daa3dd5b9a851204f424a3493b4e326d3de81e50a62 +93252254d12511955f1aa464883ad0da793f84d900fea83e1df8bca0f2f4cf5b5f9acbaec06a24160d33f908ab5fea38 +997cb55c26996586ba436a95566bd535e9c22452ca5d2a0ded2bd175376557fa895f9f4def4519241ff386a063f2e526 +a12c78ad451e0ac911260ade2927a768b50cb4125343025d43474e7f465cdc446e9f52a84609c5e7e87ae6c9b3f56cda +a789d4ca55cbba327086563831b34487d63d0980ba8cf55197c016702ed6da9b102b1f0709ce3da3c53ff925793a3d73 +a5d76acbb76741ce85be0e655b99baa04f7f587347947c0a30d27f8a49ae78cce06e1cde770a8b618d3db402be1c0c4b +873c0366668c8faddb0eb7c86f485718d65f8c4734020f1a18efd5fa123d3ea8a990977fe13592cd01d17e60809cb5ff +b659b71fe70f37573ff7c5970cc095a1dc0da3973979778f80a71a347ef25ad5746b2b9608bad4ab9a4a53a4d7df42d7 +a34cbe05888e5e5f024a2db14cb6dcdc401a9cbd13d73d3c37b348f68688f87c24ca790030b8f84fef9e74b4eab5e412 +94ce8010f85875c045b0f014db93ef5ab9f1f6842e9a5743dce9e4cb872c94affd9e77c1f1d1ab8b8660b52345d9acb9 +adefa9b27a62edc0c5b019ddd3ebf45e4de846165256cf6329331def2e088c5232456d3de470fdce3fa758bfdd387512 +a6b83821ba7c1f83cc9e4529cf4903adb93b26108e3d1f20a753070db072ad5a3689643144bdd9c5ea06bb9a7a515cd0 +a3a9ddedc2a1b183eb1d52de26718151744db6050f86f3580790c51d09226bf05f15111691926151ecdbef683baa992c +a64bac89e7686932cdc5670d07f0b50830e69bfb8c93791c87c7ffa4913f8da881a9d8a8ce8c1a9ce5b6079358c54136 +a77b5a63452cb1320b61ab6c7c2ef9cfbcade5fd4727583751fb2bf3ea330b5ca67757ec1f517bf4d503ec924fe32fbd +8746fd8d8eb99639d8cd0ca34c0d9c3230ed5a312aab1d3d925953a17973ee5aeb66e68667e93caf9cb817c868ea8f3d +88a2462a26558fc1fbd6e31aa8abdc706190a17c27fdc4217ffd2297d1b1f3321016e5c4b2384c5454d5717dc732ed03 +b78893a97e93d730c8201af2e0d3b31cb923d38dc594ffa98a714e627c473d42ea82e0c4d2eeb06862ee22a9b2c54588 +920cc8b5f1297cf215a43f6fc843e379146b4229411c44c0231f6749793d40f07b9af7699fd5d21fd69400b97febe027 +a0f0eafce1e098a6b58c7ad8945e297cd93aaf10bc55e32e2e32503f02e59fc1d5776936577d77c0b1162cb93b88518b +98480ba0064e97a2e7a6c4769b4d8c2a322cfc9a3b2ca2e67e9317e2ce04c6e1108169a20bd97692e1cb1f1423b14908 +83dbbb2fda7e287288011764a00b8357753a6a44794cc8245a2275237f11affdc38977214e463ad67aec032f3dfa37e9 +86442fff37598ce2b12015ff19b01bb8a780b40ad353d143a0f30a06f6d23afd5c2b0a1253716c855dbf445cc5dd6865 +b8a4c60c5171189414887847b9ed9501bff4e4c107240f063e2d254820d2906b69ef70406c585918c4d24f1dd052142b +919f33a98e84015b2034b57b5ffe9340220926b2c6e45f86fd79ec879dbe06a148ae68b77b73bf7d01bd638a81165617 +95c13e78d89474a47fbc0664f6f806744b75dede95a479bbf844db4a7f4c3ae410ec721cb6ffcd9fa9c323da5740d5ae +ab7151acc41fffd8ec6e90387700bcd7e1cde291ea669567295bea1b9dd3f1df2e0f31f3588cd1a1c08af8120aca4921 +80e74c5c47414bd6eeef24b6793fb1fa2d8fb397467045fcff887c52476741d5bc4ff8b6d3387cb53ad285485630537f +a296ad23995268276aa351a7764d36df3a5a3cffd7dbeddbcea6b1f77adc112629fdeffa0918b3242b3ccd5e7587e946 +813d2506a28a2b01cb60f49d6bd5e63c9b056aa56946faf2f33bd4f28a8d947569cfead3ae53166fc65285740b210f86 +924b265385e1646287d8c09f6c855b094daaee74b9e64a0dddcf9ad88c6979f8280ba30c8597b911ef58ddb6c67e9fe3 +8d531513c70c2d3566039f7ca47cd2352fd2d55b25675a65250bdb8b06c3843db7b2d29c626eed6391c238fc651cf350 +82b338181b62fdc81ceb558a6843df767b6a6e3ceedc5485664b4ea2f555904b1a45fbb35f6cf5d96f27da10df82a325 +92e62faaedea83a37f314e1d3cb4faaa200178371d917938e59ac35090be1db4b4f4e0edb78b9c991de202efe4f313d8 +99d645e1b642c2dc065bac9aaa0621bc648c9a8351efb6891559c3a41ba737bd155fb32d7731950514e3ecf4d75980e4 +b34a13968b9e414172fb5d5ece9a39cf2eb656128c3f2f6cc7a9f0c69c6bae34f555ecc8f8837dc34b5e470e29055c78 +a2a0bb7f3a0b23a2cbc6585d59f87cd7e56b2bbcb0ae48f828685edd9f7af0f5edb4c8e9718a0aaf6ef04553ba71f3b7 +8e1a94bec053ed378e524b6685152d2b52d428266f2b6eadd4bcb7c4e162ed21ab3e1364879673442ee2162635b7a4d8 +9944adaff14a85eab81c73f38f386701713b52513c4d4b838d58d4ffa1d17260a6d056b02334850ea9a31677c4b078bd +a450067c7eceb0854b3eca3db6cf38669d72cb7143c3a68787833cbca44f02c0be9bfbe082896f8a57debb13deb2afb1 +8be4ad3ac9ef02f7df09254d569939757101ee2eda8586fefcd8c847adc1efe5bdcb963a0cafa17651befaafb376a531 +90f6de91ea50255f148ac435e08cf2ac00c772a466e38155bd7e8acf9197af55662c7b5227f88589b71abe9dcf7ba343 +86e5a24f0748b106dee2d4d54e14a3b0af45a96cbee69cac811a4196403ebbee17fd24946d7e7e1b962ac7f66dbaf610 +afdd96fbcda7aa73bf9eeb2292e036c25753d249caee3b9c013009cc22e10d3ec29e2aa6ddbb21c4e949b0c0bccaa7f4 +b5a4e7436d5473647c002120a2cb436b9b28e27ad4ebdd7c5f122b91597c507d256d0cbd889d65b3a908531936e53053 +b632414c3da704d80ac2f3e5e0e9f18a3637cdc2ebeb613c29300745582427138819c4e7b0bec3099c1b8739dac1807b +a28df1464d3372ce9f37ef1db33cc010f752156afae6f76949d98cd799c0cf225c20228ae86a4da592d65f0cffe3951b +898b93d0a31f7d3f11f253cb7a102db54b669fd150da302d8354d8e02b1739a47cb9bd88015f3baf12b00b879442464e +96fb88d89a12049091070cb0048a381902965e67a8493e3991eaabe5d3b7ff7eecd5c94493a93b174df3d9b2c9511755 +b899cb2176f59a5cfba3e3d346813da7a82b03417cad6342f19cc8f12f28985b03bf031e856a4743fd7ebe16324805b0 +a60e2d31bc48e0c0579db15516718a03b73f5138f15037491f4dae336c904e312eda82d50862f4debd1622bb0e56d866 +979fc8b987b5cef7d4f4b58b53a2c278bd25a5c0ea6f41c715142ea5ff224c707de38451b0ad3aa5e749aa219256650a +b2a75bff18e1a6b9cf2a4079572e41205741979f57e7631654a3c0fcec57c876c6df44733c9da3d863db8dff392b44a3 +b7a0f0e811222c91e3df98ff7f286b750bc3b20d2083966d713a84a2281744199e664879401e77470d44e5a90f3e5181 +82b74ba21c9d147fbc338730e8f1f8a6e7fc847c3110944eb17a48bea5e06eecded84595d485506d15a3e675fd0e5e62 +a7f44eef817d5556f0d1abcf420301217d23c69dd2988f44d91ea1f1a16c322263cbacd0f190b9ba22b0f141b9267b4f +aadb68164ede84fc1cb3334b3194d84ba868d5a88e4c9a27519eef4923bc4abf81aab8114449496c073c2a6a0eb24114 +b5378605fabe9a8c12a5dc55ef2b1de7f51aedb61960735c08767a565793cea1922a603a6983dc25f7cea738d0f7c40d +a97a4a5cd8d51302e5e670aee78fe6b5723f6cc892902bbb4f131e82ca1dfd5de820731e7e3367fb0c4c1922a02196e3 +8bdfeb15c29244d4a28896f2b2cb211243cd6a1984a3f5e3b0ebe5341c419beeab3304b390a009ffb47588018034b0ea +a9af3022727f2aa2fca3b096968e97edad3f08edcbd0dbca107b892ae8f746a9c0485e0d6eb5f267999b23a845923ed0 +8e7594034feef412f055590fbb15b6322dc4c6ab7a4baef4685bd13d71a83f7d682b5781bdfa0d1c659489ce9c2b8000 +84977ca6c865ebee021c58106c1a4ad0c745949ecc5332948002fd09bd9b890524878d0c29da96fd11207621136421fe +8687551a79158e56b2375a271136756313122132a6670fa51f99a1b5c229ed8eea1655a734abae13228b3ebfd2a825dd +a0227d6708979d99edfc10f7d9d3719fd3fc68b0d815a7185b60307e4c9146ad2f9be2b8b4f242e320d4288ceeb9504c +89f75583a16735f9dd8b7782a130437805b34280ccea8dac6ecaee4b83fe96947e7b53598b06fecfffdf57ffc12cc445 +a0056c3353227f6dd9cfc8e3399aa5a8f1d71edf25d3d64c982910f50786b1e395c508d3e3727ac360e3e040c64b5298 +b070e61a6d813626144b312ded1788a6d0c7cec650a762b2f8df6e4743941dd82a2511cd956a3f141fc81e15f4e092da +b4e6db232e028a1f989bb5fc13416711f42d389f63564d60851f009dcffac01acfd54efa307aa6d4c0f932892d4e62b0 +89b5991a67db90024ddd844e5e1a03ef9b943ad54194ae0a97df775dde1addf31561874f4e40fbc37a896630f3bbda58 +ad0e8442cb8c77d891df49cdb9efcf2b0d15ac93ec9be1ad5c3b3cca1f4647b675e79c075335c1f681d56f14dc250d76 +b5d55a6ae65bb34dd8306806cb49b5ccb1c83a282ee47085cf26c4e648e19a52d9c422f65c1cd7e03ca63e926c5e92ea +b749501347e5ec07e13a79f0cb112f1b6534393458b3678a77f02ca89dca973fa7b30e55f0b25d8b92b97f6cb0120056 +94144b4a3ffc5eec6ba35ce9c245c148b39372d19a928e236a60e27d7bc227d18a8cac9983851071935d8ffb64b3a34f +92bb4f9f85bc8c028a3391306603151c6896673135f8a7aefedd27acb322c04ef5dac982fc47b455d6740023e0dd3ea3 +b9633a4a101461a782fc2aa092e9dbe4e2ad00987578f18cd7cf0021a909951d60fe79654eb7897806795f93c8ff4d1c +809f0196753024821b48a016eca5dbb449a7c55750f25981bb7a4b4c0e0846c09b8f6128137905055fc43a3f0deb4a74 +a27dc9cdd1e78737a443570194a03d89285576d3d7f3a3cf15cc55b3013e42635d4723e2e8fe1d0b274428604b630db9 +861f60f0462e04cd84924c36a28163def63e777318d00884ab8cb64c8df1df0bce5900342163edb60449296484a6c5bf +b7bc23fb4e14af4c4704a944253e760adefeca8caee0882b6bbd572c84434042236f39ae07a8f21a560f486b15d82819 +b9a6eb492d6dd448654214bd01d6dc5ff12067a11537ab82023fc16167507ee25eed2c91693912f4155d1c07ed9650b3 +97678af29c68f9a5e213bf0fb85c265303714482cfc4c2c00b4a1e8a76ed08834ee6af52357b143a1ca590fb0265ea5a +8a15b499e9eca5b6cac3070b5409e8296778222018ad8b53a5d1f6b70ad9bb10c68a015d105c941ed657bf3499299e33 +b487fefede2e8091f2c7bfe85770db2edff1db83d4effe7f7d87bff5ab1ace35e9b823a71adfec6737fede8d67b3c467 +8b51b916402aa2c437fce3bcad6dad3be8301a1a7eab9d163085b322ffb6c62abf28637636fe6114573950117fc92898 +b06a2106d031a45a494adec0881cb2f82275dff9dcdd2bc16807e76f3bec28a6734edd3d54f0be8199799a78cd6228ad +af0a185391bbe2315eb97feac98ad6dd2e5d931d012c621abd6e404a31cc188b286fef14871762190acf086482b2b5e2 +8e78ee8206506dd06eb7729e32fceda3bebd8924a64e4d8621c72e36758fda3d0001af42443851d6c0aea58562870b43 +a1ba52a569f0461aaf90b49b92be976c0e73ec4a2c884752ee52ffb62dd137770c985123d405dfb5de70692db454b54a +8d51b692fa1543c51f6b62b9acb8625ed94b746ef96c944ca02859a4133a5629da2e2ce84e111a7af8d9a5b836401c64 +a7a20d45044cf6492e0531d0b8b26ffbae6232fa05a96ed7f06bdb64c2b0f5ca7ec59d5477038096a02579e633c7a3ff +84df867b98c53c1fcd4620fef133ee18849c78d3809d6aca0fb6f50ff993a053a455993f216c42ab6090fa5356b8d564 +a7227c439f14c48e2577d5713c97a5205feb69acb0b449152842e278fa71e8046adfab468089c8b2288af1fc51fa945b +855189b3a105670779997690876dfaa512b4a25a24931a912c2f0f1936971d2882fb4d9f0b3d9daba77eaf660e9d05d5 +b5696bd6706de51c502f40385f87f43040a5abf99df705d6aac74d88c913b8ecf7a99a63d7a37d9bdf3a941b9e432ff5 +ab997beb0d6df9c98d5b49864ef0b41a2a2f407e1687dfd6089959757ba30ed02228940b0e841afe6911990c74d536c4 +b36b65f85546ebfdbe98823d5555144f96b4ab39279facd19c0de3b8919f105ba0315a0784dce4344b1bc62d8bb4a5a3 +b8371f0e4450788720ac5e0f6cd3ecc5413d33895083b2c168d961ec2b5c3de411a4cc0712481cbe8df8c2fa1a7af006 +98325d8026b810a8b7a114171ae59a57e8bbc9848e7c3df992efc523621729fd8c9f52114ce01d7730541a1ada6f1df1 +8d0e76dbd37806259486cd9a31bc8b2306c2b95452dc395546a1042d1d17863ef7a74c636b782e214d3aa0e8d717f94a +a4e15ead76da0214d702c859fb4a8accdcdad75ed08b865842bd203391ec4cba2dcc916455e685f662923b96ee0c023f +8618190972086ebb0c4c1b4a6c94421a13f378bc961cc8267a301de7390c5e73c3333864b3b7696d81148f9d4843fd02 +85369d6cc7342e1aa15b59141517d8db8baaaeb7ab9670f3ba3905353948d575923d283b7e5a05b13a30e7baf1208a86 +87c51ef42233c24a6da901f28c9a075d9ba3c625687c387ad6757b72ca6b5a8885e6902a3082da7281611728b1e45f26 +aa6348a4f71927a3106ad0ea8b02fc8d8c65531e4ab0bd0a17243e66f35afe252e40ab8eef9f13ae55a72566ffdaff5c +96a3bc976e9d03765cc3fee275fa05b4a84c94fed6b767e23ca689394501e96f56f7a97cffddc579a6abff632bf153be +97dbf96c6176379fdb2b888be4e757b2bca54e74124bd068d3fa1dbd82a011bbeb75079da38e0cd22a761fe208ecad9b +b70cf0a1d14089a4129ec4e295313863a59da8c7e26bf74cc0e704ed7f0ee4d7760090d0ddf7728180f1bf2c5ac64955 +882d664714cc0ffe53cbc9bef21f23f3649824f423c4dbad1f893d22c4687ab29583688699efc4d5101aa08b0c3e267a +80ecb7cc963e677ccaddbe3320831dd6ee41209acf4ed41b16dc4817121a3d86a1aac9c4db3d8c08a55d28257088af32 +a25ba667d832b145f9ce18c3f9b1bd00737aa36db020e1b99752c8ef7d27c6c448982bd8d352e1b6df266b8d8358a8d5 +83734841c13dee12759d40bdd209b277e743b0d08cc0dd1e0b7afd2d65bfa640400eefcf6be4a52e463e5b3d885eeac6 +848d16505b04804afc773aebabb51b36fd8aacfbb0e09b36c0d5d57df3c0a3b92f33e7d5ad0a7006ec46ebb91df42b8c +909a8d793f599e33bb9f1dc4792a507a97169c87cd5c087310bc05f30afcd247470b4b56dec59894c0fb1d48d39bb54e +8e558a8559df84a1ba8b244ece667f858095c50bb33a5381e60fcc6ba586b69693566d8819b4246a27287f16846c1dfa +84d6b69729f5aaa000cd710c2352087592cfbdf20d5e1166977e195818e593fa1a50d1e04566be23163a2523dc1612f1 +9536d262b7a42125d89f4f32b407d737ba8d9242acfc99d965913ab3e043dcac9f7072a43708553562cac4cba841df30 +9598548923ca119d6a15fd10861596601dd1dedbcccca97bb208cdc1153cf82991ea8cc17686fbaa867921065265970c +b87f2d4af6d026e4d2836bc3d390a4a18e98a6e386282ce96744603bab74974272e97ac2da281afa21885e2cbb3a8001 +991ece62bf07d1a348dd22191868372904b9f8cf065ae7aa4e44fd24a53faf6d851842e35fb472895963aa1992894918 +a8c53dea4c665b30e51d22ca6bc1bc78aaf172b0a48e64a1d4b93439b053877ec26cb5221c55efd64fa841bbf7d5aff4 +93487ec939ed8e740f15335b58617c3f917f72d07b7a369befd479ae2554d04deb240d4a14394b26192efae4d2f4f35d +a44793ab4035443f8f2968a40e043b4555960193ffa3358d22112093aadfe2c136587e4139ffd46d91ed4107f61ea5e0 +b13fe033da5f0d227c75927d3dacb06dbaf3e1322f9d5c7c009de75cdcba5e308232838785ab69a70f0bedea755e003f +970a29b075faccd0700fe60d1f726bdebf82d2cc8252f4a84543ebd3b16f91be42a75c9719a39c4096139f0f31393d58 +a4c3eb1f7160f8216fc176fb244df53008ff32f2892363d85254002e66e2de21ccfe1f3b1047589abee50f29b9d507e3 +8c552885eab04ba40922a8f0c3c38c96089c95ff1405258d3f1efe8d179e39e1295cbf67677894c607ae986e4e6b1fb0 +b3671746fa7f848c4e2ae6946894defadd815230b906b419143523cc0597bc1d6c0a4c1e09d49b66b4a2c11cde3a4de3 +937a249a95813a5e2ef428e355efd202e15a37d73e56cfb7e57ea9f943f2ce5ca8026f2f1fd25bf164ba89d07077d858 +83646bdf6053a04aa9e2f112499769e5bd5d0d10f2e13db3ca89bd45c0b3b7a2d752b7d137fb3909f9c62b78166c9339 +b4eac4b91e763666696811b7ed45e97fd78310377ebea1674b58a2250973f80492ac35110ed1240cd9bb2d17493d708c +82db43a99bc6573e9d92a3fd6635dbbb249ac66ba53099c3c0c8c8080b121dd8243cd5c6e36ba0a4d2525bae57f5c89c +a64d6a264a681b49d134c655d5fc7756127f1ee7c93d328820f32bca68869f53115c0d27fef35fe71f7bc4fdaed97348 +8739b7a9e2b4bc1831e7f04517771bc7cde683a5e74e052542517f8375a2f64e53e0d5ac925ef722327e7bb195b4d1d9 +8f337cdd29918a2493515ebb5cf702bbe8ecb23b53c6d18920cc22f519e276ca9b991d3313e2d38ae17ae8bdfa4f8b7e +b0edeab9850e193a61f138ef2739fc42ceec98f25e7e8403bfd5fa34a7bc956b9d0898250d18a69fa4625a9b3d6129da +a9920f26fe0a6d51044e623665d998745c9eca5bce12051198b88a77d728c8238f97d4196f26e43b24f8841500b998d0 +86e655d61502b979eeeeb6f9a7e1d0074f936451d0a1b0d2fa4fb3225b439a3770767b649256fe481361f481a8dbc276 +84d3b32fa62096831cc3bf013488a9f3f481dfe293ae209ed19585a03f7db8d961a7a9dd0db82bd7f62d612707575d9c +81c827826ec9346995ffccf62a241e3b2d32f7357acd1b1f8f7a7dbc97022d3eb51b8a1230e23ce0b401d2e535e8cd78 +94a1e40c151191c5b055b21e86f32e69cbc751dcbdf759a48580951834b96a1eed75914c0d19a38aefd21fb6c8d43d0c +ab890222b44bc21b71f7c75e15b6c6e16bb03371acce4f8d4353ff3b8fcd42a14026589c5ed19555a3e15e4d18bfc3a3 +accb0be851e93c6c8cc64724cdb86887eea284194b10e7a43c90528ed97e9ec71ca69c6fac13899530593756dd49eab2 +b630220aa9e1829c233331413ee28c5efe94ea8ea08d0c6bfd781955078b43a4f92915257187d8526873e6c919c6a1de +add389a4d358c585f1274b73f6c3c45b58ef8df11f9d11221f620e241bf3579fba07427b288c0c682885a700cc1fa28d +a9fe6ca8bf2961a3386e8b8dcecc29c0567b5c0b3bcf3b0f9169f88e372b80151af883871fc5229815f94f43a6f5b2b0 +ad839ae003b92b37ea431fa35998b46a0afc3f9c0dd54c3b3bf7a262467b13ff3c323ada1c1ae02ac7716528bdf39e3e +9356d3fd0edcbbb65713c0f2a214394f831b26f792124b08c5f26e7f734b8711a87b7c4623408da6a091c9aef1f6af3c +896b25b083c35ac67f0af3784a6a82435b0e27433d4d74cd6d1eafe11e6827827799490fb1c77c11de25f0d75f14e047 +8bfa019391c9627e8e5f05c213db625f0f1e51ec68816455f876c7e55b8f17a4f13e5aae9e3fb9e1cf920b1402ee2b40 +8ba3a6faa6a860a8f3ce1e884aa8769ceded86380a86520ab177ab83043d380a4f535fe13884346c5e51bee68da6ab41 +a8292d0844084e4e3bb7af92b1989f841a46640288c5b220fecfad063ee94e86e13d3d08038ec2ac82f41c96a3bfe14d +8229bb030b2fc566e11fd33c7eab7a1bb7b49fed872ea1f815004f7398cb03b85ea14e310ec19e1f23e0bdaf60f8f76c +8cfbf869ade3ec551562ff7f63c2745cc3a1f4d4dc853a0cd42dd5f6fe54228f86195ea8fe217643b32e9f513f34a545 +ac52a3c8d3270ddfe1b5630159da9290a5ccf9ccbdef43b58fc0a191a6c03b8a5974cf6e2bbc7bd98d4a40a3581482d7 +ab13decb9e2669e33a7049b8eca3ca327c40dea15ad6e0e7fa63ed506db1d258bc36ac88b35f65cae0984e937eb6575d +b5e748eb1a7a1e274ff0cc56311c198f2c076fe4b7e73e5f80396fe85358549df906584e6bb2c8195b3e2be7736850a5 +b5cb911325d8f963c41f691a60c37831c7d3bbd92736efa33d1f77a22b3fde7f283127256c2f47e197571e6fe0b46149 +8a01dc6ed1b55f26427a014faa347130738b191a06b800e32042a46c13f60b49534520214359d68eb2e170c31e2b8672 +a72fa874866e19b2efb8e069328362bf7921ec375e3bcd6b1619384c3f7ee980f6cf686f3544e9374ff54b4d17a1629c +8db21092f7c5f110fba63650b119e82f4b42a997095d65f08f8237b02dd66fdf959f788df2c35124db1dbd330a235671 +8c65d50433d9954fe28a09fa7ba91a70a590fe7ba6b3060f5e4be0f6cef860b9897fa935fb4ebc42133524eb071dd169 +b4614058e8fa21138fc5e4592623e78b8982ed72aa35ee4391b164f00c68d277fa9f9eba2eeefc890b4e86eba5124591 +ab2ad3a1bce2fbd55ca6b7c23786171fe1440a97d99d6df4d80d07dd56ac2d7203c294b32fc9e10a6c259381a73f24a1 +812ae3315fdc18774a8da3713a4679e8ed10b9405edc548c00cacbe25a587d32040566676f135e4723c5dc25df5a22e9 +a464b75f95d01e5655b54730334f443c8ff27c3cb79ec7af4b2f9da3c2039c609908cd128572e1fd0552eb597e8cef8d +a0db3172e93ca5138fe419e1c49a1925140999f6eff7c593e5681951ee0ec1c7e454c851782cbd2b8c9bc90d466e90e0 +806db23ba7d00b87d544eed926b3443f5f9c60da6b41b1c489fba8f73593b6e3b46ebfcab671ee009396cd77d5e68aa1 +8bfdf2c0044cc80260994e1c0374588b6653947b178e8b312be5c2a05e05767e98ea15077278506aee7df4fee1aaf89e +827f6558c16841b5592ff089c9c31e31eb03097623524394813a2e4093ad2d3f8f845504e2af92195aaa8a1679d8d692 +925c4f8eab2531135cd71a4ec88e7035b5eea34ba9d799c5898856080256b4a15ed1a746e002552e2a86c9c157e22e83 +a9f9a368f0e0b24d00a35b325964c85b69533013f9c2cfad9708be5fb87ff455210f8cb8d2ce3ba58ca3f27495552899 +8ac0d3bebc1cae534024187e7c71f8927ba8fcc6a1926cb61c2b6c8f26bb7831019e635a376146c29872a506784a4aaa +97c577be2cbbfdb37ad754fae9df2ada5fc5889869efc7e18a13f8e502fbf3f4067a509efbd46fd990ab47ce9a70f5a8 +935e7d82bca19f16614aa43b4a3474e4d20d064e4bfdf1cea2909e5c9ab72cfe3e54dc50030e41ee84f3588cebc524e9 +941aafc08f7c0d94cebfbb1f0aad5202c02e6e37f2c12614f57e727efa275f3926348f567107ee6d8914dd71e6060271 +af0fbc1ba05b4b5b63399686df3619968be5d40073de0313cbf5f913d3d4b518d4c249cdd2176468ccaa36040a484f58 +a0c414f23f46ca6d69ce74c6f8a00c036cb0edd098af0c1a7d39c802b52cfb2d5dbdf93fb0295453d4646e2af7954d45 +909cf39e11b3875bb63b39687ae1b5d1f5a15445e39bf164a0b14691b4ddb39a8e4363f584ef42213616abc4785b5d66 +a92bac085d1194fbd1c88299f07a061d0bdd3f980b663e81e6254dbb288bf11478c0ee880e28e01560f12c5ccb3c0103 +841705cd5cd76b943e2b7c5e845b9dd3c8defe8ef67e93078d6d5e67ade33ad4b0fd413bc196f93b0a4073c855cd97d4 +8e7eb8364f384a9161e81d3f1d52ceca9b65536ae49cc35b48c3e2236322ba4ae9973e0840802d9fa4f4d82ea833544f +aed3ab927548bc8bec31467ba80689c71a168e34f50dcb6892f19a33a099f5aa6b3f9cb79f5c0699e837b9a8c7f27efe +b8fbf7696210a36e20edabd77839f4dfdf50d6d015cdf81d587f90284a9bcef7d2a1ff520728d7cc69a4843d6c20dedd +a9d533769ce6830211c884ae50a82a7bf259b44ac71f9fb11f0296fdb3981e6b4c1753fe744647b247ebc433a5a61436 +8b4bdf90d33360b7f428c71cde0a49fb733badba8c726876945f58c620ce7768ae0e98fc8c31fa59d8955a4823336bb1 +808d42238e440e6571c59e52a35ae32547d502dc24fd1759d8ea70a7231a95859baf30b490a4ba55fa2f3aaa11204597 +85594701f1d2fee6dc1956bc44c7b31db93bdeec2f3a7d622c1a08b26994760773e3d57521a44cfd7e407ac3fd430429 +a66de045ce7173043a6825e9dc440ac957e2efb6df0a337f4f8003eb0c719d873a52e6eba3cb0d69d977ca37d9187674 +87a1c6a1fdff993fa51efa5c3ba034c079c0928a7d599b906336af7c2dcab9721ceaf3108c646490af9dff9a754f54b3 +926424223e462ceb75aed7c22ade8a7911a903b7e5dd4bc49746ddce8657f4616325cd12667d4393ac52cdd866396d0e +b5dc96106593b42b30f06f0b0a1e0c1aafc70432e31807252d3674f0b1ea5e58eac8424879d655c9488d85a879a3e572 +997ca0987735cc716507cb0124b1d266d218b40c9d8e0ecbf26a1d65719c82a637ce7e8be4b4815d307df717bde7c72a +92994d3f57a569b7760324bb5ae4e8e14e1633d175dab06aa57b8e391540e05f662fdc08b8830f489a063f59b689a688 +a8087fcc6aa4642cb998bea11facfe87eb33b90a9aa428ab86a4124ad032fc7d2e57795311a54ec9f55cc120ebe42df1 +a9bd7d1de6c0706052ca0b362e2e70e8c8f70f1f026ea189b4f87a08ce810297ebfe781cc8004430776c54c1a05ae90c +856d33282e8a8e33a3d237fb0a0cbabaf77ba9edf2fa35a831fdafcadf620561846aa6cbb6bdc5e681118e1245834165 +9524a7aa8e97a31a6958439c5f3339b19370f03e86b89b1d02d87e4887309dbbe9a3a8d2befd3b7ed5143c8da7e0a8ad +824fdf433e090f8acbd258ac7429b21f36f9f3b337c6d0b71d1416a5c88a767883e255b2888b7c906dd2e9560c4af24c +88c7fee662ca7844f42ed5527996b35723abffd0d22d4ca203b9452c639a5066031207a5ae763dbc0865b3299d19b1ec +919dca5c5595082c221d5ab3a5bc230f45da7f6dec4eb389371e142c1b9c6a2c919074842479c2844b72c0d806170c0c +b939be8175715e55a684578d8be3ceff3087f60fa875fff48e52a6e6e9979c955efef8ff67cfa2b79499ea23778e33b0 +873b6db725e7397d11bc9bed9ac4468e36619135be686790a79bc6ed4249058f1387c9a802ea86499f692cf635851066 +aeae06db3ec47e9e5647323fa02fac44e06e59b885ad8506bf71b184ab3895510c82f78b6b22a5d978e8218e7f761e9f +b99c0a8359c72ab88448bae45d4bf98797a26bca48b0d4460cd6cf65a4e8c3dd823970ac3eb774ae5d0cea4e7fadf33e +8f10c8ec41cdfb986a1647463076a533e6b0eec08520c1562401b36bb063ac972aa6b28a0b6ce717254e35940b900e3c +a106d9be199636d7add43b942290269351578500d8245d4aae4c083954e4f27f64740a3138a66230391f2d0e6043a8de +a469997908244578e8909ff57cffc070f1dbd86f0098df3cfeb46b7a085cfecc93dc69ee7cad90ff1dc5a34d50fe580c +a4ef087bea9c20eb0afc0ee4caba7a9d29dfa872137828c721391273e402fb6714afc80c40e98bbd8276d3836bffa080 +b07a013f73cd5b98dae0d0f9c1c0f35bff8a9f019975c4e1499e9bee736ca6fcd504f9bc32df1655ff333062382cff04 +b0a77188673e87cc83348c4cc5db1eecf6b5184e236220c8eeed7585e4b928db849944a76ec60ef7708ef6dac02d5592 +b1284b37e59b529f0084c0dacf0af6c0b91fc0f387bf649a8c74819debf606f7b07fc3e572500016fb145ec2b24e9f17 +97b20b5b4d6b9129da185adfbf0d3d0b0faeba5b9715f10299e48ea0521709a8296a9264ce77c275a59c012b50b6519a +b9d37e946fae5e4d65c1fbfacc8a62e445a1c9d0f882e60cca649125af303b3b23af53c81d7bac544fb7fcfc7a314665 +8e5acaac379f4bb0127efbef26180f91ff60e4c525bc9b798fc50dfaf4fe8a5aa84f18f3d3cfb8baead7d1e0499af753 +b0c0b8ab1235bf1cda43d4152e71efc1a06c548edb964eb4afceb201c8af24240bf8ab5cae30a08604e77432b0a5faf0 +8cc28d75d5c8d062d649cbc218e31c4d327e067e6dbd737ec0a35c91db44fbbd0d40ec424f5ed79814add16947417572 +95ae6219e9fd47efaa9cb088753df06bc101405ba50a179d7c9f7c85679e182d3033f35b00dbba71fdcd186cd775c52e +b5d28fa09f186ebc5aa37453c9b4d9474a7997b8ae92748ecb940c14868792292ac7d10ade01e2f8069242b308cf97e5 +8c922a0faa14cc6b7221f302df3342f38fc8521ec6c653f2587890192732c6da289777a6cd310747ea7b7d104af95995 +b9ad5f660b65230de54de535d4c0fcae5bc6b59db21dea5500fdc12eea4470fb8ea003690fdd16d052523418d5e01e8c +a39a9dd41a0ff78c82979483731f1cd68d3921c3e9965869662c22e02dde3877802e180ba93f06e7346f96d9fa9261d2 +8b32875977ec372c583b24234c27ed73aef00cdff61eb3c3776e073afbdeade548de9497c32ec6d703ff8ad0a5cb7fe4 +9644cbe755a5642fe9d26cfecf170d3164f1848c2c2e271d5b6574a01755f3980b3fc870b98cf8528fef6ecef4210c16 +81ea9d1fdd9dd66d60f40ce0712764b99da9448ae0b300f8324e1c52f154e472a086dda840cb2e0b9813dc8ce8afd4b5 +906aaa4a7a7cdf01909c5cfbc7ded2abc4b869213cbf7c922d4171a4f2e637e56f17020b852ad339d83b8ac92f111666 +939b5f11acbdeff998f2a080393033c9b9d8d5c70912ea651c53815c572d36ee822a98d6dfffb2e339f29201264f2cf4 +aba4898bf1ccea9b9e2df1ff19001e05891581659c1cbbde7ee76c349c7fc7857261d9785823c9463a8aea3f40e86b38 +83ca1a56b8a0be4820bdb5a9346357c68f9772e43f0b887729a50d2eb2a326bbcede676c8bf2e51d7c89bbd8fdb778a6 +94e86e9fe6addfe2c3ee3a547267ed921f4230d877a85bb4442c2d9350c2fa9a9c54e6fe662de82d1a2407e4ab1691c2 +a0cc3bdef671a59d77c6984338b023fa2b431b32e9ed2abe80484d73edc6540979d6f10812ecc06d4d0c5d4eaca7183c +b5343413c1b5776b55ea3c7cdd1f3af1f6bd802ea95effe3f2b91a523817719d2ecc3f8d5f3cc2623ace7e35f99ca967 +92085d1ed0ed28d8cabe3e7ff1905ed52c7ceb1eac5503760c52fb5ee3a726aba7c90b483c032acc3f166b083d7ec370 +8ec679520455275cd957fca8122724d287db5df7d29f1702a322879b127bff215e5b71d9c191901465d19c86c8d8d404 +b65eb2c63d8a30332eb24ee8a0c70156fc89325ebbb38bacac7cf3f8636ad8a472d81ccca80423772abc00192d886d8a +a9fe1c060b974bee4d590f2873b28635b61bfcf614e61ff88b1be3eee4320f4874e21e8d666d8ac8c9aba672efc6ecae +b3fe2a9a389c006a831dea7e777062df84b5c2803f9574d7fbe10b7e1c125817986af8b6454d6be9d931a5ac94cfe963 +95418ad13b734b6f0d33822d9912c4c49b558f68d08c1b34a0127fcfa666bcae8e6fda8832d2c75bb9170794a20e4d7c +a9a7df761e7f18b79494bf429572140c8c6e9d456c4d4e336184f3f51525a65eb9582bea1e601bdb6ef8150b7ca736a5 +a0de03b1e75edf7998c8c1ac69b4a1544a6fa675a1941950297917366682e5644a4bda9cdeedfaf9473d7fccd9080b0c +a61838af8d95c95edf32663a68f007d95167bf6e41b0c784a30b22d8300cfdd5703bd6d16e86396638f6db6ae7e42a85 +8866d62084d905c145ff2d41025299d8b702ac1814a7dec4e277412c161bc9a62fed735536789cb43c88693c6b423882 +91da22c378c81497fe363e7f695c0268443abee50f8a6625b8a41e865638a643f07b157ee566de09ba09846934b4e2d7 +941d21dd57c9496aa68f0c0c05507405fdd413acb59bc668ce7e92e1936c68ec4b065c3c30123319884149e88228f0b2 +a77af9b094bc26966ddf2bf9e1520c898194a5ccb694915950dadc204facbe3066d3d89f50972642d76b14884cfbaa21 +8e76162932346869f4618bde744647f7ab52ab498ad654bdf2a4feeb986ac6e51370841e5acbb589e38b6e7142bb3049 +b60979ace17d6937ece72e4f015da4657a443dd01cebc7143ef11c09e42d4aa8855999a65a79e2ea0067f31c9fc2ab0f +b3e2ffdd5ee6fd110b982fd4fad4b93d0fca65478f986d086eeccb0804960bfaa1919afa743c2239973ea65091fe57d2 +8ce0ce05e7d7160d44574011da687454dbd3c8b8290aa671731b066e2c82f8cf2d63cb8e932d78c6122ec610e44660e6 +ab005dd8d297045c39e2f72fb1c48edb501ccf3575d3d04b9817b3afee3f0bb0f3f53f64bda37d1d9cde545aae999bae +95bd7edb4c4cd60e3cb8a72558845a3cce6bb7032ccdf33d5a49ebb6ddf203bc3c79e7b7e550735d2d75b04c8b2441e8 +889953ee256206284094e4735dbbb17975bafc7c3cb94c9fbfee4c3e653857bfd49e818f64a47567f721b98411a3b454 +b188423e707640ab0e75a061e0b62830cde8afab8e1ad3dae30db69ffae4e2fc005bababbdcbd7213b918ed4f70e0c14 +a97e0fafe011abd70d4f99a0b36638b3d6e7354284588f17a88970ed48f348f88392779e9a038c6cbc9208d998485072 +87db11014a91cb9b63e8dfaa82cdebca98272d89eb445ee1e3ff9dbaf2b3fad1a03b888cffc128e4fe208ed0dddece0f +aad2e40364edd905d66ea4ac9d51f9640d6fda9a54957d26ba233809851529b32c85660fa401dbee3679ec54fa6dd966 +863e99336ca6edf03a5a259e59a2d0f308206e8a2fb320cfc0be06057366df8e0f94b33a28f574092736b3c5ada84270 +b34bcc56a057589f34939a1adc51de4ff6a9f4fee9c7fa9aa131e28d0cf0759a0c871b640162acdfbf91f3f1b59a3703 +935dd28f2896092995c5eff1618e5b6efe7a40178888d7826da9b0503c2d6e68a28e7fac1a334e166d0205f0695ef614 +b842cd5f8f5de5ca6c68cb4a5c1d7b451984930eb4cc18fd0934d52fdc9c3d2d451b1c395594d73bc3451432bfba653f +9014537885ce2debad736bc1926b25fdab9f69b216bf024f589c49dc7e6478c71d595c3647c9f65ff980b14f4bb2283b +8e827ccca1dd4cd21707140d10703177d722be0bbe5cac578db26f1ef8ad2909103af3c601a53795435b27bf95d0c9ed +8a0b8ad4d466c09d4f1e9167410dbe2edc6e0e6229d4b3036d30f85eb6a333a18b1c968f6ca6d6889bb08fecde017ef4 +9241ee66c0191b06266332dc9161dede384c4bb4e116dbd0890f3c3790ec5566da4568243665c4725b718ac0f6b5c179 +aeb4d5fad81d2b505d47958a08262b6f1b1de9373c2c9ba6362594194dea3e002ab03b8cbb43f867be83065d3d370f19 +8781bc83bb73f7760628629fe19e4714b494dbed444c4e4e4729b7f6a8d12ee347841a199888794c2234f51fa26fc2b9 +b58864f0acd1c2afa29367e637cbde1968d18589245d9936c9a489c6c495f54f0113ecdcbe4680ac085dd3c397c4d0c3 +94a24284afaeead61e70f3e30f87248d76e9726759445ca18cdb9360586c60cc9f0ec1c397f9675083e0b56459784e2e +aed358853f2b54dcbddf865e1816c2e89be12e940e1abfa661e2ee63ffc24a8c8096be2072fa83556482c0d89e975124 +b95374e6b4fc0765708e370bc881e271abf2e35c08b056a03b847e089831ef4fe3124b9c5849d9c276eb2e35b3daf264 +b834cdbcfb24c8f84bfa4c552e7fadc0028a140952fd69ed13a516e1314a4cd35d4b954a77d51a1b93e1f5d657d0315d +8fb6d09d23bfa90e7443753d45a918d91d75d8e12ec7d016c0dfe94e5c592ba6aaf483d2f16108d190822d955ad9cdc3 +aa315cd3c60247a6ad4b04f26c5404c2713b95972843e4b87b5a36a89f201667d70f0adf20757ebe1de1b29ae27dda50 +a116862dca409db8beff5b1ccd6301cdd0c92ca29a3d6d20eb8b87f25965f42699ca66974dd1a355200157476b998f3b +b4c2f5fe173c4dc8311b60d04a65ce1be87f070ac42e13cd19c6559a2931c6ee104859cc2520edebbc66a13dc7d30693 +8d4a02bf99b2260c334e7d81775c5cf582b00b0c982ce7745e5a90624919028278f5e9b098573bad5515ce7fa92a80c8 +8543493bf564ce6d97bd23be9bff1aba08bd5821ca834f311a26c9139c92a48f0c2d9dfe645afa95fec07d675d1fd53b +9344239d13fde08f98cb48f1f87d34cf6abe8faecd0b682955382a975e6eed64e863fa19043290c0736261622e00045c +aa49d0518f343005ca72b9e6c7dcaa97225ce6bb8b908ebbe7b1a22884ff8bfb090890364e325a0d414ad180b8f161d1 +907d7fd3e009355ab326847c4a2431f688627faa698c13c03ffdd476ecf988678407f029b8543a475dcb3dafdf2e7a9c +845f1f10c6c5dad2adc7935f5cd2e2b32f169a99091d4f1b05babe7317b9b1cdce29b5e62f947dc621b9acbfe517a258 +8f3be8e3b380ea6cdf9e9c237f5e88fd5a357e5ded80ea1fc2019810814de82501273b4da38916881125b6fa0cfd4459 +b9c7f487c089bf1d20c822e579628db91ed9c82d6ca652983aa16d98b4270c4da19757f216a71b9c13ddee3e6e43705f +8ba2d8c88ad2b872db104ea8ddbb006ec2f3749fd0e19298a804bb3a5d94de19285cc7fb19fee58a66f7851d1a66c39f +9375ecd3ed16786fe161af5d5c908f56eeb467a144d3bbddfc767e90065b7c94fc53431adebecba2b6c9b5821184d36e +a49e069bfadb1e2e8bff6a4286872e2a9765d62f0eaa4fcb0e5af4bbbed8be3510fb19849125a40a8a81d1e33e81c3eb +9522cc66757b386aa6b88619525c8ce47a5c346d590bb3647d12f991e6c65c3ab3c0cfc28f0726b6756c892eae1672be +a9a0f1f51ff877406fa83a807aeb17b92a283879f447b8a2159653db577848cc451cbadd01f70441e351e9ed433c18bc +8ff7533dcff6be8714df573e33f82cf8e9f2bcaaa43e939c4759d52b754e502717950de4b4252fb904560fc31dce94a4 +959724671e265a28d67c29d95210e97b894b360da55e4cf16e6682e7912491ed8ca14bfaa4dce9c25a25b16af580494f +92566730c3002f4046c737032487d0833c971e775de59fe02d9835c9858e2e3bc37f157424a69764596c625c482a2219 +a84b47ceff13ed9c3e5e9cdf6739a66d3e7c2bd8a6ba318fefb1a9aecf653bb2981da6733ddb33c4b0a4523acc429d23 +b4ddf571317e44f859386d6140828a42cf94994e2f1dcbcc9777f4eebbfc64fc1e160b49379acc27c4672b8e41835c5d +8ab95c94072b853d1603fdd0a43b30db617d13c1d1255b99075198e1947bfa5f59aed2b1147548a1b5e986cd9173d15c +89511f2eab33894fd4b3753d24249f410ff7263052c1fef6166fc63a79816656b0d24c529e45ccce6be28de6e375d916 +a0866160ca63d4f2be1b4ea050dac6b59db554e2ebb4e5b592859d8df339b46fd7cb89aaed0951c3ee540aee982c238a +8fcc5cbba1b94970f5ff2eb1922322f5b0aa7d918d4b380c9e7abfd57afd8b247c346bff7b87af82efbce3052511cd1b +99aeb2a5e846b0a2874cca02c66ed40d5569eb65ab2495bc3f964a092e91e1517941f2688e79f8cca49cd3674c4e06dc +b7a096dc3bad5ca49bee94efd884aa3ff5615cf3825cf95fbe0ce132e35f46581d6482fa82666c7ef5f1643eaee8f1ca +94393b1da6eaac2ffd186b7725eca582f1ddc8cdd916004657f8a564a7c588175cb443fc6943b39029f5bbe0add3fad8 +884b85fe012ccbcd849cb68c3ad832d83b3ef1c40c3954ffdc97f103b1ed582c801e1a41d9950f6bddc1d11f19d5ec76 +b00061c00131eded8305a7ce76362163deb33596569afb46fe499a7c9d7a0734c084d336b38d168024c2bb42b58e7660 +a439153ac8e6ca037381e3240e7ba08d056c83d7090f16ed538df25901835e09e27de2073646e7d7f3c65056af6e4ce7 +830fc9ca099097d1f38b90e6843dc86f702be9d20bdacc3e52cae659dc41df5b8d2c970effa6f83a5229b0244a86fe22 +b81ea2ffaaff2bb00dd59a9ab825ba5eed4db0d8ac9c8ed1a632ce8f086328a1cddd045fbe1ace289083c1325881b7e7 +b51ea03c58daf2db32c99b9c4789b183365168cb5019c72c4cc91ac30b5fb7311d3db76e6fa41b7cd4a8c81e2f6cdc94 +a4170b2c6d09ca5beb08318730419b6f19215ce6c631c854116f904be3bc30dd85a80c946a8ab054d3e307afaa3f8fbc +897cc42ff28971ff54d2a55dd6b35cfb8610ac902f3c06e3a5cea0e0a257e870c471236a8e84709211c742a09c5601a6 +a18f2e98d389dace36641621488664ecbb422088ab03b74e67009b8b8acacaaa24fdcf42093935f355207d934adc52a8 +92adcfb678cc2ba19c866f3f2b988fdcb4610567f3ab436cc0cb9acaf5a88414848d71133ebdbec1983e38e6190f1b5f +a86d43c2ce01b366330d3b36b3ca85f000c3548b8297e48478da1ee7d70d8576d4650cba7852ed125c0d7cb6109aa7f3 +8ed31ceed9445437d7732dce78a762d72ff32a7636bfb3fd7974b7ae15db414d8184a1766915244355deb354fbc5803b +9268f70032584f416e92225d65af9ea18c466ebc7ae30952d56a4e36fd9ea811dde0a126da9220ba3c596ec54d8a335e +9433b99ee94f2d3fbdd63b163a2bdf440379334c52308bd24537f7defd807145a062ff255a50d119a7f29f4b85d250e3 +90ce664f5e4628a02278f5cf5060d1a34f123854634b1870906e5723ac9afd044d48289be283b267d45fcbf3f4656aaf +aaf21c4d59378bb835d42ae5c5e5ab7a3c8c36a59e75997989313197752b79a472d866a23683b329ea69b048b87fa13e +b83c0589b304cec9ede549fde54f8a7c2a468c6657da8c02169a6351605261202610b2055c639b9ed2d5b8c401fb8f56 +9370f326ea0f170c2c05fe2c5a49189f20aec93b6b18a5572a818cd4c2a6adb359e68975557b349fb54f065d572f4c92 +ac3232fa5ce6f03fca238bef1ce902432a90b8afce1c85457a6bee5571c033d4bceefafc863af04d4e85ac72a4d94d51 +80d9ea168ff821b22c30e93e4c7960ce3ad3c1e6deeebedd342a36d01bd942419b187e2f382dbfd8caa34cca08d06a48 +a387a3c61676fb3381eefa2a45d82625635a666e999aba30e3b037ec9e040f414f9e1ad9652abd3bcad63f95d85038db +a1b229fe32121e0b391b0f6e0180670b9dc89d79f7337de4c77ea7ad0073e9593846f06797c20e923092a08263204416 +92164a9d841a2b828cedf2511213268b698520f8d1285852186644e9a0c97512cafa4bfbe29af892c929ebccd102e998 +82ee2fa56308a67c7db4fd7ef539b5a9f26a1c2cc36da8c3206ba4b08258fbb3cec6fe5cdbd111433fb1ba2a1e275927 +8c77bfe9e191f190a49d46f05600603fa42345592539b82923388d72392404e0b29a493a15e75e8b068dddcd444c2928 +80b927f93ccf79dcf5c5b20bcf5a7d91d7a17bc0401bb7cc9b53a6797feac31026eb114257621f5a64a52876e4474cc1 +b6b68b6501c37804d4833d5a063dd108a46310b1400549074e3cac84acc6d88f73948b7ad48d686de89c1ec043ae8c1a +ab3da00f9bdc13e3f77624f58a3a18fc3728956f84b5b549d62f1033ae4b300538e53896e2d943f160618e05af265117 +b6830e87233b8eace65327fdc764159645b75d2fd4024bf8f313b2dd5f45617d7ecfb4a0b53ccafb5429815a9a1adde6 +b9251cfe32a6dc0440615aadcd98b6b1b46e3f4e44324e8f5142912b597ee3526bea2431e2b0282bb58f71be5b63f65e +af8d70711e81cdddfb39e67a1b76643292652584c1ce7ce4feb1641431ad596e75c9120e85f1a341e7a4da920a9cdd94 +98cd4e996594e89495c078bfd52a4586b932c50a449a7c8dfdd16043ca4cda94dafbaa8ad1b44249c99bbcc52152506e +b9fc6d1c24f48404a4a64fbe3e43342738797905db46e4132aee5f086aaa4c704918ad508aaefa455cfe1b36572e6242 +a365e871d30ba9291cedaba1be7b04e968905d003e9e1af7e3b55c5eb048818ae5b913514fb08b24fb4fbdccbb35d0b8 +93bf99510971ea9af9f1e364f1234c898380677c8e8de9b0dd24432760164e46c787bc9ec42a7ad450500706cf247b2d +b872f825a5b6e7b9c7a9ddfeded3516f0b1449acc9b4fd29fc6eba162051c17416a31e5be6d3563f424d28e65bab8b8f +b06b780e5a5e8eb4f4c9dc040f749cf9709c8a4c9ef15e925f442b696e41e5095db0778a6c73bcd329b265f2c6955c8b +848f1a981f5fc6cd9180cdddb8d032ad32cdfa614fc750d690dbae36cc0cd355cbf1574af9b3ffc8b878f1b2fafb9544 +a03f48cbff3e9e8a3a655578051a5ae37567433093ac500ed0021c6250a51b767afac9bdb194ee1e3eac38a08c0eaf45 +b5be78ce638ff8c4aa84352b536628231d3f7558c5be3bf010b28feac3022e64691fa672f358c8b663904aebe24a54ed +a9d4da70ff676fa55d1728ba6ab03b471fa38b08854d99e985d88c2d050102d8ccffbe1c90249a5607fa7520b15fe791 +8fe9f7092ffb0b69862c8e972fb1ecf54308c96d41354ed0569638bb0364f1749838d6d32051fff1599112978c6e229c +ae6083e95f37770ecae0df1e010456f165d96cfe9a7278c85c15cffd61034081ce5723e25e2bede719dc9341ec8ed481 +a260891891103089a7afbd9081ea116cfd596fd1015f5b65e10b0961eb37fab7d09c69b7ce4be8bf35e4131848fb3fe4 +8d729fa32f6eb9fd2f6a140bef34e8299a2f3111bffd0fe463aa8622c9d98bfd31a1df3f3e87cd5abc52a595f96b970e +a30ec6047ae4bc7da4daa7f4c28c93aedb1112cfe240e681d07e1a183782c9ff6783ac077c155af23c69643b712a533f +ac830726544bfe7b5467339e5114c1a75f2a2a8d89453ce86115e6a789387e23551cd64620ead6283dfa4538eb313d86 +8445c135b7a48068d8ed3e011c6d818cfe462b445095e2fbf940301e50ded23f272d799eea47683fc027430ce14613ef +95785411715c9ae9d8293ce16a693a2aa83e3cb1b4aa9f76333d0da2bf00c55f65e21e42e50e6c5772ce213dd7b4f7a0 +b273b024fa18b7568c0d1c4d2f0c4e79ec509dafac8c5951f14192d63ddbcf2d8a7512c1c1b615cc38fa3e336618e0c5 +a78b9d3ea4b6a90572eb27956f411f1d105fdb577ee2ffeec9f221da9b45db84bfe866af1f29597220c75e0c37a628d8 +a4be2bf058c36699c41513c4d667681ce161a437c09d81383244fc55e1c44e8b1363439d0cce90a3e44581fb31d49493 +b6eef13040f17dd4eba22aaf284d2f988a4a0c4605db44b8d2f4bf9567ac794550b543cc513c5f3e2820242dd704152e +87eb00489071fa95d008c5244b88e317a3454652dcb1c441213aa16b28cd3ecaa9b22fec0bdd483c1df71c37119100b1 +92d388acdcb49793afca329cd06e645544d2269234e8b0b27d2818c809c21726bc9cf725651b951e358a63c83dedee24 +ae27e219277a73030da27ab5603c72c8bd81b6224b7e488d7193806a41343dff2456132274991a4722fdb0ef265d04cd +97583e08ecb82bbc27c0c8476d710389fa9ffbead5c43001bd36c1b018f29faa98de778644883e51870b69c5ffb558b5 +90a799a8ce73387599babf6b7da12767c0591cadd36c20a7990e7c05ea1aa2b9645654ec65308ee008816623a2757a6a +a1b47841a0a2b06efd9ab8c111309cc5fc9e1d5896b3e42ed531f6057e5ade8977c29831ce08dbda40348386b1dcc06d +b92b8ef59bbddb50c9457691bc023d63dfcc54e0fd88bd5d27a09e0d98ac290fc90e6a8f6b88492043bf7c87fac8f3e4 +a9d6240b07d62e22ec8ab9b1f6007c975a77b7320f02504fc7c468b4ee9cfcfd945456ff0128bc0ef2174d9e09333f8d +8e96534c94693226dc32bca79a595ca6de503af635f802e86442c67e77564829756961d9b701187fe91318da515bf0e6 +b6ba290623cd8dd5c2f50931c0045d1cfb0c30877bc8fe58cbc3ff61ee8da100045a39153916efa1936f4aee0892b473 +b43baa7717fac02d4294f5b3bb5e58a65b3557747e3188b482410388daac7a9c177f762d943fd5dcf871273921213da8 +b9cf00f8fb5e2ef2b836659fece15e735060b2ea39b8e901d3dcbdcf612be8bf82d013833718c04cd46ffaa70b85f42e +8017d0c57419e414cbba504368723e751ef990cc6f05dad7b3c2de6360adc774ad95512875ab8337d110bf39a42026fa +ae7401048b838c0dcd4b26bb6c56d79d51964a0daba780970b6c97daee4ea45854ea0ac0e4139b3fe60dac189f84df65 +887b237b0cd0f816b749b21db0b40072f9145f7896c36916296973f9e6990ede110f14e5976c906d08987c9836cca57f +a88c3d5770148aee59930561ca1223aceb2c832fb5417e188dca935905301fc4c6c2c9270bc1dff7add490a125eb81c6 +b6cf9b02c0cd91895ad209e38c54039523f137b5848b9d3ad33ae43af6c20c98434952db375fe378de7866f2d0e8b18a +84ef3d322ff580c8ad584b1fe4fe346c60866eb6a56e982ba2cf3b021ecb1fdb75ecc6c29747adda86d9264430b3f816 +a0561c27224baf0927ad144cb71e31e54a064c598373fcf0d66aebf98ab7af1d8e2f343f77baefff69a6da750a219e11 +aa5cc43f5b8162b016f5e1b61214c0c9d15b1078911c650b75e6cdfb49b85ee04c6739f5b1687d15908444f691f732de +ad4ac099b935589c7b8fdfdf3db332b7b82bb948e13a5beb121ebd7db81a87d278024a1434bcf0115c54ca5109585c3d +8a00466abf3f109a1dcd19e643b603d3af23d42794ef8ca2514dd507ecea44a031ac6dbc18bd02f99701168b25c1791e +b00b5900dfad79645f8bee4e5adc7b84eb22e5b1e67df77ccb505b7fc044a6c08a8ea5faca662414eb945f874f884cea +950e204e5f17112250b22ea6bb8423baf522fc0af494366f18fe0f949f51d6e6812074a80875cf1ed9c8e7420058d541 +91e5cbf8bb1a1d50c81608c9727b414d0dd2fb467ebc92f100882a3772e54f94979cfdf8e373fdef7c7fcdd60fec9e00 +a093f6a857b8caaff80599c2e89c962b415ecbaa70d8fd973155fa976a284c6b29a855f5f7a3521134d00d2972755188 +b4d55a3551b00da54cc010f80d99ddd2544bde9219a3173dfaadf3848edc7e4056ab532fb75ac26f5f7141e724267663 +a03ea050fc9b011d1b04041b5765d6f6453a93a1819cd9bd6328637d0b428f08526466912895dcc2e3008ee58822e9a7 +99b12b3665e473d01bc6985844f8994fb65cb15745024fb7af518398c4a37ff215da8f054e8fdf3286984ae36a73ca5e +9972c7e7a7fb12e15f78d55abcaf322c11249cd44a08f62c95288f34f66b51f146302bce750ff4d591707075d9123bd2 +a64b4a6d72354e596d87cda213c4fc2814009461570ccb27d455bbe131f8d948421a71925425b546d8cf63d5458cd64b +91c215c73b195795ede2228b7ed1f6e37892e0c6b0f4a0b5a16c57aa1100c84df9239054a173b6110d6c2b7f4bf1ce52 +88807198910ec1303480f76a3683870246a995e36adaeadc29c22f0bdba8152fe705bd070b75de657b04934f7d0ccf80 +b37c0026c7b32eb02cacac5b55cb5fe784b8e48b2945c64d3037af83ece556a117f0ff053a5968c2f5fa230e291c1238 +94c768384ce212bc2387e91ce8b45e4ff120987e42472888a317abc9dcdf3563b62e7a61c8e98d7cdcbe272167d91fc6 +a10c2564936e967a390cb14ef6e8f8b04ea9ece5214a38837eda09e79e0c7970b1f83adf017c10efd6faa8b7ffa2c567 +a5085eed3a95f9d4b1269182ea1e0d719b7809bf5009096557a0674bde4201b0ddc1f0f16a908fc468846b3721748ce3 +87468eb620b79a0a455a259a6b4dfbc297d0d53336537b771254dd956b145dc816b195b7002647ea218552e345818a3f +ace2b77ffb87366af0a9cb5d27d6fc4a14323dbbf1643f5f3c4559306330d86461bb008894054394cbfaefeaa0bc2745 +b27f56e840a54fbd793f0b7a7631aa4cee64b5947e4382b2dfb5eb1790270288884c2a19afebe5dc0c6ef335d4531c1c +876e438633931f7f895062ee16c4b9d10428875f7bc79a8e156a64d379a77a2c45bf5430c5ab94330f03da352f1e9006 +a2512a252587d200d2092b44c914df54e04ff8bcef36bf631f84bde0cf5a732e3dc7f00f662842cfd74b0b0f7f24180e +827f1bc8f54a35b7a4bd8154f79bcc055e45faed2e74adf7cf21cca95df44d96899e847bd70ead6bb27b9c0ed97bbd8b +a0c92cf5a9ed843714f3aea9fe7b880f622d0b4a3bf66de291d1b745279accf6ba35097849691370f41732ba64b5966b +a63f5c1e222775658421c487b1256b52626c6f79cb55a9b7deb2352622cedffb08502042d622eb3b02c97f9c09f9c957 +8cc093d52651e65fb390e186db6cc4de559176af4624d1c44cb9b0e836832419dacac7b8db0627b96288977b738d785d +aa7b6a17dfcec146134562d32a12f7bd7fe9522e300859202a02939e69dbd345ed7ff164a184296268f9984f9312e8fc +8ac76721f0d2b679f023d06cbd28c85ae5f4b43c614867ccee88651d4101d4fd352dbdb65bf36bfc3ebc0109e4b0c6f9 +8d350f7c05fc0dcd9a1170748846fb1f5d39453e4cb31e6d1457bed287d96fc393b2ecc53793ca729906a33e59c6834a +b9913510dfc5056d7ec5309f0b631d1ec53e3a776412ada9aefdaf033c90da9a49fdde6719e7c76340e86599b1f0eec2 +94955626bf4ce87612c5cfffcf73bf1c46a4c11a736602b9ba066328dc52ad6d51e6d4f53453d4ed55a51e0aad810271 +b0fcab384fd4016b2f1e53f1aafd160ae3b1a8865cd6c155d7073ecc1664e05b1d8bca1def39c158c7086c4e1103345e +827de3f03edfbde08570b72de6662c8bfa499b066a0a27ebad9b481c273097d17a5a0a67f01553da5392ec3f149b2a78 +ab7940384c25e9027c55c40df20bd2a0d479a165ced9b1046958353cd69015eeb1e44ed2fd64e407805ba42df10fc7bf +8ad456f6ff8cd58bd57567d931f923d0c99141978511b17e03cab7390a72b9f62498b2893e1b05c7c22dd274e9a31919 +ac75399e999effe564672db426faa17a839e57c5ef735985c70cd559a377adec23928382767b55ed5a52f7b11b54b756 +b17f975a00b817299ac7af5f2024ea820351805df58b43724393bfb3920a8cd747a3bbd4b8286e795521489db3657168 +a2bed800a6d95501674d9ee866e7314063407231491d794f8cf57d5be020452729c1c7cefd8c50dc1540181f5caab248 +9743f5473171271ffdd3cc59a3ae50545901a7b45cd4bc3570db487865f3b73c0595bebabbfe79268809ee1862e86e4a +b7eab77c2d4687b60d9d7b04e842b3880c7940140012583898d39fcc22d9b9b0a9be2c2e3788b3e6f30319b39c338f09 +8e2b8f797a436a1b661140e9569dcf3e1eea0a77c7ff2bc4ff0f3e49af04ed2de95e255df8765f1d0927fb456a9926b1 +8aefea201d4a1f4ff98ffce94e540bb313f2d4dfe7e9db484a41f13fc316ed02b282e1acc9bc6f56cad2dc2e393a44c9 +b950c17c0e5ca6607d182144aa7556bb0efe24c68f06d79d6413a973b493bfdf04fd147a4f1ab03033a32004cc3ea66f +b7b8dcbb179a07165f2dc6aa829fad09f582a71b05c3e3ea0396bf9e6fe73076f47035c031c2101e8e38e0d597eadd30 +a9d77ed89c77ec1bf8335d08d41c3c94dcca9fd1c54f22837b4e54506b212aa38d7440126c80648ab7723ff18e65ed72 +a819d6dfd4aef70e52b8402fe5d135f8082d40eb7d3bb5c4d7997395b621e2bb10682a1bad2c9caa33dd818550fc3ec6 +8f6ee34128fac8bbf13ce2d68b2bb363eb4fd65b297075f88e1446ddeac242500eeb4ef0735e105882ff5ba8c44c139b +b4440e48255c1644bcecf3a1e9958f1ec4901cb5b1122ee5b56ffd02cad1c29c4266999dbb85aa2605c1b125490074d4 +a43304a067bede5f347775d5811cf65a6380a8d552a652a0063580b5c5ef12a0867a39c7912fa219e184f4538eba1251 +a891ad67a790089ffc9f6d53e6a3d63d3556f5f693e0cd8a7d0131db06fd4520e719cfcc3934f0a8f62a95f90840f1d4 +aea6df8e9bb871081aa0fc5a9bafb00be7d54012c5baf653791907d5042a326aeee966fd9012a582cc16695f5baf7042 +8ffa2660dc52ed1cd4eff67d6a84a8404f358a5f713d04328922269bee1e75e9d49afeec0c8ad751620f22352a438e25 +87ec6108e2d63b06abed350f8b363b7489d642486f879a6c3aa90e5b0f335efc2ff2834eef9353951a42136f8e6a1b32 +865619436076c2760d9e87ddc905023c6de0a8d56eef12c98a98c87837f2ca3f27fd26a2ad752252dbcbe2b9f1d5a032 +980437dce55964293cb315c650c5586ffd97e7a944a83f6618af31c9d92c37b53ca7a21bb5bc557c151b9a9e217e7098 +95d128fc369df4ad8316b72aea0ca363cbc7b0620d6d7bb18f7076a8717a6a46956ff140948b0cc4f6d2ce33b5c10054 +8c7212d4a67b9ec70ebbca04358ad2d36494618d2859609163526d7b3acc2fc935ca98519380f55e6550f70a9bc76862 +893a2968819401bf355e85eee0f0ed0406a6d4a7d7f172d0017420f71e00bb0ba984f6020999a3cdf874d3cd8ebcd371 +9103c1af82dece25d87274e89ea0acd7e68c2921c4af3d8d7c82ab0ed9990a5811231b5b06113e7fa43a6bd492b4564f +99cfd87a94eab7d35466caa4ed7d7bb45e5c932b2ec094258fb14bf205659f83c209b83b2f2c9ccb175974b2a33e7746 +874b6b93e4ee61be3f00c32dd84c897ccd6855c4b6251eb0953b4023634490ed17753cd3223472873cbc6095b2945075 +84a32c0dc4ea60d33aac3e03e70d6d639cc9c4cc435c539eff915017be3b7bdaba33349562a87746291ebe9bc5671f24 +a7057b24208928ad67914e653f5ac1792c417f413d9176ba635502c3f9c688f7e2ee81800d7e3dc0a340c464da2fd9c5 +a03fb9ed8286aacfa69fbd5d953bec591c2ae4153400983d5dbb6cd9ea37fff46ca9e5cceb9d117f73e9992a6c055ad2 +863b2de04e89936c9a4a2b40380f42f20aefbae18d03750fd816c658aee9c4a03df7b12121f795c85d01f415baaeaa59 +8526eb9bd31790fe8292360d7a4c3eed23be23dd6b8b8f01d2309dbfdc0cfd33ad1568ddd7f8a610f3f85a9dfafc6a92 +b46ab8c5091a493d6d4d60490c40aa27950574a338ea5bbc045be3a114af87bdcb160a8c80435a9b7ad815f3cb56a3f3 +aeadc47b41a8d8b4176629557646202f868b1d728b2dda58a347d937e7ffc8303f20d26d6c00b34c851b8aeec547885d +aebb19fc424d72c1f1822aa7adc744cd0ef7e55727186f8df8771c784925058c248406ebeeaf3c1a9ee005a26e9a10c6 +8ff96e81c1a4a2ab1b4476c21018fae0a67e92129ee36120cae8699f2d7e57e891f5c624902cb1b845b944926a605cc3 +8251b8d2c43fadcaa049a9e7aff838dae4fb32884018d58d46403ac5f3beb5c518bfd45f03b8abb710369186075eb71c +a8b2a64f865f51a5e5e86a66455c093407933d9d255d6b61e1fd81ffafc9538d73caaf342338a66ba8ee166372a3d105 +aad915f31c6ba7fdc04e2aaac62e84ef434b7ee76a325f07dc430d12c84081999720181067b87d792efd0117d7ee1eab +a13db3bb60389883fd41d565c54fb5180d9c47ce2fe7a169ae96e01d17495f7f4fa928d7e556e7c74319c4c25d653eb2 +a4491b0198459b3f552855d680a59214eb74e6a4d6c5fa3b309887dc50ebea2ecf6d26c040550f7dc478b452481466fb +8f017f13d4b1e3f0c087843582b52d5f8d13240912254d826dd11f8703a99a2f3166dfbdfdffd9a3492979d77524276b +96c3d5dcd032660d50d7cd9db2914f117240a63439966162b10c8f1f3cf74bc83b0f15451a43b31dbd85e4a7ce0e4bb1 +b479ec4bb79573d32e0ec93b92bdd7ec8c26ddb5a2d3865e7d4209d119fd3499eaac527615ffac78c440e60ef3867ae0 +b2c49c4a33aa94b52b6410b599e81ff15490aafa7e43c8031c865a84e4676354a9c81eb4e7b8be6825fdcefd1e317d44 +906dc51d6a90c089b6704b47592805578a6eed106608eeb276832f127e1b8e858b72e448edcbefb497d152447e0e68ff +b0e81c63b764d7dfbe3f3fddc9905aef50f3633e5d6a4af6b340495124abedcff5700dfd1577bbbed7b6bf97d02719cb +9304c64701e3b4ed6d146e48a881f7d83a17f58357cca0c073b2bb593afd2d94f6e2a7a1ec511d0a67ad6ff4c3be5937 +b6fdbd12ba05aa598d80b83f70a15ef90e5cba7e6e75fa038540ee741b644cd1f408a6cecfd2a891ef8d902de586c6b5 +b80557871a6521b1b3c74a1ba083ae055b575df607f1f7b04c867ba8c8c181ea68f8d90be6031f4d25002cca27c44da2 +aa7285b8e9712e06b091f64163f1266926a36607f9d624af9996856ed2aaf03a580cb22ce407d1ade436c28b44ca173f +8148d72b975238b51e6ea389e5486940d22641b48637d7dfadfa603a605bfc6d74a016480023945d0b85935e396aea5d +8a014933a6aea2684b5762af43dcf4bdbb633cd0428d42d71167a2b6fc563ece5e618bff22f1db2ddb69b845b9a2db19 +990d91740041db770d0e0eb9d9d97d826f09fd354b91c41e0716c29f8420e0e8aac0d575231efba12fe831091ec38d5a +9454d0d32e7e308ddec57cf2522fb1b67a2706e33fb3895e9e1f18284129ab4f4c0b7e51af25681d248d7832c05eb698 +a5bd434e75bac105cb3e329665a35bce6a12f71dd90c15165777d64d4c13a82bceedb9b48e762bd24034e0fc9fbe45f4 +b09e3b95e41800d4dc29c6ffdaab2cd611a0050347f6414f154a47ee20ee59bf8cf7181454169d479ebce1eb5c777c46 +b193e341d6a047d15eea33766d656d807b89393665a783a316e9ba10518e5515c8e0ade3d6e15641d917a8a172a5a635 +ade435ec0671b3621dde69e07ead596014f6e1daa1152707a8c18877a8b067bde2895dd47444ffa69db2bbef1f1d8816 +a7fd3d6d87522dfc56fb47aef9ce781a1597c56a8bbfd796baba907afdc872f753d732bfda1d3402aee6c4e0c189f52d +a298cb4f4218d0464b2fab393e512bbc477c3225aa449743299b2c3572f065bc3a42d07e29546167ed9e1b6b3b3a3af3 +a9ee57540e1fd9c27f4f0430d194b91401d0c642456c18527127d1f95e2dba41c2c86d1990432eb38a692fda058fafde +81d6c1a5f93c04e6d8e5a7e0678c1fc89a1c47a5c920bcd36180125c49fcf7c114866b90e90a165823560b19898a7c16 +a4b7a1ec9e93c899b9fd9aaf264c50e42c36c0788d68296a471f7a3447af4dbc81e4fa96070139941564083ec5b5b5a1 +b3364e327d381f46940c0e11e29f9d994efc6978bf37a32586636c0070b03e4e23d00650c1440f448809e1018ef9f6d8 +8056e0913a60155348300e3a62e28b5e30629a90f7dd4fe11289097076708110a1d70f7855601782a3cdc5bdb1ca9626 +b4980fd3ea17bac0ba9ee1c470b17e575bb52e83ebdd7d40c93f4f87bebeaff1c8a679f9d3d09d635f068d37d5bd28bd +905a9299e7e1853648e398901dfcd437aa575c826551f83520df62984f5679cb5f0ea86aa45ed3e18b67ddc0dfafe809 +ab99553bf31a84f2e0264eb34a08e13d8d15e2484aa9352354becf9a15999c76cc568d68274b70a65e49703fc23540d0 +a43681597bc574d2dae8964c9a8dc1a07613d7a1272bdcb818d98c85d44e16d744250c33f3b5e4d552d97396b55e601f +a54e5a31716fccb50245898c99865644405b8dc920ded7a11f3d19bdc255996054b268e16f2e40273f11480e7145f41e +8134f3ad5ef2ad4ba12a8a4e4d8508d91394d2bcdc38b7c8c8c0b0a820357ac9f79d286c65220f471eb1adca1d98fc68 +94e2f755e60471578ab2c1adb9e9cea28d4eec9b0e92e0140770bca7002c365fcabfe1e5fb4fe6cfe79a0413712aa3ef +ad48f8d0ce7eb3cc6e2a3086ad96f562e5bed98a360721492ae2e74dc158586e77ec8c35d5fd5927376301b7741bad2b +8614f0630bdd7fbad3a31f55afd9789f1c605dc85e7dc67e2edfd77f5105f878bb79beded6e9f0b109e38ea7da67e8d5 +9804c284c4c5e77dabb73f655b12181534ca877c3e1e134aa3f47c23b7ec92277db34d2b0a5d38d2b69e5d1c3008a3e3 +a51b99c3088e473afdaa9e0a9f7e75a373530d3b04e44e1148da0726b95e9f5f0c7e571b2da000310817c36f84b19f7f +ac4ff909933b3b76c726b0a382157cdc74ab851a1ac6cef76953c6444441804cc43abb883363f416592e8f6cfbc4550b +ae7d915eb9fc928b65a29d6edbc75682d08584d0014f7bcf17d59118421ae07d26a02137d1e4de6938bcd1ab8ef48fad +852f7e453b1af89b754df6d11a40d5d41ea057376e8ecacd705aacd2f917457f4a093d6b9a8801837fa0f62986ad7149 +92c6bf5ada5d0c3d4dd8058483de36c215fa98edab9d75242f3eff9db07c734ad67337da6f0eefe23a487bf75a600dee +a2b42c09d0db615853763552a48d2e704542bbd786aae016eb58acbf6c0226c844f5fb31e428cb6450b9db855f8f2a6f +880cc07968266dbfdcfbc21815cd69e0eddfee239167ac693fb0413912d816f2578a74f7716eecd6deefa68c6eccd394 +b885b3ace736cd373e8098bf75ba66fa1c6943ca1bc4408cd98ac7074775c4478594f91154b8a743d9c697e1b29f5840 +a51ce78de512bd87bfa0835de819941dffbf18bec23221b61d8096fc9436af64e0693c335b54e7bfc763f287bdca2db6 +a3c76166a3bdb9b06ef696e57603b58871bc72883ee9d45171a30fe6e1d50e30bc9c51b4a0f5a7270e19a77b89733850 +acefc5c6f8a1e7c24d7b41e0fc7f6f3dc0ede6cf3115ffb9a6e54b1d954cbca9bda8ad7a084be9be245a1b8e9770d141 +b420ed079941842510e31cfad117fa11fb6b4f97dfbc6298cb840f27ebaceba23eeaf3f513bcffbf5e4aae946310182d +95c3bb5ef26c5ed2f035aa5d389c6b3c15a6705b9818a3fefaed28922158b35642b2e8e5a1a620fdad07e75ad4b43af4 +825149f9081ecf07a2a4e3e8b5d21bade86c1a882475d51c55ee909330b70c5a2ac63771c8600c6f38df716af61a3ea1 +873b935aae16d9f08adbc25353cee18af2f1b8d5f26dec6538d6bbddc515f2217ed7d235dcfea59ae61b428798b28637 +9294150843a2bedcedb3bb74c43eb28e759cf9499582c5430bccefb574a8ddd4f11f9929257ff4c153990f9970a2558f +b619563a811cc531da07f4f04e5c4c6423010ff9f8ed7e6ec9449162e3d501b269fb1c564c09c0429431879b0f45df02 +91b509b87eb09f007d839627514658c7341bc76d468920fe8a740a8cb96a7e7e631e0ea584a7e3dc1172266f641d0f5c +8b8aceace9a7b9b4317f1f01308c3904d7663856946afbcea141a1c615e21ccad06b71217413e832166e9dd915fbe098 +87b3b36e725833ea0b0f54753c3728c0dbc87c52d44d705ffc709f2d2394414c652d3283bab28dcce09799504996cee0 +b2670aad5691cbf308e4a6a77a075c4422e6cbe86fdba24e9f84a313e90b0696afb6a067eebb42ba2d10340d6a2f6e51 +876784a9aff3d54faa89b2bacd3ff5862f70195d0b2edc58e8d1068b3c9074c0da1cfa23671fe12f35e33b8a329c0ccd +8b48b9e758e8a8eae182f5cbec96f67d20cca6d3eee80a2d09208eb1d5d872e09ef23d0df8ebbb9b01c7449d0e3e3650 +b79303453100654c04a487bdcadc9e3578bc80930c489a7069a52e8ca1dba36c492c8c899ce025f8364599899baa287d +961b35a6111da54ece6494f24dacd5ea46181f55775b5f03df0e370c34a5046ac2b4082925855325bb42bc2a2c98381d +a31feb1be3f5a0247a1f7d487987eb622e34fca817832904c6ee3ee60277e5847945a6f6ea1ac24542c72e47bdf647df +a12a2aa3e7327e457e1aae30e9612715dd2cfed32892c1cd6dcda4e9a18203af8a44afb46d03b2eed89f6b9c5a2c0c23 +a08265a838e69a2ca2f80fead6ccf16f6366415b920c0b22ee359bcd8d4464ecf156f400a16a7918d52e6d733dd64211 +b723d6344e938d801cca1a00032af200e541d4471fd6cbd38fb9130daa83f6a1dffbbe7e67fc20f9577f884acd7594b2 +a6733d83ec78ba98e72ddd1e7ff79b7adb0e559e256760d0c590a986e742445e8cdf560d44b29439c26d87edd0b07c8c +a61c2c27d3f7b9ff4695a17afedf63818d4bfba390507e1f4d0d806ce8778d9418784430ce3d4199fd3bdbc2504d2af3 +8332f3b63a6dc985376e8b1b25eeae68be6160fbe40053ba7bcf6f073204f682da72321786e422d3482fd60c9e5aa034 +a280f44877583fbb6b860d500b1a3f572e3ee833ec8f06476b3d8002058e25964062feaa1e5bec1536d734a5cfa09145 +a4026a52d277fcea512440d2204f53047718ebfcae7b48ac57ea7f6bfbc5de9d7304db9a9a6cbb273612281049ddaec5 +95cdf69c831ab2fad6c2535ede9c07e663d2ddccc936b64e0843d2df2a7b1c31f1759c3c20f1e7a57b1c8f0dbb21b540 +95c96cec88806469c277ab567863c5209027cecc06c7012358e5f555689c0d9a5ffb219a464f086b45817e8536b86d2f +afe38d4684132a0f03d806a4c8df556bf589b25271fbc6fe2e1ed16de7962b341c5003755da758d0959d2e6499b06c68 +a9b77784fda64987f97c3a23c5e8f61b918be0f7c59ba285084116d60465c4a2aaafc8857eb16823282cc83143eb9126 +a830f05881ad3ce532a55685877f529d32a5dbe56cea57ffad52c4128ee0fad0eeaf0da4362b55075e77eda7babe70e5 +992b3ad190d6578033c13ed5abfee4ef49cbc492babb90061e3c51ee4b5790cdd4c8fc1abff1fa2c00183b6b64f0bbbe +b1015424d9364aeff75de191652dc66484fdbec3e98199a9eb9671ec57bec6a13ff4b38446e28e4d8aedb58dd619cd90 +a745304604075d60c9db36cada4063ac7558e7ec2835d7da8485e58d8422e817457b8da069f56511b02601289fbb8981 +a5ba4330bc5cb3dbe0486ddf995632a7260a46180a08f42ae51a2e47778142132463cc9f10021a9ad36986108fefa1a9 +b419e9fd4babcaf8180d5479db188bb3da232ae77a1c4ed65687c306e6262f8083070a9ac32220cddb3af2ec73114092 +a49e23dc5f3468f3bf3a0bb7e4a114a788b951ff6f23a3396ae9e12cbff0abd1240878a3d1892105413dbc38818e807c +b7ecc7b4831f650202987e85b86bc0053f40d983f252e9832ef503aea81c51221ce93279da4aa7466c026b2d2070e55d +96a8c35cb87f84fa84dcd6399cc2a0fd79cc9158ef4bdde4bae31a129616c8a9f2576cd19baa3f497ca34060979aed7d +8681b2c00aa62c2b519f664a95dcb8faef601a3b961bb4ce5d85a75030f40965e2983871d41ea394aee934e859581548 +85c229a07efa54a713d0790963a392400f55fbb1a43995a535dc6c929f20d6a65cf4efb434e0ad1cb61f689b8011a3bc +90856f7f3444e5ad44651c28e24cc085a5db4d2ffe79aa53228c26718cf53a6e44615f3c5cda5aa752d5f762c4623c66 +978999b7d8aa3f28a04076f74d11c41ef9c89fdfe514936c4238e0f13c38ec97e51a5c078ebc6409e517bfe7ccb42630 +a099914dd7ed934d8e0d363a648e9038eb7c1ec03fa04dbcaa40f7721c618c3ef947afef7a16b4d7ac8c12aa46637f03 +ab2a104fed3c83d16f2cda06878fa5f30c8c9411de71bfb67fd2fc9aa454dcbcf3d299d72f8cc12e919466a50fcf7426 +a4471d111db4418f56915689482f6144efc4664cfb0311727f36c864648d35734351becc48875df96f4abd3cfcf820f9 +83be11727cd30ea94ccc8fa31b09b81c9d6a9a5d3a4686af9da99587332fe78c1f94282f9755854bafd6033549afec91 +88020ff971dc1a01a9e993cd50a5d2131ffdcbb990c1a6aaa54b20d8f23f9546a70918ea57a21530dcc440c1509c24ad +ae24547623465e87905eaffa1fa5d52bb7c453a8dbd89614fa8819a2abcedaf455c2345099b7324ae36eb0ad7c8ef977 +b59b0c60997de1ee00b7c388bc7101d136c9803bf5437b1d589ba57c213f4f835a3e4125b54738e78abbc21b000f2016 +a584c434dfe194546526691b68fa968c831c31da42303a1d735d960901c74011d522246f37f299555416b8cf25c5a548 +80408ce3724f4837d4d52376d255e10f69eb8558399ae5ca6c11b78b98fe67d4b93157d2b9b639f1b5b64198bfe87713 +abb941e8d406c2606e0ddc35c113604fdd9d249eacc51cb64e2991e551b8639ce44d288cc92afa7a1e7fc599cfc84b22 +b223173f560cacb1c21dba0f1713839e348ad02cbfdef0626748604c86f89e0f4c919ed40b583343795bdd519ba952c8 +af1c70512ec3a19d98b8a1fc3ff7f7f5048a27d17d438d43f561974bbdd116fcd5d5c21040f3447af3f0266848d47a15 +8a44809568ebe50405bede19b4d2607199159b26a1b33e03d180e6840c5cf59d991a4fb150d111443235d75ecad085b7 +b06207cdca46b125a27b3221b5b50cf27af4c527dd7c80e2dbcebbb09778a96df3af67e50f07725239ce3583dad60660 +993352d9278814ec89b26a11c4a7c4941bf8f0e6781ae79559d14749ee5def672259792db4587f85f0100c7bb812f933 +9180b8a718b971fd27bc82c8582d19c4b4f012453e8c0ffeeeffe745581fc6c07875ab28be3af3fa3896d19f0c89ac5b +8b8e1263eb48d0fe304032dd5ea1f30e73f0121265f7458ba9054d3626894e8a5fef665340abd2ede9653045c2665938 +99a2beee4a10b7941c24b2092192faf52b819afd033e4a2de050fd6c7f56d364d0cf5f99764c3357cf32399e60fc5d74 +946a4aad7f8647ea60bee2c5fcdeb6f9a58fb2cfca70c4d10e458027a04846e13798c66506151be3df9454b1e417893f +a672a88847652d260b5472d6908d1d57e200f1e492d30dd1cecc441cdfc9b76e016d9bab560efd4d7f3c30801de884a9 +9414e1959c156cde1eb24e628395744db75fc24b9df4595350aaad0bc38e0246c9b4148f6443ef68b8e253a4a6bcf11c +9316e9e4ec5fab4f80d6540df0e3a4774db52f1d759d2e5b5bcd3d7b53597bb007eb1887cb7dc61f62497d51ffc8d996 +902d6d77bb49492c7a00bc4b70277bc28c8bf9888f4307bb017ac75a962decdedf3a4e2cf6c1ea9f9ba551f4610cbbd7 +b07025a18b0e32dd5e12ec6a85781aa3554329ea12c4cd0d3b2c22e43d777ef6f89876dd90a9c8fb097ddf61cf18adc5 +b355a849ad3227caa4476759137e813505ec523cbc2d4105bc7148a4630f9e81918d110479a2d5f5e4cd9ccec9d9d3e3 +b49532cfdf02ee760109881ad030b89c48ee3bb7f219ccafc13c93aead754d29bdafe345be54c482e9d5672bd4505080 +9477802410e263e4f938d57fa8f2a6cac7754c5d38505b73ee35ea3f057aad958cb9722ba6b7b3cfc4524e9ca93f9cdc +9148ea83b4436339580f3dbc9ba51509e9ab13c03063587a57e125432dd0915f5d2a8f456a68f8fff57d5f08c8f34d6e +b00b6b5392b1930b54352c02b1b3b4f6186d20bf21698689bbfc7d13e86538a4397b90e9d5c93fd2054640c4dbe52a4f +926a9702500441243cd446e7cbf15dde16400259726794694b1d9a40263a9fc9e12f7bcbf12a27cb9aaba9e2d5848ddc +a0c6155f42686cbe7684a1dc327100962e13bafcf3db97971fc116d9f5c0c8355377e3d70979cdbd58fd3ea52440901c +a277f899f99edb8791889d0817ea6a96c24a61acfda3ad8c3379e7c62b9d4facc4b965020b588651672fd261a77f1bfc +8f528cebb866b501f91afa50e995234bef5bf20bff13005de99cb51eaac7b4f0bf38580cfd0470de40f577ead5d9ba0f +963fc03a44e9d502cc1d23250efef44d299befd03b898d07ce63ca607bb474b5cf7c965a7b9b0f32198b04a8393821f7 +ab087438d0a51078c378bf4a93bd48ef933ff0f1fa68d02d4460820df564e6642a663b5e50a5fe509527d55cb510ae04 +b0592e1f2c54746bb076be0fa480e1c4bebc4225e1236bcda3b299aa3853e3afb401233bdbcfc4a007b0523a720fbf62 +851613517966de76c1c55a94dc4595f299398a9808f2d2f0a84330ba657ab1f357701d0895f658c18a44cb00547f6f57 +a2fe9a1dd251e72b0fe4db27be508bb55208f8f1616b13d8be288363ec722826b1a1fd729fc561c3369bf13950bf1fd6 +b896cb2bc2d0c77739853bc59b0f89b2e008ba1f701c9cbe3bef035f499e1baee8f0ff1e794854a48c320586a2dfc81a +a1b60f98e5e5106785a9b81a85423452ee9ef980fa7fa8464f4366e73f89c50435a0c37b2906052b8e58e212ebd366cf +a853b0ebd9609656636df2e6acd5d8839c0fda56f7bf9288a943b06f0b67901a32b95e016ca8bc99bd7b5eab31347e72 +b290fa4c1346963bd5225235e6bdf7c542174dab4c908ab483d1745b9b3a6015525e398e1761c90e4b49968d05e30eea +b0f65a33ad18f154f1351f07879a183ad62e5144ad9f3241c2d06533dad09cbb2253949daff1bb02d24d16a3569f7ef0 +a00db59b8d4218faf5aeafcd39231027324408f208ec1f54d55a1c41228b463b88304d909d16b718cfc784213917b71e +b8d695dd33dc2c3bc73d98248c535b2770ad7fa31aa726f0aa4b3299efb0295ba9b4a51c71d314a4a1bd5872307534d1 +b848057cca2ca837ee49c42b88422303e58ea7d2fc76535260eb5bd609255e430514e927cc188324faa8e657396d63ec +92677836061364685c2aaf0313fa32322746074ed5666fd5f142a7e8f87135f45cd10e78a17557a4067a51dfde890371 +a854b22c9056a3a24ab164a53e5c5cf388616c33e67d8ebb4590cb16b2e7d88b54b1393c93760d154208b5ca822dc68f +86fff174920388bfab841118fb076b2b0cdec3fdb6c3d9a476262f82689fb0ed3f1897f7be9dbf0932bb14d346815c63 +99661cf4c94a74e182752bcc4b98a8c2218a8f2765642025048e12e88ba776f14f7be73a2d79bd21a61def757f47f904 +8a8893144d771dca28760cba0f950a5d634195fd401ec8cf1145146286caffb0b1a6ba0c4c1828d0a5480ce49073c64c +938a59ae761359ee2688571e7b7d54692848eb5dde57ffc572b473001ea199786886f8c6346a226209484afb61d2e526 +923f68a6aa6616714cf077cf548aeb845bfdd78f2f6851d8148cba9e33a374017f2f3da186c39b82d14785a093313222 +ac923a93d7da7013e73ce8b4a2b14b8fd0cc93dc29d5de941a70285bdd19be4740fedfe0c56b046689252a3696e9c5bc +b49b32c76d4ec1a2c68d4989285a920a805993bc6fcce6dacd3d2ddae73373050a5c44ba8422a3781050682fa0ef6ba2 +8a367941c07c3bdca5712524a1411bad7945c7c48ffc7103b1d4dff2c25751b0624219d1ccde8c3f70c465f954be5445 +b838f029df455efb6c530d0e370bbbf7d87d61a9aea3d2fe5474c5fe0a39cf235ceecf9693c5c6c5820b1ba8f820bd31 +a8983b7c715eaac7f13a001d2abc462dfc1559dab4a6b554119c271aa8fe00ffcf6b6949a1121f324d6d26cb877bcbae +a2afb24ad95a6f14a6796315fbe0d8d7700d08f0cfaf7a2abe841f5f18d4fecf094406cbd54da7232a159f9c5b6e805e +87e8e95ad2d62f947b2766ff405a23f7a8afba14e7f718a691d95369c79955cdebe24c54662553c60a3f55e6322c0f6f +87c2cbcecb754e0cc96128e707e5c5005c9de07ffd899efa3437cadc23362f5a1d3fcdd30a1f5bdc72af3fb594398c2a +91afd6ee04f0496dc633db88b9370d41c428b04fd991002502da2e9a0ef051bcd7b760e860829a44fbe5539fa65f8525 +8c50e5d1a24515a9dd624fe08b12223a75ca55196f769f24748686315329b337efadca1c63f88bee0ac292dd0a587440 +8a07e8f912a38d94309f317c32068e87f68f51bdfa082d96026f5f5f8a2211621f8a3856dda8069386bf15fb2d28c18f +94ad1dbe341c44eeaf4dc133eed47d8dbfe752575e836c075745770a6679ff1f0e7883b6aa917462993a7f469d74cab5 +8745f8bd86c2bb30efa7efb7725489f2654f3e1ac4ea95bd7ad0f3cfa223055d06c187a16192d9d7bdaea7b050c6a324 +900d149c8d79418cda5955974c450a70845e02e5a4ecbcc584a3ca64d237df73987c303e3eeb79da1af83bf62d9e579f +8f652ab565f677fb1a7ba03b08004e3cda06b86c6f1b0b9ab932e0834acf1370abb2914c15b0d08327b5504e5990681c +9103097d088be1f75ab9d3da879106c2f597e2cc91ec31e73430647bdd5c33bcfd771530d5521e7e14df6acda44f38a6 +b0fec7791cfb0f96e60601e1aeced9a92446b61fedab832539d1d1037558612d78419efa87ff5f6b7aab8fd697d4d9de +b9d2945bdb188b98958854ba287eb0480ef614199c4235ce5f15fc670b8c5ffe8eeb120c09c53ea8a543a022e6a321ac +a9461bb7d5490973ebaa51afc0bb4a5e42acdccb80e2f939e88b77ac28a98870e103e1042899750f8667a8cc9123bae9 +a37fdf11d4bcb2aed74b9f460a30aa34afea93386fa4cdb690f0a71bc58f0b8df60bec56e7a24f225978b862626fa00e +a214420e183e03d531cf91661466ea2187d84b6e814b8b20b3730a9400a7d25cf23181bb85589ebc982cec414f5c2923 +ad09a45a698a6beb3e0915f540ef16e9af7087f53328972532d6b5dfe98ce4020555ece65c6cbad8bd6be8a4dfefe6fd +ab6742800b02728c92d806976764cb027413d6f86edd08ad8bb5922a2969ee9836878cd39db70db0bd9a2646862acc4f +974ca9305bd5ea1dc1755dff3b63e8bfe9f744321046c1395659bcea2a987b528e64d5aa96ac7b015650b2253b37888d +84eee9d6bce039c52c2ebc4fccc0ad70e20c82f47c558098da4be2f386a493cbc76adc795b5488c8d11b6518c2c4fab8 +875d7bda46efcb63944e1ccf760a20144df3b00d53282b781e95f12bfc8f8316dfe6492c2efbf796f1150e36e436e9df +b68a2208e0c587b5c31b5f6cb32d3e6058a9642e2d9855da4f85566e1412db528475892060bb932c55b3a80877ad7b4a +ba006368ecab5febb6ab348644d9b63de202293085ed468df8bc24d992ae8ce468470aa37f36a73630c789fb9c819b30 +90a196035150846cd2b482c7b17027471372a8ce7d914c4d82b6ea7fa705d8ed5817bd42d63886242585baf7d1397a1c +a223b4c85e0daa8434b015fd9170b5561fe676664b67064974a1e9325066ecf88fc81f97ab5011c59fad28cedd04b240 +82e8ec43139cf15c6bbeed484b62e06cded8a39b5ce0389e4cbe9c9e9c02f2f0275d8d8d4e8dfec8f69a191bef220408 +81a3fc07a7b68d92c6ee4b6d28f5653ee9ec85f7e2ee1c51c075c1b130a8c5097dc661cf10c5aff1c7114b1a6a19f11a +8ed2ef8331546d98819a5dd0e6c9f8cb2630d0847671314a28f277faf68da080b53891dd75c82cbcf7788b255490785d +acecabf84a6f9bbed6b2fc2e7e4b48f02ef2f15e597538a73aea8f98addc6badda15e4695a67ecdb505c1554e8f345ec +b8f51019b2aa575f8476e03dcadf86cc8391f007e5f922c2a36b2daa63f5a503646a468990cd5c65148d323942193051 +aaa595a84b403ec65729bc1c8055a94f874bf9adddc6c507b3e1f24f79d3ad359595a672b93aab3394db4e2d4a7d8970 +895144c55fcbd0f64d7dd69e6855cfb956e02b5658eadf0f026a70703f3643037268fdd673b0d21b288578a83c6338dd +a2e92ae6d0d237d1274259a8f99d4ea4912a299816350b876fba5ebc60b714490e198a916e1c38c6e020a792496fa23c +a45795fda3b5bb0ad1d3c628f6add5b2a4473a1414c1a232e80e70d1cfffd7f8a8d9861f8df2946999d7dbb56bf60113 +b6659bf7f6f2fef61c39923e8c23b8c70e9c903028d8f62516d16755cd3fba2fe41c285aa9432dc75ab08f8a1d8a81fc +a735609a6bc5bfd85e58234fc439ff1f58f1ff1dd966c5921d8b649e21f006bf2b8642ad8a75063c159aaf6935789293 +a3c622eb387c9d15e7bda2e3e84d007cb13a6d50d655c3f2f289758e49d3b37b9a35e4535d3cc53d8efd51f407281f19 +8afe147b53ad99220f5ef9d763bfc91f9c20caecbcf823564236fb0e6ede49414c57d71eec4772c8715cc65a81af0047 +b5f0203233cf71913951e9c9c4e10d9243e3e4a1f2cb235bf3f42009120ba96e04aa414c9938ea8873b63148478927e8 +93c52493361b458d196172d7ba982a90a4f79f03aa8008edc322950de3ce6acf4c3977807a2ffa9e924047e02072b229 +b9e72b805c8ac56503f4a86c82720afbd5c73654408a22a2ac0b2e5caccdfb0e20b59807433a6233bc97ae58cf14c70a +af0475779b5cee278cca14c82da2a9f9c8ef222eb885e8c50cca2315fea420de6e04146590ed0dd5a29c0e0812964df5 +b430ccab85690db02c2d0eb610f3197884ca12bc5f23c51e282bf3a6aa7e4a79222c3d8761454caf55d6c01a327595f9 +830032937418b26ee6da9b5206f3e24dc76acd98589e37937e963a8333e5430abd6ce3dd93ef4b8997bd41440eed75d6 +8820a6d73180f3fe255199f3f175c5eb770461ad5cfdde2fb11508041ed19b8c4ce66ad6ecebf7d7e836cc2318df47ca +aef1393e7d97278e77bbf52ef6e1c1d5db721ccf75fe753cf47a881fa034ca61eaa5098ee5a344c156d2b14ff9e284ad +8a4a26c07218948c1196c45d927ef4d2c42ade5e29fe7a91eaebe34a29900072ce5194cf28d51f746f4c4c649daf4396 +84011dc150b7177abdcb715efbd8c201f9cb39c36e6069af5c50a096021768ba40cef45b659c70915af209f904ede3b6 +b1bd90675411389bb66910b21a4bbb50edce5330850c5ab0b682393950124252766fc81f5ecfc72fb7184387238c402e +8dfdcd30583b696d2c7744655f79809f451a60c9ad5bf1226dc078b19f4585d7b3ef7fa9d54e1ac09520d95cbfd20928 +b351b4dc6d98f75b8e5a48eb7c6f6e4b78451991c9ba630e5a1b9874c15ac450cd409c1a024713bf2cf82dc400e025ef +a462b8bc97ac668b97b28b3ae24b9f5de60e098d7b23ecb600d2194cd35827fb79f77c3e50d358f5bd72ee83fef18fa0 +a183753265c5f7890270821880cce5f9b2965b115ba783c6dba9769536f57a04465d7da5049c7cf8b3fcf48146173c18 +a8a771b81ed0d09e0da4d79f990e58eabcd2be3a2680419502dd592783fe52f657fe55125b385c41d0ba3b9b9cf54a83 +a71ec577db46011689d073245e3b1c3222a9b1fe6aa5b83629adec5733dd48617ebea91346f0dd0e6cdaa86e4931b168 +a334b8b244f0d598a02da6ae0f918a7857a54dce928376c4c85df15f3b0f2ba3ac321296b8b7c9dd47d770daf16c8f8c +a29037f8ef925c417c90c4df4f9fb27fb977d04e2b3dd5e8547d33e92ab72e7a00f5461de21e28835319eae5db145eb7 +b91054108ae78b00e3298d667b913ebc44d8f26e531eae78a8fe26fdfb60271c97efb2dee5f47ef5a3c15c8228138927 +926c13efbe90604f6244be9315a34f72a1f8d1aab7572df431998949c378cddbf2fe393502c930fff614ff06ae98a0ce +995c758fd5600e6537089b1baa4fbe0376ab274ff3e82a17768b40df6f91c2e443411de9cafa1e65ea88fb8b87d504f4 +9245ba307a7a90847da75fca8d77ec03fdfc812c871e7a2529c56a0a79a6de16084258e7a9ac4ae8a3756f394336e21c +99e0cfa2bb57a7e624231317044c15e52196ecce020db567c8e8cb960354a0be9862ee0c128c60b44777e65ac315e59f +ad4f6b3d27bbbb744126601053c3dc98c07ff0eb0b38a898bd80dce778372846d67e5ab8fb34fb3ad0ef3f235d77ba7f +a0f12cae3722bbbca2e539eb9cc7614632a2aefe51410430070a12b5bc5314ecec5857b7ff8f41e9980cac23064f7c56 +b487f1bc59485848c98222fd3bc36c8c9bb3d2912e2911f4ceca32c840a7921477f9b1fe00877e05c96c75d3eecae061 +a6033db53925654e18ecb3ce715715c36165d7035db9397087ac3a0585e587998a53973d011ac6d48af439493029cee6 +a6b4d09cd01c70a3311fd131d3710ccf97bde3e7b80efd5a8c0eaeffeb48cca0f951ced905290267b115b06d46f2693b +a9dff1df0a8f4f218a98b6f818a693fb0d611fed0fc3143537cbd6578d479af13a653a8155e535548a2a0628ae24fa58 +a58e469f65d366b519f9a394cacb7edaddac214463b7b6d62c2dbc1316e11c6c5184ce45c16de2d77f990dcdd8b55430 +989e71734f8119103586dc9a3c5f5033ddc815a21018b34c1f876cdfc112efa868d5751bf6419323e4e59fa6a03ece1c +a2da00e05036c884369e04cf55f3de7d659cd5fa3f849092b2519dd263694efe0f051953d9d94b7e121f0aee8b6174d7 +968f3c029f57ee31c4e1adea89a7f92e28483af9a74f30fbdb995dc2d40e8e657dff8f8d340d4a92bf65f54440f2859f +932778df6f60ac1639c1453ef0cbd2bf67592759dcccb3e96dcc743ff01679e4c7dd0ef2b0833dda548d32cb4eba49e2 +a805a31139f8e0d6dae1ac87d454b23a3dc9fc653d4ca18d4f8ebab30fc189c16e73981c2cb7dd6f8c30454a5208109d +a9ba0991296caa2aaa4a1ceacfb205544c2a2ec97088eace1d84ee5e2767656a172f75d2f0c4e16a3640a0e0dec316e0 +b1e49055c968dced47ec95ae934cf45023836d180702e20e2df57e0f62fb85d7ac60d657ba3ae13b8560b67210449459 +a94e1da570a38809c71e37571066acabff7bf5632737c9ab6e4a32856924bf6211139ab3cedbf083850ff2d0e0c0fcfc +88ef1bb322000c5a5515b310c838c9af4c1cdbb32eab1c83ac3b2283191cd40e9573747d663763a28dad0d64adc13840 +a987ce205f923100df0fbd5a85f22c9b99b9b9cbe6ddfa8dfda1b8fe95b4f71ff01d6c5b64ca02eb24edb2b255a14ef0 +84fe8221a9e95d9178359918a108de4763ebfa7a6487facb9c963406882a08a9a93f492f8e77cf9e7ea41ae079c45993 +aa1cf3dc7c5dcfa15bbbc811a4bb6dbac4fba4f97fb1ed344ab60264d7051f6eef19ea9773441d89929ee942ed089319 +8f6a7d610d59d9f54689bbe6a41f92d9f6096cde919c1ab94c3c7fcecf0851423bc191e5612349e10f855121c0570f56 +b5af1fa7894428a53ea520f260f3dc3726da245026b6d5d240625380bfb9c7c186df0204bb604efac5e613a70af5106e +a5bce6055ff812e72ce105f147147c7d48d7a2313884dd1f488b1240ee320f13e8a33f5441953a8e7a3209f65b673ce1 +b9b55b4a1422677d95821e1d042ab81bbf0bf087496504021ec2e17e238c2ca6b44fb3b635a5c9eac0871a724b8d47c3 +941c38e533ce4a673a3830845b56786585e5fe49c427f2e5c279fc6db08530c8f91db3e6c7822ec6bb4f956940052d18 +a38e191d66c625f975313c7007bbe7431b5a06ed2da1290a7d5d0f2ec73770d476efd07b8e632de64597d47df175cbb0 +94ba76b667abf055621db4c4145d18743a368d951565632ed4e743dd50dd3333507c0c34f286a5c5fdbf38191a2255cd +a5ca38c60be5602f2bfa6e00c687ac96ac36d517145018ddbee6f12eb0faa63dd57909b9eeed26085fe5ac44e55d10ab +b00fea3b825e60c1ed1c5deb4b551aa65a340e5af36b17d5262c9cd2c508711e4dc50dc2521a2c16c7c901902266e64a +971b86fc4033485e235ccb0997a236206ba25c6859075edbcdf3c943116a5030b7f75ebca9753d863a522ba21a215a90 +b3b31f52370de246ee215400975b674f6da39b2f32514fe6bd54e747752eedca22bb840493b44a67df42a3639c5f901f +affbbfac9c1ba7cbfa1839d2ae271dd6149869b75790bf103230637da41857fc326ef3552ff31c15bda0694080198143 +a95d42aa7ef1962520845aa3688f2752d291926f7b0d73ea2ee24f0612c03b43f2b0fe3c9a9a99620ffc8d487b981bc2 +914a266065caf64985e8c5b1cb2e3f4e3fe94d7d085a1881b1fefa435afef4e1b39a98551d096a62e4f5cc1a7f0fdc2e +81a0b4a96e2b75bc1bf2dbd165d58d55cfd259000a35504d1ffb18bc346a3e6f07602c683723864ffb980f840836fd8d +91c1556631cddd4c00b65b67962b39e4a33429029d311c8acf73a18600e362304fb68bccb56fde40f49e95b7829e0b87 +8befbacc19e57f7c885d1b7a6028359eb3d80792fe13b92a8400df21ce48deb0bb60f2ddb50e3d74f39f85d7eab23adc +92f9458d674df6e990789690ec9ca73dacb67fc9255b58c417c555a8cc1208ace56e8e538f86ba0f3615573a0fbac00d +b4b1b3062512d6ae7417850c08c13f707d5838e43d48eb98dd4621baf62eee9e82348f80fe9b888a12874bfa538771f8 +a13c4a3ac642ede37d9c883f5319e748d2b938f708c9d779714108a449b343f7b71a6e3ef4080fee125b416762920273 +af44983d5fc8cceee0551ef934e6e653f2d3efa385e5c8a27a272463a6f333e290378cc307c2b664eb923c78994e706e +a389fd6c59fe2b4031cc244e22d3991e541bd203dd5b5e73a6159e72df1ab41d49994961500dcde7989e945213184778 +8d2141e4a17836c548de9598d7b298b03f0e6c73b7364979a411c464e0628e21cff6ac3d6decdba5d1c4909eff479761 +980b22ef53b7bdf188a3f14bc51b0dbfdf9c758826daa3cbc1e3986022406a8aa9a6a79e400567120b88c67faa35ce5f +a28882f0a055f96df3711de5d0aa69473e71245f4f3e9aa944e9d1fb166e02caa50832e46da6d3a03b4801735fd01b29 +8db106a37d7b88f5d995c126abb563934dd8de516af48e85695d02b1aea07f79217e3cdd03c6f5ca57421830186c772b +b5a7e50da0559a675c472f7dfaee456caab6695ab7870541b2be8c2b118c63752427184aad81f0e1afc61aef1f28c46f +9962118780e20fe291d10b64f28d09442a8e1b5cffd0f3dd68d980d0614050a626c616b44e9807fbee7accecae00686a +b38ddf33745e8d2ad6a991aefaf656a33c5f8cbe5d5b6b6fd03bd962153d8fd0e01b5f8f96d80ae53ab28d593ab1d4e7 +857dc12c0544ff2c0c703761d901aba636415dee45618aba2e3454ff9cbc634a85c8b05565e88520ff9be2d097c8b2b1 +a80d465c3f8cc63af6d74a6a5086b626c1cb4a8c0fee425964c3bd203d9d7094e299f81ce96d58afc20c8c9a029d9dae +89e1c8fbde8563763be483123a3ed702efac189c6d8ab4d16c85e74bbaf856048cc42d5d6e138633a38572ba5ec3f594 +893a594cf495535f6d216508f8d03c317dcf03446668cba688da90f52d0111ac83d76ad09bf5ea47056846585ee5c791 +aadbd8be0ae452f7f9450c7d2957598a20cbf10139a4023a78b4438172d62b18b0de39754dd2f8862dbd50a3a0815e53 +ae7d39670ecca3eb6db2095da2517a581b0e8853bdfef619b1fad9aacd443e7e6a40f18209fadd44038a55085c5fe8b2 +866ef241520eacb6331593cfcb206f7409d2f33d04542e6e52cba5447934e02d44c471f6c9a45963f9307e9809ab91d9 +b1a09911ad3864678f7be79a9c3c3eb5c84a0a45f8dcb52c67148f43439aeaaa9fd3ed3471276b7e588b49d6ebe3033a +add07b7f0dbb34049cd8feeb3c18da5944bf706871cfd9f14ff72f6c59ad217ebb1f0258b13b167851929387e4e34cfe +ae048892d5c328eefbdd4fba67d95901e3c14d974bfc0a1fc68155ca9f0d59e61d7ba17c6c9948b120cf35fd26e6fee9 +9185b4f3b7da0ddb4e0d0f09b8a9e0d6943a4611e43f13c3e2a767ed8592d31e0ba3ebe1914026a3627680274291f6e5 +a9c022d4e37b0802284ce3b7ee9258628ab4044f0db4de53d1c3efba9de19d15d65cc5e608dbe149c21c2af47d0b07b5 +b24dbd5852f8f24921a4e27013b6c3fa8885b973266cb839b9c388efad95821d5d746348179dcc07542bd0d0aefad1ce +b5fb4f279300876a539a27a441348764908bc0051ebd66dc51739807305e73db3d2f6f0f294ffb91b508ab150eaf8527 +ace50841e718265b290c3483ed4b0fdd1175338c5f1f7530ae9a0e75d5f80216f4de37536adcbc8d8c95982e88808cd0 +b19cadcde0f63bd1a9c24bd9c2806f53c14c0b9735bf351601498408ba503ddbd2037c891041cbba47f58b8c483f3b21 +b6061e63558d312eb891b97b39aa552fa218568d79ee26fe6dd5b864aea9e3216d8f2e2f3b093503be274766dac41426 +89730fdb2876ab6f0fe780d695f6e12090259027e789b819956d786e977518057e5d1d7f5ab24a3ae3d5d4c97773bd2b +b6fa841e81f9f2cad0163a02a63ae96dc341f7ae803b616efc6e1da2fbea551c1b96b11ad02c4afbdf6d0cc9f23da172 +8fb66187182629c861ddb6896d7ed3caf2ad050c3dba8ab8eb0d7a2c924c3d44c48d1a148f9e33fb1f061b86972f8d21 +86022ac339c1f84a7fa9e05358c1a5b316b4fc0b83dbe9c8c7225dc514f709d66490b539359b084ce776e301024345fa +b50b9c321468da950f01480bb62b6edafd42f83c0001d6e97f2bd523a1c49a0e8574fb66380ea28d23a7c4d54784f9f0 +a31c05f7032f30d1dac06678be64d0250a071fd655e557400e4a7f4c152be4d5c7aa32529baf3e5be7c4bd49820054f6 +b95ac0848cd322684772119f5b682d90a66bbf9dac411d9d86d2c34844bbd944dbaf8e47aa41380455abd51687931a78 +ae4a6a5ce9553b65a05f7935e61e496a4a0f6fd8203367a2c627394c9ce1e280750297b74cdc48fd1d9a31e93f97bef4 +a22daf35f6e9b05e52e0b07f7bd1dbbebd2c263033fb0e1b2c804e2d964e2f11bc0ece6aca6af079dd3a9939c9c80674 +902150e0cb1f16b9b59690db35281e28998ce275acb313900da8b2d8dfd29fa1795f8ca3ff820c31d0697de29df347c1 +b17b5104a5dc665cdd7d47e476153d715eb78c6e5199303e4b5445c21a7fa7cf85fe7cfd08d7570f4e84e579b005428c +a03f49b81c15433f121680aa02d734bb9e363af2156654a62bcb5b2ba2218398ccb0ff61104ea5d7df5b16ea18623b1e +802101abd5d3c88876e75a27ffc2f9ddcce75e6b24f23dba03e5201281a7bd5cc7530b6a003be92d225093ca17d3c3bb +a4d183f63c1b4521a6b52226fc19106158fc8ea402461a5cccdaa35fee93669df6a8661f45c1750cd01308149b7bf08e +8d17c22e0c8403b69736364d460b3014775c591032604413d20a5096a94d4030d7c50b9fe3240e31d0311efcf9816a47 +947225acfcce5992eab96276f668c3cbe5f298b90a59f2bb213be9997d8850919e8f496f182689b5cbd54084a7332482 +8df6f4ed216fc8d1905e06163ba1c90d336ab991a18564b0169623eb39b84e627fa267397da15d3ed754d1f3423bff07 +83480007a88f1a36dea464c32b849a3a999316044f12281e2e1c25f07d495f9b1710b4ba0d88e9560e72433addd50bc2 +b3019d6e591cf5b33eb972e49e06c6d0a82a73a75d78d383dd6f6a4269838289e6e07c245f54fed67f5c9bb0fd5e1c5f +92e8ce05e94927a9fb02debadb99cf30a26172b2705003a2c0c47b3d8002bf1060edb0f6a5750aad827c98a656b19199 +ac2aff801448dbbfc13cca7d603fd9c69e82100d997faf11f465323b97255504f10c0c77401e4d1890339d8b224f5803 +b0453d9903d08f508ee27e577445dc098baed6cde0ac984b42e0f0efed62760bd58d5816cf1e109d204607b7b175e30c +ae68dc4ba5067e825d46d2c7c67f1009ceb49d68e8d3e4c57f4bcd299eb2de3575d42ea45e8722f8f28497a6e14a1cfe +b22486c2f5b51d72335ce819bbafb7fa25eb1c28a378a658f13f9fc79cd20083a7e573248d911231b45a5cf23b561ca7 +89d1201d1dbd6921867341471488b4d2fd0fc773ae1d4d074c78ae2eb779a59b64c00452c2a0255826fca6b3d03be2b1 +a2998977c91c7a53dc6104f5bc0a5b675e5350f835e2f0af69825db8af4aeb68435bdbcc795f3dd1f55e1dd50bc0507f +b0be4937a925b3c05056ed621910d535ccabf5ab99fd3b9335080b0e51d9607d0fd36cb5781ff340018f6acfca4a9736 +aea145a0f6e0ba9df8e52e84bb9c9de2c2dc822f70d2724029b153eb68ee9c17de7d35063dcd6a39c37c59fdd12138f7 +91cb4545d7165ee8ffbc74c874baceca11fdebbc7387908d1a25877ca3c57f2c5def424dab24148826832f1e880bede0 +b3b579cb77573f19c571ad5eeeb21f65548d7dff9d298b8d7418c11f3e8cd3727c5b467f013cb87d6861cfaceee0d2e3 +b98a1eeec2b19fecc8378c876d73645aa52fb99e4819903735b2c7a885b242787a30d1269a04bfb8573d72d9bbc5f0f0 +940c1f01ed362bd588b950c27f8cc1d52276c71bb153d47f07ec85b038c11d9a8424b7904f424423e714454d5e80d1cd +aa343a8ecf09ce11599b8cf22f7279cf80f06dbf9f6d62cb05308dbbb39c46fd0a4a1240b032665fbb488a767379b91b +87c3ac72084aca5974599d3232e11d416348719e08443acaba2b328923af945031f86432e170dcdd103774ec92e988c9 +91d6486eb5e61d2b9a9e742c20ec974a47627c6096b3da56209c2b4e4757f007e793ebb63b2b246857c9839b64dc0233 +aebcd3257d295747dd6fc4ff910d839dd80c51c173ae59b8b2ec937747c2072fa85e3017f9060aa509af88dfc7529481 +b3075ba6668ca04eff19efbfa3356b92f0ab12632dcda99cf8c655f35b7928c304218e0f9799d68ef9f809a1492ff7db +93ba7468bb325639ec2abd4d55179c69fd04eaaf39fc5340709227bbaa4ad0a54ea8b480a1a3c8d44684e3be0f8d1980 +a6aef86c8c0d92839f38544d91b767c582568b391071228ff5a5a6b859c87bf4f81a7d926094a4ada1993ddbd677a920 +91dcd6d14207aa569194aa224d1e5037b999b69ade52843315ca61ba26abe9a76412c9e88259bc5cf5d7b95b97d9c3bc +b3b483d31c88f78d49bd065893bc1e3d2aa637e27dedb46d9a7d60be7660ce7a10aaaa7deead362284a52e6d14021178 +8e5730070acf8371461ef301cc4523e8e672aa0e3d945d438a0e0aa6bdf8cb9c685dcf38df429037b0c8aff3955c6f5b +b8c6d769890a8ee18dc4f9e917993315877c97549549b34785a92543cbeec96a08ae3a28d6e809c4aacd69de356c0012 +95ca86cd384eaceaa7c077c5615736ca31f36824bd6451a16142a1edc129fa42b50724aeed7c738f08d7b157f78b569e +94df609c6d71e8eee7ab74226e371ccc77e01738fe0ef1a6424435b4570fe1e5d15797b66ed0f64eb88d4a3a37631f0e +89057b9783212add6a0690d6bb99097b182738deff2bd9e147d7fd7d6c8eacb4c219923633e6309ad993c24572289901 +83a0f9f5f265c5a0e54defa87128240235e24498f20965009fef664f505a360b6fb4020f2742565dfc7746eb185bcec0 +91170da5306128931349bc3ed50d7df0e48a68b8cc8420975170723ac79d8773e4fa13c5f14dc6e3fafcad78379050b1 +b7178484d1b55f7e56a4cc250b6b2ec6040437d96bdfddfa7b35ed27435860f3855c2eb86c636f2911b012eb83b00db8 +ac0b00c4322d1e4208e09cd977b4e54d221133ff09551f75b32b0b55d0e2be80941dda26257b0e288c162e63c7e9cf68 +9690ed9e7e53ed37ff362930e4096b878b12234c332fd19d5d064824084245952eda9f979e0098110d6963e468cf513e +b6fa547bb0bb83e5c5be0ed462a8783fba119041c136a250045c09d0d2af330c604331e7de960df976ff76d67f8000cd +814603907c21463bcf4e59cfb43066dfe1a50344ae04ef03c87c0f61b30836c3f4dea0851d6fa358c620045b7f9214c8 +9495639e3939fad2a3df00a88603a5a180f3c3a0fe4d424c35060e2043e0921788003689887b1ed5be424d9a89bb18bb +aba4c02d8d57f2c92d5bc765885849e9ff8393d6554f5e5f3e907e5bfac041193a0d8716d7861104a4295d5a03c36b03 +8ead0b56c1ca49723f94a998ba113b9058059321da72d9e395a667e6a63d5a9dac0f5717cec343f021695e8ced1f72af +b43037f7e3852c34ed918c5854cd74e9d5799eeddfe457d4f93bb494801a064735e326a76e1f5e50a339844a2f4a8ec9 +99db8422bb7302199eb0ff3c3d08821f8c32f53a600c5b6fb43e41205d96adae72be5b460773d1280ad1acb806af9be8 +8a9be08eae0086c0f020838925984df345c5512ff32e37120b644512b1d9d4fecf0fd30639ca90fc6cf334a86770d536 +81b43614f1c28aa3713a309a88a782fb2bdfc4261dd52ddc204687791a40cf5fd6a263a8179388596582cccf0162efc2 +a9f3a8b76912deb61d966c75daf5ddb868702ebec91bd4033471c8e533183df548742a81a2671de5be63a502d827437d +902e2415077f063e638207dc7e14109652e42ab47caccd6204e2870115791c9defac5425fd360b37ac0f7bd8fe7011f8 +aa18e4fdc1381b59c18503ae6f6f2d6943445bd00dd7d4a2ad7e5adad7027f2263832690be30d456e6d772ad76f22350 +a348b40ba3ba7d81c5d4631f038186ebd5e5f314f1ea737259151b07c3cc8cf0c6ed4201e71bcc1c22fefda81a20cde6 +aa1306f7ac1acbfc47dc6f7a0cb6d03786cec8c8dc8060388ccda777bca24bdc634d03e53512c23dba79709ff64f8620 +818ccfe46e700567b7f3eb400e5a35f6a5e39b3db3aa8bc07f58ace35d9ae5a242faf8dbccd08d9a9175bbce15612155 +b7e3da2282b65dc8333592bb345a473f03bd6df69170055fec60222de9897184536bf22b9388b08160321144d0940279 +a4d976be0f0568f4e57de1460a1729129252b44c552a69fceec44e5b97c96c711763360d11f9e5bf6d86b4976bf40d69 +85d185f0397c24c2b875b09b6328a23b87982b84ee880f2677a22ff4c9a1ba9f0fea000bb3f7f66375a00d98ebafce17 +b4ccbb8c3a2606bd9b87ce022704663af71d418351575f3b350d294f4efc68c26f9a2ce49ff81e6ff29c3b63d746294e +93ffd3265fddb63724dfde261d1f9e22f15ecf39df28e4d89e9fea03221e8e88b5dd9b77628bacaa783c6f91802d47cc +b1fd0f8d7a01378e693da98d03a2d2fda6b099d03454b6f2b1fa6472ff6bb092751ce6290059826b74ac0361eab00e1e +a89f440c71c561641589796994dd2769616b9088766e983c873fae0716b95c386c8483ab8a4f367b6a68b72b7456dd32 +af4fe92b01d42d03dd5d1e7fa55e96d4bbcb7bf7d4c8c197acd16b3e0f3455807199f683dcd263d74547ef9c244b35cc +a8227f6e0a344dfe76bfbe7a1861be32c4f4bed587ccce09f9ce2cf481b2dda8ae4f566154bc663d15f962f2d41761bd +a7b361663f7495939ed7f518ba45ea9ff576c4e628995b7aea026480c17a71d63fc2c922319f0502eb7ef8f14a406882 +8ddcf382a9f39f75777160967c07012cfa89e67b19714a7191f0c68eaf263935e5504e1104aaabd0899348c972a8d3c6 +98c95b9f6f5c91f805fb185eedd06c6fc4457d37dd248d0be45a6a168a70031715165ea20606245cbdf8815dc0ac697f +805b44f96e001e5909834f70c09be3efcd3b43632bcac5b6b66b6d227a03a758e4b1768ce2a723045681a1d34562aaeb +b0e81b07cdc45b3dca60882676d9badb99f25c461b7efe56e3043b80100bb62d29e1873ae25eb83087273160ece72a55 +b0c53f0abe78ee86c7b78c82ae1f7c070bb0b9c45c563a8b3baa2c515d482d7507bb80771e60b38ac13f78b8af92b4a9 +a7838ef6696a9e4d2e5dfd581f6c8d6a700467e8fd4e85adabb5f7a56f514785dd4ab64f6f1b48366f7d94728359441b +88c76f7700a1d23c30366a1d8612a796da57b2500f97f88fdf2d76b045a9d24e7426a8ffa2f4e86d3046937a841dad58 +ad8964baf98c1f02e088d1d9fcb3af6b1dfa44cdfe0ed2eae684e7187c33d3a3c28c38e8f4e015f9c04d451ed6f85ff6 +90e9d00a098317ececaa9574da91fc149eda5b772dedb3e5a39636da6603aa007804fa86358550cfeff9be5a2cb7845e +a56ff4ddd73d9a6f5ab23bb77efa25977917df63571b269f6a999e1ad6681a88387fcc4ca3b26d57badf91b236503a29 +97ad839a6302c410a47e245df84c01fb9c4dfef86751af3f9340e86ff8fc3cd52fa5ff0b9a0bd1d9f453e02ca80658a6 +a4c8c44cbffa804129e123474854645107d1f0f463c45c30fd168848ebea94880f7c0c5a45183e9eb837f346270bdb35 +a72e53d0a1586d736e86427a93569f52edd2f42b01e78aee7e1961c2b63522423877ae3ac1227a2cf1e69f8e1ff15bc3 +8559f88a7ef13b4f09ac82ae458bbae6ab25671cfbf52dae7eac7280d6565dd3f0c3286aec1a56a8a16dc3b61d78ce47 +8221503f4cdbed550876c5dc118a3f2f17800c04e8be000266633c83777b039a432d576f3a36c8a01e8fd18289ebc10b +99bfbe5f3e46d4d898a578ba86ed26de7ed23914bd3bcdf3c791c0bcd49398a52419077354a5ab75cea63b6c871c6e96 +aa134416d8ff46f2acd866c1074af67566cfcf4e8be8d97329dfa0f603e1ff208488831ce5948ac8d75bfcba058ddcaa +b02609d65ebfe1fe8e52f21224a022ea4b5ea8c1bd6e7b9792eed8975fc387cdf9e3b419b8dd5bcce80703ab3a12a45f +a4f14798508698fa3852e5cac42a9db9797ecee7672a54988aa74037d334819aa7b2ac7b14efea6b81c509134a6b7ad2 +884f01afecbcb987cb3e7c489c43155c416ed41340f61ecb651d8cba884fb9274f6d9e7e4a46dd220253ae561614e44c +a05523c9e71dce1fe5307cc71bd721feb3e1a0f57a7d17c7d1c9fb080d44527b7dbaa1f817b1af1c0b4322e37bc4bb1e +8560aec176a4242b39f39433dd5a02d554248c9e49d3179530815f5031fee78ba9c71a35ceeb2b9d1f04c3617c13d8f0 +996aefd402748d8472477cae76d5a2b92e3f092fc834d5222ae50194dd884c9fb8b6ed8e5ccf8f6ed483ddbb4e80c747 +8fd09900320000cbabc40e16893e2fcf08815d288ec19345ad7b6bb22f7d78a52b6575a3ca1ca2f8bc252d2eafc928ec +939e51f73022bc5dc6862a0adf8fb8a3246b7bfb9943cbb4b27c73743926cc20f615a036c7e5b90c80840e7f1bfee0e7 +a0a6258700cadbb9e241f50766573bf9bdb7ad380b1079dc3afb4054363d838e177b869cad000314186936e40359b1f2 +972699a4131c8ed27a2d0e2104d54a65a7ff1c450ad9da3a325c662ab26869c21b0a84d0700b98c8b5f6ce3b746873d7 +a454c7fe870cb8aa6491eafbfb5f7872d6e696033f92e4991d057b59d70671f2acdabef533e229878b60c7fff8f748b1 +a167969477214201f09c79027b10221e4707662e0c0fde81a0f628249f2f8a859ce3d30a7dcc03b8ecca8f7828ad85c7 +8ff6b7265175beb8a63e1dbf18c9153fb2578c207c781282374f51b40d57a84fd2ef2ea2b9c6df4a54646788a62fd17f +a3d7ebeccde69d73d8b3e76af0da1a30884bb59729503ff0fb0c3bccf9221651b974a6e72ea33b7956fc3ae758226495 +b71ef144c9a98ce5935620cb86c1590bd4f48e5a2815d25c0cdb008fde628cf628c31450d3d4f67abbfeb16178a74cfd +b5e0a16d115134f4e2503990e3f2035ed66b9ccf767063fe6747870d97d73b10bc76ed668550cb82eedc9a2ca6f75524 +b30ffaaf94ee8cbc42aa2c413175b68afdb207dbf351fb20be3852cb7961b635c22838da97eaf43b103aff37e9e725cc +98aa7d52284f6c1f22e272fbddd8c8698cf8f5fbb702d5de96452141fafb559622815981e50b87a72c2b1190f59a7deb +81fbacda3905cfaf7780bb4850730c44166ed26a7c8d07197a5d4dcd969c09e94a0461638431476c16397dd7bdc449f9 +95e47021c1726eac2e5853f570d6225332c6e48e04c9738690d53e07c6b979283ebae31e2af1fc9c9b3e59f87e5195b1 +ac024a661ba568426bb8fce21780406537f518075c066276197300841e811860696f7588188bc01d90bace7bc73d56e3 +a4ebcaf668a888dd404988ab978594dee193dad2d0aec5cdc0ccaf4ec9a7a8228aa663db1da8ddc52ec8472178e40c32 +a20421b8eaf2199d93b083f2aff37fb662670bd18689d046ae976d1db1fedd2c2ff897985ecc6277b396db7da68bcb27 +8bc33d4b40197fd4d49d1de47489d10b90d9b346828f53a82256f3e9212b0cbc6930b895e879da9cec9fedf026aadb3e +aaafdd1bec8b757f55a0433eddc0a39f818591954fd4e982003437fcceb317423ad7ee74dbf17a2960380e7067a6b4e2 +aad34277ebaed81a6ec154d16736866f95832803af28aa5625bf0461a71d02b1faba02d9d9e002be51c8356425a56867 +976e9c8b150d08706079945bd0e84ab09a648ecc6f64ded9eb5329e57213149ae409ae93e8fbd8eda5b5c69f5212b883 +8097fae1653247d2aed4111533bc378171d6b2c6d09cbc7baa9b52f188d150d645941f46d19f7f5e27b7f073c1ebd079 +83905f93b250d3184eaba8ea7d727c4464b6bdb027e5cbe4f597d8b9dc741dcbea709630bd4fd59ce24023bec32fc0f3 +8095030b7045cff28f34271386e4752f9a9a0312f8df75de4f424366d78534be2b8e1720a19cb1f9a2d21105d790a225 +a7b7b73a6ae2ed1009c49960374b0790f93c74ee03b917642f33420498c188a169724945a975e5adec0a1e83e07fb1b2 +856a41c54df393b6660b7f6354572a4e71c8bfca9cabaffb3d4ef2632c015e7ee2bc10056f3eccb3dbed1ad17d939178 +a8f7a55cf04b38cd4e330394ee6589da3a07dc9673f74804fdf67b364e0b233f14aec42e783200a2e4666f7c5ff62490 +82c529f4e543c6bca60016dc93232c115b359eaee2798a9cf669a654b800aafe6ab4ba58ea8b9cdda2b371c8d62fa845 +8caab020c1baddce77a6794113ef1dfeafc5f5000f48e97f4351b588bf02f1f208101745463c480d37f588d5887e6d8c +8fa91b3cc400f48b77b6fd77f3b3fbfb3f10cdff408e1fd22d38f77e087b7683adad258804409ba099f1235b4b4d6fea +8aa02787663d6be9a35677d9d8188b725d5fcd770e61b11b64e3def8808ea5c71c0a9afd7f6630c48634546088fcd8e2 +b5635b7b972e195cab878b97dea62237c7f77eb57298538582a330b1082f6207a359f2923864630136d8b1f27c41b9aa +8257bb14583551a65975946980c714ecd6e5b629672bb950b9caacd886fbd22704bc9e3ba7d30778adab65dc74f0203a +ab5fe1cd12634bfa4e5c60d946e2005cbd38f1063ec9a5668994a2463c02449a0a185ef331bd86b68b6e23a8780cb3ba +a7d3487da56cda93570cc70215d438204f6a2709bfb5fda6c5df1e77e2efc80f4235c787e57fbf2c74aaff8cbb510a14 +b61cff7b4c49d010e133319fb828eb900f8a7e55114fc86b39c261a339c74f630e1a7d7e1350244ada566a0ff3d46c4b +8d4d1d55d321d278db7a85522ccceca09510374ca81d4d73e3bb5249ace7674b73900c35a531ec4fa6448fabf7ad00dc +966492248aee24f0f56c8cfca3c8ec6ba3b19abb69ae642041d4c3be8523d22c65c4dafcab4c58989ccc4e0bd2f77919 +b20c320a90cb220b86e1af651cdc1e21315cd215da69f6787e28157172f93fc8285dcd59b039c626ed8ca4633cba1a47 +aae9e6b22f018ceb5c0950210bb8182cb8cb61014b7e14581a09d36ebd1bbfebdb2b82afb7fdb0cf75e58a293d9c456d +875547fb67951ad37b02466b79f0c9b985ccbc500cfb431b17823457dc79fb9597ec42cd9f198e15523fcd88652e63a4 +92afce49773cb2e20fb21e4f86f18e0959ebb9c33361547ddb30454ee8e36b1e234019cbdca0e964cb292f7f77df6b90 +8af85343dfe1821464c76ba11c216cbef697b5afc69c4d821342e55afdac047081ec2e3f7b09fc14b518d9a23b78c003 +b7de4a1648fd63f3a918096ea669502af5357438e69dac77cb8102b6e6c15c76e033cfaa80dafc806e535ede5c1a20aa +ac80e9b545e8bd762951d96c9ce87f629d01ffcde07efc2ef7879ca011f1d0d8a745abf26c9d452541008871304fac00 +a4cf0f7ed724e481368016c38ea5816698a5f68eb21af4d3c422d2ba55f96a33e427c2aa40de1b56a7cfac7f7cf43ab0 +899b0a678bb2db2cae1b44e75a661284844ebcdd87abf308fedeb2e4dbe5c5920c07db4db7284a7af806a2382e8b111a +af0588a2a4afce2b1b13c1230816f59e8264177e774e4a341b289a101dcf6af813638fed14fb4d09cb45f35d5d032609 +a4b8df79e2be76e9f5fc5845f06fe745a724cf37c82fcdb72719b77bdebea3c0e763f37909373e3a94480cc5e875cba0 +83e42c46d88930c8f386b19fd999288f142d325e2ebc86a74907d6d77112cb0d449bc511c95422cc810574031a8cbba9 +b5e39534070de1e5f6e27efbdd3dc917d966c2a9b8cf2d893f964256e95e954330f2442027dc148c776d63a95bcde955 +958607569dc28c075e658cd4ae3927055c6bc456eef6212a6fea8205e48ed8777a8064f584cda38fe5639c371e2e7fba +812adf409fa63575113662966f5078a903212ffb65c9b0bbe62da0f13a133443a7062cb8fd70f5e5dd5559a32c26d2c8 +a679f673e5ce6a3cce7fa31f22ee3785e96bcb55e5a776e2dd3467bef7440e3555d1a9b87cb215e86ee9ed13a090344b +afedbb34508b159eb25eb2248d7fe328f86ef8c7d84c62d5b5607d74aae27cc2cc45ee148eb22153b09898a835c58df4 +b75505d4f6b67d31e665cfaf5e4acdb5838ae069166b7fbcd48937c0608a59e40a25302fcc1873d2e81c1782808c70f0 +b62515d539ec21a155d94fc00ea3c6b7e5f6636937bce18ed5b618c12257fb82571886287fd5d1da495296c663ebc512 +ab8e1a9446bbdd588d1690243b1549d230e6149c28f59662b66a8391a138d37ab594df38e7720fae53217e5c3573b5be +b31e8abf4212e03c3287bb2c0a153065a7290a16764a0bac8f112a72e632185a654bb4e88fdd6053e6c7515d9719fadb +b55165477fe15b6abd2d0f4fddaa9c411710dcc4dd712daba3d30e303c9a3ee5415c256f9dc917ecf18c725b4dbab059 +a0939d4f57cacaae549b78e87cc234de4ff6a35dc0d9cd5d7410abc30ebcd34c135e008651c756e5a9d2ca79c40ef42b +8cf10e50769f3443340844aad4d56ec790850fed5a41fcbd739abac4c3015f0a085a038fbe7fae9f5ad899cce5069f6b +924055e804d82a99ea4bb160041ea4dc14b568abf379010bc1922fde5d664718c31d103b8b807e3a1ae809390e708c73 +8ec0f9d26f71b0f2e60a179e4fd1778452e2ffb129d50815e5d7c7cb9415fa69ae5890578086e8ef6bfde35ad2a74661 +98c7f12b15ec4426b59f737f73bf5faea4572340f4550b7590dfb7f7ffedb2372e3e555977c63946d579544c53210ad0 +8a935f7a955c78f69d66f18eee0092e5e833fa621781c9581058e219af4d7ceee48b84e472e159dda6199715fb2f9acf +b78d4219f95a2dbfaa7d0c8a610c57c358754f4f43c2af312ab0fe8f10a5f0177e475332fb8fd23604e474fc2abeb051 +8d086a14803392b7318c28f1039a17e3cfdcece8abcaca3657ec3d0ac330842098a85c0212f889fabb296dfb133ce9aa +a53249f417aac82f2c2a50c244ce21d3e08a5e5a8bd33bec2a5ab0d6cd17793e34a17edfa3690899244ce201e2fb9986 +8619b0264f9182867a1425be514dc4f1ababc1093138a728a28bd7e4ecc99b9faaff68c23792264bc6e4dce5f52a5c52 +8c171edbbbde551ec19e31b2091eb6956107dd9b1f853e1df23bff3c10a3469ac77a58335eee2b79112502e8e163f3de +a9d19ec40f0ca07c238e9337c6d6a319190bdba2db76fb63902f3fb459aeeb50a1ac30db5b25ee1b4201f3ca7164a7f4 +b9c6ec14b1581a03520b8d2c1fbbc31fb8ceaef2c0f1a0d0080b6b96e18442f1734bea7ef7b635d787c691de4765d469 +8cb437beb4cfa013096f40ccc169a713dc17afee6daa229a398e45fd5c0645a9ad2795c3f0cd439531a7151945d7064d +a6e8740cc509126e146775157c2eb278003e5bb6c48465c160ed27888ca803fa12eee1f6a8dd7f444f571664ed87fdc1 +b75c1fecc85b2732e96b3f23aefb491dbd0206a21d682aee0225838dc057d7ed3b576176353e8e90ae55663f79e986e4 +ad8d249b0aea9597b08358bce6c77c1fd552ef3fbc197d6a1cfe44e5e6f89b628b12a6fb04d5dcfcbacc51f46e4ae7bb +b998b2269932cbd58d04b8e898d373ac4bb1a62e8567484f4f83e224061bc0f212459f1daae95abdbc63816ae6486a55 +827988ef6c1101cddc96b98f4a30365ff08eea2471dd949d2c0a9b35c3bbfa8c07054ad1f4c88c8fbf829b20bb5a9a4f +8692e638dd60babf7d9f2f2d2ce58e0ac689e1326d88311416357298c6a2bffbfebf55d5253563e7b3fbbf5072264146 +a685d75b91aea04dbc14ab3c1b1588e6de96dae414c8e37b8388766029631b28dd860688079b12d09cd27f2c5af11adf +b57eced93eec3371c56679c259b34ac0992286be4f4ff9489d81cf9712403509932e47404ddd86f89d7c1c3b6391b28c +a1c8b4e42ebcbd8927669a97f1b72e236fb19249325659e72be7ddaaa1d9e81ca2abb643295d41a8c04a2c01f9c0efd7 +877c33de20d4ed31674a671ba3e8f01a316581e32503136a70c9c15bf0b7cb7b1cba6cd4eb641fad165fb3c3c6c235fd +a2a469d84ec478da40838f775d11ad38f6596eb41caa139cc190d6a10b5108c09febae34ffdafac92271d2e73c143693 +972f817caedb254055d52e963ed28c206848b6c4cfdb69dbc961c891f8458eaf582a6d4403ce1177d87bc2ea410ef60a +accbd739e138007422f28536381decc54bb6bd71d93edf3890e54f9ef339f83d2821697d1a4ac1f5a98175f9a9ecb9b5 +8940f8772e05389f823b62b3adc3ed541f91647f0318d7a0d3f293aeeb421013de0d0a3664ea53dd24e5fbe02d7efef6 +8ecce20f3ef6212edef07ec4d6183fda8e0e8cad2c6ccd0b325e75c425ee1faba00b5c26b4d95204238931598d78f49d +97cc72c36335bd008afbed34a3b0c7225933faba87f7916d0a6d2161e6f82e0cdcda7959573a366f638ca75d30e9dab1 +9105f5de8699b5bdb6bd3bb6cc1992d1eac23929c29837985f83b22efdda92af64d9c574aa9640475087201bbbe5fd73 +8ffb33c4f6d05c413b9647eb6933526a350ed2e4278ca2ecc06b0e8026d8dbe829c476a40e45a6df63a633090a3f82ef +8bfc6421fdc9c2d2aaa68d2a69b1a2728c25b84944cc3e6a57ff0c94bfd210d1cbf4ff3f06702d2a8257024d8be7de63 +a80e1dc1dddfb41a70220939b96dc6935e00b32fb8be5dff4eed1f1c650002ff95e4af481c43292e3827363b7ec4768a +96f714ebd54617198bd636ba7f7a7f8995a61db20962f2165078d9ed8ee764d5946ef3cbdc7ebf8435bb8d5dd4c1deac +8cdb0890e33144d66391d2ae73f5c71f5a861f72bc93bff6cc399fc25dd1f9e17d8772592b44593429718784802ac377 +8ccf9a7f80800ee770b92add734ed45a73ecc31e2af0e04364eefc6056a8223834c7c0dc9dfc52495bdec6e74ce69994 +aa0875f423bd68b5f10ba978ddb79d3b96ec093bfbac9ff366323193e339ed7c4578760fb60f60e93598bdf1e5cc4995 +a9214f523957b59c7a4cb61a40251ad72aba0b57573163b0dc0f33e41d2df483fb9a1b85a5e7c080e9376c866790f8cb +b6224b605028c6673a536cc8ff9aeb94e7a22e686fda82cf16068d326469172f511219b68b2b3affb7933af0c1f80d07 +b6d58968d8a017c6a34e24c2c09852f736515a2c50f37232ac6b43a38f8faa7572cc31dade543b594b61b5761c4781d0 +8a97cefe5120020c38deeb861d394404e6c993c6cbd5989b6c9ebffe24f46ad11b4ba6348e2991cbf3949c28cfc3c99d +95bf046f8c3a9c0ce2634be4de3713024daec3fc4083e808903b25ce3ac971145af90686b451efcc72f6b22df0216667 +a6a4e2f71b8fa28801f553231eff2794c0f10d12e7e414276995e21195abc9c2983a8997e41af41e78d19ff6fbb2680b +8e5e62a7ca9c2f58ebaab63db2ff1fb1ff0877ae94b7f5e2897f273f684ae639dff44cc65718f78a9c894787602ab26a +8542784383eec4f565fcb8b9fc2ad8d7a644267d8d7612a0f476fc8df3aff458897a38003d506d24142ad18f93554f2b +b7db68ba4616ea072b37925ec4fb39096358c2832cc6d35169e032326b2d6614479f765ae98913c267105b84afcb9bf2 +8b31dbb9457d23d416c47542c786e07a489af35c4a87dadb8ee91bea5ac4a5315e65625d78dad2cf8f9561af31b45390 +a8545a1d91ac17257732033d89e6b7111db8242e9c6ebb0213a88906d5ef407a2c6fdb444e29504b06368b6efb4f4839 +b1bd85d29ebb28ccfb05779aad8674906b267c2bf8cdb1f9a0591dd621b53a4ee9f2942687ee3476740c0b4a7621a3ae +a2b54534e152e46c50d91fff03ae9cd019ff7cd9f4168b2fe7ac08ef8c3bbc134cadd3f9d6bd33d20ae476c2a8596c8a +b19b571ff4ae3e9f5d95acda133c455e72c9ea9973cae360732859836c0341c4c29ab039224dc5bc3deb824e031675d8 +940b5f80478648bac025a30f3efeb47023ce20ee98be833948a248bca6979f206bb28fc0f17b90acf3bb4abd3d14d731 +8f106b40588586ac11629b96d57808ad2808915d89539409c97414aded90b4ff23286a692608230a52bff696055ba5d6 +ae6bda03aa10da3d2abbc66d764ca6c8d0993e7304a1bdd413eb9622f3ca1913baa6da1e9f4f9e6cf847f14f44d6924d +a18e7796054a340ef826c4d6b5a117b80927afaf2ebd547794c400204ae2caf277692e2eabb55bc2f620763c9e9da66d +8d2d25180dc2c65a4844d3e66819ccfcf48858f0cc89e1c77553b463ec0f7feb9a4002ce26bc618d1142549b9850f232 +863f413a394de42cc8166c1c75d513b91d545fff1de6b359037a742c70b008d34bf8e587afa2d62c844d0c6f0ea753e7 +83cd0cf62d63475e7fcad18a2e74108499cdbf28af2113cfe005e3b5887794422da450b1944d0a986eb7e1f4c3b18f25 +b4f8b350a6d88fea5ab2e44715a292efb12eb52df738c9b2393da3f1ddee68d0a75b476733ccf93642154bceb208f2b8 +b3f52aaa4cd4221cb9fc45936cc67fd3864bf6d26bf3dd86aa85aa55ecfc05f5e392ecce5e7cf9406b4b1c4fce0398c8 +b33137084422fb643123f40a6df2b498065e65230fc65dc31791c330e898c51c3a65ff738930f32c63d78f3c9315f85b +91452bfa75019363976bb7337fe3a73f1c10f01637428c135536b0cdc7da5ce558dae3dfc792aa55022292600814a8ef +ad6ba94c787cd4361ca642c20793ea44f1f127d4de0bb4a77c7fbfebae0fcadbf28e2cb6f0c12c12a07324ec8c19761d +890aa6248b17f1501b0f869c556be7bf2b1d31a176f9978bb97ab7a6bd4138eed32467951c5ef1871944b7f620542f43 +82111db2052194ee7dd22ff1eafffac0443cf969d3762cceae046c9a11561c0fdce9c0711f88ac01d1bed165f8a7cee3 +b1527b71df2b42b55832f72e772a466e0fa05743aacc7814f4414e4bcc8d42a4010c9e0fd940e6f254cafedff3cd6543 +922370fa49903679fc565f09c16a5917f8125e72acfeb060fcdbadbd1644eb9f4016229756019c93c6d609cda5d5d174 +aa4c7d98a96cab138d2a53d4aee8ebff6ef903e3b629a92519608d88b3bbd94de5522291a1097e6acf830270e64c8ee1 +b3dc21608a389a72d3a752883a382baaafc61ecc44083b832610a237f6a2363f24195acce529eb4aed4ef0e27a12b66e +94619f5de05e07b32291e1d7ab1d8b7337a2235e49d4fb5f3055f090a65e932e829efa95db886b32b153bdd05a53ec8c +ade1e92722c2ffa85865d2426fb3d1654a16477d3abf580cfc45ea4b92d5668afc9d09275d3b79283e13e6b39e47424d +b7201589de7bed094911dd62fcd25c459a8e327ac447b69f541cdba30233063e5ddffad0b67e9c3e34adcffedfd0e13d +809d325310f862d6549e7cb40f7e5fc9b7544bd751dd28c4f363c724a0378c0e2adcb5e42ec8f912f5f49f18f3365c07 +a79c20aa533de7a5d671c99eb9eb454803ba54dd4f2efa3c8fec1a38f8308e9905c71e9282955225f686146388506ff6 +a85eeacb5e8fc9f3ed06a3fe2dc3108ab9f8c5877b148c73cf26e4e979bf5795edbe2e63a8d452565fd1176ed40402b2 +97ef55662f8a1ec0842b22ee21391227540adf7708f491436044f3a2eb18c471525e78e1e14fa292507c99d74d7437c6 +93110d64ed5886f3d16ce83b11425576a3a7a9bb831cd0de3f9a0b0f2270a730d68136b4ef7ff035ede004358f419b5c +ac9ed0a071517f0ae4f61ce95916a90ba9a77a3f84b0ec50ef7298acdcd44d1b94525d191c39d6bd1bb68f4471428760 +98abd6a02c7690f5a339adf292b8c9368dfc12e0f8069cf26a5e0ce54b4441638f5c66ea735142f3c28e00a0024267e6 +b51efb73ba6d44146f047d69b19c0722227a7748b0e8f644d0fc9551324cf034c041a2378c56ce8b58d06038fb8a78de +8f115af274ef75c1662b588b0896b97d71f8d67986ae846792702c4742ab855952865ce236b27e2321967ce36ff93357 +b3c4548f14d58b3ab03c222da09e4381a0afe47a72d18d50a94e0008797f78e39e99990e5b4757be62310d400746e35a +a9b1883bd5f31f909b8b1b6dcb48c1c60ed20aa7374b3ffa7f5b2ed036599b5bef33289d23c80a5e6420d191723b92f7 +85d38dffd99487ae5bb41ab4a44d80a46157bbbe8ef9497e68f061721f74e4da513ccc3422936b059575975f6787c936 +adf870fcb96e972c033ab7a35d28ae79ee795f82bc49c3bd69138f0e338103118d5529c53f2d72a9c0d947bf7d312af2 +ab4c7a44e2d9446c6ff303eb49aef0e367a58b22cc3bb27b4e69b55d1d9ee639c9234148d2ee95f9ca8079b1457d5a75 +a386420b738aba2d7145eb4cba6d643d96bda3f2ca55bb11980b318d43b289d55a108f4bc23a9606fb0bccdeb3b3bb30 +847020e0a440d9c4109773ecca5d8268b44d523389993b1f5e60e541187f7c597d79ebd6e318871815e26c96b4a4dbb1 +a530aa7e5ca86fcd1bec4b072b55cc793781f38a666c2033b510a69e110eeabb54c7d8cbcb9c61fee531a6f635ffa972 +87364a5ea1d270632a44269d686b2402da737948dac27f51b7a97af80b66728b0256547a5103d2227005541ca4b7ed04 +8816fc6e16ea277de93a6d793d0eb5c15e9e93eb958c5ef30adaf8241805adeb4da8ce19c3c2167f971f61e0b361077d +8836a72d301c42510367181bb091e4be377777aed57b73c29ef2ce1d475feedd7e0f31676284d9a94f6db01cc4de81a2 +b0d9d8b7116156d9dde138d28aa05a33e61f8a85839c1e9071ccd517b46a5b4b53acb32c2edd7150c15bc1b4bd8db9e3 +ae931b6eaeda790ba7f1cd674e53dc87f6306ff44951fa0df88d506316a5da240df9794ccbd7215a6470e6b31c5ea193 +8c6d5bdf87bd7f645419d7c6444e244fe054d437ed1ba0c122fde7800603a5fadc061e5b836cb22a6cfb2b466f20f013 +90d530c6d0cb654999fa771b8d11d723f54b8a8233d1052dc1e839ea6e314fbed3697084601f3e9bbb71d2b4eaa596df +b0d341a1422588c983f767b1ed36c18b141774f67ef6a43cff8e18b73a009da10fc12120938b8bba27f225bdfd3138f9 +a131b56f9537f460d304e9a1dd75702ace8abd68cb45419695cb8dee76998139058336c87b7afd6239dc20d7f8f940cc +aa6c51fa28975f709329adee1bbd35d49c6b878041841a94465e8218338e4371f5cb6c17f44a63ac93644bf28f15d20f +88440fb584a99ebd7f9ea04aaf622f6e44e2b43bbb49fb5de548d24a238dc8f26c8da2ccf03dd43102bda9f16623f609 +9777b8695b790e702159a4a750d5e7ff865425b95fa0a3c15495af385b91c90c00a6bd01d1b77bffe8c47d01baae846f +8b9d764ece7799079e63c7f01690c8eff00896a26a0d095773dea7a35967a8c40db7a6a74692f0118bf0460c26739af4 +85808c65c485520609c9e61fa1bb67b28f4611d3608a9f7a5030ee61c3aa3c7e7dc17fff48af76b4aecee2cb0dbd22ac +ad2783a76f5b3db008ef5f7e67391fda4e7e36abde6b3b089fc4835b5c339370287935af6bd53998bed4e399eda1136d +96f18ec03ae47c205cc4242ca58e2eff185c9dca86d5158817e2e5dc2207ab84aadda78725f8dc080a231efdc093b940 +97de1ab6c6cc646ae60cf7b86df73b9cf56cc0cd1f31b966951ebf79fc153531af55ca643b20b773daa7cab784b832f7 +870ba266a9bfa86ef644b1ef025a0f1b7609a60de170fe9508de8fd53170c0b48adb37f19397ee8019b041ce29a16576 +ad990e888d279ac4e8db90619d663d5ae027f994a3992c2fbc7d262b5990ae8a243e19157f3565671d1cb0de17fe6e55 +8d9d5adcdd94c5ba3be4d9a7428133b42e485f040a28d16ee2384758e87d35528f7f9868de9bd23d1a42a594ce50a567 +85a33ed75d514ece6ad78440e42f7fcdb59b6f4cff821188236d20edae9050b3a042ce9bc7d2054296e133d033e45022 +92afd2f49a124aaba90de59be85ff269457f982b54c91b06650c1b8055f9b4b0640fd378df02a00e4fc91f7d226ab980 +8c0ee09ec64bd831e544785e3d65418fe83ed9c920d9bb4d0bf6dd162c1264eb9d6652d2def0722e223915615931581c +8369bedfa17b24e9ad48ebd9c5afea4b66b3296d5770e09b00446c5b0a8a373d39d300780c01dcc1c6752792bccf5fd0 +8b9e960782576a59b2eb2250d346030daa50bbbec114e95cdb9e4b1ba18c3d34525ae388f859708131984976ca439d94 +b682bface862008fea2b5a07812ca6a28a58fd151a1d54c708fc2f8572916e0d678a9cb8dc1c10c0470025c8a605249e +a38d5e189bea540a824b36815fc41e3750760a52be0862c4cac68214febdc1a754fb194a7415a8fb7f96f6836196d82a +b9e7fbda650f18c7eb8b40e42cc42273a7298e65e8be524292369581861075c55299ce69309710e5b843cb884de171bd +b6657e5e31b3193874a1bace08f42faccbd3c502fb73ad87d15d18a1b6c2a146f1baa929e6f517db390a5a47b66c0acf +ae15487312f84ed6265e4c28327d24a8a0f4d2d17d4a5b7c29b974139cf93223435aaebe3af918f5b4bb20911799715f +8bb4608beb06bc394e1a70739b872ce5a2a3ffc98c7547bf2698c893ca399d6c13686f6663f483894bccaabc3b9c56ad +b58ac36bc6847077584308d952c5f3663e3001af5ecf2e19cb162e1c58bd6c49510205d453cffc876ca1dc6b8e04a578 +924f65ced61266a79a671ffb49b300f0ea44c50a0b4e3b02064faa99fcc3e4f6061ea8f38168ab118c5d47bd7804590e +8d67d43b8a06b0ff4fafd7f0483fa9ed1a9e3e658a03fb49d9d9b74e2e24858dc1bed065c12392037b467f255d4e5643 +b4d4f87813125a6b355e4519a81657fa97c43a6115817b819a6caf4823f1d6a1169683fd68f8d025cdfa40ebf3069acb +a7fd4d2c8e7b59b8eed3d4332ae94b77a89a2616347402f880bc81bde072220131e6dbec8a605be3a1c760b775375879 +8d4a7d8fa6f55a30df37bcf74952e2fa4fd6676a2e4606185cf154bdd84643fd01619f8fb8813a564f72e3f574f8ce30 +8086fb88e6260e9a9c42e9560fde76315ff5e5680ec7140f2a18438f15bc2cc7d7d43bfb5880b180b738c20a834e6134 +916c4c54721de03934fee6f43de50bb04c81f6f8dd4f6781e159e71c40c60408aa54251d457369d133d4ba3ed7c12cb4 +902e5bf468f11ed9954e2a4a595c27e34abe512f1d6dc08bbca1c2441063f9af3dc5a8075ab910a10ff6c05c1c644a35 +a1302953015e164bf4c15f7d4d35e3633425a78294406b861675667eec77765ff88472306531e5d3a4ec0a2ff0dd6a9e +87874461df3c9aa6c0fa91325576c0590f367075f2f0ecfeb34afe162c04c14f8ce9d608c37ac1adc8b9985bc036e366 +84b50a8a61d3cc609bfb0417348133e698fe09a6d37357ce3358de189efcf35773d78c57635c2d26c3542b13cc371752 +acaed2cff8633d12c1d12bb7270c54d65b0b0733ab084fd47f81d0a6e1e9b6f300e615e79538239e6160c566d8bb8d29 +889e6a0e136372ca4bac90d1ab220d4e1cad425a710e8cdd48b400b73bb8137291ceb36a39440fa84305783b1d42c72f +90952e5becec45b2b73719c228429a2c364991cf1d5a9d6845ae5b38018c2626f4308daa322cab1c72e0f6c621bb2b35 +8f5a97a801b6e9dcd66ccb80d337562c96f7914e7169e8ff0fda71534054c64bf2a9493bb830623d612cfe998789be65 +84f3df8b9847dcf1d63ca470dc623154898f83c25a6983e9b78c6d2d90a97bf5e622445be835f32c1e55e6a0a562ea78 +91d12095cd7a88e7f57f254f02fdb1a1ab18984871dead2f107404bcf8069fe68258c4e6f6ebd2477bddf738135400bb +b771a28bc04baef68604d4723791d3712f82b5e4fe316d7adc2fc01b935d8e644c06d59b83bcb542afc40ebafbee0683 +872f6341476e387604a7e93ae6d6117e72d164e38ebc2b825bc6df4fcce815004d7516423c190c1575946b5de438c08d +90d6b4aa7d40a020cdcd04e8b016d041795961a8e532a0e1f4041252131089114a251791bf57794cadb7d636342f5d1c +899023ba6096a181448d927fed7a0fe858be4eac4082a42e30b3050ee065278d72fa9b9d5ce3bc1372d4cbd30a2f2976 +a28f176571e1a9124f95973f414d5bdbf5794d41c3839d8b917100902ac4e2171eb940431236cec93928a60a77ede793 +838dbe5bcd29c4e465d02350270fa0036cd46f8730b13d91e77afb7f5ed16525d0021d3b2ae173a76c378516a903e0cb +8e105d012dd3f5d20f0f1c4a7e7f09f0fdd74ce554c3032e48da8cce0a77260d7d47a454851387770f5c256fa29bcb88 +8f4df0f9feeb7a487e1d138d13ea961459a6402fd8f8cabb226a92249a0d04ded5971f3242b9f90d08da5ff66da28af6 +ad1cfda4f2122a20935aa32fb17c536a3653a18617a65c6836700b5537122af5a8206befe9eaea781c1244c43778e7f1 +832c6f01d6571964ea383292efc8c8fa11e61c0634a25fa180737cc7ab57bc77f25e614aac9a2a03d98f27b3c1c29de2 +903f89cc13ec6685ac7728521898781fecb300e9094ef913d530bf875c18bcc3ceed7ed51e7b482d45619ab4b025c2e9 +a03c474bb915aad94f171e8d96f46abb2a19c9470601f4c915512ec8b9e743c3938450a2a5b077b4618b9df8809e1dc1 +83536c8456f306045a5f38ae4be2e350878fa7e164ea408d467f8c3bc4c2ee396bd5868008c089183868e4dfad7aa50b +88f26b4ea1b236cb326cd7ad7e2517ec8c4919598691474fe15d09cabcfc37a8d8b1b818f4d112432ee3a716b0f37871 +a44324e3fe96e9c12b40ded4f0f3397c8c7ee8ff5e96441118d8a6bfad712d3ac990b2a6a23231a8f691491ac1fd480f +b0de4693b4b9f932191a21ee88629964878680152a82996c0019ffc39f8d9369bbe2fe5844b68d6d9589ace54af947e4 +8e5d8ba948aea5fd26035351a960e87f0d23efddd8e13236cc8e4545a3dda2e9a85e6521efb8577e03772d3637d213d9 +93efc82d2017e9c57834a1246463e64774e56183bb247c8fc9dd98c56817e878d97b05f5c8d900acf1fbbbca6f146556 +8731176363ad7658a2862426ee47a5dce9434216cef60e6045fa57c40bb3ce1e78dac4510ae40f1f31db5967022ced32 +b10c9a96745722c85bdb1a693100104d560433d45b9ac4add54c7646a7310d8e9b3ca9abd1039d473ae768a18e489845 +a2ac374dfbb464bf850b4a2caf15b112634a6428e8395f9c9243baefd2452b4b4c61b0cb2836d8eae2d57d4900bf407e +b69fe3ded0c4f5d44a09a0e0f398221b6d1bf5dbb8bc4e338b93c64f1a3cac1e4b5f73c2b8117158030ec03787f4b452 +8852cdbaf7d0447a8c6f211b4830711b3b5c105c0f316e3a6a18dcfbb9be08bd6f4e5c8ae0c3692da08a2dfa532f9d5c +93bbf6d7432a7d98ade3f94b57bf9f4da9bc221a180a370b113066dd42601bb9e09edd79e2e6e04e00423399339eebda +a80941c391f1eeafc1451c59e4775d6a383946ff22997aeaadf806542ba451d3b0f0c6864eeba954174a296efe2c1550 +a045fe2bb011c2a2f71a0181a8f457a3078470fb74c628eab8b59aef69ffd0d649723bf74d6885af3f028bc5a104fb39 +b9d8c35911009c4c8cad64692139bf3fc16b78f5a19980790cb6a7aea650a25df4231a4437ae0c351676a7e42c16134f +94c79501ded0cfcbab99e1841abe4a00a0252b3870e20774c3da16c982d74c501916ec28304e71194845be6e3113c7ab +900a66418b082a24c6348d8644ddb1817df5b25cb33044a519ef47cc8e1f7f1e38d2465b7b96d32ed472d2d17f8414c6 +b26f45d393b8b2fcb29bdbb16323dc7f4b81c09618519ab3a39f8ee5bd148d0d9f3c0b5dfab55b5ce14a1cb9206d777b +aa1a87735fc493a80a96a9a57ca40a6d9c32702bfcaa9869ce1a116ae65d69cefe2f3e79a12454b4590353e96f8912b4 +a922b188d3d0b69b4e4ea2a2aa076566962844637da12c0832105d7b31dea4a309eee15d12b7a336be3ea36fcbd3e3b7 +8f3841fcf4105131d8c4d9885e6e11a46c448226401cf99356c291fadb864da9fa9d30f3a73c327f23f9fd99a11d633e +9791d1183fae270e226379af6c497e7da803ea854bb20afa74b253239b744c15f670ee808f708ede873e78d79a626c9a +a4cad52e3369491ada61bf28ada9e85de4516d21c882e5f1cd845bea9c06e0b2887b0c5527fcff6fc28acd3c04f0a796 +b9ac86a900899603452bd11a7892a9bfed8054970bfcbeaa8c9d1930db891169e38d6977f5258c25734f96c8462eee3b +a3a154c28e5580656a859f4efc2f5ebfa7eaa84ca40e3f134fa7865e8581586db74992dbfa4036aa252fba103773ddde +95cc2a0c1885a029e094f5d737e3ecf4d26b99036453a8773c77e360101f9f98676ee246f6f732a377a996702d55691f +842651bbe99720438d8d4b0218feb60481280c05beb17750e9ca0d8c0599a60f873b7fbdcc7d8835ba9a6d57b16eec03 +81ee54699da98f5620307893dcea8f64670609fa20e5622265d66283adeac122d458b3308c5898e6c57c298db2c8b24f +b97868b0b2bc98032d68352a535a1b341b9ff3c7af4e3a7f3ebc82d3419daa1b5859d6aedc39994939623c7cd878bd9b +b60325cd5d36461d07ef253d826f37f9ee6474a760f2fff80f9873d01fd2b57711543cdc8d7afa1c350aa753c2e33dea +8c205326c11d25a46717b780c639d89714c7736c974ae71287e3f4b02e6605ac2d9b4928967b1684f12be040b7bf2dd3 +95a392d82db51e26ade6c2ccd3396d7e40aff68fa570b5951466580d6e56dda51775dce5cf3a74a7f28c3cb2eb551c4d +8f2cc8071eb56dffb70bda6dd433b556221dc8bba21c53353c865f00e7d4d86c9e39f119ea9a8a12ef583e9a55d9a6b6 +9449a71af9672aaf8856896d7e3d788b22991a7103f75b08c0abbcc2bfe60fda4ed8ce502cea4511ff0ea52a93e81222 +857090ab9fdb7d59632d068f3cc8cf27e61f0d8322d30e6b38e780a1f05227199b4cd746aac1311c36c659ef20931f28 +98a891f4973e7d9aaf9ac70854608d4f7493dffc7e0987d7be9dd6029f6ea5636d24ef3a83205615ca1ff403750058e1 +a486e1365bbc278dd66a2a25d258dc82f46b911103cb16aab3945b9c95ae87b386313a12b566df5b22322ede0afe25ad +a9a1eb399ed95d396dccd8d1ac718043446f8b979ec62bdce51c617c97a312f01376ab7fb87d27034e5f5570797b3c33 +b7abc3858d7a74bb446218d2f5a037e0fae11871ed9caf44b29b69c500c1fa1dcfad64c9cdccc9d80d5e584f06213deb +8cfb09fe2e202faa4cebad932b1d35f5ca204e1c2a0c740a57812ac9a6792130d1312aabd9e9d4c58ca168bfebd4c177 +a90a305c2cd0f184787c6be596fa67f436afd1f9b93f30e875f817ac2aae8bdd2e6e656f6be809467e6b3ad84adb86b1 +80a9ef993c2b009ae172cc8f7ec036f5734cf4f4dfa06a7db4d54725e7fbfae5e3bc6f22687bdbb6961939d6f0c87537 +848ade1901931e72b955d7db1893f07003e1708ff5d93174bac5930b9a732640f0578839203e9b77eb27965c700032d3 +93fdf4697609c5ae9c33b9ca2f5f1af44abeb2b98dc4fdf732cf7388de086f410730dc384d9b7a7f447bb009653c8381 +89ce3fb805aea618b5715c0d22a9f46da696b6fa86794f56fdf1d44155a33d42daf1920bcbe36cbacf3cf4c92df9cbc7 +829ce2c342cf82aa469c65f724f308f7a750bd1494adc264609cd790c8718b8b25b5cab5858cf4ee2f8f651d569eea67 +af2f0cee7bf413204be8b9df59b9e4991bc9009e0d6dbe6815181df0ec2ca93ab8f4f3135b1c14d8f53d74bff0bd6f27 +b87998cecf7b88cde93d1779f10a521edd5574a2fbd240102978639ec57433ba08cdb53849038a329cebbe74657268d2 +a64542a1261a6ed3d720c2c3a802303aad8c4c110c95d0f12e05c1065e66f42da494792b6bfc5b9272363f3b1d457f58 +86a6fd042e4f282fadf07a4bfee03fc96a3aea49f7a00f52bf249a20f1ec892326855410e61f37fbb27d9305eb2fc713 +967ea5bc403b6db269682f7fd0df90659350d7e1aa66bc4fab4c9dfcd75ed0bba4b52f1cebc5f34dc8ba810793727629 +a52990f9f3b8616ce3cdc2c74cd195029e6a969753dcf2d1630438700e7d6ebde36538532b3525ac516f5f2ce9dd27a3 +a64f7ff870bab4a8bf0d4ef6f5c744e9bf1021ed08b4c80903c7ad318e80ba1817c3180cc45cb5a1cae1170f0241655f +b00f706fa4de1f663f021e8ad3d155e84ce6084a409374b6e6cd0f924a0a0b51bebaaaf1d228c77233a73b0a5a0df0e9 +8b882cc3bff3e42babdb96df95fb780faded84887a0a9bab896bef371cdcf169d909f5658649e93006aa3c6e1146d62e +9332663ef1d1dcf805c3d0e4ce7a07d9863fb1731172e766b3cde030bf81682cc011e26b773fb9c68e0477b4ae2cfb79 +a8aa8151348dbd4ef40aaeb699b71b4c4bfd3218560c120d85036d14f678f6736f0ec68e80ce1459d3d35feccc575164 +a16cd8b729768f51881c213434aa28301fa78fcb554ddd5f9012ee1e4eae7b5cb3dd88d269d53146dea92d10790faf0b +86844f0ef9d37142faf3b1e196e44fbe280a3ba4189aa05c356778cb9e3b388a2bff95eed305ada8769935c9974e4c57 +ae2eec6b328fccf3b47bcdac32901ac2744a51beb410b04c81dea34dee4912b619466a4f5e2780d87ecefaebbe77b46d +915df4c38d301c8a4eb2dc5b1ba0ffaad67cbb177e0a80095614e9c711f4ef24a4cef133f9d982a63d2a943ba6c8669d +ae6a2a4dedfc2d1811711a8946991fede972fdf2a389b282471280737536ffc0ac3a6d885b1f8bda0366eb0b229b9979 +a9b628c63d08b8aba6b1317f6e91c34b2382a6c85376e8ef2410a463c6796740ae936fc4e9e0737cb9455d1daa287bd8 +848e30bf7edf2546670b390d5cf9ab71f98fcb6add3c0b582cb34996c26a446dee5d1bde4fdcde4fc80c10936e117b29 +907d6096c7c8c087d1808dd995d5d2b9169b3768c3f433475b50c2e2bd4b082f4d543afd8b0b0ddffa9c66222a72d51d +a59970a2493b07339124d763ac9d793c60a03354539ecbcf6035bc43d1ea6e35718202ae6d7060b7d388f483d971573c +b9cfef2af9681b2318f119d8611ff6d9485a68d8044581b1959ab1840cbca576dbb53eec17863d2149966e9feb21122f +ad47271806161f61d3afa45cdfe2babceef5e90031a21779f83dc8562e6076680525b4970b2f11fe9b2b23c382768323 +8e425a99b71677b04fe044625d338811fbb8ee32368a424f6ab2381c52e86ee7a6cecedf777dc97181519d41c351bc22 +86b55b54d7adefc12954a9252ee23ae83efe8b5b4b9a7dc307904413e5d69868c7087a818b2833f9b004213d629be8ad +a14fda6b93923dd11e564ae4457a66f397741527166e0b16a8eb91c6701c244fd1c4b63f9dd3515193ec88fa6c266b35 +a9b17c36ae6cd85a0ed7f6cabc5b47dc8f80ced605db327c47826476dc1fb8f8669aa7a7dc679fbd4ee3d8e8b4bd6a6f +82a0829469c1458d959c821148f15dacae9ea94bf56c59a6ab2d4dd8b3d16d73e313b5a3912a6c1f131d73a8f06730c4 +b22d56d549a53eaef549595924bdb621ff807aa4513feedf3fdcbf7ba8b6b9cfa4481c2f67fc642db397a6b794a8b63a +974c59c24392e2cb9294006cbe3c52163e255f3bd0c2b457bdc68a6338e6d5b6f87f716854492f8d880a6b896ccf757c +b70d247ba7cad97c50b57f526c2ba915786e926a94e8f8c3eebc2e1be6f4255411b9670e382060049c8f4184302c40b2 +ad80201fe75ef21c3ddbd98cf23591e0d7a3ba1036dfe77785c32f44755a212c31f0ceb0a0b6f5ee9b6dc81f358d30c3 +8c656e841f9bb90b9a42d425251f3fdbc022a604d75f5845f479ed4be23e02aaf9e6e56cde351dd7449c50574818a199 +8b88dd3fa209d3063b7c5b058f7249ee9900fbc2287d16da61a0704a0a1d71e45d9c96e1cda7fdf9654534ec44558b22 +961da00cc8750bd84d253c08f011970ae1b1158ad6778e8ed943d547bceaf52d6d5a212a7de3bf2706688c4389b827d2 +a5dd379922549a956033e3d51a986a4b1508e575042b8eaa1df007aa77cf0b8c2ab23212f9c075702788fa9c53696133 +ac8fcfde3a349d1e93fc8cf450814e842005c545c4844c0401bc80e6b96cdb77f29285a14455e167c191d4f312e866cd +ac63d79c799783a8466617030c59dd5a8f92ee6c5204676fd8d881ce5f7f8663bdbeb0379e480ea9b6340ab0dc88e574 +805874fde19ce359041ae2bd52a39e2841acabfd31f965792f2737d7137f36d4e4722ede8340d8c95afa6af278af8acb +8d2f323a228aa8ba7b7dc1399138f9e6b41df1a16a7069003ab8104b8b68506a45141bc5fe66acf430e23e13a545190b +a1610c721a2d9af882bb6b39bea97cff1527a3aea041d25934de080214ae77c959e79957164440686d15ab301e897d4d +aba16d29a47fc36f12b654fde513896723e2c700c4190f11b26aa4011da57737ad717daa02794aa3246e4ae5f0b0cc3a +a406db2f15fdd135f346cc4846623c47edd195e80ba8c7cb447332095314d565e4040694ca924696bb5ee7f8996ea0ba +8b30e2cd9b47d75ba57b83630e40f832249af6c058d4f490416562af451993eec46f3e1f90bc4d389e4c06abd1b32a46 +aacf9eb7036e248e209adbfc3dd7ce386569ea9b312caa4b240726549db3c68c4f1c8cbf8ed5ea9ea60c7e57c9df3b8e +b20fcac63bf6f5ee638a42d7f89be847f348c085ddcbec3fa318f4323592d136c230495f188ef2022aa355cc2b0da6f9 +811eff750456a79ec1b1249d76d7c1547065b839d8d4aaad860f6d4528eb5b669473dcceeeea676cddbc3980b68461b7 +b52d14ae33f4ab422f953392ae76a19c618cc31afc96290bd3fe2fb44c954b5c92c4789f3f16e8793f2c0c1691ade444 +a7826dafeeba0db5b66c4dfcf2b17fd7b40507a5a53ac2e42942633a2cb30b95ba1739a6e9f3b7a0e0f1ec729bf274e2 +8acfd83ddf7c60dd7c8b20c706a3b972c65d336b8f9b3d907bdd8926ced271430479448100050b1ef17578a49c8fa616 +af0c69f65184bb06868029ad46f8465d75c36814c621ac20a5c0b06a900d59305584f5a6709683d9c0e4b6cd08d650a6 +b6cc8588191e00680ee6c3339bd0f0a17ad8fd7f4be57d5d7075bede0ea593a19e67f3d7c1a20114894ee5bfcab71063 +a82fd4f58635129dbb6cc3eb9391cf2d28400018b105fc41500fbbd12bd890b918f97d3d359c29dd3b4c4e34391dfab0 +92fc544ed65b4a3625cf03c41ddff7c039bc22d22c0d59dcc00efd5438401f2606adb125a1d5de294cca216ec8ac35a3 +906f67e4a32582b71f15940523c0c7ce370336935e2646bdaea16a06995256d25e99df57297e39d6c39535e180456407 +97510337ea5bbd5977287339197db55c60533b2ec35c94d0a460a416ae9f60e85cee39be82abeeacd5813cf54df05862 +87e6894643815c0ea48cb96c607266c5ee4f1f82ba5fe352fb77f9b6ed14bfc2b8e09e80a99ac9047dfcf62b2ae26795 +b6fd55dd156622ad7d5d51b7dde75e47bd052d4e542dd6449e72411f68275775c846dde301e84613312be8c7bce58b07 +b98461ac71f554b2f03a94e429b255af89eec917e208a8e60edf5fc43b65f1d17a20de3f31d2ce9f0cb573c25f2f4d98 +96f0dea40ca61cefbee41c4e1fe9a7d81fbe1f49bb153d083ab70f5d0488a1f717fd28cedcf6aa18d07cce2c62801898 +8d7c3ab310184f7dc34b6ce4684e4d29a31e77b09940448ea4daac730b7eb308063125d4dd229046cf11bfd521b771e0 +96f0564898fe96687918bbf0a6adead99cf72e3a35ea3347e124af9d006221f8e82e5a9d2fe80094d5e8d48e610f415e +ad50fcb92c2675a398cf07d4c40a579e44bf8d35f27cc330b57e54d5ea59f7d898af0f75dccfe3726e5471133d70f92b +828beed62020361689ae7481dd8f116902b522fb0c6c122678e7f949fdef70ead011e0e6bffd25678e388744e17cdb69 +8349decac1ca16599eee2efc95bcaabf67631107da1d34a2f917884bd70dfec9b4b08ab7bc4379d6c73b19c0b6e54fb8 +b2a6a2e50230c05613ace9e58bb2e98d94127f196f02d9dddc53c43fc68c184549ca12d713cb1b025d8260a41e947155 +94ff52181aadae832aed52fc3b7794536e2a31a21fc8be3ea312ca5c695750d37f08002f286b33f4023dba1e3253ecfa +a21d56153c7e5972ee9a319501be4faff199fdf09bb821ea9ce64aa815289676c00f105e6f00311b3a5b627091b0d0fc +a27a60d219f1f0c971db73a7f563b371b5c9fc3ed1f72883b2eac8a0df6698400c9954f4ca17d7e94e44bd4f95532afb +a2fc56fae99b1f18ba5e4fe838402164ce82f8a7f3193d0bbd360c2bac07c46f9330c4c7681ffb47074c6f81ee6e7ac6 +b748e530cd3afb96d879b83e89c9f1a444f54e55372ab1dcd46a0872f95ce8f49cf2363fc61be82259e04f555937ed16 +8bf8993e81080c7cbba1e14a798504af1e4950b2f186ab3335b771d6acaee4ffe92131ae9c53d74379d957cb6344d9cd +96774d0ef730d22d7ab6d9fb7f90b9ead44285219d076584a901960542756700a2a1603cdf72be4708b267200f6c36a9 +b47703c2ab17be1e823cc7bf3460db1d6760c0e33862c90ca058845b2ff234b0f9834ddba2efb2ee1770eb261e7d8ffd +84319e67c37a9581f8b09b5e4d4ae88d0a7fb4cbb6908971ab5be28070c3830f040b1de83ee663c573e0f2f6198640e4 +96811875fa83133e0b3c0e0290f9e0e28bca6178b77fdf5350eb19344d453dbd0d71e55a0ef749025a5a2ca0ad251e81 +81a423423e9438343879f2bfd7ee9f1c74ebebe7ce3cfffc8a11da6f040cc4145c3b527bd3cf63f9137e714dbcb474ef +b8c3535701ddbeec2db08e17a4fa99ba6752d32ece5331a0b8743676f421fcb14798afc7c783815484f14693d2f70db8 +81aee980c876949bf40782835eec8817d535f6f3f7e00bf402ddd61101fdcd60173961ae90a1cf7c5d060339a18c959d +87e67b928d97b62c49dac321ce6cb680233f3a394d4c9a899ac2e8db8ccd8e00418e66cdfd68691aa3cb8559723b580c +8eac204208d99a2b738648df96353bbb1b1065e33ee4f6bba174b540bbbd37d205855e1f1e69a6b7ff043ca377651126 +848e6e7a54ad64d18009300b93ea6f459ce855971dddb419b101f5ac4c159215626fadc20cc3b9ab1701d8f6dfaddd8b +88aa123d9e0cf309d46dddb6acf634b1ade3b090a2826d6e5e78669fa1220d6df9a6697d7778cd9b627db17eea846126 +9200c2a629b9144d88a61151b661b6c4256cc5dadfd1e59a8ce17a013c2d8f7e754aabe61663c3b30f1bc47784c1f8cf +b6e1a2827c3bdda91715b0e1b1f10dd363cef337e7c80cac1f34165fc0dea7c8b69747e310563db5818390146ce3e231 +92c333e694f89f0d306d54105b2a5dcc912dbe7654d9e733edab12e8537350815be472b063e56cfde5286df8922fdecb +a6fac04b6d86091158ebb286586ccfec2a95c9786e14d91a9c743f5f05546073e5e3cc717635a0c602cad8334e922346 +a581b4af77feebc1fb897d49b5b507c6ad513d8f09b273328efbb24ef0d91eb740d01b4d398f2738125dacfe550330cd +81c4860cccf76a34f8a2bc3f464b7bfd3e909e975cce0d28979f457738a56e60a4af8e68a3992cf273b5946e8d7f76e2 +8d1eaa09a3180d8af1cbaee673db5223363cc7229a69565f592fa38ba0f9d582cedf91e15dabd06ebbf2862fc0feba54 +9832f49b0147f4552402e54593cfa51f99540bffada12759b71fcb86734be8e500eea2d8b3d036710bdf04c901432de9 +8bdb0e8ec93b11e5718e8c13cb4f5de545d24829fd76161216340108098dfe5148ed25e3b57a89a516f09fa79043734d +ab96f06c4b9b0b2c0571740b24fca758e6976315053a7ecb20119150a9fa416db2d3a2e0f8168b390bb063f0c1caf785 +ab777f5c52acd62ecf4d1f168b9cc8e1a9b45d4ec6a8ff52c583e867c2239aba98d7d3af977289b367edce03d9c2dfb1 +a09d3ce5e748da84802436951acc3d3ea5d8ec1d6933505ed724d6b4b0d69973ab0930daec9c6606960f6e541e4a3ce2 +8ef94f7be4d85d5ad3d779a5cf4d7b2fc3e65c52fb8e1c3c112509a4af77a0b5be994f251e5e40fabeeb1f7d5615c22b +a7406a5bf5708d9e10922d3c5c45c03ef891b8d0d74ec9f28328a72be4cdc05b4f2703fa99366426659dfca25d007535 +b7f52709669bf92a2e070bfe740f422f0b7127392c5589c7f0af71bb5a8428697c762d3c0d74532899da24ea7d8695c2 +b9dfb0c8df84104dbf9239ccefa4672ef95ddabb8801b74997935d1b81a78a6a5669a3c553767ec19a1281f6e570f4ff +ae4d5c872156061ce9195ac640190d8d71dd406055ee43ffa6f9893eb24b870075b74c94d65bc1d5a07a6573282b5520 +afe6bd3eb72266d333f1807164900dcfa02a7eb5b1744bb3c86b34b3ee91e3f05e38fa52a50dc64eeb4bdb1dd62874b8 +948043cf1bc2ef3c01105f6a78dc06487f57548a3e6ef30e6ebc51c94b71e4bf3ff6d0058c72b6f3ecc37efd7c7fa8c0 +a22fd17c2f7ffe552bb0f23fa135584e8d2d8d75e3f742d94d04aded2a79e22a00dfe7acbb57d44e1cdb962fb22ae170 +8cd0f4e9e4fb4a37c02c1bde0f69359c43ab012eb662d346487be0c3758293f1ca560122b059b091fddce626383c3a8f +90499e45f5b9c81426f3d735a52a564cafbed72711d9279fdd88de8038e953bc48c57b58cba85c3b2e4ce56f1ddb0e11 +8c30e4c034c02958384564cac4f85022ef36ab5697a3d2feaf6bf105049675bbf23d01b4b6814711d3d9271abff04cac +81f7999e7eeea30f3e1075e6780bbf054f2fb6f27628a2afa4d41872a385b4216dd5f549da7ce6cf39049b2251f27fb7 +b36a7191f82fc39c283ffe53fc1f5a9a00b4c64eee7792a8443475da9a4d226cf257f226ea9d66e329af15d8f04984ec +aad4da528fdbb4db504f3041c747455baff5fcd459a2efd78f15bdf3aea0bdb808343e49df88fe7a7c8620009b7964a3 +99ebd8c6dd5dd299517fb6381cfc2a7f443e6e04a351440260dd7c2aee3f1d8ef06eb6c18820b394366ecdfd2a3ce264 +8873725b81871db72e4ec3643084b1cdce3cbf80b40b834b092767728605825c19b6847ad3dcf328438607e8f88b4410 +b008ee2f895daa6abd35bd39b6f7901ae4611a11a3271194e19da1cdcc7f1e1ea008fe5c5440e50d2c273784541ad9c5 +9036feafb4218d1f576ef89d0e99124e45dacaa6d816988e34d80f454d10e96809791d5b78f7fd65f569e90d4d7238c5 +92073c1d11b168e4fa50988b0288638b4868e48bbc668c5a6dddf5499875d53be23a285acb5e4bad60114f6cf6c556e9 +88c87dfcb8ba6cbfe7e1be081ccfadbd589301db2cb7c99f9ee5d7db90aa297ed1538d5a867678a763f2deede5fd219a +b42a562805c661a50f5dea63108002c0f27c0da113da6a9864c9feb5552225417c0356c4209e8e012d9bcc9d182c7611 +8e6317d00a504e3b79cd47feb4c60f9df186467fe9ca0f35b55c0364db30528f5ff071109dabb2fc80bb9cd4949f0c24 +b7b1ea6a88694f8d2f539e52a47466695e39e43a5eb9c6f23bca15305fe52939d8755cc3ac9d6725e60f82f994a3772f +a3cd55161befe795af93a38d33290fb642b8d80da8b786c6e6fb02d393ea308fbe87f486994039cbd7c7b390414594b6 +b416d2d45b44ead3b1424e92c73c2cf510801897b05d1724ff31cbd741920cd858282fb5d6040fe1f0aa97a65bc49424 +950ee01291754feace97c2e933e4681e7ddfbc4fcd079eb6ff830b0e481d929c93d0c7fb479c9939c28ca1945c40da09 +869bd916aee8d86efe362a49010382674825d49195b413b4b4018e88ce43fe091b475d0b863ff0ba2259400f280c2b23 +9782f38cd9c9d3385ec286ebbc7cba5b718d2e65a5890b0a5906b10a89dc8ed80d417d71d7c213bf52f2af1a1f513ea7 +91cd33bc2628d096269b23faf47ee15e14cb7fdc6a8e3a98b55e1031ea0b68d10ba30d97e660f7e967d24436d40fad73 +8becc978129cc96737034c577ae7225372dd855da8811ae4e46328e020c803833b5bdbc4a20a93270e2b8bd1a2feae52 +a36b1d8076783a9522476ce17f799d78008967728ce920531fdaf88303321bcaf97ecaa08e0c01f77bc32e53c5f09525 +b4720e744943f70467983aa34499e76de6d59aa6fadf86f6b787fdce32a2f5b535b55db38fe2da95825c51002cfe142d +91ad21fc502eda3945f6de874d1b6bf9a9a7711f4d61354f9e5634fc73f9c06ada848de15ab0a75811d3250be862827d +84f78e2ebf5fc077d78635f981712daf17e2475e14c2a96d187913006ad69e234746184a51a06ef510c9455b38acb0d7 +960aa7906e9a2f11db64a26b5892ac45f20d2ccb5480f4888d89973beb6fa0dfdc06d68d241ff5ffc7f1b82b1aac242d +a99365dcd1a00c66c9db6924b97c920f5c723380e823b250db85c07631b320ec4e92e586f7319e67a522a0578f7b6d6c +a25d92d7f70cf6a88ff317cfec071e13774516da664f5fac0d4ecaa65b8bf4eb87a64a4d5ef2bd97dfae98d388dbf5cc +a7af47cd0041295798f9779020a44653007444e8b4ef0712982b06d0dcdd434ec4e1f7c5f7a049326602cb605c9105b7 +aefe172eac5568369a05980931cc476bebd9dea573ba276d59b9d8c4420784299df5a910033b7e324a6c2dfc62e3ef05 +b69bc9d22ffa645baa55e3e02522e9892bb2daa7fff7c15846f13517d0799766883ee09ae0869df4139150c5b843ca8a +95a10856140e493354fdd12722c7fdded21b6a2ffbc78aa2697104af8ad0c8e2206f44b0bfee077ef3949d46bbf7c16b +891f2fcd2c47cbea36b7fa715968540c233313f05333f09d29aba23c193f462ed490dd4d00969656e89c53155fdfe710 +a6c33e18115e64e385c843dde34e8a228222795c7ca90bc2cc085705d609025f3351d9be61822c69035a49fb3e48f2d5 +b87fb12f12c0533b005adad0487f03393ff682e13575e3cb57280c3873b2c38ba96a63c49eef7a442753d26b7005230b +b905c02ba451bfd411c135036d92c27af3b0b1c9c2f1309d6948544a264b125f39dd41afeff4666b12146c545adc168a +8b29c513f43a78951cf742231cf5457a6d9d55edf45df5481a0f299a418d94effef561b15d2c1a01d1b8067e7153fda9 +b9941cccd51dc645920d2781c81a317e5a33cb7cf76427b60396735912cb6d2ca9292bb4d36b6392467d390d2c58d9f3 +a8546b627c76b6ef5c93c6a98538d8593dbe21cb7673fd383d5401b0c935eea0bdeeefeb1af6ad41bad8464fb87bbc48 +aa286b27de2812de63108a1aec29d171775b69538dc6198640ac1e96767c2b83a50391f49259195957d457b493b667c9 +a932fb229f641e9abbd8eb2bd874015d97b6658ab6d29769fc23b7db9e41dd4f850382d4c1f08af8f156c5937d524473 +a1412840fcc86e2aeec175526f2fb36e8b3b8d21a78412b7266daf81e51b3f68584ed8bd42a66a43afdd8c297b320520 +89c78be9efb624c97ebca4fe04c7704fa52311d183ffd87737f76b7dadc187c12c982bd8e9ed7cd8beb48cdaafd2fd01 +a3f5ddec412a5bec0ce15e3bcb41c6214c2b05d4e9135a0d33c8e50a78eaba71e0a5a6ea8b45854dec5c2ed300971fc2 +9721f9cec7a68b7758e3887548790de49fa6a442d0396739efa20c2f50352a7f91d300867556d11a703866def2d5f7b5 +a23764e140a87e5991573521af039630dd28128bf56eed2edbed130fd4278e090b60cf5a1dca9de2910603d44b9f6d45 +a1a6494a994215e48ab55c70efa8ffdddce6e92403c38ae7e8dd2f8288cad460c6c7db526bbdf578e96ca04d9fe12797 +b1705ea4cb7e074efe0405fc7b8ee2ec789af0426142f3ec81241cacd4f7edcd88e39435e4e4d8e7b1df64f3880d6613 +85595d061d677116089a6064418b93eb44ff79e68d12bd9625078d3bbc440a60d0b02944eff6054433ee34710ae6fbb4 +9978d5e30bedb7526734f9a1febd973a70bfa20890490e7cc6f2f9328feab1e24f991285dbc3711d892514e2d7d005ad +af30243c66ea43b9f87a061f947f7bce745f09194f6e95f379c7582b9fead920e5d6957eaf05c12ae1282ada4670652f +a1930efb473f88001e47aa0b2b2a7566848cccf295792e4544096ecd14ee5d7927c173a8576b405bfa2eec551cd67eb5 +b0446d1c590ee5a45f7e22d269c044f3848c97aec1d226b44bfd0e94d9729c28a38bccddc3a1006cc5fe4e3c24f001f2 +b8a8380172df3d84b06176df916cf557966d4f2f716d3e9437e415d75b646810f79f2b2b71d857181b7fc944018883a3 +a563afec25b7817bfa26e19dc9908bc00aa8fc3d19be7d6de23648701659009d10e3e4486c28e9c6b13d48231ae29ac5 +a5a8e80579de886fb7d6408f542791876885947b27ad6fa99a8a26e381f052598d7b4e647b0115d4b5c64297e00ce28e +8f87afcc7ad33c51ac719bade3cd92da671a37a82c14446b0a2073f4a0a23085e2c8d31913ed2d0be928f053297de8f6 +a43c455ce377e0bc434386c53c752880687e017b2f5ae7f8a15c044895b242dffde4c92fb8f8bb50b18470b17351b156 +8368f8b12a5bceb1dba25adb3a2e9c7dc9b1a77a1f328e5a693f5aec195cd1e06b0fe9476b554c1c25dac6c4a5b640a3 +919878b27f3671fc78396f11531c032f3e2bd132d04cc234fa4858676b15fb1db3051c0b1db9b4fc49038216f11321ce +b48cd67fb7f1242696c1f877da4bdf188eac676cd0e561fbac1a537f7b8229aff5a043922441d603a26aae56a15faee4 +a3e0fdfd4d29ea996517a16f0370b54787fefe543c2fe73bfc6f9e560c1fd30dad8409859e2d7fa2d44316f24746c712 +8bb156ade8faf149df7bea02c140c7e392a4742ae6d0394d880a849127943e6f26312033336d3b9fdc0092d71b5efe87 +8845e5d5cc555ca3e0523244300f2c8d7e4d02aaebcb5bd749d791208856c209a6f84dd99fd55968c9f0ab5f82916707 +a3e90bb5c97b07789c2f32dff1aec61d0a2220928202f5ad5355ae71f8249237799d6c8a22602e32e572cb12eabe0c17 +b150bcc391884c996149dc3779ce71f15dda63a759ee9cc05871f5a8379dcb62b047098922c0f26c7bd04deb394c33f9 +95cd4ad88d51f0f2efcfd0c2df802fe252bb9704d1afbf9c26a248df22d55da87bdfaf41d7bc6e5df38bd848f0b13f42 +a05a49a31e91dff6a52ac8b9c2cfdd646a43f0d488253f9e3cfbce52f26667166bbb9b608fc358763a65cbf066cd6d05 +a59c3c1227fdd7c2e81f5e11ef5c406da44662987bac33caed72314081e2eed66055d38137e01b2268e58ec85dd986c0 +b7020ec3bd73a99861f0f1d88cf5a19abab1cbe14b7de77c9868398c84bb8e18dbbe9831838a96b6d6ca06e82451c67b +98d1ff2525e9718ee59a21d8900621636fcd873d9a564b8dceb4be80a194a0148daf1232742730b3341514b2e5a5436c +886d97b635975fc638c1b6afc493e5998ca139edba131b75b65cfe5a8e814f11bb678e0eeee5e6e5cd913ad3f2fefdfc +8fb9fd928d38d5d813b671c924edd56601dd7163b686c13f158645c2f869d9250f3859aa5463a39258c90fef0f41190a +aac35e1cd655c94dec3580bb3800bd9c2946c4a9856f7d725af15fbea6a2d8ca51c8ad2772abed60ee0e3fb9cb24046b +b8d71fa0fa05ac9e443c9b4929df9e7f09a919be679692682e614d24227e04894bfc14a5c73a62fb927fedff4a0e4aa7 +a45a19f11fbbb531a704badbb813ed8088ab827c884ee4e4ebf363fa1132ff7cfa9d28be9c85b143e4f7cdbc94e7cf1a +82b54703a4f295f5471b255ab59dce00f0fe90c9fb6e06b9ee48b15c91d43f4e2ef4a96c3118aeb03b08767be58181bb +8283264c8e6d2a36558f0d145c18576b6600ff45ff99cc93eca54b6c6422993cf392668633e5df396b9331e873d457e5 +8c549c03131ead601bc30eb6b9537b5d3beb7472f5bb1bcbbfd1e9f3704477f7840ab3ab7f7dc13bbbbcdff886a462d4 +afbb0c520ac1b5486513587700ad53e314cb74bfbc12e0b5fbdcfdaac36d342e8b59856196a0d84a25cff6e6e1d17e76 +89e4c22ffb51f2829061b3c7c1983c5c750cad158e3a825d46f7cf875677da5d63f653d8a297022b5db5845c9271b32b +afb27a86c4c2373088c96b9adf4433f2ebfc78ac5c526e9f0510670b6e4e5e0057c0a4f75b185e1a30331b9e805c1c15 +a18e16b57445f88730fc5d3567bf5a176861dc14c7a08ed2996fe80eed27a0e7628501bcb78a1727c5e9ac55f29c12c4 +93d61bf88b192d6825cf4e1120af1c17aa0f994d158b405e25437eaeefae049f7b721a206e7cc8a04fdc29d3c42580a1 +a99f2995a2e3ed2fd1228d64166112038de2f516410aa439f4c507044e2017ea388604e2d0f7121256fadf7fbe7023d1 +914fd91cffc23c32f1c6d0e98bf660925090d873367d543034654389916f65f552e445b0300b71b61b721a72e9a5983c +b42a578a7787b71f924e7def425d849c1c777156b1d4170a8ee7709a4a914e816935131afd9a0412c4cb952957b20828 +82fb30590e84b9e45db1ec475a39971cf554dc01bcc7050bc89265740725c02e2be5a972168c5170c86ae83e5b0ad2c0 +b14f8d8e1e93a84976289e0cf0dfa6f3a1809e98da16ee5c4932d0e1ed6bf8a07697fdd4dd86a3df84fb0003353cdcc0 +85d7a2f4bda31aa2cb208b771fe03291a4ebdaf6f1dc944c27775af5caec412584c1f45bc741fca2a6a85acb3f26ad7d +af02e56ce886ff2253bc0a68faad76f25ead84b2144e5364f3fb9b648f03a50ee9dc0b2c33ebacf7c61e9e43201ef9ef +87e025558c8a0b0abd06dfc350016847ea5ced7af2d135a5c9eec9324a4858c4b21510fb0992ec52a73447f24945058e +80fff0bafcd058118f5e7a4d4f1ae0912efeb281d2cbe4d34ba8945cc3dbe5d8baf47fb077343b90b8d895c90b297aca +b6edcf3a40e7b1c3c0148f47a263cd819e585a51ef31c2e35a29ce6f04c53e413f743034c0d998d9c00a08ba00166f31 +abb87ed86098c0c70a76e557262a494ff51a30fb193f1c1a32f8e35eafa34a43fcc07aa93a3b7a077d9e35afa07b1a3d +a280214cd3bb0fb7ecd2d8bcf518cbd9078417f2b91d2533ec2717563f090fb84f2a5fcfdbbeb2a2a1f8a71cc5aa5941 +a63083ca7238ea2b57d15a475963cf1d4f550d8cd76db290014a0461b90351f1f26a67d674c837b0b773b330c7c3d534 +a8fa39064cb585ece5263e2f42f430206476bf261bd50f18d2b694889bd79d04d56410664cecad62690e5c5a20b3f6ff +85ba52ce9d700a5dcf6c5b00559acbe599d671ce5512467ff4b6179d7fad550567ce2a9c126a50964e3096458ea87920 +b913501e1008f076e5eac6d883105174f88b248e1c9801e568fefaffa1558e4909364fc6d9512aa4d125cbd7cc895f05 +8eb33b5266c8f2ed4725a6ad147a322e44c9264cf261c933cbbe230a43d47fca0f29ec39756b20561dabafadd5796494 +850ebc8b661a04318c9db5a0515066e6454fa73865aa4908767a837857ecd717387f614acb614a88e075d4edc53a2f5a +a08d6b92d866270f29f4ce23a3f5d99b36b1e241a01271ede02817c8ec3f552a5c562db400766c07b104a331835c0c64 +8131804c89bb3e74e9718bfc4afa547c1005ff676bd4db9604335032b203390cfa54478d45c6c78d1fe31a436ed4be9f +9106d94f23cc1eacec8316f16d6f0a1cc160967c886f51981fdb9f3f12ee1182407d2bb24e5b873de58cb1a3ee915a6b +a13806bfc3eae7a7000c9d9f1bd25e10218d4e67f59ae798b145b098bca3edad2b1040e3fc1e6310e612fb8818f459ac +8c69fbca502046cb5f6db99900a47b34117aef3f4b241690cdb3b84ca2a2fc7833e149361995dc41fa78892525bce746 +852c473150c91912d58ecb05769222fa18312800c3f56605ad29eec9e2d8667b0b81c379048d3d29100ed2773bb1f3c5 +b1767f6074426a00e01095dbb1795beb4e4050c6411792cbad6537bc444c3165d1058bafd1487451f9c5ddd209e0ae7e +80c600a5fe99354ce59ff0f84c760923dc8ff66a30bf47dc0a086181785ceb01f9b951c4e66df800ea6d705e8bc47055 +b5cf19002fbc88a0764865b82afcb4d64a50196ea361e5c71dff7de084f4dcbbc34ec94a45cc9e0247bd51da565981aa +93e67a254ea8ce25e112d93cc927fadaa814152a2c4ec7d9a56eaa1ed47aec99b7e9916b02e64452cc724a6641729bbb +ace70b32491bda18eee4a4d041c3bc9effae9340fe7e6c2f5ad975ee0874c17f1a7da7c96bd85fccff9312c518fac6e9 +ab4cfa02065017dd7f1aadc66f2c92f78f0f11b8597c03a5d69d82cb2eaf95a4476a836ac102908f137662472c8d914b +a40b8cd8deb8ae503d20364d64cab7c2801b7728a9646ed19c65edea6a842756a2f636283494299584ad57f4bb12cd0b +8594e11d5fc2396bcd9dbf5509ce4816dbb2b7305168021c426171fb444d111da5a152d6835ad8034542277011c26c0e +8024de98c26b4c994a66628dc304bb737f4b6859c86ded552c5abb81fd4c6c2e19d5a30beed398a694b9b2fdea1dd06a +8843f5872f33f54df8d0e06166c1857d733995f67bc54abb8dfa94ad92407cf0179bc91b0a50bbb56cdc2b350d950329 +b8bab44c7dd53ef9edf497dcb228e2a41282c90f00ba052fc52d57e87b5c8ab132d227af1fcdff9a12713d1f980bcaae +982b4d7b29aff22d527fd82d2a52601d95549bfb000429bb20789ed45e5abf1f4b7416c7b7c4b79431eb3574b29be658 +8eb1f571b6a1878e11e8c1c757e0bc084bab5e82e897ca9be9b7f4b47b91679a8190bf0fc8f799d9b487da5442415857 +a6e74b588e5af935c8b243e888582ef7718f8714569dd4992920740227518305eb35fab674d21a5551cca44b3e511ef2 +a30fc2f3a4cb4f50566e82307de73cd7bd8fe2c1184e9293c136a9b9e926a018d57c6e4f308c95b9eb8299e94d90a2a1 +a50c5869ca5d2b40722c056a32f918d47e0b65ca9d7863ca7d2fb4a7b64fe523fe9365cf0573733ceaadebf20b48fff8 +83bbdd32c04d17581418cf360749c7a169b55d54f2427390defd9f751f100897b2d800ce6636c5bbc046c47508d60c8c +a82904bdf614de5d8deaff688c8a5e7ac5b3431687acbcda8fa53960b7c417a39c8b2e462d7af91ce6d79260f412db8e +a4362e31ff4b05d278b033cf5eebea20de01714ae16d4115d04c1da4754269873afc8171a6f56c5104bfd7b0db93c3e7 +b5b8daa63a3735581e74a021b684a1038cea77168fdb7fdf83c670c2cfabcfc3ab2fc7359069b5f9048188351aef26b5 +b48d723894b7782d96ac8433c48faca1bdfa5238019c451a7f47d958097cce3ae599b876cf274269236b9d6ff8b6d7ca +98ffff6a61a3a6205c7820a91ca2e7176fab5dba02bc194c4d14942ac421cb254183c705506ab279e4f8db066f941c6c +ae7db24731da2eaa6efc4f7fcba2ecc26940ddd68038dce43acf2cee15b72dc4ef42a7bfdd32946d1ed78786dd7696b3 +a656db14f1de9a7eb84f6301b4acb2fbf78bfe867f48a270e416c974ab92821eb4df1cb881b2d600cfed0034ac784641 +aa315f8ecba85a5535e9a49e558b15f39520fce5d4bf43131bfbf2e2c9dfccc829074f9083e8d49f405fb221d0bc4c3c +90bffba5d9ff40a62f6c8e9fc402d5b95f6077ed58d030c93e321b8081b77d6b8dac3f63a92a7ddc01585cf2c127d66c +abdd733a36e0e0f05a570d0504e73801bf9b5a25ff2c78786f8b805704997acb2e6069af342538c581144d53149fa6d3 +b4a723bb19e8c18a01bd449b1bb3440ddb2017f10bb153da27deb7a6a60e9bb37619d6d5435fbb1ba617687838e01dd0 +870016b4678bab3375516db0187a2108b2e840bae4d264b9f4f27dbbc7cc9cac1d7dc582d7a04d6fd1ed588238e5e513 +80d33d2e20e8fc170aa3cb4f69fffb72aeafb3b5bb4ea0bc79ab55da14142ca19b2d8b617a6b24d537366e3b49cb67c3 +a7ee76aec273aaae03b3b87015789289551969fb175c11557da3ab77e39ab49d24634726f92affae9f4d24003050d974 +8415ea4ab69d779ebd42d0fe0c6aef531d6a465a5739e429b1fcf433ec45aa8296c527e965a20f0ec9f340c9273ea3cf +8c7662520794e8b4405d0b33b5cac839784bc86a5868766c06cbc1fa306dbe334978177417b31baf90ce7b0052a29c56 +902b2abecc053a3dbdea9897ee21e74821f3a1b98b2d560a514a35799f4680322550fd3a728d4f6d64e1de98033c32b8 +a05e84ed9ecab8d508d670c39f2db61ad6e08d2795ec32a3c9d0d3737ef3801618f4fc2a95f90ec2f068606131e076c5 +8b9208ff4d5af0c2e3f53c9375da666773ac57197dfabb0d25b1c8d0588ba7f3c15ee9661bb001297f322ea2fbf6928b +a3c827741b34a03254d4451b5ab74a96f2b9f7fb069e2f5adaf54fd97cc7a4d516d378db5ca07da87d8566d6eef13726 +8509d8a3f4a0ed378e0a1e28ea02f6bf1d7f6c819c6c2f5297c7df54c895b848f841653e32ba2a2c22c2ff739571acb8 +a0ce988b7d3c40b4e496aa83a09e4b5472a2d98679622f32bea23e6d607bc7de1a5374fb162bce0549a67dad948519be +aa8a3dd12bd60e3d2e05f9c683cdcb8eab17fc59134815f8d197681b1bcf65108cba63ac5c58ee632b1e5ed6bba5d474 +8b955f1d894b3aefd883fb4b65f14cd37fc2b9db77db79273f1700bef9973bf3fd123897ea2b7989f50003733f8f7f21 +ac79c00ddac47f5daf8d9418d798d8af89fc6f1682e7e451f71ea3a405b0d36af35388dd2a332af790bc83ca7b819328 +a0d44dd2a4438b809522b130d0938c3fe7c5c46379365dbd1810a170a9aa5818e1c783470dd5d0b6d4ac7edbb7330910 +a30b69e39ad43dd540a43c521f05b51b5f1b9c4eed54b8162374ae11eac25da4f5756e7b70ce9f3c92c2eeceee7431ed +ac43220b762c299c7951222ea19761ab938bf38e4972deef58ed84f4f9c68c230647cf7506d7cbfc08562fcca55f0485 +b28233b46a8fb424cfa386a845a3b5399d8489ceb83c8f3e05c22c934798d639c93718b7b68ab3ce24c5358339e41cbb +ac30d50ee8ce59a10d4b37a3a35e62cdb2273e5e52232e202ca7d7b8d09d28958ee667fae41a7bb6cdc6fe8f6e6c9c85 +b199842d9141ad169f35cc7ff782b274cbaa645fdb727761e0a89edbf0d781a15f8218b4bf4eead326f2903dd88a9cc1 +85e018c7ddcad34bb8285a737c578bf741ccd547e68c734bdb3808380e12c5d4ef60fc896b497a87d443ff9abd063b38 +8c856e6ba4a815bdb891e1276f93545b7072f6cb1a9aa6aa5cf240976f29f4dee01878638500a6bf1daf677b96b54343 +b8a47555fa8710534150e1a3f13eab33666017be6b41005397afa647ea49708565f2b86b77ad4964d140d9ced6b4d585 +8cd1f1db1b2f4c85a3f46211599caf512d5439e2d8e184663d7d50166fd3008f0e9253272f898d81007988435f715881 +b1f34b14612c973a3eceb716dc102b82ab18afef9de7630172c2780776679a7706a4874e1df3eaadf541fb009731807f +b25464af9cff883b55be2ff8daf610052c02df9a5e147a2cf4df6ce63edcdee6dc535c533590084cc177da85c5dc0baa +91c3c4b658b42d8d3448ae1415d4541d02379a40dc51e36a59bd6e7b9ba3ea51533f480c7c6e8405250ee9b96a466c29 +86dc027b95deb74c36a58a1333a03e63cb5ae22d3b29d114cfd2271badb05268c9d0c819a977f5e0c6014b00c1512e3a +ae0e6ff58eb5fa35da5107ebeacf222ab8f52a22bb1e13504247c1dfa65320f40d97b0e6b201cb6613476687cb2f0681 +8f13415d960b9d7a1d93ef28afc2223e926639b63bdefce0f85e945dfc81670a55df288893a0d8b3abe13c5708f82f91 +956f67ca49ad27c1e3a68c1faad5e7baf0160c459094bf6b7baf36b112de935fdfd79fa4a9ea87ea8de0ac07272969f4 +835e45e4a67df9fb51b645d37840b3a15c171d571a10b03a406dd69d3c2f22df3aa9c5cbe1e73f8d767ce01c4914ea9a +919b938e56d4b32e2667469d0bdccb95d9dda3341aa907683ee70a14bbbe623035014511c261f4f59b318b610ac90aa3 +96b48182121ccd9d689bf1dfdc228175564cd68dc904a99c808a7f0053a6f636c9d953e12198bdf2ea49ea92772f2e18 +ac5e5a941d567fa38fdbcfa8cf7f85bb304e3401c52d88752bcd516d1fa9bac4572534ea2205e38423c1df065990790f +ac0bd594fb85a8d4fc26d6df0fa81f11919401f1ecf9168b891ec7f061a2d9368af99f7fd8d9b43b2ce361e7b8482159 +83d92c69ca540d298fe80d8162a1c7af3fa9b49dfb69e85c1d136a3ec39fe419c9fa78e0bb6d96878771fbd37fe92e40 +b35443ae8aa66c763c2db9273f908552fe458e96696b90e41dd509c17a5c04ee178e3490d9c6ba2dc0b8f793c433c134 +923b2d25aa45b2e580ffd94cbb37dc8110f340f0f011217ee1bd81afb0714c0b1d5fb4db86006cdd2457563276f59c59 +96c9125d38fca1a61ac21257b696f8ac3dae78def50285e44d90ea293d591d1c58f703540a7e4e99e070afe4646bbe15 +b57946b2332077fbcdcb406b811779aefd54473b5559a163cd65cb8310679b7e2028aa55c12a1401fdcfcac0e6fae29a +845daedc5cf972883835d7e13c937b63753c2200324a3b8082a6c4abb4be06c5f7c629d4abe4bfaf1d80a1f073eb6ce6 +91a55dfd0efefcd03dc6dacc64ec93b8d296cb83c0ee72400a36f27246e7f2a60e73b7b70ba65819e9cfb73edb7bd297 +8874606b93266455fe8fdd25df9f8d2994e927460af06f2e97dd4d2d90db1e6b06d441b72c2e76504d753badca87fb37 +8ee99e6d231274ff9252c0f4e84549da173041299ad1230929c3e3d32399731c4f20a502b4a307642cac9306ccd49d3c +8836497714a525118e20849d6933bb8535fb6f72b96337d49e3133d936999c90a398a740f42e772353b5f1c63581df6d +a6916945e10628f7497a6cdc5e2de113d25f7ade3e41e74d3de48ccd4fce9f2fa9ab69645275002e6f49399b798c40af +9597706983107eb23883e0812e1a2c58af7f3499d50c6e29b455946cb9812fde1aa323d9ed30d1c0ffd455abe32303cd +a24ee89f7f515cc33bdbdb822e7d5c1877d337f3b2162303cfc2dae028011c3a267c5cb4194afa63a4856a6e1c213448 +8cd25315e4318801c2776824ae6e7d543cb85ed3bc2498ba5752df2e8142b37653cf9e60104d674be3aeb0a66912e97a +b5085ecbe793180b40dbeb879f4c976eaaccaca3a5246807dced5890e0ed24d35f3f86955e2460e14fb44ff5081c07ba +960188cc0b4f908633a6840963a6fa2205fc42c511c6c309685234911c5304ef4c304e3ae9c9c69daa2fb6a73560c256 +a32d0a70bf15d569b4cda5aebe3e41e03c28bf99cdd34ffa6c5d58a097f322772acca904b3a47addb6c7492a7126ebac +977f72d06ad72d4aa4765e0f1f9f4a3231d9f030501f320fe7714cc5d329d08112789fa918c60dd7fdb5837d56bb7fc6 +99fa038bb0470d45852bb871620d8d88520adb701712fcb1f278fed2882722b9e729e6cdce44c82caafad95e37d0e6f7 +b855e8f4fc7634ada07e83b6c719a1e37acb06394bc8c7dcab7747a8c54e5df3943915f021364bd019fdea103864e55f +88bc2cd7458532e98c596ef59ea2cf640d7cc31b4c33cef9ed065c078d1d4eb49677a67de8e6229cc17ea48bace8ee5a +aaa78a3feaa836d944d987d813f9b9741afb076e6aca1ffa42682ab06d46d66e0c07b8f40b9dbd63e75e81efa1ef7b08 +b7b080420cc4d808723b98b2a5b7b59c81e624ab568ecdfdeb8bf3aa151a581b6f56e983ef1b6f909661e25db40b0c69 +abee85c462ac9a2c58e54f06c91b3e5cd8c5f9ab5b5deb602b53763c54826ed6deb0d6db315a8d7ad88733407e8d35e2 +994d075c1527407547590df53e9d72dd31f037c763848d1662eebd4cefec93a24328c986802efa80e038cb760a5300f5 +ab8777640116dfb6678e8c7d5b36d01265dfb16321abbfc277da71556a34bb3be04bc4ae90124ed9c55386d2bfb3bda0 +967e3a828bc59409144463bcf883a3a276b5f24bf3cbfdd7a42343348cba91e00b46ac285835a9b91eef171202974204 +875a9f0c4ffe5bb1d8da5e3c8e41d0397aa6248422a628bd60bfae536a651417d4e8a7d2fb98e13f2dad3680f7bd86d3 +acaa330c3e8f95d46b1880126572b238dbb6d04484d2cd4f257ab9642d8c9fc7b212188b9c7ac9e0fd135c520d46b1bf +aceb762edbb0f0c43dfcdb01ea7a1ac5918ca3882b1e7ebc4373521742f1ed5250d8966b498c00b2b0f4d13212e6dd0b +81d072b4ad258b3646f52f399bced97c613b22e7ad76373453d80b1650c0ca87edb291a041f8253b649b6e5429bb4cff +980a47d27416ac39c7c3a0ebe50c492f8c776ea1de44d5159ac7d889b6d554357f0a77f0e5d9d0ff41aae4369eba1fc2 +8b4dfd5ef5573db1476d5e43aacfb5941e45d6297794508f29c454fe50ea622e6f068b28b3debe8635cf6036007de2e3 +a60831559d6305839515b68f8c3bc7abbd8212cc4083502e19dd682d56ca37c9780fc3ce4ec2eae81ab23b221452dc57 +951f6b2c1848ced9e8a2339c65918e00d3d22d3e59a0a660b1eca667d18f8430d737884e9805865ef3ed0fe1638a22d9 +b02e38fe790b492aa5e89257c4986c9033a8b67010fa2add9787de857d53759170fdd67715ca658220b4e14b0ca48124 +a51007e4346060746e6b0e4797fc08ef17f04a34fe24f307f6b6817edbb8ce2b176f40771d4ae8a60d6152cbebe62653 +a510005b05c0b305075b27b243c9d64bcdce85146b6ed0e75a3178b5ff9608213f08c8c9246f2ca6035a0c3e31619860 +aaff4ef27a7a23be3419d22197e13676d6e3810ceb06a9e920d38125745dc68a930f1741c9c2d9d5c875968e30f34ab5 +864522a9af9857de9814e61383bebad1ba9a881696925a0ea6bfc6eff520d42c506bbe5685a9946ed710e889765be4a0 +b63258c080d13f3b7d5b9f3ca9929f8982a6960bdb1b0f8676f4dca823971601672f15e653917bf5d3746bb220504913 +b51ce0cb10869121ae310c7159ee1f3e3a9f8ad498827f72c3d56864808c1f21fa2881788f19ece884d3f705cd7bd0c5 +95d9cecfc018c6ed510e441cf84c712d9909c778c16734706c93222257f64dcd2a9f1bd0b400ca271e22c9c487014274 +8beff4d7d0140b86380ff4842a9bda94c2d2be638e20ac68a4912cb47dbe01a261857536375208040c0554929ced1ddc +891ff49258749e2b57c1e9b8e04b12c77d79c3308b1fb615a081f2aacdfb4b39e32d53e069ed136fdbd43c53b87418fa +9625cad224e163d387738825982d1e40eeff35fe816d10d7541d15fdc4d3eee48009090f3faef4024b249205b0b28f72 +8f3947433d9bd01aa335895484b540a9025a19481a1c40b4f72dd676bfcf332713714fd4010bde936eaf9470fd239ed0 +a00ec2d67789a7054b53f0e858a8a232706ccc29a9f3e389df7455f1a51a2e75801fd78469a13dbc25d28399ae4c6182 +a3f65884506d4a62b8775a0ea0e3d78f5f46bc07910a93cd604022154eabdf1d73591e304d61edc869e91462951975e1 +a14eef4fd5dfac311713f0faa9a60415e3d30b95a4590cbf95f2033dffb4d16c02e7ceff3dcd42148a4e3bc49cce2dd4 +8afa11c0eef3c540e1e3460bc759bb2b6ea90743623f88e62950c94e370fe4fd01c22b6729beba4dcd4d581198d9358f +afb05548a69f0845ffcc5f5dc63e3cdb93cd270f5655173b9a950394b0583663f2b7164ba6df8d60c2e775c1d9f120af +97f179e01a947a906e1cbeafa083960bc9f1bade45742a3afee488dfb6011c1c6e2db09a355d77f5228a42ccaa7bdf8e +8447fca4d35f74b3efcbd96774f41874ca376bf85b79b6e66c92fa3f14bdd6e743a051f12a7fbfd87f319d1c6a5ce217 +a57ca39c23617cd2cf32ff93b02161bd7baf52c4effb4679d9d5166406e103bc8f3c6b5209e17c37dbb02deb8bc72ddd +9667c7300ff80f0140be002b0e36caab07aaee7cce72679197c64d355e20d96196acaf54e06e1382167d081fe6f739c1 +828126bb0559ce748809b622677267ca896fa2ee76360fd2c02990e6477e06a667241379ca7e65d61a5b64b96d7867de +8b8835dea6ba8cf61c91f01a4b3d2f8150b687a4ee09b45f2e5fc8f80f208ae5d142d8e3a18153f0722b90214e60c5a7 +a98e8ff02049b4da386e3ee93db23bbb13dfeb72f1cfde72587c7e6d962780b7671c63e8ac3fbaeb1a6605e8d79e2f29 +87a4892a0026d7e39ef3af632172b88337cb03669dea564bcdb70653b52d744730ebb5d642e20cb627acc9dbb547a26b +877352a22fc8052878a57effc159dac4d75fe08c84d3d5324c0bab6d564cdf868f33ceee515eee747e5856b62cfa0cc7 +8b801ba8e2ff019ee62f64b8cb8a5f601fc35423eb0f9494b401050103e1307dc584e4e4b21249cd2c686e32475e96c3 +a9e7338d6d4d9bfec91b2af28a8ed13b09415f57a3a00e5e777c93d768fdb3f8e4456ae48a2c6626b264226e911a0e28 +99c05fedf40ac4726ed585d7c1544c6e79619a0d3fb6bda75a08c7f3c0008e8d5e19ed4da48de3216135f34a15eba17c +a61cce8a1a8b13a4a650fdbec0eeea8297c352a8238fb7cac95a0df18ed16ee02a3daa2de108fa122aca733bd8ad7855 +b97f37da9005b440b4cb05870dd881bf8491fe735844f2d5c8281818583b38e02286e653d9f2e7fa5e74c3c3eb616540 +a72164a8554da8e103f692ac5ebb4aece55d5194302b9f74b6f2a05335b6e39beede0bf7bf8c5bfd4d324a784c5fb08c +b87e8221c5341cd9cc8bb99c10fe730bc105550f25ed4b96c0d45e6142193a1b2e72f1b3857373a659b8c09be17b3d91 +a41fb1f327ef91dcb7ac0787918376584890dd9a9675c297c45796e32d6e5985b12f9b80be47fc3a8596c245f419d395 +90dafa3592bdbb3465c92e2a54c2531822ba0459d45d3e7a7092fa6b823f55af28357cb51896d4ec2d66029c82f08e26 +a0a9adc872ebc396557f484f1dd21954d4f4a21c4aa5eec543f5fa386fe590839735c01f236574f7ff95407cd12de103 +b8c5c940d58be7538acf8672852b5da3af34f82405ef2ce8e4c923f1362f97fc50921568d0fd2fe846edfb0823e62979 +85aaf06a8b2d0dac89dafd00c28533f35dbd074978c2aaa5bef75db44a7b12aeb222e724f395513b9a535809a275e30b +81f3cbe82fbc7028c26a6c1808c604c63ba023a30c9f78a4c581340008dbda5ec07497ee849a2183fcd9124f7936af32 +a11ac738de75fd60f15a34209d3825d5e23385796a4c7fc5931822f3f380af977dd0f7b59fbd58eed7777a071e21b680 +85a279c493de03db6fa6c3e3c1b1b29adc9a8c4effc12400ae1128da8421954fa8b75ad19e5388fe4543b76fb0812813 +83a217b395d59ab20db6c4adb1e9713fc9267f5f31a6c936042fe051ce8b541f579442f3dcf0fa16b9e6de9fd3518191 +83a0b86e7d4ed8f9ccdc6dfc8ff1484509a6378fa6f09ed908e6ab9d1073f03011dc497e14304e4e3d181b57de06a5ab +a63ad69c9d25704ce1cc8e74f67818e5ed985f8f851afa8412248b2df5f833f83b95b27180e9e7273833ed0d07113d3b +99b1bc2021e63b561fe44ddd0af81fcc8627a91bfeecbbc989b642bc859abc0c8d636399701aad7bbaf6a385d5f27d61 +b53434adb66f4a807a6ad917c6e856321753e559b1add70824e5c1e88191bf6993fccb9b8b911fc0f473fb11743acacd +97ed3b9e6fb99bf5f945d4a41f198161294866aa23f2327818cdd55cb5dc4c1a8eff29dd8b8d04902d6cd43a71835c82 +b1e808260e368a18d9d10bdea5d60223ba1713b948c782285a27a99ae50cc5fc2c53d407de07155ecc16fb8a36d744a0 +a3eb4665f18f71833fec43802730e56b3ee5a357ea30a888ad482725b169d6f1f6ade6e208ee081b2e2633079b82ba7d +ab8beb2c8353fc9f571c18fdd02bdb977fc883313469e1277b0372fbbb33b80dcff354ca41de436d98d2ed710faa467e +aa9071cfa971e4a335a91ad634c98f2be51544cb21f040f2471d01bb97e1df2277ae1646e1ea8f55b7ba9f5c8c599b39 +80b7dbfdcaf40f0678012acc634eba44ea51181475180d9deb2050dc4f2de395289edd0223018c81057ec79b04b04c49 +89623d7f6cb17aa877af14de842c2d4ab7fd576d61ddd7518b5878620a01ded40b6010de0da3cdf31d837eecf30e9847 +a773bb024ae74dd24761f266d4fb27d6fd366a8634febe8235376b1ae9065c2fe12c769f1d0407867dfbe9f5272c352f +8455a561c3aaa6ba64c881a5e13921c592b3a02e968f4fb24a2243c36202795d0366d9cc1a24e916f84d6e158b7aeac7 +81d8bfc4b283cf702a40b87a2b96b275bdbf0def17e67d04842598610b67ea08c804d400c3e69fa09ea001eaf345b276 +b8f8f82cb11fea1c99467013d7e167ff03deb0c65a677fab76ded58826d1ba29aa7cf9fcd7763615735ea3ad38e28719 +89a6a04baf9cccc1db55179e1650b1a195dd91fb0aebc197a25143f0f393524d2589975e3fbfc2547126f0bced7fd6f2 +b81b2162df045390f04df07cbd0962e6b6ca94275a63edded58001a2f28b2ae2af2c7a6cba4ecd753869684e77e7e799 +a3757f722776e50de45c62d9c4a2ee0f5655a512344c4cbec542d8045332806568dd626a719ef21a4eb06792ca70f204 +8c5590df96ec22179a4e8786de41beb44f987a1dcc508eb341eecbc0b39236fdfad47f108f852e87179ccf4e10091e59 +87502f026ed4e10167419130b88c3737635c5b9074c364e1dd247cef5ef0fc064b4ae99b187e33301e438bbd2fe7d032 +af925a2165e980ced620ff12289129fe17670a90ae0f4db9d4b39bd887ccb1f5d2514ac9ecf910f6390a8fc66bd5be17 +857fca899828cf5c65d26e3e8a6e658542782fc72762b3b9c73514919f83259e0f849a9d4838b40dc905fe43024d0d23 +87ffebdbfb69a9e1007ebac4ffcb4090ff13705967b73937063719aa97908986effcb7262fdadc1ae0f95c3690e3245d +a9ff6c347ac6f4c6ab993b748802e96982eaf489dc69032269568412fc9a79e7c2850dfc991b28211b3522ee4454344b +a65b3159df4ec48bebb67cb3663cd744027ad98d970d620e05bf6c48f230fa45bf17527fe726fdf705419bb7a1bb913e +84b97b1e6408b6791831997b03cd91f027e7660fd492a93d95daafe61f02427371c0e237c75706412f442991dfdff989 +ab761c26527439b209af0ae6afccd9340bbed5fbe098734c3145b76c5d2cd7115d9227b2eb523882b7317fbb09180498 +a0479a8da06d7a69c0b0fee60df4e691c19c551f5e7da286dab430bfbcabf31726508e20d26ea48c53365a7f00a3ad34 +a732dfc9baa0f4f40b5756d2e8d8937742999623477458e0bc81431a7b633eefc6f53b3b7939fe0a020018549c954054 +901502436a1169ba51dc479a5abe7c8d84e0943b16bc3c6a627b49b92cd46263c0005bc324c67509edd693f28e612af1 +b627aee83474e7f84d1bab9b7f6b605e33b26297ac6bbf52d110d38ba10749032bd551641e73a383a303882367af429b +95108866745760baef4a46ef56f82da6de7e81c58b10126ebd2ba2cd13d339f91303bf2fb4dd104a6956aa3b13739503 +899ed2ade37236cec90056f3569bc50f984f2247792defafcceb49ad0ca5f6f8a2f06573705300e07f0de0c759289ff5 +a9f5eee196d608efe4bcef9bf71c646d27feb615e21252cf839a44a49fd89da8d26a758419e0085a05b1d59600e2dc42 +b36c6f68fed6e6c85f1f4a162485f24817f2843ec5cbee45a1ebfa367d44892e464949c6669f7972dc7167af08d55d25 +aaaede243a9a1b6162afbc8f571a52671a5a4519b4062e3f26777664e245ba873ed13b0492c5dbf0258c788c397a0e9e +972b4fb39c31cbe127bf9a32a5cc10d621ebdd9411df5e5da3d457f03b2ab2cd1f6372d8284a4a9400f0b06ecdbfd38e +8f6ca1e110e959a4b1d9a5ce5f212893cec21db40d64d5ac4d524f352d72198f923416a850bf845bc5a22a79c0ea2619 +a0f3c93b22134f66f04b2553a53b738644d1665ceb196b8494b315a4c28236fb492017e4a0de4224827c78e42f9908b7 +807fb5ee74f6c8735b0b5ca07e28506214fe4047dbeb00045d7c24f7849e98706aea79771241224939cb749cf1366c7d +915eb1ff034224c0b645442cdb7d669303fdc00ca464f91aaf0b6fde0b220a3a74ff0cb043c26c9f3a5667b3fdaa9420 +8fda6cef56ed33fefffa9e6ac8e6f76b1af379f89761945c63dd448801f7bb8ca970504a7105fac2f74f652ccff32327 +87380cffdcffb1d0820fa36b63cc081e72187f86d487315177d4d04da4533eb19a0e2ff6115ceab528887819c44a5164 +8cd89e03411a18e7f16f968b89fb500c36d47d229f6487b99e62403a980058db5925ce249206743333538adfad168330 +974451b1df33522ce7056de9f03e10c70bf302c44b0741a59df3d6877d53d61a7394dcee1dd46e013d7cb9d73419c092 +98c35ddf645940260c490f384a49496a7352bb8e3f686feed815b1d38f59ded17b1ad6e84a209e773ed08f7b8ff1e4c2 +963f386cf944bb9b2ddebb97171b64253ea0a2894ac40049bdd86cda392292315f3a3d490ca5d9628c890cfb669f0acb +8d507712152babd6d142ee682638da8495a6f3838136088df9424ef50d5ec28d815a198c9a4963610b22e49b4cdf95e9 +83d4bc6b0be87c8a4f1e9c53f257719de0c73d85b490a41f7420e777311640937320557ff2f1d9bafd1daaa54f932356 +82f5381c965b7a0718441131c4d13999f4cdce637698989a17ed97c8ea2e5bdb5d07719c5f7be8688edb081b23ede0f4 +a6ebecab0b72a49dfd01d69fa37a7f74d34fb1d4fef0aa10e3d6fceb9eccd671225c230af89f6eb514250e41a5f91f52 +846d185bdad6e11e604df7f753b7a08a28b643674221f0e750ebdb6b86ec584a29c869e131bca868972a507e61403f6a +85a98332292acb744bd1c0fd6fdcf1f889a78a2c9624d79413ffa194cc8dfa7821a4b60cde8081d4b5f71f51168dd67f +8f7d97c3b4597880d73200d074eb813d95432306e82dafc70b580b8e08cb8098b70f2d07b4b3ac6a4d77e92d57035031 +8185439c8751e595825d7053518cbe121f191846a38d4dbcb558c3f9d7a3104f3153401adaaaf27843bbe2edb504bfe3 +b3c00d8ece1518fca6b1215a139b0a0e26d9cba1b3a424f7ee59f30ce800a5db967279ed60958dd1f3ee69cf4dd1b204 +a2e6cb6978e883f9719c3c0d44cfe8de0cc6f644b98f98858433bea8bbe7b612c8aca5952fccce4f195f9d54f9722dc2 +99663087e3d5000abbec0fbda4e7342ec38846cc6a1505191fb3f1a337cb369455b7f8531a6eb8b0f7b2c4baf83cbe2b +ab0836c6377a4dbc7ca6a4d6cf021d4cd60013877314dd05f351706b128d4af6337711ed3443cb6ca976f40d74070a9a +87abfd5126152fd3bac3c56230579b489436755ea89e0566aa349490b36a5d7b85028e9fb0710907042bcde6a6f5d7e3 +974ba1033f75f60e0cf7c718a57ae1da3721cf9d0fb925714c46f027632bdd84cd9e6de4cf4d00bc55465b1c5ebb7384 +a607b49d73689ac64f25cec71221d30d53e781e1100d19a2114a21da6507a60166166369d860bd314acb226596525670 +a7c2b0b915d7beba94954f2aa7dd08ec075813661e2a3ecca5d28a0733e59583247fed9528eb28aba55b972cdbaf06eb +b8b3123e44128cc8efbe3270f2f94e50ca214a4294c71c3b851f8cbb70cb67fe9536cf07d04bf7fe380e5e3a29dd3c15 +a59a07e343b62ad6445a0859a32b58c21a593f9ddbfe52049650f59628c93715aa1f4e1f45b109321756d0eeec8a5429 +94f51f8a4ed18a6030d0aaa8899056744bd0e9dc9ac68f62b00355cddab11da5da16798db75f0bfbce0e5bdfe750c0b6 +97460a97ca1e1fa5ce243b81425edc0ec19b7448e93f0b55bc9785eedeeafe194a3c8b33a61a5c72990edf375f122777 +8fa859a089bc17d698a7ee381f37ce9beadf4e5b44fce5f6f29762bc04f96faff5d58c48c73631290325f05e9a1ecf49 +abdf38f3b20fc95eff31de5aa9ef1031abfa48f1305ee57e4d507594570401503476d3bcc493838fc24d6967a3082c7f +b8914bfb82815abb86da35c64d39ab838581bc0bf08967192697d9663877825f2b9d6fbdcf9b410463482b3731361aef +a8187f9d22b193a5f578999954d6ec9aa9b32338ccadb8a3e1ce5bad5ea361d69016e1cdfac44e9d6c54e49dd88561b9 +aac262cb7cba7fd62c14daa7b39677cabc1ef0947dd06dd89cac8570006a200f90d5f0353e84f5ff03179e3bebe14231 +a630ef5ece9733b8c46c0a2df14a0f37647a85e69c63148e79ffdcc145707053f9f9d305c3f1cf3c7915cb46d33abd07 +b102c237cb2e254588b6d53350dfda6901bd99493a3fbddb4121d45e0b475cf2663a40d7b9a75325eda83e4ba1e68cb3 +86a930dd1ddcc16d1dfa00aa292cb6c2607d42c367e470aa920964b7c17ab6232a7108d1c2c11fc40fb7496547d0bbf8 +a832fdc4500683e72a96cce61e62ac9ee812c37fe03527ad4cf893915ca1962cee80e72d4f82b20c8fc0b764376635a1 +88ad985f448dabb04f8808efd90f273f11f5e6d0468b5489a1a6a3d77de342992a73eb842d419034968d733f101ff683 +98a8538145f0d86f7fbf9a81c9140f6095c5bdd8960b1c6f3a1716428cd9cca1bf8322e6d0af24e6169abcf7df2b0ff6 +9048c6eba5e062519011e177e955a200b2c00b3a0b8615bdecdebc217559d41058d3315f6d05617be531ef0f6aef0e51 +833bf225ab6fc68cdcacf1ec1b50f9d05f5410e6cdcd8d56a3081dc2be8a8d07b81534d1ec93a25c2e270313dfb99e3b +a84bcd24c3da5e537e64a811b93c91bfc84d7729b9ead7f79078989a6eb76717d620c1fad17466a0519208651e92f5ff +b7cdd0a3fbd79aed93e1b5a44ca44a94e7af5ed911e4492f332e3a5ed146c7286bde01b52276a2fcc02780d2109874dd +8a19a09854e627cb95750d83c20c67442b66b35896a476358f993ba9ac114d32c59c1b3d0b8787ee3224cf3888b56c64 +a9abd5afb8659ee52ada8fa5d57e7dd355f0a7350276f6160bec5fbf70d5f99234dd179eb221c913e22a49ec6d267846 +8c13c4274c0d30d184e73eaf812200094bbbd57293780bdadbceb262e34dee5b453991e7f37c7333a654fc71c69d6445 +a4320d73296ff8176ce0127ca1921c450e2a9c06eff936681ebaffb5a0b05b17fded24e548454de89aca2dcf6d7a9de4 +b2b8b3e15c1f645f07783e5628aba614e60157889db41d8161d977606788842b67f83f361eae91815dc0abd84e09abd5 +ad26c3aa35ddfddc15719b8bb6c264aaec7065e88ac29ba820eb61f220fef451609a7bb037f3722d022e6c86e4f1dc88 +b8615bf43e13ae5d7b8dd903ce37190800cd490f441c09b22aa29d7a29ed2c0417b7a08ead417868f1de2589deaadd80 +8d3425e1482cd1e76750a76239d33c06b3554c3c3c87c15cb7ab58b1cee86a4c5c4178b44e23f36928365a1b484bde02 +806893a62e38c941a7dd6f249c83af16596f69877cc737d8f73f6b8cd93cbc01177a7a276b2b8c6b0e5f2ad864db5994 +86618f17fa4b0d65496b661bbb5ba3bc3a87129d30a4b7d4f515b904f4206ca5253a41f49fd52095861e5e065ec54f21 +9551915da1304051e55717f4c31db761dcdcf3a1366c89a4af800a9e99aca93a357bf928307f098e62b44a02cb689a46 +8f79c4ec0ec1146cb2a523b52fe33def90d7b5652a0cb9c2d1c8808a32293e00aec6969f5b1538e3a94cd1efa3937f86 +a0c03e329a707300081780f1e310671315b4c6a4cedcb29697aedfabb07a9d5df83f27b20e9c44cf6b16e39d9ded5b98 +86a7cfa7c8e7ce2c01dd0baec2139e97e8e090ad4e7b5f51518f83d564765003c65968f85481bbb97cb18f005ccc7d9f +a33811770c6dfda3f7f74e6ad0107a187fe622d61b444bbd84fd7ef6e03302e693b093df76f6ab39bb4e02afd84a575a +85480f5c10d4162a8e6702b5e04f801874d572a62a130be94b0c02b58c3c59bdcd48cd05f0a1c2839f88f06b6e3cd337 +8e181011564b17f7d787fe0e7f3c87f6b62da9083c54c74fd6c357a1f464c123c1d3d8ade3cf72475000b464b14e2be3 +8ee178937294b8c991337e0621ab37e9ffa4ca2bdb3284065c5e9c08aad6785d50cf156270ff9daf9a9127289710f55b +8bd1e8e2d37379d4b172f1aec96f2e41a6e1393158d7a3dbd9a95c8dd4f8e0b05336a42efc11a732e5f22b47fc5c271d +8f3da353cd487c13136a85677de8cedf306faae0edec733cf4f0046f82fa4639db4745b0095ff33a9766aba50de0cbcf +8d187c1e97638df0e4792b78e8c23967dac43d98ea268ca4aabea4e0fa06cb93183fd92d4c9df74118d7cc27bf54415e +a4c992f08c2f8bac0b74b3702fb0c75c9838d2ce90b28812019553d47613c14d8ce514d15443159d700b218c5a312c49 +a6fd1874034a34c3ea962a316c018d9493d2b3719bb0ec4edbc7c56b240802b2228ab49bee6f04c8a3e9f6f24a48c1c2 +b2efed8e799f8a15999020900dc2c58ece5a3641c90811b86a5198e593d7318b9d53b167818ccdfbe7df2414c9c34011 +995ff7de6181ddf95e3ead746089c6148da3508e4e7a2323c81785718b754d356789b902e7e78e2edc6b0cbd4ff22c78 +944073d24750a9068cbd020b834afc72d2dde87efac04482b3287b40678ad07588519a4176b10f2172a2c463d063a5cd +99db4b1bb76475a6fd75289986ef40367960279524378cc917525fb6ba02a145a218c1e9caeb99332332ab486a125ac0 +89fce4ecd420f8e477af4353b16faabb39e063f3f3c98fde2858b1f2d1ef6eed46f0975a7c08f233b97899bf60ccd60a +8c09a4f07a02b80654798bc63aada39fd638d3e3c4236ccd8a5ca280350c31e4a89e5f4c9aafb34116e71da18c1226b8 +85325cfa7ded346cc51a2894257eab56e7488dbff504f10f99f4cd2b630d913003761a50f175ed167e8073f1b6b63fb0 +b678b4fbec09a8cc794dcbca185f133578f29e354e99c05f6d07ac323be20aecb11f781d12898168e86f2e0f09aca15e +a249cfcbca4d9ba0a13b5f6aac72bf9b899adf582f9746bb2ad043742b28915607467eb794fca3704278f9136f7642be +9438e036c836a990c5e17af3d78367a75b23c37f807228362b4d13e3ddcb9e431348a7b552d09d11a2e9680704a4514f +925ab70450af28c21a488bfb5d38ac994f784cf249d7fd9ad251bb7fd897a23e23d2528308c03415074d43330dc37ef4 +a290563904d5a8c0058fc8330120365bdd2ba1fdbaef7a14bc65d4961bb4217acfaed11ab82669e359531f8bf589b8db +a7e07a7801b871fc9b981a71e195a3b4ba6b6313bc132b04796a125157e78fe5c11a3a46cf731a255ac2d78a4ae78cd0 +b26cd2501ee72718b0eebab6fb24d955a71f363f36e0f6dff0ab1d2d7836dab88474c0cef43a2cc32701fca7e82f7df3 +a1dc3b6c968f3de00f11275092290afab65b2200afbcfa8ddc70e751fa19dbbc300445d6d479a81bda3880729007e496 +a9bc213e28b630889476a095947d323b9ac6461dea726f2dc9084473ae8e196d66fb792a21905ad4ec52a6d757863e7d +b25d178df8c2df8051e7c888e9fa677fde5922e602a95e966db9e4a3d6b23ce043d7dc48a5b375c6b7c78e966893e8c3 +a1c8d88d72303692eaa7adf68ea41de4febec40cc14ae551bb4012afd786d7b6444a3196b5d9d5040655a3366d96b7cd +b22bd44f9235a47118a9bbe2ba5a2ba9ec62476061be2e8e57806c1a17a02f9a51403e849e2e589520b759abd0117683 +b8add766050c0d69fe81d8d9ea73e1ed05f0135d093ff01debd7247e42dbb86ad950aceb3b50b9af6cdc14ab443b238f +af2cf95f30ef478f018cf81d70d47d742120b09193d8bb77f0d41a5d2e1a80bfb467793d9e2471b4e0ad0cb2c3b42271 +8af5ef2107ad284e246bb56e20fef2a255954f72de791cbdfd3be09f825298d8466064f3c98a50496c7277af32b5c0bc +85dc19558572844c2849e729395a0c125096476388bd1b14fa7f54a7c38008fc93e578da3aac6a52ff1504d6ca82db05 +ae8c9b43c49572e2e166d704caf5b4b621a3b47827bb2a3bcd71cdc599bba90396fd9a405261b13e831bb5d44c0827d7 +a7ba7efede25f02e88f6f4cbf70643e76784a03d97e0fbd5d9437c2485283ad7ca3abb638a5f826cd9f6193e5dec0b6c +94a9d122f2f06ef709fd8016fd4b712d88052245a65a301f5f177ce22992f74ad05552b1f1af4e70d1eac62cef309752 +82d999b3e7cf563833b8bc028ff63a6b26eb357dfdb3fd5f10e33a1f80a9b2cfa7814d871b32a7ebfbaa09e753e37c02 +aec6edcde234df502a3268dd2c26f4a36a2e0db730afa83173f9c78fcb2b2f75510a02b80194327b792811caefda2725 +94c0bfa66c9f91d462e9194144fdd12d96f9bbe745737e73bab8130607ee6ea9d740e2cfcbbd00a195746edb6369ee61 +ab7573dab8c9d46d339e3f491cb2826cabe8b49f85f1ede78d845fc3995537d1b4ab85140b7d0238d9c24daf0e5e2a7e +87e8b16832843251fe952dadfd01d41890ed4bb4b8fa0254550d92c8cced44368225eca83a6c3ad47a7f81ff8a80c984 +9189d2d9a7c64791b19c0773ad4f0564ce6bea94aa275a917f78ad987f150fdb3e5e26e7fef9982ac184897ecc04683f +b3661bf19e2da41415396ae4dd051a9272e8a2580b06f1a1118f57b901fa237616a9f8075af1129af4eabfefedbe2f1c +af43c86661fb15daf5d910a4e06837225e100fb5680bd3e4b10f79a2144c6ec48b1f8d6e6b98e067d36609a5d038889a +82ac0c7acaa83ddc86c5b4249aae12f28155989c7c6b91e5137a4ce05113c6cbc16f6c44948b0efd8665362d3162f16a +8f268d1195ab465beeeb112cd7ffd5d5548559a8bc01261106d3555533fc1971081b25558d884d552df0db1cddda89d8 +8ef7caa5521f3e037586ce8ac872a4182ee20c7921c0065ed9986c047e3dda08294da1165f385d008b40d500f07d895f +8c2f98f6880550573fad46075d3eba26634b5b025ce25a0b4d6e0193352c8a1f0661064027a70fe8190b522405f9f4e3 +b7653f353564feb164f0f89ec7949da475b8dad4a4d396d252fc2a884f6932d027b7eb2dc4d280702c74569319ed701a +a026904f4066333befd9b87a8fad791d014096af60cdd668ef919c24dbe295ff31f7a790e1e721ba40cf5105abca67f4 +988f982004ada07a22dd345f2412a228d7a96b9cae2c487de42e392afe1e35c2655f829ce07a14629148ce7079a1f142 +9616add009067ed135295fb74d5b223b006b312bf14663e547a0d306694ff3a8a7bb9cfc466986707192a26c0bce599f +ad4c425de9855f6968a17ee9ae5b15e0a5b596411388cf976df62ecc6c847a6e2ddb2cea792a5f6e9113c2445dba3e5c +b698ac9d86afa3dc69ff8375061f88e3b0cff92ff6dfe747cebaf142e813c011851e7a2830c10993b715e7fd594604a9 +a386fa189847bb3b798efca917461e38ead61a08b101948def0f82cd258b945ed4d45b53774b400af500670149e601b7 +905c95abda2c68a6559d8a39b6db081c68cef1e1b4be63498004e1b2f408409be9350b5b5d86a30fd443e2b3e445640a +9116dade969e7ce8954afcdd43e5cab64dc15f6c1b8da9d2d69de3f02ba79e6c4f6c7f54d6bf586d30256ae405cd1e41 +a3084d173eacd08c9b5084a196719b57e47a0179826fda73466758235d7ecdb87cbcf097bd6b510517d163a85a7c7edd +85bb00415ad3c9be99ff9ba83672cc59fdd24356b661ab93713a3c8eab34e125d8867f628a3c3891b8dc056e69cd0e83 +8d58541f9f39ed2ee4478acce5d58d124031338ec11b0d55551f00a5a9a6351faa903a5d7c132dc5e4bb026e9cbd18e4 +a622adf72dc250e54f672e14e128c700166168dbe0474cecb340da175346e89917c400677b1bc1c11fcc4cc26591d9db +b3f865014754b688ca8372e8448114fff87bf3ca99856ab9168894d0c4679782c1ced703f5b74e851b370630f5e6ee86 +a7e490b2c40c2446fcd91861c020da9742c326a81180e38110558bb5d9f2341f1c1885e79b364e6419023d1cbdc47380 +b3748d472b1062e54572badbb8e87ac36534407f74932e7fc5b8392d008e8e89758f1671d1e4d30ab0fa40551b13bb5e +89898a5c5ec4313aabc607b0049fd1ebad0e0c074920cf503c9275b564d91916c2c446d3096491c950b7af3ac5e4b0ed +8eb8c83fef2c9dd30ea44e286e9599ec5c20aba983f702e5438afe2e5b921884327ad8d1566c72395587efac79ca7d56 +b92479599e806516ce21fb0bd422a1d1d925335ebe2b4a0a7e044dd275f30985a72b97292477053ac5f00e081430da80 +a34ae450a324fe8a3c25a4d653a654f9580ed56bbea213b8096987bbad0f5701d809a17076435e18017fea4d69f414bc +81381afe6433d62faf62ea488f39675e0091835892ecc238e02acf1662669c6d3962a71a3db652f6fe3bc5f42a0e5dc5 +a430d475bf8580c59111103316fe1aa79c523ea12f1d47a976bbfae76894717c20220e31cf259f08e84a693da6688d70 +b842814c359754ece614deb7d184d679d05d16f18a14b288a401cef5dad2cf0d5ee90bad487b80923fc5573779d4e4e8 +971d9a2627ff2a6d0dcf2af3d895dfbafca28b1c09610c466e4e2bff2746f8369de7f40d65b70aed135fe1d72564aa88 +8f4ce1c59e22b1ce7a0664caaa7e53735b154cfba8d2c5cc4159f2385843de82ab58ed901be876c6f7fce69cb4130950 +86cc9dc321b6264297987000d344fa297ef45bcc2a4df04e458fe2d907ad304c0ea2318e32c3179af639a9a56f3263cf +8229e0876dfe8f665c3fb19b250bd89d40f039bbf1b331468b403655be7be2e104c2fd07b9983580c742d5462ca39a43 +99299d73066e8eb128f698e56a9f8506dfe4bd014931e86b6b487d6195d2198c6c5bf15cccb40ccf1f8ddb57e9da44a2 +a3a3be37ac554c574b393b2f33d0a32a116c1a7cfeaf88c54299a4da2267149a5ecca71f94e6c0ef6e2f472b802f5189 +a91700d1a00387502cdba98c90f75fbc4066fefe7cc221c8f0e660994c936badd7d2695893fde2260c8c11d5bdcdd951 +8e03cae725b7f9562c5c5ab6361644b976a68bada3d7ca508abca8dfc80a469975689af1fba1abcf21bc2a190dab397d +b01461ad23b2a8fa8a6d241e1675855d23bc977dbf4714add8c4b4b7469ccf2375cec20e80cedfe49361d1a30414ac5b +a2673bf9bc621e3892c3d7dd4f1a9497f369add8cbaa3472409f4f86bd21ac67cfac357604828adfee6ada1835365029 +a042dff4bf0dfc33c178ba1b335e798e6308915128de91b12e5dbbab7c4ac8d60a01f6aea028c3a6d87b9b01e4e74c01 +86339e8a75293e4b3ae66b5630d375736b6e6b6b05c5cda5e73fbf7b2f2bd34c18a1d6cefede08625ce3046e77905cb8 +af2ebe1b7d073d03e3d98bc61af83bf26f7a8c130fd607aa92b75db22d14d016481b8aa231e2c9757695f55b7224a27f +a00ee882c9685e978041fd74a2c465f06e2a42ffd3db659053519925be5b454d6f401e3c12c746e49d910e4c5c9c5e8c +978a781c0e4e264e0dad57e438f1097d447d891a1e2aa0d5928f79a9d5c3faae6f258bc94fdc530b7b2fa6a9932bb193 +aa4b7ce2e0c2c9e9655bf21e3e5651c8503bce27483017b0bf476be743ba06db10228b3a4c721219c0779747f11ca282 +b003d1c459dacbcf1a715551311e45d7dbca83a185a65748ac74d1800bbeaba37765d9f5a1a221805c571910b34ebca8 +95b6e531b38648049f0d19de09b881baa1f7ea3b2130816b006ad5703901a05da57467d1a3d9d2e7c73fb3f2e409363c +a6cf9c06593432d8eba23a4f131bb7f72b9bd51ab6b4b772a749fe03ed72b5ced835a349c6d9920dba2a39669cb7c684 +aa3d59f6e2e96fbb66195bc58c8704e139fa76cd15e4d61035470bd6e305db9f98bcbf61ac1b95e95b69ba330454c1b3 +b57f97959c208361de6d7e86dff2b873068adb0f158066e646f42ae90e650079798f165b5cd713141cd3a2a90a961d9a +a76ee8ed9052f6a7a8c69774bb2597be182942f08115baba03bf8faaeaee526feba86120039fe8ca7b9354c3b6e0a8e6 +95689d78c867724823f564627d22d25010f278674c6d2d0cdb10329169a47580818995d1d727ce46c38a1e47943ebb89 +ab676d2256c6288a88e044b3d9ffd43eb9d5aaee00e8fc60ac921395fb835044c71a26ca948e557fed770f52d711e057 +96351c72785c32e5d004b6f4a1259fb8153d631f0c93fed172f18e8ba438fbc5585c1618deeabd0d6d0b82173c2e6170 +93dd8d3db576418e22536eba45ab7f56967c6c97c64260d6cddf38fb19c88f2ec5cd0e0156f50e70855eee8a2b879ffd +ad6ff16f40f6de3d7a737f8e6cebd8416920c4ff89dbdcd75eabab414af9a6087f83ceb9aff7680aa86bff98bd09c8cc +84de53b11671abc9c38710e19540c5c403817562aeb22a88404cdaff792c1180f717dbdfe8f54940c062c4d032897429 +872231b9efa1cdd447b312099a5c164c560440a9441d904e70f5abfc3b2a0d16be9a01aca5e0a2599a61e19407587e3d +88f44ac27094a2aa14e9dc40b099ee6d68f97385950f303969d889ee93d4635e34dff9239103bdf66a4b7cbba3e7eb7a +a59afebadf0260e832f6f44468443562f53fbaf7bcb5e46e1462d3f328ac437ce56edbca617659ac9883f9e13261fad7 +b1990e42743a88de4deeacfd55fafeab3bc380cb95de43ed623d021a4f2353530bcab9594389c1844b1c5ea6634c4555 +85051e841149a10e83f56764e042182208591396d0ce78c762c4a413e6836906df67f38c69793e158d64fef111407ba3 +9778172bbd9b1f2ec6bbdd61829d7b39a7df494a818e31c654bf7f6a30139899c4822c1bf418dd4f923243067759ce63 +9355005b4878c87804fc966e7d24f3e4b02bed35b4a77369d01f25a3dcbff7621b08306b1ac85b76fe7b4a3eb5f839b1 +8f9dc6a54fac052e236f8f0e1f571ac4b5308a43acbe4cc8183bce26262ddaf7994e41cf3034a4cbeca2c505a151e3b1 +8cc59c17307111723fe313046a09e0e32ea0cce62c13814ab7c6408c142d6a0311d801be4af53fc9240523f12045f9ef +8e6057975ed40a1932e47dd3ac778f72ee2a868d8540271301b1aa6858de1a5450f596466494a3e0488be4fbeb41c840 +812145efbd6559ae13325d56a15940ca4253b17e72a9728986b563bb5acc13ec86453796506ac1a8f12bd6f9e4a288c3 +911da0a6d6489eb3dab2ec4a16e36127e8a291ae68a6c2c9de33e97f3a9b1f00da57a94e270a0de79ecc5ecb45d19e83 +b72ea85973f4b2a7e6e71962b0502024e979a73c18a9111130e158541fa47bbaaf53940c8f846913a517dc69982ba9e1 +a7a56ad1dbdc55f177a7ad1d0af78447dc2673291e34e8ab74b26e2e2e7d8c5fe5dc89e7ef60f04a9508847b5b3a8188 +b52503f6e5411db5d1e70f5fb72ccd6463fa0f197b3e51ca79c7b5a8ab2e894f0030476ada72534fa4eb4e06c3880f90 +b51c7957a3d18c4e38f6358f2237b3904618d58b1de5dec53387d25a63772e675a5b714ad35a38185409931157d4b529 +b86b4266e719d29c043d7ec091547aa6f65bbf2d8d831d1515957c5c06513b72aa82113e9645ad38a7bc3f5383504fa6 +b95b547357e6601667b0f5f61f261800a44c2879cf94e879def6a105b1ad2bbf1795c3b98a90d588388e81789bd02681 +a58fd4c5ae4673fa350da6777e13313d5d37ed1dafeeb8f4f171549765b84c895875d9d3ae6a9741f3d51006ef81d962 +9398dc348d078a604aadc154e6eef2c0be1a93bb93ba7fe8976edc2840a3a318941338cc4d5f743310e539d9b46613d2 +902c9f0095014c4a2f0dccaaab543debba6f4cc82c345a10aaf4e72511725dbed7a34cd393a5f4e48a3e5142b7be84ed +a7c0447849bb44d04a0393a680f6cd390093484a79a147dd238f5d878030d1c26646d88211108e59fe08b58ad20c6fbd +80db045535d6e67a422519f5c89699e37098449d249698a7cc173a26ccd06f60238ae6cc7242eb780a340705c906790c +8e52b451a299f30124505de2e74d5341e1b5597bdd13301cc39b05536c96e4380e7f1b5c7ef076f5b3005a868657f17c +824499e89701036037571761e977654d2760b8ce21f184f2879fda55d3cda1e7a95306b8abacf1caa79d3cc075b9d27f +9049b956b77f8453d2070607610b79db795588c0cec12943a0f5fe76f358dea81e4f57a4692112afda0e2c05c142b26f +81911647d818a4b5f4990bfd4bc13bf7be7b0059afcf1b6839333e8569cdb0172fd2945410d88879349f677abaed5eb3 +ad4048f19b8194ed45b6317d9492b71a89a66928353072659f5ce6c816d8f21e69b9d1817d793effe49ca1874daa1096 +8d22f7b2ddb31458661abd34b65819a374a1f68c01fc6c9887edeba8b80c65bceadb8f57a3eb686374004b836261ef67 +92637280c259bc6842884db3d6e32602a62252811ae9b019b3c1df664e8809ffe86db88cfdeb8af9f46435c9ee790267 +a2f416379e52e3f5edc21641ea73dc76c99f7e29ea75b487e18bd233856f4c0183429f378d2bfc6cd736d29d6cadfa49 +882cb6b76dbdc188615dcf1a8439eba05ffca637dd25197508156e03c930b17b9fed2938506fdd7b77567cb488f96222 +b68b621bb198a763fb0634eddb93ed4b5156e59b96c88ca2246fd1aea3e6b77ed651e112ac41b30cd361fadc011d385e +a3cb22f6b675a29b2d1f827cacd30df14d463c93c3502ef965166f20d046af7f9ab7b2586a9c64f4eae4fad2d808a164 +8302d9ce4403f48ca217079762ce42cee8bc30168686bb8d3a945fbd5acd53b39f028dce757b825eb63af2d5ae41169d +b2eef1fbd1a176f1f4cd10f2988c7329abe4eb16c7405099fb92baa724ab397bc98734ef7d4b24c0f53dd90f57520d04 +a1bbef0bd684a3f0364a66bde9b29326bac7aa3dde4caed67f14fb84fed3de45c55e406702f1495a3e2864d4ee975030 +976acdb0efb73e3a3b65633197692dedc2adaed674291ae3df76b827fc866d214e9cac9ca46baefc4405ff13f953d936 +b9fbf71cc7b6690f601f0b1c74a19b7d14254183a2daaafec7dc3830cba5ae173d854bbfebeca985d1d908abe5ef0cda +90591d7b483598c94e38969c4dbb92710a1a894bcf147807f1bcbd8aa3ac210b9f2be65519aa829f8e1ccdc83ad9b8cf +a30568577c91866b9c40f0719d46b7b3b2e0b4a95e56196ac80898a2d89cc67880e1229933f2cd28ee3286f8d03414d7 +97589a88c3850556b359ec5e891f0937f922a751ac7c95949d3bbc7058c172c387611c0f4cb06351ef02e5178b3dd9e4 +98e7bbe27a1711f4545df742f17e3233fbcc63659d7419e1ca633f104cb02a32c84f2fac23ca2b84145c2672f68077ab +a7ddb91636e4506d8b7e92aa9f4720491bb71a72dadc47c7f4410e15f93e43d07d2b371951a0e6a18d1bd087aa96a5c4 +a7c006692227a06db40bceac3d5b1daae60b5692dd9b54772bedb5fea0bcc91cbcdb530cac31900ffc70c5b3ffadc969 +8d3ec6032778420dfa8be52066ba0e623467df33e4e1901dbadd586c5d750f4ccde499b5197e26b9ea43931214060f69 +8d9a8410518ea64f89df319bfd1fc97a0971cdb9ad9b11d1f8fe834042ea7f8dce4db56eeaf179ff8dda93b6db93e5ce +a3c533e9b3aa04df20b9ff635cb1154ce303e045278fcf3f10f609064a5445552a1f93989c52ce852fd0bbd6e2b6c22e +81934f3a7f8c1ae60ec6e4f212986bcc316118c760a74155d06ce0a8c00a9b9669ec4e143ca214e1b995e41271774fd9 +ab8e2d01a71192093ef8fafa7485e795567cc9db95a93fb7cc4cf63a391ef89af5e2bfad4b827fffe02b89271300407f +83064a1eaa937a84e392226f1a60b7cfad4efaa802f66de5df7498962f7b2649924f63cd9962d47906380b97b9fe80e1 +b4f5e64a15c6672e4b55417ee5dc292dcf93d7ea99965a888b1cc4f5474a11e5b6520eacbcf066840b343f4ceeb6bf33 +a63d278b842456ef15c278b37a6ea0f27c7b3ffffefca77c7a66d2ea06c33c4631eb242bbb064d730e70a8262a7b848a +83a41a83dbcdf0d22dc049de082296204e848c453c5ab1ba75aa4067984e053acf6f8b6909a2e1f0009ed051a828a73b +819485b036b7958508f15f3c19436da069cbe635b0318ebe8c014cf1ef9ab2df038c81161b7027475bcfa6fff8dd9faf +aa40e38172806e1e045e167f3d1677ef12d5dcdc89b43639a170f68054bd196c4fae34c675c1644d198907a03f76ba57 +969bae484883a9ed1fbed53b26b3d4ee4b0e39a6c93ece5b3a49daa01444a1c25727dabe62518546f36b047b311b177c +80a9e73a65da99664988b238096a090d313a0ee8e4235bc102fa79bb337b51bb08c4507814eb5baec22103ec512eaab0 +86604379aec5bddda6cbe3ef99c0ac3a3c285b0b1a15b50451c7242cd42ae6b6c8acb717dcca7917838432df93a28502 +a23407ee02a495bed06aa7e15f94cfb05c83e6d6fba64456a9bbabfa76b2b68c5c47de00ba169e710681f6a29bb41a22 +98cff5ecc73b366c6a01b34ac9066cb34f7eeaf4f38a5429bad2d07e84a237047e2a065c7e8a0a6581017dadb4695deb +8de9f68a938f441f3b7ab84bb1f473c5f9e5c9e139e42b7ccee1d254bd57d0e99c2ccda0f3198f1fc5737f6023dd204e +b0ce48d815c2768fb472a315cad86aa033d0e9ca506f146656e2941829e0acb735590b4fbc713c2d18d3676db0a954ac +82f485cdefd5642a6af58ac6817991c49fac9c10ace60f90b27f1788cc026c2fe8afc83cf499b3444118f9f0103598a8 +82c24550ed512a0d53fc56f64cc36b553823ae8766d75d772dacf038c460f16f108f87a39ceef7c66389790f799dbab3 +859ffcf1fe9166388316149b9acc35694c0ea534d43f09dae9b86f4aa00a23b27144dda6a352e74b9516e8c8d6fc809c +b8f7f353eec45da77fb27742405e5ad08d95ec0f5b6842025be9def3d9892f85eb5dd0921b41e6eff373618dba215bca +8ccca4436f9017e426229290f5cd05eac3f16571a4713141a7461acfe8ae99cd5a95bf5b6df129148693c533966145da +a2c67ecc19c0178b2994846fea4c34c327a5d786ac4b09d1d13549d5be5996d8a89021d63d65cb814923388f47cc3a03 +aa0ff87d676b418ec08f5cbf577ac7e744d1d0e9ebd14615b550eb86931eafd2a36d4732cc5d6fab1713fd7ab2f6f7c0 +8aef4730bb65e44efd6bb9441c0ae897363a2f3054867590a2c2ecf4f0224e578c7a67f10b40f8453d9f492ac15a9b2d +86a187e13d8fba5addcfdd5b0410cedd352016c930f913addd769ee09faa6be5ca3e4b1bdb417a965c643a99bd92be42 +a0a4e9632a7a094b14b29b78cd9c894218cdf6783e61671e0203865dc2a835350f465fbaf86168f28af7c478ca17bc89 +a8c7b02d8deff2cd657d8447689a9c5e2cd74ef57c1314ac4d69084ac24a7471954d9ff43fe0907d875dcb65fd0d3ce5 +97ded38760aa7be6b6960b5b50e83b618fe413cbf2bcc1da64c05140bcc32f5e0e709cd05bf8007949953fac5716bad9 +b0d293835a24d64c2ae48ce26e550b71a8c94a0883103757fb6b07e30747f1a871707d23389ba2b2065fa6bafe220095 +8f9e291bf849feaa575592e28e3c8d4b7283f733d41827262367ea1c40f298c7bcc16505255a906b62bf15d9f1ba85fb +998f4e2d12708b4fd85a61597ca2eddd750f73c9e0c9b3cf0825d8f8e01f1628fd19797dcaed3b16dc50331fc6b8b821 +b30d1f8c115d0e63bf48f595dd10908416774c78b3bbb3194192995154d80ea042d2e94d858de5f8aa0261b093c401fd +b5d9c75bb41f964cbff3f00e96d9f1480c91df8913f139f0d385d27a19f57a820f838eb728e46823cbff00e21c660996 +a6edec90b5d25350e2f5f0518777634f9e661ec9d30674cf5b156c4801746d62517751d90074830ac0f4b09911c262f1 +82f98da1264b6b75b8fbeb6a4d96d6a05b25c24db0d57ba3a38efe3a82d0d4e331b9fc4237d6494ccfe4727206457519 +b89511843453cf4ecd24669572d6371b1e529c8e284300c43e0d5bb6b3aaf35aeb634b3cb5c0a2868f0d5e959c1d0772 +a82bf065676583e5c1d3b81987aaae5542f522ba39538263a944bb33ea5b514c649344a96c0205a3b197a3f930fcda6c +a37b47ea527b7e06c460776aa662d9a49ff4149d3993f1a974b0dd165f7171770d189b0e2ea54fd5fccb6a14b116e68a +a1017677f97dda818274d47556d09d0e4ccacb23a252f82a6cfe78c630ad46fb9806307445a59fb61262182de3a2b29c +b01e9fcac239ba270e6877b79273ddd768bf8a51d2ed8a051b1c11e18eff3de5920e2fcbfbd26f06d381eddd3b1f1e1b +82fcd53d803b1c8e4ed76adc339b7f3a5962d37042b9683aabac7513ac68775d4a566a9460183926a6a95dbe7d551a1f +a763e78995d55cd21cdb7ef75d9642d6e1c72453945e346ab6690c20a4e1eeec61bb848ef830ae4b56182535e3c71d8f +b769f4db602251d4b0a1186782799bdcef66de33c110999a5775c50b349666ffd83d4c89714c4e376f2efe021a5cfdb2 +a59cbd1b785efcfa6e83fc3b1d8cf638820bc0c119726b5368f3fba9dce8e3414204fb1f1a88f6c1ff52e87961252f97 +95c8c458fd01aa23ecf120481a9c6332ebec2e8bb70a308d0576926a858457021c277958cf79017ddd86a56cacc2d7db +82eb41390800287ae56e77f2e87709de5b871c8bdb67c10a80fc65f3acb9f7c29e8fa43047436e8933f27449ea61d94d +b3ec25e3545eb83aed2a1f3558d1a31c7edde4be145ecc13b33802654b77dc049b4f0065069dd9047b051e52ab11dcdd +b78a0c715738f56f0dc459ab99e252e3b579b208142836b3c416b704ca1de640ca082f29ebbcee648c8c127df06f6b1e +a4083149432eaaf9520188ebf4607d09cf664acd1f471d4fb654476e77a9eaae2251424ffda78d09b6cb880df35c1219 +8c52857d68d6e9672df3db2df2dbf46b516a21a0e8a18eec09a6ae13c1ef8f369d03233320dd1c2c0bbe00abfc1ea18b +8c856089488803066bff3f8d8e09afb9baf20cecc33c8823c1c0836c3d45498c3de37e87c016b705207f60d2b00f8609 +831a3df39be959047b2aead06b4dcd3012d7b29417f642b83c9e8ce8de24a3dbbd29c6fdf55e2db3f7ea04636c94e403 +aed84d009f66544addabe404bf6d65af7779ce140dc561ff0c86a4078557b96b2053b7b8a43432ffb18cd814f143b9da +93282e4d72b0aa85212a77b336007d8ba071eea17492da19860f1ad16c1ea8867ccc27ef5c37c74b052465cc11ea4f52 +a7b78b8c8d057194e8d68767f1488363f77c77bddd56c3da2bc70b6354c7aa76247c86d51f7371aa38a4aa7f7e3c0bb7 +b1c77283d01dcd1bde649b5b044eac26befc98ff57cbee379fb5b8e420134a88f2fc7f0bf04d15e1fbd45d29e7590fe6 +a4aa8de70330a73b2c6458f20a1067eed4b3474829b36970a8df125d53bbdda4f4a2c60063b7cccb0c80fc155527652f +948a6c79ba1b8ad7e0bed2fae2f0481c4e41b4d9bbdd9b58164e28e9065700e83f210c8d5351d0212e0b0b68b345b3a5 +86a48c31dcbbf7b082c92d28e1f613a2378a910677d7db3a349dc089e4a1e24b12eee8e8206777a3a8c64748840b7387 +976adb1af21e0fc34148917cf43d933d7bfd3fd12ed6c37039dcd5a4520e3c6cf5868539ba5bf082326430deb8a4458d +b93e1a4476f2c51864bb4037e7145f0635eb2827ab91732b98d49b6c07f6ac443111aa1f1da76d1888665cb897c3834e +8afd46fb23bf869999fa19784b18a432a1f252d09506b8dbb756af900518d3f5f244989b3d7c823d9029218c655d3dc6 +83f1e59e3abeed18cdc632921672673f1cb6e330326e11c4e600e13e0d5bc11bdc970ae12952e15103a706fe720bf4d6 +90ce4cc660714b0b673d48010641c09c00fc92a2c596208f65c46073d7f349dd8e6e077ba7dcef9403084971c3295b76 +8b09b0f431a7c796561ecf1549b85048564de428dac0474522e9558b6065fede231886bc108539c104ce88ebd9b5d1b0 +85d6e742e2fb16a7b0ba0df64bc2c0dbff9549be691f46a6669bca05e89c884af16822b85faefefb604ec48c8705a309 +a87989ee231e468a712c66513746fcf03c14f103aadca0eac28e9732487deb56d7532e407953ab87a4bf8961588ef7b0 +b00da10efe1c29ee03c9d37d5918e391ae30e48304e294696b81b434f65cf8c8b95b9d1758c64c25e534d045ba28696f +91c0e1fb49afe46c7056400baa06dbb5f6e479db78ee37e2d76c1f4e88994357e257b83b78624c4ef6091a6c0eb8254d +883fb797c498297ccbf9411a3e727c3614af4eccde41619b773dc7f3259950835ee79453debf178e11dec4d3ada687a0 +a14703347e44eb5059070b2759297fcfcfc60e6893c0373eea069388eba3950aa06f1c57cd2c30984a2d6f9e9c92c79e +afebc7585b304ceba9a769634adff35940e89cd32682c78002822aab25eec3edc29342b7f5a42a56a1fec67821172ad5 +aea3ff3822d09dba1425084ca95fd359718d856f6c133c5fabe2b2eed8303b6e0ba0d8698b48b93136a673baac174fd9 +af2456a09aa777d9e67aa6c7c49a1845ea5cdda2e39f4c935c34a5f8280d69d4eec570446998cbbe31ede69a91e90b06 +82cada19fed16b891ef3442bafd49e1f07c00c2f57b2492dd4ee36af2bd6fd877d6cb41188a4d6ce9ec8d48e8133d697 +82a21034c832287f616619a37c122cee265cc34ae75e881fcaea4ea7f689f3c2bc8150bbf7dbcfd123522bfb7f7b1d68 +86877217105f5d0ec3eeff0289fc2a70d505c9fdf7862e8159553ef60908fb1a27bdaf899381356a4ef4649072a9796c +82b196e49c6e861089a427c0b4671d464e9d15555ffb90954cd0d630d7ae02eb3d98ceb529d00719c2526cd96481355a +a29b41d0d43d26ce76d4358e0db2b77df11f56e389f3b084d8af70a636218bd3ac86b36a9fe46ec9058c26a490f887f7 +a4311c4c20c4d7dd943765099c50f2fd423e203ccfe98ff00087d205467a7873762510cac5fdce7a308913ed07991ed7 +b1f040fc5cc51550cb2c25cf1fd418ecdd961635a11f365515f0cb4ffb31da71f48128c233e9cc7c0cf3978d757ec84e +a9ebae46f86d3bd543c5f207ed0d1aed94b8375dc991161d7a271f01592912072e083e2daf30c146430894e37325a1b9 +826418c8e17ad902b5fe88736323a47e0ca7a44bce4cbe27846ec8fe81de1e8942455dda6d30e192cdcc73e11df31256 +85199db563427c5edcbac21f3d39fec2357be91fb571982ddcdc4646b446ad5ced84410de008cb47b3477ee0d532daf8 +b7eed9cd400b2ca12bf1d9ae008214b8561fb09c8ad9ff959e626ffde00fee5ff2f5b6612e231f2a1a9b1646fcc575e3 +8b40bf12501dcbac78f5a314941326bfcddf7907c83d8d887d0bb149207f85d80cd4dfbd7935439ea7b14ea39a3fded7 +83e3041af302485399ba6cd5120e17af61043977083887e8d26b15feec4a6b11171ac5c06e6ad0971d4b58a81ff12af3 +8f5b9a0eecc589dbf8c35a65d5e996a659277ef6ea509739c0cb7b3e2da9895e8c8012de662e5b23c5fa85d4a8f48904 +835d71ed5e919d89d8e6455f234f3ff215462c4e3720c371ac8c75e83b19dfe3ae15a81547e4dc1138e5f5997f413cc9 +8b7d2e4614716b1db18e9370176ea483e6abe8acdcc3dcdf5fb1f4d22ca55d652feebdccc171c6de38398d9f7bfdec7a +93eace72036fe57d019676a02acf3d224cf376f166658c1bf705db4f24295881d477d6fdd7916efcfceff8c7a063deda +b1ac460b3d516879a84bc886c54f020a9d799e7c49af3e4d7de5bf0d2793c852254c5d8fe5616147e6659512e5ccb012 +acd0947a35cb167a48bcd9667620464b54ac0e78f9316b4aa92dcaab5422d7a732087e52e1c827faa847c6b2fe6e7766 +94ac33d21c3d12ff762d32557860e911cd94d666609ddcc42161b9c16f28d24a526e8b10bb03137257a92cec25ae637d +832e02058b6b994eadd8702921486241f9a19e68ed1406dad545e000a491ae510f525ccf9d10a4bba91c68f2c53a0f58 +9471035d14f78ff8f463b9901dd476b587bb07225c351161915c2e9c6114c3c78a501379ab6fb4eb03194c457cbd22bf +ab64593e034c6241d357fcbc32d8ea5593445a5e7c24cac81ad12bd2ef01843d477a36dc1ba21dbe63b440750d72096a +9850f3b30045e927ad3ec4123a32ed2eb4c911f572b6abb79121873f91016f0d80268de8b12e2093a4904f6e6cab7642 +987212c36b4722fe2e54fa30c52b1e54474439f9f35ca6ad33c5130cd305b8b54b532dd80ffd2c274105f20ce6d79f6e +8b4d0c6abcb239b5ed47bef63bc17efe558a27462c8208fa652b056e9eae9665787cd1aee34fbb55beb045c8bfdb882b +a9f3483c6fee2fe41312d89dd4355d5b2193ac413258993805c5cbbf0a59221f879386d3e7a28e73014f10e65dd503d9 +a2225da3119b9b7c83d514b9f3aeb9a6d9e32d9cbf9309cbb971fd53c4b2c001d10d880a8ad8a7c281b21d85ceca0b7c +a050be52e54e676c151f7a54453bbb707232f849beab4f3bf504b4d620f59ed214409d7c2bd3000f3ff13184ccda1c35 +adbccf681e15b3edb6455a68d292b0a1d0f5a4cb135613f5e6db9943f02181341d5755875db6ee474e19ace1c0634a28 +8b6eff675632a6fad0111ec72aacc61c7387380eb87933fd1d098856387d418bd38e77d897e65d6fe35951d0627c550b +aabe2328ddf90989b15e409b91ef055cb02757d34987849ae6d60bef2c902bf8251ed21ab30acf39e500d1d511e90845 +92ba4eb1f796bc3d8b03515f65c045b66e2734c2da3fc507fdd9d6b5d1e19ab3893726816a32141db7a31099ca817d96 +8a98b3cf353138a1810beb60e946183803ef1d39ac4ea92f5a1e03060d35a4774a6e52b14ead54f6794d5f4022b8685c +909f8a5c13ec4a59b649ed3bee9f5d13b21d7f3e2636fd2bb3413c0646573fdf9243d63083356f12f5147545339fcd55 +9359d914d1267633141328ed0790d81c695fea3ddd2d406c0df3d81d0c64931cf316fe4d92f4353c99ff63e2aefc4e34 +b88302031681b54415fe8fbfa161c032ea345c6af63d2fb8ad97615103fd4d4281c5a9cae5b0794c4657b97571a81d3b +992c80192a519038082446b1fb947323005b275e25f2c14c33cc7269e0ec038581cc43705894f94bad62ae33a8b7f965 +a78253e3e3eece124bef84a0a8807ce76573509f6861d0b6f70d0aa35a30a123a9da5e01e84969708c40b0669eb70aa6 +8d5724de45270ca91c94792e8584e676547d7ac1ac816a6bb9982ee854eb5df071d20545cdfd3771cd40f90e5ba04c8e +825a6f586726c68d45f00ad0f5a4436523317939a47713f78fd4fe81cd74236fdac1b04ecd97c2d0267d6f4981d7beb1 +93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 +b5bfd7dd8cdeb128843bc287230af38926187075cbfbefa81009a2ce615ac53d2914e5870cb452d2afaaab24f3499f72185cbfee53492714734429b7b38608e23926c911cceceac9a36851477ba4c60b087041de621000edc98edada20c1def2 +b5337ba0ce5d37224290916e268e2060e5c14f3f9fc9e1ec3af5a958e7a0303122500ce18f1a4640bf66525bd10e763501fe986d86649d8d45143c08c3209db3411802c226e9fe9a55716ac4a0c14f9dcef9e70b2bb309553880dc5025eab3cc +b3c1dcdc1f62046c786f0b82242ef283e7ed8f5626f72542aa2c7a40f14d9094dd1ebdbd7457ffdcdac45fd7da7e16c51200b06d791e5e43e257e45efdf0bd5b06cd2333beca2a3a84354eb48662d83aef5ecf4e67658c851c10b13d8d87c874 +954d91c7688983382609fca9e211e461f488a5971fd4e40d7e2892037268eacdfd495cfa0a7ed6eb0eb11ac3ae6f651716757e7526abe1e06c64649d80996fd3105c20c4c94bc2b22d97045356fe9d791f21ea6428ac48db6f9e68e30d875280 +88a6b6bb26c51cf9812260795523973bb90ce80f6820b6c9048ab366f0fb96e48437a7f7cb62aedf64b11eb4dfefebb0147608793133d32003cb1f2dc47b13b5ff45f1bb1b2408ea45770a08dbfaec60961acb8119c47b139a13b8641e2c9487 +85cd7be9728bd925d12f47fb04b32d9fad7cab88788b559f053e69ca18e463113ecc8bbb6dbfb024835f901b3a957d3108d6770fb26d4c8be0a9a619f6e3a4bf15cbfd48e61593490885f6cee30e4300c5f9cf5e1c08e60a2d5b023ee94fcad0 +80477dba360f04399821a48ca388c0fa81102dd15687fea792ee8c1114e00d1bc4839ad37ac58900a118d863723acfbe08126ea883be87f50e4eabe3b5e72f5d9e041db8d9b186409fd4df4a7dde38c0e0a3b1ae29b098e5697e7f110b6b27e4 +b7a6aec08715a9f8672a2b8c367e407be37e59514ac19dd4f0942a68007bba3923df22da48702c63c0d6b3efd3c2d04e0fe042d8b5a54d562f9f33afc4865dcbcc16e99029e25925580e87920c399e710d438ac1ce3a6dc9b0d76c064a01f6f7 +ac1b001edcea02c8258aeffbf9203114c1c874ad88dae1184fadd7d94cd09053649efd0ca413400e6e9b5fa4eac33261000af88b6bd0d2abf877a4f0355d2fb4d6007adb181695201c5432e50b850b51b3969f893bddf82126c5a71b042b7686 +90043fda4de53fb364fab2c04be5296c215599105ecff0c12e4917c549257125775c29f2507124d15f56e30447f367db0596c33237242c02d83dfd058735f1e3c1ff99069af55773b6d51d32a68bf75763f59ec4ee7267932ae426522b8aaab6 +a8660ce853e9dc08271bf882e29cd53397d63b739584dda5263da4c7cc1878d0cf6f3e403557885f557e184700575fee016ee8542dec22c97befe1d10f414d22e84560741cdb3e74c30dda9b42eeaaf53e27822de2ee06e24e912bf764a9a533 +8fe3921a96d0d065e8aa8fce9aa42c8e1461ca0470688c137be89396dd05103606dab6cdd2a4591efd6addf72026c12e065da7be276dee27a7e30afa2bd81c18f1516e7f068f324d0bad9570b95f6bd02c727cd2343e26db0887c3e4e26dceda +8ae1ad97dcb9c192c9a3933541b40447d1dc4eebf380151440bbaae1e120cc5cdf1bcea55180b128d8e180e3af623815191d063cc0d7a47d55fb7687b9d87040bf7bc1a7546b07c61db5ccf1841372d7c2fe4a5431ffff829f3c2eb590b0b710 +8c2fa96870a88150f7876c931e2d3cc2adeaaaf5c73ef5fa1cf9dfa0991ae4819f9321af7e916e5057d87338e630a2f21242c29d76963cf26035b548d2a63d8ad7bd6efefa01c1df502cbdfdfe0334fb21ceb9f686887440f713bf17a89b8081 +b9aa98e2f02bb616e22ee5dd74c7d1049321ac9214d093a738159850a1dbcc7138cb8d26ce09d8296368fd5b291d74fa17ac7cc1b80840fdd4ee35e111501e3fa8485b508baecda7c1ab7bd703872b7d64a2a40b3210b6a70e8a6ffe0e5127e3 +9292db67f8771cdc86854a3f614a73805bf3012b48f1541e704ea4015d2b6b9c9aaed36419769c87c49f9e3165f03edb159c23b3a49c4390951f78e1d9b0ad997129b17cdb57ea1a6638794c0cca7d239f229e589c5ae4f9fe6979f7f8cba1d7 +91cd9e86550f230d128664f7312591fee6a84c34f5fc7aed557bcf986a409a6de722c4330453a305f06911d2728626e611acfdf81284f77f60a3a1595053a9479964fd713117e27c0222cc679674b03bc8001501aaf9b506196c56de29429b46 +a9516b73f605cc31b89c68b7675dc451e6364595243d235339437f556cf22d745d4250c1376182273be2d99e02c10eee047410a43eff634d051aeb784e76cb3605d8e079b9eb6ad1957dfdf77e1cd32ce4a573c9dfcc207ca65af6eb187f6c3d +a9667271f7d191935cc8ad59ef3ec50229945faea85bfdfb0d582090f524436b348aaa0183b16a6231c00332fdac2826125b8c857a2ed9ec66821cfe02b3a2279be2412441bc2e369b255eb98614e4be8490799c4df22f18d47d24ec70bba5f7 +a4371144d2aa44d70d3cb9789096d3aa411149a6f800cb46f506461ee8363c8724667974252f28aea61b6030c05930ac039c1ee64bb4bd56532a685cae182bf2ab935eee34718cffcb46cae214c77aaca11dbb1320faf23c47247db1da04d8dc +89a7eb441892260b7e81168c386899cd84ffc4a2c5cad2eae0d1ab9e8b5524662e6f660fe3f8bfe4c92f60b060811bc605b14c5631d16709266886d7885a5eb5930097127ec6fb2ebbaf2df65909cf48f253b3d5e22ae48d3e9a2fd2b01f447e +9648c42ca97665b5eccb49580d8532df05eb5a68db07f391a2340769b55119eaf4c52fe4f650c09250fa78a76c3a1e271799b8333cc2628e3d4b4a6a3e03da1f771ecf6516dd63236574a7864ff07e319a6f11f153406280d63af9e2b5713283 +9663bf6dd446ea7a90658ee458578d4196dc0b175ef7fcfa75f44d41670850774c2e46c5a6be132a2c072a3c0180a24f0305d1acac49d2d79878e5cda80c57feda3d01a6af12e78b5874e2a4b3717f11c97503b41a4474e2e95b179113726199 +b212aeb4814e0915b432711b317923ed2b09e076aaf558c3ae8ef83f9e15a83f9ea3f47805b2750ab9e8106cb4dc6ad003522c84b03dc02829978a097899c773f6fb31f7fe6b8f2d836d96580f216fec20158f1590c3e0d7850622e15194db05 +925f005059bf07e9ceccbe66c711b048e236ade775720d0fe479aebe6e23e8af281225ad18e62458dc1b03b42ad4ca290d4aa176260604a7aad0d9791337006fbdebe23746f8060d42876f45e4c83c3643931392fde1cd13ff8bddf8111ef974 +9553edb22b4330c568e156a59ef03b26f5c326424f830fe3e8c0b602f08c124730ffc40bc745bec1a22417adb22a1a960243a10565c2be3066bfdb841d1cd14c624cd06e0008f4beb83f972ce6182a303bee3fcbcabc6cfe48ec5ae4b7941bfc +935f5a404f0a78bdcce709899eda0631169b366a669e9b58eacbbd86d7b5016d044b8dfc59ce7ed8de743ae16c2343b50e2f925e88ba6319e33c3fc76b314043abad7813677b4615c8a97eb83cc79de4fedf6ccbcfa4d4cbf759a5a84e4d9742 +a5b014ab936eb4be113204490e8b61cd38d71da0dec7215125bcd131bf3ab22d0a32ce645bca93e7b3637cf0c2db3d6601a0ddd330dc46f9fae82abe864ffc12d656c88eb50c20782e5bb6f75d18760666f43943abb644b881639083e122f557 +935b7298ae52862fa22bf03bfc1795b34c70b181679ae27de08a9f5b4b884f824ef1b276b7600efa0d2f1d79e4a470d51692fd565c5cf8343dd80e5d3336968fc21c09ba9348590f6206d4424eb229e767547daefa98bc3aa9f421158dee3f2a +9830f92446e708a8f6b091cc3c38b653505414f8b6507504010a96ffda3bcf763d5331eb749301e2a1437f00e2415efb01b799ad4c03f4b02de077569626255ac1165f96ea408915d4cf7955047620da573e5c439671d1fa5c833fb11de7afe6 +840dcc44f673fff3e387af2bb41e89640f2a70bcd2b92544876daa92143f67c7512faf5f90a04b7191de01f3e2b1bde00622a20dc62ca23bbbfaa6ad220613deff43908382642d4d6a86999f662efd64b1df448b68c847cfa87630a3ffd2ec76 +92950c895ed54f7f876b2fda17ecc9c41b7accfbdd42c210cc5b475e0737a7279f558148531b5c916e310604a1de25a80940c94fe5389ae5d6a5e9c371be67bceea1877f5401725a6595bcf77ece60905151b6dfcb68b75ed2e708c73632f4fd +8010246bf8e94c25fd029b346b5fbadb404ef6f44a58fd9dd75acf62433d8cc6db66974f139a76e0c26dddc1f329a88214dbb63276516cf325c7869e855d07e0852d622c332ac55609ba1ec9258c45746a2aeb1af0800141ee011da80af175d4 +b0f1bad257ebd187bdc3f37b23f33c6a5d6a8e1f2de586080d6ada19087b0e2bf23b79c1b6da1ee82271323f5bdf3e1b018586b54a5b92ab6a1a16bb3315190a3584a05e6c37d5ca1e05d702b9869e27f513472bcdd00f4d0502a107773097da +9636d24f1ede773ce919f309448dd7ce023f424afd6b4b69cb98c2a988d849a283646dc3e469879daa1b1edae91ae41f009887518e7eb5578f88469321117303cd3ac2d7aee4d9cb5f82ab9ae3458e796dfe7c24284b05815acfcaa270ff22e2 +b373feb5d7012fd60578d7d00834c5c81df2a23d42794fed91aa9535a4771fde0341c4da882261785e0caca40bf83405143085e7f17e55b64f6c5c809680c20b050409bf3702c574769127c854d27388b144b05624a0e24a1cbcc4d08467005b +b15680648949ce69f82526e9b67d9b55ce5c537dc6ab7f3089091a9a19a6b90df7656794f6edc87fb387d21573ffc847062623685931c2790a508cbc8c6b231dd2c34f4d37d4706237b1407673605a604bcf6a50cc0b1a2db20485e22b02c17e +8817e46672d40c8f748081567b038a3165f87994788ec77ee8daea8587f5540df3422f9e120e94339be67f186f50952504cb44f61e30a5241f1827e501b2de53c4c64473bcc79ab887dd277f282fbfe47997a930dd140ac08b03efac88d81075 +a6e4ef6c1d1098f95aae119905f87eb49b909d17f9c41bcfe51127aa25fee20782ea884a7fdf7d5e9c245b5a5b32230b07e0dbf7c6743bf52ee20e2acc0b269422bd6cf3c07115df4aa85b11b2c16630a07c974492d9cdd0ec325a3fabd95044 +8634aa7c3d00e7f17150009698ce440d8e1b0f13042b624a722ace68ead870c3d2212fbee549a2c190e384d7d6ac37ce14ab962c299ea1218ef1b1489c98906c91323b94c587f1d205a6edd5e9d05b42d591c26494a6f6a029a2aadb5f8b6f67 +821a58092900bdb73decf48e13e7a5012a3f88b06288a97b855ef51306406e7d867d613d9ec738ebacfa6db344b677d21509d93f3b55c2ebf3a2f2a6356f875150554c6fff52e62e3e46f7859be971bf7dd9d5b3e1d799749c8a97c2e04325df +8dba356577a3a388f782e90edb1a7f3619759f4de314ad5d95c7cc6e197211446819c4955f99c5fc67f79450d2934e3c09adefc91b724887e005c5190362245eec48ce117d0a94d6fa6db12eda4ba8dde608fbbd0051f54dcf3bb057adfb2493 +a32a690dc95c23ed9fb46443d9b7d4c2e27053a7fcc216d2b0020a8cf279729c46114d2cda5772fd60a97016a07d6c5a0a7eb085a18307d34194596f5b541cdf01b2ceb31d62d6b55515acfd2b9eec92b27d082fbc4dc59fc63b551eccdb8468 +a040f7f4be67eaf0a1d658a3175d65df21a7dbde99bfa893469b9b43b9d150fc2e333148b1cb88cfd0447d88fa1a501d126987e9fdccb2852ecf1ba907c2ca3d6f97b055e354a9789854a64ecc8c2e928382cf09dda9abde42bbdf92280cdd96 +864baff97fa60164f91f334e0c9be00a152a416556b462f96d7c43b59fe1ebaff42f0471d0bf264976f8aa6431176eb905bd875024cf4f76c13a70bede51dc3e47e10b9d5652d30d2663b3af3f08d5d11b9709a0321aba371d2ef13174dcfcaf +95a46f32c994133ecc22db49bad2c36a281d6b574c83cfee6680b8c8100466ca034b815cfaedfbf54f4e75188e661df901abd089524e1e0eb0bf48d48caa9dd97482d2e8c1253e7e8ac250a32fd066d5b5cb08a8641bdd64ecfa48289dca83a3 +a2cce2be4d12144138cb91066e0cd0542c80b478bf467867ebef9ddaf3bd64e918294043500bf5a9f45ee089a8d6ace917108d9ce9e4f41e7e860cbce19ac52e791db3b6dde1c4b0367377b581f999f340e1d6814d724edc94cb07f9c4730774 +b145f203eee1ac0a1a1731113ffa7a8b0b694ef2312dabc4d431660f5e0645ef5838e3e624cfe1228cfa248d48b5760501f93e6ab13d3159fc241427116c4b90359599a4cb0a86d0bb9190aa7fabff482c812db966fd2ce0a1b48cb8ac8b3bca +adabe5d215c608696e03861cbd5f7401869c756b3a5aadc55f41745ad9478145d44393fec8bb6dfc4ad9236dc62b9ada0f7ca57fe2bae1b71565dbf9536d33a68b8e2090b233422313cc96afc7f1f7e0907dc7787806671541d6de8ce47c4cd0 +ae7845fa6b06db53201c1080e01e629781817f421f28956589c6df3091ec33754f8a4bd4647a6bb1c141ac22731e3c1014865d13f3ed538dcb0f7b7576435133d9d03be655f8fbb4c9f7d83e06d1210aedd45128c2b0c9bab45a9ddde1c862a5 +9159eaa826a24adfa7adf6e8d2832120ebb6eccbeb3d0459ffdc338548813a2d239d22b26451fda98cc0c204d8e1ac69150b5498e0be3045300e789bcb4e210d5cd431da4bdd915a21f407ea296c20c96608ded0b70d07188e96e6c1a7b9b86b +a9fc6281e2d54b46458ef564ffaed6944bff71e389d0acc11fa35d3fcd8e10c1066e0dde5b9b6516f691bb478e81c6b20865281104dcb640e29dc116daae2e884f1fe6730d639dbe0e19a532be4fb337bf52ae8408446deb393d224eee7cfa50 +84291a42f991bfb36358eedead3699d9176a38f6f63757742fdbb7f631f2c70178b1aedef4912fed7b6cf27e88ddc7eb0e2a6aa4b999f3eb4b662b93f386c8d78e9ac9929e21f4c5e63b12991fcde93aa64a735b75b535e730ff8dd2abb16e04 +a1b7fcacae181495d91765dfddf26581e8e39421579c9cbd0dd27a40ea4c54af3444a36bf85a11dda2114246eaddbdd619397424bb1eb41b5a15004b902a590ede5742cd850cf312555be24d2df8becf48f5afba5a8cd087cb7be0a521728386 +92feaaf540dbd84719a4889a87cdd125b7e995a6782911931fef26da9afcfbe6f86aaf5328fe1f77631491ce6239c5470f44c7791506c6ef1626803a5794e76d2be0af92f7052c29ac6264b7b9b51f267ad820afc6f881460521428496c6a5f1 +a525c925bfae1b89320a5054acc1fa11820f73d0cf28d273092b305467b2831fab53b6daf75fb926f332782d50e2522a19edcd85be5eb72f1497193c952d8cd0bcc5d43b39363b206eae4cb1e61668bde28a3fb2fc1e0d3d113f6dfadb799717 +98752bb6f5a44213f40eda6aa4ff124057c1b13b6529ab42fe575b9afa66e59b9c0ed563fb20dff62130c436c3e905ee17dd8433ba02c445b1d67182ab6504a90bbe12c26a754bbf734665c622f76c62fe2e11dd43ce04fd2b91a8463679058b +a9aa9a84729f7c44219ff9e00e651e50ddea3735ef2a73fdf8ed8cd271961d8ed7af5cd724b713a89a097a3fe65a3c0202f69458a8b4c157c62a85668b12fc0d3957774bc9b35f86c184dd03bfefd5c325da717d74192cc9751c2073fe9d170e +b221c1fd335a4362eff504cd95145f122bf93ea02ae162a3fb39c75583fc13a932d26050e164da97cff3e91f9a7f6ff80302c19dd1916f24acf6b93b62f36e9665a8785413b0c7d930c7f1668549910f849bca319b00e59dd01e5dec8d2edacc +a71e2b1e0b16d754b848f05eda90f67bedab37709550171551050c94efba0bfc282f72aeaaa1f0330041461f5e6aa4d11537237e955e1609a469d38ed17f5c2a35a1752f546db89bfeff9eab78ec944266f1cb94c1db3334ab48df716ce408ef +b990ae72768779ba0b2e66df4dd29b3dbd00f901c23b2b4a53419226ef9232acedeb498b0d0687c463e3f1eead58b20b09efcefa566fbfdfe1c6e48d32367936142d0a734143e5e63cdf86be7457723535b787a9cfcfa32fe1d61ad5a2617220 +8d27e7fbff77d5b9b9bbc864d5231fecf817238a6433db668d5a62a2c1ee1e5694fdd90c3293c06cc0cb15f7cbeab44d0d42be632cb9ff41fc3f6628b4b62897797d7b56126d65b694dcf3e298e3561ac8813fbd7296593ced33850426df42db +a92039a08b5502d5b211a7744099c9f93fa8c90cedcb1d05e92f01886219dd464eb5fb0337496ad96ed09c987da4e5f019035c5b01cc09b2a18b8a8dd419bc5895388a07e26958f6bd26751929c25f89b8eb4a299d822e2d26fec9ef350e0d3c +92dcc5a1c8c3e1b28b1524e3dd6dbecd63017c9201da9dbe077f1b82adc08c50169f56fc7b5a3b28ec6b89254de3e2fd12838a761053437883c3e01ba616670cea843754548ef84bcc397de2369adcca2ab54cd73c55dc68d87aec3fc2fe4f10 \ No newline at end of file From a307d1cd11b0d5676f02ba26eb30e4ba2339a04a Mon Sep 17 00:00:00 2001 From: koloz Date: Wed, 17 Jan 2024 16:32:23 -0500 Subject: [PATCH 02/35] updated info construction and build out test --- Cargo.lock | 4 +- core/lib/types/Cargo.toml | 2 +- core/lib/types/src/kzg.rs | 186 ++++++++++++++++++++++++++++++++-- etc/kzg_tests/kzg_test_0.json | 13 ++- 4 files changed, 190 insertions(+), 15 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 337f17289f9..bffaeb8957a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8636,7 +8636,7 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.1" -source = "git+https://github.com/matter-labs/zkevm_circuits.git?rev=f7c610e2ba15e6e426a6f474b722f095c5921dbe#f7c610e2ba15e6e426a6f474b722f095c5921dbe" +source = "git+https://github.com/matter-labs/zkevm_circuits.git?rev=42daa283a9d7bd601286061d31b7c9f90b969cde#42daa283a9d7bd601286061d31b7c9f90b969cde" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -9479,7 +9479,7 @@ dependencies = [ "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/zkevm_circuits.git?rev=f7c610e2ba15e6e426a6f474b722f095c5921dbe)", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/zkevm_circuits.git?rev=42daa283a9d7bd601286061d31b7c9f90b969cde)", "zkevm_test_harness 1.3.3", "zksync_basic_types", "zksync_config", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index ecafeb20882..93c9c0feac2 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -50,7 +50,7 @@ blake2 = "0.10" ethereum_types_old = { package = "ethereum-types", version = "0.12.0" } c-kzg = { git = "https://github.com/ethereum/c-kzg-4844.git", rev = "e266280d88f006b23925c5062476b316d5407cb1" } -zkevm_circuits = { git = "https://github.com/matter-labs/zkevm_circuits.git", rev = "f7c610e2ba15e6e426a6f474b722f095c5921dbe" } +zkevm_circuits = { git = "https://github.com/matter-labs/zkevm_circuits.git", rev = "42daa283a9d7bd601286061d31b7c9f90b969cde" } [dev-dependencies] secp256k1 = { version = "0.27", features = ["recovery"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 72eda7d3f52..d4b4305167c 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -1,7 +1,11 @@ -use std::path::Path; +use std::convert::TryInto; use c_kzg::{Blob, Bytes32, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; -use zkevm_circuits::eip_4844::input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}; +use zk_evm::sha3::{Digest, Keccak256}; +use zkevm_circuits::eip_4844::{ + input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, + zksync_pubdata_into_ethereum_4844_data, +}; const BYTES_PER_BLOB_ZK_SYNC: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; @@ -9,8 +13,6 @@ const BYTES_PER_BLOB_ZK_SYNC: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; /// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) = 144 bytes const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; -// const KZG_SETTINGS: KzgSettings = KzgSettings::load_trusted_setup_file(&Path::new("./trusted_setup.txt")).unwrap(); - pub struct KzgInfo { pub blob: Blob, pub kzg_commitment: KzgCommitment, @@ -25,6 +27,13 @@ impl KzgInfo { /// Size of KzgInfo is equal to size(blob) + size(kzg_commitment) + size(bytes32) + size(bytes32) + size(kzg_proof) + size(bytes32) + size(kzg_proof) const SERIALIZED_SIZE: usize = 131_072 + 48 + 32 + 32 + 48 + 32 + 48; + /// Load in local kzg settings file at trusted_setup.txt + pub fn kzg_settings() -> KzgSettings { + let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); + let path = std::path::Path::new(&zksync_home).join("trusted_setup.txt"); + KzgSettings::load_trusted_setup_file(&path).unwrap() + } + /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) pub fn to_pubdata_commitment(&self) -> [u8; BYTES_PER_PUBDATA_COMMITMENT] { @@ -117,6 +126,65 @@ impl KzgInfo { res } + + /// Construct all the KZG info we need for turning a piece of zksync pubdata into a 4844 blob. + /// The information we need is: + /// 1. zksync blob <- pad_right(pubdata) + /// 2. linear hash <- hash(zksync blob) + /// 3. 4844 blob <- zksync_pubdata_into_ethereum_4844_data(zksync blob) + /// 4. 4844 kzg commitment <- blob_to_kzg_commitment(4844 blob) + /// 5. versioned hash <- hash(4844 kzg commitment) + /// 6. opening point <- keccak(linear hash || versioned hash)[16..] + /// 7. opening value, opening proof <- compute_kzg_proof(4844) + /// 8. blob proof <- compute_blob_kzg_proof(blob, 4844 kzg commitment) + pub fn new(pubdata: Vec) -> Self { + let kzg_settings = Self::kzg_settings(); + + assert!(pubdata.len() <= BYTES_PER_BLOB_ZK_SYNC); + + let mut zksync_blob = [0u8; BYTES_PER_BLOB_ZK_SYNC]; + zksync_blob[0..pubdata.len()].copy_from_slice(&pubdata); + + let mut hasher = Keccak256::new(); + hasher.update(zksync_blob); + let linear_hash = &hasher.finalize_reset(); + + let bytes_4844 = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); + let blob = Blob::new(bytes_4844.try_into().unwrap()); + + let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, &kzg_settings).unwrap(); + + let mut hasher = Keccak256::new(); + hasher.update(kzg_commitment.to_bytes().into_inner()); + let mut versioned_hash_bytes = hasher.finalize_reset(); + versioned_hash_bytes[0] = 0x01; + let versioned_hash = Bytes32::from_bytes(&versioned_hash_bytes).unwrap(); + + hasher.update(linear_hash.as_slice()); + hasher.update(versioned_hash_bytes); + + let opening_point_bytes = &hasher.finalize_reset(); + let mut opening_point = [0u8; 32]; + opening_point[16..].copy_from_slice(&opening_point_bytes[16..]); + let opening_point = Bytes32::from_bytes(&opening_point).unwrap(); + + let (opening_proof, opening_value) = + KzgProof::compute_kzg_proof(&blob, &opening_point, &kzg_settings).unwrap(); + + let blob_proof = + KzgProof::compute_blob_kzg_proof(&blob, &kzg_commitment.to_bytes(), &kzg_settings) + .unwrap(); + + Self { + blob, + kzg_commitment, + opening_point, + opening_value, + opening_proof, + versioned_hash, + blob_proof, + } + } } #[cfg(test)] @@ -124,15 +192,31 @@ mod tests { use serde::{Deserialize, Serialize}; use serde_with::serde_as; + use super::{KzgInfo, KzgProof}; + use crate::{H256, U256}; + #[serde_as] #[derive(Debug, Serialize, Deserialize)] - struct KzgTest { + struct ExepectedOutputs { + versioned_hash: H256, #[serde_as(as = "serde_with::hex::Hex")] - blob: Vec, + kzg_commitment: Vec, + opening_point: U256, + opening_value: U256, #[serde_as(as = "serde_with::hex::Hex")] - versioned_hash: Vec, + opening_proof: Vec, #[serde_as(as = "serde_with::hex::Hex")] - commitment: Vec, + blob_proof: Vec, + #[serde_as(as = "serde_with::hex::Hex")] + pubdata_commitment: Vec, + } + + #[serde_as] + #[derive(Debug, Serialize, Deserialize)] + struct KzgTest { + #[serde_as(as = "serde_with::hex::Hex")] + pubdata: Vec, + expected_outputs: ExepectedOutputs, } #[test] @@ -142,6 +226,90 @@ mod tests { let contents = std::fs::read_to_string(path).unwrap(); let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); - dbg!(kzg_test); + let kzg_info = KzgInfo::new(kzg_test.pubdata); + + assert_eq!( + kzg_test.expected_outputs.versioned_hash, + H256::from_slice(kzg_info.versioned_hash.as_slice()) + ); + + assert_eq!( + kzg_test.expected_outputs.kzg_commitment, + kzg_info.kzg_commitment.to_bytes().as_slice() + ); + + assert_eq!( + kzg_test.expected_outputs.opening_point, + U256::from_big_endian(kzg_info.opening_point.as_slice()) + ); + + assert_eq!( + kzg_test.expected_outputs.opening_value, + U256::from_big_endian(kzg_info.opening_value.as_slice()) + ); + + assert_eq!( + kzg_test.expected_outputs.opening_proof, + kzg_info.opening_proof.to_bytes().as_slice() + ); + + assert_eq!( + kzg_test.expected_outputs.blob_proof, + kzg_info.blob_proof.to_bytes().as_slice() + ); + + let encoded_info = kzg_info.to_bytes(); + let kzg_info_2 = KzgInfo::from_slice(&encoded_info); + + assert_eq!(kzg_info.blob, kzg_info_2.blob); + + assert_eq!( + kzg_info.kzg_commitment.to_bytes(), + kzg_info_2.kzg_commitment.to_bytes() + ); + + assert_eq!(kzg_info.opening_point, kzg_info_2.opening_point); + + assert_eq!(kzg_info.opening_value, kzg_info_2.opening_value); + + assert_eq!( + kzg_info.opening_proof.to_bytes(), + kzg_info_2.opening_proof.to_bytes() + ); + + assert_eq!(kzg_info.versioned_hash, kzg_info_2.versioned_hash); + + assert_eq!( + kzg_info.blob_proof.to_bytes(), + kzg_info_2.blob_proof.to_bytes() + ); + + let pubdata_commitment = kzg_info.to_pubdata_commitment(); + + assert_eq!( + kzg_test.expected_outputs.pubdata_commitment, + pubdata_commitment.to_vec() + ); + + let point_proof_verify = KzgProof::verify_kzg_proof( + &kzg_info.kzg_commitment.to_bytes(), + &kzg_info.opening_point, + &kzg_info.opening_value, + &kzg_info.opening_proof.to_bytes(), + &KzgInfo::kzg_settings(), + ); + + assert!(point_proof_verify.is_ok()); + assert!(point_proof_verify.unwrap()); + + let blob_proof_verify = KzgProof::verify_blob_kzg_proof( + &kzg_info.blob, + &kzg_info.kzg_commitment.to_bytes(), + &kzg_info.blob_proof.to_bytes(), + &KzgInfo::kzg_settings(), + ); + + assert!(blob_proof_verify.is_ok()); + assert!(blob_proof_verify.unwrap()); } } diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json index afdef2a239a..57c64da847b 100644 --- a/etc/kzg_tests/kzg_test_0.json +++ b/etc/kzg_tests/kzg_test_0.json @@ -1,5 +1,12 @@ { - "blob": "001611aa000000353508ff00ff0000feeddaef45860d702bc36fca406b68083400056d38a56614cdc2aa701a428e0cc23ba1f919cde4d5fb222dc6af38482c4500564c56a81cd8af8e0b1937a3b22c40e666bcdd673beb1608770fbcb5571429005cd1796cc0a043df185750fe6eb86c9c4cbf5520cf09188b89cb5c979a036800d65cb3f21fc3972f62bf94f963c69f4fafc986f375e6f2114b45cbbd7a160d006af4a7ceea4a7e547715efa7d605e413163f81b33cac739b22ca40244ea95100536166091df9465f9562801ba93b007ae5375756d17e5b8ed31cc3aef00e44006f7cbb43a51679f138f6180f2fc92e93a5e3207a8645fc86d03e154ebf1c6b00768b60f69413d43c261ede4d3ba55b2f6a6760e69e2d263118c16e2b51491900f40191282d143cc419450928bb4b857ae1f7618f3c041162c47467e7cc24d600ea6df46b981ca436cf2701275503ba850d93d09b587918ac897183f0c3bdb100dfd8d50e730dd1603409af7c012c7dbf96b43f64d5ca549a4d775b8550802a00001dfc857a7cd4064b8a21af058c64d82ba07e2cb39c513c65a3d460b29eb900ce7970c256e5b868da4d70c6f7658b2c07c3ffa25e069a1602387ad974cad50013336f7d417676dac6bb870be47fd6241875ea11b2a41fc8f7f677fb86432f00837df8c32e56d2b106f38ffc86f1b1c93eb3eec673f1b0070341fb0e7849a10093daa9c4c7de55a200e09d4689cbc1ff01a38f79675931780f9d643f954624008214ed9a7f52b30bf9a4434ef8467bf8892c028ec93ed2791ec777b412c68b00a16275d51d16b431fafed3fc4f33c76dcc3685d8cee65f6514fd8a8e32e5c70024158a864453041aa82c39698a95494a9605b6b97f03db4299c84b7c71dfa10086d1f2a07c961000a8bec8f60baae6a6f5b711c9f6410b83b7fba418a620b60080b11b76763a24d6f520fbcfdcfbd2737581aeaaaaffd40b447082acd709a2004167570267b798e3f0b6a75e4cf0a1ea8b021a5ff216abaa39a61018d1a00f00edae15060edaf9935fc36137576e695d9508a60856541f0ca3df2892a4b97700ae32f4808b1a47cbb769602b2d9f0381f33d1dfd723c724f57648e0fc850b500715d133c291c61f318a6b7d9d2dd73c52515a4c1ba9245a659d17475bbb7100080eaa3e230cad335dd71dfa869bfd155b55622ff0910d2ca9378621a6d37b30016235c3dcd08df320013517b4dfcbe8854194f7c57e7579408eb4fbd8f2f9b00d47ae2258ea03c8535026f99db6b2b19fd5ea2284ebd64fcd64e1185869027004e0a600cbdc4fe9e49b22c76dbf99f5ffff35a5dff42859a61a5704183736400513d85063fc17f87166645c82ac08a172b9d9d5349a4e24a0f2d8c7620ab970061a9ca78528ee4e2bff392988d1830ff9c7868c915ae1c35ee3ddda14ee61d006522fcc538d6a5ca38c23520eb4e94e6a465dff1e22c2e0ba7fdd52e1a3ab1005d9e5a86950e1934716ba93b1ec4e9927751ad3f87458f902959784417809a00df359845e013e0e5c582f96b0e3c650e9048e01f23a3ea5885a1eb7826a8b800da9e166a5df9f702a32f22b23ecdebb4a2f6cf8d0b67027131a6ade222e28f00541e0e6d2bf4d44d0609ea14c9f1bce0f3784c8bab9d3ac975233b25bfeb8800ebe5534e1947aa8cd3f4a287e38ee56d3499c7a5bda5b9532ed15abe3ef95600da56006c49cb06e7a509fb7a41c32fba135f894cd0d27c2cadf24f022abe7400c64a7cca0c224a8171136e63e6c87d26fdd73e7e10a49f8f31939e9e535637002cd0e6c9d18b5cbda50db1415aaff266282238ce1981fc012a8f4a3b9365a800490951c996a450d0806074091083cccd8d61f6053564d0ca95b546994ac77b00649d9c4d599423b6adb082037331a499afc1f8ff4c9f0def510743e509b44e0032245bc061b49f7593fc207c6682705822d1bf60ffe28d72eaa0f2ea00c8c100030db4e2fe3c100fbae90fc8f5ac7e07f069eaf4454fd254b8d2489779b1f70019b36c6c4f84d2270c37290dbd366eecf853a9af9e5d67448385e72386b74d00e6e5325195cb2a75aef630b7615bcb758e661e349be9b73471e1372306ce1c00cf943ee18488b9cefa2f7be0649b131129c94400ccf5ebbb315a767e877f80004aa69882de3191203311f4da6d0a6b27dedc50d8c9ef0b8b5bfe3c0d31a04500fb480533702c5743ce7377741daa78b885ddba1fabc56b94d98accdefc45e1006d3fbe556ac194c646bc8e7b170ec12cb8a4fdfcd31819ec4fe50b3dae1f1400d278167eefd96473846ed7d7d2d02e1c94c0fc27111f74c6b52e077cb7c7ef00d48c30bf3df50b2fad7e06a813d01d36eb02774c81e503bcfed7f023568a3a00612758fd7aeca01622c0b4f6ea67caa30e8e0bbf3b0ab09db5b8c1acaae7c100baaa8b1cf3f11e66862291b0757fa4d95d7a5e81a022433296029a87e3f16800094b1a32297396ee9f5efe35c3427c1c05667f9d10a8eea1d64445c957f3d3002e0c185bf25e1c45f5bd675473612f0c158eb00297f34241bb68accef7d05b00fbf2cc27c1441ef1e58712e55a8ef14c4167eb98c905b496ceb52e1a304ca2007b64cf92a1f20e52d191b051036f6a3d0d08dc3f85b68f176b2aa890d54ea800fe2ff77812650c36884c113768f67ae640027c1e30458fce3e69fd709c2e390027bf78a8899890fe64e8685db077bc14d480a03edaf47120a99269c08e38e60063c8ae022536ec684e687b369aa2ac6877b551d8b6716a7f53c9a1e658d8b30091dd6458b491c8ef3724aae1e683dbb34f8182c4fb1daf8e9cf4e48f2dac21000c3515a1a779c018937026640d8710bf6ac5c4ebd8c9cdb7cfba19d02254e20038b47ef2cd8f1e496b3d09aacfff4d5b9cf1b147f9b21d107feb78631e8a8000309fa8dac4baa95e37582b97e6991d9cc89e7bbb4f0cea3b52007b7b8dce7b00b01081b28f774cb479ee0e52f6ed00fb3c531d25eb253159ec933b0fb0ad74002e4ba6c66df79de737a84d2b0394e49670f6ea66d0eb9faf78a2e1867226d900109ac3f0fd8098c8a23da40a41c0bc9c9955d96d99c3fbc61e02932cdfe038009e2624689a601abc2c84df2202bb383ba56a1f2b4eff0568f754e72e2b5e9000941a8360c1005d51d2ec593142644576752791ecde03d241aa87edc27064d700ad83bfe83fa3dcd1c1cde7f575ddb1327de0a6a2abb4ab6ddb615513f4238700ad9f3d17104eb1a71f5ca6f9fc6ac7198f2916b584ce3e9145fed553e5e622009d29b7eb5f8a253a1404c776e3ae8cab84c430e6bf9d0913d75e10411f5c7500e6d73c3983caf1622e192c4ef90fbfc8140e23489bc717c3341336ee66202100d1f50974bc0a265a83a644c80efc9a8a6d24ee5ba12ea3cc3af1b17711b509001946fb9fc616d2e223cab9f039702bd52d77bc020b61ee74bd3b5c2be686aa00d9f0224224f3e1ea64f3763c5f12b6d9a5dd246db9404be07d34eb89480b930019f7049adce5b7c4ad818e24c5ce38c1d69ab0b22b76434a90de92cd8260fa003a8fbdd029f47c6239b42a0eab8b1494b91e66919f7a5135cdc9d509d42b39000c3c4bb37532f8dd02ea2c787cfb5cec98379733ea44a862fa0d31f9b7b12400ef19376a814f447761f084f1626fcc34b907ad1a61115acf892ab7cdab769900e929bf1318036fccb173c0ed3dede98975f5f1473418545630066a0ffe8ce100c06476aba4f8e8821912b086581a2265690462a589f664736df7b01807ed710063033e51b94a97ee70a6c043485dc263f168882358b0ba4eb4e7babf47f4c500e080b3bda7616203dc39cd0f9beb03a651ebfef13d4caeadbb061433c939aa008fec67bbd943cfab0e53b2f4f8438a443adec0395720fed17baba2edf7369c009b91884aa49c8f29d40853bac530e78e4927c362f6f83a8f3733a07f278d8b00f433eeedf37ff4c536c9c763f0fb14c2f6675f6ab137afe78a015c22b490f4001d8875a097a5275e91dcda2d8753becc7b7eb6b38c05ce2b76721118390e5d0094557218a32e3e1bd458ad1b6f9ea2427811b75eb4602ebda59970d62a5bde00beca2832a173cc8762abd0839bc74456bb0830c662faf32ea2902a364982530070c28dd8e3cf8d043af318795cf56cef261fa0f310842e7fad4b124a2968f0009f90abc3ff615ae1f0f39387d1fe146a84e1926426b3e0ea7cf68177338a5b008b8ae1880ba7e7f6678642b8b4eb3430d057056843508b2f045edb7198225000012f6d49d603a844919d0c2e617a20f98fae36a31b27c1ca08cb0789073e920080f7371005eb1dc85c0b890021ecb73a054153ee8ec3607b4727b1958f5f6700d7e34c00e48d311627c46c3380b6b3c002dc27ed259043a8a102699b9efd18005cff08dd1aec7cb0e3af4ff48e025c262a60c2d5b7e89fd8b1f5d4eb1c142b00f55beba6f851206cf8cf9715dcc53ac62990631398c294d5d4bb9bbf5bee970038df7df4043d43089a5ea3a160878f456159774dc8720975078524e880d4c600724b0ea86b889333f266ddabdb84b57c082366d4d81ed1044e01488ac705ba0031c6fb442f24a47bc3e943e6fad125e1f171d217664027542e484c29f36d2f0045d0a3da1114f93a79b2cc9afb05cafe22c3f5fd654432faebabf5b1bd60bd0059a7ffdceaa76ed9eeead1a0d3e65e565a050612be0a7704ce748ff77d431c00a8dba703b003d67d877a5c5ad320883bf702bc75d2735f61ea697b431f1eb3004d9a72e04c0686b8a4d55a11be4f0122fb1a3db62f20eb95a317e38fd4a3ab0044c2876ee44ce210477d6e6047f4cffe8b866848a82233e16a79356e61c12800903a8a346e1caf33806cfadcaba5b7b01b24bdaca1fea538f4517c1bf1113900e1f3416f93fe3f087002847a2afe9b156c3c68be9142a6c288c08a4e85b82400dcbad29e7cb002d334aa9ccffbf339f14908ee7d2308769cdc3f45c5d01a7200922becf11b047c095dd613be66a22e3038bef4d05dcd2ece932ed730c508020043eaf604ca2346505e9a724a21a04e4a3c0f0a56d3b06b37d4f5c403db43d900ce048a6d6fd2867496c21eaf696177be3f8acaa7235bea6dac618409f5c2c700c704e64b250429df7d65e7a93bae241f24a2b762a2107fd8afeed0f2a977bd0086a08be7f4fba6db2fe19106eec9550ae7fafdd841e79e2d04c165a5b54a30002092514f6b41d976474c19324cae9f043bed7912b06525bb0eed686e85fda1003de7cfa8ae6f74404123c81c26168c0e1f6174d6e0d4f963e0a4c0beeb640100c16e6886af514baf97580db6af1b42a068d8e15b4e0f3f797a2ab661aa2a4f00a3792a19b1b924d048c4a3e8032bb6714ed4be39ec014122f2a7d3be4efdd100146d842a9998e5e4f4d0131b69046f3aa8aa28b04ab54cab5e655a5b4d586200209dce9983616bec3c7432e844ec6a043e5428dfffff5724b3229a2994ec5000ae9a8a0c5158fefe6fb54ad279c36850842c3270505f164c211f18488c830a00202bb1576b7415fbef47be844c3e60e71dc098af824e9b33ab33bc815b4306007f4bb2188e8dcc2615a02cf53a353e75adc8ae0463099c8fab399581e963fe00021300c8a8679f2a12e7f25ca021a03f5b69f4649df8fe4dce1c1a926c36dc00cfda43980f3b828b6d625bf0cdc2059d01358141e3056bb3294a5d2237e3fb008d0946ed5721f5ce3cd5f12a16efda605b118b01bcc1887c219ee4b22a91cf00cefe3318524f2e545c6e07c072f2808c53d3455fe3f5463908bf2ce38e5e280063d1346f41b426d40c499920a33653ee40ce40b5981506f6278e84b5994c1f0015b527145e9299893c719e1a2f8828290de289c6a2c268043b3f4e6054dadc00cd1b16d39d69edab162258965d232ae2aafe5abd0a6711824bb3397b1c770800575e00bcf9f71fec89d05d9f4bf81faad94ba95c34e17a285e418591ffca3f00bc3a35e4b5fd7a56407b31e9195e3f14802e87a95bad082973e33e017c5bb400ceca2708772b035c24a7dfc584842470bae866d68fa309c9cb5ce894823152005fe3246dff50d929f8ad49b685cd92144a10732cd0a68137fe49b87536dbbe00e2602c3e907b163d800fa0c2935eecd31478be49465ff375c01c26516c6721008e4cf97a7e320653a5937ad8c939fcf72eacce6680edb4bf67206d5541a45b003d4e28905958e7260a92e9cf217f1fe1eb6cf1fb7ba8ba60ad0c9b8a94c11600c7ebfe658d1e91a092a09d0662c4083a9d16202286d01712877e37e1386ccb00789a8450ac0a2c616bcdfbc4a9dd21cf9ca2e0c4730f1e0ea608c105246c54007adf91d67bc5fa93d3ac0b5f59cf1a9da172692a8a1208f031b956ee1560dd00731a1d44323f83899a681effedfb7a6eafd3a22894382506e54d9e98fbe4de002864d2b77bd9c1353e68d0c6e97402d2c05ad39890356d7c795c1d02bb2f8800d210ea109cca81754fd9e28a799ccc833d23e07bd7e29a2c7efab817687daa00a0c10183533471628bc9fd6a075eea5da1a4cae7e915cc1ae633b9676020aa00f6ef7dca2499ea1b358efa0f3e721f61e7a790cdcd48a00ff8d26913636ba2003a44d01cd1c04318c891a81e15ad03ae88e863bff700f1cdea3449b4d8494f00742ef28221fa402199a8e3eac512898749841a256c5c5e797ae8594dba7568000df9b37eab7c856e353d3e795161c3ec2fcbb2ff48d4a1d60949398a9f834900ffc9c07c09e349f5e73ba3762bbefd2f2f5a38c0b9d917892a6c0416bf1c3d00f07dc43fd946867c55d5bd509d7250362b5cfeae27e63399b38fad7ac3f2ee000043df846cdc006f2aa510f0d26ec94fde350752d1a27a5d5cbe66320e314800d33072ee91e110f980900c57ac189e9ce320ca770c0826553538f51451e7f400ccb16f7e1faacef16d020fdeac51c43edcb266dae86832bccd10a36e4fdaee00539b60d62f83ea897b1db7f9271d64803c9800f71281a9d92bc90ae357e827001998f857dd19a03390befe5ee580f321ea8210dad7797e87981e0198ec61970097ea6e6b2467b9a67d5558be6ae3d188a128ca8172583c593efbfedf98b1c900f4aaaafe3bd9c81f9b65196bf96ce8069bb7eb15091802d6c7c6f3f1bc0f28003b64f69d576cc94ff93481dddfe0c118d9673f33ce10fed6d091db2f1eb50b00f1a4776fc8b565cb12e0475a8846b966f082bea0f99855e6767736b25c377100de5bbb7383581d4da44f59e4eaca3641e123c946e2cee43ff0a4f720aa7bb800e7a7f2031232f90af4b8b74f22cbac6618ced7c04de7224a6d885750950ad300e4e4657af13e202482723b8d963d0026da776a2d493dc3890a55eaf5bf0c3100e6044276212636595de3370d06c2be9d2f36c7828dcd58a1f70c3970e13d360031c9103f7833e1b0efa2fc79faafecf41f0578094e69ef0759c8dcc6910c5a0078b1d4426d0219533c6c41c6ece8c835a6d4716a13b88022ad0d68d6abd5ca00b9b22aaa6cb5a7c192357a5f1b3cbd2dcf6ad4b0cd527c9df39294e99a02bd00fc57031146f7f6c0d9d6d9fbfc5c81386f94f0c2d2eff7427daef8cafc98bd00e009f58a88e9b6017f15cee9d8796ca1ca192e97ff0faecf0bad721def9f710046708e486f578e838ab9f6adaa1c7eaa892fa7006e530f566a123cedbfa91600caf31b098f691114127369ffb5432f0d070d4bdc0c273d10ebb9f162a43e4600f842f18fd27971189454001987f4bb593fc6cf8aaa653d03a40db738b2fe6b00dd6ff4c525bdd78a4e9386571d65e1ec514a029f8422f66210d4f6027704e300ce1ccb0ab7e888fb810640a11d5f585aea17891bec2093752d168f06c47e4200cb60b42ac820de875e87d0019ef4ac5724f0ce9f859b09cd47d2f94526b1d60018c368e39ac583eafd9a023e3d7715776c612651a4103ac5beafd99af9fa7d00df4192edf7b92b23c2300100f8782c50d6544953a9b38b1b777e24c03be226001833f4484fd20f384ef09cc064dbdb82528ee8fb4214698904f90bee10fe8a0086af97ea8a04718e0cd3a165f8f8a8380156c43e2b1bf6561d7bcda506bd6100522a992100953d2d9ed3b951497dc6f3adc828ab0a1cd002fac444511fd1ed00ea4c6049e707d1bf8b5e565f2c2ea32cab5a0471fb46ab95bc63d7cd074d1f0014665fb887d57c6bec9109008c2f3335ad1fc607a12895e91c19fe73cd8113001dcc6e7d2026829d7997c8ddef19a017c9e644097504bb25a007977e2d559300667333a497b97ab20fc329a2fdca7c5f601ac9ed22e7b7d73339fc14219632008e0f08f6a46ee933ea97e158b4798115af615ceee74e52f413b604ced5518700de0417223fb1c195498401722e89fa9f2f4a25221be932439bd466cfe8bc6a0000d53f8a16d8ea329c880bf2fde53e28144868a2b9b26abcadb69b4138d14700b6208ca39e32b4e66a089f15a4f9e528c788c1aad73272ae048559f61cb5c5004ea5b6504a8710ab1f7473dd043d97d024fd15779bd3cc35b8ef9a2051747600dfc1d4babe205106c85b6f23f3117afea87757eae879db4b5ee63987501cf7000a461b9ec08b63f87528d41c8ab2732ecda318976f1ec9cb7d0660a28cae7300f91f6b934699df5bd84c6de7d550f3416c4715951806d6392d14c9280bff8300f3d95c43db077ec31a31eb18a301d656b42c0d274786e65324fa4fc20a907b008e5b7d0f9643a6c7f5ab9f94d38ace9ca413b383f8de37fa732ede9518567000e563d477cc16e494e3436cc9f87ef4015fca07c0d4fc6ef72ecfc095f9f4a40098f4fd6aad6c1cecc890c5e5348d791b653aa7677459d5c01a387baffa9a5600a75b1d8889be8bf279f4ce9fdb0e0546f726d514859e897e7ff490626733ff00f7d55b760deb0546d6cd58195373e0b018c66cb88feddce363a1aef01f591a00130335ea744f0e136c3935b672712f1d54e9c9353f86bc3664635ed5cb9e9500b61e7a6109aee0ef96fc8acbae0845378dcf298a2e70fffc584342478b4bdb00cafb338e9b4a67616a087183375a5a2d885c6fe37e177d79d4b4c5475e936100bb02457629771e88007a99d278a6f1c7b68d8511df3aa12555c7ef41402bbd0092567b458de87ec3149711878e085d8d83ff0505e0f01f5a268162cf7926c1007529d0e3db04aa13cccc1d335e1bec57fe5a06a2443879735d0363ba6379db002a64b41502a5850ed653e430ff5425e3cebccbf6ad36d503325c50bcf003220019f3e427c3d74cc2c3b1bbf03080ecd47f585085bec9b96b78d83d4b501bd80088f7f2d67dcad41387bf884cf54a26dd1a37e81af8dbe377e0a72805c0914600a4ceb93a624f88e6ffb93504d58d3038d649a1f58b942f32b26584ba46b6a300ca53da05ffb17c119b39422fc78af8dd73aaed808557d3786b3875c176d69400f7a1a0d46847f500f6b81a8789fea305ad24534cf241dc4aa3c88e2c6ac35400f15c09465278fd877b4d7826ec2a937a8d5e0c98a2cd40e8fb7b0ce5148b1000c858d86372e00f03c910302638baae413d701115b4b6f9cd314fc18adbceb100b1040972c5ee1d6716bd3099dab72a0a41e8f7c800ce6281aab396d4211f9800a199f3ff5c6df61ef121db91fd26ec10ea76d3baf33af999b138c09923eeca00c0250451cd5603bae7908b50c5b717728d59a7f9187300d2382108e56e0b3f008ca6447fcc0278b07545224b14966a714aa6cf2a7446ad7cb5222534b70c6c006f13c582525584eefd04e0ecac4e3673bbcc0518fa64ab95e36da964e34814002c5ad6db259dd954e75eb048dca4634c8d26b2a83217707fad120b7753dbd700974cfa1946837de10326abacbfb9e80d2a622b45da06710885de9f7b1bd630006b7df4919616f26d1d269df164e0f47da9df6bf7900c1252414654c2edfe33007351cc050808deb43d37eeedfa03e0f170abd8309a60aabd419c42ee9b0b0a00784edd27c848f434797fae328c0f0e836133607036b693cc25ede9a0009a480039ba1228318238b42404b7070aac84030fa4cc283063b8b849d069e7262e800009191d04ff67af283ca2c064528a9b13c6774d0c8f0346dfa28a8a9856770500c5ae92690257d169f13b2d6d54b28a503e5403669373ee0e7c36e5edd5b1bc001585b2e417e7ebcae8cc2cfc5279af425e3979a6cf6ed15d4f8b5104acfd8900bf236f0f58c5eacc7c38713ee1ec2caf4bbb65c9fdd84959ee287ba4a9e89d008909e847f0860dd003b36779f0a062aa48e3198380ed762b970f6bb8e0d2f2004bed6f135aa9c4fa5654dedb6c1c112e1a93ce0d99c2be80bdaef8768f1416007f8279a78d77b2e3d2ac5b3e9a59ce849942705f50a27d63c6a2e8c4f9061300730f078dfc0dad82a33e209ec8708d4f7da75501aceb370e7c6c4536d86fae00e868abceade47a5587c124a32bd05f5c329e0b2f5630f779c94ca515268c6d001dbf7fb7264193f8c56a55a24c7268ee05294c9de551702717d2c54334821a00f73a76d965a9531bad39cc2cf5d2c62ea6e32192e652e692595d693f5d1c12004d5773c975a2e017caa21766d374fd6ea74115d2a594abc22d54b0f43b2e76002b927f46276f360293245cd9d92f963204e8a88eb10e5748a77c4eb91ccf1d009a6a1da70699a7898f0d2d89d9a8d75dc6b1b25b5f8251119f339e363c2a7d0022a5ac5869ff405e461c31fb41915063b6616cedb773ae193bac31a3fdce0e00bb13593b3806501e5bf9bb116ba3e5e78c553ccf18654d919578fa7e96392c00df200325fe6d1178dcf49d17437506e84107205c4b01fcf1ba0cf7dac5321200ecaac827c279313d2f66e5e4215b8b985d0ced7b7b97e2110281b71d2b91e6002169da8fd36446674e70b7e090d4f6b66aea59f7e07072a4a459b88b6fc98600bde821603498d72b2f021d1912e1f806a3e8c78c561069e82a1823af112698001caeee3f46f51cad09ce55ea7919a6a95772d5798f573213167d7182c0b6ac00ae222ab9bc933abc41d4944896ad90f0066214127cf6199d35b930fbb46dde00bb7d51dbb59aacf8e94816689c2f285304b1a5178101e56bcb32c2d8b4220600eaf1e0c34c38e5f01d5dd656efb2fd149a90a8e55a0ce2535e2d0ca01640d600113e4ff186a5d7b30da782c6b18f1374de4c20da0c134b23675ae95645622600f6908d782f64809be80de84ab0c5919d4947fc9a9c06ecd8e241c911f5c1dd001481c0c66099cdd3d7812ac28fe5194c45cbc355ea94c49862eed707dcdc8c003993dbd87a14b33a48efaa966d1e4c37e31a065b39ef2c9dd7f04f75c43426006d926402ae31a3a6e3b9b99a0b84fb14fb8422975e3624e28dbc0314ea954b00a179c5479844106b6e86da37f340a5c4c786409474ea3fe56237fc9b41be54000e60f7e8c3ec45f58410ae709ec123cd640802fe6d4aa2886743e5b2d3393900e741232658c902bd9a43f1bddd4b4611c30bbbdca3a4b7414d845a9efd0f0f00c3a2ecf336cb1f7b049af2c3c7edf3f3e1feab8cbb99ad80d98f8b97fe1e50007d1de85af5c2c069d099790e788aa3b47ece969f9a58f87f25181d515d981e00261c55a8bf295997c97f01156299c01755e008bf8f7920e332986bb29a543400a2049f352af252e99262b3324080ab697b1a544ece06d8c5cae940f85d233700b5c9db8d482ddb73dbf31cec8aa34590a1cf9ef9a942da85db8b4f32f42de600779063f18f71efeec6934b1aa30491138f3c42782f0c40860a4555aa7d205b00836dde833a99d350d8d504d65ff653b72cb2f96cee0966c76ea16a32118f78008b3c057aef09066ec0c48357ccea28beac88e15a60b703cd23c625faa7def8002737b9c39747518e85aed1bda042d55a3989697783a05f556321802300ee4400769a43c6fde30c8d6b535ce2b7b078bbcf199eaf7c508d98cc229a6683e36000ec5afc0f36cc5829f39618bb087a334b9832975c71684e402263a5512ef7ad00b472c5c472fb360c5e3009fce65076c657bce77d26fda3666aabb5460b847a00055c11005cb27cdd74104783fce4ed22b4cfdee0181596839c5afd6842438a00b57107a3c83b7cd255e86867d0fc0dae309a9beca707580813c6a5cd75d2e100080912db7f86c52b9410039941986f10b1a1dd8998e48fc63a46e5912143fe0029518c34708e94004124504607bbe63ad9d3820f7da1852a835ec7778bb651006f60861e87c4a26c3046aadff7e9a465d4c6ef9ca16449cda82a0f678c3ab7000c7eca1580c479eef1362fcceb2aeaf51347653fab221b694f891154e30425000f7b999a9196249ad269aa2dc50ee3734698f6119c986bd55395e3ab7a9b86006f9f49b89722bf03102c8b2684db05d044a7f946b831fa8e5f1c8bcb986e8d002ddfee1e694040a54d9d48be034f135621437a0d43c032c87bc692f856082300e95f5168ec14c8b0f145aefef3f1de9d4c103289df8c036555e93cd4c4ea6200c6b31ed5bd5ac8a8e70194879c1c53479aca0b565bf83cdf5f34ee1771cd2a000929d9c1ce1a3ffd95c752191214da8258e5dc442828b2deaed1e7f8853861001046ae889cd2da449acdf5c2e41017f916b2e019bc43d4bbc68ff8e123df8e00cd95a4e5e574e4ac3470b4ea5a5761af4c31e2abe1d03aafa70eaf0cd9d41200e755539455df5a26ba1acf6a7adaf318e0e52e4b44c94dff8a25ab491c46be000b3836d4e4b341e06a019535736b5ee3f347bdbb23aebc056cc5047832eda9004ed4396ed3658e0480713b6fb35fef3e0e3dfe43fb8a2f9175b27c3b1803260008edd2b8150367fabf90822bb679d5d4842b33abb73e0d9e7ab6a04b6bdffc007f22d61f0e17d6ef9424226fe90ab3866541c884db59b3468cc77046fd573d00624e1bd1ebb6fc63ebd7f083d44331d1b127f9d2151bcfce1be5091411dc0600a2f750a1ff8cddc321cb4cb2596ba36c6fdd25d598219edc1f32cb4f74f1f3004ace05746d9994c18879fde2085c3271c07103c4874ae3935704593f9e713e003da782cbb8622e9ae96a65d50178a6cf951182275278cb8eb21eaeefef86eb004fad71088c51981cf966904bc007f2356fe47375a318346b4376afa27a41ed00030e4b21d989e021da77c548c2133909fa179122571f181852c96377a676e50073cf489e21a62f8a4ee1c133162f3d966cbca42a17df86de44efb96221280c005d7609497fb846c572f7a08c1e47a6192a493c1b9d1a9a5af7896166c2dfb400702d423975cd590c2544ded4c18e9ff2e2734d4e4b24e7672297033310110000466a88a94287ca53ce5bf29d24443e777989d05f30519832b3189fe116091200f573f9fb1e724a065da4f5890dea173ba0ca667539678ecff24b6a1f483ce200ecba4a834a7ae2d3a0901db3bb4f803bb160928f2e683ad2945197d8468a4e008bcf22f54ff203ed7987da0ffe36ece28b6f18907b6ea3faf7b9494ff2598a0063906bc9e048c928bd0811ad51fbbb8ffeff8552afc9dcea59d9b15ccf98f200d37ebf839cbb0f9145d000bcf210a8e1c4439ad1977e42816805b53e73a3850006ea711d57e634f95c01d754a3f6adfb45d6326208c58a3d086a87219d57e700970f82f1c6a75fe865c157540f0175a9bd216833a13e069487af4d4a390baa001e77423ede90aefc6a4901917741408206948fd7c8ae3b4235ee39da9439300073d1b730f4023aef374b359feb66d51daa554589eb76b8e92802f36cff68f100dc85a0c3385d1bab34baa918929ee7522f7ec62e457d0fd912f4e32b6c0d1000a94d4dd10f8b875636d17e6da688997dbc4c3127e76863a57515c6a56b6ff900c032fbce16a22590b7359c02f69371c367c69bfe1a2facdc369cace1b95982003f9dedd09b8f3f9e3f274bed042db95a68a583563374fa3ccab7a06e78125d00dc994d064660fb918e6253c1fa4bc4544a33ec9a6b8ac3c8cd9d23d6d1948d0080877bac47485b0ed5794192c0f93ce8be73af2cd64673158c0ecdf625153300ef7dc7ba666d075e40d4c67481b58363d9650701547b32defbd1788450dbe8000656e6339e32f6ff3e37b05467426f370a34a1567403de552f78b254ed6aaf008ea64cacffe97bbbdf77f07c978c16ca3ae8b0c3a172e9e1f829890351e98000d6617bc1ffd9f17d746a51470fc6900194cacc5a31afa2e843e29998e774520010928f4771286cbf1bf6243f1e93f6ec0e2816b64456b4a278cfb7a350c3dd00dacd685d8b6e2dc3666421de4e7ecab8eb059d4c21c28125eb2d776e9c50a800960b483285fcd572a6e97039104d3560c8b36a6e666ce50ab3f5a09140dfc000f4293808a5f3caafe7a7768f77a1ddf0cf82f7b352f0cb15a6dafd065682d400440da993eb0ca2ec442d470b81cb4c255c866899ec6c135e621dbe5f36c4ff00095d75075f1c08a611b378fc41208db54ced442d316a05464175bd7ebcd4cf001a912b873174c4d16bdcebe733c13d22f56f3e31833b3272c67a0b01d901930011d4065722f9308444e5343a110cb72d2fbcb383c0337b3a88325cd2930f0b0031fbb8440bb6b34c65357a2a90814762e4d606a1fd1e8536e9f5dea5f57ae4006bd12daf2c1cf91c81d930fb60b4adf15a7213744448a892ed2cc631d9763500b29c380dcfede696b8ce9e25cdeca491bce33081cd59c23e844402405c8e3e00a8ece52b05019c55c077be1d3dc992073ae3c803da668a577f178fb0c8418f000117015b2efe75fb3514d9faa28a85b92af1ceb508d2ad3ea069e8dee035d9008f17bec333a94a8edee39ee9e41ece17fe0191f23f29a2cba95d373e39d2f400922bbc41ddcc83317135a636a2317f81e2fd290f92c14f923013274bea6b1e00a36dd0f6a7d432a206361d3e171d33858e9a289a1c47f1521e277527daf72200e6e3344be6ddec905d49c2429dcda2e90153c57e1b085883441f6f03084cec00010da45c9cff58b319f7975b385d5735e0718bc2a322ce2633d83a75100d7a005987d09644534448dc0587e17d6393a409f5a4d98febadedd156cc449734ca0046ceb803ee2d625daa5d820942a815c622862beb8144749aefe8ba4395b18200f8899e81cd8d84fee43faedcd66b50269f7960f029fdb522e8aa9d8efc258f00a352bd0c0f8e94bc96c7e9f6e08b2e03744658fe3493d49fb2b88a59b4e24e0012172d73e3273aa4cf6cbc7279eed05033ac00c04fa2ae5361ca9e48996020007c498fe4ecf2589bef24558a9764c1cd0d86bde1b2d4804b042b58f8e28e8d000e0c50e700f96c057f2214b92471306f1e4c1215c1e0f9963660a87d2296d500b5d388e7cc4ac790ef15d276a7c436ee416da9af9d2227543884995567dd810030d741787bfe7e9047feb343e3f171ab51c42e260f695d5a52281b91f665d000e44df75685af0f83f5c15ee321b0f3ff94ba5b04be490ab40e18d50bdc0a860011f9d7eff5f20d228194b727d0ba437e121a3f02f7217c2e8f2baafb3bfd4800ef597b91bbe889bb5b5b77b47350e3333cdefd2ab1a8f71b1d85828ddd50af00f04a8fb11f6c21e46a06b47e0f76ac9f35128db15821700c1ed55bdc727b9d00d9c28ec2b105e020a4ccc66786bee5227c51cb086b3ae8abcf8621c0cea1a000ec109b95c19d41a1cea28ff7ebbf3b2e25e1b0ac2b252ecc3b1d5a3238a82000ff26c18083d324d48fe13d69a8ee91017d35345fcb1fb0314e01a8da5dd5a2006d537ca6bb892a5476f861e0c9d73833431c71f11ba7d122eda6ac2daac2c4009d425562e465ca6607d4bf8db162cc59253f97422d14d28070b58ae1bd92460056268379e6c2acc6e33d46927a1cffbc0a7aeda2df4a4e21edb833b05a3c2b00f14ba38457e8a23d63b9abd8f1358c26e5c665a797a2fad614dbc18ef8e146000eec1e55b32f84e1d839a08493a8f50b30e549df51364605b48a9a9b56a7cf0084cf11822f59883498e19f44239484299473258be8c760fe9d466223919adf00459d1f436fa5707381ded70bac68dc1e4bf100cf2cd1e953b0bbcb99a45ea300babdb3cc97b4ca0f3a7ae6c7c22b06ffb8a86c9744ce37a96ec13d6c047e6600a9e56880a693e330fb9e66276df6f2780a6639e9ec204b03daef081a843a0300d0ef76155eb0673bc993e8a469a6a1cdd61d863159cef5fbf4e75e061f1d7200da5fad7fda3c83c0f68802b53b2ea5b6a1d8ff8160482b527f343eff683dd100e4dd17854a40153adae2d6192d5a93127aeac30e4d6203cbfd580cc30ecaff00c853f76f58f66c351239fec3146610ad6797abbe47b83add4a3ece2327a4b2004ae9b4f00c6fe8205a1264f10f9a5b5033f5c26203f6528fe7e5343c890106007dece652164e8ab909172e0767f16dbc6a756b62918bc480e3d347f5b4926400568911586d86bcb9f13d8cc81d566437e2e29f6af4fce5a0975f376c1fd6dd00740d02911dde0f068c78af019285998f8f4dfea7d6b675cc99f5bca59fa40f003b4352a1e31d41422ebae41f0a83f9d7bde9146253b4c47be42ad972518e5900fe3196b6eaa068065511b7e200c0388fc097fd50aa8628ab190f257b05bdec0023ffad778353233d9d9a954b5cff63b3c44c20bf465c527b123bf81e5c92e100a3ce54e1287033350cc11c49f31359a81b4be44ead764601dcf65a364df91a0078620f0a566587e53472aae2e33accfc607c3ef8e661dbc98b01c8fbc5fa8500021ec839dcded326f90934083dd84887b7b4ddfd4a556f9d5d7890214e82d600fe1997c234bd3b0ece9054db9d7a6c792cdd78b90c1833cc1c856b002490560036098fb4d365bd7e572c803c56f04271a3286b8c6ea72edb6c43a301ffab9f00ed7cbb3cf72dd5d6da6d19eb190b215803f22faa3c93ffe5bcd462d76062ea000521b1c34b6a804ecc9548f6845974d477edede05b0ad838aff74091f798a000c77d939ef717ad8d63ea62a3238101351d725fe590420eef2d875ebf676da900b59aae8747972cc23a61c1b7649ae5fc79949bf2f108101000a879b72388e700d2a302010bd064c8d1c87363ad9ecc8336acca3f26b510d7c6a7c2deeb399d00a8a3cffb0277845bbde4e3bccc664ae162ca884f0d386cd658b68e48e70ad500da1fc0f462579a80dff78e9cc17cb8dbbe2318f7d5faac76dda9ecf13b3fab008846cf5a1aef2f6f08c0605d5696aff2d1d98c7b5755e06e2dcd563d9b309900e9861f72cce8bf5dfbc2eb05e46a92298c4352f0d18ca882a22a06c9109fb000236f18f2a3e847a9942347d26f80437556c00c6d66a084b1022f18a325a8ba0032b2714b500b5d859ad3c6c88bff9c789c0118d19835fbb32df7d5a3bcb9380039aca106fa1a4e09ecdc0ceac1f6ea5384e87ca71ce41dd865f26e9afed0a30053fcaff52c34d4cac203a5c0980d39e3dda5569ca43cae70285f3cc355e68200a27edc4ea246a2ad6fa3b694ad801a1838160665b5e233cfb7f6bcfef887ce003e33a6912b2ba680256272c688967da3a2938b35a1c697316d7f5bb07ce11b007b90195b75dd5d3466660143128160096cf3a68a583c4a2adb41c7421b15a600880274a9d99dd3a6bc567510220ea0250da2dad54cb5afb17910f78a32c382003203280df9987a2ca2d662004fc73a7688cd2632da2846b83832379a45fca300b4e32ec713268a404534cf32167cab9994a618fa58c53f32d421cc3c8ba6110083169e32cf4e17d7f81021e8e4085936ce6e38ad7e8f0514dbe44490ad8fc600fd57ee6e8a412af18945901f25bdebc2b52be296f5859b09ea0b690510646300d348ceae8a37c6e6aa5facec9d10bf978d61d1e0ac9ed9683c0eefcbb92f0c0018666acaf46a04c0d015df79469d67deb3ebd164f92c2a80633f7bad03d66200d131328c2fcb2b6800b79d3a0454f3261b41e7edeab9b533dd5bbaf1fa690c0065f170592be81760a857d6b71147df8b44e3a9bd7d044b4bc2b1888ee31f10004ff9def154b6b7f6c4ab435e6d4111b466fc6951f57c893a76ba572d250e4500496d1afa865d48d1e8addfa29de864413dca50ef380cefe30360481e2e1580003b66c5746cc2a37b430c04e44a7f584e8fa773d9da3980f5fb20eb943e2d97005841185c60d00e58b6913c68f6b08fc29442a406f970ea81ddb11cdf16a6bf00f9929e31c0a7c3b1f1d5c1ff903a53f8acfd38e7d3c959117aa4f37c643bc3009fe50a93d561b122ba6a1443ee4d2b2df19a431fbdbb4310e058d3c6620cf900bbe57f436af2a1b1d7e7452b2f29b3e09c2cce483374e3dac77f23bc4e24ca00a82ed5a34a1bcd1a4bf24dc16de7ba67b1f1ed9c2c38dadf96744addbbfd7300b7567375b56ecd8a868e99e8aac8589400797e0220a31239d4b981ff1296d1006f0f37eb3df1ed7f605ca2c1e4067ad2b03428e2cd5375a44067c19d4ebf2e0041db7ff2d398f0ce8059ba007ed56857ae504fd34c2b43a051dfadf54da14d0099943485befbb542b29a9a70e20c693f45a7c10aa2673ff1d67703d008ff2a00ec8449c8b7bdba3b858660b60855db67e6a34d4739feebd81e3ad4413c079900f3fe352cd86be6730421f4b385dee00dc57fd50fbba67fa0bcc43f421a9e8a00b0d3d7682cb49f8e8f35999b55a8e7053dd6c586351545bd6fe551ab88b3a700c31d17a2b0f38eeff327030d907ceaea106b9ff38452ea4e21cf37e93898f0004a88b11c693df7a0eab23977680785fbb29d43670988cf8e1d9b107a58845a003b471182ca3ce375cf47ee1ba7f7b303b210a6e7e30d3e6e3d4a61b3d7889d0049ee15d50df12fb5ac443f5f2664cdc5dbed5a87fe2b04115b2eb647c00e08009cd0437170871be42406a34de9b704997f2a80dca547c5a112651d0b38eda10079b51c3e481d55932749014b7b9fa9c450b4d23b8a54c026a9eba86b88dbdf007c0075fbf931f2790b0e40a3ef8c8cbfa9fc26a20ec308edc65ccae51383ee00ba3c73549261618da70de835d81f76e4269b212d85595d463194f12eddde420040724e8b0ff2bab0b36fde6bdf349ebc690d40d0bf52d4eaea4ba5f94d20d5007006323fffad38895288781746ed5f2ee939b1b22877a48ec20bfadbadd7850099ba28822ba1c62f6692f0f7001dda8008d0f942e2d45401e509f5ab8d85e8003802e39978504f07d6dcce1dcd47642436ee6c103a36bdb6c3d935a650ef2e00383555e783012951748c040eeddf07b07408713536a1b202aeba45a982ec4000d351cc770d620ff90463508b51ea85e7c8680409d620c22877394a072104d800ca5a3cd3d800bb05f04b3e3d1073ce7fae1ac677827c3f752c2571b701d73b006fbb38bb7a4b35e2dd35ca2f9180bd3ed73e7c67675ec82378eafbb9ce62c900ce216e31afed4e46535f0b9d07453cc5471d8f0ffdffad6da5c63f8711c68100a57f09974f9bca958d0fab9a0c0ed0eebf7a24657d9431ebe789e1f8f04cb000d6a0fadcdc843ab4ece003c801e68f5e1df618515e76ce1bd300f8784638f00088ea57825527dfe69e2d706149f75b8087ab1acb655b21f98aab6c8fd208d000c73cb773fd6f6d00e81b0cc5c8ac12a8b621baafdf6ff3643dff2856e1a23a00b8a859ef0c8519f101bd501b766dce0a83cac802f4941d6a9b0771109e258700d37f017e6800582ded8fd96009eacb3954a543c9716a82e83e0709b81afd880055801de0b80aac7fe2b3496dc3569fcb95fa99f7431bcc734a362aaf5b924b001152179d4c15298524a5b0fea1e6499c9860be3a8838e0959a5fb240dca976006e3a81ccafc4cc0f971e0fe4902a6fd8f5888b714babe0c5dbb86fee7e388900602d99ea3634274bd10beb003c3f47caa5c28c5fc44694be0113e17117d3d2003300750566e881f64ecf7d21c8b8cedd651157731e1263eaef8c0302e7837b006e82e48d1f2cc5f23dc848587dad7b5249fd9e506141aed70c3712dc3aaa8d00d4f236f3c61518e2a712a0ffaf246914ed3c9465582df029738ab1ab33975500495a92df0b2d81880c07b080961add4eb7e3955a0187df0ac0a06b2c56d28200dd089add8e682dfb5713ece0436369579793b08168c90a4f3c81ee04c8f194007c281555c127fac0f99d2f08bb22c935b5e694d2480e5087191ee3cdc4422a00562e253ad96e0c5405ffff800192ebc615e820accd2b6efe44b57cd9f9646e00cd2a7e1bf26ef27465daf0a7a7593798c1e658e7b3e8c0ad1391166a4c109f00681936da17c3e1958a596e9e2a89d10be5cf6f170f681bbc986ff5cc796aa4007bc3ee753d8bcf89eb0838070d1a67755381ee8110292936ec7c4ace477d74001db06c3bfdc957ab650ed4cbf693d96b5a2ec184b70103bc881cb8b72fcfd100f936b64792d215f7bb125a0cfaffca5226a7f5367314d17025e4fe4c0ccac300020d8d8a55299193ce544f506c5ea7c4698f704ffd3892bc1d32c1cc7194600003c61df17cac6ea21edb89665c43dc3ebff86183cf12e09d9bf96c87ade60900fc63866b971a6d51ae94198ae52e062b46aac44426bc5af59041b25093b7dc002e48e6740d73dbda83b6b8af348a475120f6f242fd3effd5b980de8344dc220068501fbc8843cb80e3a8c43676f903df850f3b7c72e0890ba253f6948d07ce00727ae24878be87f658753e0a36066416f51e3dd8487b44158c38eb656a53c400d0d328e8b909042823d34d092c0afd507d42f1b7b45d5f83737dab941b18450079c64885d944f9bb6fba408d958842c87cfc216cbd247c56b40c8b649450b600d8dc6203ed9f147be78cac6aaec1d7e0e85620e0850c6de01c830af0cace7e008bd1130e7809b047ab7438e455d84f2a545d599b8e808c07ad4421eebad14700b940191ce90c453066376bdb9ff57f65cf28f7b9b2b1a55304a6b787c86b160004be0c2f731df7d8496eb891908f629286daefbfff687eb1d3287b32de3b8200c4b411687d36c4e7e00d068561aa663ea059b142811602dea6f2bea1168cf300c9399dfa114a803f3369c3121bbc2716c30772c579b91174c04142856d636200a56a0914a32996b8a895643de7af2d11bfef3fb8d2f4d1cfbc8b53f0cf13d70040d5f72d2723a60fb3e38a2b3ffe6602062e53c7d11879a14e57cabbee86ec00ad5daf177c6d5458a4b67a516670cc83b0c475ccfdfcecd3efe8f4c2d6eeba00329c6cc9668f2d542fd24fdb4d4efceb15ef3f2e8e3ea8d60a454c44b8e73b00d4e50ab462c62b5b27d74010c36a63f41291d2cfb1dc231779186bf4517b3400fed399a1dcdef630e6f594028e74a70f0330eaa30ffa172348df19ebcdfbd600c42a0acb8de6d7108883b9eea75fd9fb96d7fc9463086d63f7c3e0c825d2740068fb81e64cfa31ec471158ae47af123ad75afde55d66be398301ad45c5b5f5004c8684687358fe1cbbb786b5d96dba6d9e321af547c180f5af126c4b23a4f700c25e35eada290a7da8e97c1fa7a3219445085ebad3511a2ec7e2fd88d847230046656901ae4661d725354b049176deda8ac7284420516fbe354a4413171c3b0023437fed91cc69cea9789b0ef7cdde0a5f2deeac405249742efcb6a3070fd1009b8b02e80ffab9799aa57fe46bb6ead5b28420231a41bb1078948a0ced86e500c2f9af791d67fdb081cfeb4b87d03ba8ebabcfea8930a9a61d10916637a49f00a0289b2c1fa36b28f8ea0443af3f69610fdb4f9bc36111cfa5710215476f0000fdf061386edd835a0edf90dec4b8e6d37c71828b0ef86f04e14f085eb8174f007403f4d8f48d58f52eb27d413371f105fed48dcc66abb4a0d63a9ee93e991f0047b8dafc9ef03dafc0043d0bcc48449245d422366f4a8f1aaafb97d8035992004a922ae75e724bf8ce560c108482d8c3c9071306dacf4dc77c1360981a5821004af345f0ccbe8f9dbf141f3873382877393b88c55f50c91825482dc141c931004e1ebd4ae0f6b57bf806c10d0f06ea513a67b5550b07dfbb6d467fef4bf55b00fb6f3bbbf4160bfe7e9a87d6b7283e5a445064bdaf2f95c3739c4536a056220005d44c5205c6c2a3dc1c248a862b4a26d5e74496d79c8aacb213d92752d3660055dd6221e5a9db08fb6fbd962b361fb973c28cd2bc53057b50549091575db500428eda3289a46fe62a87f00a245d4aba125f93d31663fa083f7d739b83afd600ccade318e883c0612509bc4d077319c1a714d5dfcd2df218b7764698673e5a00b5027ff404c9d972a9d902776f06237b137224e57ff64e15fac5cfe0882195003f01d9cbce9df7e8cfe3046f2a0b9eb03ecf5188086a43a4904e9636f6f5440033ee72f5ef9a275d15d5dc2e81a13e4d6ff255267be935b8a94c22ad7d3d95001067badf728707867b95f20e02dbd4bb903294f11112846d3076d0d4e05a2700ea04856a73094f03fa82c7580bb1dc02a3993e9e55c83d945409f9edd076ec00df96d5c3a55bb85157a1c6925beddedcf42ec6029c019e994d805c87d1a2580005442b68dd253deacc133eb4cc6af914da5e5acc2abd0c92f218132d8ac3160046030aca9ba45e9cdd09f5abc38469f3d249c4ee2daad63ec353bafa77688600a4f0e09b0280658339cda5e19e8a4a5bad78ddfacfa11d5864db5b7a9a715a00065024396bc976c89d8fb3c230a9f8948539344ef3a07189f7b825243727b3000e6c59ac9eaf05593db5ed0fade6e0d8351a9bbe82ee2a12004d3f2c517b8a001bcbf15ad8f3c301dc197f68d3ab69a1a129e41f56925176517164663beff300cc692e6590c81bed56d4e01e6483cb79121fb662534ba1cad178995dcfa0b100ec0fd8235f29efbb3c97a6450dcd50de5674f8812ee94f6447948f1c690c4900ea3da7e531b9a3a1af13d40698c3666290833bc700582cb12f0873041e5cd30032d4f33156e0a7e1f0814829d68c14e21d1b754c59991a424c55fb0dde49cd008119f0403c93bf749d2af0ccebbd0224ce52d81804f774d325b3e29d21311900894edad35b9523714c197bf94c29e15ad8c1c57a2321a65d168dab840a119d00e8fd5d125ea80c177a022b940986c3a0a2eb4ae9ff4dee6956c9f55910dfbc007a0b4a9c47002e334a4c7005c9f89ee41126f77b758b0a0c75bcc4c0507c6d00d04e2223023854503d657ff5ac076ff4e1c3683681e3db38c2f6658cfd04000002b67b858d5f7b91952ac9ca3a1e3009c03db7dc1f4bc1059ea8ea3441793500336bc1565c4ef37e528f46d8b072dfb33ea3a5acd76a83db4c1cb718e089a700883500f1a301182796bd89c71694c0eb463872949745f7ee1efa200b8e3caf00c20fd9805e3e24e8c1586086725ac098843f9618dc2826603ea86e92038c6100d61f0feb822c853a72c4a9830bf2dc9f77850daf848816dc3248ecdae74f6800602289891dbc0e67b647163be724d16e3ee4e95ce08d99e25333657cdca4560007e2d86bc949084c863aa8348174269783d878766bd612a3b5658064540d7b000b0c519dc088dfd6cbc40b8a6de6ad4eb9e5f4f6f481028b00a6c04f2252b000b84c104a0a0207ddec7e85d58ccd7011998b64a845ed126ba956237e1e8abb00811a788ddb38f73b761c684b5fe5f3ca5d827b36248da26b812d9383bfd1a100e304234ea41f87fe1673a1ed05ff5f0a2268b279edcb90abce1589d26710f100ac25d02e0c3c1beba5bcdd4d2af65a308aace64751d2db45fe422f38ee5a9600bd5e8c2037ea56cac0f45d1a7d187118989a3ed1d91c4cba6e8bcc34888eef0027eb2bb6e850bca680639ac312166ef13dd194a692d86c183e2013060a15e300d3d7f698c0c6daf70d881329ac8b0d796482f27db970e3e80444a12ab5a87a006ab10d5e66ef3576b4fa62ab643d21cd57ac72022a2f2b5f86fff5b4ebcabb00b5b9e9c3ee79419a5095cf86bd7ea2093ee3087033b3f5f82629a640746db100d0682a90dbf0b1eab4210e5dd41a48d20b914d461d9677411444daa426df1400be14a2019202526c386a5d083d89beb81197f017ac863fb34446a820b4f3b400dc65d1d503f1e4218a35f4716585b6c03f8f46b636b523d1e8fc03453b021e006fcbc4c60aacbad6da814915409bc7bb5ea0d5b5ce0ec29633c49367aee90100944e840915fb6f6db01b348d0cbb20936aa1242cc045c55a61917af9bad82600b8bf5850e4075a4db7c8bc7b23fc1c420bccc83b9d0b2c57d3f2d0e335c88f00ad309af7432014627f248ca6a535f327358f305e1efb346a52f14d804350e5009a92e49a9c96368b2423022acb0a581143f71a199827718522bdd0f76d978200c965b6559d0cb90c0ef338581bd3ab5aee0664155a971e96a6e3e209efb4f900a83b4d0f00f9f773a5fbe055478000b23eb57c0fd649afb740a6d3244abc7d00109f0433d0ea7cc2538996efc95c5f496820f1fad9c4d1461ea28084fec266001b43968b953b69f2cfc36f5cc596485a3ff82072deb5e5f09b00aa740f479e0071575854e3adbd1ceef1abeb7969cdb892363c8cda5bde3c4e11182fafeb9300e3269a22f79967633bdf2cd9de3527d45a9bac4e71cdaecc37066da1fc202300f6911ed01a9408ef411fcbcc4433c6c18d08c8aa2abc5089d82e4cf889a711008f62067d5aeb18d569543459073a59368e6846b7bc2139daf65131e1c0ea420041072fc2b1befe3bc7f8a73a2735e41195f5354d28bde9092045baeac03375006f4ca0a7a49ed921840b4a071c92d8e651a217a526ed527592ad931d30c59600ddcbcb9928ea4697e02d3e2feca91e690314be58d9456e94b315388ff40b0f007e8ead7b8568f6e0adb695aadf4a89177c9864fdbb504501c581714e65542e0037126a09d53b5357ec7fead0d0fee726a72b7321b25d7ec6de9112793b3c0800b768230b649b094c9bace8c1445662c856cae1a8730cf06e3adccf4f1d8f97002140ead965a2b0eb0a337cfb3d7d964ce01e86036f94ee75d12115cfe6b4e40086da3c28b5bce03cd841b5438d21da9ef7cc4104741df127aedad0d3d45a87005cf14147ae2ed574cbfa556ab648d4a06cfa851bd761580b7973469ec42ad30039225e091b15ebc77299fa285de19e40f8996a98f00bf13434ce0c6c8974ca00cc7daa1eb470c3d4ae651354ed010fcb5a5637f7999109565503b7228bdb0600fad49c21fcf1fb4e2f6fc81a8361376614541698e8abf1a0edfe9f749f1d10000250496d6332962601d4fd7585e5ac3169fc5d12cba4d2fab27b89d8d54ce40013e7e4bb98300f99862bc519a957d881e90f7da712521dd866c6103c455ed500712c51121f258bba3e996fb568bd5e19d5c4c6359f370c909a51ca359ef53200fbe091cc7103c887c45e9808cd2c0f69fa716b2954fb8c1fedceb9e5ceebc30029324d49a7a6ed86f45d28209fed28dab9015de70f82630b47e20965f6bcba00e8e5ab2e56563d3e49e37f53442e4234dfd7e1e0ea625b660c53d3c81896d6005ccee406b2fa1ccb762d9d55dc7f399434190a52c423109a8e4698737a5e9500c36b4a9c50414d58a2bf6652733ea3a536a0490a43acc2482b4fd1d0b8448700eca1d13db6cc10524e66646ccd6656de7cb96c78b652fc502a61ca66cf706d00127cd75987105c8e0e26f09de8c627973d32035a4bd6023cdd711082a5b4a500f4fb499506a7981b780f492ff7a97b545ee84cdd8cbd7e3fc08298f51e0db4008abe81f689919295fbae9538ae797ab6e371190a1b368fab63b2dacd4ab635009eb83cb97cc5e749bca5ef7075229e66055c55010c35c2f9fe06131bc10f1400deff2608dcab2cfca1dca66f5def56ac9d77773738f0071cd28e5f3cd9360f0006020e39f8db306576d93b00dea502eed7f026a39d563e5b224c8e11bc4226002450e562af44b815603c81f969322355ef664f027813969cd7dfb19a97007f00062120ed9336666130cb6c20c96cea7af68eb39cad425c01564250213a4ed80053fd2935163e3fd13bc8553a437c38ff671f13a9f2c20dc692722b4be6ef2f007c202a600d5b686e4f735cc2db847b30ecadb22360e48ca433980ee54ac17200e3dfc998e786535ca2dbd7c65b2b6156d9b4622925e9fb4266202c9e69a9e3002e5a30b66227077d4021be54306cc053e29bbd12b4c312f5d6778b9daaa2fe00f1d80597e1b0c7fd8a90c37f4360a85237c2d19c296bbee16bab2981262b2600ccd63bfe8e20abb7c9883aca38c26b7a4fc2bd5e9af4c86f14de86e62aa6e4001c37a0f5dfba097d42d9317645930c271b159de975528fc061b302df26f30900f2fa95ad41a6a769763da53ae8cc461015d6943e5df3c5c68950ddd3517f48005cfe299379353f9231f2b3a17750e38bd1488a64a705d3c4d0cac0d58ef06e0089538bd9e6912ede38b9c920c89803977c4852112f5b70232b556876fc877c00de443bee50a6e851173f8f91c1798bdcf1b58445a06bb4d159b3e376b6b77e0055e83d3d4edc173723e091f193e9e6cf1d9a3a9b060359d208c99e9b63a5e8003905eeffbb55c6442c33139d678f67c8ef8b4085e8312adc680f6230e9aa36001070e54a72ee42cfddb25649732111dbb665f375f857d8b3bd80ff28534935000a9f7c40f12e5266a97589516380add0b6d4f172336511fafe8ced8c4df462003c03af87b33d8776a8e1758d0cfbafb0eccf40504716c9a005d0bd2880b0f50089a914841fa7d216f4198b44135829122c933f77701987882b7ded2d85b6a9001bd0177e95b184691429ce23f82892edf96a4a14a70ffc98c46d125676b09b004d23451e572ab9ccb447bfd1faee0978974b22932d630a28a4a8938913cda90045c73c09fbad15ad39135f51a6e841952f7b68be051f9e0f0f6716a9de127b0014f6c0b951ff524bc155fa6fa7bee3408bbce5a6635976e608f5f660db125e008a2df1582c3bea9daccbbf621cc3991b911d9cb131aef46e5fd4c840775662000ef9e32378ffc3709bd5ac2652fb6c403d86502dac54f82674d5a72684a3fe00fedc865faa98ff0ce6bc211f49602eab08414514b2f4d0069485feae69909300956e03c2ff3f702bc4250c20693c7d51d2dfcc446bc950cb4807b384c2e61700c6ad02120bf7fb6b8b83f9e9d3944ff31c69b6c2e45e38372d4431eff7d7b10062485fa00071e05665ccd2daa435c40f0ca03add11b98201d51647a29d47eb0092444e85c25342cb551232b5a27f8d666db44a8b85d00a6d6b5632eb6737e900a98777e65de19d4b58a8451644f01d7eff8b062fede43ff78b675d8d9a9b1f0025188aed4c1f8dd53d3cce5a3a918398db609253b59b9f6aa73dad7cb2a6a0001956b23da6d03988b6fbbcc58027405778bce793fdfb51d974e8354ca8b75000716c5fe560336e357d1cfd5d378a2fbba41abae84fb93def6d6ff3746e4754008b414f652823a69b0df5f645f321b00f390c6ed6e924a2d06e5e4e4e255c2c007fcd51f538d60527056ece1a6591cd6b0347b9f4e4f6b00fca66de61a3c6240030cf5370d5b0bf25184634207dc721cd15e350a0576bc143c9ed9ad47ccce800e7b3f941e86b0c9f4932456283fe256785df1ddcbc9f703db83c679d0f5c6f00159f7b15116980f58c8f824e67260c9949b8c0e576a1e6e3576c3e36fa26fb00b543c86145b9f5304c53647d3ff0b4887f553fb24d6774188443c5cf3464020076be11da5c146e5bf4a158f6b8b49a462d4ca9d126b9bc5b2c0b663501d026001ff697d1d4fa5b95c5f81115ba7d8398fc9f60f9e5267c5d6f4aa1f2ab6a750086d764db255c2d6479a6b262f753a79c7a63546fd4fa04721f24df584767ab001dd8f1f25858c825f23ec48a593f97c985c116daec9f695512ec61f40d8a04000c5274bb39411245fe94268379a6840b9ccd56b719e127af3f0a0355588c4900724e4362558f9a450735a378ebd321cecae7b7b88d749b86a09177040eaab500d673968a0281d68bcf6dd21f3c46cb3a8bfd9135f0a034a0dfc3872304590e00edfff3c855368a9e017283552979d04caaa887535e2b7f17b892d8eaa24409002080e35ba86927f6c756b3443e12b9414e2cdd93e1428f93b54b89b9bf54cd000b8a1af92d0cdca1865e2df0afbe33978b65134e112b3f70ae21f0eb7bd51e00bf7e5cc3aa247bc10acea417fa7453f03baf76af77c5625de74309d1f81c4c00c97bea392e02cb2d01f0719157eef432b30207ff9fc0dfe6284011563b7e7600a51e510ff039d543d92d41dfd2131fc7d0376b7f45b2093952e013e2031304001d00d84b23be6e1eaba7e6ce2ea7ff83711c05b549e117533bcaeeb98b4f0f005746551c3b35908682cb25e69578ebe2b664ea6c9fcb0469544bdefe75cb1e00d9d6c6fadb03b7b0ea382a35a5e313e59b000f49c8e445ef73d2df282848db00bfbb8b7425e319476772be3ca218ea486c0724807267eb035339d71805fb5b00e331b4971612f0cac24e867734a78868a02a954415fcb7cfbce00bf5ef2a4e007842e10ba5d1c05c27044902f6831c7b9c8d060e5be57d009c860c30e081bb0037ed21200b10d5e48f828863a32516fcf3532d8244f1359e3ae8fddf10eb99009152b763f534bedc2427419f78d7bd09f89e2f17c9c95e7b97327b32e7a1f90042f50d807cb08b79c8d4d94be8d43bcbba4c52e73a84d41ed5075a3d558fd700cda0d701e106714d93443617a05e20dadffd5d8181ccbbd18336855daa5396003cd1d56a11dc4ac6f550fc31d344953ca8ba7b33d2f11ddf0e4b0813f4598c004d07ccff94b12390aab8bba12c02721de5c39f390b2706e21bbdae8402df75007d607b2ae270de6272cb67b8fd7da3c03a1baf28a377f8076d625d04867f3700e65e91ae2667f50ffb0656a9e697fe8bae3588bf4d34c8e0f9e67d10281346006df72aaaf8c3b98787c15ab0fcd75b739f69ca25b4b4d97c2f6e18cc64f1e9008d7ec8576319f0e9bb8b437a51087599d807e0f8736eb5d2d1b722e8665a5a00c217af0fc4e07b7438eadf433477cb38347e3fdcccd544f033e764c19286fc001ad9aa7b2b69b3fe8252782ea16ad47c23cfb098fb21f17699474a266ef4ee00245dfc9db20fb1f01542d38148b56035a5099b2f20663cd2fc7f42e242e81600188fc743c9b2a3071d1591957f06178ba4595277850d424c030316f0af7ac2009772fd7d41e87e954d8d6c175aeb994540facb33d5ad9b86398dbd510266610026e541dff74fb018b4c26e129bafac17bfa07d5512f72ea4f1a7373cdcc003007e406dea52f5bd1b65844adeb3ae866246d56fdcd7abc819c71692fad9568a008f90cc6ab9edb6b64a196b57e7b532ae40e29800e0cd3b61bd0359be6548a5008659eae17cab52daf61663f551ba4323a0a119b6ea50f279d2222dfe76b455009bae0ee1c6f56b1e96e45e79b060fa1afc44c824c6daf470832d1d9f046a5900f3b89e1b084a5d7865451b134663147ebcc2258a8e49c2142e02ef7e5eec17006d912ea95d17d443e77e83d9abc00c07f9742b21a369a934052ade2d8b937e001b6e696a9128d5f8adac6e3bdcea5e1a4d9db7818bbe0f6a64e2fbfc2b62aa0015b329ca5ed544757a7d9c8dacbbb4fbc4138359aa2e7bb71073e6fd8eb86a00c890326ee8ec950081f2cc5ffb6835e674532306d79e9437eb77fd8710262900145e499bbd9c248e9df70cbf0029a29b1266e1e23e4bf2e66f29a08e3ef155006a0749e56b2a80a33652a9e197ab195a6e7fe046d18b8af40ea6236a99590200e31674bee415f3a20a4bbb9a6c4fd978ca7ca0a5d9abca1a4bbc6d87fe3d2600125fa6ba43c44a3e3644c1c5cabebf07f08ac7cca01d72491b15494f2b5a9200247f29f5c7f3bff4302dffebfc4ade0f18f364a167399231e9462da0a2277d0086959852370ca348a901570fe528e5b1afc74b35bef33d679eb2b8814d94b600b11732f2e7a02aa77a22c3287a86600aedd8c7ab6b98811aa0f3ff6be57a1e00cdc84e918f433d1597746f6fe11e3cb8a96a28d3264c8df6d5127f09bf8d9b008fac9c7fe170a42073a8a316d24e151c3b516bd0e954a0147193fa86a351a800c393cef0aecaa4d4f4882bafd1cc878c6c80f7523183c672c665c93d19cbf700ae2c3d67562fbe40f3bd356888c0e17dad376574a98e64a3dba5310ee86eb20011c325c172eb7ac9bf065be9508966654c9bdd10a54f2e8757e3ea08f5c2d000b52677a146e68df6eafac247758c5f55c9f5c9aa128ddaba084a8de3d4030e00c329f1c1b589fc8b3e3546f6b3724cb6bb430d3f6cbc6c143aaa9b7db5308d0048ef92992d95feba3dd54024f087dafd5b5551d5a4eefeaf63363f179eb47500f0524c83aa6889dbc93f219bc1b8392e813bd748fe93f7fed9aadd939a94bb0076226e17c24d314743cf279afd7e9aee976ae3bb0646e03b485d5d6924f76400dc5e644d761e7ed3130200345d139945dd45f1d53ef4cc64d031a781585b670025cf3e13b23a22fef42b443ea264f2c8b34c0cf0c0f219b6a0821a302e3617007801e2dce4931938c79cd7bdf0716c44331d56aaa7ea51d2fe4d8dfcc34e8f0097b2091d4a47b226d614afcfe1b506f1a737bb2f3f76a2071ca8c4b120af5000c8c314c72d23080bc7c1e5a353ca029d1dc31e0939168bc657f528e0f6fced00e4181e4623d21f4ea41e80900675ebc3eecae797c0bdee874559f53f2efa2800259c09718401df8d9e287a41ed63bb73ed18404e010bfa3f6898fd0529a83c00ea675d4dfd5379825f416741c1f5048ff9838bc7d4808d29665f08375f562b00d427211d30cd03a3a6c6c759b1a930cb8b2cad15d51375b11d19ad4cb50aa200e72914a783ae9d111d0530d18d9b9818f7a396cc6b630c1f8b1637560400d2003080c75301923eaa2507402315a23114ba6458faac32588abbc56a14aa80730032ae5cf496f8efa8370a01095be66e79c8eca1f716cbb7cbd4a3a3ddb70e3a00e980a3d67e10f6a1699a791d23a047ba7aeb42cf0ab9bcfa634cd13048d9cb0074f55fb4c668e5980f53f2161c659439114adb708443d6674c028a4ad2d0fa00dffc223ccff8ce7b091cf25b8a91a5d201eb4f72c371bef4a28accbfb51b840010cb8ae5ffc5dbf9b7a377485287e2477204546c7b86044689ded2585db459003d161153161e4c457af5c7df8888a0c3f40fcc87e8d07424f7bf50210c69760046a4bd21a58fab280c4a52cefe1c29a19dfe2171df1ba19a2ccb729055cd6e0026546fa3fbc09252a4f96ba4916052be08c6aecb9224c85cffb2ab586d39c50077504a95dde2af36374fc3ca9809df10d824eb5e7a528bb8bf8dd66209c7de00a3006596f8db8edb9beb20f5f7ec0659fd5308955219d8f9a46d2f84b798c400b85873607f385033e53182bfa3ff1ef10fe7f61ba5cba9a8b7b26e11104ddb004578f4b823271536c14de9f080ca16d42404235901f0c63b4f75eb04c223e70031c335157175b51f46c862ec3c6f6110749c28c25220bdbb89f4a5743b66270074be519f134f1b04b8726cbf1ee7f409b321432a1ad330ce283d8820676adf00f70d9b47a372d6791c0b91dc1b697b68aaa2f8a04077e961ac12dd2c9e1c7c0047e42a6cf17b222e569e93f9e411632ac01086f3f2589bdad301dce61a950f000f33a5949e682246e05d1c1e14ad8f96ceb0905556bb78de70ff63a8c95f2100af47d28028c8288330081bf7fc0db39a5e1e1bdad034e0238b5765fc2fc7d1004f9cab0cbb042d25d7fc2ba2594180565db8fcf72ebaaa85dfc0f982a9aa590075d3b141d453728b9657f3c4366b66549cddbf3549e183c7fe2cc6404ade960049e02f3f906ecd513ea6db71e7475f5fabf20278e52127d6e87bec5915c63700e4ee6ae9f843e57a0bb3d4bf5f166b3b240e0fcb9f75b4a544f63b01faa65800aa8fea32a6a33a7a3a02add34f49764a274a2040a97bb9919be53b43fb743f0089992c264ca10415be526eb4a99dc7390782f4ac12dee630aa1dc6d9563bbc0038fd1b90c7f7a70576d35a7c81e541449326897e9137716580d2bf245c7d6500d2d73302ebd473678914901a4a6af20e3689d367ac6e0b167b11473d4d78bf00975c7b01dbe66c942e0b532979903a66945e13e4386a21bd74f99735d9938400073be38cea161386b1b33ac4165c6fb5d1db91cfc7bb4265d47c31bad1c36300ffc5c1517a0508712148e71c4c1042bb7e58ecf8bba17b54c7cb28ef4d45a8002c997b56f0ad5819939163c21f1f30d4447989d58d339cc5deeace86017c6700f28f2f3fd57c4cc64d250509ff105e0d233e6ae44e4ed8ad0fad1d594d5b81002ac5d0addd072179b46cf9de0993dc2f0e191d0d4cec1f78523868de94079d000e1067563d70b292e78e5dd8e73f4c5984febc24ddfc7db8e1a530a6f200360078476d75a388188ea18e67b4e8176ab3bb8b6489c51b075697b0a4e94d58a600647a9a1de1e3ea17b3fb94daca52e3896155239c2913506e4a0dd8a5deaaa70030bff15cfd52cb6ca175b975899625eaa67c3428ddf590e43e41168f30411b0041f43b1c75a6ad6e1d34859fdf6a24f37182a1eec69a10de6606e08d2df42b008794a5707a3b501e91323aae4d18d086b082093786aaf9984fdeb2d668b638006649b5987147d4abddcd7b03185738c9a3882f7f42b7b9d4e9e1d7b574fc950049168acc87e357683fa53dd0cddc5f2b1dd5c57391cd65a5f3328291866b8a0061d695a7ac35e724c3d22172d151ef19b29bfc763d641e30ab14e14dc8caf100f2e40e74447679ff1993c5ba4a5e52a2b7ee34cf01ce4c98613db538379c310059f3c81bf33e31a714b3c00271073bfcb257c8a9ebd3ebc8537ed23033348b001602f0ddca5633d2a30b5651cb0de5558e1efe31da4c7a09972520925d4a02007bcedd9232f3b056efe6ca4239b9795d573689bb3572a35d2cf231b70da40a002b4efa06bf1542a13deab79f686d87692e960828b1b6faad884c183ffb5f34000c06cef54397022d2f2250fb44bd237ab62b6b0f8cb7b81c6f2bb1c9f33e9a00d5599fcb88f8d001fa6f22e26b12f53d79681868e74c9d084b1f8c301d6e9a0034d15db57eb14f3956e9b05ef1b4427afc1a5d234e066d143a2cb4659c6a0e00b943c6c56af0247273122bc9f0a25c9de9fe503b988cd4bb29638b8fef8a6d00d34c52249f37309370cb5f3101795db67be0606f919cf9a3cf1cc19f872fc20057d19126f091bfb2dafb94f35a8efbea412a93a161ae19edf8dfc42d40da5e005a55cf680458f53b28b2e54e85194cba9d177a6c126e85d10794a3585c78bf001c81ab8d8a6574aa0eb10dbaa0318292955825f0baf9f69fed45854ae60b8a008395f7055159eb7b5345b1a1e4847fa12d7c0e9d75d55c779a4dc03ac9247800617ed3b4d0cd7637bfba6a23cb14b80d6a217c0ea7284207e503f1ea10bbb2007670a2de916e8599c75a353146f320edd71283733127156828597e7b4489a90082768b294264f4deb3bd68fa6c3aaa51cadf7818b9d9c660cc271a287f4c3e00c259eb719cf2cc62a8465149cfb17256441499ff4b37187bc2077d9b432c65006cee16797c76d0803cae3d5e125cc484d368620db2029a8ec09499187255b900d1da2f421d6acdae3c33918891e34a51406f0ac75d16c3cd6588b7dbe651d30013ffb5348a4cef586d831e936d2f940a1fa873bbdacf0f3cb8be91773fd19b004918ac922d7fc72aedfd4bd2e2de68735d46c86331e588d787be6da4b80942005f34ed64c9cdd4acb6d9a7d7df0d8ee70e1174f652b3916507533629105de1000642733a7dfa45cccab6d828f1ddd7d9393b250fcc34a5e3fe83000331ac5600dfcadc7abc0d876adb024c4230cd341fc6dd08aa30954083ccfb3d56aaade0006252e38992ace11919cbf2d7ea54249a699d85832e031cd8fcbe218a61c0b600a93c45b7b50ac87db4b46056bcf0460f42141c910aa579d8907510549b7439009bb34d478fa397c1469fb46b091013c616a76d12be6b15b872a6545243e5260037ea16955608abe0aa174f8f98d9c6eba86b75840cfee5a2772d56db06248f00a679b3b594267c4afadf0de9f0045deaec232f3550e1b736b93ab6590a9c66003f9a7135cee52c3185a9f7660c944886f35d2b469b54e779abef75237ec1d1004163ef5c1b7f606614e43d163e33be180ce5e49ab49da2372b6e2920899fb10063f927e38adad1c082737783d92aeb1633aa05e30257f1ee27f0482707683b009db6d9d4e52ef17bbe3b1a836f68e3b91f9c8ac74f3b35e06ff66c0fd4f34300148dbc251f390eead34821368fc3e398a0ac4b3f90c7f5fe6f1f350f30d115007b76abce9c5b397e13f0418c2c685fef4c9291e0794604a52744dd5b8fc26700c98e3c998a23f8192d1d703139004c16a5ddcdc42f6d4746415230773c26d200ee9ce25d61944c044c600cc25eb0c764a9daaa207c0064dba4413fda57df5400f0288c3f33dca6c22285afa730726ac5e308fc57fa00ebca3a3053ae26467900412f8cc285f74d49ef700510b95ab12e4e390dc98eb8d32f013466419846fd00a39b395e5a123d811b03d911a726f6ab61569236c1d6a2adf875a79dac5ad300d21df18c004fbb5d5acab907f12671f3284cc068d6af056b023957c0e7240c00492e6f5078333b3a8dfa96bc590249751fe2acd677f005a03cd226e2460a3f00a75113cb74fc6105fdc1676112ae244438252f77b89ac4fc5c8a26e5869b1b0028070b3f5f81b897cf900d45ba8730799f81314d644bb91bba1f64a33d85080030b5e5d339b276b4863fb0c132365259cb3184ead952dc896646bc1ea2f98c009ec5a7d0a2e06238510266b24ebd7b992071ebec8a37b8248236239df0239f009c2922113c4b0803df89f0ed1c0d93d5109efb702e9768576f76bc6801be3200a97817bf4920f8f050d7d696f8fee3149079dfa714d645a92b5daf95340b3f006f8db61bb9f1feb3f650f0b748f92d402a82bf5a6fdf356b0e88d3ca11a13e0043def08c6cceaa995e5651eccb4666dc3c4a4ea414d89099718a2df6e93beb0046359f3fab667cad4b6316fd8421fb090162cb8873b092bce3dafdff88e1d20036015db2c514c9b5d7902fa05dd0363dd6325b36b23947fcfeac1c44328c70007a7e30421210c86185d4c79132a2df115912a66418f4bb81a55c7920e5ca2a007f7f72db317b7ea0d294d8f4c0bd2f7254f94b4c56cd1845f49cce3ebddb9300b02757656d4e64923effe484ff868e9a4ca2ff05a9302216cf284ea07c6e7500383aaa750563b51ffa7fbfd7ddd982c966c77e00ab0d4856a28bc514ca20d60043589496d2c4fa88af477f2fe2b82fa4a948c26a8d9b435fbbaa8424e79f4c00b856281050ce88051f425ff7f98bd47ebcd0a07dbb5479eca139fa2a6a80ab00dfbd845ad51bd47b1aa1b0c97f3ad42cc4e8663b2355ade19c7a76d403303b009d05d4360ee605ed2d7368ce1ca726ff0e8d398920fe04ff3e748caa2a8384003330515bbf9dccaa548e8fd68c78bddd116f13d48db05b299cbef52e1dbdde009ceeb8e3b44d2b3e02e05334a44d3b4c6edd176628a2643173d7bc38800ff7006fee4e73263ef3b0d7fcef736968407658e9eb5bbf4b59e6dba890f11a47e20080dfa90b20265b63c06dd34e5a37e3fd9a71179bce45f8199ef54cfb09a46c008409efea6698e87167a6b299855c8793ff742e812eba4126302929b51b8f7100d9f4338ed04fd606c5a1af5065c096a25b55129b694b6d189e5ff502a6cdeb000fbe9cf4a933954b08bb4a9fc8066bd3d2a749e1f48291a84bc11f8dc162cd00c6ba8bdd3aff265d6f942a24e4b17ee589e86063476f68838e80f57da4c6b200bba2d8d74c1064da7d9bf66d13c38a26ec3eddfe30daac714cbf65ad7515ab0062c923a47c4f2dce8415c61153d83e2177529c6f80e8d256c36f5789c653870014858c91244c40949d99a1ddd04004a394ed8598b545a9bd80f7c419cdd7eb009a992cb57d8b5bc8ab0646cc59ea3d1e24678c7e3230d7c139e9f7d53a666c00a8e1ec5bcea17a38a153010ac7c500616d2efaf2d02019b810d7617918772d005d9a19110514173165967c6e20568933faed385d224706f082e3ec509a78fd006aff1d9a5c958cde428c4c0f77fc3a97d20e963625c830269c6548aea3e9ea0065034574d54ab1824cb1af23b4afc157b4d3e476d76d6a3827be618b5f17180092f7df0d8f5ec97a65b222751ef0ae48811035e9b509d1c60e187c5d1de8f9009ddad08a274ff6432a5c52e856ab9e9718d3d3fc364be92e850884c6e9c1e000118e1a6a2b83db88dbceb1c2d57370571fc44fdde04b7efcfef522ba74331a003a944b4f8f0924de3e8a5ec1cc958c2d61362841485c25ff80c09cdfe0028c005ba78057498d150ca894654322cac31a1aba28913d77a7d54f4bc1a1463d710089a161405c06d457c88eef7e284131d0daebed0764187ad4ec9f19e683744d0091a64b7c5122eb559054a2b7bfad103c5d610b84a9a94b031f44d8d98fadcc00353f81041ede058ee106944ea84bf1302afc3583fc0a026018273087813b0400ee4c99663e2b6a6299e20847fc8d6726ad82e8d1c1bb96b755686715c9c844005680ec593ca082afc54a63825b3487ce1aad9e7ca6c24f1ea633f847a2165c002c439c9229584adedd892863437ffd5d030e1c379cd3041eff2710ad64ce5800f5c3c0019b3d11f603ebe07f8037faf5d611cbb037604ef381bc5159d54c97004cbe2e739db33420b3eaab45095456c1377e4b4f28cb78ec0fe1c0b54cf5c80042fd4ff4e12e4fc31f640fe7313684c61f1efdbdc11835931fb181e0ed8c97009ff8151522bce760192fb72f0145426d66aa8ccbc4b42d7615cf512f194ca800525c2a47feb3243d98774e6179f30c2248f197ed78425133e5a71bcd2c565b00bf8695ab1903f11e68e20c58b37dcef758aa88b0fb769218417ced2f1d0a810012a208420e4c56db37023a12ebb702b0199e511d9355344e71fe4691e3a320000359d20c30af0cf4c0725271852e1db508d92602cad73ab4a9b8d4871ad3ec00d625c316e83ea993431ea74163366a28756cc468a5287f784db6a99355bdcc00c6a801bf7040d454e0c5ea3f1edb946466bb30b4512e526960f453985f1a450076cdaa3d6197c01006f646fc3fcba0e4efed85293f43c88064f746a79361a300a0a99f4564b54dfa1b85b19230c2fcdca89dbb162b8e77d3ca9a40880b9ae400129c6a9f8bfdea35286ffde9e2e405a6e138dcbfc04276f4e2027c4fc481e000d8e636e8e83d0cca3ee58202f49356d51db3c9142c7f02bdb077ef309170a0003abf801cc2e0d3b597f5a6ba20029e2d670a030db2cc24b221ff97eaeca50e0004dc4ac8c5752c8c12579b7c304961b18adaba0ea10b39d0902b5c419fb68b00a0237c637187bb684213eccbe1fd6e43675a7026b9aa212dba7ba7e7f0e8d100b483bc14178d50fa9692ecae41c9a9ce4212c04f4e2ff0cc33d56d5f9e6d7e00ce04cbb8c6cf394684965c8ad71282dfd873b9672d51b36aa22f090f23f956002c9d2a63cb7bbebf175aa41d7332517d2930fd121d5b332fa1fd0872f013af00858ac23e4ceb38d12ae88d2d7280c76b2feedbd69b7d8109b8fdd55bc1dd59005a9eca28d58a52546caef72dde2db4e50d59d4d6d3083fb7d9d8011d208c9a00b4b0873584dcadb57618c323099224e55f7417e5a9954595a829ffddf8a46200e8dffc0c529047d11c0326aecae71e4cf89a3d4f7f867aab121831306cdc5b00d2045ed7ab4b091d2dceb2f3d4db9f990a669279a4aed4f7a903e8b9addb9d009de4adf9711787850e8f2ddab96e6bac49f38decbd48b89b55910d8e476ddd00ddc19eeb4537618fb8f2162ed8539e3eb1580101377b534de166f0a6f3c9c100ba62b2caef81167fd1d0f78051fe8b8d95b573ef9f25fcfce0e9bd6787338800f4a5d23643cf7467796d60bc719cc8b22bc2c244ee8fe8fd39dfee4b9f8e8000cd0654497c4cb7fe56c401858b513ab1f6ab004366393b25f616bcee007c2100e98a7ede21a9081e8323cf543cb0290d51191b79fa5c64d18f652474a81620005d6a8ab93b6d3cf59c6e035c57195fb2fdd835b8a66b20ac4c6c2b48c8b10b00c4c0f6000db3ac7681387691d72cd16223333065d3a1b4e92d5ade53cd894f004c16ac7c92cf4b21293d1438e35185eebdfee5e0d67975e39fc43dd40f3e1d00fa1e17f78676f582bf24bc2e9fb483799aca9c307896740eb323db8f7b90c800251c1a39b96dc3ed60552c362ac9250d488cd2e60afd1162d81c3b40e51e58003f1aff3952a075c049f3698ba97038933e131424e9ea4ae23b1e89cd5cc2ba00aa942f89c67d45c0ab9347093e32d61d041c146d863362891555d62d5f58c70069c8470607fb8504507c7fce962f768e89fe8db281400dcfd9457e8e58601600c251563ba50577688e50cb27658bd0321781c73e18b872552fd6de897cbedb00a1dc645bef0b356d7f587de5fd7bba41386459361cefa8bb9ba52787e5a55a00228d0c540c685d2563e02285cc2bf92aa35312db14e7d989d4ff62c45a47e6006cd624d1319807f85f2dac1d964f50f8d408a48801d04c94b7c878a5fa4e6300e46678fca3067b1040b8ebd8ba5db6a35bd899bae24d32c820d980f14dce5d0021502dc6654c95898a0ffbdf95d27868caae0700f4c76580fbe06cd598d8e700f23abd32b450c180c4dab60366f709e05b43ebb670dd84f821b050763a86c100a679ff42266f47e1da1d6cebbb00f3247935967b54cbfaa7b94e640dca9a000098292ca6e6781cb9b66cf75367c35726584334c52fa67868737880910ef7d9007922ad4a51f29ab5d992a91c4c23c398bdef291622bf68d51a0eb1e020a98300fda89cccfd2f074c859642a59b3fe243aae8851f97999d416d958f4c5c14e7008284b9e12b885b03378c35e4ad054bf1264a9f2f57e9d4dd65b754cc115ec300dbfc11e0c32dd3ed1533639048fd9f8fb50d3a2c67a59cd194baecae402e2d0022cd35157aecd65eb46bbe5077312557e1cde2ad0968666c92ee3194898cdd00a64983fb0d797ad847be49814deb28cbf617913a65c8a69328498acbaa23b4008ace80c7cf3ea6d7c74c069de5184cd39cf1f6010c205ef8603b95780e85b900624c8e65b39d469fa0fae7905cd49f106ba004318de0692f2c22497122352f007304a4833c1ff7b9b7c1ecf1a649c1a68b95dbcdb08d03830671c0964aefb2008454edb279a62c08b3645878b194b2c752077414430a06cd446b30845f67f4005e3df6c90546933bf5b1b39b4ea71f7d16ca254ad17154cd24aea2cce8dc4300e7ee338ff3a67b822cfd57159e70fa1be75878b9557af9dabdc361585d6b95007dbd55bdb3d5e65571da0fe8d3a4015922ab380a3314f1454ba7418ce01fa5004b9238dc969290e85a3f9df0cb6b40db6597f3b466eb4207db22decfad012e00c373e070baf1ff631bd6a179517bba8d432ffa7119fa388a12d5b00ee3e6c200755cfa043d624802b0a98f57c4e8ad580cfb5119f79d2f687e675e4ec9992b001466d31df99fb52bc1c80bca59d9f5300b3dfca7337cc93f7405777226a00900b42ed80ddf424719086abfb7972f12d363e566e40ea8e29cc7fb953cd15a6100af298678f014218a622613db21a0508a02fb3e9c47c350e6295c8c2ba917bd0089dcca212ecf76b93f6e48380c8fd7511cbfb5fb632c08cdc8ec33422e2790009946c95f0a0aaf1a84c1c1c6a24c4c5de4a2f44168f65d9fb0401710a20c2d004553d14f62c8aa94fbc4096b36aa5c0bc43974f124dd7f204c454de145f6a900ab5b8c321068cc025785b33efaa509f5ae69c5e4923a19e508bbdf694284ef001bf4c31fdb6f42ca90a48163a6e5eb7513037f75f7fbb66ae7f3c2f6df3bfb006ad829a1ce0319447407030a5ef7dca720cfcaa4ae515c00cfba919406f6af00fa07244c69b12ef1b21e5a669f1dd19b4273dc4a2e37370ac20a6e9fff1a56009d11d05ff6fc6547d76f3248c5150df83c09b95b4cbf9e6e4b97cbf7722ca600a1668603e32a131ec1d8308cce8ad834838cded143b04f2866128335e7a7ad00faf58a3e0aca43ba2da46182db09f0a1bd2f32848067d4d7774e80488b160900e33098dfc0a1256419c3bbac4d4d74f0761a4596929ab7433756e35affc6f7001e6569e043bc92ca55a00abf4c3b0c02d5c378dadebf4d60b62d5deeda5269002f349cfbdd4b1d026c405c4554b3faca5a43179db81f48710ef0698b8aa4c500c5b78ad68bacbf79a8fbb23565c774fff7c1ce023f3b514de8fe22af92dd1900325dee24be33b4bfce8cadb1dc3be5d64b2a20a72371618904cbd007746bff008cf8c9c6cde8dae95e0e3c796ea82f93306d3b5a0cc62d42c231cdb51a56370063667ebc942debb6e7068e15434debae16d611589d106af376cff517462fc30056333369c65bdac8451a666cc35cf8ca8bfc06cf9d10fd0fd6349d0e2ab169001a3a448ffdf79b5e9808688a81ecc0db7b14f6bc2d125dd294c97e441d56cc009c74f0971ece7bc834ff136bdc67841152e098f32c111589b07266092e510700a1114e74966025abc4637f9ed2063ce707efe73fba3bbd4c28c79b76ae1a8a0020bfee2a554a7a766b081d901936baf3e762f1c57713425532d39f372a002300222c12d577a66453041f2bdab282d41af1129167ca20ca4c4169d8e8f6b32600ff9c29438478bbaae080067a4910642bf1269db3dc69fcf51df4f1866e3423003c4a984e42416c580a1465ddb4ec622ac52a1bc0ccf2b7cb4fc0f000675d9700e7b8ba27c12b877b2ee02b22463db6157972be15a86c6ec59b42adf3062a42004f02260456d504af454f2792b3c95908f00533fbeea9799b53724249e7afb700ebe22ee7efcd18173d27a7d18b73ecbfecb52b15d164458b7c241b0791164d00f916f8811e0aa208b02994a0dcce43ebf62ed18517a008cc8ba8e2f0dc1e8e00d6b0b1f3709c5bd22c98450d9ff537356356091c344abf6966fc1a3f9afe62003cab3974a4e30fddcd071f6677013f9bcc91b322e34bd359a76c58d35cc95c0056a6ba32e5e0110210c8f122c6b5bacd10589ad5f21b94506b8a8e447ac8b9004ef173cb723772f4d35183acc1dfe1f51abbaf3bc939c4d83d30e4f30c70bd00db6922bec3f5ee653ac348d78accc797cfc9d854577a4a01070d77745dd59d00d5558cb91e1a9fe2cb1c1cee44fffd6eef454807e6fbb639f6e8bf8a524b1800612915373645342c66ac4f8799f9830d4ca09fb9d452d81f7047b3b243225e0053f71e1d2647346c0cc1e4d28e571b4803f88478f2f062508cfdb204d6fe2b003d8b3f9f00ce9ebb5ae964a9fcb8858de1358750d1d66196e8bae3791a7ca1004468f3da48c4aa3fc526744bbf1672a157e03253f54590b5c8322b311ebb0b006f9e512b825f2ab4071cf7a1d9a131f3c6ad489a1bb59860447a6588987ff0000436f44ea0a6ecc4882c3fd91bf11fa70c0ebdd40b6233d9336cec4b387071008fdb69ba8894f54d49e0d0b1abc57ed0d7fb207727916862a02ea47b078f40006f252d70cef2c66c1f9997329fe79db158886496121080d399387eb01e378100a095a7c8acff92c543b0c0a7a7dfe9d05a6cce980f971d260e11733eb84c1d000c0c12d88d266a3a8b6a7224a4aded0c2827c8ea4ddc77a19359a2afec2c6700d1133442fbb91c4756ca8e65018eee3b2ce0954dfad2e5743ef391895950260019342a622dbebb5a426351e05e90c0e1acada6fbc5fc76fe8ec32e2d4717a800868434d9f9a6189b4239ab56051924e8f5fd083a9c40c7555bad1efc0cc086003f695c649b86f9c435e8c18e1aed0589b9e31a58488196ca6e2483c1c97dc900faa5d2e35f4262949b0d302cda7d705bc3dd91db23c0024a38a58b88b2866500c4e325e3a262fd5da4454d24b7cc2e54c2a1379de540ef413bc4edbbcd372d0076999f78c359bca05b519d776738b67549da9d27d07cd389e3ab482aaee0d60053feeb4f1d86ff38872395edf0bc01c327716973fbe5df29c701523443635300bab2e6eb6696d14c82d5c55eaa79e8e0eb93710df2ff8bccee6e9c27150d1800894abe8051d487c8509f171770d1a5acca2b7230ba694b4db90e68fe3fac9000101634e33c456f051d930df0df0d7216e4c4b7c6e914bfdfee0cb0a7966db900a2b5ed00070dc1b1a09bb7875fc6fc6ae7a92b8833f49d26a3fe13625deca600f4b2644fe30d8e9a41f185c2effb1cdba0237fad26052d347ac7a033b12b2e004c23fb251db5a0ea33bfc611699ba9d99dee4a274b52171a03e486293b930800d14dc1e6cbf52d02a835c46d87bfe9dffac97cebf3a13e7b5be8c5cc7910a100eca4fce5492f73f5395c2a447a6aae11ed5096a1f5f1a98479dacbad04d1f000a5d4e65788e7da8bd97195fc8fa9c8d3265ee3db1d32399a5424fef0455b2400473d3503de9587519cb5c1523ef53a51139e2e49ac84caf7e52993321bc885002981c6462d15f5c2b6721cdb009dc1a77a9e6e8e71930345da033e52dbe43600790c59e3561efc9fa286556d38bace9393993f04aeb507cbeadccfd4ab43fe00c4da111d95f0dbe93bbe4c24574c6771fa7cc01dad9bf976b9cf49506ed05200f6371da4a442f0c972c9224dd48552d0d0611375cbcef8fa566eca43d499e3000b53b5fd9135355856b48ff4fb515954f0d8921acaa280a0801dc41651425c00b3b73d77f50dc0255eade1598dc14c8e3ec74065799e586338df390e0cc00b009362289237216f0e86848f5eb203bb3a2cbad1a1df84a626627942a04aa9440080dfcdcd2df8b824fc4d37ed33a1dd15cb6971d52957a054abafd33532775e00a505c9156a9f1a3e743c50b7664793fce8dc24e2a2d205dec735b0f9ed624700740eb042afb238b8394de03e6374bd80af84a6161e2d532e2917a9ff183d7800dc3307cdbd4d9149af678d98eca084a359d4c8429c30f729e0d68b8d5701c600210f223bf75ac3e254d4ab660f69ffb6f9d14b6d0131f7ae556eb76ea2f514008efb8cab1334e9d3e60a099975e7500e55856816133a71dc0073eb5d274e660072760a7fe7027495a8bba5357c301545aefb09846e5571e29aaca6856d805b00a8a000fcbd442e54e6d2f4057507d82bf9938990c2c26289259e7061d7248e001fa138df561d064e6ac770dfebdd5c155c2a2fbfae393da546e69d62bdd15200d6397829bd0e54274ccf758aa2357ceea5120c845bc4e98eede3bbfd802c1400c33292ddbb5fc34a52e4b9e260c58a62fc263bf90872e04972714940b72bfd00f1b53409480db2a7e4b6b8cdb1641714177c509ce89184e3972c7ac87a63230035b8b3f0c39e3e447f17aebe678756c266c67f70f64ced754804ebab44509400d331a5d7707149c05be7a4ab59753493591374344863477cfbab57c86a62340043f45dcdb40a0e0adc687b5187a43c71f8ec5ffd67fabb48318c6686391376001b4f6e95434c2a2093a07c4d3e76a99a19fc43ea9fbd26b1415ddbd1af761900dbcef109c1ff9bc001bc70726934763b2dc029ec63304ce204a40a93e10db7006127bd9b9e8d46f743c55ba19995fc4f18807e55074c9031439db52d6f0dd6003968ea3b58c3cb7f0dae48a95864cf79816a8e3dfc1d17580d1a2095da96f500e9d932d78b1f418e78842d94f2fe9dbb52dd785614cd15eb0b02ac90a52c9500c852cbbaa7b211cc5e242d64720005bbfc6b1604f49fd6d38a96384b079a36009ccb43a2348a07bbd6c04df4c8a4fc5da6eee8d39fb7e10250a78111631cf2006080a240c518f359ef4e01a4455afe517e2d687704004bc7e226912d46af80007140c6960e1bc6696c3da9825f5f3de50a77265ceb141dad8559b820426b9400449a084fa028d15e3af8e9fed0a4d07917ae062868f62db97c5b514f3ea917003e89fbd233da1a2189961570774e4e4b4ec730f5e7fb554e1cd8208ce8cfc200af63a2248ea55d70529b57e6328f1cddd3f4b0e09bfb5999f686a92f10847500c5d59b9a7808c328539e772068b5c01943fa502970b22fe687c1181f2f610f00a0cd0746f90513e4ac3642e7177a1909cba1643baefe2d07b0a27d91f56744004bfa9cde2849739988ef6ea647e8efa254caaabb0346366ad81f271e9695a8007dbdb2b4c5af9ce8ef20c5b2313bbecd74c48d1f26c1d192b96ee37022105d007a77dc41cf08529901c1f025c721ed8b8f40bf7eeb72f9debc8f8c40d2fa6200d07d16f7cd4ac82f1810fa2e091b6192ad43e58f0246b054179c70239ddc990018d4ab987b8f95025abb157633e99bcbdbe8222b1f66f72208b7cbe7b08a8f001498390ee45c327552a3d901b43ec2a7c49fe893585fec116dc8511df63adf00302c2052a2db76fe64765bd3ae32fe47ef09b7a903ffebd59da188b952e1bb003aa3e77a55023e8a2bd3df97bfa79dbb04d74eaa346818b7257bb378bd8f4c00ad86219edc5c60375077f699648439386a4e68e8cdacd723bfb361abbb727000ce095a483a5fe5030df8fb7bfd23cc355ef30388ce05061bb1866255ae15320088b07e086496f2168f011db37a7abb94af72fc14b63a25d8e1fc6eec71bf5700181b135161c429e6b405734395e07d2aae080631d5d863f0a31f8c8bd3049e0002ed067898692c098ccc40ec7f875ac2e1541d8346b21f56a1ca263d53b70b00fc6543b94def1a75b9f401aeaf748860b4c08863f65b197d293a07c6ad5565002d52cf943667230b1b59eba67d6eea4df046acb70ca53883b088140fb0f8dc00bdf27537e73668c76eedb65442f85cb428c6ba9885bb90607d796bb4fbc5f9002e67da47399884f9a454730ba1b2ae49fb36ba6acd818394a550e030b87338005b8660647c32f8cf0744532f00115725744ef3053f6a96fd8737c5db1c7b62004df28cb3c1db915ba6472da6930aac47d0fb7487e82c439858f1c201cb94d600421c0bdbce0d926d67d794f0b2d066bfedf88f8a1c38eab4afacc37466732e00d756bf85d8690f5e6d7f1a184f873cf0c4a69dea6fec01b2cecfb160b392cf00b5456060c5e16f6f72f811fb0c45c0dd62ee406e076ef487aaba1ad9b1e7a900ff68879fe329a73c5cc8c6fabcd2d3f3912d8c7c3b02afdb47707d5ac62d3d00d4ccf21e9130f3ab00f812af55f9a5d02b4787ce767b0eb129bdceaa785f0e0062886df1b577ad616dee80333a259e3abcce914894a0934fe17be6b034aa6700083ce68d274638c2ba9333fcf30989e62233fbea424acddf6ec859c417b801009ec5c632edb608e811ab983df9f8861a416e1a2c33d64f39a4fcfcae46789f00c305042a9f678a84a7bf23e688e1d2ad3a01a1350bd3bdbbc7a561655c49c000f02040cd395284a3fd3e8701d97dcbccc3a53d7b57df4eb343d72c9884d7aa00c320237e6bd75274179478366eea15079b38175b60de9bceaaffc1bf9152560087e5d6228cff0a542ddd92a56007e3d53d0a93cf51bd9d2c1e7e01187e15ca00e51173d52e5295b069639520cb54062e4eb22e1c082989bf8de7d4b6d2efc10063a03dc7e552dfdac5d51c2b57fa080f54c55a142960cceb7b81adfc0405bd00f7a263ecf5283ee2ed030f1ebec8c60d04356fe0e64f62db4d771781cf0c9b0059b553d88386eafc7bc4adb9a0a35eb877c4e4c7e7ae4afc4f8ca401118bb400c651ea30fcb5121a2f14236de7bcee5a4aefa2e4bb5214bb2d89997d548ebc00daddf8caa03024f28cd701e8ec62fff3e4985a232f46986b85a7fcc7c41a45008cfea7f2be4d559c8cede02263c6bc69b0bd32726256fd1041f35b84c12bcd000dc38ba6c5a3854070f0498c5bd653efd6b8cc4f8942d0a0ad9ed5cef6a6090044cb61f34667be9afb40fbfb064eb1b9b9c34dc2800c6792bf7e5510b4102400d6b1a5051ecac4ef9e743526c027bda6defa5a5427edc168f4a75457a9e46e007fba285d9035529384e8d67fb165f28763d5f6584690df9c1cc89ab63e02fc0021d412e780d01ea295c85bfb549ccbe2ab079df6624f80e502864fbfaa160800950b8e6a77e016d8f2e04e2f75c44b05d9f23142313a2dc05da4746e862252003b3f04fd055ec93dd4250a2eaf059ac46271fb9460ee71aad8e2cd04738426003688546ead1ce897ea695ad0ebd3b9787c8c5e06648feafaf0c5c41778af590040201c4809220461c090ba099b271980a73a71e8bf465a1dec3f562327b9020067d6b7125b9fad360c8366e6799937497ff994b2d38036c1af5d5ebcb678eb00a21369af4ab9e44dda01200285fe999867dcf4ca2cb3112fac8aaad7a24d4d00f533fc96566aefdfe70ddaca623e3d51b55c6a84dbb4729cc9d40a75c5294c00984934c68a19ed5e61ae2aa10d95ecc9b87a40e4f1306248ec7b0dcc0a798b00dacdb0c57142dbe1a9674837cffa0e8b0c5cf065b485ef253ae383e0cc808800f72ef8fc88b0fbc6b18452a34de7cb0eb70f461f0db4fd3058356aa2d63a7000ed1633c690d72160f75d041452ada5b06ee70499d71b59e74f39d9e8a4dd9800fd2e1ccc384da7fce2fc2d2ee8c157722245afd87541dcf25358f1aeeec73c00d2c743baecf44a7e0e2ea33d43d4d993347d76f0d5ab5b6105b6c5642c2a8000609b42fa2bfc40dd61358ec18e1ab9772327291c9c92088e1a8c6f50d4cd9a00bb9b1593e6ca34e7721b6048eca9524d6728d836fb714fbdd4397e49ac1f0b00cb274afa1949b50b45796ec50ed34951a63e087b6526aecbbb5f579432fd2d000c180772c723c3ba2f8f282a3764bee4b431161672a6497b4b569b0d9494070033f0b541391c8a0fcf8962330c149aee975c74b0db0798663bc59f1554556e002bd70b140bef49b2fadb26b57f7e5f73af73ee9d2f508e663b963ee0d72f0400e4dce91f85a222a544e89e335c4ac4ff5835bbf5c5c64e271b13cf2f3f378e0050f2fd748507df32f1eca440add5a1445d0ced1b30e3db8bab0c408e860519001d17ef8f4eedad86ac29c59c63f2df121abcfc474c0bdcae35cc4ea737f48e00510ad0e098498e540f5a717ccacc88354fadfa57c6dbe27b4e59df3745d0fa00443c977fca7b1b72df6923288f66fe5ed2124434489846d44af4d56ca313cf009415d87ac3f744eec384ee3531ae2c53f3d5e74661730112ced776547dbd4900b4478d7b92020037217ee6c730374c2e29d265e6d3b60b1d7ec83dea1f55890016702f4aaf10d223c7648b99b5eaed7a2f58d929de10f1de9af91d2f0b9e8600a8dd11b86ffe8c04ac9de99e1f7e9fb2218b1d6a3e34e8e8c0d30802f5617100d857cddfc69e2780f9a9ef4124430ced00e8962c57cc6038bacf96df2fbf6c00e0c990438558bd8c48c884bb4c118a73428def8d3aef6b741f4b58147955f300bb2ef638c5f2319169c829158a995f8d9c28cfcfc91c61d208c222d7530acd00811514e212518870eef86aca2e68b4622ea9dac08993c73ff5eb2ccb01d36500d88244be2be056212ddd6cc2200d6c187ad2726ba922ffa0c9e61bafdffc0f00d55d93826fc345c7c6e2e96204a4b2a490af8b3789d0d12380ab36f7ddcc170073cf0aa044e9f7ed7dd9b9577e5a71985bf0b282c0055e57c0e4b40c2d225c006f3bfbccbc793e7196f3530c09a34b6e64fc19fc97586d7544f9c82c1916270001ef8777e095aa9131a415f6b1a0ba0df7d96e9b4a8307faba1e52c86b6ec10078e004745140656d7afd7a5e676577e7fb8ac73fe3059f7c0c55f46ff239a8007ebacd008cf0ddb571c6ee7ddc589fdeb496ad4ec851ca50c9744785cdbd7e00bdda116536dd208f204bba3ecc44c5c5c8eae4ffd50391d35eb3cb30b592d600da3021cd68b544f1dfec8d6f59f3b80e0037ea1212f285d7173b225beb6b69006242b397141d3a952e1f384ff1ecb065fa9e5dd7da3ed2ea16bbf48b4b51250019900a6dbee414bde96c5faf1331936d232cc8eef4ffb338f8dfb92aa432f20034ac7727402e973f4d060d2f52e67ad563039f378c9f8a826f3607b4202a6a00823a4a4c1c41a78a8326aed30f1894c00ba00c3e630a84fec6f630f6a77ebd008a515088fcd7cea43f839c910135f3bb22277d16bb7e1d6a6ace77698d95410095bc4c2cf761de50df5c29bf749af65fff9a7ec56d774665be3f3b1db364ff00f0fd94e0133fda74a65b9a07706fd44b95d35bb9e40c28385a6726a251489700b0f604981841e5c55e79fc9149fe615a406165475b403bd72c6387b9fe1fa700d924ca2cf8c9b364eb65aa4f5a40fe453c8c3fe11f25638e9b52687620819500cd1714ce1ab0883d067ae6d4e724eef5f68dfa73acdf16a7ea62490c0022d60050bc53fee34bd49e68e90146a3eae9db0dc1286d7840b17acb7d24c066989d0013145011aaefa3d7d256d7fba41dad0a7d97cf5f55b9b517997a513295405800bf17e6963e815366c200d0af6f446e1a9f77899a6acd274e1cd0b56f5eb8320078b69798ec43717659ac67eb78933411c03ade8a5c3092cbf38cc085c1f46400545b8ae28c4cf09019adf6db31b57fb12ef3fe720f61aecf87652f1424f6a2006520e0328b560f9e187804b02df72163291aa6cf21cb3e64d51b2ec759e28300e817584a0b2dc44d65de9dddd66d3d21d4eb1c4a6302a2d7033be8289612af00744a62ce490b4d2937720cde54d8af833f9b161c6195542d8b3b3027c09bbc0083a88373933c11fb3d4cb3a1269c45005db0a62f9c9d6f9ec14ad8fe8ceabd007d576ebb53f8b51994db658a8a1ff75431cef3f50f5fe9da81445b6ee24c0b007c4e790dbbcf6d8d857784ac5ebe974b9a9df80b6c4f702db3582fad359f7e00dc2cd5ddd972b9e4ff6dc85fe50f1ea9b64252cce32ea8dbcc4726e8ca73ea00dc8b462f5a4074d54905a205e07bdeeb3a236bbcc1346fc2c249563a33733200430e7b6779e05ddb662dd9aae174f035cd7f05982af4b366e851dfe6ea777a00934f9acb011a4256d1a32c811c941b502025b4ec022231d96c3753920406ae000635f3be88b7a1c46eadb9f3995f2400d73aff19a8dfc42253d16269b0e44600a3d47e80ea327ea2378b8ac399a1618ffaa1b0efb4788ee0043e3d23f2a01c005c5f66d8f99d3a6c04fdee8bb89da0d2f31ae506d9de90d8fcf2e6e7842c9100ef1c112ee84c3d2a2dd2c02ff37f00a2a0fad0567d5ee26e59d278efc2b3b4008f66d14861e04f5156f5af80df0b7bad858738c318449bebf396cd66e26f19009c2539a93b319a8343f0608a77df7668f8a2499e89855a8f2bebeee17a041100f962c97fcf057ddcc01f1433606b4ee10aa6699f1a4ce0f6fae6f30521a07a003367775baf0bb47e4f8244d2633ca7d854982998a302e7ec58732ec2b9eb1900883faea46d09ce58666eabafe383361e1fe57c703cdc8801c630c9bd4c946700a9265d21a678cd7ae2cdc980579fb38d79cb20e276a037f20418896efec4b500b5251fb6cb94d502197e75a0653e45de834fc42f905be3fca35ea6bae3b19f00fde7bf0346409ca161da195e74865eeaf8ee8c466fb52fb8480fd5f270345b0073f36432a24990442b0e570511ba374feb902f457822d587cc2e53ae12d7c5005a639f5f23e318e5da60d6701654c3e2c0a6702b7537f19356bcf17881150500d0f3d5ad0e2fa1c8a86d9b3c3e5752af293056b0adee7450215992fb635d43003065067f696576a31aa8a28c2729c4267741f1f81779dbc2557f3a4887d3e20063d33a0ab7a9e109ded8d97fab76a0a6b273fd44363cb7373affc32367292700ff38f9aeec745f17dec0e725df614025d4c8504d13bd84042d34c2fe9a58460086fe0d55bdadfa0def622edc64337bd3001a725b6d641da360bd239d7cf14f00eb8e8a8b9e08a7f03446b57bc9499f2063490391871e7c2564274d9b8613550066115c974fd695eec3e3807751b17d49ccb9b32456a593cbbd1ba554840c9400dc08bafd40b1a2ab786c1d2dd053ab8364bfb0d6777bc61f001e74f50ad27400c698027206213a1927b16dde501a76fc65baca7c454b23cf1569c158a40aa200622141af0637c0d5926568a281b35fa73b96d7d703fd5a2077162d6f523d5b00bac2e74905c9d342e9332a000f10df2969d5c1cd02f4a878b22cf8852c529c0013c81d9b0d69377d681e722c720416a267f4c8df2d5e0e7a5495c158a02697006bd12181b58fa8ea01e328a4d14a237e8ee9ec42a9099ca97e1081cd0d5f9b00362f207da01214673731c397258968b40d696d419609971475da9ef4ac4d00002bb1c1f91f970fe9d6ddb2f5be195d2b0233318a360421a45c130ff54c93cf004f8e44b8a76606221efd25da4bd1c3b32ccdabc6ba27db9fe01886f515a039003fe94c4af3309e73f86aaa73e7450a1f5789bd9b189407491bba61fd11d1f90055845c9d9e1455f2886d74e7b04dfa3b0a26a9193e54e7d741f0b34755ab5a00b5e759edd514513acf88a46c735e2d38b26739443534a03ee118f3c3e3fa70001d6a7db7723be342e8c90eb7f56440a9084118e3918309af52c8a4a73724eb004c063d75775ddc13c7e1d77c905526496308fb2e388d70e5ea77e909625e4100f10c2d9d7cf94833790ac2f6eff659eabdd81ab82fd4d7021cb59d061bfbdb00d63798ec60ed544a0757dbeb9cdda5852ed38addec943786d7cd48691090b20000402468fe12c6be471ce0be10a0368306e8b75cc204643801f1b0eac1d9d40030ba47b1765be052a10073bcbc72e7d7dcd5378c75d0e1a84d09bbaea5d1d800c427269502b9d1cd72824d06b8448e4efdbf61fda4514f84ed921c32598f68001b7a4a74aaa84d41e52757d3a2c40cea7e47ec5336172bd8301a840f2fce4a00e63370b6f6044a62e00679f8717b534f9db098f75d25bfbf709b198f14a2970080120124e58abd3817dd9e93f3a7504542252d03df823474fe8a865f37986a00e3f3ec9b4338af6d2cd52b827748c194d999e2d11b556f35e85dbe4437065f00acc1c7b7aaf6a6416de575cfb012d6e0677b1e3d0d818538d9a81c3f8809ef00a8de46cb8d0bb8bcbeee3e8088cb0cf6caaa4aceffd9a5d247fc774af90f5d00b775c8b483474250596f454e025a29bba27d92dbf0852d21c4191a3c10b0e5004120bb799d22a7387a29efb7d90d062f6883ecb53dde6da1cb4122692da41d00c416cd92670b8639fe690d808fb2b53adeba9beefa11c8822cffba5e09c7530061dae677b37089d83d48b98c72d6dc418c5c7ee83f15e15f1b9521155b73ed0058a502ae4ea210e08d0a4282df4a8c356970cf6b9f1a39afc610b12b97d14c00cac4df08ec335742e72c64c6bfb7f3716c50ad73fb124df690b9acbf83af25000fbdaca88f10b69acdbe8996544ad0a2a7113f68bb324334435a5a1db9ae3b000213be4c1d073e9a8bdac3230a094f161d7b5f95b342dbc6caa5667cc5a943008d5a7e187c7c7607c51fa220f095428d60bf6c60bbe0eb43f2fb5d1da37a2600d7460ca4577711c84ca4517553335a5f33a4b6f782feff990a80ae44445d350060ec360f96ba68bd3941faa758913927e7a16f532c6c314d76e96a895f3ff7003a80c1e2da52fd893a73ac54f2b21e395be5ebede808ce6b01631e8d1c1ac800956c781ac2074ab26db45eb70b9edfd8b6fb365159644de6f3dec4c12595e900faab809250220f476faebc407bce055b507fca06d070bd9e8c7d2b9315f33900d23439e7c5bf79296fb68b53d0b23b29561f62f3f4c248ab0d616131ed2e900067ea0c304ad75da97096aa863a4c7ffaf2632f1a7a3a32d60c98e8b830f90e00b01ffcf5851e3907d84928bdf4ef1d3ca973b80ea3bc6c1dcde072d5474d0200fe32c3d8c66ccfcce2a984befc2abd05e54dc9fe616b3165495168edb15bd100d4ec4a56a83a3c494a2625070a8a049d67657b8d793f86495573d080f8fcb500056ceee27be01fe1febc4f199b64eaa92ddc9ccddb64ede54bde5a64e4f18d0081efdd7f58df31388f30107d601d7c57779d93327543cbace53c3f9fc79eb700413aee85133cc8453533a0913c8a445a5eb5590a83523300cd86f06ee3525200e428b7a7fa28e9246761eb9f1c1c1e4904f87d9245d30a38b45a84030c006a00c7d019047c8122afe504651a7c8c6b6c7a579ccce01e77222d743527cc3e8300c2750c1fd17f0937e315b8388968d64fdee0be2f66d5f6bea4d15392a0548800d0fb908be85a06869d473bab4dbc27cb55e720ee7cb961a89d86e63078c9a300bb967454a063b8c7e30ea7590560d7520a977798327d50300f3dcffb5c9041002a5c2fa31510e01f1ecdafcc4fb424b4e829a657e1c617965735b71f53ce4700c40a2d82e82b564318b3df22fa4bb76d574a1c63bdeb66e2380e30a38ad3a90033abc0017e033a3718037069276a75a4c8772ce49ef80e85fdf0a719fd744c0059e9d817639fef8c6e614f19edebc44420bf680aa6e5fa85ce321549140aa800f8232967598eef75da5959a1e6d973a586bdffbfa7bb87371ad9422367a8cf00952a0aa599948585bb953f2a6663256d52aa9b3e9ae0a6551cf3fa5714ec8000773c0f356b564d109cde54574012a6337142b1ebccfc78d419b9203b6a1b0c0033fa72c1a86ad3ee8322142978694356e403c81b1c1ebb1f4d8ad8d79a8aba00409c35a91f64d32f007e955be94c8de6c7f1cd096337da3491e4a559f72430008b036e4be55402f74908ef358bb98d2a1fa08eef5fd65cf7fa91de1807135300ac60f28585e27489770ac7568a0ad2c30558e2bdf669d121c925601730863c00239603cd82a2ffdca88644fdcb49c0384e0984c347399ad2a81571de3ed88400514aed9ab89ef0d56d8d90d971f2fb8bebb2625f00bc99cddf2fcef10b35d100cc58e063042028069417f309dcd5ed09859d7105f5fc3b7b9ca5f8b3f4c61f008f3327d1a16416e5e23d7a9f08662908b7e1324e49360d629391be3a3d529e0066c97f4317538ed10013c038946bfb0ef5900e3f1de81a8abc563bebab8021000dd56e00120f97c06d7556c2e601aab6d01419dea846278e03c6c387c63d0d00047bba9d7078067dea0142e627de82437322fb5360ae180cfff0ae7cf7865e0095028c8ca7a39376f1b3c48ddd467ea015789a18f808d17654bfe046bbab27009a30f00011a6388755073070d1da7be18b3d03dd9308b736bf4f3ae1e7de7100f6a01a02f5bc4a15551681712d3cb9bb6af3ca27c5f0e527707bd304666a19004949e894c9fbfe5c9322f3378955a803868df3aa6e6724e1146279541b5618001a79a9101cbe6df5352a95618cdc9abea72af788e0c23fe73a1b7c11566c72002e5647b5a7fc0547fe664910aeab51702e2ef1d1d8f9d1bfc711171e62253e0096722247961f394471ff511b3b22f899a064a50b03271a70bf68d73effc27900caa62d73a12d8b5e58faa91a2742f0bfbfaa75ba450747fb581444907a463e0043542935cc883832f27d3f87ce13300727dcc7d48a4e6be502ed9ec3cd78e70045b52f7daa5441b8e70dfca57a1d4e992b7f3138cbcb25fa94c69237206aa10078e0d772a3a08ff65a516ba8d312c5f8802d9b11566ea978c384fde7ec900e008eaeebafd2475d5a0b79e4c224ab0c70b4824f32d8c876ef6389a760680822009fb332d85ee3f1512f0670f3ef1d7c11ebafe7d99be725f982879575f87e2e0021ad57b8ff346b576c94a62b6d2590e3cbdb9409865b52f4f9c5d3c6d55b08003cf55857661276e26c4c0f2110acf17e97051b4e9ea93a6c9ebf54f5761ae3001370c6bb0c9246933f7ed6fcb24f58d420ad69995069ab874a898067007a3b0015772dfd9ec89fa7ff696f1c0c3bb91ce780760bcb9bec0a4ca75a3236cfbd002d0cb81793509cdfe18769d132fe69845396bc12d0095bda17db52d5fe9d9c005f085261b4a06209fe186f6838ef38f7669eabe674fd43741dad3ddf57c31f00a960f4244915e61f746654397832b22cd127798c5349b30b5e40a82810301800ae5d1a2f137e8b0da1efe093b36acb11b164f08ed2c264c807cef7aee9537100590f4774d8e3367ca97441aabaebacf9f1d68ed9c73548a1467983eae3689800c735e6ff6b3cadfb1817aa1347845da42f60a8f45e01c2a0bb2cadd7e65db1007ec1cd2610964fe9ca930f1b4668614317166e33cfab5b7aeb200a082c4bd700fe55d091a7ddc660dab08d11b4fd2bcbc859a10516a1b89356fec4a8293a9c004fb773d07b3a55cd0999effd9e59509c52121dcd349320c97a0cb9913ae7d100ad9f34cf75242be7c1b953c19cb0cc51e46e25d5f6d983476c92940fa565110067205707d64124b70c3acc5737d0f203f1924cf42c52976e6f9e9b4614e20f008a51d3f996e5e942aa474b5acfa04ae899806313f21c7737128acf79fe20c2004a53013be7a99b7d2bd3a07cf7a23e4d71b1536c37e67d3e6ebc0fe6e09c5900270f5d19decb6898dcab18f4994fd6bdf66d9f696aca997749ad1f2f4fdce200e4fbea5b679406916aa12735d533227ae3bd07133ae614c5637b521622d53d00743ea66697e1db8ebb79a5ef7c39a8a5261795c9d1a2978cd81ad5abddc7b8005b7373beb0deb6075efeca88104b74d488c6f4f43a8e0f3f3154c661aa0c1000c63f82bc1214a42819c604c06e2a1888ec362f2121e0a0fdf647be29b9f7b1008b729dcde7e62cff5ba4e6df17290881bb8783a96651f61f29fd59bf0d82d200e4b9bd307004bd9f89a51b63b533cfbf0492e21ab094649059ca4ff148163d00ffd1ff8e1cfec9ec17e23dceac7afa4c00c5e74934932da7da179fab9e33ae000bbe9c986ca97d757ca0223384ea51aff220908ecfbd3b3d36b485ca95a64800b41f41d199d98768c83e1d0c6143b31319a241fed5d45301f14b99fa1d56a900cf2efa9461d22c488402489166ff9ce69c598b096c680fc9e59204ff9efbf400ddfcb565f6abd2757941ae2f0b00079031dd1926faf6cee2291fa9696769910057e154ee646f27507f0613d1f895b6289c6fd4d845f25bffb65eaaf0ea2fd100ea4280d97475a1c69a14c049aeb6dfe391c2698d6255cc72e0f2cd97cfb9df009666904d66c84b78eefe4598c09e0a7f121907112d66bb59a7602834f232fb003a01382bb794312454a634612696dfdb2c9e7255485dd9dd1409dd32ba43a100dd3dd88e3ca34c17494087af8d792a2062c8128e5d4581bdd0807a04fb618400a52cb1e7c9d9006bed71d9746654aa58a6a625f3f0e790d2c4cb5ec2fe2ca70011cc1a019a32d3f7337965de1305c9215c6c02ffc929b8b34eb92c6bf25cf70055dd23487310219e306c7c6fc17da10161cf3c0f074cdbfff21370ad35a347004465b152f8262310bfaf8ad57e0c7239cfbfa6ecdd7a393caccb4a8e784f7000f83df2fe513080119ac1285101f7a0e6479ea48326ac328257ffe1813334240096e77c86b42bcb618a4974177419796a2cf33b97dc5b6d799b29c717424af90074ed79cf8e3705e25af4a04cc791b9907875ae9c696d2c0c5efae3c9a79fd700622e2c28e61ab912d52c1565c60437eedc22bc831a43c1efa376533e88e0dd0014989c0ae45b6fea2cc7560fc747b68f6af237bf71839796e641505edbcaab005d06620e8affe9a50f3a1e4c6f5bdfc698f801d59d396bfb81d99599be049d00d3fc52e3782bee50961a3e4fd964fa0b38918f9c808bdf56f05df1afc24adb0090c509f2e7b73e4ded3a3bf72d1e9d688acfc032e7cc59d6c9c09236322dce002576a7ada8246a42aeccf68c898fbaa45ae37d43bd127e315d369731409af700ebc10af7837f850299bd9139ce4d958ca43dad2bdf628055e37fc5426de21d00d4e64c1cdbd6edfccad4d7b9cd971fa212db5375314ac2c0b8d6b333f3cbf7007d9bdb62795b712788d06d130fbc40d837263dc180a5decdc6582a7f522f56000709599c09712f8c3198afc3edd684359899ec10424412d27575021be8892e00fdb303a1999edf75b05a4ada4fc3f23c3c611977ea46e1c02187eeeb086bb00076ef2f3b979cca412105e43029ea2961df5b3d3a48f3565bea23a0a3e5552e00479005e72d445a959633030bd721f4935297a7859ba6fb2cce5fe6b19b28b400a309255d40fd918d42ae282dadc514921ba4051e059e51a50d49a2ba4d089100db8710a2e849549c82df369bf23510aef4a525fec2ad125223b31d3c88d84e0064d306b5b4156379a4370fcf2c2a45c19c9082cd97d114f7199f1097540fbe00710cc624f2c41cef37f674a915fac14e9f6bd5db0c8c9023f618638cee158900c802ddf3b871adf57e7e84515d949fee7243e37750442bdd78e6d4270ecafb00242e45a279f62c38305a4096ed1ce5776a5cd7937b21460c73b4b8fa5187c900cb6c54237d1157b014a73fdb094a43f25f6e567f5cffe624ff728ffccdddf900cef145766826008f53f14cda6b79d45739e972dea5b2ac49274edfb9527af60038b8cc57d77a1c09f6d56acda4c68c8f91d6b7f0210d568b1245e15f7d1db600abfb3673b01ba18019df53acf4f5775913d6fb7af52a13de73fd55279f1b3200b55ce4e00777c601989a6714b4b328696c2ff8a3011fa2d0b44a74bcb0c1c700c9c7b22bfb53e482184ac1e1bfc90fcd05b6322c2ad588bd40c38b9debd34b00eb565ebedda579d2d45913dcfcc51cc6db1c4167338c91e470f2a2be26487f00ceb345e4501bcadff1fcf7a5513e16d72389269aa6dc86fafc6ac7b4a953a7003f952e628c9b2d41eeb3fd1dabed3022a43bd3f48ecdbf03b22feb367a8f720073c33a1a014a9fc8d37f9f2b740a3b3aade70ad845968e49fd8cb73a1d13390069eb1f3d86703a969662980fcd8f6bccc9c5ffbb7acee7fe5cdd306ab9f870000d6ce5a67557f33461b61578f034fe24512ead6372ec173e22ab7c7b76f3e800714fa99a006c2ea3a09b7f4721497872d4cc542ff6a49f733be842734da92400cc43020839135414ee4aff653588d556ee16b91b259128516c149f21eb1fff000bc7927a67f74bec27ddf4c79e46cd2927ed6e5bc4cb376f23d177fa39a10e0008b4a39c49a9b66bb8c8b3f388ac534be171ba048dba4b0dc578154c20e9fd00cf631c7e0e28db9e39b126f929ee5774dafc0f0ce1323952316d2876030b86003e42c5b9aa497a03da7aa14bce902927884f7b1424e2f891a88276c187a78100d0398a6ff37dca9381fa4e47f313cb2c49a47b4ef0a4b64cc7ca546efd0dc80061f11488427cb3fd67d02243ec5e56d98d7b914d10fbf15ac6275d6210d25f004d0021fa9948f8bbdd15e131566bd93641a0210468384717835fa04d9b43c700a99bbba1b5a01a42096bea3f3c7d19a5f0c92ffe461ec7a0d7cecd0329d59900cf4107e984a3cf31dd169ea9a357b6249c4ba4d817743883b7f3980d24bc75000dea7ffae7d8dc1c60d11bba97beb91330f1add96232a7efc352cc36fa3fa000a5047398cf3223386e9702c7f3974d8e7cecbdfd0963949c4ea331ed48e3a600afe64c424432fe6fa15f6c660aa69ba87301138323a8c9e25be18182138dc0009e20a90ec769aa3e4f1b6ca42bce6230f157bda92c569ed0e22e4939796d06009fe6d7c9a2f37d7dbdd1e853fecc34ce206c422e326bdacdca15f816b9e15200d0e711ea805bb083215b0e0f68f9c2d573eb6f5d71f655e19e36e844a1cfe7009eeb4cf254f6258f5818e2b5ef24233e27273aa96ff463de11fd60437eaa80007075cd4df20c1af9e7f8e393e14c7fabe56f7d1cee040b59e6e676e06bb8b40020eb80bbfcbff00196e247ca41a60b4a29fd669e09c035b57549425cd6b2c1008ab76c76e91f506a7fe889a9a693a4183c4288cbea9bb35ad0c4bb85ca1aa600b3de700444154555dfeaf8fa73fbd23832f7f213416420b08a94a06946d47a007fbc01a727fc178da17bb7e242c88f7a1f857a1bd80c73ce7ff26adeb817700043f47ff9e92f6117854e6035134bc96be3209b5369be716d7078bda42344d400e292a2af18ab74e10640c46d7839f80d43c930a84c9f2aa182fd1d5260184a0075f237ad65dbba759dfcbdf368095886a08caf586c79638534e8e8580531af002a31b83ad3e71a0bd0e33e78a19ea03dc1eda64c3ffa860a41ae9f083084e9004be87b9df43a276bf491cee4747eb40898bcd5734ede609de7e582599ff64700b64fc0408e14882d52816cb40d9328b3a199ca24861a7bd53de8413331e8b600faffc905c9163edcbb428b0edcdc2998c054952cfb46dc88106c7cc470971d00710dbbc7bdac30407f835d9fd8624c111a208a84d4047df1ef2f04298a3a7b0062474d5786423d129f0aa8f7449674a861b69b7975a8e0b3c877e6936b247d000739c2545297768591ef3f61774200c79e3912a6404497e1607fbfaf2b79e6003c458fe515b950c835a2c2bb9b029bb37830015966a877f99f180ba5de1a7d00944ebd163c18aa4fecb20cdc52be5c2b0939a8c04ade4fe663ebf8f0c7e5c000fcd26329d57be0931133d9f8975a155dcf7112334a1ac3e989bef4610b99b70097113bcc0c850651203e849df17933df0964f36135b9c1133ddbef925afa9500d43151e268ef158431809111b827a96ef94f44d8796e74e657dab85d17e40400ce0c1db092902eeb0a16f4aa75cd372125fcc06412859eda15feac0af1b21b00efce665f74c73393ced711725fa8f950812a4cfb0ff6d1645b3104e987c9c700ab33bedac520e4e101759ed390f7a9276fc906553a56175c1ec100a41dc89f00beee4ec1efa68411a56b5b697ea0cc362820b7418a59127a09a7f86753046800dc44566f9fce1b7d3053f7b857a1fea715bd45376c4622989785b64ef6b485007061eb5d2471a4f661c9dfbf7d9f4d82aae68f198b553bef08a1de32ebe5a300f761dd15771b2c8a67937a673832d857772fbd6bf661965a9ca9afad3dbef600e8e43f2c88beba1f6bd3b040a97ae52b20607f7cf524692bbbc574ccddf7e000d8ba10cc3f5cb57015e5f2c7486094f169e149b948101636df20fcc5a8f08600d95e1bbb4db85117ec55952b158e2a52c0b23f408d1c3d28cb57f81ffb5cb800ac3096075e26da4e03837cd43f56c457587522f42ce10e2081f606759163db00aceff2f0ef1b6584de3f121d14b8c1b3d583b5c7a95c83af58de2801fd892b00de6cd7972653f2ffc94737498de662ed051542e621884ec45c0823af9edeed00a8045af3c77f2787287b05a0042e9d46093ab1b0efe67a3ba4cf39ba7e4b04007e7d61b71dba01d75963962bfc1516469a23ec5a72cd5f9314dbeba54741c400fc22d71a83a769f3f4b4f11d166ceca558cf7de73ae8a561941a539029b60e003b3d4d44167cdf39dfaa226f89a8947788f20c626648dbc22651a37435a06200fc053db73f875a339011665acac201f1986831f1b6203b3cd0ecb85a3bfc6b00cb611ea162c17c8b058f07c142fe2d9941e0f8ec1f603a57f7ca5d36ee3cde00d364b7ca8117667a416dce4e8458c62e5dc4c725526032f8649aab22653536003868a7fb26db75d6be6a7be18fd15023207084056a15c24f85d1b2136bac4f00d94cd673443105902ea2319dee49870411043d61d1f458eb9788111d08cce80036f663a67f886c2abdc93a7dd02fce6eac81f727764f79470d237a5d6323610025b983434c88d020ad5613adb9c98220b81af51440a8fc80b3bc97f21d3a8e00436fdcf87e39122b131376955629b8f7440679d2ae978b4b2a03f59b1ba46600c7af693adb053add3985896fccd80a1f3caf3f66dc2b008d88e9788122e4dc008a897ba4fcd69b5f4d08a8b964ab4fa420376065a225eb1eb25b02d979e83d007e0b2efc56f8bfb8429e1ead2a181e7d8a2134dd045c4c2a56417ca81281e90090b28324ce54e5b6e5746fb52541dff3a3534418eb3ffe2526b639996eecca005290a45cc1837f7fb7a1a124692831fb0b0d6181626eb4e45b64bf5f8fcc9400189b5b465bda5f017897fa530fb15f87b1238f00c5d097c40f7a7e1200d7200083a4609399966e60d7bcca839ff5b118b3bf7ef2b0d91fa28a7a4979ad36de00dd5f883a9ff8ce4be2034f5f6d1889e7aa2232beb24559c4a0bf0bcd89f35c00ddda66532f13c93be3467de2c6f5ebfd7657f66ba9389fd0cafcfe813dea6d00478b8cd9b6c8eefbd3f5fc777d4d1a4b7c116bc74cee21e5113e0a6c171e6d00e4627974885595fb5e81f4c95c3f0c4b8149f93197d9effb6890ae48390373002ac71997aa9058f30de071f34cf9a0ff13aaa9a4905b5f327432596ed7855c006a4147a74611b1b60b96ba786cb86f12aa1062996f39f4a4d4260819adc1ba00c7c7d646584aa3c9bdab33296fa7870264aeac3a6e23805e30b9cf89a1f45400e61a6b71d9ec420de99ec7db87446a7ef42a52f520870a14524b1d94ce528000f20ff20753fc255db26fcda203333db07ff1c702507c55508d362262905b4400bb84d45a21bc6fc8753f5857e4ba64a536297e24663b0239c87a1fa0d40233004368b10dff9dc7381393f219fd5cc997e71522e8f49aedcf72712f81b81282008b1c43de014c38d8c4275a7ed409fee552b95fb3f04d973ff4976940ed42b000129451055255e0a6c6a741f01582e6aad299825a2192c3452ae9f6ba3d366200f53ff7ee39102ccc397100a0aa7fb432df438435e543a271ceb7756c77c5df00e187e620a4d50b70a4816608d82aa8a56dfdc305f4d45a205acbddf9055a6d0095a3127f657dceb7dc8ffb3b66e9c1aedbe924ab0e68fa01eb5986b28a93f40062d088b590857291fc3c818d844eb75d9f9ccb9c63b94b47da3fda8c4f7485003c69734e7d9766713d731bdfa03c912c06901a444e2aca3f42772e91f4dab80080d326985ecb9d7c8f0f0957d7ed7ce4ca9b572f7beafeda7669d22a811a23006e74117ae16696ef9e54a3f8b8875217fdf3b98a88e52f940e742dd3ef624d0026ae9d89fcae11629ce88e60619ea49128698a359fed28f9577d5316a773bf00bb5a2b5d76271bc79715114c4de5dc95e33a5ceec9eba3b6b3fd2764cadf9f0014e46eeb86c63a0876798039de8da4421d50a9e504b6cbcfe8990d4fcd9ed000c7f370524b138807d739cab099694a07b974c94ce964187d92df40dff542e300dd5641cbe1618fe66792a5a2898506ba704c9f1f4b63e1722d9fa1911fffad000ad179157476d1f5686788d5e151c58a39da02176c75be215bff2bba50812c0036f47be73ac63f30b6097623b5233a0bdd2be18f6cc98e4f0edf6ffb9f841800509abf4aa39d5df0e3f573e1816d097ee7bfb96e470c12f5ae84342516effb00d74a71da599a6ab131896f1f7c97046881e224d06216ea4a0cb6f03dbd68840089643676e980a3ba1b84e048bda9ccbb21f3e91d4ebb40a181d8bc4b93c422008e49b3d83b8425a241939293f498c93c93d743b1018de2cc98904502fc3a6600354ad33ae8f03bb154c04ecf71c749be18f6468bf1d667b8b64942c77c63ec00175fe1d14e9fc189abc22965bcfa2cb71ca81ed920de25a6c421dad92bbd2d002f63c5dbef2393e3455d0e03af49b7f4a482fcb7339b4d9fdd7ee4e2311d59001ace5d37b86efc5f019626172d19930b2bfdddb2bf814a74aa705c724419cd0015891a2635a2e8643476dce5e105c0a859a810a6fee323db7bb0b1e9ba6abf009b2031ad55bdb30253abaf75f181ace345ae35c62e66cc83221d7757bb3b56000aabb982a21c8a202470a42266b5b43d382cbcc0c441a48cbe8463df2dbb4f00a989c02cd24cf74c5a4ad7653125568a46411f324931e7a63780d9ec1598c20046e59a29e0ab42a3a968dad8b8240eef5ad00f8be9f2fb756ddc0f8a6787d0008625bf07db5360deabf60b8ca0b8504fd9fdc4b039ce83922bdc7fc1418a6000245760dd50ba194375644413c9ec88973248de542a55582c410735bb94d2b500bcfea38cee7756349d75aa19d354f579b47ad3694d8021eb9a8640a3ac13e60023ff9ef25a76eaf974e1cd8a79807625ba2e581c60df87bfdfc0dd6a94550d0051021dce3c618337caa49cc2630ee54540dcccb699b9d841b6ec45bd6a6d5500d5aadc45929d934b62fad09da1d6572f4793f9c622e2268c6214225d7b2b7500a86d3fe672daf491e9d87239ea472c032e6166d8ab8094ce2eacc0f41fb89b007f715346e0325df2ae12c6f5b26aadd271a7d28ac6e6e58fe7320640a8e6e6003a8769064d5f64f519b26c40cc81a9bec1d82cd6584d0fbde41d278e704cff0083659c1f9b9e54b232d522fd3e5d5c35b2f33702f51870253e838c4fe5171300dcd077a474b6c3e9c431933cdb1aafd9d602882197615374469306fc8c914c0069834d4dad4df340bb2c304771fa680ec6dbb4fe6010ccbe763e5a9f0ca1fc00303d22945ef1618cc8ae89bb1f9aa97608ba4d5fb159669db900ace2c2c3760060a79b8c410d380d90179efb422b28a1f2730899cf5992cbff73ada6c7440d00d1e3c81bdb1d2ac3bd7cde60fe304568550d68d5c17b38f14dd271dd19686300c592bf2be4e7cc298da1d33eedf683983c42c931459ec254a090d8fd9b968300eb1ad3c549b15f68c8f56ff6e295ac1d455e4f0f8efe8e60f7474acee8b3e200ca8b0bf84193343949434365e1a63a8bf4bce4b7f8ad98e420647d0e8b808700b9635096eefcb621422a6b52d6fc727ab20a5ad34b6c14f0cd6d0fb0f90b6700bdd936fc2fa26643d3a9b810657862244bc8ccf36bdbf8d4cef1f76835499600f812a694dcea6c87ff946400040332f98ce82123253dc1aa4235de385da2b2009e9ccbde80f7c3be215ec898ea75a7c7050705de2967cabc90a8308c3818bb00904701e1dd73bbf45d8914d8c9df131dce889eaf02a3b0fe2af38baa2cc8b0003bc47ed44d5cbd898329eabc3b0be253b38962ff5ce8406ea8294bfc4600450090936359685dc8d1486d106af80d669dcfba5b6b65d1eeb0d1633517b85d31000b77e6c1c6db2341230e016064ed9a2c233fd065be8bc3c6c5426a9ef38ff700228f1c106b741647ffa61a30f37b7c134cd68f6b6f6e14f677bdf44a373ecd007b69cd99845d8d9df156624c8a6d21edd2f3691ce7541d72d20b71b20bddf100483bdcaa6ab712149aaf35690391565523a94d9209e93571db5212297f18d500b2acee54a3854bbf82dab942d3d78445951377c88c54ed137489187040b2f20060cf3b61cbaae0a19ed5b309fa3b865129b70e53fdb4bafceb1a6108c201f600f0e184637fc1b67affcd83962bfc2e88d1e8d32612c7e847c92018940fc3f900fab5e54ff6f9663157239c0a2b87acb65c540303831f4a7c265af2d271879600aefaa07e97a0594ef3b2637c9e9758c7c3cd2847127e67d52a250d141cac6b000dfd2b4e2eab715c382e6b3651a575ce643972021423acde7649fd5ea0498a0023e55f5fb43d2433e834b55975919f9599928cb38ae23a4dcc72485bb5264c00899f2a2410ed2883df167c50f50b9c82bfc6b23c643b841309c4b157248d65009bdff44ba2a0d65356d06edb6d397d859a42d03b2d29a3e20c84f9a83f01e900d3fa5e77699c89386633f2b138f6b4147597b40fa42200d8115e4afb55ba5700cbd4afde437037d0f0ce7ffd699e60b09ca2b79162919738fa2f172cd4619f003179b905799d466cf672f4f34af0621e31ed761c49d878e41283aec4dc87dc007a2a91bd6cea7d99e05bb5e7ad44bb1a6c04e4648a73b2a1404b44a9b6e49a00b3220677b1778c31a971526f6f901332b3d8dcf00cdbcbbf337e42c632f2fa00b6919ea28a9e7f4b5d8c0da640c63591c44b6cc1bd6dfa66cd9c2acddec1ab0016d8efc8376809c7f1e695ad828444391344f808c8205bbe077c4b5e82a50900c9c86a71f742b8182f54ce15b0cfe6a40b8bfb16de1bc6f4011799a2f4cecd002f617e6fcbb28d79956fd841cd2134f4d493d4558e256f7206d22e42962022000c90a338bb08229b0d7a2cecf905c00fe790e72cc3e33faca71c02d01d017d00d530e21a7c8f37cabcd7019a58cb3951da1b3406d07be057dd2dbcadff50150094b7d4d14fb51f4e6b66012df51b293c9728122dbbd1c20cc4ab86f5c9a608004368826aabf51329a6b27ebcc8f3282d4c28812a8f8a25749c20dfbb9643490006c789173f3cb0cf654962c9d80b3b6a146c79ed06bc7fd1c296f957acc581004ec8c0b4c42743b14502374c6d1486a62b08ce76a489115bdf4296a240d9e400a72e4f154ea8e79ff9e065496031e50d3194a9e0ba3776a35724e3baa78e8f009ed911eafbcf37f6a8bb8fa8df435a079202c50f76fc6b3db8f7a3db51edf600af08a859647de8e36f49a6f65d48113531715b7ac67bb8994c7bd7d955989a00718a48ffc1a30b31a56f9fdbb691bdcc851613f67d242189ef784676a82033003ea7ae3874b695643045d6f4036b9590399e77cec6be5d98c23b622b187a5600a175e015bdb9c2205148a2ac596df705f434b43d9751a6bf8a953fc29f1ae300c01eca8df35d193e6bb22b5fc14fdd725eb0dd08bf7901d8b9c47dfa40053f001c3e2f544adb9d44d29f3117d4bf2a213c519ea2dae06c0c4942d08131ecdf00acd4250b1d30cbe7364edddcd578e0508b19c2f108b4b1ca03364902153d6c00301668811270971c03730a740939ff3949fdbcef14cc20ab1fd54acc1af6e900050ade47566a92092f2ed973fb4ffbf3ae71e5d0fb18f146bdb79c58a7223300c9652574d3c4fdc288fec4e2dd1c5515d1a286376676eb577cdc78a1d3a3d00034af6ce009d16bda55d94985731c9d9e10da44892ba570a2276702102e38f4004823ef3dcae66ba28284d116229a33224491a3f4375d820ca3ba3f7fc356d30085476ec02ec570492b2454cdd75e5f75f684d668d16b6a843510821592c94500fe00504c3cff0aa646a0d64bd955a3ac5cb6acb2904134a0f26a68f7ee52eb002076e7b961ebc20daf0f0c5e4f8bacffede4f889959aedff0f114f468b1dfe0084b4bfdf71a0e0f54e5607d9afb7a163f993d6be2aba3f3976bedd5fd5637b0033f555bbe5e4de2e1c5515e0e81376d565e5cd24fb1d097cd743e340d1f7f300c52fd7edba99eec49aa74265b40523e9a106bcbc5aa05a3a1b1f48f9c869f2003827149512edb505a8bacf0007cc27f335dee6020d8fff9419d15d336be42f0092b2545069a55a36754e14f0aa1d60cad1f6d54574d049990f3cd26e68c6ea00a6509b5fc6f08d1947009ac7a04a4c85ca02811697dd19e74c90e550d194f300a522f1bd3764a02f4115b8c7be34e9d617355a5cc136a4fce0b1a121d67d2a0009adb634976b5dd57c4f454792cd9682ac817566c6571672b6804e8fbdee7800eb887a531a8068b47cf26c826e888a01b7e314749179a5257747d86feff6af00bfda3f3cc71defb0811ed61bb4fa897c8dddbcad530660a0c16906c3abf88d0033d7ad933532e41f507feedcefb0a41cbc02a706351d4a9598937f14759bf400bd89b5a4dc4a40891adf1e5771a68b3530fc04518b841b83b207ab275563f300e62f030f0cf0220a7e1c7c5babaed08cd5c49284d02a9271847d52d2edd24900713c4f2e135de02c331ae70435977cec037dd7c08b3b91e9ba90c908cf6d510092a139c64b92543ca95e45c1b218e96ba2032a3f5c3c71881efa334126c4230079b9e8d7e02ad5c7a57bfb2c40332b3315b16661d8d5c24dfc3ff4163b7f3800c67c77c80f42ff724488d536fe8387306f971506a2f87cdc6e0cc4b23dd1c200e4c7694af9bd0978428dd5d49b11fbbea3d67208d330220b12e1dfb9c3fe4f00dcd7aa7118601ce6b0af458ac76f9ac6fba9ab7ffbdb744f3f4ba81c3ed8a40042ffb9b79089b47dd5b4cf0d1b6b0d35093b01dba611121e2313e53bd2a8f500a852b217db709a00e45d1f47983b5ed0c6ea4aa4d4ed5d9ea430ed5947e5be0008f3f315dc2eb600c543626e4166103b7221f48f8fa62921b94a1a250bf04400c9ccd7c19930fa7c7c7f222813d5f20ffd58b909233c2cb535f7e58b11265c00bfe219512daedbb319371f10a75af6c202ed87db61877e87884caa99958811008d8283ff5b3e1f6accde370de7d2662973691dcee63b798d854f526312181100d57d4c776cb2c0f50f6f5c0d22548021b930ac434580f4f362cecd8a0a12fe00a74531f3a6a2496e2d4719d34d2677a8a1a5278ac3dc75a753891b92b6a667004b2e63c638d2edbb8612bf4e2234fc452829ebe5faf7e2c7542bcb7275c1c100e4b64c98c06d0473f2ae4e806bc83d01911194df9bc2d6d6e0f8638fdeaa2c00e727566abdd81c321438e32da662827c87c34f074860a0c96a27e8848e635e0050bc60773426f1f20f8536b2ba8a51f4ee452c3f48aa5120278fafa6e6d45d001df1fc8e0eb20a275f6595f0ab527f2ce46586e5a8df02b83472e89351317e00023cf2bcb7ea0b38d74a7fa8ee381eca7a3eef288d4737f4362a32de8cdef600accaa5422e6acda3af59d919e638c39e3ec396e14be565aac72453338475d200390e600cca56e46127da074345dac62b5a30c2c2dd78b8b14d3e6a53297010008c58df5d3d624d7acf98c4f8fa9af3361c120439c81db5dd6526e078516ea000eb15e262da126b421b5698cea868abf8d67b8cb86c5279bd2dc8e283d4f80a00e96fa63dd9824d64d3bf809cd4a87615cef400084ff02f05dfed5db5d7755600b132589fec3202829b69fcff1b288479a2effaeedf3020e2bef25df0183279006fe5706f5c1a60e13a8eea5e9362df07138fd710249b80c04b0130a873d00500d813a38a193668fe048c05299592b4e1943a53393b742067bb33710062f22c001bf107b6285fb0bb77dcc48bc7158b3242bfb0b143e2ae1c695635a6c56e340058879b3a7496d419a39756f642c23cad98872266660d23a5806e88414419900088aa9363a7a8b262da7ecb2ee026ee096ac64af2b3923da7801a63991eef79006b15fbbcaa1c0d1f177b1fb434bc6de133f848793bc08e281b1a33272072e500234a3c3a536d87487b6753ffd65431963871523878d001a6ca99d61b7b9263006fecb0cde83426dc84312f6f7582ea4f39b14fd88af0c695d04f66ac1e85ce0000b2a8be137a3718e55df88e9b3f9a0a85f3738be42beea29070ded3a700eb00752741489c7d888a14d260f8f00d39e81ae7b7d05048421d94b84c174e793500362134c96cac74dba869d7d8ce3b15434ab562ed66f44fc0e80652304cad0c005616f185ef7fe26f524989a03f77186a4b7e9a631596672066376a1a08f22600a5d81a7e971ece1d03c3cd7cd29d230d8bd72ad667293eb3ccb6ab8cbe8aae00b0e9c65c6d3ce472323b40bc12dd2c288e66417008449c23da788b6e606c330009559ce193f5c83c4ebdac292baa629bac8ed82d90dde7dc2f13691642238f001505b018782519828e8b73447217a1ea0e2d1cbcb71fb6f20eb1026709a19900c5c3fe2d14618b05f64a1405e90361b1b9cc6f687465447fd5b4b1ed3bfac800063b0f80252bcc2f185a9bd5285b13fd0f8ddade96d6e06fc0a4bbb6ccc2de006131b88d1578e291c5097aceba4de41471c0b345e20fa3cb2ecca0c869f0fe0070b2f6b538f147dfef271a8f0b109236f7ddb9507e69f86a241a11e6e4d81d00f0281879234b0d3178acbd5c4c9fb429275e882fa5787ac806701ca6fb2ecf0020df742f82cd77010e64038323b74f3f325784ec708c2fc208079daf8af3c0002d28aa66c5201ec8749cfaa985f4a08986ed06cfa37de4014c136c6c438e6b004220c6b13aea9b8878e9c5e496fd78dec370d6438ee5704bbcc9661c95ba0900b566056eb9d66d8353109d297c3e373324ca8f4059de26e9b4ac44a7c7f6a1003bd92d67730f69be55d44c2f9463450b126a19e835c672ba98a08c631e604c00589b917ef11ac1aa4c2adddf9808c8e6f711c2975949d88c5a02082880d39f00229a0bffc143ff46657deae54c4275e5d4a9d36bd77f9f773b00dad657fbc700bfb8fa7a4cf9e0c131b57cbb7332fcbd4411fc56930d819bd617ab2ec5dd60004337d093a3cefd3302b6f01bdd8feb0a2d0f26b3094896831e6974d1512342000aa8b140446b23ac98226136323cc01c0639ef54b82b0e86110502a85b71d5001d0046ee6caa4a159b57472d9a88b636522a4eee53c476197ef4fb930c284100c8cbd91c900cd34cedc125a18359a9e69e4458dc63bf83a39f834ba6012d0d00db493f41df2342d8f0133edf156838c7885822fee7235dd110311d4bb7a46800a645109268c5ab4aca2adafde8ebf660816259e37d021c2c9ea0c75bb0621c003a52bf1c893643876a23ecfe0f9ab63cdf6751207cd80081aa5bc8c72c5d5200f5ea6c5302ce409f6b9cfb6c8aa6c65292f1bd06005e56f06ae20fce6576ac001d5425c777edf3bfe4420c07261b6202dbb4e9022ffeeecb4aed20869bf0cc004fffbd702e43b03823208c9557f6e9f5ed5a581f5a8230ca9dfd4af633a0dd004e5e5b1fde7e5bf9e30435ffc8cf0267d2b40abc22ab3a9e5159ea219147f3009de9334246fe97ae46300e54e5ff93823460f893376d743ec3cc77e2a88d340023c6833d03af70a6848c2eab1ac832683a3bd804e18bf17ef174357e2a594100eca5687e42f8cf785e84bbb3e5db208623a0533134fd71b32a8bec84ade9c30097211f0f5234de552d3d8d6dba1a3f2069e3066cc9f5d98988bff031dfa75c0091116725183625f887c2c1af372f8f85136085817a2cea97887b25ffdc7f1700b6bba083e1f933cb6733e3d6c8d8c73fd80accbf7221e54592142f753a93bd002ff807c12667fff1a054ec48771a086918567d66f381fb5e8356cf258cbfd70062d6e7f64c60e5a416b891de11018b8e656184a7193373a63709e2f41321bd00ea68746ec1df901e5f800b841bdaea8a91986d3475f0e14b30991018bddc75001c20a550db60f8ba226c999e8185fa2d38bee6d0a5f36a711001f51401dafe00e864bc01d1b19c41e5984d115618dda4df5ba5a161dd0624a2a57682c11c9b00ffae3077d648c3d0d807cab6ef47ec1514f4d072ae6e7d42fef7ab730d097a004a50aff42615bd0c221cae7e6a566681e3115647151385983983a2629b595e008826e06ddbd59920d278f80eae424183bed63a48083e79b6d3eea589c1fcd500309e01306dbf87eeba2f239b062451de4441d1a412a0bf75ea994bbdf66e1e008357db51338080e4a6026bdde8c038cd180cbcebc01d040eb4a0e614ccdbb400b5b83a40ff479f988be48ed4dc7ab67abca3ad09b004b40a68913640902dc8000d3081e49b4d9dfc31d0619c3852f69bda52bf697b955eb1fbab8d86ed6d0200d60daee400136f6c078d5e0260a468dd21de19c74359d82b424f8b3da7abfc00aab05fcc72aa7d91922f10660fa16c5e7f3a2c69dfea10e4b76dbd367f197f0000cfc6714734854acdc4d9e114208d63d0114f64543159a6caf863646e4dd0009b439f212c1b71baabd27fb3ad896189612189d5db5fb1dfd2ad1bf73d840a00a9339b0ffdb29a28b7f92779b6e6fb8c91eb8a76801fea0401a69c8d90b83100e3ac1fd7dd20fa5f17562a1b54aba2a187374cb6c28d7d961be828b82ac8c400cbe391065649f75e210a0c31159c0a2b1e58193366df7b9cd2ff937e4304e8008da83294ecabf06d201b6a97d82bc9b74b17a55ded0bf1c2014d52ee8aec8f0000a2733ab56242d9fdf567f3f9e2ee7e338440479ac9de8e150c91fd558ce7000aae2354c9d5b9d1f3151ec46bc39ffa67c7351e9ac343501f2f118aa5306e00d4ff748670806056bf83daa106004af9fa4e462fff39aeab408c6dd564d6a0002009305edc4b3559ecbd26c3407615ff2469aee6dca55a9348f9e9ea9e1257009de1f47505dc792f24fe2bf5d94c4e6ea9d4b342b91f042ce225c24b66ee4f00178e3c1245badea7d474502f5ccc5f3764fc2da48b7cd15188143c49e26f3200cbc9aee9e3b4e2c617552f73557beceaf4cb8c6fbb306115ce9e2feb1bece200bd3cfefd1526a68c0be1916758ecce8501a31ec2f810f9344df549f4a3a3f800e606add3773cdb18d709da77714b2a43237642be112fd63a3501292ae3d45d00063fc181e249ca342dd0b93ae352dd082ce51ceed788b22c69b9f7ee31768900334441c60d8ae92947ddc1d53fcff319d69c05fad727c976dcf77a6a4359ea00fc9b055a17aa71761d90257286c5031a384c619654cfceb5b2a16d65b57ae7008e99b7e1b412fb570eb928ec8d8fe0f68b7a45da21839a5f9a18dd8592b35d0008e6863585eda6c2658f4234cb9038988e67a278b3dadff556be4b6f96f99b00a3c1716533234fd8c25b6907533fd8277b159f9a2ae1cc4c363e53d74085b800bf98f462f6820118b81aed88c9794fd33b4da66d513ca205e800caced615d800edd9d51e93a207550e923ffb726da91947a1bf3c4aaf386b93e5f65a45b99600bc60a666ac867f42215bb8b6be9c46f87777957ddd832d13c8c9a8addb7a6c00eb6bb866b1d217fb70189d3d694f8bd169de050a666fc807ce0065b4b7e6f100ff46a39974ab88e7236a7c808835984b37f0fbe03293f7c2d4eb3832fb16920074a305d52eb6bf996ad63c2eda69c5e608370491aa00bac8664bff97e10cc300f263145e99ff44f9e8de2d4aeafeb9dfb937a40032204c8eda2d84033e404800d6a665dfe86d592b818157d2dcd1293abdfee63a9e3edbb4611d63b325090e00c54b2252989f21c77cea90230d2f193db92f4f47fa44fc220cfdb2e074097800eb4fbd58e11c32d4d796d65a79dfa0c928dcf0e95875db9bc374ad4f0e09730096c3a0d8836d59a154088c9d62123ff4a002659645c8f7ca3531714a65d7f200635b22663e0900e8af02655cb30c03605ea1c2c9c1e0fa271336269139440a007ecdcaa9d346d48c89ed5069b3e2c22b3d4df683e010c2b683a7d9a958860d00a25394ceeeba1f055ecd68e4c0d53a29ee19ffc4f514096300532d9a66c864009d820c588a73d620397a88bf6083aca1983e9105c6b258cb4249c61f29a028000262abf12e1983d18e5658a6392a3bb8812a7cd9bb5d71fe175443b77b6da4007ad8c3411468e5ce7aba8e6d8009285ac59618064865f36b57c5c7608a271800370ff099a7a0cac6c9bf04b30e7f1b3193b297de8591bef4eab7cb54d3589e0046f0c733876543f9f215487cd3f243019ff078aae993145953076c02fd851300789acdd5d0c0f90d5bc6fe318337ea35ca3e9fa6eb255a3744a552b1120e3f0077d9ee133b13a80a3dd117cde94303e17683c4d5159f83daa4a275c1e858ce002c09fea94f6b6bbc930a779502150e397cf3ae4eb8bf3822e9be9bf0ee061600f3628495f646b120598fc8035bb9ddf3bfe4d38df851e0ebf806898c378bb700ded5dc2b36bbbebad17d876d8a20b4a8a226e03908e2b53a258d3adec30d5d00b3665484b9dcacd483b85d87d03852a08922ae1f5fd74299a3458cc2e8fd6e00bb2be5eeb24602c215ced5517c46d06d8bd69fa719b1240fcdb72b2fbee80600932b8cec077338bcbd0442cc3d11a5a22fe6f37aff7a98c08cc72faf388a9300a43d76a790678e09d66cc41b449c004498b5427266aee9abd47dae099c60b700fb7f893158cd15e6f3fb21a93e252788f6a41e26b98c76408da75b1b4fa8d100028cba8237383ea2fa06019988da2a9143bd23681c209905690bbda3d18ea0008cca8a122a87ad60d964299ba09c7ea79ce59b7fe27beaebc192ad331628eb009fb7c8f38b951c4e9a3a2ea65924bece3849b8711792d8b6257fd4257e2bfb00a851bd1f2c7893724e255509737a320ed05ff2f585dafbe57c60ce427d185400a94a3f96976b123f927b898f5bd8af12b769e30d7659132c9d066612ed42c60095f588b144d259f9dbdcb2a02996e2ce10e6ea090e29c53fd4d1de850ed66b0032e419334c271ef0b7c47c1287d278d4f838c2d33dbffe1cac58c7672d143000e1f3e549627837fb326ace98efc592f57111514a5f1431efba329b0ba64d0000560989639b211545906e1e43395203df56b062ca2020f187b8dfb54edc2659004ddcd673aacb9ed4e9835271d1ed19e1f5ae1ba023a3c0c4acc0aa0fe3f53f006ccb8f0ee7809095f5999d9ff5edec5035cc21e94a834c794e82578eadd6c60005a5a589afafc48ae1707eec507dca700e87c2e3b420bdc0e5f4e67299183d00f2c3c64be288993799aa2b69926c4201322d8442deab0bcb11b0d9b67135a800f1b2a2c902a6d30fcca5d866837832dc3eddb04333f9b2624739d40b1dbc0500a6434210d63d8ee16f65f3aed9ab100f2ac6c78e7998a030dd30aa0637f7f7007ce589e76a9a962021f33fa65ee1c39b98b317b00679c783dee16670223a5100071160c3ab8d8a67e005ed3a988b7e3014739a36d6233fd4cb7fab3748d75e00d4d6a0d1ab79a6dae8c5f6bc211b71fd029f9d2aaa9573418e7b82e0576c610016332ad27e1d4396f9beca9209c015db278af6825181296512a497f43cf08200af9563bbc697508ffae59426ff25f4257238b2144fac860d290cb6d737250100090658715f2fe5289bd141d05dd0ce468a3dfdd41845fb707bb1d0fb0253020039fb32bcd3d03a92baaf0f52bc181888305cfb84af59fd260c8f84e69664e8005b9a99edfa2fbdcd250b71ed52ddcbc95da75ddc91acc2d2ffb1a44d31b236001686b274756f78c4f52a8e28eb8116cea0c1e90094c8209e46b113f84f3f1600ba9adb66f301db8f9ede63ce1c1f5b1d1613693640d927d49ab99eda5deab5007623cad94810ea65d95135b77dee30d733a4500f4b4174f0352bd1c21b4c5700ec6cf751d1f4f149465e9fcd435d2698618d0436284ca3c07b40e3ee666d9d0007d0619ab086897a8af0cc8b78a68bf8823ec576d981aef051efe99680944600ebdb9d0a8bf31d39b92196cc2b5a54e8099f6ef489aa8fabefedb15b6af3c9004c7a66992fbb93a18eb9bef88820b4a30d1649d41ca7b9ad8a983d80abd5c00058c60c64fbb4d53531ebfe64d951f6b27b59e13c667cc7d5ea923682f3a87200d47505115890d91ca9548d328ed2ead0fcbd5fecd80f9fd1123fad0ab8de7800f9101ce4063054fc386dea9cdeefc227586503618df99b62ac5b169a6574980075e6a2b0ea49e0d39753a4365dec6476d835bd087744b98c5700b96cf73f2f001f090aedc00f8f6d39ef05b746ccea91cae74dda0802bdb4a9d0cb799fba5a0067d25cbecb0eb1994382c7832e7879fdd618a0df97d91aedb19ac325bb17df009ec076553db5c80c78b4c59dd1f0c30be5d11bec3a45980aac696a8764c4250009d1159010266f1eab9d7563728b19e31d2c7dda61a537ab2a46a7e25ec86800a83813a729ef5d4360a0eb4aeaee0fd075cbf2903b57414366a663d222c4960049a73338ae935dc11e0262ac73e8282eece1b2a0971fdaa102002f1ae1170500bd12285f2aedc4f855ccd1f27e737f0ca221b771b8c6ac6f050b88251383a800800913fe1c7fd24975850b75c3feadacc6dd17dd43257c90ebf6c6f0e8af660024d1df9d9faed046f2da4cffbcb08f56f616aa713d113f5d859a7189732154008d09d387059306db76139038d962376fe8be849a6df47cf14f0c243d51a28d00a84831cc9191199edf508107e7da6185eb5509d96c9da95503550f35a1567d00c3c9114954ed730603a0f896c3d7a135ec8b28cfa226cfdc397bb1eee462ea00cdf913cfd2fd2cdf20f43886a7a1e7f18a4ed282e64b7a80cee6e708b2983c009802f5d5ea124c0fa295a2c5c4d6c72145b930ffc463682ba131d27bdeb5c1007821b20d4dd4a3a3a7d8403aecf9b0e65016cd6af028a9975c111021e2a9170012282c8f26610f531e45493d49e97e1c725679047aee004963442df0346f8a008191ff8f6829269d89acc285bc16e1d4f7df388dec4551183a2c29ca9c774a0088008c8e5e37922002566fa9102b199cebceff11dde6a03235c5ac53a1e3240040b4d45c59f489f07d2b0e797927473bc8c070fb465db0405fd7ed697c2fa000b9a321344dcc16b430eab6a19c38fae0834b94b62fa81e8ba71c16c1a1dd0c00d7eca0b8310a5f6b540aaaaf6eed17e138bf2e27d5723d12cbcf6d9b0dc3d0002053bb98e00353bf0445f8b990ecb48cdc12009346868c2ee4ba16c1c65f1f00f6ec0a5ee1b1e770dffd897bf6fe8506377421911ca19e0cf8179c425fdda500684906d6992102da710a3ce7cb7f43aee8fefc2d59805fbd89385b789704cb009bb547231375ddd76f2beb549fba750c022b63aae6716e4cc0ad60e9bcec9c00f507ecdc7b9b99605e486116cdf1a46949e44deb5b8f304b8d049ad8499eba00abe2a17fcbd89c5b50320a57f3253e84fc4bc70c5db62058cbcd2e9330f0170038fab8f931e2c66752c8c1b82673c673332f65bea83c491ae5214b4110a9ed0049c6e019ddedfe470d4f5a4e1d85cc6c2555adf723ad3f02e399de79e1c1970028ea0421fe932d815adea108b1aefff18dec96d200df8e68913bcc57ba94f70050456ef94ae65edf66c240de3cde4b948f1aa74e1116c1bef8a7fcd47a52f4004e841fdb94e4d77cbf847538fe08616e29fa6efeb7095d098f7fa3c0cf9c6e00a718fd3cf801cef3030fad491edff28fc4c59aa30cc171ca4b1212869095dd006f6ab89eed466d8923e20a353c385ab894bdfacb69f715efb221d99d96a125007eaaf8b586a15abcafe627a32a16fb84e276343236065fcf91bdeed9c0892f00fd2110dd89b41c0990b62c2cbc3d31155b76de7fb3731de82e7990c3e89d2e00d95a26f9e92d1dc5545f2236eb90c137853d68fe954c71e642e0524ea43efe00c1b9a11059a79f26a5f6e0d6aa3fa6de828fe5e4310d95378f9573232d66e7002dbe63ba779fb773cca5e4067b7d10da2db5416198bcc3f533a6eecf6a0e15006019d46bf03238a2f598219ab549cf69175564600d3f903765c8d9bb77737b0039a1c2d3f462d694c98bcd3ead7beae8377be46059b9f8e00444aa222051c00089e31ba292be03fe185809b5bbad9672b20866be0e2572464407d247dbb36f00f9c645713fff01db3808dea43c60c798487223ca45ee91c9e0839aac2ee099001d40d17e35031091aa2a690b7ad3e6043524a4e6174c6132e4754c4b5de1c400fbaf680e345042cf6894c8e14569de841705b7e6ecbb2e83ab2bf0d86deed10089ac1b9c7d3a1cadd500d0ec367d7268d65259814685cf6c7911e51b36441b00b488ffe0d781efee288e94aacefbf8e08893a7b04e60c66876c0649b4d428c008a73d3ccc6082cbd554b1f19f661960187613c1be2ea225ba2b7fe3bc98b46004cc1ae084097f1418c7620b0d1f8ddc5a8f20fc8e569aad0555fc1df0d23e2007188f6c717f5413c64034ea05d887ab2348dc0c0f726d06a9d9574967d132300b240b60573eb08a76b834644c07355237f4be8feb4183297da6e0612c8f81300bca6a13d3b218dc2f8f0f2b4f7d40f64a88b1c25aa99e1e87d92886642e26400e7df51b6ff8935df496cff7cf61bcd6da4e50e67b8b87d40d2587b0e00ffe800d58df74521564f9af5c43b6fee58ad0ab01b20a13b605061f9615fe524c44d0013fd9e1cc73f97a082973fde4a8266391bac8151dcacc5a96fd3a965db7e60007fe27dd20383067d9620ea3fbff30462810f1d37f703ebc50e15c352a626c0006effa8031cc63d35ff0ebce3e17e3507aa4488baf9c350dd86633635c01f4800c099c192c4fcc9970babbb5ca8dc1d612bd70aa78e27a37ee07d9b15efcee900703cd0b2e53972525c9d0f021262be815a099037b77541c64ac5c7314db9a800b23d05f9249f8085b6d33aa2db77cc6811f1c617b99e89593cbbad5b05dd0b000e583480e6cb71bfe364d88e7668f1f278354c438aab0943c118fc0169f98f00a3d757ba8fc110ece523adf9530b37d2f5ef2a017cb883ddba75ad51c33f790025a3a90dcd798caba3da986e44c0530d7b8b212e88bd321f2d9a2fcf1adafd00501698f83c729ee9d08603cd53f15b44c2faf95e84925fb2c3bbee657e88d300d8b96573acac0e8ba6c81e91699c2d44ec70c95d45cb53b0695002738fec9a00a1a3c9f171f11b8b82663060de79f7809d07b4eec0e3ec2f42442a9f0b99f100b1892e2a5397cc35c08c93a1f328bc7975a833c82a51ed461196bec2a72cd10049976f72cdc1192555ab0a58cf990152d3c5c4d610ab8f520e3821454ddf1c0082576eb0c7bb5eb38d022555ebaecea2d205fb47827087d10a7058694aa3ea00213b8ce33da95618e535244a58efbd8a775001eed1939157d8892bc0c09eb700468572345cebe9ebf581dd84301daacd1d7cfa72b4886cbe8ba039b5f2dda3002510422cc587af01d28765eb3813d4a6c2d6f03984ac98f5cd4db3a29cadd9006cc84d373b234c298cfbc189ed657d126b4b882fc4bbceac74d125e0def126003252a06df71a874a61b328ee02aa1237775ced6200aaac25e635e1fc1e320c00429ea223b63e055e804d58248114106476d1b6b61c97a28f14d3c230bd5434006d8d9f26ad6173a4e046fb0c5608c63a136823ac34125c81d9f69de3cd6ca100737fa11a29c0021b9486b590a7a6d56b60f55f0091ad08510c951421bfbbec00c2db5fc0d2dc3827cbe041fe90ffaa55928a336f39c3f344bda91ee693831a00eb51fca539b889633a5e979d9113eafdb93afee6dc2332248d6c1897d9e7540088c500137f7e249bbca55711f03a54f6fd38bb9df6ca4b59c446b40bd6c84100c25870ac2c25069439841262dac5bfdeae1f9398612a4c687b929ac40e0baf00de0fa62132a752ab949fe2fb4854e2ff1a268eb6aac23b0aef67b0b3fe500a0055bbfa930c46268082be80ac9ec21c84b3a042e4bff133817b4c479267dcda002788cda702519bfba8cfcbd976a230bf265771852246a8c920aeb1fa03244b0006034d14bff8033f6d276615e42627c3b1d93d9288ca70f6156cb027adc2cd003d209bc5348f33d9eac161684370534b36537b500986ead516b4c14cc5bc6e00053d9d6a8863b4a983eeddc75ed25f96d3f64746d6c6c56bb68b38a3bae0df003b10e30eba8f73b5a9f861802de8d219e4326c2913363608f611613648bb5400fdcb50061e689d46bf6ac2dcd90f78d247f2da92788e49c0e72713b07b305b002f4457af13859cc15bfc038818899a9ddb76a814ccd6fa454757f273dbbda900cb1559482ca0e66764eaa8767843c5f412f87fbd3598842757ed1b4ce1877900bfe51f2c02de04b6da877a0c9330fbc0ca5261cbc16c226a3865ee8aab6467009ecc2533ea8647510dc5b69ee4e5facd9fb4caa69ffba4d1085e2e6870509e004e50cf1466126a66e05940c2212621c8e58436c1768005d6e0f15e2b7e5ce200d10fb2fa81e959ef4824f55729cbe5c27f483afdbdd9f7887d29849149c2d1003deac939a87275dfb445c80e0e0110d44272b20646b49a1e9ac90efa76bec600c47d3f846e7938aecab152c3eebb0ab516b935ba2f62b7a8936fa181f8d65e00e0d63c81879c38184a8d7e5426b358ff4975ccd91b74fe5c02b543a5b4530400434c27005fd839ccc14ad2247d74904cda1f314bdf5d98e06901fb80c87727004c0d90412eb21678c1d5fbaf829d50b65f8822b83a157558973e46d62c6ea8004e17611200757c3f24bef2bd9e411c9b137c41c452257f7fc8f23bb878388a00d08d4cf6b4ebf65dda49354d2f25cef07d71f0c2c5b73ea59de60dc3e058090002365e19a66ca17525dba638eb5a19db1d9ea118772b7caee93d054057d0200051a06b11c00c537850fa28aaf81ef13acce4d8ba5efd953126b8fd51b602df00b72067065f59d456fde7b71243757b36893ef26182a1d8b1c5d0289068d91a00eda9b634c52785ff84ae9218856492e0ad2aa208be3c198e209eaaa13ffdbb00f3cfc08db3c4ab54e081adefee8788a04b590017b102cafef9b9d8fa41db61002145a9c046662c2e44e78304b4e98881985482356015b119cb18e421125c0400d0f91bf79a388deedbf9f7d3c0119c329fb930e58a3a7a0193ef0c9bd60f45009a23e6be14456389fdabc6fe59938ea1fac991e1b968527a6a0bf5e567c5f500871d0f95cc1876791e51fc9f700bf9a13d714f6495efd3778e498a1ec240030031f411fb3a8d9c978f17221cc624081978b042ec39459e57cbf7f4ceea724400544d6d21f09c30a15679c0a2057237b9702c9e4fec567f782643d75cc27e47007f3f9a4a3e62d607439c6cb61c37b5bf1430b1ea9854b115e24cb9864d239d009ce29c5c59a2115efae7070719e058a9f423b6abc3376b99bde26dd25c777900e0dc6c1a8eec49654c9d1816520ec1fbe90d2cb93ffa3c3d8650b0d1c5d54e0098a5d41685d7e9529c1a5aa01c3521363877022157a74c8750dc63a4a8aa8900e8cc13f98570a713e5d340cf617b55bfb7f013cd94b440df433561e79e917a00d925a506e62f4f2ba50f2bb2886b964889ecfa44de8974e0cc45e185b24e81004d1a88ddbe2253e13e2fcb1abee052afb44f999a9831be0a76e075e4ae416200c7f83825d1746c8002e7e6b9fc7c9860f933e9921b25addcd0547f97174b4a000466fdf058d0ea053cfc3ee5e6987269a2099ab3ee9403c0121cd90a4058a30067f16eaf7f79db7c7976054476bae55d2cdc0fd8479f89568b72cef522b6350088ed572f58d7cc5e577be6b9a95589c7bbcaab9c3f2bf5cfa14806e48dfc3b00e6e4aba8831d5bc41016d75cb6afdf5c57ae041db68a39514916f424b5343d0084a7b7e1956a8f425d0763944f5c3470c903ccb6291df3c7dab3165a85cfd700fc63d4e1c5abb61851419ce37025a62af50180adc75cde8b7b75a4f8ea03dc009643c7248ef9d076e7279a94fc45c4b3145fcac61bdf64bafb48d390b1b6d300b3651ba89e6bae7e8f972a7f7e1aca7e89b8722b461398382e5c6cf104c3220066c2079d20c01cb97579e146d2802fb0ca9e631f9ba7133616564201344b7000c8c7c105511fdebdb52e1ce2bd3c01939fa95a3dda7335b6343e6db77327ef007a6138c6e56df6b9fcfad98f5136fc7c0adafc315c096edb38f24520b60ed900b7ef1d91f27432123130375f899f8b699dd7faad245a75cf4e8107ab7b9ef000eb3aae5facdfa5d5f1569aa9e4546257dc216f449661842f3dd0f1bb9580400077ca937d0611c47d1c496630b1631a50b82568e2672372d5f51aeb5ccb23a700047cbb5432bfc1c046267af9db5f1b0bf889ee77bf57daa23fc5f5edb0ab110012070c7c136d837e04e4c82e8df18b571d1c52034318f930ffd4617ad6a9ff00675f3119c25345129b2cdd0b0c8b3a6ee6da6b4fcecf7d1487e2b0de98a10000cae3ccd93451a72f13bbf5c48a39638c8dbf124f7617087fb7f28b3b9d443d00218fa59d453f41ae3213101480db6b1026c1c049821e4443714a845ae0cdb7008957ef7f05594ee3c5035e040341c1ece4cc8d56883de2b196388bcc0688bf00f012988f59fc8d1eba405cab36b861c555377758eb2271ef9ef87168e6079c00331490730a5b344fbf568025a0181584158c00e2762626581d6b52f6d7e0de0042c8b4179a86f4e920cc85a430a08893fbf8042b70b7fb5ba6310597e1d64d00083de2560e76bf18daa0336bc66e8d3322b0b83beacae7045b859b857d3b9500d875d11fa6161e75258c490d510e8f43f855d88b989221d4c39a8e8ff8f87b0012033008a0638b016a16c9054a5ae54c6daa513d8082c1372ea88ad26fe38d00ef403932718d80f2e87f370d2ead7236d5b6e788e95d069c7d61e707af769600c80c9bb7d59c5eb6af3568de24ac96afeb9d36df68af34f3bfb0c4f72af8f0008acf503e2244dbd78ec9540d83425cdbafa4504154077e4d51d792427615830073c0ef5433b83e192701253af33ab552e88ada66223198b1a658b257f266370013c4c818f453d2464aea6b0ae495a0c1eb486d004f7b6ab002689c90da7c18002a8240c00d2c4dfccd20f22ef16b2ea02c24e7a19d7895d5153a653c8e3c7b00c9f58bf55e3d0f02075701f74414fd89abe8518d29f3bcd0dbbb2ebd69ab6700a8190d22992041d3f7115d079dbf28418aff87497ac1d08162c503f47096ec00389f200e3e9503092fa7b73a1e16c53b9a44e20dbde83599741439525611270052ad8a78200e91427747365a00891c885d8c37d8a14a1280fc1adf005a5d470037f7348fb9f18f0bcd1f29c3a68fc7897172feb8b290e175dc3098153c59c300fed60f29b5f559db2686d1ae540a83d31dd67bf4b60d6ce86f9d8a4b779c8200b5524f1d997bff60081d2696ad9530434a79b85f78594f0f407ab1b9fbfe55000511092d66c8c4218b137474bb8732dbc2fdcb21519bbee43df825d11e426f00b886d48488fedaad1a270a8de75970b8e2bccf6184d94a9dcbdcf7e2589de9001467704db6d24527da26ba31a4cde17e707c4307565c89422e24768f5e1dd0000cd4c850c6a91342e273dc9da319a1dcbbe1805528d55a0de41a8180bf799100c42625df0700a1ace11f3f6a166bec8629cafa6127277dd7df254f18ba5877000ce10aca0b9198bc2ca10997bb7bf4c78a6358210c9c0f8364b8031c143c20004f12be964067c2e29a82a2184467dc9ccfe6736ed564d2a76ad056504ac16e00f5a133f36a507f425937fa845a52c37d8794c84c2ed9fb7e74a2d25d5797f600f22b70c251c580af19e358685c61108342431cee459f56651e2b7f1e16149f000d582958f94308feb3875b9d4ebe903565cb66206682d785f21bab3843eed400af8ed511e4a4a75f121bc12477a274d10cafb638351eaf43e1cab18771de050016bac0000591d1858e6323db2472512996142504bfcf5355ecf01c7c2fd741004b6a775e0a8b890ee366400b24aa01a02fb6f19df062907386aa74dcc8a9a90021bfd8249e73a9e4c283cdd81ad98f1eab37c77b33eafeda0f4749492299e50018760df44ef170c197d59b02b874952ae2248361194f26eb4b09843bb5b91a00e6c0f3b39fbdeb7bfaffca5ac8368f46cd09d41ef70a35fe7f408cf9a08d48002a19c0d9ce4364bdfa22481cd1c7b48db1266ec119260a39a44f30ab549013000a3cd226106a0809db959aa3916ecf934d6c74ad46de2f45dc13b26a1215b300fc7f8908307842fcbceb688ac4da9f25e6fe9209a7a6b7c5115dc387ae722000b37d1acd1682788a6c158221ea4fd71bd0b28a42a80bd3353c2e5a85eb5ae700f4105210349ae3c2929347efa09cc96f5d9add5d20bde05f65e8bb8dbc56060066f1b07c0bb0dd73997b8f5b2b0d660e4b5614008f70009a29d897b20d6cf900280d6eb16473d4c547ad6146f3bf535866ba71913a8e39689adcb01fed45a400fc3700f9630d8897aee02277a583f36a6026f92cf29fc2b3d7bbe78721c70c005b32a1acf41a7c1a46b9fa95d1a7cf93b441803cd76455d5504be742d58a010037cf4f1f95bf4b98f9dbfcaf483ae227f4603a86771eb69c504cdcfe7727f80043724f96b09872d9573b4f18609114c1e5c95c48386406259fb8f947a268c200a6d5a155f448aa5e01b69749a72c6489bfe4fdadf613735d99a0f371a090a400bdfd7aa38dae2f0ed5eca9f76f0617da6418d74bb3c4d8a600074d0da2983800b5c10e8287c5803cc737b1e32e5d32df3e88f4d0bf8ded6aef63f7071ae6fb00885b05473efedd72ac1f63d5874a9fdecce5a00219e555f4c1f3cc8d32b7f000ae1f3983e15b981f8da353479863d03a344e58b1d40ca28be4d61573815ed200741f449943334a20a4c31201331b7947436a9930a041c2a1645868daf7a83200f246aabd8c48b1c435fe10703c4ebb94719646d81c7f7f5851655f10a3c96b005378460a6bb563c614d7c2834c857f747a7fe3db3763fdae935b95215b33ab0020426ff6d8bbd1b9984e4b28eb16965c0b466cee23c571712e6d803f96b78900f3b32063f139168e14eaef0383a011c3f6185cca374cc0d2a29daaf4adb32700438ddc7d5147d7b453b2bcf3c7038c230a85f3551229afa45c32b48f3f36b00097cefaaf967b286474a5996141e6c0071573411c379074481e4d8c9cad6411006cd1a1c155c167d6427e2fff2e5976cfab5b625c6453804bfafde0e77de66200c4ce409027b0c86f78e1ab5d116f24111b22cc29feae30edf011147ae8fe8e00b02739a8e4fea5b4ed293a4e87f9e3f414fb5e029d5ca0cfbcf7e8d502f10600f66dde47917ae759bd05e98f8dfd029df688df07765bcc94320c4b57a606fd0004e83007cb49e1316392e2ef1c5cf635e604a5fc63f78b0385b5495717f47900a0064e4305d3006ef0d0fcdbfea7fef566cb9a581771ba54d20a53db84be0d00e30b23a0b8f4ee1407e8a3b057d4ceb1ee626fd26e87ee991d79a9918c9aae008d6763d9d6e18728e81d6e21eb71f29e462ae571e23ffaba01e8dd8d8f192a002884ab8368535835379c7ea4dc8f84311bff92b233fd1dc882994c15e74a3a00202022fd739fff85ce4c0f71ad3132b41a1ecb15e82e156bfcdb5e3b6374b200bd3c02b8c25f1b1a31898bc9390968468af590a7b4329fef28144e1728ba3d00167270671cbfbd1c3fc193568f5955771b906b55bdb58a39f06e870fd4af77007a7764346fd8bbdc05bb382b66fc9cb2ca6448330001574e62dc0aab61bbf8006e295b39adfe38555bfea3344348d01be5b89979b4dcf6d200f673ba997846000724864038cb41a162644316130a791ad4fceb21fe69ebcf14f90202efe3200040777975c3b97aaf1078e852c58290e742d5e1b52fac43792acf60d6f9beb900654a5f8fa1ad85fc527461e24e7eb20979c92ecc431a608ccc36ca1152ba8000f9fda7a1575c3101851342c5943509461c9ef53eadd60b580b622b20a1636000d2e41cf238bcb74946123a014330fb0084f4da579252e104fc45610eec0232007ec1b880a6818f015ef02ae1867192f6a59306861e32c8004ca097056390740090c01546d7aee36e7ffd475e860dc33485e9de036223a3d6a756f0f5cad26500067a95773a3397b071c5b7d0404158ff8817969e7531081f65837d0b36cd7000f1a50fdfa5b4c12b4b7869d85c19da15a40c97ff4084c3aea8d555b5c67639009d653c099f768b5d99038c7a2069d51e2824a3bf2564bc8c319f281a688d7e00a8d7fd8430f054d399b0bdce02ebabd9fdb5788be53e1924fa6635493c0d56000d1960a257e9cc9fbb35f6992c326baec2168598acc760a3bd803eec9160f300f2684877e055b0a7fe27ceaa6fdf411ddc7311d02566b11b7cc58d5ead7d37005f03d45b287778f4746dd5ae1dde3443ae3bfd30be692989b5bf50f0517e1700120410c0df7abd34bdd442b370af3e4244d3f5ab555f7bd7a60617d37e089900fc152ea82b578707f4aaec3a7b38f4bd4a6947b5ded679a9699ec0bd09c55700dba2452a8672cf0807b1724d4f23d9ffcec0805e77ee6a02ab5841f138298f00215385cc2fc45d903b46167edfb18d402d509a6d6cfcb26c25a581e271c5da00e18ac6c217f0a522ab211cfb13fd44cfab92e982a1fafa7ef472e0e5366c9d00bbd246eecfbcb824c7cb845c158bd215e49187b65b9f43a80c9d3b17f8b8d40002ad8b8c309be5baa4e9f64c51ea37bb081733443f1610d485edf41b201cf10043467bf3d5e84060692be557ff9d8a4d8f28c4cf42c0cef875971d3b212b8a0080393d3aaeb5b525ffbbeaa0e6dc1e24227602ca44d745135ddec83c02d75300e1ddc065fcae5af9748163a4317ffad55f35c397af97b4d85a92924d96e11a0036ba32ca1880384133bac3f02d3b6144be15018cd422b8ad04b435bce70ac10089f30eff87fff1e6764568f36da6cc53051ebdee617441c56005e8655ebc27001c751c385ecc959e4ff08797041cba9d2c61b24ebd71d73acb92704cfc5bab00dad0f6e5e119522238555a8446c926b8b7a1248e05b32c3681b86ef610460c00affadc7985acf2f8e99349971ef1127a1ea5003927385258e93ead2f94b98a00d761b92f2c1881fd47858475609aba17ddcc81acff22debe636a7b1657fda6004113f0fbb4d3ef42e9e2ff88c0eda724cf259cf75e21f808ab2920df6b101f00b944c4ac1141c8d00de7c5aa1d6b3d09c8018f6594eba5b707af58718088c5003fb08720ccef54f58ac93d531497f531af95a5234f694253aeffcce025737500abe4659252ac40ae76c22a1bb0f4eb59b55dae741ea3da320b00f9e922198e00d3f0c5595fda090c6b54653efb346dc244dcb4dc108f88d1e14393fbb83f310086f9ef9fb6828e3175efdaa45a8aae833acfb8f735d17e90ad8f28cdc25b7700d968bc76f95e9b934ade2d4a568a3a543379b8726cd12970b9a1cf4077d1f9008df7d6fffecb7304823caa9208ee5803615a2da92619594b8a95ce411f774d0009d2fb7c1d3b932ab2f3dcca78bb4dac954488aebd8e0e32ca3bfdabf9dd9d00d2db52f76faf2757831de29348093102086eb04c64e882e4738cbf3e4b6ded001500f26e2a44e1657c42d739ec7e19914779667dc1af88aa7f93a0c2886685009445cab5011261b42471c2da10c10f1c19510eec9dc8a4a956f71a48cf741a006b23c7e23a3ecf9021fca376841104f74c8a4facc11f702c20c96597d6c79000b0f32557dd74adf3b714bfb07391012998708d7c3b27caba689d537938cbe20080f89ef911f493449a91e57833fcb42a5c55db0033ff1cc5f38b1aa0d1a99700118797ec23e77582895b008a8501919261f628d5083b1fd0fae863f6e2614000dc35d31154ab3399998d58a8377bbd0a7007ecf68459ea46cea94f657c1304008fa8ba70b276efb02b20aff070f01525eea7708e7471cf57b33493c0b7a99d00027c423507b25d479c3e184195ae205a765a6f59f251ec6e7156e1a4bfa6b5005e6bacbe2dad141c7c1a5fe781a7b79203fb0a55839344a7b8e809d19505630017ba0dfbe17803eae5f09fe41eb7994a796fdd0af15f8581e243c05efc9722001f13a9202e2019f0695cce1d4fd85aef7dbb4d08a2e5284597cc78c44202be00add946f1996c167da21b2565305a100e4365de2f1e80b2eb36870e08f3ce6600c50d517a40ae908f0e95819967c3c3118504156f3cedcc4d3229bac4e6f7f900b7cf981fc750d3c313a9900dac27fdbc2ccbbca91271adac17ffa3347a2e1c00eb46b2fa70e3cd5d60e408bfc1f44b2eff377aa81e2a9244f52152b4570e26006b4772d024fd59c29c77a6d7d01e29a3d12784ed770d8fa7c3ab4a438d26b100c6a768cd789791f7fcf3010b2de9d8ad8745bbe6aacf80e08896ffec47161800e55b14950842dd0a689a00538ee65daf48b1f960ac4b10dc631d90524bcf4c004099b27c4019d580ff2b354c699e4b5c885f347818f1c100e780af7acc31300041372f5a2a33350f69d50379088b2f94102f0ce9347e562b0189cbb1a49f690048596c9c8e704f4a03f8b6bab36fa22f2cecafab9cbf56bc9ab881befc2fab00a1065fb717548eb11d61b42e3a346184ddf5eb3f6ddb03cdb73e1921328b8d0035b3945196340f4eb08018b64caeec17bb544612567f9d56cababf43112bec002fc16e58cbe1b43c032d7ecbb0433bc1adc290fc94046cb3ca8bbf5881d3d900324e805f3cf39ba94fe6550a66c1ed1e1e361209060290726dfd0e4190964000329070599af27b258c0f2175198d88f0356cbfe584820d8f3705af5dc91268002962f9ffe095ccf75c9c63fac4df4bbd10f6d13425dd6cfee2f40b37f8a66b00fd36d4dd634ac6b6b294d1492dac67527c3fa61f0db931d27d97b7b351f9a5005244176c85a9bb1d8db382b4e214944894b1287f9626f9ca4669773571421600f54e82202cfc49d7efc9850596e3c8e60df8fad9747e3f64ca9e73bb46a8040009f5c1e954a6d4d1b00ea3d80fc4b8dbc74011718df3d952e9b0aefd3aa30000cb5165f2e57a536aeccd6a243aa775a907eae7b995321f03c6283283797bd000eab9a11b2c8ade4c3b7f870b7fb161c586455fe3faae477745f276c0c123d300695349fad27f26b0592faa4296b080f8d7b5d4c9eb470b60d29ed54dbc54540033b65f1fd851f256bc80ec24a945c8b645db723f84025004675ad6168c4ef4001ccf1ece7ca9fb8625f2584cf4f035d0140278abb9c3b2c63e6291e4f1dd4d0033107e15c443a84d157cefcaccb384b97a2511879acc3fc14fc19f5e8cd4cb00fd1c8a83e982698d58ed7613a7b0be7bbd158b2d0b0ec8ece5201838ea7c5a0077db8f26cbe4f82b2af3a7cfe3a641a8e5d72bf34ec80b4db496b31673f4350090e0df5bd1799d174db8045f9832008ad8f021a222e64b32e0782ff7bfe704005b313ee70c9ac5b5f1b619458d387cd8fbef3ffd4e82d1ae4a87e27d0e63e90034b303f7253b8c44a2cb7c67606f2abb361998d037a2d1366d8c0ea4bffe76009c1010b2882e305c16413db50ebcb3f92f6c840a4aaffcbbd800f0e9f3f88c001c68e2fd474e9e737b9554feee24dfef3744ff4d9c9175159ba09ea663c57000f1c86fd2c8ca969a5a6139108676462c99200906b404543d4bead8ef9c6fa600f45fa5f990ce0b3c7aff475897d90ebc8ea70b4988ee2e603464fb6d7c32c50044df8dce485af9dd9f315d6d5e9348f2d6ad6971de9305ef8f1a3f3a2bbf10009ffd1da5502a9f0f0e730e585c924823ee8eefb013c35d69710af6512b5c0600400a250d2f0efcdbb0ba10d60836f6f538e8b55a2b3dcb50a29b78a848c6cb004aaf04c1d72e7bc52b2cf381c9049172d941e37f22d5e7866e3ada5365c207004532ced86dd4df1ef83735d0c404e027d22d24932cacef9871dd9b3c1769bb004d27aac9a750278b4b0fede831739b2a059eaa2f4b856fa456ec0fb65c2a340016caa9d943ab12b05704b8c1e25ece1015ed2496857dc717441a1c522e97a20023cdff017e140c89f1ef5132963c2e9614712e2c001c0d31a4969b8eafd0d8009a13544ac5a8eaf73b492328275d64ce7d35006db86449ca71d0b04f58eaee00d7a6802bf6b84766d281134c24dddacbe3f1cfb8d3739ae2037845ad700a7a00e4989f31236e03ff64e4fa944c34960f7daaccf05a39f4f8fd5f344341588e00e2dd05e6a0243b49d38b610e36744f6fac7aef477b686a74896cb9eb7ce83200b9e7fb8f5d0362a4d8090151c6272dd55934de5de5a690ae9d00f176cf78c100195e1fd922affd9f7b3a3dc0dea86c0aeb1e66fee979054fc1a0277f58e56c008b1aa8a703e8ba269df0bd9ecca5cbc22aa3ae0a2ceadd4a4c53331c9a287100aa3925a56fad9c62ee2eb58184ce9662118094a421b249095664077c41facc000397c2e9248d7e4fe05822c5249d0930036d02c5ddfc002ed6f1f18789079900e14974874a822f179bd5c666d41244c34110c95893bb8af4d7f4e5e42f45f4005bac8b81cd5add7b2b13138d3f52d2cbc860077b12c68d75b432ad2fa5669700b16ae816ebcf8ef5ef3d883c3e231a5edf32e9cef2e3349169096f1e94876e00bc11830c99e0d24da6b4a01d686a3f38b0dc1d1f581477750fc127d820dbe5006a0f0e835e269527afff6fec5d7c4a1f4d3d9aa72947aa8c81bcbf5c97711a00dff924fc6b90dbbf9b37bceb69db142054f735c5ae820bf963444ba32926880007df6b4df578ce5029a756731a348165e752dc2aac0394d9374aae5d8249e400e44457743e17631c4edc8c05d533b9b27f99cfd8264a1f04fe7196802fdfae00ce583f189bbf91ec25ada9d7b0b8d4a43bf4a9a910738245237ec3df06a012006a1140dea9604c7cd5ab16b4f8f8732fec5e5e7f8446e7fbe50ac5a4a6ab37002d5bd3acf1fdbb7c3dc4fd4adf5bb1ee18318ab5911e83a88b3ea84b4c6e170078a55bc40683f1dded2513d54bc6efa24937734d7749b20c3a295f471c481a00db31ec2dba22b9f1792af56a05df1e4742c8b5b13055e7c75e6c6ee8e05fea002232d8a66c26b3934110a0cb78510ce38134146257d8cc4c393504b01d17110020638191e13dda87fcd14480b1589f742543d25576b45b847fb1ddf4bb240500bcae18ab18ec749a84634199c5c10458c880c4c9899becfe5169ca20cc7d24008f76b47746b93e1388ec8cd92dcf87ef887f8b2d325e09048a3f2750073e200079b55c020461fad0217c8cdf326cc8ee092322980e8b65d989e4faaab7c98200523caa23a1da6b1e4c3910e97ea7caa17189c754cb548539394705488c6a3100d62d0a2a7fd5a5590eca7941ade7919889b17130ad7279d07a2f4ada4892aa00289c0aaa2f4f0732dd3e82b78b6963f8a1f778b795e7f95b46527eec72aa3700d740dd682499089517370177e165a64ad6b2b600277e115c94da86fc3fe4fd001e84229b2718e864590a7ca8b65323ad4cbf6fecef52844d6a098ba6af3fea007450cbca90b170d5e194050c044fc5046247fefaae3f8d0e556eadda35686a002992ea3cbc0e4e24758a37dd20397c196b31649fe47cc3f21cb6ce14e9c0d400065ef05b173a1bdca734e0ed9f59387ed73bede705c43cb71648134a12483f002467152f13bc89567ed95bb5a9642f22115e56d00ca34d490b1bc9ba8e8c2100ffa8131abc2e3a8cd52207c77c8af4a72570aee557a7d6d1b73f28fe9e89e8006c9d70b08519c9951768a3fc7d81b745923ae445a7960f5ad15bd8ea6ea81200be2754873d1d790b6f819eb6c7e548dab8333e5586c76fbf83fc78382236e80075c4006715f1238f7a24820244f1ee0442b8a27be65aac56349b0fdc9b1da6006a30e0b716ef1a416109aaaa85b00644cd30e5a4a205ef0330f212d1318aa6004d1f9edc1d55f2769dcbe7b4ecd8230a5435c35a1b6f0c02780f8937a5ca9300ff5c5c0062db725d5897c095aedc0e42409183c55b46478d73cff74c0a6d38001fb3ff2be76332a072a1fea4627ce1d54d2c9cb7309e0e8d8bd183b15cb763005c503ce2b65a96a495d14cd4b6834a51ea315e7a45bc9ca1f3e371e7c2b46500c117ab1f50096a01d986d87416fcf1124e25820de8991184f9aaecc151560c0002374f692c980d139d09165fdfeaf4c8c06977f4f20b83289a9c51cf1177ae00af2001630bac208362a0a447b41f9e87b886d7a984000f55016471d51e2ddf0048032ad3b259cb812cea668a081c179fdefac966aa56e44c3c1cbf4b2588870081fefa4ceb9714efc3b23cf3015bd90e5f03821871e467922458a00fb05df5001d5cfac83f7b58c9962663e877223834e8ad7152190e294739fc68daab354f00dcc2b926d066caa27b298235521ce371276b32fe5b5934501a88cff3581fb10051338cb7df430a0b257d67ec378bbaa75a0a76b492ef14d7d0941baef01b240062fc94d39246f5db8b54a44086559cea42eba115fa888f957f01d87c00ca390002d299312b48dff38f493b0ab2dd2808396a135cdbebbfa41a5cda38542fe400ce068524e6b18c62983fc5a8d07c1d30cfbd06d6fd66e111766e566f7a07ed00abbe91a5a0020a9f349756dbc8c774af94b60957617403f5a4e2cfcdbe17ef005ac34c9558eb4b41bf17e56d4e533414e6b9c88104a6a749afd4639d71fb8a00853d388b4d1d99ece43b4663ade748c91e35e0fc4be5df53689c24f250abf10095e22922906e29e01f0672d09da85e87eb80ea1b2bcdd659ddbdddd49858a7006da210df039e80badc69bf6754aedfd607dd121b501f3f9865a2a18bf8a62f008d7d3b67132116a7f5532dab96967aaf62dca725d90a1de521a1fca9f8197c00f0262bb92fcdbe907cf067f3a5c3a775c45aa3949c94a9d15f74ac0cf0b15e00a9f72a0c4fd3664c0b1243cfe11ff88e3ed3c141c0848bf4c83690e740c43900e89cd836087f0cbeb61e6471f1887e209dd52a9c387164e951fd2008cd0f53002c258056d2c0ea119d6c8108ece96d029f5b3b445168a183fe185572c58b9b00f163b0db5d03efad33d028562db5619cc51174cc559801d489db5795032514003541c1215e94da0cdde4ab1b23e9b4bedeed6a4efaa2fba5e58e57e88e2ba9001614d6ac6315d4d968a46c1a096117925f0000b3845962afd12266ba72a21300fdbd61389e3ec5e003f3d1aeace138b895c179ffe5830b730d27715cd88bce00418cc45e64b5e93e884e096ebbf203d974a7428fab13fda19f4d4d8ba0ddf1002093d7f7b5427e830de044485827328e17044bc167c7d5558cd847de6274c000c84dd2c31e2c3d4fe7c700599c76af7620f9e02ae8a4ecc09a76d0428317d50095a51554f79b84a4fa72efb9eccab697d6987b54d0dc1b50b1d7ee3162b04a00d8bd27b00db0997c5827607b80c0ada9661218149241ef9e796fa6c675f51b00a0bbc2dcace5684e7019f938472044b8a1a4f427350944097d3b337031f1fb0094435c2c011404de83ac80c23d8957c3db0ba38b757a913ff0d077dea5c8bb00b479862c629ebdc2b8634d50131b1b786a29209cecaee01d27198873e82ca300c2b6b5666859130bff016bda1c423bfe08da890a262259836deb278ed8107c006440f312082c6362e61495810e1949cbcaefd41d6da39832a557c147c4ad4b000bc6764994973bfd36640a0cb2546c6bb527d3fd10e94c2ab5f405a39dbd7b00aa66cec0e1e923b1a5c8b246570a04264f255442dc5650354352cfb700dc520074c4891c51506e0b5e37684c7798b755256eecc32b7f162800c9391d0a728700944f27fd7205ee5c445b4b488644dbf63f95f250dfe27e5ea6800223c7aca300d119fe0f734d058411fbee1f04f1a711b1a09c7621e6ce92e7c35b8691e34e005cf6a2990f96e9375a7a260d80bc388df29555c3d295be6dd47c3278915b0b00bdaa1bdc1322fa34b2a609645f64add2ad0ac317700678a3444a753fa9dc5500c214c52504e7216d65dbe99ed53f5391390ee6042b539ba72e6396ccb22eec0061e09bdeb52bd73ab1e8ece63658dbbb6aeccadb3765438016a2a4176fdc9700530baeb05f87f3f17ebed1cb364a3ff6cf73a1c1d6e82513192f94038749b400de8661825cda40e8020965e318e69e46bed2e94106dd5521e4e6c9b2635aaf0070c812ebad38bb2ed33d6c5d5ebf6ae40250c6132eb16e1a73f6c4b7a5b77e0034238c12230270db3585f70184efa235c2678f9676076b618167cdf1a02d7100048a35c4ff84c6d405f0456ca6d76f78d99ce1710936dc2703b8b896ad7d4a0086f8b08da8359dc6e93cf46b8a9904b3168a41a4818eea1406dba447c7b1e800f7984f792fffc56b18bba4dfd8040047af88c44ef80bd9e5b951659d1b7ba700f4bed9d9fdd8ebc8fbf5df0e5d4d7fb33a1d2e77b4f2b6da6bccb384b391da00251c69cc83084b4688d57c60c9f70821193179913e00de592659f191015103003a161cd0f554ed09ee32b6838fe4c9ca4cba77f9eb73dca8bfb20caeb1e915002f6b82dcdf60f775b52c2ad54ab7c9fdc3869f64ae86f07c23bc9ca68d03ab0062092459c76780d9fdef3b175c360968f66cb8a92082355859910a62eca73d00bf348ba78f330eb820e2b396b25089a6a61ec74863d781aac43fad5c9c516a0062b2efa771f2cf4f65d0f7e4bc4d4ba5bec2ce39007d6e6f3687deac5e7e5900e58726925f3bb09afa0d61da4c7f39102c7673835180f42bcd63b1867025f100f7cefd80e9bec5c62208164f5331bcfb90bc61471d3d2e42a1eb016fd665b500ad6849ebf40298f0487884ee87aae51d48185c367f86f5fed45476e7d3b4f100776e6151a12f2ba2026b1bbe78bed3903cf0f64f9bb8b92e33078f833b44bd0042c9c5f9ad64085b440b89ebfb2f11f29e3eb6eb8a01e71bceabc131cc869800681d9d9bc7001131483bb8252cd2db5f723c5cf3a44eea43f5d08a350df42a00e6883ff864c21f311de830ac0c8fd71a10cafd53262f2246c7111e9c222aae00989b74e44d9d1247353107f37477180a1a6628931e336fc455862aa86c99fb00afa83d6bc389f40b4a640c34eb5d34eb4ca3f7cad06c2f035045723b08aa9300dd9c8b49737a547fa8a7bd24cb9bc4ea474d87bc8d3162a1477e91fa8a3b11004edfbe13c3475d2c4630586f08b080163c867f4df4e6b681ff7322eb776f850006329f844ed55a4100b95be7fa003ae90a3985205bd88391774c2c58ff4048003d81326ab139d4405437bd1586e9eddfa27bf3813d263dfa60218d41a691e000cd630137145bc511fbc6c0059bd8d5cbc0252ef52080d02b2955ba0672384e00ec4a5362be57fa11bddc061391993783a49284feb6ed5d1e635421d30db85c0096c1e1b2587fd6fce320e0c4870be879a33768ffaaf7586f03be5dde7db9b0009b969e54b00ed9c68971df7ad39ce4db1597fffd502542c09a74ef5fc28330003c572ea3e8b5935c65e4842ce87113da7ea922e9f5a1e10fa6630e1333be3300757e39df5826f0d75583a99759b06b738f4148662ad0a54741a851e7c3c9530013a68a5b5cd9de7ea91b764b987a291f547e966c2cf4844420b132ccf2981200116b74940da764891c79c63e875165fb29c0d56212d94e50d0c23416448b7000b55ff52ff35b7c899fb0f40144408c356b47562c6413ca8cc4438aa7505844005aaa5338d6fdb075e01da1a9c3e4ab4eb80badb4d79712c6947604fa3a16e60008a8754c3e071025122be1385d37d10f1276b0ecfe7bc80905ee5cd0d77fe300e55a41f15c3123ee7f9dc2c0444cbf4979a6b696f45d649f778bc3e862d4ca00ed54521c9cac9b5ee8ea3bcbd5011901ddf9d1b759829c0e83510a6dad185300ba03aa6f057aa9bef58e6175be99e728b1be4d47da977b0ff66b4f2c6f9bb500774c0f0216461ebc7f42e5208000d92b3091d203deaa04a009b937cabe458d00f27e09d7530aacbe7673dcbbb3983c532e11d6217c4c63c0ed64886656c4f7009d8629871eb3473ec210dda66f8ddbac52555c9584c229f9a59f0d040b278b0015b2b825ad21318bc94dbb884220e36b3a5246adf4d575bfe76059670de1ea00998563dc7e6ad804e1d10af698ff830b359a00cb500dd9543b9f12730d717700e89d24b299e149f6dcd8a96641c920d1246632821f1efba9b2d7837dea49ef0046060baa697300d1286c96e4d2fa492c12d00f080eabf32fc6808e27c58cdc00b6eef5057b880d7849137f187b994d6c07a63679cdf59d0883b1c3488f821200728dc02226714a8c430de6d99945169331e08d06f6aa5abf095303b84b7a420072cbd7ddbe93008aeaa48dd6abf19772b724f61ae8c3c23ec826d971be860e000b6d24eff30741fb1d54cc2308bf10b1bc0fa8c43758bec24d14a7a3533f0300aaf9323c7ad2d153740f600452121a5a3ef8fca1fcfeb1cfc973fb5aa249c500f46d7b848efb40730ec7c9eff0fb515e4722c01b69f69fc2c98b30b395b18d004352e68ac911dd294dd264f90c0711f702b92b252ddc53cd59a9cdfaae9d0e002609a2340c7931be33b425d058cf5a85167228574f8b3f25206614cb333a670086aa973b6516a009fc88a5fccbe04e42eb4e6b89ff6d943bf678419dbd823c007c82aff089ccd952de425807b622f221f7aa7d0eb129ea5f3d5a349c14992d0044aa60b2cf8ef5a5c94f28bbfb480c3e486fa8616882be115070d093ed4ec30086e0b033c832115bd6903fd7046d7c87cf82afa1fff2ed97c10e6b3297765900a2535d2e377402db13ca44217f0bcd612a29c47a270436fdb6496390f2164a003e35c13b1d3e186c682c1a1306e911c2c8cf985488d3ee09136b2fc9ef3654004cd42c706f4463301adb32dd325df2d944cd26296f702c0d4255a231a40f2400b797d7407391ac67ba7dbda8d58d4aa849e975cd5346c8e887cd279c9b112d0049a8cc938b70233cf1e862e4a2a08265bda93da2dde5528285af5a4ff770aa002ca090ee90a25b91b800ba494a8332b26f3845a34a10c0208c03228971397600f41599e6a82d1cc020cbb2b64f5b8239970eb9cadd544c949d06d7a78e1c8200f635c994ac04896a7d432c8dce5bc0d81b348b7ed0dc3cfff38b257fa140df00b21c3abbcfb3769feea349f2a161e9d2d0222e495c6b66eb64f59aae1caa56009afd69e293a6ed1561481cb2294419381d981375e9adedc26c8d61afc39e8a003ff27239b4a5a1b380e73285f3d8b301c4a6276e5a3d261707121e5e6feaa800c89d3284926fc0e641810d007d3334545f20f7c3fc06fbe7becf051bacd86000272a5214f8fd5c12f509c242179d537f8c2c9a43e748255df0f1fd5da51e4200d4d12ee83b69a1a2793a9b99bd72f0606f2b6544dcb56409fa2da0f2d1835300a28d08a20589eb72f755c9d5a7570c2d5ad24514e9f027838047dfe6a3aff200ddfe1f329b637645f2928db93f67e0e49b7d63e98c7c3de6b998896351e0a9005f1934544bd91884f20ff31c32ea3e35ee8f0f548039daf58caaf607d4610900a1104c48a11fa89a511b840bff3aebba75d00657906c869188b79f90910ad1007ad6287eec4f5e9da686714cc22e84b41c68aceaa536a943126f975dc4c56400a300ca8d4c5959a4ab9f50fc45624256c6cd24655d7f84162d0606ba10f1d000955dde0a5087a8c442e518f68fa6445c74cdc611345343ce35fa0d3c443c48009081230f0fedb08f2a9ff5840b874a2d11a8f415048234c439a9492e9a3dac004d5d29b741ce529e3eaef1ecaafb446b5630bf66f042e78b5b5dbc2ac8d6bf004b22c2d6678cf5884f9617ea810a3dc088c69f9145ab85f3314192390d79e300fa772ccbe5c7092ca713fbbdfbe89599eb1024be7f3ba98332efd564561db4004624ce97895512477cd5fd5cdc1241f028ece40c42b6185ebf09663860301b006a4dcac782d1f9934b28fe6a2e9a9373d085ac3202dd9a63bcb6f24c60a3db00365d185c32fb05ed3f7b17926eda3ed77e776fb037378332889c82b1bbec8400c6c50e38f7ee8fd773f267f30d8900cd5c9f07fa96a5a8ad023b4a51aadf780076a96a54b780379bfdd184f03ab3492786878115f389fbe1759d07321f5f420012523f41df3ac3ec2e50efa92aac32b3e41bf4b7495e7549e20b6d8f58d6ab00dfedd2cce01b2672eeecdbfa3d976835367be99e1ef6207b1fef890ebda50300b49911e367e245617cbd40f5dacc653c671a463c39c5745f0376212221865800ae7ac91cd4ed83c708720c4e83ab0b68c970ab29c834f9fe9a2dacd2268ecb005c922736729538d5000096d25fed442c311033f5014e0a86c7f5959a08c81e00ad4f989cf648ec072f811bf23b9ca71d2de39fba72265e5dedafbffb3e53a80096b5ec5dc83734a2b0df6ce7e6d56a9cc989be38648b97a06ede5e05b360ef00d637c60d42821b1f3de7c1eabdc6f8116c37c8f442991b2a6c449a42bbe60f0035013d3d094b210b2d3ba65f2a45e5f86e9522880300c2cfbeb310e64853a8007522cff8239f1cb2af54c37755eb5dc8e8955cd2426359b8068ecd1289e45b00bc6c12bec17325c3bd376526888481faef2e71cd2b18207b5a0ab7fd8cddae00e966d03e9fd4c567a0aa80c7dc39d8061dedc44b38bcd220be64730df988b90089ba069d8c48541f3f3ffd64842cc6d0bc765881f6bce77a006689b9dbcd2a003b06a41eb472569b7174253b099f88373b17a15eb586d884effbf778de68a200d2a29b4057dbc6465874a89bea7364ea4a9cd3ef3f6b11adb4ba5aee71256200fbb2e140a91188ccdf8bd8d52fb06daef3f6c2c98cb3e79c32ed808d0bd50e000bea6b1a075858fd9ecad9e51e74e996ff14b113d6e1a8686148582a0193ba0037acaf83604684beb1c6d2ea91a61ef62754da8ee9c6767b34e1dc97ec38900024d8c30e3982594226c039aecd46aad4f67b3d1a31c5ab053816a6a6e56c2d00dffd763f7739a32a39a0b15b0b1cfd27efab0229a2f0611de19b61644a7aeb0010008c268d60c4df544cce1d2000c2602d8669cdd8f605edf6a71429b038d700df47828904a0823eabdd0aef7adc011171edea52f4343d2d5a2533d6c1b2a70023348097b206227b7f61b651fb2e678077d1f4843ca8b114e0d541712fa2c8007b456a1dea19ed3110e5726f494360b652f72fa4c217324637912f3fe6fd9400b0794679c0c84eff452d5c7002db32700e5bb8a1e1b8b691dbf897062dcc2700830c1cfc70d8ecadfc0e5e563cfb5c61d43088fb44d6b89de17f090ed165f100f5fa3991fbbf2dbd6b15dee8d3f31198f107096ffe31d6a87107fd6dd1508400800fb398f37caa2006e69a7095fe9a0998bbbfd20ff8eea8585cb47189702f00434aba335771ec2537390548cce4417d130ff6259060e10e6dfe0351435213009f70c478170d8af61be95c32f4534751bc23741a499dfe0b39b9b460efad7200646d0861febf1c316859a4a60f83dba2c09143e1fb51fba3b39ac360d70d8a008a377240b66e42e2b7b966f9115c7ffd9667b8bca1c3151091ea5c838da77000403a4c4b64f95f12ab6a07419850be58c6d6bef5974149b4c6f2b23cd7162400d15eeeda229242479af09ce67fd8af15e0d6d820c7f306000f01e39373763a007cfd87c7dc3f25d895b6ca28195293d525d7aa9cfead81638109524c332554005fd9c5eb7cbef5a437e552c50094dfce7784c19a7cda36499c0ee9e8bb4b0f00c9d03508419ef777767837eb4d1165a0227fd584b6a7ce73391602b9fd9ab100d2c6dfa23f5e1bc369039e530f3d8a33f57bc58f88dca3c70452da0a2048cd003962260ef946c8d7bb0f3e7a651efc583bd1cdfa922d959b18a52d8efb7c0a00d8a3861da52b7e256688d7cdb2dc84a8cbd9be39fd0fc4535bf0745230d1d800f45db3a172c495ec97982f3baf1d87cc1b730e9beec1c223e7a7fe3daa7a7c009a4cdc93a7cffa153c69d984dbb46eb8894ce8cf70c79d8578ed48eb7a809c00f2c918480d76a628af1f85d2dc60a6f6dd7a105d5998cc3c09e9622425e46000fd5bfa3173a1b09e38f6557f7c7baa16438805adbbb24e94ce2d469375b85f003b390efde3b745b58fb531628e5c41a8f817cec7e23ad23bcdf2bf51847d9b00337affba0c6f252d57d71cb0a6c8d621ad51cc59b0cb6c1cd4e39b2310ea040090a2897e2e4ebf69eab1e4bff512b92090f2170c9b1ae42fbe74ccaf50f2ec008aa407c86fdfe1b93447f0814ba8e81bf570e1617bc2f5e2a34805b4111d58006b14a2128c17bac644025764c00f8e99014f4adedcd145e646f779ebb5749c00e909603965cfc41776e5ed9f2737f0808d4022826c10df8a983ad0d4f205fb002998e0a00421e6729ec1f2fd2eef37da1b8014f8df3a162b96abb25018e98100a5b74bc997ccef4b0dc68fc3492f49fe4a77198053f5f41079e579108a929000e5a371c7f2d82e7950b6e36754f18cab0730cb1c3fca5e1f2f7d92f89758bd00163936e1d71a504094a04ccbc82c7a80e18405c41342e7228118dbb807ee05002ceb3c9e60706e4849679c64b65ae30367b73c7b8086f71aac816f82a2e2b5000fa7bd29f92c011b3d9e1a71f2c9295ac519a3649e3dfda0e7901e048b0b4800bee0c8dc1107802b3c83d990893a8060c1f528c35c793a1a803fd48654891c0059272669473c60d3f49d3c2338e7f3b4dd9549c67a90eb4edab6eea0b8c4a9006ab0244077c33e11fd3aca0757f1de9acf18470de2b7336574cb1bb6d9ac7b001007787565f696ad8e8f87f94732001df1aaf4b41faf1b378ff12df4f8336a008b78a683e88d1970c724bad71b6a395ce8358476b76080bfeb084aa1ac823100624be47891892c49249db9cd1e84795094e4ae8864168db721867db67f2249007546a9c173c90bd934dfaed3bcb395a57d3b6ca4896ca4e362359c639199b500e09ad76f623c993cd0ec4d726e915a1824c2e5412ba8d860741a0b29fd6e9700bdf53ce509fda27708aca254608a022aea900e12a5d807d9b70fbb78b91b6900149563ee64ffca0cd3943e82c9f7a177542a98a9835b8ed206bad6403d073900ad86def90fa4d5f92cfd1957e5a18b10508a806e1d23f46c01f451a80f30d20061da6482fb8aa835c2fc3a78da0e22d84b692101217bfd6fbf523624ded69d00db52ece739ff13e1535ba1c4249b804257cdd0db73dacd121b478854317d0c006406dcd300592d9c78e3fd01f47c881a0caf9fe651998fd50c0ff80fdf4378000d5afce309bc66676559b8de9b7c5a36af7b96a50cdb743d1c8f1c47fbeb5d003000b4dc18ddbb65788a85b255612d97952abb875865a2742f436a68b4c42800a3308f6e079b5f5266e65ee536e3c5c2a282e5cfda7e6dc92ef15fb28fe468006a211aeaa1e2508401235b99a45a18a02763d5539deb84b97e969e44fd446c00d6880db61bdf5d753943ac6095ab7d5c84b1fc649bbaacaa8e20d72b24a01600b2642cc5531ad466b935eb9f470f8587280d5f8a75777f5e9e2d96c8fb43cd007afb6481744656b0975b9c734841eca35966b63b6a04fa492de538f9b4582c00632fe7dea6406c1ccf382b0226a087ddab4f87d976b3c4e8a54d03a911e9f100aee0110494e26c6267b8f2ac66478bfaf3988aaa05f403555b9c8ebf107a41005835b97bb1f67c0660f472673d775458af3cb2bebed814465d3b1088555082003dead960b70a304c8944cd83b0ed4c5b63d555a0d7b957105ce4a1dd1583c300730704b74570926144a2192be8f57f12f03b58816a3ccab300cff054f6740d00dd8f8f59a919cd99ac3304be1f8a4530000abd323045a1afa2c420cf86eb49003eae85ae4aa7b93d968a3a3988f9bb52a5884ceb42d6ffe60f1c7ad06d182700a520750f87dea872450039d428c50743349ba1f77368aca06d26e1ae2dfc6400d9284674fbb45275c0e22815975b11cd6c27eb7a5ee27d06c6f5d6faa2d22000525126ee81ceee05ef6d542f80e2d0404f8ed398b0e9735415334b2e56862f00b48257b26ed4ebbcd6bf42579cebc9f2cf022f08ab86482452dc9fd58d1772006d6a7aa217bebe4691783374bbda1110ef84dff0f7f7eb843f2066ee8299d600b982f2bf89805d7038ccd945a52b6b25a60cd34d91c820265fcef22826492a00c1c3c285d152c9e6249a5a0acecb65acd8757cf0cd73e5df120444c24c3942001262067c1e2091678f6820a3aed73622bb9ac950a6c6df354c33c21990a160000c70ffaa98ae8ab4e531a0e1a5883dfe75cbb93eed592ea446f3fac8a2840900642440102fb9f42b32dd51aabd9c929470b8daaca7b7ff24b12269d6934939006b261e52d5bb1586f29d461808151c75243c1e1085f1a48230402a9b943cbe0018a2360ed603e3045f017eb2ac3ca935f919be95f10ee2c70bd35e920912dc00cba442e3d2b8e8f4997155533c6fdbc3376f32818ddcd9f78a2bc86e16c8f5004c2bb9505a090642ba3eba9daa9a8e34b0c776fc760897142086468f9da5f900d10940d5f46ad198c31a1bc3807fb468a537f23c900fba536c21baedb13c87006bd98b6beb86b5cbd694c9600a097ff4d1f700f27a16ba8785c546cbb160d100fdec72c7eb6c30425184b138b48430f04260859445fa3f534b306d48265e0200f934d746976317b6a4d1b1a58cf269286f9b029b2ba31b25fa67007bd2ad8400b5d0cac822e1459addd5cff3cf85259367443cdd39158c43e9117e45ceb2e700f9511a7ec18f7fcb352a52430a8dfa9ad3068ecc83ebff99f41483e114fccb00235570b4483ca8a83cae0b703ce14249c18c6082a2b28e7170093a022a4a1700d0b1a9ae4a76f354f9f00fb711f01d2c1a29a922a7f2724c055ce39b6c88840024d8ffc4931a634dbfc033f184ddb1f676a611e6bf2c64e95396da64a7e60000a2a58e6efdb06f4f8b7b5fdf489ef1448d2c0c39021d005fe2e0150b2de24e00532098cddfb3489523a61963f78c6467b939cde667e7d07307d80959b040e5009935e12c8346f631e7a5b614aabbbc8f56ed8ef6ccf5f28eb86a3a4d1a69c600cb0bd6752a5c5f9392da944746376a3b6a502fcf97c7baae6becc46f554ef100cb15bc475c32cb41c2e588b47ded48c255891a5441e1d4db31b16d57d1bd7100ea7626ba23e5977bec42dd3bf136ab375cbda1c5e56b5f12cdea3b8e1245b5008cb2902549d149878cf5473fcbc0176a222ced3c212b5c0d8ad81638d73fa800946962663df8e4d1d8e9a38637379721a5cd87f6a069a177403a31ddde4cf400b265c7931db1de53bfbf91fd858c5591989b2f7b2ad92b0565d02459435bee000021c56362aa29091af07597aeeb51179f4416e60d43857e405e567a6eeb770044567bce317d2ad10a4a7c35ab67007daae3ed95776ca0160d16c7c9d21b670048f80ae145f1e3f8c3177a4650e622b126dc9164496bd072b4de9d2d20b8b0009399fc63a823ea7287e8a9da8182015bf39f0545393ea6ceba360df71190d900f3ce43a2b6bfb7790c6593ac3451b5033ecc21d3abf5ef608f401d8757236c009a75161684f0cf6c8976656550c64aa0c6b65a75f7f83cebd907da924d50ce00735657aba17ad362e56c25b2765dc2cb2038dba168d78ec835559f50277b58004ab0d83c154562a03254365c750f82825d91f302136ae2d33ca2bcbc87cab80005de9d1254b41e354066872e7f11478f7323c260e870210440eb55adcb4d410059610a6103ce375b9ffa7dd97c7b8e516e965cd81da3edbaa48a1ed25c66060020617466b6bbfe148cbe8c82c7543c95631607b8d107e35e0482173b781980004fe56d294d6348a70200a576068e5e4dc808a0b30d5cb5bc5e3032849a908a005ff467c407da6d6fad19162ad93b8f4b9ec67831348f6cd671cf252d1dd7e100ee97ccf83efaaa6addf0d09458c613b81468eb68258aac8c4432f477c2683200fb36bd1bda9e02f5b4672d5b9b7bf11f98cb73ed06ef5acfe5c5978942b7b10092e9515f5bf3525278bcd90a081852a772b9454d565bf0a299dbe5cdc678c70022581337ef7fc729327e17a5261dfcb3326df05927297b98da93eb80b214430055e820e02793c9bba63bc59b8900c7c1d9abe222bde56659b9b32b028b962000419413c401fbe2f3f778bdd18cfa7a5947830dff73108d3a8630b3aec8a0a4003698f0b79dc5338c98182eae048b1a46c2654564a1eba3610cd3b9a2e44a02009026723288887944bc05cc93d97ddc4bd782dad5a3ea3f8d476bada28441840036366e860cc3ad2b1a882147fee739f4648f4118d77de43eff4210ec684f0d00a2573baf208102cf5568df51725215319b44f3179e499b978af608fc52880e003a9505e8b60d619c56e140c66cc7c2b10c685958bf784f16d25cace293537c0001a8c63158674600a22fc23a3e95f17ded62d66965be7880fea04867642f8700eada0daf7618e9de7738acc204928305787181bcca95d022619b75f4ce2cfc0095814b72ab4aad4670ffe1db049770e0907ec04e409855c119328fc81f8cb7007b4aabc953a978f475ed84d7accbb95483dbdecb0eded7b504a8a70180b6d700f8ac922bca178114851d4ddf4da92e4cd7c0a62e0a9b13d8fee2039e1c7e5700e731042d91d05280fd7d5252663dd0de744eb43d4cb457adca01e873bc286100505314843fe79c5b82e081412a2c1b4c416df9411f4a5a81b0ec3696c8058300a08304339468cb8a4c6e2c77b8e76310493c99f52ac26851c4140b778aecb7009b593903d551d19c17f7ed984106b77338b8e495a98f81b269cbce68f2a2a10011ffd6642063b8d2c058a97608278ed74c6d2fb1fc55abcb9edd8b44fa499d0052446a278a507a33bfeebc39b005aab97b572124e509394f3530a4e0641bc6000fff28ca446cec2239322153f5dbf0b9b699e20b5ea9c3966c41186e9c9f1400a731f4b2d13ff6864a3af66fb2403e0a2c47ed7e2de452c27ad0e8b3c2ac240092bd86c12c0eeb6d652916bebe587fc9891de1244d3dee13d322a71d056e4b009ad9b9038985cf6d9a053ae08b7792bb26b96304f93b9f73ef1d2644d6875200242c512597fb8bf29f6da08dfc1fb0600665c85297564d56ab9f3585ecd88e00fb696b737dc3fa67afbc3a3a78e832498144fb151d4b7bc0c8a6a971e34278005d8be97852bd870f896311f42a1d563e2676b85b2860d0146577046a08795800e8e616ebfb5c034f930e5597a2aa97e1fad3cff88113442f4a34ae2e30448f008ee9a3cdbe66a79e3ca265df902cfdf9dd6058aba78270bc087f51f334fb2e001df28921803b9cf79154523ebd2c93400e07f14e70653e81c7dd949eb99eca000c89ec9ecf4c46ce41ce4f7ca542ed803eea20d4daf913bff3d08dbb13c44e00ee1ffa0b9d4560344dfb513e3b8f994cde73ec3cd5f63f0da877cfee90c76800a1ba30dfd7f0d23db2219fc58b8bd6421f7217815a53fca959130c650bbd28000e1880f8d60a4d71a3685acec773fcee7b5d770f4586991e73110fe008fdb800afa7958c3050d28440eaf65597e67cad66e760ed6d63725a95e60f5e5f642e0011045551289c6390ace93df357aea9b7372124da706094234d964b7a16dee800c063ebb113355c1dd8ca9afd7007a0b0b70dff68686076b74fd589c3f79cd70002068d142a037ec79fce11e85d734f32838c22f70314dd5fee9f2e7798e8f90052cdefbb45cb5125efb6c38023fa2aca5589f55748d0c9897f92f7384508e2006da2fa7ae2ab00f1ea9d2e89111749f0b73071089a40afa4695d8b2dfde2f2001bacc8f2684ea095eb64bee5aeb3b9a9679cbe08afdebc2e989ea4274bb91b0006ed65448ee62eaf197ad8bf5bd3fae1a4e371bb91764ca430dc8062ed208000a6d57520eee85fe3b7d7d588e1e687dc486af9cdcc749accb0f8b1e489b9d100260ba831bf003db7889e5e5f12b8a37007f8446de4ad0a6bd9fc15a374eb8000b802366cd38d83fbcd0595578fb97f3f4d7f16c4e541af635d68d40ce8d8250042d79245f63dcc18f9376c49671e7ab94ca60f3c0beb7deb7f2f7a7c8303440011c41751b3459ab5658126249bc7b1e7cae31f562558f36c9a3de193ef355f00c1949de4a5e6c83ac3bf38688f73c34411a05fda7db3199077beac88a05d0800d2093667964c2056402d35b2291e8d5c1ef8751a191003e14b0108abb291090012d9edb97449db44d91bfe9d4edb5ca14e051849cb5d4b6c4262d8430f2d3900b17c0042c7125ca31a537d6a573f7aeb6a0558d22e95db1a4e28fae37c820c0091f9d51ad824bb01671fa0fee14d91b2b30802eb9e0ae8dc653bbd7143c5fe002310bbf1c44d2ab6826a73ea9894113f52b0418b89597d76df71ade0c05b170050c6bc8c8abd2e2f5b4f97f01f35431b28489e54dc6d88abcb74ee88f512a700b5317ff52115186cbe2eb66b670f5278695da24430e1b80cffa8ba7a7d79f200da6e0a8a34d9e17a5f45d40c1261d61d48fc6763d46a90ecf6825994d260e5005560a6ec622068794767e43f6faaf01b723f5b30541f1990d1ebb51741251d003a9957f4f8ff7768c754a5c00ca3b0620318cc77a63ad2993e004fe0ff05b600d4c87bc7e9baccb5ec6374f186276fe62255abaca01c1905de11ad7f0e09970082d16fe277a01b5311007cff8bfdb759d3bb08add52a8dd8f962d97e9e50ee0024bbecb2b3b3ff21c33560cade35605b699a3b2fa202c213575292bd208d92003e8abbe29c4c0177cb012446253ccb47d17bbe74ef97793c6bdb9c4d1189050009914b13d9d9e3615d2fd66c47f062ce8f56d3226e72de286d8d0f0b1cf96c00a45f1cd784cbf6ab6fe04ec663047b591615c8ce199657374dbda2226d6a7800eb93a17cf522699d83a4ac0fee70f537be96b050d82ec1a8040a8a8e4f036000101a61d5bf3629d745ccef72c512b0d62cb1bb10b3c872fe1ac858fd0fe19400c4a35bbf49ab12df22b877f1b76a801e9e28931eddb462b664704dddf25e8a0029896150f05af9f69b088a83c339661b4f44759b10b600154c57e92470f16300cf51633b356053fdb5fbbe630a01c04474defc67d388d2625793fd63926463005f703b8cc2656fb1944f0739b57abc01f374a7ea19f04d5de1a1ed09bcfdb1002222cae7d8f6dc2e7a8e3d02a35744bf95732e45a29d4a7b57fd6439af91230046b860970aef903d6869ff2971907363ea8eeaf2f7c126badb009603b3b0e400b1d9333571d1fbba9985348faee56c529a35f3a4db6c77e7b6f9c5dd6f695b00b0498d17bf45c54c1462e9a370ec168cfcd7dda7aebccce97368146b73bdf6004a81e9b54455b716e357e75183148ff0ebccde822ff420a9b6f914d611d8da0051c3fb41db46a911a53f3b2a26da458e47d1c216b90ab91383b608a3d2cbaf00cc147b5a91fea024454b64c8283487f7847dbb1a11f437ef34f2ba768e3835000d8188aa463d09a55246e2a48ed7b63ecc03c75dc579171e4c06f47c9a3f10009b9c96cf0d462c84744b2165ca9a87e5224e83f26c140997dee99bdcf320b1006a59f9f1fd66e19a20a1e7020e65fbaaba7189efbc6f8881ea0be420a4af2c00d7ec355f58e72b7c07fe5c0aa1a4404ea36ef378d14f16cffb711024df67e8009005336fb3f25f47d08c37c649df97faf45dbbc842b616fced53aa2a67a83b0094914a34462e76f333891a3fcaf8765d38f7436db30bb945cdbed1dfb0caa2000fc5f580d142a8bbc3592238c4825a858dadd6273a5f6972c38a37d7c8c17c004fd4af37c05969697e939d8ead1b991f5ca3d77377fafa1ab95860e5223b82006a3b44382d3fbb82e858aec55265fadaa101982a253843d50fd13e12ea080f006c190f6bfca892df6264cd9afdb102f54e05e7be847311def1e60fb3b3acb9003b3f2b435fcaa57738aa83e64d38f36ff1e2f16c2a5a24a51717306ed32f7b001093601a4bd5062e26f3c348c36b8a21903e74737035de44d862c359ebf55d006db606a17a43195a068cba54ce07160b7504bc3389ef2c300ed4bcf3529fab00ec49f16f1f4f3981ec96ea419319184bfa7b760ca8e3e0251eeab0c218463a00b583edf2b8298301bbb1490ee03df8cd095c6a7554beab34a66487601fe7e70072acee90ca0fd7329efac5e932f5792cc20b38a77e694f54ff9777bb8bfa9c00e067ae9a6cc8263420240a882fbac19c53a2734dd4269d52e664eece5f704000a360f3b79cbf4bac1fe95a7177ad2e38462fc4930cd0f5a0bc030d14b57c6b00e3383df2aaaa39d84dd857a3253daf8d27c0ff31df6d616da0e8d8ad2782b300586f5f8c2c0e25b9920c7066b532019377036dd4e434fbdf9ded1fae04c6af00f56248f5b67a176f819aa99b4f30509d860a4671af6b52a176edc52c544da8005e62bc635f58c4b49d6314f15aaca2a3600f82248ee13a9c24e8a4f64f259500e866175dbf6e118675fcf7318445ebf56c0fd18c6be64f7a804ccbd31cec8300dbcad3722306adf71f80fae0f109b125593792dba4404508a1b7d39c869f5d0082d0eaeee217f61a8cadf14c4c13561040f5f446c7c16c84bfe1cc520b5b3b0083aea91a470918806e935cbee197cef68bf5b961efe51f5ddff6a895ebbeb10029eedd0c94cffd5287af29a1d4113f7a0a0ed55a3046e6b118c1e7edb7e9ab00cad28f8bfba12b316d27374c940d0e7cd987dd2b2e94583c7115110de862f100716959871989c921255f89b2ec0c5907d1979a3b79f614af9a47ca36a1b77e005b999e728514707973b52991760534c53787ad5c3dfd00cd32511cc83e15d6009dee01e833a4af0fc915242347caca293552c0194cb56d63eaccae5db050d5006f723361cf54065a38d7687099a16e5010d7c4104ecb79514785badb943ece00cc1311c56340a743599add56ec6f33d7669a3fb56cc01eb0eb70f5d975060300bbe0d22c048d8e41977fa6e7ec241639f48deb9cd88e0062d8e50aa2a0a21d0025923f54349d333ab37ff5ea352ad9fc7ec96fa1074b122c372525c76ecbf800283311a661039fe788f5b5d27b55d5284b78a28350a29564778ad4c7e328a3008f7e71dfb31d653600676b8670d819fe4e794424fd43981ef03c9df8ddb20a0090a75c7149b350187e11b2fea3d11639fae332a24da63e3999d9c5eb24807c00c727fffeacfa8fe25972394ec0b915ffc1138fcfd35cce9799f479596fc4ad006209eb3aee1bc43a8fb096f1d35e0140c667fe50c951bb0c1bfcb7b280352e00792b292226bccaf0416bccccad74ed15154ee805fbd939b02f1bafc937f64200111fa1da0eb009c4ca34aaa1969c65560168bda66c17f7b1a933e380fa9b4a004fc0c1f4fd16e4c50805dd41d0a1455d45fb8298f5e6a263e86b00eeb5a61800fb3dea4391f42c44453e628a61687cd2d5cab3ed5a0bed6ebf68b1851aba080025cbaa366b6258561edef1165f1d1130f4aca400b5094986db29f7415123e10045a6fabf5313212a102dee5e1350a0e5fadd39f9280d690c04b496342cf6e5002eced5d90055d5600e56fbe6cd0dc5dd9391d30f5efafd68e8a641f7254885007b3edfcdb1a07c8e64dc37183c31251d189e21010bf5b5194c9870981c5ecb00d6db9716aea5261215307db0b2cae202ddd90e7614081bc834acb2ffb3dc4200bb5089b4aaa08fbe89bc63babe5dfad19416e1a593c34fd22278399f3e78010020a84bc6122bb500b873fd05c68356e1db93b315eccacf31bbbb100432e107002db004f2c09eb385a5e8458092d6710e3142ed0732973712c31d5ee9be71e90002d7dd484a85329e270fc06269c7e01ef82d60826ac0334dc09776aba3760a00ca237bbe9e8500d9e7bcdb0c9c6dcb32e6bebba5ffa9ed63a08255abdb888f00250315032e8cf82b4841d190bff832fa85df307e8946e4a622989f46903db80090488b5afd3292156ed892e53f1a977cb9f94af90bffdff5ab79b9115d390600c49c1dc15ed05da23aa39a4f03ead5179ab875aa1e1037a66092d345af0403004c8a6d53f345f680a3d30e929ced354f44db9d9d5a5428e38ab4e9e4aec3d30071bb02367e7bd9f36ca22c4b9f80440bde3bc36e36b11285aaf99c28a0caf800d857453738f241632626c5295c313d8a8ae04ee52a1eb9ec1e90ce862271f90060b87c597612ed2712efd34de3865230ed8258ec377464bcb7139a2023750e008aed9de2f3ceb4172204d83b914a0c9bfdef777d6e074401c9fe526d2b6f95001c1363325bdbacb2af3a07c587697896c665079cd3fb25924add867e05339d004a04d17a31d30f311ff6547c1394952c2e21825dbd7e59908826718ecfa1820049387f50f2593364d32f1aee643f4972c24f0c99cbdd388e0b8e7c359cbf2a00da0952bf051b5c604fa8be1d508ea4874a2cb74ed7028d9d2c59536e570dbd0071edb75b4e8c8a7a132bd1b56b090dc198ce07f6c8380f84be5336d2d1502a006df150688d7ed0a06cce31d69b99aea68d1c7bbc67b08d65c5bc43be7c753d009c57ae509ad1b45049ebcb7c531d645b94cb094e129d08b8fc2a4228f1e5c500e6b453f394201f0d067cbab59fd78fe703baf436dedc5259710dabd28d6d5c00c5a7fbd140cc79850bb2b1a47744fa12441ec0aca28253064d2f60f2f630540013987fd3ec77b955d3f4475b86c315c8d27a7452d75214c6bacf2c9a645b2a00652f2c0a9c86e774e0dea3c9f9b9d0427123050788a07ba1769d2ddaa2415f008cf9545b8cd867a6e7d1990034ce5cc3c5c95122dd14d0ff248fb2cbdca16b00e6847cfb5a246d536767553d1c660f92ca17eed81d9cf3dd4ffdfce476f7b900bc977fee97c3edb56ed388c958fcb377f2f11db351895378edffedd177e78b00bc1cbf5ccef0b1a2610ee7ccd37679ecec1b9673b2109ceb2ac34e0437fe50005d1067f80415820e15e5d0670bc776d93b7fe2c948be5cb5d7b959cbc5b640005ec8cf3a1f259fabc5e90a6c5ebee4ea933c2aa62b8d14bf9f3b1204f2bdd3003f0a38170c0259d6f81d236768b75ed3761a625159d26c495ddd80f3295ac0005656f24fd612fef7a3a96177928e953e1ec9c171b3d16521bed405ae93f4f000ede6fd35843a8cdb7bfb825a2742f742831627155aaf8cb13e8c5e9d8d819e009800ef874d1ba8abc33d7f7bd0fb1b477432af9aca5c93aa75fa62482304a20075180d4ae92ce78c3a14d0e8bbceeb81258a9e324cc4c0cdc22a7cfa6dab54005117f695d505bee467d243f23f137b77ba0380e07a02ad647113b537f27552000e3e6c7ad7b4085a51d88f73918afece830912f4e42ff10fdaee9a5a35203e006f580880fe96e81dc76a650fe8a958de800c607aa04afc9c9624081a6fddcc00ba58f608807c8736e5a0322650cbe9bb670d02289ab34021627a77911b9bda000602121efd792ba67847bb83cb371ee2cb1e066e2727c4b26d9d943528fbde001a114976844edf0de25abb7f7340c6381828de4b7c75b176bd523fcf1a7e6300e1043ea59d3ffbcb601670347db61e7ab0266313f901f1f676487c59ba58d30056e2bb0f5b86e66bdde5d48be82718b6635671299a22d6df14a341ed906ce70022a1595c000ca11e5193c997d200043e513aad3500930ade0a2bf67e1fb58f00e4ea94ea82c53110235c9254a10324c1abc096e38cae96ccb5a3f3babf37a2007f89ffb2ccc522a0b877b9cb8cf0f3dfb6d7eae1cc6c947a14f1c0ee53fcdd007b5db40352ee1772bbe93db7357d86126d5f7941924639b263e4a9f8b6c64500f3026a63582f65404a66a5b166d634d5a3c66771f9ee15cdfcd51c7459355400a4658184497d6dd8183997357ad1f57e76afe3bba0c5848160f618ce2aab3a00d24b76f415cd1d58bfc858721723198eab379a2ff061a38e0ff261e84b813a00f1897c274e55ecabf17d6d09bee5b8a77a9662269fbb76de0e8298c91decae004e6c80270f69637696f2f0e4e16de11d3884e6b88b4c078bc0840bd1f2e65600578cf81286612e1257dc9d77b9f54eeff5069d1b9a61275e591bce6316c323006ce24799c072a2ef2711e9be14682c9bdc494b9ab760976f42507acab5731200746d2864d54b1f0a2add50032ea29afc120dee4757199e3fb1f1e8c089083e0081b9ed2bb8f7fc135f57ebcd1d580fdb00f4039c9f173989fbcf3ed6a782b400234274e81b72d4997f5aa2ac0aa4f26ceecbd2b736bac80708abec87a7096c00f04814307975ad449b080b94689ef5384dca4427786b77bf9dea3bfd6e8530007f10da977e2cd568fcf952d4eb3f31b92022cc48bf092c84b8d8cb9704f22000b27802e5891a83a3dc689d3c6fddb9945ea6f24c680d5f0b6fc4686891411500962aff6c18312218a484803824f0d05725c01ad6323263f240955067f8813c0012301fc95bf2f876ab04a8a6f301380ec05ffa38f2b412c678956f32cec2bd0025fb2c2b1d8e12ecc8ca2d90c0f5531b87e15d35a2f37de0cbe820e760f51600185a90e65f6356b689850799143807394dd153fb7081733f0315ea1c027a8e0046c6e5625483d2d04afe63050bf958a82e641c5236db50768d3482775eb13a00d11b0856097806e784a2caadbcbb3812d7fa2527e79c98081e60ae6caaac3e000ec6ba193d212272518d17b7cbc3a2f8d3cfc2bcf575b4a6e7ab24db8c7d41001e4d690bd8c9e058e6e3cea27e8e5a62488156ab7808c8c764a12a71668d300007b9e4549d8f76922be7b17771688947583792db6cdfc0c3e14053d1410df700db7fd53411b775bc6cf3a6e710d1926a85613afb809a36d6901b2c0419b9c700add3dff2ceefc11047536ead1fb949662be08225a96f5f7d04b9cdaccff8cc0039b55afdd0860234c8995da8f13a44c0e364ce591a13117401f9c55a56cd160067c4378df996f65431e04c4b4862585841d650bae3591aba3f19da4a5c756f004c9c2cc2d34567742a94cbe63ea17115e8a5aef0306dabba19b2070861b86c00d6721a1b1ce523932a64d23d984e5cd36d7fff387ab0a5b93f4293b36285eb007c2603c293203e080adfe0f9642e7c8d1e387878f6253dff8dcfa3e38da8a50031e2ca8b407105948015ba8828e49a39f1605de6c3de52ead3a0823f9910910015074b5c97505188e203b7fd6fcc9c28c11f5c364fee6b17a998bf9b92cd9e00ad440cb0263a8327531ece8ee1660984fa990e330d0273122c85c7cfdbca5f00f5b1b1705b66ef27a7601730e539c97755cb927a06e36639c1c8dab289dc5600a997c4d685dc38ab40ca12edb753e1d512d4a17e8f1d5b0b151f085e1e7637004f425e7d89be479967ff8837ac410cdcd7b78f11d63fc40a539041f68e13610026acd7c176131b29ee3a98695a6c38732ab7dee07bc747de73088406ef20b400365a5858476b7e6bde7ea5e27e8f7251e478e7b266e708e02402c86fae834200c904ad9dec4f8daabd4f34736fb41ad88a6ecec3c8144ca50f23f4a29c7bd4005b97178d0bd0e4173d0ade2266025a18c98e29d5842906fec164bf66e011080010efdd16de62e6abc92960d40c271ff0789dafdc0e82883bd55fea6307b2af00fa0853fb08116efaa28d6761cbad10332145b267138facfaae2434ee410976000c0ede8c62b5217d601ca492b8f6d890b696d915416b735968446628ce8783003dfc779d412cf6f8fb9be8c5c27dc94f9047ce9923a11995055c7cdc1a05a4004a410e2902121eb1fa96b3313ffde49421e40e87628b0ba56f8ea816ca671f00603664fc3df69a9db6a4c48b5c8491bcfd169e1f1e2d4706c241a9b556c63800f478bd951540115fd727fc45f0cfa439255299db78a1c3fa14768a6af9804d0059c4567b55b424efb5b36091a765282a4ecbc1ab8dad6e4bc41b7ff91187c900eccb62964776e0e06afb2da9d2b94b623745b89786caba788949261a4f0992007c0ec4e0d45b7121e0f172c7a94fcf395e533f534b03b5ad1e67ed82cb6a36009a206b3b8143ca93dd464c5302f166cdd5f5e9ecfaf60af8064119ab7bf3af00aaf88aef1629ebbf02c75b505bf35e41c6fbad36e3c0aa2b320d77a1db21d500a7a562d72a8d3a78fca4a848c8245ae334432224ae73d658af38f0e2f5038c000601b19ac261d82f0ad6484fd837ff119b091573ee17c7d9873f41635b3b30003788ec862db2b2a7eb54fcdadf7758726880ef6f9cf144dfca2b33f787d655000904dec1abe6025bd1c2f2b78706fdcf8999f7d545ec801ca01c42e14bf5ad00a36c938a4d5c95c75cf1633e23ba3ebe614b2a51a64c4b23208fbf02dc68e8001859f704dbd481d53592e216369c0a3c4a1794ad0316b867dbd1aa9c95019c000383abf38d955e1a00884b5e6c24ad472c3b0f20b9af94d865c96cde6d051c00fc69a9e4fa74a4198e297474f253f3b768446b0af69aeba942f8ebfc8d4a4600bd0976f5eaed0572fb0549c25c96b5c4e1880573844fb47e9fd72da7ca943600cde90d7c6ac221857e244eda70c786acb150bd9afde562b0085f5c5cc018bf00c6c35b72279ad593347dfca911a5ba97c456c21f402d5d0a727cda385e21250061b6e70ae28e5cee8e301e62c4c86e6d0a995e4158461fa2de099ac8a7289d00c13649468b7db2a401198ac7de53cb642b9a8365618aa637dc86eea4d6ab5e00532792415da5481c33d40fd5974300a687b722ac23d40723093b423a0f545a0073d1b201885788642d4c8a3afb0639120f0c5f8290ef1308ad033aa6b4310900ed74785e4b5c88ee89e7ab25b7c5b6e4eb6ef0858d53753ee0355f12d8d2cb003420d6444fa451eaf38ea16847fdcf41160a3e5dc9e496edb5f9f55c66b05f001b4136a0df0be36d69a992b1bb5416f608661732db86284aea3f167892f16d00e9d97b00052605b758543f47b8a9e5a8ce795b9c59dd38151011fbeb57f30100572c64872fb0eabfd9324edd8810975c4646fce347086d1ef1f442a479d1d50069aae4aad0cc791751e6e8172d1fdc5df962a4cd7b401b9d4a6506e403d66e008e9fc998e933f076f2f77c40bb43e6fd5b578a853e71959737c65a3da6e5dc00dbc5df8b89e14ee4aaace9dbee7861c5e3b86084f454255546d02c366cc78900400f1947f693829f89da01751d9b90b0b9d650c03f87c1246aad18ec3584b800c8c395148cd442191117b1699fc1c252a327c0ee6416596e7d112a7c4a2da9002b1220340cfa13faa5fa4147ff21a8fdf28d3c6ee4d37a14327b35abca540500d42078e1732d8f2807b5981ae4986ad43986b41d3afddabe62de067751a292004bab592777f3e995e58a87fbcf6eef2965f4ef8b0b8cfd8500f4cf540ae9980062f1b957524fc3ed15431285fb48c9efc18f2beb49f10115d7278acecbad7600efb912914f8259aa69c0b7a3121a31f682c2d026cb0fa93ff1f226dbeb355900d1ab143f46bd55921bb04243098240ae6c9bdbfe6d6004fe934592bdb06656008004de80d38afa9031de8a06d1f4cc546df32e57baebd5417109065d48bcef00d311e691d817134a53196f78be0fdae58c951bb32ac4feb75ab27d2e8cbd9e003df600cee27b5e4b94052c8372e0e048fb6280a65287146575c7f4e31055210043d45491e3a4508ca2e7c41b0f97da5da257d1c4a951561b5687f13fc1ca6000ac8fbd333c862a921989617e55366a38f2b3a3f39285e18ba89675bac2f67400785bc02e133edb835006289c6a8f0e16bd03b5a2f337c05307f5452d065784002e1ecc15d24f6bbf529b7f53a8a5e64e84d85d31128f8124e87f2a7a317b7c00b2a72aa2198c592cd1ec5b2d58a0bf43c1cbebf6511a80265cedc5c04ebcf7007a9803717dbf457d9986524aad2ad41e09814650890e07137c55287fa05b48009ef140418b25161733b2136b0951c539db805b3da9e36d3c16489392a6030000762e6ee1ba4f4475795e6f175011c22a8cea0efb5fb73f48e137ea251a46b80081416b29def237afb0be7ecb48d82d6e5a2d016c5ead5e4c003356edf962dd007dbb6a91fc372b4ae4e7cf468a0a3d3f9437db71e06ae884f4dcd58b1c2c0b00cf2720aa875ad2548024f088eb43c9048d58b72652ea899138efd2f8dded13005a90a9e3b4809e57c0681c8bed70e7f97268183c284d7e70169ac66bd99a85002259fde9015f5db84bf9031e6e7f4ec90a81c0b450569689103f736957c91a00f9442ee9b29bbc1f2af49c6bc0f4f70b11816cca59cec1214816f04e169e1200a807a230766eba705b0c2d96157d3f34240bd7277d7645b34eca3d84b157b500f84c6de7816b3a9b4690532975b8292ed585a2b0241e1fb3f7914ca6ef7dbd008014f5a4f6ec927c1cc9e390d312ee0509f99d47f293af0ea85235a6fab576005fd64a11a1cc3893dbfaf74856a01cbab4dcf78bea6be4a4155fe127d3c5f800d6bfe91bec256905520ae84319178c99ecb31b67715909736b839a228594e700f7d29f5ba6f83cbd82694635b44f5fe126212263494705b3079b74528aa803001fc8df25a184d100558cdea197da3e73fcada770c856c373df9fb51a7423990093ca4c1c4370c8d374b7f5179c0f879bbf49f5e1f21689fe5e7ef152902343004496792b7e7e773cb3ce6ea9e9882d2041bc4be71231b0fc272fb1eae731ec00aeb0720cec8a2e116b7091fc4308f25ec5179d6d3c98d517ecb4dc3c1cf60d00714fdf52df79debfad600729a56f796846fd2dc81c2ce0f1fd8a205fbeebbe005c3c0a7a64ad3ad13a1351146470759786b8fb0be9588ddb4fb453696064c200a33eb77ee31e46b04de63759246beaf9c4e53b88723bd9ed4bbca97f57476b00b145954d6f79623f5e93ed2023a1fbfc081399f53f4e10905ed32e362607ed00597d25998d867353f2aa28e52e13cda721dfafc1b5f7544f982e78054e94e000b7c3c48945ff61a0f1a717b12cf8290c91cb6a8adf0c1ab3655a961ea3ab8600748184092b3011b4ad7b3d80c4dd6eb8af13fc0e67cc3bdaf449069fd3c3b700d85ddd314df52d17fcb8dcdde006846f252b2ecb95539af29968db3feac6db00707b1ec1093b84dfe3b2da9696ad92ac52bb497538f13af42c979f56845ec6009e1d0bfbc41d276b40dcc378e30d9b9fd896eebf4fc7bbdf7886a8a691570d003c1d75507edecb9abb726a66e645b8a2fd69783b91398a7c19068bae678caa001221c04fa7f40e15ed454b5d1150a0a293136652f2e703c5d45efd3ca345e7000daff2e776d20abd68eb01e2f9b942617b7434d1ec8ef6cb70c65e3ede0a4600d07227558263fac5acccd5e0e3953d35861993bc01e86cd70b6ae16db9d21c005e9e4375984543689da547086152fd0c49a1c1f05f1b0231f75495aeb2958300363b44be906e7bf2beab5085cfaea129eddfdf5ee152fd15403be85f424184000710f20cfa13a70e03464599bf23954ac724d100cff59ee8d4397cbdb501c9005f81473e8c9cec262eb6b3a575fefc7ccd7266ea41e318d73d4cafc59644130027aabee7dc84db3319268797f4400da1d945d0329f4fcfcc08b90268e62d980016d5920ccf6282966513b8fcb898a05c7354e7e49cdf6e0e52941960639a8d008c26863ddb62c4f2d7185dd6756c51737491f91c05abb2e82154fb41d7f6e700bf93b281058af0c7c7ad73f2876bc80b853701824593996130898909537103009a83fdc11ea77189a5c4a54d162039a54558db4c32f4aeaf50f35b8f9c5edb004576714dbae31ac926682096f6818eaf098151dfe33debebb31478d887fbac000d788802c0f118d87b8f6ff4a095c24579df905318b3ec2ec2d409924410330039eb4ad35c05e7f09fdf74ef5362d5163f5e5ea23039a1b40cbbffdad104bd008ef191df56e26166cdc856e8aa26acb302a9626db636827bc1f634937cb856000d45aa022fabf10ae387ae262426aa8df1fd712c2c65a5076a732f3058daa4003fde6f5702a3e75035384954670b954fd40015a91cea7559519c5b8b52898f0090e169f1dee321f1f697f05eb2630347f2a7ccccf25e64b7873da8d5da02ab0097bf0cca7d5a67a592c3f6fe730303b9979b59103705df67850e2ad14c1d250048069f6cf96201107c47a92f9afdb4e0193f6d3b682b3b64f597f133d5ef61008c1949db2b996d4a8a3de0d5b5f73f345211963f9359e4a91fa05a711babe900476993d61d280da82b9f3e8518e26290bfe80be549b22eb44ac792a6feac5300fc0c81727b9b4719f6803444b2a20e9fee08500248208063f7d07d6415932000054b06d8976795f992f22df45e845da71e1ee1e773478a706a8babc7596551007ada19c22f3bc463c21fbe92b549718982317ff4cfb105902585e8218eb4440092ee88a54e7f2edfb364abaaee345daa741fd43603e347a0e0e60b8565ed170075854fca9da6990b1e2575b8db10c3b68e1a219d98ff9b493606d2937cc7b400b2cd60f26a7cedb9b9934cdc53be68d81758ad59f60ea929c525ce94600cf9003a096cfaa39abe426dade313540de1e310c460a52c9d8b01a2a94e86bf934100c13e1ee491fa191513f06ec93bca4be27a5f44f53cd5b4c830269ae9f5c42400a55856b3febf6fdc064d70eb165f9662d5b7375c0caf0632648d8e4742911900e76ee76be025b67039a7b71dc629073b45eea7a5a8bc9c3d7339744a1a6d9a00b26ef3e3c8bcd755ff36b7987b1abfe147eb528b13cf4d0d4afcfc9a3add18000337d86c246d76467b28442dc68efb63ab651ae7674b237ba3c1832ca988870043bd8bc6e7facddd1a754afb183e9b9711b823bdd15e7035154d7d4280132400199da3cebb5c5dc6d377067dd2c8c6b343d2f2abe191198149c38a0be4789f00300fd630f08d5ae9e50f52e3cbff967fc85487b152f4e262aa3f40205ba5ce00fac580e24775fb5a2697edfe4cbf7d2b114b380150eb122d4ea0779418be1a0074b0bb450c27e8a68311a7d089eb94d2029a226679a78c7215118a4840d9ef00c288271cdd9fe1f8d66a7683ab30bd1f57fc9df1febd28a1f03fe518291a7e00e13c3eb1dd78fd79f6eb71657ad686d96d7bd8b3fbd75f770d965aaed5e75500e839699787dc5ff40b21345a33dc55b4c55690a77ddc26c5e00af7c3874a7c00fa5111dfbdf6cfc367dcbf52dde29e828c9dd689f841864aa3efaf6d60aaa0004a0a378de4948d05cad6b13231885bdc13d9c3bfb7178536ec8c78d9fdaa6b00be3fb13ddab56982ef167be18271dac129c04104dc6fd89ee50763c9addd2a0084c7799091d831ddb5561cb620d493147bfbca2cd2ee2dead0666b4633832100818c73c71dcad8370af10747a4b07ab1c8e372408e5f9519f5bc65d5347a120039e78118bbf3968523e72223bee8c32c2b62cc3b205952004afb6d3a89af4000135d37ed21e1f24e9b57ff0ce8b6047e3faf5e64211dd31f0762f0ed93c38e00892202e3da3270e6b864b78e0f76847fc31d74c4b0ff42dd49eb1191801aca00b84d257aa8453d318f49523aac1b70ed422a5233a3f1ecf4dd615e2b04f590001e210a7ed89d3dbfa88d091ac5c2f773354f27d41a90f730c231cb4d9e8bf3000c2a84c2165ba6d43a0e7e8845c3f173b5e168931d87b61059acc105af171f005a8bb99cd671ffa2daeccccbbd6c13eb7e868dfe56f2a440d7d08e36e9a32800b5fc279f69f56260a20d4b3ae43da5fc2625463096f45c24b405ff41dfe0630023ca0f7c98fae6966196b00995cc2e817f21a8adf5611d83ca77eb21a3eede00e103dd6af48a6604b8357d11c5814e67cfa3c03391f922f61db3a9e2c829e80005e40c209e03c7601824768c03bcabe64ef319b978e63d74c12f7399efba54007a692a24fd7cbf3aef528e3f6e570a72472272f87f68d374b81b98f537380a00a9276bcf51337234178a2289fb11b45039136576bbb172265176cb8852809a008790359d05ef4eccecce316cadc05efc88ace7f6530fa5d7fe543e12fa807e00a8b31d0c1a076a630aef7b3ed229f7828bf8c443efaeee1e6f7365ed4f805f001b01fb323d1ce45a7bb179690268b379489a41101b95f98f66b9b03149feba00ee179c1faf69665f50e5e9341894d249ac04749e71efb7a846c55b0fcc8b290092128f598f2ef7928a07a56dceeb63c16df6afcb853362b1564a9ace17511c006f34838f87859156d0c683683459acf3d738dff912523a05dfc84e29138d1c00b6de8ef1e9e882caf610678ee87dc9672735d7faf7f537c532c05b6e08cd7800544964718b9cdab0a6e5a66c53bee37d4071f3c83b425bcf95b8c609d51a9200f33ebf6ad4c711424cfacf243d4d55def983f2d8802c13c0379486752e922b0018ed4e6309ab9ccfc47d21c950d490ddca3467146d89c6cfcc69c0bfd409e9001c1345e773c706dfa0a6336bfb5dcf5df5fcfb4de2e52e48e48fa7139b55e60081ddb61f920378add877c7b6492aea1b1f9d63d460622a5db870ace004d9b300df6df9df7eb877abfd1728f6fd4073fc171ee72c2a17c317806539fb4f2c8000f6812ea48c78621d6e3195da2434679feadad1b56fa940d69831a9dd16ea71000908b0df913c55784c12c4b175033f5a79bf26733780b13ad1208ec5518b5c00bafe78d56b7cb6fd53757b581a8e0d1862be17d99a7a3ae8f7022dd3a7312f00a283c5e5f32b243af06bfb67f362d4ecbc35c1f10139752467879e522d5c99005a02531eaf5b75257d0fa3a3e8a9c56c41067f3de1e87455c585a9d5b177e700a5f002050aae0b9b09f8f25e4b931b6645da55c8111a68320b6723aea0739e00cb439a673ba819738dc3301a774b285a4444e3255e7835a38baaa8235bac4800f0b9bcf1505e2dd11fd56c6c77e813d69f991629b1a25fb16dcbf8fe29860600667436615c19c2271518adf59036a38fe83f1f44bf8b684d6e2d07d4f245550076a170a6e3fe0242cfbc15d13feed77361598da2cdcdcaaf77d07447ca960000c8fb2a2cad6c7e9aa2f5604f2e2c63f6586b10f1ce1511c4701e2a612192bb0079e8d3249f56e5c95e5a7e576551cfd845deb7dd0ee9166225ea4472405c2900b73b8120231c2dc4229d2fadaa5acd68510438921d1867d3aaa4d94a4c64920092fff98dcf4acd3b47fac83e2b774694f5c9a96182ab5a829850df449a4e5f00839e785df0512dda45eb01a93e72fdccfe6727e731b8cae5718ae2208bc776008ebbeb4496a8b8f29963830c5ded79ad05145d0f9119093d67139965afd4b800fbd71ff19197ff00091a60275c4b7d21d99ea3059fe90e3479ff16a637479c00c35c0058683effa2c7471be7a47341cb86a47f30b46cbe088e13ce8dba8b2200f0e968b274e0aed38adfecbcf825944f9e6d83f8b5329126214f6da14710f50024af539b8c2cf3375a3a0f9b4be31175bb161e57cd3a9e24b0fd53251440a7002a78a0fe43b2938d3997545b74d4f68706a2fc1d429e0798fb343919e3f8a500e5513d19eb86d23769202815bee5b6a08f59635aa7e2af53fa81e4b30da03100852aeca587b69bc8ea82cd78b7111aef06436cc466859b4dd1b48edde724e700991d5267a8b5c5d99eaad45feb6a382b121a5f124299865697107b51a2307a009d1f20fad8401a2dbdb2f41c1b43eed266912aee4082291e73534744aaccb500a60217f244afb156cbdec42c008673f6445d69cc02b9f7054a9ae29172c65f002a5db8a3c64dc901136d8ab11e697a0a8f2ddccbe5a0f364d794598252e4a700c3fa48ddb80386ecd53ab02e1a9fe3bb0a9f6115598cda2f84995887262c1f0089101bc0fd07df74e6ff971a3ad1b269de17dfa4ed09088ea34c9f1e8ffd380027813a9aefc4a1fa7026baa6fea4e74dad2053ea2a6e5b7354f685e7f3ce990028a96d51b21c02a7c0dbf61ad6b4a0f5e72eb57dea305a5c1963cd0a2fb1fa00dedd9d99b6fdd62d7d0f454a3bdc2fa5956401eb99b3ee47e0991f5b15c8da00212d93d32bea8bb24aac20b02438fd8e60fdde07af8bd3ed55600d5d840d1c008a78613869d7d19cb6caaf13eb0df68f165215169947e22fde7a9ba5d1b76a0066862d6ddbf5497da889f887ae491c7f42931d863cde27748e46ccc7d2b7130015ba90ea866846b8ac2a53c37b96def5e9c49171cdbbbe297e5a13f10b76aa00b2f1c05812f00e9b1852e0c2d559c7e93f0d944822b5aa507bc5031409cbb00064c56750ef0580d1a41161bda063e9532c106fae6090b2350eda9ed45a7500004756c54dc78805c0ae7340b11d5f4cff581c9b9990dae9e5e16482ff640cdc00b690ea5981ce9955ee06b4ad08dbf325f506171d7a4e7e4247047f16ac8122002740106cf499bafcfc1dedc3d28ca77cb055051b501f058e927648573ca5d20010e2a18b6ba2a9bb8f5ff59f0be371470778032db395090dc9d9bc07e7ba0b005dd41df474f9e19924090c1a390af2a320c3cfa73cf3ed3fced65904ff75840084adb7433458db25db3e6308a947cb4d56e83cfb68b52512edfbda2c1a27c700c7074c1e4e6cb4e52df2217cedb2b684fbff5e01c161aaf135e9d5383f3c3100edc319ae073c97070dac711d2bbdb6750caf1ab437163a16ce588430dd879a00d8acb888fc64a1b795a33dc875b829bafd8960b1f60147decd6418a233f51500a87cef9e4bf1964a9a56cc0e2c3595fc6086e32062bd7011e42ae1b53548bd00825955944c7d4c79641e0b37aa9d423e18778dbd669c3381083a878ac69d6e00f6aca96f9df7d12b6ee1a1e636405281b79acb25709da545e210c4116d8afb0068cef02de8ef3ba367f7a4f492f782d21dc77140ae11c46a78d50c36461027003e27545ee6b7bb8212161a56502f4fdb239056f61ac27316857eb003b2d7d800a35f4882be9d89160d951223bc7b8b00a0e7b917d0b95a3dd7dc45b668c84d00bb9f644a35f890fea9aaa1fab43febfd01beb67b36181b353e9c93a02735310005897075c894ba6921c0df8dcc309f9163de7e79b2381121eca9cf157a27b40036e48964e48b4ff59625de16c5028edce82a31cbe11aff3d315e9ead46693900ee6fb8f5a4fd0ff426c0d7cae57fbc73ab145df8417fe6af319f321c8784ff004abab42d22fb45117a7fc1a3159a8621a21f20b520458f44dc5afb2cf347420016566483ddcc4b35f61c288b7e5c4ddd3e2685ca66f60fe721562e5dc3dccc001870e173b1eefcb2985f31f1e65ad1e30cac7e64906e3604b59cb10cfd94de00979d07e0150d5a565a7f7632b177b01853df1e1e07e22114f78c8b036dfa3d00fdf23476294bc18ccf1452d555e192a8b8ff9e2570d25b6020733fd218f90500ceecdba335f86a6782a6834327fd37c78d610fbc5fcf78cff0bbeec6e2a25700ec42000ebec81dde4d89f33e39e55978f1f0f1cc73520a05395cce613f895700c6c17ebf70ce7f9d494ba4352f5798bc0150623f4699f293cca602d2dbc45000b95f714e80c7ee3eca5ab78f9a23d6ecf8ed4664996941f7e2e99b8f27140b004cac6fd79b6d11835a0e6f8087b48bd8146a9aaa273c34ebfb070869adb57d00c01ab8e2b347d4ea35c0896ab139d920e3be8235dc4193144ca22912b0df6d00cd69b72f686d8de777574966f3c09709300e8b81b13d08b40a879a62e186be00b5471f52801140a09aa996495d41296ea14ff70e82d893192a2385d90bb00300b06051ae3b4c9d17543d60239d0fb73597c2b22968b44c4091c52dd3cca2fc00fc485bb59ce6cf69c6a7c74757bd8edc6312e88ab468bb6c84f6dfefa13dae00cbf12d491ecb4f092df1b43268965684dcb96632ab7060f405d105b183131400643f53eebe6d29d34bba1252e8abc10149a94c8b729cd7214fb1eaa3cc061e003312bcc4e0dde61fc7e04d27c8f2328a0a3d55aff068815bebfb16c8ab45990076dd7e54c5b568d4c78c869cffa5d3a5049c5750efd6c1981f97ebf9c3fdc700bbf7604c2077dd7fb108740f017ab52bf35ff09b662f952d3e90569635108f00da972d27307b7658e9a460dc479517c0b98c4fc794d560d8d1b840b7753a580081560f1aabe6ce40ea2971df83d9a556c022979d4508e3bd3e9e3796fe146000ccb59104d870fa6c5c61199e72b16093d773f33dbec62273f1ed020669b8f800be7a6635fd5ea5175058b92be5dd630441e96a65a9b5a2fb14a105bb61732a007814cea5bf6a51e6003a650870ee30db6c6c1acd54e24e6634efd8e1c1fa8c00d2e3d886e3aa164a1ad22278e2007946170c2764a7a8221f3992c8ce9fae5200fd4c4ce7884c8ed0892be05acac8ff21c8241e6ccaeea7432238c4cf3b7f7700190d3c37a0e25a455017b800723eed28d17bd695378e3d5c7016b55a9b9cc400473892d0514df39cf20ca8f074aa6c1f4bbcfcdde78dce1fe1fbc59ae9c1a800663d41c22348787878b15fcbc662f6e7b70419e5d25f022272f756c6896f0c00b5728d3ab3cc97db9c57924b30ba5c7a3adc643fbfd3708b65e8dd211742890051e50f9239ab5db928d8c0af1358d537f63df757eeac1d145146bd289c54410071e3f205d391f89e3f7af2d99c0e1b3a1b35a522fdfa44ad715d81d664c289004a56589d92aa043de9dad11dd311bb4633a29cbaef273ef236e36ec2fa1f5800f3d8d8d294aa4f25a3fbf923931f7205abeb60828e1c8e7c16e143567c119300ad9230d2de2b9c55bbbc2aa9713b9f1f48c430e2e81ecd5ed0e875f961ad44009c6b2fe8fccfc164c8c61b3053cf6c3532b3ac136a18058ca799cdb249052500e2eb9b7b3ad0d54c2fca9f8858172c80660533e317904761651ad772c8788e008a608e309b626f7b287b45d3f58848b6a773ad214693e3265da854de6f114100488f59602a1c41f116ba5089c428672463c0787c60344bd3631ad4a2bff8e000275b6b4b938448bff66632ecbaf94ec77b3a7eb22725d40713e682cf766d14000d65b7325e0569d25524c67cf5a64a656805f03eec5b46f15ec07659446f920062c1ea12fd5f009cda8e0683ed49f0a0d5b7dfc3459f057dab8477ce53586d006de849ae427ff35f9eca8a9bf3e264f73234103caf5970803a86579328e02300081de7527e324c0c202534a08c6cc15cd53c3f95d590dcbda05ec082446e7500a328d54471f237199fba919c242a079990ccfdac5e97ac32bcdb58e6fa2ac30001cbd0dd0467a9a1270473c144f71b3bbee9c53b1f9914bdd060ad4daf4ed900789423d83ebe5b86b68dbabd8bdfac6dd10c1fa1417f16f298d0e427029f2800410421c1f02e5688805df15c94f1855752c627e9f8406378034c75437bb088001e633aef1746af7ccf100a5fc6657f57ad2ef4b390e3cf37026d0d493c455c000d1d33cb1ecbce6b907648976369e27d51f9cf298e7bc0e19ca7134f7eb82200a7a038594203e6f8b8381ee6b5ef6ca34d77ebf75f4d21a23caaf6a71e189d00cfaca158c1873eeafdd1f3e4fc8f1b99aaf71a8594ea0e8bc3aa8218c2a80e00a3e4b5d2c2425f71e676aaeeaf4c947bbdc943a2364c4916a457fc51596b85006d4860f23994909b73e3839245fbb21be9a99e694fa7125ec90c91caedfd5d004930d86c3adbb9f078d56f492b6139e277494152e50e121ed02041d3b8e61700088a1d8747ba1d425f24aebfe04d51f21a4c72abb4c0ea6df097c70a7890d7003a6987e4d97c132f8a63070f24259f1b6546d7b829d7784c02aa41edfe987500bec2b151e6a3ff353112412f1248a432cb6c9e6bb32ef81cb0a0c1cffba20d0088b5ce5b011ef30c149afad4fba06cc13fd2d939ae9d3035b362dfb0b4314a00c505bc655f39912609220fbc2fda1a6f38be15c37d1e35e37a16e557f537d00094247e4d5694324c238187d060cbfaa9ae15c9bc0f256d04e380b934dcf2510051e0a66581365410935b84154270e6714b6acc18c25fb083cd2605be6c761900715ab92a5ecf73083e1bacc5cdeb5f780a436590cea01f74fe5ef2e660b6cf00d6754efc2a1cf063740d096c5764156f4f80c49839d3ca833fd86a8baa8d07008e5f88180e109ebf58083b938ba46aa49526dab7388db41bb88b105e9d0611008a4e21800beda6563a32c759db87e82259306d40e6c0a03c581301bc7691af00759eb84b8542111187e6390d28aa3d808ef3e2b25107636687e0b52e4fcc4e0089065732b3c767db60cb21449182afb0686cbc3315f6b4c895aa3312540afe000013f8f1cb5c5b68f75518000dd577f447c4c03fe6f3ced13774cbf3376d3d007acb9bd777ab35dfa931ebbd20175b33a311c01ac32926d9d79ae58bbd3f2d00c54455eb311cc876800172dd8ff71a005825b79ad987c5c45dd840487ad6e100bf2854086ee888921962ab465ecf8c0806bdab65319811b502356922cff09500434c0217237cb7c826bf92e05b8902b18bcaa65d95f0abbbdeb5435a31dce8009088423e581d895959b20ebd7d7f86c6e42cdcc10f4bf4820d43961d1a4c09004ea297b9ed27ee35a2ff1bf9d9afbb7cd0c7f0243299e57e501efb35633281008461c42cfcacf82ebd2129502e5bcf76a2a25fb81ecafd2f7949b220e4eed300f5f97c0a4e5ea479958c652fda3dd7cb1f143c8749dcd4ce09de81bd8dad4900c449ce106f4bb70bf73cf886ffd5529a92d28ba89f0aeef1216224382874fb00ddd3b20ac817bf9b0b702dca1ba2f574d5b1acfa2aca4a22aad53cb078e35000909680f33f42c41a3ba92fe91117711d40fc8193cd80d64e99f74d7807a155003750a87f24f55f3121a370561518458e54e320e5984bb4c467db643dfc636d00dfcfa19312abb8e73ea01d940260b0164031fbac7f66ed75fe27cc847e6cf100d3b5a2302411e534278c390930a04a8ed622b51dbbb16fe881600069b4bd740083f7781ce29ce19837962631cc5980a282ac780a3b0eb061e56566c88409e500ac3558d8eae84acc6a61d8e6b8ba57cc23f0c1dffb44fc652285be1d172b7d008742440b823ffeee5db9b0b8ca0e648622f652e436e36c5df57ea78926e5ab00a0fddaed36af1ad85269973b66b95a4a8b2230b091454e879518c73220272600840427dbb9c0f57ae5dd5d7fce19a3153853432f0e356a1b27c1a76042008e0012ac7010edfa55dd360965beae4a4214370553a8c361738c6feef3457d0e0600630982a284de7abd611d796a85655639c678ffeba92297d553caeeecaa48e6005aebd0251e0c34bf607660dbaabf52898c50bbeaaf29aadc7fee5b8c9d500700d137eaf883fdee89901023c8d7c2d451bc79dd02f89ef9e63ee3be9972ea8c00439e35d802afbb5e540150cadf26fcc9cabc395db5b51ee0823ca6805923de00f1fc85f09f8446a5a306d8c8e979bbb5ab20b31cedf671131a03f1adcf6d8200da7106e976586237ed6c90ba15af80874dd6be5fe4228589b3a62a663793b700f654045e4f515dedaf1768860de5efb0d12f0e8bd9abb57f5c11720497d94100348ec1a74183cb803a2ea90970ef28c90086e574d745d006310cc5a698085d0015448fbba3175f9a166098faa2d62d83cb1b8b0c855735d2991a7c55f19f9500136c71cd1ebb822852c1f48cd3247c1d089d1f3af6dfe3482147e2dc14387d002931449498c9eb159c706c781ea0cc98f4330bf488eadabc04e5542ed972b000a612e2b3fda52d5e8c5c562dd9ec9068fd41638f227e15c020e114328d17170017cc21e84122a65b52808a6fd9161bf5ee085886cee7292d329c29cccdbfad002daaf9106e84c3776044f4ef3534e1a14b63b351d3d39f286593340d6e121f00317a99a4d7bd9749914d647ee34427b9d86df22722f70183224ae019a737a800e1550619f8cbc072c66209beeec5c20f84f645c373e5ae9684df69c940f447007dd2dddfa13583b55d2620c3adef53e31ad28bdaa3c217c2f1f94e60403e3600c90b8e5e3944b8ba1cd904691906bc8c2a7968ff858f9df4e2e7c8d66ff0ff0000fecf93f0513fb2bcbe2ab6ed92076e5f7e8b921b47408a94380e47478ca400cb397839b76678044136311c6685a0a368bb4ae15b828a80edf579cb24d14a00860fbf51a16e21697f167a10b4934b3a035146ab395bed3d4a4e4df62b053a0098d44a770b27ae7272d97922fdd751815d14ff79d9e201f31d4f65f7dbf06a00f8258af5c33092e282792f64b7b54797dae6e90da4f8335a87cf5b33a8be940017bdef8ee49c388ddff290bdef0188f6ef9feaa960066581927a6ba1ca779500964331003386752a1aa4edbb0e6beced828dc09885d27408b8453b90ab6d7d006582da431296247b94314140188e2bd07ed03cee76fdb902da90c0d5136b7100003c5d78e2d8ce54e951f5d9e9fcd58c87d992cb043dad5c1d0f3e2353828700e23016c9fefc44850a053c76182909094e8a41c86d86a48b0ba37df04e4c1b0055ba71df242b1fddedeeed59ff7ba5f9fe730f6e5778b8116c0643b17dc1b6008d7af300ed54f37c6caeb16c1122ea61465aef12b1ecb00ceb129ccc6bb1c400bdff7e894b3476df798948f1346e4327b882a13bdf93ff8581fca177b2e96d00ef169cba2e3be0026d974bd8803265513a843941d94a639d0dc3eb90f1eeac00dc9558a848e3becde11a80d6faf5b47362ac0b141fd2e3357f3e00881bf1a3008dbb61519e67759f5f0da9cdc0a98fb13259c95fcc9e26b4f597e113be7aa4006bca09286e7ba5cfda3c3f9f1b4e8a9f771ec60e553c0fdd0e74475cec523500f050362971991810b315f2d46bea23771d2506733514ab70138386414a82ab003042e896e08d04e272e125e3aaf9ba8c817424846b528992efe0fb623ba29a0046dfb26bd8dbab76e3e8c9aafecbecc9b7fa4af9060b189f817c6d2ea38543000374e63df4243f99e0a03dd620384de53ea7b998dd6af6c05515f43d8c07fc00c3899b5b1afb7c2989fc3999b7302742f1a43101f6a4ce8c309910141ef6970093c2b2369d5c7c38a7597ed334c52ef8dd359b37934ac0a90370de72e4c9720029bb05b8671cb64c45135a8e75c3028e4cea8433014a52fe3b7f97760cbec700c291d0de759627afee814807fdf4b22201f41c39a1055d0084a577b7110a0e00c6588d07f2a35a9e311de87952df6370269d0d01526aad3b691aea3a32c6cc00346e8009b787328b4d259d9d030dfe73f0210eca096fd63e71e468e8c609de0012b41ec9000094b51f7516419be5dbca5976ee99157bb3372dc2ef0a0ab44800535f758385d212a11a318e265c9d599f610e671a5cb03c93e8657b9aa4307a001cac5d39fe21129d7ae1d8f23a6c0d4620d5c032e387accdfa1c11ee2d375f002add575cb0ffdb17264a3b2db6f59ba3bad188acd69f403aeed3882cf5347c00286cf9e518512ac5b921a6696bc23e8c6c99833f3aa6bce22fe9c5bcae8cf400e5ca618d014177010113eb4eaff0e04c1012b7402adccbd553a12f5a52b48000975381e4940df114d0188fffc19de378d3835c7a620d531e02d4bbc9c6003300da94dd5b8ec7685c79d28f5bcffe3ff3efe9541e9ffa1a723f0b6f03a265f100c7c3a477a36a49191a14a29ec33c56ff762ef93e6dd801a725caee458c412a00fda34c2798c9bf59ac6007732c2d9f9eceaa04277181a825e68f58a614b3cf00134c341426f0e3e523b77bb745b116ae5112c6133235f19bb234d0e51b4f8b001a1147433a674ab2a542b6fe817e3972e0bdbb7d14f7e1a0a04addefc089e10083a41c89a1a2586b0007353438ff36f6943a368fc9893e00cf5fb60503c8f4005b286f08d896ce4e11adae253277993a08131f71b41656ddcf1582b60d25170062f41d568c19eba4e63a5889b9447dc93d63477f78f8b523e99a09504810300019fa01f6025f2ce14ce2d6ea06f8d1fd1ac15695433f01999aa09ef1eca9f600140e5cc777e77f9db4c480ebc12912394c1153bbbc93fe80efb4ad802791c100339dfe44bcf56d98e1cd40bc530ea50b8fa41988d07facab5b3e091c1abc4e00cb5e510c30ccc5220615a0037b5311daf8ece89acba643daef0e5166ea7302003e1f1627bbd01be29597e96042628646a7482961709ed6e56e2a1c4befba3800eee21727e15e289976de5578a32b06ed9f8e064ee411645de74175ce07859e006882c8dbe1dccaf944172cc054b2382deeb2b1ba9732ba9ed2a7dd2b469b1400ddd4eac10ec6fc6274cc8e1f10d713e896b373b5638899fa54ba84dd15483c0056a79e13d3e01b61699510b03d5d2c98f6d8df18602c6c44009acb885a32390079b3469cb3eb3222d995a4d39ef492f1affee887dcdefde21ba774a166522e00750fd9383019c4afa837d37a440983f487b329ee0c08e9596b2ecc9f9b04d50062a5bd378fcfe304c579cfcbf46a18902c1a670057fc6cb0d9faecbe1bd341003bf24d7bf6ce9136112bf8d0e14d41a9d1af0c3e45862b2b806e889d83d94f0016a87033f6b27b5cd50eb038ac36e0adbd9b726ecea6635427c111fa69962e00bfaa0d4fd47dfac387df8a35cd2cc0b8b4c77ac40cd1b81ee313f4f57efba40007cf6978c731bb2b9afa022e4ec3f1dab832d467d5cd9f7a648565dde4590c00850342c7808d8ed0be092566dbc6527f8220358f59fcf2c70de25c06b2984a005400eca35d3f235894ceb1461c0386bb1c3086825be0cae0dc55438407ab9b0024d6621f49aeaa4c205384b32c22b413cff8dd5d22a4747df1fdb8b8b24224008830dc36595c35baea46eaa6a4f7617b127916e618acd39fe9678005afbbe300ca146365530ada8624525d2052c6ddc009378059625c2b2d2d5321a2dc4fa600724735385e98b0aeb944ffa78b2bf083ca3d36c1772b1dc7c3a867f97a77550072f9e99ccc8e30e78c0d238c810f3cd63ce7f134b576a63fbc2cba3b64e8d00083a3ed534f8ab1c84497423f0484ab9493d8959e92f5c6a61e6201a8eeaed6005260911628f41241b5e66d62951a3d424d291f135cb232a29d772e4649eca40070df7f354c59272335536e0cb984eefc2cadc3225067ead107aa28cf6eaa5a003baf39dc1a4c3fbdfd0f14d25b8316377c10202b2c3eabeae2ca1594da199b00b88178910a0ea61ed4cfcd406f2e0d7abc6ab452d8490f8fa1297d39f59eac00cd246704f3ae5c46d2fc619420ea35381f30dfe9c0b41336c6214e4708b3a90062bf5fc5d6ffaab78f84b9da37724d61cb30cc8ddfad57d9dac7f868e11b20005e8c26e3a67ad8d18caddcee7b67b8321f0b82c2ab04fa173c38406bd00135004e0a9f8eaefc6165ff6ddaf13c5249568397436d47c6c630894f64bca420a500f60d40ec8b075343904c3bdfa047a30c66d1992b2f8878d3e50003cd5a65b600fb2f5bcf18581c8f638826d37ab7ecd8c3e04a653db971571ecdae12c8f5bf00057c5c4c93fc01d0cd850eaef5b22d547acaaaade808475e6f74ea458be5a200e5c52a92249a5ab411012b34620077e5164f1da4de6304952a66e0d32c202d00e4fd628845255e5b4ab1e06cce17d8568042d0c32ab45b2e48894c100eef3400edde83fdbf589d5a3ad19a867246fb1cc377a9db27988214be6ae68fc3eddc006a573f231994a2dfbbc43c28b2b21dbf852185b525eb161e953882a7f6212c00c22be42265ca671fc21503ce1e2ced6ceca83888f442a09ed39199de1d1381008533b84cc0807ceaf9427e0adca1cf0fcd0afad11f21fdcb813d919f2e893500b18a3c8500785b1ffbf0126c160a1b01db335e88a3779de5c494890c53027800ef860a2b7f911c3adc0b9c25a0cd2b54d86d11f8b7eb62eb078c64a1a5a80b00d615ea7364fd60742ab0c8fdcd31e6d2246df2f70c2e933d27c8cbff0888580015d050722664564d32cb1c27fdd68d17272e82928dfea77ad3a95540fd96f200a3c810792931d76c657aa6d6ebd60472cdfb6f0de87c9bd99a8f10abaedc0d00437b9a45814131604f45ad2233d91887e7998db356243f14dc64c1ed1ca5ae00435ef3fbbb19e396da13c93f0441fef51f0cd51b53e84cecc5ab17abdfee9800f1529dfd29a6a5b5eaad9efb3926af3b47286135094f07dc6fda74abf026fd00b1066e0be00473400018e5684ad3f9363c6120659686bf6cc4c23ce736d02900e2ab862637a54682061838bc39fc9fb1e8d376da665fe6ce773dc12d7c90b40064fc88458e2ee16a92b22d87e529d7ecb0efd922d571cf78c3c61b811e539c008e3c44b93e9ecf5fe4aa6789bef4170f68e08685e907b2396e169337cf569900bdbe1ce03287be2ad54567b48a47195b1f56706f15d0da6451eb1e68c18b3a0008b52832fc03cf99bc8fd2aeaf1b496d7c4a64404411cdca8c406164391c4e00d1788f8d33a737c2e8af8a1c3494d52735382cfc9d592a1baf4060c1c0f69a005b29c116d3736a319672347776b1a1b129937ac5b22c8af71634dc4f0425cd00212ad1f8640a27b787c1fab16d417b6a0abe4cbbe7c22b48510efe2a85696c0093247cb14171583a53c780d3c8a08e9b41761d70ad1be0cad533f4dbe6b77f0064b76e00a77126dfdc6dafb4059aae85415b52b6827c745d53b899f81f0d8600638ff002ab740e3c6fe07ab82438952b6e8c4f35131321ac99c7c32ca5b43b0016d2f30949e846ecff2e6364093303366de71cf73ca0c23c777298be4f64c900494115ccf04428faea7cb93b7c4dc3a310a5dbd603cf9646af39fc2a1e177a0015f0859542967b55f1e7befdf6a93cff6b101b0594d13dda155bcbdda6f02300418f670650b29143401d548153e1b9e3fe0fa2028b360e6f59f62c2b5703c100a5f234c9a91058214b487756df4eb3e6fa117ae4e3e9ce56ffe42b7baf5c1a00efab207dafaa5a9cc92805ab65b4b2fdb5671e3cef128067b474235988e6220048746e4085f00f9751e7a04082921966e330a9fb0fc84badd628c5a4acbc000012b8f0d99a31fb4ba2931bc9c781f0ad40ae5b6ae0f9abfc69f7c9205414f500be2ed78a0992e9db8f88df930fb5feba8501262f991ce7621b0a78e6d13c2200fe0f2e375d639ea3fd93e7cf020c331a721cf32548149ee3300003ae6f68f3004a0d58d7e912071b896a5f2a88ee8c26ebf3b27e2c9508df86676f6bc4aa29002638c032f91895f971f4a7a40b3e59bdb807663b45c56c6253a27cf48555f600735089f5765a038bb44178097a4ff734ce1cafac3e3be29b5af87c9a6064800089f83dba0eaf64002976b61f540fa2423c17d83ec15161c2c43cfad47888cf00966223aa8d3d71692203d869f2fa11af380158e90fc8727dd3d72bb320498500f2b0d200548da67587b943ad0bc57a247de6dbd28fe465009a4c77a7dbf5ba00e6a775e2847f4db845f3f7802721b796ce03ff8b3ee69708c5e23c3035c6d5005d3f778b3ff37a7023f4166e9e8bc718b7927c17fde39e6aaa512cf3217645002b14057578de258091296debd17fa58325cd8f18e0c6c2962edd992d2f29850080e37befebe71339ff3db4dc09c3820ce01d619d2588261374f4c33027200f0071c84f4935173aba678e8a12a0dfcef367710e9ba31ec3252dd3295cde7a5f00445e25e5ff385dd5eae5f6f6af6f8a9b2db232d2b574d1e7c89043a6e0fb84009a26e1dba8f70d2f7594229a4bd420a53c4913c4084f413547a1b7b1d5251f004a4f2382d878d30afed78631a7de5af105c7dde8c57e726052f2b4c67117e6003f2cb476a824c1a3303bef93bc3496182c765fd4921208a6f8596bb6613533005cb4c47efc985af6ad91b97693e5469c469676dcd333b79ac1da50a85a5a19001def3398bdef3beb8f8e9245e6a50a75bcb475b826d9c8d608a2d1570b5d7500fecb4467f906f355ad44361f5fd3f6eb65e99d0e91215aa7fbee3d499a59e20017bb041fa5d49c0142f23e31e7a7470172a1a3512354986337e13eeecc497f007835dc855aa104a771eb13336d52e40b61bf252958422c2e01dba91f49ec66009a8c7fa5da910d819c7cb897e0b85403c89409d93e0269bebe94edac694c8c00e28b17ab43bcd85cb67c0900588eda3c19d74d62c01d380dbbc6ad847df2e700c06a59ce7d3ddc8c0900d4af15dc9293e1858508deb45ea3049e7920e1e4eb00debcfacad1a327b2586c984a5ebb36d8273c4f320ab722802da22f3220c257002c7ceb4c884f90a6d457a534585bf5299e35ed6353f58772d182112ef7fa0700d2b963be72edc7fca524bd4ec561b5d178e086ea9d7fd8689cf01ae1d0d29e00155071ad4e4f800504d6cca4f5a2b1db768f0228054ddc18dd280dae13b63d00721cd06b5927620aaa1defe8b6fdebd2ecd4b85b498345769a686b232b57480019edc3fd6b83de442ff628196be4ff9d3db5f1268346323c6f34415609951500a0022e2999e32e51a3adea93b0dadbd93d1983c81835d86bcf70e696ba48c60008525e4f3c6dbd8d683b85f7caaa12f0e5c294ef401730d721bca7901c3c71000dd8d0dbb19e0d74c2366579c63ddabc6f1bbd49cc32cacb2b118a97bddbc400369a2edffa59da72b74a872cb380e418ebd38c8826432df071876363e1624400ed5973ef97e305ce3290ed2bcc9ef02e2fd67d6976af5abdf4a620a14b19a000992e668bb5c15be171177079512f48db19f75f958157a1e27b45ce55d1ed7100137406cf01141b3d1e40377a4a7d04f42ec2afb99e79e8982d516c4eca6e3d0024d302f3f78e7f49920818ef673d5a99c8288f94839bc9496889915a1b9bec003bbaedba000315c56c7a8fc14fd59639dedde062fd8b288a321f60a4ff17b400f219f6e17a4dd35ca9d75a461559839323fd7e1ce29ee998710f21c312577100ff93d47f69acca3dfea11a2b0c509f431d7291077a0754f96e603a8d101b6700ebf0304399bed4a862673f1e06c28eaed6dd463dea2df52486ae569cc6cf990015776aa8b66889ffcf66c1a5f050942dd907c026ee74ecf97c24de4e762e890021e2d906c6b2b008cbf54d7f2e3768e179d45078ff185267346f6122c385a60095b695b4fabdd79b8b8032c4bd2edaf37a4933b219914606faf7bd76b09f6700ab3adf929e47ea06f4db20fcbc10a3d014253304fd02ac1fd160fc76f1620200b3784057e4217a145227d7c6e984afb0d1a7e40099dddb550a46e2296d294b0005e56cb0525383674462723329c3bb1930ab0d723347fa958811700f3a46d700c893abd0d2fb36231b05877789adbc8224e9b31d51567770cc7c1a0b67c91a009a10d96f833e6083fa84c363d5eb65a1e20c227c1daa852423cf25cf719641004d9209d84cadf7e31235b545108549177b4b9bea2fe0e6b870eb22bbc196eb008ec22d8db8739ab5f88c8bd66a4978f3788d9d3531db9cd673c952e8442deb00876d215a24a0d4d5835323f86c1d5e3296ee7c065d3dac44647f038f404c1600d6b394ed5f2ee54ab606738c998578b3702ff6bd6986653fe4cdfab3d1463d00b2daf223210da9ee85e000fdd250965892218fdcd696af713f14e63ef10c2300b44b9d19eb84c647ef5ba366ae929115a17a10d5ce260996b500997b80a5b700137fa76eca9571c581463b381b0fcdad5ec999e8fa16300755f2ecf8ef5f8500637c81a0aa3d98ed4f7ff81432b854ffd045aaa0181406af3c7ce9b3abc74d00fac62ac568fa1f19314df9e9adfc3771001b107d8c08ce12ab1a4bcae1d2fb000c0727e3b80758c6540c60ac78a9ab2be49e29c3146776319ba49d8f75cd8b009e25d49a4d36687ba16601b55e558d8b8e1ed9acd15848e66396a0f24b7a9200f1b3819fa6dc7737855e094e98eb57e348cb8dfb592588743fa6369273b2bc0016a1567a5d66d60d3d9a3c270d06c2a09ed6a13073fb26d496e9f5dd0743ed0075cc105c50baf9736f3c8d88d2ca7645ad4564304fb21f6ef8423b60a10a27002aa77c29a8ecb2d2ea8a9144c3c0cfa7080125c4e15e23142072fbf44c6f87004061f86f5e5dd7eebc029c403f13034afdbb0a4aaeb5b4c38ebc3f530db10900d2da83ec0a0b06e98b1a617123a7f7d599ffd8c0b0b34e48c636b343105b0000142da259178f0d4e56f6cc0dfc126472ebc605423b4e2759e701c88065bf43009f4f16ccad99e3d8d9fc1491f6a73e4cab1e7c66199c9f999b0b8ddd0c45d300f58aa979ef5329aef31f7a30d926c5ae89f23e1250827ce20326512fe9b78100dcb56f8041076f41925f5394c03b78f2139fb4718c878d5203f7a2388356f70019c1d7d3d3af83a943b7e75251834d979d2b270bce2653e85d9503fcef45870084f7ee02ed5193408fa36e894a24f17b5100ead40488f597d52577ab6f3c9400cb94974a2a424ddd6a3706e6248f941ae58d8792c01e8c952263e6fdae382900361a53b643cf126e59b908afffa11bd0182abf7203d0bdaadae4ddd3ad25430094cb8aaf5ba85860a9eeb2cc54583f660fbfb440a48ae4b3260ac36712f83600fc332c8d2482adf08eab7ca90998a544ab0c65e8b5d99b09f103fd59e7a5a00081d87200c9decf89da795fb1a1d2ca046f231c4b3dbed8b7665ee32f0926550061308effce748f7aef8204cf089e55f248b37015dbff9b0478fd4f9e5098af00cc65ecff6d040c96fe732fbca1339494ce40aa100c97b2ef4bbbb3f5c423ab009950eeebd06beb432471733f0facd8d54c79f666040c1039415ffe24dd5d240049c1fa282a0b2cd2a23ace4d4e030484fa3053b3087c14e6914247e09cf0eb0016bcccd67868e9c2e8c6c99f77787d0a4365d115b35effed576624e3a8ee7400cdbd7b3a3caf9f1e71b8516d27fa292d34d811406869154f2827f7c818683f00b1026d9eb8f7f9122fe9e35dc0dd3b800d47bb140cb86bbfbe76724905513f00a6d57a4e269f6f642444f163ac70eeb4d61516c38d4656c3a946d3e2bee8c300391f488e5c5cf64641f865ad920cc2e67956b33143b13099270b72e1d07a470066aae82a8dac58da9073e37b5c169caa954e6c6706b843c862a3c42751a58800d6d27384e8e55e63396a71f0ccc3bfc0a095c5c0a7fa8d3f8ff904082d5c5500cb0e1cc9588e7ae4f94efff584628214152d47a67b18d8d47db246de6a0fb000a2f72a957a8db180c392ad0b2403baf85ae22efaf720f4b4f446d28bafb09000b51bc8f7828e9533d3a31e649a9f5fdcfd798d3df97e3780d8ccd9d37a2ada0053ef05f5c6c26f5aeff9d80cf8a49e666cd4cd574ec8d4eef2a1726efd7a3a0069fd8ae316b67ae516da5e99533439f8ca71c97205a427be73bc553d2ae69e00451ac6d00ba6d80b4317bda3333541a534b16819268bc587af91a1f549fd1500d860f06920413db28c119fa03e9397831d24c9a385219474f8121099fcb404009ddbb1387e0c3f00f3ce2b4042936fdce4c1c39cf5da2cfb26374ea290e97300656680a57cd7700e3c102241079b47c4ba60668d68e523ef3702088a0a81a300dd339c1516e09b3eb6482b6dd2d04e2ce71d1ed60c7d17bf35bbbb459ca06b00ac3cea1fa09dc6ab9816a7014afb193ca8e735b4344ce4c5d4def05b902f3f00af1a3b307c8b5777c815ae173d33287878a4623096f3af978f9c764e41c19f002c245ca1899c25e803ca400620a205dc79a702274acdcec0cd2fb5273e9adc008fa547fcc4ac1d7f47d33b0f0b099269a05da14df1bd4774fd9be61088c45400678b51928e634d603a510687c938f0c7da5fa385500399aa35fbf0a37752060049a7570f6bad79836e63aa6dd40e8d89454fcd70ee356d659eda0095c4bfb500e7c8a946b1d0d6be01d9b58eaf2c6080f1ee7aa4071048a80c2e29f9cb1ba700aa70a059443aee7c738a39172702e0e9eedb1ab8eb36ac21780fa6ebb43b100033078e2369aeb351a57a9374fb6673e17cee294c6eb88ace9e086de9038a9900996df5a73ba920b215183098915335ea26c57a6e2dbd054edebb45685843490019837e5075be5e584babd014d0c18ad3d17f86b5be8659faf42ffee9c770260019f59af6c71c94ef13b1d3c8933fbddeee893690d30dce05fe832cee5df882005b6b77c084538985aefb1b996cc9692d138f1a473a3c7aa087213226aa146a007903e1656ceac34ac3518c5a44b8cdab38ac79eadc200927c1787a46cf402a002a8590b41de1412baa6a296dfa12bf7c622f4c2b0d103b8d9c95945ce4b57400813d320ae7d213e00dee93023e5837c22bd3f1543e2e02c963639a56daa05d003ac57468169e87300dad87910fc201dd040d78a1f76027f787a470165e1c8b0078ad2d59c7ad3460c8ed0cb220a7016cf64bd19abe8df7ad5fc5d8be66fe6000b87afe404f524b57b1ab5cc7ad293dfe6fd1c9ce1cf61f2b4775dbbbf94ba00070b2786b57c3c03abd68b9edb33d60745a142043cb58c768ffddb79523fb8b0031ed051d48c7bc53e4beaccdaac66c344004f54644bf90f54e09d282fc1c67005c2f660ebe1a7a8f131cda0fda300f22645bac068e9fa7a6b7befb027005590007dfcc6f9007a0f1f3e985a92befaa4e8f745e4b6e43602999874f571f3eb60074ce694f66c8f5043c3437615758f31d442ac23c1ce0336da82d10ee23a3340032862852fe926b919abad0a7f9a8aa038d1c909618d8c72e2f1368e90dd44200a75af3b1ae694cf9b9376e271e81acfe715e80f60ceadedf1d4303d1be524200690a619cbbdaa4f3702dec4c38c016475b25f30b876d9b47d4a58eae4a357d00dea9276d1e47549e3347061d6c70ede202f235a335644ef1d324768581a3d100dcb20372e37a34b0d382d5670f0fd351f6e0335085136b1802797982db798b00284d90a7845df126e9ad4fd4077f7e40b933d29b150043538f3e8b679b857a003f91314823d7acb655f39e4d2adc83304526e5a37918a756e98f983ffcc66500a3e596064c42a681e84d1d530aace5619c340be712da08173a47bed83c12c100a245d08490016dc831168e80decc0036eb2166aa5817d467bbc9161e77f157008a071dbb288d2c65ee0e86c19f67761305f5a2a7199588557d6d1d7c408c0b00e7ad8ea3681ec3133fc8c801d67a13b2511537047c3eb3f1439f421057448c00e1ba827310bed68437828f2194877dec9bbedf98f213e22e348727fb3554940015958766d6f48e7c0a31676f8584edb487fa60144ac92f99583bb9a2c45f2e008d24add47301772ca8b2abab4d861d292815b144766acb5c194497d091aa4a00f39b02e0986ff5c94186cf0a5d150f979b324b438ce239a4ceb0fecb15a34000eb58eecf72024a7c414b686011f5738cc8240aa74b123b1aa96329a1ec96d30099f245ef406834ee03431530dd9813b0a58444a882664aaf093caaedf6235500e942cb2a013f3d8f613123ff7a324e5015e3dc7f0ad015fad8142865f450ad005eef08523e39f03ef00a20f06737161627b0fb06c173ce35438bfd6d46fe6800d847a6ea36e74e79ee72785a6667364d0a37fa93b236e7caf65c3382f4d7180046d10f945bef8e27c99f1c5c2be4153d13f206ac96cd4403ba3e5dedca05aa00451e0d67a4dfa28afcb54c3a63835dcd57788ce4435176665979b254f65a2600b4a2da3fd953e8a499caa2ff0627f910a2ced9a7eabc9da018982976e41a8e00348e0296c6a85d318cff9211bd249acc967bf6ffbde2edb25ee1b13ce63bef00902789785af02b8d3d612b3268c43baeda983f40a92045e8c5c171bad1d8fc008fecdca972d7bb34ddddc8ce8a65560b63384c0d90e91c1ea5a0f0945f3ff8006e4cf9b4978c484662ff804b6ad3f351300316d9f7f903b8c14a8f9ad30dc900b32ac2f48a700628613839e6d3744b9a7e304ea72f36917c23eb2d45d252d90084ee3dfdf3a77f18455b016da443d1b09591a36b7a839e0384095d583557c6006bb65cc8896ae535887cf73904c1d4ddeb1fb17571a0659a6695212f44cffc0075919d22ff26c8b0576bd5a519d28e87bb0b99f9b9cdba8d7e50f84bac9ab3006c5427cf34e010e394c00339e46314fdbcf7ae03d8f293983f6d7b3893e50800fafdb0ecdfa1d159e8d037fb49b4035ec9cb3733893a652f52c0ecd342a9e400fb66d1cbc34b7659209ab2a69ef14045dc6b90a5913fefcf797e3fa44313e4007c8ad5897f68357eecb8635b81fd139d226843a9b33cd55f88b4a7af66035600f6452e236b476113f5cefaaa54d9447595a68bd4f7b5169acd05bd426165e90041292aabf7d94c4874b596e154575da904762e10e35e90f58cf46d40bf656300b3dde4665a1cae77375e8532984f83c6f35a30ff9cdc2550ae27ebdd38648400c3ac6147de5305e8d902ac76584ffd6a5d5c376ee835eebfafc60319deaf88001a3d8cfd2337eeb186887f03ece614fc7fba0b4a39bb6e3f41ca281acf17f3009d32fd6131c84cbcf2542824914f32004e7ea9a7c78e6dbd05038de3d96ea800736a436ad228e22369f96ae3f7c9e0801b01253734b94e5244bc465f1e47de001dabcafba15503f6c1288fb2a7d713d9870eacee3416d915fdd8be961da95e00c981d697989d365aa09bbfa36f34501a6fd292d31f8b35785e2304d4637fe900f1c0218825fad27aee37657eeb0bd4799c8c8ce74199a646190ba426d02529002e5d32a3d0e8cf7f5a5dc52961ba35495cf4157c87376c554622c707cf37ed0092a417492bdd7507cd2bdef178bfa02554c3f02e058ee722f57dd9650e6cb4005a20e13e936b3929a31f1c10992fb8776b79b8c995752d78a8813ba6efd04e00f02528ba9e400bc98bc311d46eca90bb790c40f7ca27ac044e053c6e0f468300b0c34361d27230b3f2cd6ddf98a71c99aece64c3a5b3908d4c7a33c252873c00987123ec895f4a8932c9bd5c209e77e44cee1ebc4e42dd4d97353dba2fcde500088de3d6b91790d8b722e828b55e920b6bb5e547fed4e5fc6ff75bc9158148002907e5a617b85c82de6af165ab1f0b7264c7e8de62493800d0a4370f47311800ba4f7591db5765adf85843566f6b4cacd8445b14544bc9f5d7183fa24cee250078a435ebd89a3498b956249a4156d84721a7bcb455ce865046903ab591522b00f09641445f5b9472dccbdc7c5a152f8e359cd2b13249e6eaaa152603f00eef00be90cae4a22efe521a8920328f6714c3391f43c2d9bbd6fdd1e0cc5007c92e00eb1b7251a361ef7b67ec324d76173ab1f34a003ca7ce328c980b41d28ca3a3005bbecb2d935630a8caee2eb2322dfbc8d087dcbdecb2310a62a118c5f3350400d7c401c072cb295dd3307880a78442f414e97f5ffaf85efa8d170e99c03e0f0097214d9661045c0b40a7282c00a9ee641247f9faaea89f65782c8c89f9d66300c5fb159c57919b1668e5114b65fcb22b0f94262ace66dc383be2d2d208f62a002cc23001b0e6e10026f29e9fa3cd30602732bbe44db485afc2a8a8944c55d800602a05e48f29dec0429c34ee5c6c395b38a9f9cf1f2e2aa1820655b04fce0d00357cf0c5a03bbba1c93054896786b5809ff2b180bdb3581f62276f6ac25a3a00466cc8f01d53f9d968c8a218fd84ada810a9327055b4c373fdf9fb6357618e004bc795fbd315117b69a2268893a5d8c30a90b699c8206d09dd50a199f445b100e3da0bd31ac846f8e78775133f8d54c471bc54c3f89baa1ad0d9cafe1b34bb00af252d76300fef3f12b572641f06383c4106d5f4d943d90379b85485ffef14005ee27e781a89d5482526548318359d77134d1a4bd8601ef17ffc6af85de295001946477a422a44259e7c4e8c4c0453566d374f89fec145df058eeb42d87377005619e7d95bf637549dcf77d979700bd272c251fd0f3ebd7722c89e4683378c006847edd6fe97a173a1fe3e6848279e71a85333757b5140ab3cfa02c26531f500a9452e94af6e1eae150295f5134a1f7c24bddda150e845d9c89a9d20d8c5920051969ee315a1334c9024f604eec9ab08ac0cafa7b102e2687f420a773bd8dd0098bd317c25ea70e0c595968e26c793ce6783d3e7cd3ec5d5c39826c4b9fb090001d405451a20aea97d24f5572ea79fb223f622d590f39a76c23c4b045151e2006bd9bc34574ac46a23031a514ee6fb85b1f484879c02bbd34718127b4f1ff300b1cccc6c6f66b2d599b21ad5f5501b76465c2e9041d6d13fe3ad5047d6f7b900f7e192cc3a26243c5a14a764ffccae80233514d00985c3a925bcc5c642526d008f00e4cb35538707517df8fe182c3659f8c6e7ee2e350e84a3d9668b6d12d4005ad698e71e9b15bd1450cf193c3fc55e40e10814f937ede1bbb8c06d1322e80066e5bc36966b97ecf8bd06c624f482fdba74e9ae6832d61d732834c32cbce10010f35956543bf4dc6e3cb091936da6ee1bf50e6f7f8f70f46b1f4e62e53b1800fce6ba8bc3ef20c8e21b9708c545f4c019917216bed91be391d323608fe908003abfd2de193c270cd16726ba8ad0a57b7b4c314611493928ea1ca20d578a9a0094a2400d106e48530824b72f4caed66cabad494fd7ade92616698fdef75d5f00aad20ce3a807fdd44b456863d2aecee980f175d6133ccad60e315fa59bd6d9007e7f0da6b84bc551207e5945668890680dbd48e6d69a421bf9da43dd6fe58000f6fc3d86128b9532a80ede7093c11a7ac1ce6ca7cf8c1f3d5825e5d04fdb0900a3951080997797e0b16c9ab8b42444ba647a4f721ab91cc56b69a7b57e954a00b336816e6e0fc01eb77da3baa10743e72168dd93758283f5f6c249681db7e300eb6740bad0d22fe0e83d2d66b7e96865c4fd64cf72b0cbaad66f808526b09e00d684185c3af6d7f0a1bb0764085d6693641ce36c43234bae8533640642a9ba00b02382639d03aed079d069bbd67da6fee83d0ccefaa5e208c1e894df1afabf009f55041d5a6ea5abe21dd1f7dd571aee6d0f08484933c04f8e933cf89d6564001efe2e8ac447fa32a5eaccc225acd2a255b1e90aa8d60ba97b648605a667f800371b9fb15613716c0309223f0973584422f492b3ce8b9bb237d870ec5a147d00a3ca3795da2a2daad69000deba1b33ae328533ce05d3623c43ded95c7b473600558679da11f934d8b7fc0a14f4f5fae711778ae7c7e45984be650faf5e1e7c007705d6687de7f59203999a272917d44844b8f4c2e710e281800a53a9e1209e0013c75d8de94bcea573288522e4455499ffa1a052b7ad4c16c95a204bfa4d2f00a0466067c46104ea4773116940e5f7b4ff59cf6db3e884dd961337e05fb4130095e8239c98b301bae36281c9a46eb879c8c5ffedc654282ac61e811b91f1d3009239ab053d7c6ddc15ab23887e5cbece9e3daa5d301a8dea098279f28d46a500dd21fd56e50dcce3b000baf3635589e8304e058009bf2523f7ead2d48d96c90060d43fc260755192723a2ab0575286ef736eefb6062dea24e8b06b0841b8a300696131b14919528acc785275644218de426df4d9e4d347fa502ff142f8b991003a839cf322b1cf7dcc48d348469831bd7675211554bfbb16038aefd96a29ca0068df872559c0cfe11ebb626783bf400cc0313c235a242c7c235c50ac8af4a40066dcc347cdc74dfdd779030fad62c91c5338ba9966430a27f461cb9562f5fc00f38df98fa44d9881eafa5dd0480ef07738a892ce1825a725f63d54da03ce4000141648177a68a1ba6e04679c63b29ed4ead43983c4633538c829128225536900d6e2ddec7491d0abce43fced81ab8ad5cd9138c14add3ff4250eb56255612a00a1c102623bab093901b3fd564cdbdf3dd3dfd81c0aad753bd9485d2743821100af91cbab2eb0ef76fc863f6e0690f50dde0d48385f079230ab1e0f2275591e00c538015a617c3a1ca771317e6b6ba4a2e0eb3ef0e9fd96bb612a6d467d34af0095bd22002256024c9e9f1ff3c35751d88bc7d40a815f0fc232ef7f5a561f08002a6f332944f57977320be10d799f20d31650cafe328be29c2b4e4b3715c3b600884b9ce99512f9bf1b17ee8775a867e140b03bd7f7f5a20b9e0dc9e2627db100a14b4d9f465a8a86bca9b3b76a56549cad6e7efde1c242ca1945c370334ec7005d523a0ba015564de64291f4eb6862f07027e437d62154d60c3bf19ae7ab850025b0299568530bc04c918fb74f1e14c0c012ff36aba0a1b3be2f574b5939520039aadd997a8471f42620b2042b440cfa59fdcbf3af4e1993e068161191298300169ad4f30e9cec0adbf34d01ff57020ab8367567b644fd6d9a9a75eef4276000b884bb221bc7468178833559a922b1803a9b8d580b041cbe7dc0c7a997cd0f00fbb058f03e7a88eed6d8b7e86dcd302e2c5cec1c2d79e802ac324dfdba2982005f2057043176740c7bf3cb6461729284da799ffb59cc39a30888a0f9361c0300b19f15f6c7aa0b06d2594d25e55f42b381d24d0440d9c487440b3612e5054c00af957c7b4f8c24c23ea0930c08980ac24958facd502be834433b7e3e4188d0009b78994212147a60e6a20fe19249beca474452917fdcc239395a67c69a2dad0004157c56f6f2efd8d7cbc5ec766727de25863984287728909404a09852ad7200c671a4076f6cb35bc8d8e1bc3170ab26fc97becd9d672ea7190a9227daa16500bf3b27d7d07e91a15b6f85c3ca1b00a8bd270f8b028c4198c0b7bdce55d6c100202198207db2d3033707dcee8654c4037a6becd271cc3e49e1382709c657c00075d7f581b1b8888920b922e378ba594055ea37da0bc3e3889fb2f8afd5e39000248682f93c65e6760e84fc8e43dab03f0bb15c12562df36c1e2226007b8d0e00e8290ec98eb8dd87eba02eb6385cb49e8c8d11f58497761c0cff3bf3abad37007854ecb712ac3a645a29c1ce333ee54b20e71ea2f956a7ab9cb4937fa5c8ba00fcb4cfc2bcb3df3473aac7671f274319f34bde0a7efbc1e29f44c3dccf490b00b449dbcb82b531652e454be222add8df7b7bdd37c35889213bc73bb54ef4ab00bac22a24e51ff4c5a7ae6119554e5faa97a06231284745470eb1277706e4190049d5d0b438aff8b2bb5a415865c8180b910a1d5774400faf98320e293abf300035423c4f3f09bac25a95a476a278a69ee03716bea049fd727d2ddb261c6eb800593cec141851430bf536a323fe83a535dd835995e65c09783d41a3cdfff95b00aca3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "versioned_hash": "010000080bf2b22249a9b0183268735b0ec28062f73dfb0a4a50e665c1d6311b", - "commitment": "99099754f7e1d630e953e6f2023351b4aa85037b6e139311939b032af5599002d3520a1cd5d85e2ab3b42a2d15595786" + "pubdata": "00000005000100550000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a42efd743e554bf21985b562e6b1f3ee3a2ed72f4dd98d76a68a1146cc9a21a86000102290000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800acda5158c3dbcac23211672d2cc9c3359fc98a11a515a328ff84730ce388e0b29000103170000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a034d6369f58fa6f6577da618b1402ae4035b815c468a5e5e120833f35064d7d60001035b0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aab90d8e21f8f6be792eaceaeaf2a7e262b8cd8b1a950cef7856d3c00d3e0fe240001036c000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102e0c3af29edc7fd00e8d0a61d41ed085b5999bd76d0ec57c8b794117edb48006600000005000000386c0960f9e67050e6b7ae575837febf738d9dd205bdd96129000000000000000000000000000000000000000000000000001da2dea1775200000000386c0960f9a255d58fcc01e78bd7f30db1c5d736a19d6de5d5000000000000000000000000000000000000000000000000018df33ae339d000000000386c0960f94f1b62090fc5498593cf8803898feecd5109b2d1000000000000000000000000000000000000000000000000001d9dedfce0a600000000386c0960f9988bf802a450b1a23b01a16361041b8cc4c0096c000000000000000000000000000000000000000000000000001bdd15e065b0000000004c11a2ccc170716ffaffcb4579f8226130d4a8625904162263a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000138ce2000000000001008d34040102f2e6ed1059ff0ad70d4e11336e3e5ad30e827e008cc2173fcbd003105e10deef0001000117285a242b48c751232df502f6448f1dbf4a1d9132f1cccfce399608c8b90b3a0a1f96e79f02ef0c7d92a6ba1968507b07a357809bf9eaf6ccf0fda94f00010013eff990900684eac2c81359f38c1b0a834d011273ae30310f9c7807464a1db77812daebf491cddd7c2c4af8b712a218f35b8f3ceeba86aad8ee402526c200010000939c0f641c18abe55b3a876a26f1720e4903c3f12e25b8b6214942db9069af66d7b664990e3f84e4633afb9c21a8da0ef39901d9bc286fad7e19d3e6690901c02aa7bf71858e06cbaedda3277e925e055d21c73be1309a36203fe4727785b409018a07091e19392f970a79e422657f4765f3c6498b0e174b862d050c05dcaf5bc50901ffa6d75a531a1505992e4c1ff4ae286f3c5336d1464bc9b25d9178749c5a0fc70901a9729e5ec3b68a9346d3dffbbb2027b1b0f40417a4e59e60fad413467c1e90a40901b4e5bfca3d03904333c9db34f701ee88c866ecab38b47bb219ecac0861ec961b0901adc5ed37ef2f96fcf6b4c8ae77d5dc254da413dcce18fbabba941fbbaeeb46c809024dfdf044fd553fd9ba2ef4251f008ee4cf873fe70182d1b2f75f28c91d282c06a1996a719fbc67f35a4344f73890c1172eb194a88cfb6b291ade6a03a87fceb351b6ccd7a8ba72fd46817f800389c924d23232fcc6a118cd1fc2a93f3a384b0535afd162716154269523f7345e0bc56795149c3dbd12ad80b8d16c271a08ce2873c63cd21f8b28275563390881110a3ecc00415f285ab6f8e3d9ba138242a46510c44a0c83a350067a6ee880f6fdcfb01ee4391e32b4789740000b73f38daa02eca7cdd85642f68cd8cf51fa015d796fc2dbcd1aebabf654bea441016b288c64f0c000bab081a7b6f92a4ec1f02eb005520b7673af201c4ebe79e761538585717fafbb39b59ec022d606f068ebf6717faab388c9c53c18fabe7838c5608820c5d2430989d90b92dd26451e4102c68af0bb1400006f4753c45e67f5311ae7255bf8889f7fe7e58b6af06d9806e5194a1c5c66d05139054ec8fb4b6000bd906f224650fc26515436b3c25a87d68addb31c6a5373f7e00f754d39119486391e3e8744f910003c67eee680524913ae37ae69f0baa481d0e4e6d3484a307479eb229bc30f479e391be3888d7ca00075aa7f75697d3feb547969a0d55f8731fead1e14041729ebd1d392848e7cb2af3914ae1318ecd9020f2f4ddce402fdc9ee7b3c86ecd111dbb325d01422bf470db82108a3abd1e3b34101192d1069581b941d50c402518ad6fdbed21958ed6c5724923454fdd2495cde5abc4bf4516ef98c3923b46bf7fe2000f6d7022ebe58dc19e751106f2cb98fd24bd6e14d8073a53d3f8e11b45c5df48b00a99e289160656884525d83a63124c30e63f37032d635435d92d49995a8f8b408dd140b448cfff621010bc3dd28788ddd82f2bfc323f8b837afc1ac6c5c1580b2091462157e0771f69f064d0d7bf52f7ebb7e91c66e35d4914a9dba6c7e3cd75ce6200914183241104a8b011521fc34fb04dc72026ec296cd803af9bb39e7dd5bf873ba5d191a524bc07d6ca5418464758476f726a9d98e7a81bdf17ac4ec7badc550129a1151b03c194c4b4034b276b9d891a6f4775fe20e1e5cc98babd8744c81e7daa3000b49c7e5c28abda1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e01e96050ca4793360ad636d62a6d89ed1dd50d100393a25b769f51148d33e9c80901df92d744c1917c79c8c38fa95bb485b984c521a4253c1ac6c12035ee61226f5c417bf8114d29f36913853abff5b4c974f781edf65caff6e8293912904b86c909f9559cbfd685c0ba6e491dfafba0f1bd4300000231b5c9c8cae149bd749c383d5bebd9ee775377beb035eb84377eff29f5edac291b6103f419ce028a771a813617dc177b50fd2f2d4ea489a7f9c2b6dfbd7cb0608ff6bb949911d83cc543063aef4cc63829a471bd77f68576941d08cfd681e84f80d3e1645920171f09019ad2dc29fffa2ee724cd419095cff0605b7df10d65420c3f20d7522ab9fb81be2165a6de4ee706aedeba038f6e38ad43723329856ac986583787b60bc1f54a7f570a91b33269294c912982def982794434499fa4ce83d8a32f8629d2c1abf127af5e85f34909aaeb23a7a5450a60ce1493c3bc690643f16943df5367f77aa54a54bc8a8200c68674c041892fd6f77453341b524740e2f87d0a3df7f0ed575478a6b9041b04f0d563c8544007d64a89d51131d5adef571aa36d21bb0f9917c463b5c9906d07f248619a83b48509c798407bc4da757ab7035dcc0901a0703adc7ccba7cd1054340b8b59b73e6b8b455833b8cf427b7beee4a0f02c09a12a9096df9ef41ce9cac50cfaacf1151071f975ad45cc7125fba34a20bffab916ff36625d666f049583117e53406ad65493808667a1d3d91634cf4c04ad1b76ce2c06f7385a897f54d3bb11626357265a0e408c00504dcf29352cc80c19ea774e4a6f1cbe01933d6dbe0901567e3d3f853b2bf658b34a086e56c374fb85eb4c313829401d431924d7465d4aa180115c708e12edd42e504c1cd52aea96c547c05cbe9a44851e30b39b56297fdf090f6bf257d6c5bab3479854a280ba419fb6d5daa180115c708e12edd42e504c1cd52aea96c547c05c76a06ae72e8a8f120cf6b43317b34dba4b119b37e8d01ca2b28c514b97d2887e090171503ac05f8ca52d7cdb786cae95ae5062c8a97dac126ed9272dc7e30eb806c80901fd2e18833a48b67bbaaa3c77c79cbccee2f71b4ce0a92b5e2423c707cce4533aa180115c708e12edd42e504c1cd52aea96c547c05c8bc265e1dc0dcb7c9ecc7cbf5f7c1843c5da43bf586c40fa9560774c5eb1ff080901e8bb18c16a016ed06541ccb16b38473c9357af9322a2ac573175b7b1f9ec07cf090107ca4196285a78fd294c7947fbd5febe8b6ae006c9d658e31b60017ff3f97ae9090166df2a30dddf70b6f44a42de4833a3680b9c5ca958accae9dbf7f0b1600947f40901281c95c77398a8b558c513bea568f8be9be22fa8f1a6d5645573de661f2ee6a0a1c2fd44a8497e2fac310f4fc8418908125546f32efa28383624da04595bf930920bb58bc4b15b5de94ac42056027c1daba69332e0313f2a01718652997cd9436f8f814343cb15afa1919b850b03c4a0d28149ec068207f3c551c6c2090136d8384f8f88b18de18e3ae63b1057cf0772abe2067b98b68446b10ff458fa2e89010000000000000000000000000000000041e13027c1b52df1bd9803cf1545bf4ab94a16d168d9104f09d8766103d550bb0a01bf35d33c89f5e664ae2b92a66a939eb013ac1de6515a57ffea70d56fcf6b706619d057eab78b3a25d00ef7f39c4967eb220327371363098ab55ae8ac283be6cace684d200a01966f1152c6a8a2f9a663c24ed9440e728138744090cde391c63e8e1786df53102106db12ccc6511c9c36ac5967ccae5da01cd21ee0445c43211dd1198302ae036d5e3b2cc60a013abc0472eb8a8849953715f91ecd85ec47ef839e466dc143cd2d32c6b61349410a01a0dc9b0d01fe770f0cbed8572f05d38c58e5551d15c16d5608fc302b7ad49e0a2102a5692aad0f28864b4e3691a85974872a6ce40e6eab98b56b6d3b8236786a0da0292531210f3753091014a4ce05520dbaf7a2654d893c76a471863e356ea366e825fd296753bad41b1962c6ceeb0388076118d3a1e6e25ee9084ef2e74cfaecf782cf4003319c0f335f96911d19b0978b507111c55737118180a4607b2e9f115ff1c10ceb656a32a6f4cfbb21c8c6e0472101726199c58545f9a610de3b4061e87c21f85dd19449ca4aaca2dd868172c540728497bf311d9e0171863e7f0ea5f165f28a75168a2e392f1c22732864565c491a136cfa70189eba027acea12fbef53b81aad68c4727f3329869ee704609ee749f7a7407fb1ba20d656da3c5ff74892871546e61dda8da470c0b99caf78854120901688a021fdf7d14582bf5bd2eb5c93cf86f21171c52b86ca334776c7be06633e9a14aa5cc5f01876266b9a0abca2a77fb4af9425cc3c0f84c80c45a8236856be149391bf75bc23441e7e25070407a08efd97811e33da165d8e9461f9018596fe0ab94fa050ffb3bca242fef613fb876ab1c59ee2b84cb39b85d0df611e9380de6df4f5da1f8f02a925c8d490c944fd8e64880228050aac29f405aaa380863f232d74b43ef4408dd111745f3a9d46bda7ec362ed97a144ef12d4b87c5646869b28e6b62e8aca975afdfa753b08a8b2b9aaf55d8853d07c452777fc4c529029633816d926fdd31689a2ae29680171861aef4adc1342aa75eca6cd65fbec28e32540eeb9cc63c12a4e7fd74288094cc1e10901e9aa2c34ba3c83030e0d8f90d17ac623eb912fbf8cfbee93413bbf7329d959b00a013fec76ab6733aeb76b088570a0023b4fdcb8d0c828e9dcc8f81bb0e75645e6d419f2662152b7f4b7dfc66f12b9afe0f70362b0a6c5b42e041c3e4e9bed9df52f3dacadd60a012f93b53ae541da4ffad8c2e72ea9d77c1860404254cd8cdf8a5bff8708bf99de0a01e63866cab2b4c30eecb868b0dc9f50372b1f79ad7c93e37fb5a0ff411f5cf0c50a0123783ae730d29ee74f13dadbe6201b3063acccbadb0b768d5c80e8ce06a50d7409017282df9bdedfab9ea9fae6c127d63bb89e4c5e2bc6243b231ccdd2a835b1a8ac19a7e215f14e64c035ed9a1f45aa7f9decad368ac1292a3835f448e952b348ed2324b84d21027e577b5763f3ac147822e73df0eb878313e7e55df3db4405eb1db3746083c12f19b9d10a015f06be9c9642a6321a48bd6eb51fb69e85767218915fb4ef3e1ad12115ef907419121c1b961e6a90ac18d287abbe6645e314566d6068483ada0ecc53c1bad6918d130c5009018beba255936bf7debacdf5ae874cf4b74789861b8386733eff99d087b394c6a20a01df4b1208f951cd68e9169a4820678631882ce39999e2b20d20bc94b0f6273ae60a01dd845bf2c9bc9886ac2286d0dd8c08b0e7b227570809e3229895e49f65a298064902bbc099d5fb6d81289a8e412e9c64e1d0237b95f8899e9314631b7abf0fad93881ba7e447abfaadfc0920cc1d27e9ee7f5678cdad1e1140c4d852ca0c64f04346089c0809b48771cc695f090876af4949a5dda017af2fde7eb64989734c48bd449a895b7d22c7e20f4e85b27b0901d1b4ad97ce6833314f1374ed5de8210ccec6ac500552c49b35c486056d5c52580a016a975864c94755cc754e06fc62e04462f62979fbc2df237884199fdef76b8cf7096e352fcea326988173e6d09589571f5522c74e25834abe3e70b4ddddef84c6a603096e5ac400e164e56f8210320bc96798e6e0b5fec0470bca0041c760d46057277ed7210134d6f4e47a623cc0243610a628b008fe34865b98e100fe9c64dbb6aab3df82edfae169210134d6f442dc4493dd70032707de9f746062785a10d98a1fe54541e04a2c3fba6a25770f3904325b0881a86b033ed80ea5f81caf6ea810c94a038363a914e2bfd4bf89397f140896043438f549344692099866068fc7efbc7ca398ad874cfc7be2cfbcf493af177a976e278b076487fa4c23906040af191a524bd08b413cba0ad1f7ae3cdf10fa1a5a78fb0f763e8b958af889d1cc65742a81956906f17c2a1f17621892641e82adf64a6735ab0d469b6222445a27a0509b7334974617b086da6556919cb32bc86d310150969bfade2922350e35eea1b624bc0860fc6d1a88ef8949f6d193932a74f1cdadc3b17ded0901b91f047425ec49fcd708d173677a6a5c4294172167d6b9d3082d475119697f680901de1770af232be79daffa32d59cb27e047f3230375cbb6c6f359115ad2113d99c090101a485d8779c9a044e5957d15aa43aa8206a29204e97e578f6235eb52e23afc23103600171864a9d2c5b32b59cec41409eaccb473a7c1b6816ed36a719b35fa372f988da2d20d4a138f784e67869bbf5aaad5d664dcd05d7a47a9885d224de36f00d582d2a3defab0029281b54c6b681af3517a007ce32b98b6b01a7517f6a4e06b86e198796198f82561983b0e61ebc8b86a629f04ad9d09e9a785c984231c98d0eb041c971d9591415c9488a1690396681007c669c526d4b341486bedb9c3b8635c26b27602f7f0df7a6a0d653a140caac8c39571a923ca04ee1965836020f5cdc7d95a8ec1546ff2b8c7bec15af2af26384f5c96cfe387c870d310c40f9ef7267cee79a8cd93df1aa7d9f40c4e4ae2b7d1d4740f1e5e1ba1e977201cc6af3b0810a01b7b4e11ddfeeef52ca0c336858792be12d31db6c53b00d24a6776f4f08d08b7d392386f26fc100007ef3af95e82367c7180371ab903da968240e8720165f2d6d113d4e10f8d00279413ae5b783aac200009712281cec3fe27aec63dccb979a34e7d86e37e3b3da429e23697846a2ca958e0a011d3984ca7ed5c262e1067856cb7191d87bb7d1e8acf0230d4a600d07ca22bad2418ac7230489e80000c454190d333fcbedadfa7051049955993572cbd63cf42e68aa77b717d073c8a40901fb77b81a76104598d9ffda1152005f97e9820700085c91c332280307da83eae900810972423f7d915b94ae6a76e50f4327fb1e8b9d0e80c318ab05fd0819e639b4fd05e860183b1015058ae32bcb7719855ec7aa4d7200910ee810344e3cf034f9315af3107a4000f006789c75571d41a9aacb4465f684309aa3d0597b2c75366cde06e60bbbedf969012c000002ee00000000000000b9ef0eb0e2d93d6d27b065c20e022506f10a469215692dc4fab8347ccf84682b0061706500000000000000000000000000000000000000000000000000000000063e47078faf6c734bfe7e188b586ade665b4e478038a57f99fccd918751aa2b69006170650000000000000000000000000000000000000000000000000000000006dcbe7fcd0d4a4b51538f54650f1686c598455da5d3d4caf3857d4c6c8c8cce4609011235fc129aa7c102d35b04dc78a7d91183ec8dcebe12c0e5364660bff015328519033ba9f6c2a13297570dce587d6c1fc75835bf680950683a2c355761d8a473af1f2a9f090101acc07e9cf7f84857070a7a1f6320eb97b3e5415aa19cb3dcb262893651b0971903c55efe2aa6546051344415d9136c36d7224b5de88d5f50081448ac9b71fdb50ac10da1149173b9c112466d7bba1f647e2cdcdd6ff184e4275d59e3ff3f1f2321277c45d8ff9326dfa34100857af52b1e5c91a8768b04538139d4793ad35846718f9892a36e8b925b2b8e01b97a36abb0deeeb6503f11c3be5753c9d069dd7fd681798028313bdf09a144e8d30c05e5a2219d5f7e17e7b87e60f6c1353e9a3cd0481a52950a63256e2e403fd76b17c7229e295ecdfc3db33f44b869b3ada16dd28c2c5b91dd63b4d4e78ecac7139878371768686724262c779b02e44e6909c79dda2440adfd1f4e3da630f1b18562762c34594175b37816b749b66b0ca5180a81cdded691fa9475dd73710a0f98169e0077e37dd5bae3a8316c9c220a01fd9ffe9dfd6d0978af66e263e8dc7277c8e21b6a802c63a315f9922d8d43e3a6a10d5328bdfba313310c9d224c25772b6fa751b9d40213977d8228758a54d817457dad5de4b806b939a352c83bbde7f0a36e32e5243107b9017186586ff4762b92786831ba36ed9120db1a885d01d0d763980956b200644c7d26e1230901bce25afb1bddc81d393a7d30c196e5cf3753a0e876d4184457a9806266d3e436290a9d9896c78e9c6203892a9d5862e8511d457c70c7f63f5ba7637eedbb0f4ab76ed8ce64bf290f98114c0f326b8c018ec3ba88d28b7e146a1e3631b33af636c11a656bbe24dc43cbfe2cc429e84fb60e3bff1427493f2900dd9f0aed1df7c1510fa629ad473d2e32bddcbbfafa717a889311ef465c121784579443da935b76be97d7d06fd561934765db9344fea3ec4409d0b31b390d22f86191843d6e37d777cc8e8a5edec34e69d8cd7512f38c4cd1e90d4aab6a46c3433fb68d4b392c8850ad006bf0b94d78ea6081d51ce7b39f9aa65e254f9adb05243550fc4c377edc24663b6d78e10342a9706aaac244d001368b000000000000000000006a89e8b51815f5e8fd9e659eec56c8366856d20501bf14e46707331fc77ff92516e12cb25b0c3a0bf18a9d2882caa41fdfe4eb2119a2459da249b6bc6e3f23d4e12d1ba35abbfb0e961961328a4b2101c9c38047d89ddae6658dfc2fa241515f7b12b8ca79c357bdf4ec4aa0c2c2d6721ffcaf41107d4ec3af4257850cb66c12d0f834afc9b5f4ac808e7d80773c7d420dcdaee1fdd0f2d62e55a40209011b30b332b3d0c14d4041d58ea84b247009dcea5973fc8a3cacc21f7aa99dbcbaa1037119632437119bcd9a6b18ed9ea9ebccfbab7287cbb29a78f07e708e996654f2294c3da7277f0fadd03990d835b3838becdf9f4901f9e8e7ffc272bce3672a4b4cb989f3df5fde6f1604adf28cce47f315c72cf18f697884170e5fd57ae1034712a12495b627ab792d400000000000000000000000000012926a5b6731e66599d907c4913385770f91b103e1b072e98d12483a688f4b19309140090185ba802574057d16e01335eedc59ede451c146aa72c0ae54e419d23a671e5225a15039543c3b1e342da8ba16ea9c7dba464f74edf637dd4224f9cd1eedf6c115dfae7363382984a8772162a8a210da403f22c009203136d80171863947f55b48c65591d2d2fb62ee6858c2ada93941ed7895f9841e9851201a321993090a369ddb839ca0979e7c8c6d7cac3ebda8de4bd7055bbb218b511620d4d17bd55a09090eb9872b456aeeadd7a743ad65a50fe854d7b558990d88caaa2a8ab09b07049d09012afb31d0ff976e745a1ba27500820d92d6fca5b13db5ff96b13f51905046a4d6a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e7d4ebc6b7d65c7d59842ad93ee1a54e63c5a0df0e01a692bb464e57f6bdbffb30901ee19685744894fdc7f1f2f607e43fa01753c2204690dee07620a2900bffa7fc3312ff8017186165abc764a218ac3636196d9cf8d989974df3f0aa8b4fc13a2252810e20caa0d35312ff9017186226275857c0de7cc3bf2c0006472738b883e0829a6e5637f90a80ba4ddcfa0973f09016248f1313c0bcd995cb8c908eca722a4cdcd3c5f48a6c6db02fe2cb03a3a81e9a165477af971c552412773320c4c567228176872b3328334eab1e5acaedcc39e3f8e5dc1d57e1d9822c549b057678f25cce7fa5fefa17163d25153fe1b2f6f994e0f5fb2d47a84df264f26e63210489eeb2f2a274f2a82f8c61aaac5dd3ba8244d1b90fd32f45fee5310090151810e421c5111fda876cece5c9056080dd972a726a1e4428ab391a8618337020a0181399ee467cf03c8cd376963f8607f6e276a92dd89b19201f2137b4179f5bfaf210171861360ba191ef16d883d699184a191dbf55c7408c1b2f7bcfa70bb1a0a9d4c2de2094101b9eafba6c4c718db591fe422c98b3d9eaab1212c4217d10b7bfa96619c2a30c94f02c3931346ad190736b0fab0139776905c15dbdeeba04817991ad158e3cb31861b82a709ff11224f2415190738f5088b1bc394fb62a4a22daf0dfc14900023e60ec6d4cd59dc14959dd0a57f0d9e1907383578bbe26d685cdd03317abea7e600424a52b0593c10dea4270f7bc57f80bb8825097be8fbcb15cacd4bad0b7e6ab7091480ff8a8e566b9f33f13a09377d12e50a69c3190739b50ff653f4135296911a4f49f84aca85a6c002906ef30b7ee66193a515d32bbf51190765a2fa57d4d6e2f5ae8d1802033116982745fd5e1c51a08b0fe48b1277fac114a4d81909b5bcfe5ac6a61e70b02e52f8be996f9e3e7909aaa27a95efdfa5b528c8c433cf5dba1909130cb5d61b3701314843fc1f3cf26e69dfe568683bf5300908bdaa41da1deba8a5e9111f2dc5150b02810c8f02faceef1a14eaeb104c0864a565534f17a5152ef9eb82dd72116c06808f9ca701e7b88decec88ea71710cde44a2b0496fb2ca008a17da43138b1a3911054f269485e4113f0bc54e4ed3962928dea4ed30dc6e6acb1d28f318a696286a31610a01e98bcf7c91021dec06def30d4da8391f52e36ee64adfabfaebb0f4e31a7d01f7111f24432c1c9a293bb476887074caee2e22a5bc98b2858d6b9412dc667d6d0df38acea1d948da7ba45ba8d119a64e5498b247feaebd8b739b8f0070e47f6cb2d361a6ae2e89f0aaf5de3a5b29947bc280675ceb680c6ec2311af0017186401cd861d51220a7f456584ea2fb9f6001d2ea4c0aff83f825deb6c6de173afeed3904325b0881a86bac268ec7a39f04bd59bfeebad1668b7be705b8e278da30a00a393b6eb780edda79c097ce7bc90715b34b9f10000000001e61955552a75fd44eb3bc8a520617e7626f867c9784b0934d33df13fb0248fb79c097ce7bc90715b34b9f10000000009175577d243744580e4d3eba6d001ae4a52ecf41915633aaefaec812c0b255bc0a016da4f25e21ea9a9da707266a06a38385e4f45a7521d930bf7ac684d28dfc860e090131a49c135824a04a04360f4ecbc6867c746f5ccc530ccb0102622dd71f56c56109013e4006101e0fde5109283e76e0abb0a6496f75a63c979ef7bfe90c55a20c8c8831047cae0f1089b2c416fc546ac82f94a49374c48a6ed2011ad43b0c71cecd92f8990edb9a2db4090175505f6b9b08556a1e16c1c50dbb8c161c3abac8f3f50613e08d71037e0ec6d74170f5f9d3e35fef0d2fba6acb46454534d4fcf1d2027bd50dc1ff77ea016718c670d3def0da26a2a44170f5f9d3e35fef0d0ebfaff93008adcb69843ec9881d6b2e2bcccc3aa4b30bee9ade9a0221fcddc60a011cacced5b6f672ebeeb7e99dd69158424e69b24fa9075218dc525b51fa4c99d029d1adada9f99f1e7b9405b6770849049e59e363dedfa1a73f467405a64edd954f4f0709e6880901d6bc4f049abf9c4b0c663c1f137c302ded9772d4f923840246a2b5c0db47177e0901257acae0efe704629e1552412a67ef32106bf2191fb3dfef4bfeb844d40cc503090117391cd68366e6f2eefeec472aea267d5ed97727327927739f800b924f5d0f5d09016669faf6484b99ccf6b8de37b06ba36ced8277d91d45ddb18926ceb91bad8c700901ad8ec34ec3708e06a44070e9f8f0697fd925fc70d8115fd03b2767c5b02562260901940fea0027879592e27dbd46f7ce4c6c799e2f04415645566c340c0d318ffdbf09013b1d910ca21f4561e426cd233ad98c9a2925154a77cebf3bc5d6847a3d91075b090167b6c29087dac56105580e5f677e349bb179da137ece1d2430fd75ebdc1b22d509010b32db0729a5182cb3ad4f86f2328502c7db024a3656a057b33153f096e6b74f09014835b724a8d30ad18af48320980d1ff38ddc9b3fbdee2a6ac7f9211d9b05631f0901b10ef22029d3990a5edc1775a038412559a0b8194d37476656809d5c84f387eb09016278d477fe67124d3d3aeb8c2f5d726e6cd285bd543a5f827d33c759335b55100901a70ebe30bcfec080f540e96cd54c2b49c7aa18bf7b771b6168582113804bae300901dee3974538ddc7a0866fe26c52a389cc4c96767e5c09d3917ea04bb3395f7c2109014a4d16024ab61163e4442862311bd0fe61b720678d02e03e095437404b4b03e75979861e6a2dad8a248b8c0ea6150af75e4e48b97c1882bcea43aca1b01662ba932e546fe7d5ade1b949871e090190869960b5bd7dcfcf9447b302cd99aee59d882710ef2a0a1299920f7f7c685d09015d6c16992385cb5d833df31f4090ee6825b2c8701f92ce0477b63ce12b75b862005261657374726f0000000000000000000000000000000000000000000000000e46f3883d5c3a2477bda1bbfb8924fc5ecd14869c2d2fc38500a2faba696c14c000a8f6616edf999f5ce01f1fe1b894a726336cb13115a59043494944a072f579a4d1e7217d66d3d43fab8faba493feb42965e80cad570bb29988aab46c3b6153cb00c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6f47586930205713a6a363a9d06c15d0db51436ec49fd51b8de8900ae32c2b96c096f0d5c261ad9aff66480c7b22a49e9c185589b67131e8e1099d86a3536086637cfa17816a972b63d0679c935879cfaeb6453c7c1c8c9e853ece842d12de2a0d1b7dfde9c9617fba97871e6a3cdc0a9f60f66e0c6c0f1a17816a972b63d0679c935879cfaeb6453c7c1c8c902e961595aeb5c304f2849d4c1a759413a26d8c473fe769319a18e319ace9d3a09026e708a3dc48ed3b38f705bae99f8fef0f0c4881cc5e96537f32f6d703106b50c09016fe4a5488c3854e373bdba93eb4552bfb427e6951995bd65b2c3a55b156d23b6090292e278a79d3343959e9f5c390277e32d556e615e476cf0a108f9b4524688ac47a156abb6a3f25dccdada106191053b1cc54c196deec8507d19a898613091d6415824a6244a7ba6212ee76a9d0a7c6c904a82f3e01b09015aaf9b799076012479363653434fa93b89f2822dd6150e4b56377b207f26fbbc0901f826346b5d717de99d1774a11e6b897315c60845807efda369ac20905b3f64e009012ed7a51071d0844752958bd1d67971666340bab5f8fd15c2d471a0fde4506147a17816a972b63d0679c935879cfaeb6453c7c1c8c9677f8ff1a98b7c11868d0408a7f9ba3d523562b858d34affa57ace4e74caf269a17816a972b63d0679c935879cfaeb6453c7c1c8c9d7219df5808c4bc0854d28b38fb26bbded52e00a9ba02dd85ef8285e6d0c6971a17816a972b63d0679c935879cfaeb6453c7c1c8c91749e7427159f18bb6e298b10b3679b956f41187a25bbcdc4b9b0daee8e3444c00697066733a2f2f516d556a6554533668747756766b51766d6463556372786165f0682fef72a02e4f48fea058e5bd83e1c82630d0db2348003a7514d343b80a61006f665178793452326e636d566f37476f436a666d482f30000000000000000000b589cd787e4d0d1d47e6b6dc38a21581d7a2d99c0a2a61a4db2b0b836149ff04090123f933b221f2747e4f696debdecc366a1de91271d188a260a8215ef3092186cd0901460aedc9249b63a4a2971178bafff352020838fa1fb066b099ddef723a32d3e509012cfec83d80457e553b6c58f546dd5015923eb928e9e020bc002703a6c47129b50901ae2f0a3b41bb84ac766d32c6615da315c2323727e715c6ca7eaf356d3da269c109013295ce215f546349bf345f5f7f8406a76b4a37c24167ba851c5cf449de84b6a03904a4a455de4348ba4bd574f6eaa9f4908c97ddd69ae4939bbbcc78db3a6d2589821800363d06ba21042aa1e8dac60805d1eb0ec310bbb4aa02e9c61feaf4a8879215462a9719f06e271c8d04210182219e1d25a204efca6d46244cce7ad7d2ef46033c6ba0583cf38098dbec0b21040fdd2165a6de4dc6ebcd94d5b43f27e0ec3962ac378a92c79cab9df11395fa083c1d3277c3be9c5922c2c22b62ce831b53bc81395387a23aea94411ae8d026836e206a43364996812a9d53eba32a5b22729ca729227610346e5dbad9b528bf307acda1e21df661b94eef1a5405710aadaf463ecfc73ee1496e0901f10404afee7818eb073f32117a11d500a20c73c046a0e27b52f453bf11beaa46a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e2109690fd4953c3057fb56444aeba5a904b21a5215cf37c4af87636f187b2b38a178bfec5e4693aee12dedff44f40e5ccce66ddb1c7b9fca3d919f48037bd36a73eee0c506d169bc80a4875fac3ffa2e9d38c491db0901cbac5c7603ae0a7ff05beac2bc7946663fcf627d46749c9a61436fae633ac0520901df0ee468c7b9b9c10d8b28697256da3a2a13433ca96e9d30f22ad3495553b1d2a144ef12d4b87c5646869b28e6b62e8aca975afdfaa29734b9b4680e31e370be9fc36c9b54e6523c48935f7740c3108bc03319ecad296c01718640d645e474f86fe66f2c63f0857e0aff27fb4ce12f94d4fcf320ef56a21720d163090190b19c1f41dddb2f54d53ad0d8f961ec9a866c37b50141da2932ef7f3eedf69f59524d10dbc0a39e7cea39c8626163e80cc225e64719f6c5b9404107acd41f117f495f1157516b47e17a4b8b2165a6de2b483b68e50ca45c31cb92e1d43b79be414335d8e3ae2d72889153d9bd4fdf0b6a31048c2739500077c1fab877047b94ce5b6df69d1a164a0f1164ef29985f833c0b27a6a64747ca2165a6de2b8c838f415041162cdf3cbc028978669046f32675466b835a337dd17b26c742400901313603fbaafd9b9dc2ee76867de15c515ba8a3ddac50b606c0dfc9ef3e9bdb860a014be94257e76c4c0957240e07b32bf0a494b4e72b28ff32e6c51b5660e705ff99313b890171863f8296538c0df71d959117b23991ab81cbf8793b09a2818127cfcfa4826adb86e609015b05d98d465ff9fed32b201bcff0fbf6a2406f6c98dade1505a29b0be6d96630a17163d25153fe1b2f6f994e0f5fb2d47a84df264f0c66ab9e09010b2107ae09010019933f090108afd9f609010806212009010133ae7409010a1ecea20901068018cd09010c64307509010669606409010b2a8fa809010601f0e5090107b21d038901000000000000000000000000000000000677b0eb09010c41cf7909010b8e7b8009020c2c70740901095a7281090109fde82c0901056783de090100579c9a090106bfc71209010c377173090104f1c34c09010077ee580901007444c9090200e76a4a090100564914090106b5d97909010019a3de0901036d2629090208086c30090100041aab09020c67e2ee09020766c88a09030c6805f7093704faaceb090200462b3609010ba8f6710901058faec509010b533a5a09010b6f0909090109f8fa190901056d73660901073f475b0901072886a6090101b8cf1009010264c0440901000290b409020c6709578901000000000000000000000000000000010c09638309010bfeba32090101309dd909010a0b6b9d09010c6808ea09320638faec090106106b0c09010a3b7c1d0901056d5fe9090105ddeaff09010071973209010a17304c0901019ca8c809020b61f03b090100676af40928001478ee09010bd9a6fe09020005e4d3090100327de70901008c6dcb0901004dcf1609010b07c96009020669c2f5090106706ac809010bdbbe9809010561870b0902003bae2609020c68079e0901034021c009010660d93d0901066f19390901032648dd09010aed18af09020a400f7e09030115cc6f090105d6ead3090100e5558109010660ef780901031ded4909010c67fddd09010520bbea09010c67de0c0902086ab54c09010589a7860901070e5651090106eb4b2f090109f9d2270903006593160901001109cd090109efaa8709030b209e2a090203189bd109010c67df880901000a2b32090105fd971c090202009826090100445cd0090109cd4b3a090701c197c909010b4076e1090100053ca909010c6807a009350bd9a3d4090109f07b6e090104d18eb709020491c84209010ba9972c09010b2b2f0509010ad6dcd2090100414751090202ea1dd1090107582da309010c67e4750901074faf5409010b4085a509010bda074b0901029b6ff909010b4bc7a209010b0033660901002a5be50903015e042409010b55111609010775e475090105b091920902002bf77a09010b8f00c709010289e0f509010b39f2b60901060b2d8c0901001d996c090205fcd07f09010046488189010000000000000000000000000000000006aa50d5090107cbf6970901000d9d7209020bd9be60090104e9bb72090106103a1e09010c67db19090302a8b08f0901032bfecc090109cd026a09010c54a109090109c2026209010c22df910902001831a1090205d2c8d50902002689ca0901091fb83c09020567809609010bdde3c709010c677e4609020017b82009010b2ab89909020bcff27209010173ca720901000fa0e2090101ad82dd09010bb3da6a090205a70bb509010b85934209010272cdba0901000e553909010ba8ff2e09010c680481090103fdd1b809020c526e49090107a89cdf09010b096577090109f9c5a409010829ef7b0901002556e6090100079f640901035440a4090107b21d06090205e37a1509010a16ca5c090205f310ae09010ae53901090101af593509010978121d090104eb6451090104f7d30a09060bee7558090100001fa30906060fe9e3090109daec820901023cd82409010010500f090100dc86c10901000f844b09020aff4bb109010afc8d38090100107676090106c0b79e0901089c8bd20901057da16109030a1625f009020233cff309010c614251090103e73810090109d4f6ab0901051778c409010b409e5909010610117c09010389a099090201d1637509010329bc3c090105554ea009010055bdda09020035758e09020c59cfd9090109765dcf09010b77065509010304597e09010693d5ff0902060f661209010c096e9e0901074cc6920901041362c609010c5efeec09010684f20309010bc4c98d09010bc4ebb80901056789be0901031fe67009030b5b499309010a0f25fb090106c0bdf809010ad6158c0901001d5ebe09010b258a7c0902003b5382090103266c4609010b8566d60901099c928e090109f4640f09010ae5292c09010005acd009010860ce950901070e64fc09010033df33090200c29fd20905002745410901065e5d7e09010008644509010bf29a71090300d25ae8090201a1100b09010ae0313d09010a6bd8f409010019f998090109e092b6090106b441fd09010326a3130901005b30060902000003f00901064f91be090101e5a8b2090200001fa4090309a108fa09020c6143f90902049bdf030901002f54ff09010be5f3cf09010643c35a0901009894240902063fcff80902087713c309020b7e71680901001bbbd709010babfa4109010bd0d3a5090109a178db09010017e472090208f489a9090105ce03f8090106eba5b5090100782698090100657ec7090109d42ca6090105e80d1609010b8d46f109010b185fb9090100014ed609010401a1ea090102bf6e1109010848de0e090102f7ea4c09020000f821090105d9f3040901018116d109020ab7244f090109eaed9a09010554bf0b09010c680484091a02a1a2970903012b60e609010a293b5c09010c67d77709020c67f3920903009d1c46090a031392fe0901000429de090107f0739509020c6808ed0931025b4ca309020babde7109010bcff83f090105677ed109010009588509010c67ed1009020a69dc670901036517b009010c67de1209020bd007bb0901088ae94b09060b197ff009010577ab5d0901006b80db090205677ed209010bc7af2509010b500dfa0901018b7176090a0b0f7e6f09010401387209030961737509010c677e490901003ade5f0901000bfe3b0902000b78130901065d17b70901003e69fc09010644dfe30901079dfad70902086ac190090106339b8309010c22f90d090104ec10ea090101c9dfd309010b8d5da709010a2a8e080901003bcb22090400111b3a09010201bd1509010445f9f909040bdb22f6090109310235090103f4df31090105e81baa09010a22e6aa090101af525b09020c1522d4090201f129b30901054756db09010b6f9eaf090100fb09e609020c644564090105678be709010a0502ef09010182b94f09010a6cb63909010c51c6bb0901021f4d3109020c2258a50901008abfcf09010124ab40090109eb2a2f090204ebff3609020b106d04090103a75f4c090109ff727f09010b2b256109010b61acce09010339be860901001fb231090105073d650901090adb6f090109a4f89009010b55e934090105e73d080901005ea21b090109f5f78b0901008b4e4509010567820b0901070e69cc09010c6809ff092f0b8f6b4609020b32ace109010207a1f8090104b4d5ac0902001eb0a2090100146b92090600f0a9c709020c6807a709360c15164e09020000b20f0901003575a5092503fcee1e09010a4127e4090100c6a402090205b0a97f09010064f1a4090205678dc909010069334a09020b955573090109fe7a6909010b2a989c09010687a8e7090107a09c9409010a81c1d509010a5a33bf09010c66bb1209010a32db290901003515870901055f03770901019cd93c090101571730090105678f7d090109cdb2160901000923c8090100e7171f09010030f41609010b17c7d90901054dd2df0905048d7abc090101538ff7090103ff66e709010938ea8309010000002f4201e5111d61f778000c515cc13278fc6fa250000b20d5853902c5a0525826eb00198ea73a01f04119e726ab07dbf5d1323eaf68e46f0008061fa53927c1250c1e32fe0133961d32287da4bef1000a1ecb9b3a06b5ec39cf3965067fea23323b13b95877000c617784322a4cf9fd2d0006625924322a9a3acf63000770e63e3ab017421402cff90b2648ac322811cbdfd90005bb81993a16345d84fd7ba006771350322811cbdfd9000c41cf8c322f58aca323000b8e6e9132d4e04b3c360007649f72391ef1b2e7fe60000c2c69cf3a0743da7c0b1c4708181dd232285e5fd7920009fde3c73914fcc59bb696ff056747893226fde45ecf00005797e4322a18d8824e0006bfae4732356b3cedf3000c376c6d322811cbdfd90004f0967732db65bc758c000073e7b6322f67162a2e0000743752329f7f3d0eb5cb00e75fc533216ac8e375c000561d0932f640e036610006b469933255aa0fed21000019a12d322f67162a2e00036d11ce3a0ec9c052e1baca0800f85c3278a1f544e2000003f9f9324df4f65319000c67df913251da5cb3af000b24ff1939354a6ba7a180020766b1ce3271823e01ea000c68011e3a343b838e24f88903a766c73a01435982a96300052e733531e35fa931a0000046273a322830402975000ba8d5df322f57dc0560000117fee83a0ec0fd33aa32000b44e366322a6c38eeab000b69876a32270b2fcbaa0009a5ad6b323c2d72f73b000556cf6a3a3830032768a0000bb23f913112309ce54000073a596532357a7712c10007287b3c328dd089866400085e6193312d79883d200001b8cbef3229770747e8000a419af53942af372e6f20010264acf732bc926e31bb0000028a8d324bf72208b0000c67077b3a03761b910ee9000c08b8b83917642f7a93e4bd0bfeb0de32c4e6e72ce00000b2c027316d23ad5f800001308cce39124b95997c0aea0957158f32285e5fd7920000903f65390793f3c34e50030c6806043a2f7a8b284b0d220638f2e0323b12d6d9110005d03aba3b37b810daa23fdc0a3b71f539019fdbc389019c056d601332bd2efc5b7f0005dc81003226e74eb8450000af040e390728a1bf38f000007195003b257c71d9d67eae0a16e2143a14f68cc320a078019c89ca3b9a6e7f18365f3902d458a031062f3f95a0000b1d051f32277d0a778400006765e13a26080a264e369000043a133a1b1e27620155000bd9a58732a7db68ec68000005d782322a4c295f6a000032762a322933aba83b00008c61a2322bc5115f26000c67d1c93a1eb22be53345000014300c3a07448a4b8298000b06031e39065bc1c2d7315e05d2adbc32270b2fcbaa0006604aae32b1fee9a95c000bd4cb403234cf082c5e000b951344315af3107a40000561873c33e7dc91cd9228003b993c324dc4ca1fa4000c6800363299e1cdd54f00033f6a0e3a056594fec7584a0b951582312d79883d20000646b60d3a06bb6eb3f15c15066f0be832356e4fb5f70002daf38c3a07231c46551a4a0aed136e3a0643f444b194a50a3fb741326aaf505b940000cdf3843a07cc564ee727180594fcb13a0139dcf5e45bdb0b2850a632b1912dfe130000e522fb326b804190e200065937073a0820accf6a500002b4820c3a2bd23a842363160c67fde23aa03a8b22428f5505209e92322e72af2b4d000c0b3a2e391572c8c51ff82e086a9b313a523ef0b8932d00058884be3a1772f6cb55239806c64f943226e74eb8450006d5dc133a063eae9072467b0c60b8d93903e28a86bcb55901665829390e3b276187c40009f9d0de3941b4e2f9cd009e00658ca03251b4632f30000c5268c73247fc441bc0000010fa7b322a6c38eeab0009d9f5e832715f4b59ad000246170c393822042b7380000ad0d95032f745047b660002da86213a052f09f7852cee0c06e26f3a1710a4c929f0940000214d412b85e64d385c77b30009694f32297636aa250005fd944a32b1d618f7a300020083183a08adfb6136a4b2003c28ac322a2f8bf63d0009cd3d6d3a0101033d331c0001bfacb0323744c4db25000b3f3b9c323d37e08f8e00000532c6322f67162a2e000c6800383a32558ca5c52da10bd9983332b2aa765d240009d628a0322d910c4ed200041209b03249a81d9a880000001cf609020491c5e1323efe56dded000b94ee213902f5d84a4647480ad6a75232fa28e81f6b2f003f05e13a02164b8d282d0002ea1de13236a0e12586000678bd583a04b4106596d6ce0c0e701b3a3cd5042bf7fb20074748003a0d0393910a8a450b9bb088312385416c274a0b40549b3901a305729a68dc0bd9f8c63a02fb5d0e94eb76029b6d39323df73d9e49000b2daa043a13d3fc726a7b3f0af9e1273235e3ae6988000029fa563a02e02b74baa996015dd46f32fa29b8bd2e2f0b5506b63a2421dfc3d1f5eb075444923a037a2968c32800056d1af032e702fbc5e0000055ca393917968e9bddd0080001fea83228203566e4000b8ef68e322f57dc0560000288da51322810fb4216000b39f2c1322701a401500003b7a7853a0d39d8902fa80000066915324dad8d947e0005ba36213a21fb6c3f63a66905c643581102d106aa20eb32407fe232bc0007cb5f9b32c46d7b5a6100000d9aff324da9c2063b000bd9a3e232278e0f90ff000405f1f139037803638fd62f04e946b03a01df501fc3960005d038d13b30f58adea393940c08153e32e5bf87528b7402a7fb26322770127cf70002dc122c3154536ec440f409ccf4583908d0533492945d0c526ac03a01b09b3908ad0009c1f0063934320e8087ff610c1b5e6732f8cf62d450000017e9004101633f21bfaab53405d2c72d32993ddafd1740002678f932271d64e0f800091ba0e4324753be443a000567478e3226fde45ecf000bdddebe3235ada42c9700034a6a64410122129a8a42fe000c1ad0a93946b350891e1386000b1a62410dca9095f543bb890700171f316d23ad5f80000b2ab8a532d9bae8b7d8fe0bcfaee7322f57dc0560000173c42c322f57dc056000000f87383a4763879fd9270001ad5872322a6b6850e8000b31a6333261c4c82ee20005a709c532d114f29e1f00062bb81f32323f7f4bc3000272cc643a04142a767bc011000e503a32356a6c5030000ba8faf6322f58aca323000c68031332ce2977ddb70003e179023a01ea112ef75f5e0c5245b231651e854f700007a7e510327e36e2e51e000badd1c5312d79883d20000b0948c6390e232b7f90b18009f9c0cd3901c981369935a8081d25853a02db4480c5136700250cda328b033b890c000007995632cb246690640002695eb43903ca5465a9e85207ac1aa83a02748344f70b0005e31241322811cbdfd9000a16ba0a324db2e87ca40005f24566322fa33a0b65000a3f3374322add966f10000b8f8651312d79883d200001add144322a5c3421fb000918ccfc3952be7de57809690420d23532270e12e4a60004f7d31d3a01e3662d9197400bee5edb32942c4198ba0000001fa5421fb4f598aec9fbc305d034883b365663bb27bda109dadcc339023b57fab9abc8023b72b7322810fb42160000104d7f322a5b6384380000dc837b32356a6c50300006316c8839237dda214e6008000f702d411c85284fd99258aa0c680a013a1ca575c01115000aff423f3913d173da3cb9ee0afc54c5390a1dd6054868b0001076af322a5b6384380006c0a59e322add966f100007f36510322811cbdfd9000559058d3a0105044d7b72be09e8400c3148c2739500000a15e993390adb2d23d4f1c90053bb7a3229606bab7d000c5dd2f5390496452197357c03e732933231bf70bdc70009d4d8633911a601d552c7be0516fe1e3b2a4015f26990c60b4081df3a47fd952fef7c2f05d036aa3b34c1a6c9bb52fd037490e132b4faaac71f000134ba45322c199bd1750002dbe764328cd77d63f5f105552739322f58aca323000024b54e3a12c21704b811000000f5d1324db205fd3e000c59c9583a23f10a92d0d7000c6803153a2223f0aad3b31f06648fde4102fac121da0b06510b76f9c23a1bd716e4db0900030430af322a5b6384380005d030ba3b2e3fba4a4bd9e30c096cf132356a6c50300006b079ee32270498fbef00041358f5322830402975000c5efd2639dd8b4acbc77a1805be472632270b715c550000002a3b39c060f02190c8000bc4c5d232942b70faf7000bc49f86322810fb421600056749353226fde45ecf00003921e44102ac9ba10837c000031fb92f32718ce7e674000b5b327c3a01a5b28f1525000a0f1880326c95ac800d0006c09a98322add966f10000ad48e973a0d0f9cbaa2203a095834d5411f2178e1a8ab7001001d574f32356a6c5030000b257bc13912ed745f2db6c6003b539b31940307c2800002dbc10f3a03f7f77b2d9cff0b85453e32fa29b8bd2e3b0992c0663b1d0f4231a8990009f462983297ff1385f2000ae4da1a390468b4d98d051c0000745f3229460a76b00008115b7b3a47d8712a5b7f0007014da33226e74eb8450002d9a53e310a1443614f4005413e8f31246139ca80000025e081324df425b5560000c2964632b33c07301000002728623274f1bc97b80006293bac32270b2fcbaa00000861c0322a4cf9fd2d000bf24cd1327160dab3900000c2f2c63a12b83a3fdf3b0001a10d4d39d88c554f4c22000adfd56839042a69f4f3fba00a64d62a322a5c3421fb0000196c88322e90a053930009dc4dea3a0f35b653d0b87406b43e2532357a7712c10002db8b1d3a052baa2d561de20a4c1bcb312d79883d2000005b2e2539333fab2c9c7c6c0000028e328401ab13430005b3148f3a0ce50f476c3e260c355294390a9f639fe0e00101e5a2bf324daf8242520000001e0b41019cef1dba180e34028ed6a039018a0c4092045c099996f53a037afa87bdd0ce0c5dd4fb390333d8242113d502b6623b3232e663e7c300002f4d7f32a857c9b986000be5f07e322be432833f00051223573235b6418bc900009894523a01191a09bdfa00063fbd9f3a012e2a4d79260008771082391179237adc68440b7e6ca93269d57a4088000c515cd039153b43d630197b001ad4053228210604a7000b94459d3229561b2f22000bd0c4be32b911de96b000096b03c632277d0a7784000017e2893273362bc8ad000a4b3fbb312d79883d200004461c2231f5904616e000070017223901ce692d85d0ef08f47ffe322a08981ad40005cc9a453a054440fd31100006eb2c8b3a23d6a64b3bd30000781b5b3a0bdb2f3e28709b00657a0d322967cd231a0009d4263c322f67162a2e0005e7fbfe3a45aeba54a0a7000b85f152322b176c3a44000b1856dd3a21c930528009ac00014c3d4107f67b64c9c589c50401050032abab044e560002bf5a793a0b2f4987b940000820a29032270498fbef0002f7e7c439226a8e88a3cc460000f5e03a2402e3036eac0005d9ce71322ced9fcec700017fe73f411a60757d070cf2000ab2c07232356b3cedf30009eaec2c3902a8c3eef4bdf10536bab93b0bb897ffdea5290c6802073a18b53e98fae366011911c73269bcd814a600011eabad322810fb4216000a291784390398664f09f3a70bfefcb63a02ba5971f628d600b1e4593910bb4b0ad579260c67ee413a023175f84aaf00009d197a3a0985cb050e8a7602c0dea33242a4c825f3000003ff353229770747e8000b1fffae3a04ccd605d8bb0007f05a5b3a0149cead855e000c6803193a2e8727771b48ff0a6de00d312d79883d200001f8aefb326ac4fd8cd7000babb53239bea2a1819f49e20bcfaeef322f57dc056000056745ac3226fde45ecf000009413d322a5b638438000c0e77ca3a3e9c85ae3d7ea606f90fb43118a5981233000a5caff431766e2fc0f63402ce87dc3a14ae70a14d97000c01a96d39122116f028465a0bcfaef2322f57dc056000088ae0f032dc59a05317000b19584b3a172396df85cd780544f49932270b2fcbaa00006b60b33a012db205b6b800056745ad3227b12bf263000b5d01403a075ec9e69360a30b4fface32372b4625be0000f97b5f4207212ca7732656000b0f10aa3905907cb88de7b40400b0ad3271e1f57a1900095fdb52323513db4e6a000c1afa8f393f9808a3ac5731003ada48322f57dc05600000004065422a566631615bb5b800004440324c2a9c9ef300000b6e9c322c91ef7fa50004f62d423944d0e9914ca00406589ac2324a872ada7400003bec053a044295fed86f030644d56432356a6c503000079d46e43b09e6cb6ea4eff2086aa23c3a2af736c9560500063336033a08ba03e4cd19000c22a54d322811cbdfd90003b30853322d858bd6a40001c9c26a322a5b638438000b8d5454322a4cf9fd2d000a2a713532b5f4a848f00000204dbe32912d43f9cc0009e8ae443148c27395000009e8e55c3148c273950000001113e9322b8da1817900018197123a04d45bf4dc3ccc06da451e31020a1f6a7900034a9b4d3a098577d4ae7c000bdb20ed39a5c06a979d684101572437410140500ad528f01f02a835dc322966fc85570003f3970d3241127f3e350005e804de323b2b84f0b5000a22632a3a070aeb2b01585705e8cc8a391930514375200001add14c324df5c6f0dc000c15185432495f5531120001f11b9342018e78b1397ed9000a60083439012d908be563250545776439277c14d8cc4f7c0b358554390843669f6bb4e100fb054b324bfe9b57d10006e346b04104dca0ca6af1c8c50567493a3226fde45ecf000891af2732285f3075550001828d41322fbe7dbf9800092dea034103810f6985c940000a66ea4f32b4e297a855000c517d543259f4be52f500020717fc3a0cc93f03899a000c672eca3358e0ba35b3000c2258b5322811cbdfd90000131b163a06bdd7efdb2a0008127dca313691d6afc0000124a56e322ac972a1cf0009eb1fb43a0159195a41640003b356533266b5a26a77000b103ee939064fe25927e76f039acc16322701a401500006107c5b310345b9830c0009fed9d7323a40f7389b000b61a0ae322beadb349d0002be170b39083b2ffef84aeb0ba7419d3a0e35fa931a0000001f7926329d5411b6b40004a3dbe83b1e7053e20c7ba508feed23324ba179dcbe15099d6cf53a01e664745bc5020b55d8d0323c28f4989a00059174363b072f2bcf9e07bb005e825832285f3075550009f5e22432c17732f229000057c1e2323ba81b62bc000bf6e3fc312d79883d2000056747933226fde45ecf0007016e073226e74eb845000c6804913a2ca0e536ab5d910b8f6b563a039bbf383c98dd0b32ab86322beadb349d000207a211322f7720ecbf0004b4a830390149c21822556400011e7732357a7712c1000013e14732dccdbd29320000eda10c392ea24f4ea033780c68020b3a3348659e826a4a0c14ddc033ed1b17a818340000721f3229596991f000003558e23a04c43bf509890003da1243391069d0b428cac30a410b2139027cae0e8d70d5000dbfc53a05b7b60044e80005aefea23226e74eb84500006145fa32bb77a26489000567493c3226fde45ecf0000233c193904bb4ee9020ecf0c51976739012f0b2ba3a0000b90564932dc877e70890009fe54073902114e1a1519300b2a91993a0104ae509d09000687a60e32d41d81fd4800078f11223251b4632f30000c67d1d73a1e66a2ba70a8000c5268cd3a13a79dca1b67000a78f227390b3c83fe966f7c0a59c3d0322685433432000c66bb1d3ab9fb739325a5000a326b7132730570882000003499fc32ac97e6125400055d1385322f67e6c7f100019ccdb439d88c554f4c2200015704ba322a6b6850e80005674b133226fde45ecf0009cd90283902f25cac4379e4000913ab327db8ecc83c0000e6ba96322a6c38eeab00002ff8bd3ac38f22a3e60a0c0b17a27e3901af152105307305488c9c32f1e2a3064500048d38093a025f94052c290000c52e4a32b433aab01c0003b031e93b0ba92c6de0f24c093898c9323b9b11868c000597bbcf42397f022f767c7a7c0000002489010000000000000000000000000000004d070a5197895200000000000000000000000000000054070a5bd9006d6ddd63ddd4a2157b38227c662e6d7952854772e2f3579dfb6bbe6a81973055070a5bda000709fab9fd95a8a0c200e329921b1b8d6800f788144e4daa7e50acde6057fc94070a5bdb008ffe7c315ac533335a182ac2b299acffe92810b4d5a6f3392b44c18bbac8e384070a5bdc0000f66c0a665811bd0cc14d319339151f8f59ef9ce4205ce2da326a8fbcde8512070a5bdd009fed2925bae3fdcc8e876587ae7d84a49bb7b05a241c01ca8c641ccb28e27fa1070a5bde0056a07be9babf358e6939609d16bdaaf25d0d7d5ece9e955b7e61e0fcbbc512a3070a5bdf0009900c19f7270a23399e2a1cd7a18623ba071b7d024853be75ac912159ebf289070a5be000bd852a8b80acd256fd209287595c4a4b487c82d16bac6a306b9ade6148f8ffcc070a5be1009982bf903474e958933dada56128d7003252a71340d03bd2a93baa1f47f7f4cb070a5be200377be92ff2e22a80607b9682548b57db6a1ff7b4e853f81d79b1e06a8464fc97070a5be30061bd1f1b93743d45db854d7f211309f3eff323ee728152b1b97d956f2c4d3823070a5be4009290725faece0b8804c81b21f62a92b06acf54e28ffe8bdf870aa2ddb7e09130070a5be500697b1c38d6b9582d41b8adf4a41a0ff6c20e15bc81c3899db7a61cc594f448f6070a5be6002efa65cb2ac822400156a605ab9a435e1d3d278e825efa3f2435cfdf652bedf5070a5be700c162bcb089f06c0cfc7f00e2e4863e2badd3e086db45acf08b852b4e5916208f070a5be800d8839e92cd3f6b32e5db6dc273e928e88c3fa42e6aaf46d0798640745bda4712070a5be90074e96903c0088ba0a33ba5f1f3b0df345dcbf84d5a1ab344b56961964430218f070a5bea000f4ffcffbdcf3ede64895966ff0004b664165bbe0c5ac5877fa9a2004cf4e991070a5beb00f9226300947636f58fbbfcc0b2ea48fe6b8926a42fad01ad8bf17222532377b3070a5bec00144e5d780f5e8e63ab026594b2b646aaf4331c29c2aa3a98a8b2a2232586bbf9070a5bed0042c638e91fae55af2f7162c90be63d81e7d2a8d0c9c9b0e188566b1ef0f6d801070a5bee00f856242dda26db04d3bde02025e471aad0ddd5e990d3e0d56f0e963503c03ac4070a5bef005b5ecbc123ea027d3fd8fe859b92ea983a6bb09d02926cbced73163d353188b6070a5bf000c3574ca2d0b213f6580d8f2a4db53f9cf00cf62bc1cbf37bb5ee4aee314f7fb5070a5bf100baa903bbb707977a5dd902a116c217f00a5f5a3ebb4054c9b5912274d5d1e3b4070a5bf20013c90febf653fb0348d9699ddd7d8947d59ddb1bbc32035985a47cbb24a2be60070a5d68007ac4b937f9565187f243c181707b57a59fd1f5f39987b15b33419a63ca72da01070a5d690072d1ade4dba274d2e1ad9455a658036f58bb8e6949f61b8e20420ec2e9d61ec2070a5d6a007188ebb23df5cdde059cc951110a7f73d528063c1605776c43b0eb5770d32928070a5d6b007c0fdbe358890e7bbabd96af73caed7804a97cba21783a050b88674cbb567a65070a5d6c006b4c52b358482aecc9d32e881bc54015fdf330b2c8e9dc2eec54074d684dd39d070a5d6d00b94b9d12fd4bcb411a316ffe858dd56ac6911d118663cc99fb84eafdf7095937070a5d6e00f1c1ccb97fc759e38fa46bed43b4f3be2f317cc73ede6e3143f23eb853e06b7e070a5d6f00e13d13242407f1de4f35d773c34319ff16b3689e44ceed365f6cd63680c3d030070a5d70008c29eb8041bc65d83ab58c2da3211baf91181436a3b63841ad747622faad981f070a5d710090303b47416508494b02ef5bc09d8c5ebd82aeb714ab5dbdb5d3ec2daa8ee5a9070a5d720031cc2923a8c7151887f9ba4ecf0200e239f34e1069e9f965997ddf0cb53b5d22070a5d7300f91229b9061141167361f7434fd4b72bf0d3e96e780c07a772f229e8b92ebf3a070a5d74006b4df17ac3c6cf19bd6c9629fbf2da722dc1170911a1773e6e7893135064f1c9070a5d750097ca97d150a2073e39dc94f8b0d9a9a6f88420fb532854aca77603f1675f37eb070a5d76008582c2e971c1b4a19f2f3fd9c3f4a89e36894a60abae8c4c8b2522027cb15338070a5d7700dcb00fc263f4cc921eee1c92673d6eea3d0b2ef62973104e5e8578ff34684204070a5d78009246e2bfeaa6057a6094f47c3fb865dae8b3c37a14580fcd3b1077175be4052d070a5d79003365ee5d0809baa3b40b430e00295269ac70b3d8a7cf9a7e1495ab27bf27b3c4070a5d7a00c458c29d92e8a8f8794f6feb4cec8fa54472c8b3c3a3a3a3a25ff76f657a08c1070a5d7b00ee18964a3e32fa71b872c951d43e130de1401309ce478cc0b5de678fbaac113e070a5d7c00c90a52fbf38019fafbac330dc28cea28f37ff93d139af7db00f9437ad1c0b042070a5d7d00fafa57de19eba9f28dd376ca2a6536fd93e85c7d833340801e060b5d68959def070a5d7e007069c6eb8fb74dc61c32f9a7a4ee845ea4d2ffd3e64d411e3bd60b72cead5e37070a5d7f00022beaa918accdae2feec5f9237a2ee83d4b82f265ce10a24d772774a1a42400070a5d800062a78e575d55449a5c44085e8d183504e8423d19c22de694a52e50bc5bb1b082070a5d81008cbd7b1bf67f3d8bec0a0414099c3121ec834fc71571065f15eae86df2650ffa070a5f4600d4850de787c7f43b65848bd2704a33411ddaac19bbe343c76f36fbb226c09f7c070a5f47008bd4f9a36128af6473be2cc7f3e6185df45d207b9eb375c4b3896769bb7d9395070a5f4800f8f2044fea300a28e9baf449e9908308b7cf41cc3c94207c7c2cddbd80694a21070a5f490095956db16a70150ea5cc2dce87bcb0bd142a8de3ab43b76e1be7d05b6be6ea09070a5f4a00023c43e4072d5232341c2f8f7105118e040f75b94e8d8514d1897c0d4cf8f374070a5f4b00cb2355cd0e3da87b2fca7f1e10bf45ea7ff04b6823728cfbf3ef28ed50b1b9ea070a5f4c00d0766acdca630024fd9e93dc0faff11e4088f53382b9ab594a3e0216fcf8dcf6070a5f4d00d4af8767239c07c84c2d913447ffbbdd2eb208a6442e2b73b1479ef8052f1c10070a5f4e001031fc14a65bffde9d99bd4217249e0702e3c1292a363dfef4d0df3c87f646c9070a519800040dfcda364264a10250a8351d85760e5f1c792e1b9db6bc5bd1de2942992163070a51990010a917a1b1b18c06b4185c56a71d7324185a40157e4946c2a220c1b8cc6b8125070a519a009143965d07019d59398f22ebc20bd7ec5ec20ce33528047b5f786329a4d37a16070a519b006c01d762f30c93b4c3013d4ecf8a9949439a474ccfe9fa2ff1355ca2abf0a303070a519c00d96f7c034e15beac5793b085f44ef0651af9a93a000a7a4b76b41b951836d264070a519d002b08d63b52cfb758f53ec40ed6b8336fec91385f9314120a481870e9ecb29ea4070a519e0082c62bde8e27cb11b1830685f112856273ecee17840f761b3c1f8d999d49d6ca070a519f00e18edf2dbd13501903870e36b56b5a567aab1cd0cef198c4fba92c2c834c4641070a51a000ec127887571a1cbed8589954e486bafced260a12cc4d64270eedbebc8bb3ad5a070a51a100007808b24cfac2044ffcedf329826092efb7dad9071a3386e34667a8c6e207a9070a51a200ecc041d8572ec21390650cd1cac935a8de9b47e24097071cd8d867f1cbe5db6f070a51a300584739c60fe19e4be6127ae4241430e63758e1b8dd181be3ec1127561e5deeaf070a51a400561f4aaa956190fe717f30152dea97e9a79ccd8f8c5b2641e36bc5abf578303a070a51a50083dd8255250064311b6cdc7447bb2fe2af5734fd9a740e2f7bd7c8ece9a85ad3070a51a600b6a3cc5e298d2d526ba7d457f291f82e1bc23374e50dcd30e89039febcddf767070a51a70008508bc8161c992ddf482fdb73912e60937b8b8276e7befbdd4be54eb506398c070a51a800bbeabe7a3667da4b51a8b94b8ed9a3fcbdbd5b26bde1d58060fe49dfabc0fafa070a5bf7004a280ec902ab384c80401403f27f293f9fb9b64f3bf0312ffb380ba16b32fb25070a5bf8006d20d1f212370912efa1d590db2e560c18886f5c2d74444b3782ff5b0ad86960070a5bf900e35b3c32ee3db94bb7360466f310a021147325bef615b7ebfd4b244046dddee4070a5bfa001e0dbc9f581223db8c0bc92de7823a7c60f3f4c87062364a4f359461f49578e4070a51b489520000000000000000000000000000005404cd9b8b194faed20b243cd9d10b00a0dba8c0fbbba183fffffffffffffffffffffffff95aa3ba0c094696d112972607071247ed9ddf00000000000000000000000006f50b180a44533df10180ffffffffffffffffffffffff8346000000000000c05cdff5d0a500000a44a69449fd6824ad9b95702b410a44a695b10248edd51289e8a7cca89bb648ee14afe9383b6137a30055ca673903bbd58314d3350055ca683913dab918c8fcd300ae069b095b00ae069c29214b5a810600b1fc8b1902388200b33c1c11aa8b00b1e78621014b1f0d0a3f8c060b130c6808fa2102556bc106e2e8ac71060eba4d771d5f2580c4f55af0d806dfe728aa240000000000000023899629915b43fae0e5eb9edb06dfeb88a29854d091fffffffffffffffffffffffff8446d0306dfe72941049f5e4e0000018806e2e8ad1109990c6786d379435fd717081259938d77160532a9ed0c6786d4990682c5a4e34ebeb12fb14d5983e8634a22c20a0c36b9b4792cca63e4bacf5b5cd10324d2a8ac2b0c36b9b5990477339d209eab7ccbf87b6165a05c39e4150602831e4f4202fb6929df376a5102831e504102fbe64019dd65350b8e7d874904e6167b4922d798500bd2b8504918650127cc3dc800000c6807c14a1b1ae4d6e2ef5000000be4a3da4902b5e3af16b18800000b8220b7030afcb38b4a04e6167b4922d7985009e8ae590901022d52a01af3d745022d52a119f419330775cf5e4155fbafdc33c988000a21c72842d1f3c1295de116ad0000015639711dee449a58b305c673c01924259a000f0f3d490193f24bd6d41100000ba74de54901040ac1d852a1a41f0000215041e9251466e89f46320c1608bd03000021c64101c477b9126962cf077630254140ea3a16c0959bba009dc7e9030c6803331303050bc7f393427672bb4157efc3a90a38ff6d291b6103f4190a38ff72f106e1000000000000000855b5b3b66a0000000000000000000000005b8d7f0a3900fd99a05183cfcfaddf218bfb3cdd50c9259c7c08100a3900fe614b8f82b2fea145776931c3580c5ea8a2030c02aebb81c86d6ea56a1115b76e77ff60a3bd7b2f0b98862d893c0000000000000000000000000000000004e468a05103830e756d6e90c1f6840a60470f4921aa81897338b5df6b04c7e4bf5203830e756d6e90c1f68401b401364a21aa81897338b5df6b000f7641490193f24bd6d4110000000f76423a16148d3144922e041f12ecf101810000000000000000000000007cb9ffffffffffffffecf0504b95f11604258eaf5909cdc071e8a2b2a49315ac04258eb0a13b0f43acedbe1a5c683f1d1926ba5391134fa7e00153fa441a2ceb660153fa4539041533775289600153fa46110100015408bc3138682b16a000015408bd5105207a0234ee0d634c000155a137390846e94ae9209502d98b76096b02d98b772914e31dae59039809cc298c39e3218a03980c01292a115dbd4202d9a56e11d83c0542e1f3494efbcb440149940000084b25ca0305c64e50310156768521d40c23b1e742023b4af5ee4800000052ea914a4ef98ffa61d1d121d404cc8e927102a44d95485a4cad0f075164febf04cc81968903feaed71e34638bc44dfb75189dec1a4604c272d4aa0f000000000000000ecec162a8f52c310118b096c304c272d5aa4639526cd70000000000000000000000008c1859f204c272d6410109a3b00000005804cc8e93190186a004cc819731024c57b536340c2cf5c281017c1d7b9875cea9b016f67a025c06d20c2cf5c3992dd01d70de3fd1996b3392218d84b5c6b5506f0c2cf5c481017471f7d38aaa339b93033f17148a8e0c2cf5c5992d26fc22f757aa27d0f6ecadb03b20fff250bd05918767095205918768290fa9a8ac5b05a4deda31058160c9fc6305ae0b3a3102da016d8e4f0597bbf12a04cbcd780d0c680a272a0aa6d5da510c680a28290fa9a8ac5b0b3dc6c70b01072b4fa5211e3a627f0803977d13074a00d1e36022030176dd00d1e3614902b247fa7757ee000009a4f8df090103f40694090103f40695419f325f4a4e0a91d903f40696420b9163762a3984a703f406971117d703f5ca7e5918babe0c3f8264355d065f03f5ca7f5901cd18a7d5250e029941030b81673a09010c680909a2974dfe99c61e93bc863fc8091f8c6948f693b58e03cfea0509020c54a13f030000928a1913ec630000928b3a01d02222f7ee1f0000928c09620000939829900127da480000939949045f1622cf1cb4925c02cef47819a71b5b02cef72d39086727102ac37109c0754f090106534d6a8902cb15f25e1bd992a6be8194dc6fc75d310652ee338937000000000000000000000000000000000c6807dc425aa86fd5c7f81c5c0b2910b641b432ebf0af45b1420c4b625842b432ebf0af45b1420ac1147841eb586625c40c51cc07782a0142eb586625c40c51cc005502ae19766e41005502af3a0ad21d9f971e8d005502b0096c005506dc299139616b28005506dd49046e64158b4d62942c085da0520901085e61ef090100001f3e22138ce20007a8a0941902bb740c43d98f03003b544a21047eaa720c5480a1030b1216cf0b010b2b03d421016d63950775e4de191f5c36074fafaf198a956c06b5d9d91a21a32409e1e459110fc201af5d8e03029b178f194349820c5ec3d8030bac5edf0304cd9c331950755d03d46f17210f91b3590544110e0309a8606522015d537b029ae042210d9d2f72000f851e0305f312ea81ffffffffffffffffffffffffff9da130086ab5a221037bfcd300f1d782194c4b400046083422037bfcd30b0b04e9030b46da6c1a1afa8a0a6742bc22017b46330935bbc6030000219f2137b6a3a401b7ada42202686ee80c6022162101c9c38004c2732f211bdeacda0acb35850305942c2b0300274627194c3af209cd02c81a65f3be001994a919124c0703ff7866211a4fba0a00aceddf1a4c4b4004c7e4ea210f4327ed0a293ba51a2c88020b0ae8c01a75512b07cbf31503036e1acb220129bdd20153fa591a2ceb6602f7eb110300f0aa8f220214a5730102ee0d03025b4ddc0307cebd8d03008ff8922239a47ca60092d30f221dcd6500084bb4c6030687a92f030c67de5919976e6d000092a91913ec6309fde86f030a854f3729010becb92609f83ffd123cb109e1e2c0210301632b000021d11939565500fa05281a74a37b086b56641997a63c00199762220177c8d70a32db7e1a4349820ae031ae1a32442d0c643349030a3bc80019e287c5044b21fa0304b4d64b03088b1ed203034a043a1a53e83a09c179bd21018722430017918721030c4d520b258ace030b7e946d19404db30ac22e420306378d32030c61447913016902bf6eac1974a37b0b2076f01927192409eaf0c22120daf6fd0c680a361a1529de09e0930719a1d339086ac1f02101d42d5d076870660306706b42030c51c6f4194c4b400300f28d1917110a0c67e4af2102985e8609dafc861a1cf36b0ba6b530030018327f0309f9d264030a3bcdc41a170b070548bba821381fe6750728854a2106b5eb9908570d4f03017d0e2a030548b65519121b9c0597c0602286b4dbd405150aac03059ffcc6030339bf551a64a225058a22ed19fdd40100008330190e5aa80c2b4d42030c61447d0bf2007fc4fc030c67dfe219f8c2680c4956af190da9e809eaede21a22e0810b2107fe1a2387070c644247210b4aa8ee08e7907c190f42400829f019191895ec0c680a38220f54816e00e556a52184eb185400c2a10b220d9d2f7207750b59030c67d7d419e3a89400fbefa829012aadcac000a64da7030bf926de03005b4161030a22e712194876e303b209da0a010b90c1be0305fd9627220423714f0389a14119c93f77000040a62901b38092c8060b2df31a09c6490719cb2a0301f71ead0309f1890203056d7414210265b37404b8be370303cda4d821017b463301bb1af9030c67ee6f1a09c6490c558922030542e2442256e6e06c0c1e31270305fcd106210171f8530a09848d21030be47c05d483fd1ab4b3790bed89a21a0f424003bd2b6a19c966870400b3d20307711d662106916061007867af210423714f0b770726210129bdd202a8ec65030c23d02c0303a7fd1421037248d80ae580131a365cd807582e02192ceb66080621c5030b6353d31a0933fa0ba997881a2778340b14abe3030087fd6f2202a5692a0687ac4c2a010becb926002538d4030b209e8b030c38c9e10300147a2a210125a6100bd0d3f1030601f16219f0e4250c5e3ab31a64a2250c6803622102a5692a09f5f7f522138ce2000ba3650021012657db0b6f9f091a61dcbc04083fe21ab85abd079e007e21370b6ea00a69dcd21a0933fa0c680a3c030c680a3d030b9555fb1a2ffcfb0583c73d19a3f3980c67d4e61b08f6910c5b016d2109404e43098895ac03005b096503072296d01a3ca16d0aed19351a4c4b400c680920030007a0372a012aadcac0010e020719277834095fa58203080631ee03099761c11917f6de057dee3d0304c25216220f20476b09d445bc0300b1e84c2101542d7f0ada781d03005502ec19766e41002a6e1711d5c50ad615fa198b00e40c408f11030b60bd1c030b5511b521015d537b0693d68a212050fd28005483bd192fbf8f0572d34e1aaee69a090adbde03000024ee220201652e03420afc1938173909f9c6061a1735df0c6445fd1332bb0c4d126d03074fcb7b2102fbd5750c59d5082101876df40a15d24c1923cdd20bc86bf0210b4022e101a437d60a0109a10adf19204a9502cef4d01104900c680a400305865b30222791efee03798fec2101dfd52d0b33ecad03023a9b01030b54f6cd19d4b5300a2a8e9221012c9fdd01bba05b22032dab8c03fa370921083faf3f0bf8ff1703054757bf0303971d731953e83a09dd5306d1026cfffffffffffeaa06cbc6293affffffffffffaca8f0a9d0b309dd5308b9019945ca261fffffffffffffffffffdf6d885ca3d3875a09ec7a50b120fd2ed5c663fffffffffffffffffd5fe2ef583868390c44f30bb1014c03a6c93dffffffffffffffffffe59395970c4a2409e7ef9ab90176fc97a9905cffffffffffffffffe22811d7b48ed4fc0c4d079b030548b67542c9e3d2c58796218d056816ea59037bd927138600d49b4d90054da50d09270bcfaf66030a46e7f709010a4c1c3509010c5bd888090109dd531342209277a35c2c78a60b9aea8741209277a35c2c78a600fbefbcc99c000000000888a7d3486ee8fc000000000022acbedefb5f5e00fbefbd090100fbefbec21b12dafbfdd0c316fffffffffffffef05a67c16a75940000010863a35316a253dbddd58131cd890c451d92ba08a4df4daa4772ffffffffffffffffa925507d569c417e0c2e5ba34b2c0084229a1569df370c5ad8644b0ad5346741605a9e9e0c2e5badc20208bd18cfd592ddffffffffffffffeb8fad8f6a3a87d0bf088a0e048189944a67fd8887d4068d29134fc834980888d993890cffffffffffffffffffffede8081952df0c5d6a5e930db4fce241dd331254b45955e759b9906c9303d46f36c96100000000001de9d0a296be1400000000000716c5b3a2c19a03d46f38c201698cbb5c309527fffffffffffffff1d706c6154911e07f0c59b2efba1a61815fe4c121fffffffffffffffef77fefeff0aa5724042b6310c2014443fe6005c4b2fffffffffffffff34cd852b7ebecc0bc0c3c7a4faa14c2b90b47ffffffffffffffffffff2fd9791c6c700c5f9f89ba0ae726d98d041bffffffffffffffff92af5393f35e5c3d00906feb1903cd60009027a141053b66e17d45c8c7008ff8c42239a84a060c60fd6b29056986fc3e0c60fd6c29109c5d155b001a667129109c5d155b022d7a9a29056986fc3e04c2642a69029cd0dc9601befc844e95506604c25506891a99f2e294e69eec28fa1a6b7c16767aa104c2524fc1010000010000000000000000fcb116aeffa3332d33f00b0a04c25250aa7433e70f1b0000000000000000000000000000000006ff262b4162ebbefa000020c504c2642b11072404c255073148c27394fff2010f3865030ba64f0709010bb2404f090101053fb3030a64e88f030c68093e030a15fd4e19219c8d07af16c303029b17cb1a42fbfa0c68065a1a06a0980b93a5fd030c68093f0304cd9fb31ac47e710a0352ab1b0c4033060647131a4c4b400c680a59030c68025a1993c4db089ab9a3030b72b260191557fb0c675c0f29010bfbaba90574fbde1a4fc54f029b1a471acb2d600c67e71a030b4cedcd19b8848c0a854f6d2a010bfbaba9086b56cd1a97971d0a629a691942fbfa09f46490191ed0a907209e531a5b8d7f0b40a2c7030a38ffd6195b8d7f0b0966290309f70c441b155dc209cdb28a1a26f6c80ac4d56919debe710c68025b1a06a0980b0b3aed1a4d8e300b0374da1a2ec1ec0548b6ac1a121c1b0c680383198006490a6782ca1a01d3e80a74b18d130c16058bcb9111519008ce49311176c70589dffd210326ced0058bcb9311cf840a46cf031ac96a80022d539f215b6684f709f66f8b1b155dc20c526ed4191e65060b437916030b3cbdef19f8c4c00871fb5b1990b19f0c680a5c0303a7fd3922036a2d9b0903f15e1a93c4db081258dc030b17f0ff1a43236f08cddc0a22026ab6f00a0395bb1a12d6c40a4684f91a20807006dfec2219bb6a710c649e170309851e40030c680a5e030a3e1f4e2102c677480a0f266c1a23d3540bf2a29f030a41b3ba1b0c40330c67fd060305865b6f2127939b3707ab051c030c6806663357f30ffacdaf09e1e3004a02bbc099d5fb6d81280bc3a2e5030a4453cf41c05cdff5d0a500000c680667030bf2a48303005483f3192fbf8f005483f41a2fbf8d005483f511010f0054953531023d3340b4fa00549536310236c03d4e720c50989e0a080b243d32030c23c025090804b56839c2d6dd7ab17898f622ffffffffffffffff2fe802be26151a7504b5683aca02a36f4789fa589414fffffffffffffffadebcacb20b1ca37004cd9cb28952ffffffffffffffffab92170ec0b4ed7e04d06768190364bc0c5f584e0304b56840c99897a77f8874d8e4a400000000000000004f0f3a878a5763b104b56841d105e853ffcd7b1bd168c2000000000000000637c4cedc5e64372e04b56842895a00000000000005e853ffcd7b1bd168c204ccbf0331367f0f4bfb9d04b56849c904fbb05e29a93b2adf00000000000000017bdabc4ad2329b4e04b5684ac90fa55fc849c633e2170000000000000009617f4a280cc9c31b04b5684b89970000000000000001f4abf90938c67c4304d0f752190331710c09470709020c680a6a030c6808193b4139ff1553628200d0e46c3903fa9a0613d57700d1e3c34902cd764c1a0ed7dc560c68081b030c5e8ed2030c680a6d3b4139ff1553628205876e804119d3a06ac81297150748c19e390fea68184f55de0afdf701110f0f0bdbbf2609010c5fc9b8098c0c34d7b909030bd65d4609010b8f018c09a00c41d03109c80ba8fff709910bcff8da09010bbb02fd09a00bcff8dd095a0c160cfd09010c160cfe09c80b859b3d09040ba8f73809a50c22a7d009f90bdbbf2909640b4ba04e09020c2adcc209780bd65d4b09960ba8f73a09010c22fb4b09010c22a7d709010bc564d311012d0b859b3f098c0bdde48509010c5fc9ba09010c41d03709010c2adccf09010c3f69dc09780c34d7c509dc0bcff30909010b4ba05009d20bd00885095a0bcff30a095a0bbb030309010bd9f60609640b8f019409030bdde48809780b72178909010c22fb5309a00c3f69de09010bd9f60b09020bd0088809010b72178a09cd0bc564d709010ba90003090101b402314a21aa81897338b5df6b01b40232390d74cd588d20000c680822030903f17e1a91ae9e0c68094e313086afcfb4f50903f18259045b800d5c97ce6b72ff2d0903f183410f87ac9ab7364f710651176c390c4611e277011400bc17a53907b7a66cca943300bc17a641265ab3c59e3f772100bc0e576964988e2f9ca76382faf3a116e900bc0e584903eb051ef2a61f90a200b1e8a121014b1f0d00bc149a6964988e2f9ca76382faf3a116e90c68095159015c76b8474f383b7749e808e0734169fe412349a007b6375cbbe79c4300bc14a1590182b58557823d4bdad23500bc14a241312772e8ee420f780a3f945639011648c153fbfb0c68082559049f6505903d636cf816d20a3f8ca40b1300bc17ab694e7ca90becece971fd4fdc2b1d065117724902706925fa818562160c68095319191c050c6809542102556bc100b1e54f3910786ceaf8a97f0a3f8ca6590d32a56f7537d7531ed9f9004c69d14101192d1069581b94004c69d209330bf1cd0b09010bf6e4a809010c09473741bfc0251dd96f547a04d01b80c95a0000000000000000000000000000000000000000000000000575ababd1027100000000000000000000000000000000003a6925fc60e0cb057f68a4413b5870af75813c370b243d48b12f47d6f93de7d412d100000000006c8de48162dbfebe057fca93d1027100000000000000000000000000000000000000000000000004d01b83c9530000000000000000000000000000000000000000000000000c5f5872a9438b05bb3e6e93dd000000000021ed231b1b090ac40c67f860a90301b8236a6237e80000000003867715cb273eb69e0c67c289b10c1127813160048abb000000000667b65640bdebec310c23c0455103c530c2b6a7500687aa0575a294c95300000000000000000000000000000000000808ad477f33fb05f3ce5fc99500000000000000000000000000000000000bbcd5e2e44dff0575a3a1c95a00000000000000000000000000000000396e5a6e245acc860b4cee0db111ce59aaf96c4721660000000001a672584024dfb12f0019fb5f1106910019fb601106670b8e452049056bc75e2d631000000b7c17ab4a056bc75e2d631000000a5bbc6603054bb4ede9440000000000000000000000003d74fffffffffffffff69b8ecd66ab61054e942d5901bbcf019b03df3c7f5ef7054e942ea10a6b3d75f2eefc6aa202326efd8f51d74b6abe8c00002156412b85e64d385c77b302db8c563905bb61e44c980004b58913421a67835a763b5b6403d46f524201698cbb5c30952801e36ec70309a4f954391fd7ab9a6e37eb0046088439514dc947af5000000021a342051164cdb739473101b7aea939380d19109f100004c273d34202874b1e2668585904079c00391aa4cb2630f102036e1b56391b0028e44b00000153fb38390415337752896002f689273904bd39622592f2009038bf41053b66e17d45c8c7002f56bc4102b42e2f31b30b910574fc0d39072d8e0e5b01ac029b1abf391292226e1c5da00a21c7ed390b74c7f337512c000092dc3a01d02222f7ee1f00fa0594390aa87bee538000001997f13922482f38a444ea09dd535039019945ca26200001af997c030a38fff6390855b5b3b66a000b7e8cd83a05d7359402c0000300f3143a0217907aa9c46402db89a7410591d35e956cb2000548bc4542051803f39d8e974200ad94b403004b24863af5a61df9971b9404b2453f0302009a06390880740a6b53b200009e8e39017ecd4caaa38408ce4959312d694efcb4000155a23b3102183722066e0589e0193a491f01fe8f8e0705d043e9410b1db9419116800000fbf00e421b12dafbfdd0c31705fd992e3a03e28a86bcb5590597185f392e7a36d85e9d05054bb4f93a0964713299549f0c680524420570a9ec4ff40000041f14093a130fafb46a0eea0087fdc3393db799f395cba60978133103097545af41015c2a7b13fd00000000215731343ab826e82908cddc4839382f51fa27dfab000871f0411b12dafbfdd0c317010e033b3a03947134637b48000024f131122f43d0889706dfec2d3a1100df58f432a904c252ae4101601cdf0989b552005503383a0ad21d9f971e8d0054f28a31689786263000000024f2392ebbb29f84fa31072eabf33a243dbe4b2ae6a30a3e1f9a3a4079d386312e3102cef7e3293abb90b98001bba0d3394f9c26095777f203fa37b83abf35527b40a1e200ae0745490452103a5bf1b02e7f00ae074f095b00bc0f2d490452103a5bf1b02e7f0368c5df0901000040fe422a566631615bb5b8022d53e21af3d7450313f97a1a1e6506000040ff421f8503008a9ac636022d53e319f4193301b4028f4a21aa81897338b5df6b03940b233a12c6b337e1696b022d5696215a90d0ca0313f97b411b2e51a2b6e9dc56000f107d490193f24bd6d411000003940b24490121ca814a8dfd200002649cc51176240283205e4202fb6929df376a51000041002901645ec4560052ebc34a4ef98ffa61d1d121d40283205f4102fbe64019dd653503940b2549076b9d4ab2674d200002649cc611762401b402904a21aa81897338b5df6b01b40291390d74cd588d200000d1e4784902cd764c1a0ed7dc56002fc8fc4270f5f9d3e35fef0d0b835c84410142001cdc61ef77028320604102fbe64019dd65350052ebc42156e6e06c0b835c85410142001cdc61ef77000f77863a16148d3144922e022d53e6215b6684f70394b1ec22047eaa720030075f31144b3e47de000394b1ed490649d2c967d95000000052ebc54a4ef98ffa61d1d121d4000041012901b38092c800d1e4794902b247fa7757ee0000000f7787490193f24bd6d411000000d1e47a22030176dd0b835c86320f30e478b53502649cc73a11d560af29644a003007604270f5f9d3e35fef0d08d99f3919aee69a01aea5494207a8c34d91966e190c527b021140000b835c89320f30e478b5350b835c8a410142001cdc61ef77029b1adee9b2000000000000001292226e1c5d9fffffffffffffffffffffff34d2a002a03ab89910317b59202b2d6e21d33d0732911ead5ea68a02a03ab96107a49cf3be6f948543b4ccc60542e2b6421cb6f85fd2e7522305439e7c7972986ad9ec2171280133565bc1183405439e7e39aad11b19a6df110197db7a030300f320c9d80000000000002671bf58283800000000001ec0b7646c9f9b0300f322ba0217907aa9c463ffffffffffffffffeb0565f44b7d60000304746fba01d6319aea5c25ffffffffffffffffed94ee172678145809f94876b234709d919f80fffffffffffffffffdf222e716e36a6d0c512557b20cee422dc8bdffffffffffffffffff7e54f60e21e13d0030076631144b3e47de00003007674270f5f9d3e35fef0d0052ebc74a4ef98ffa61d1d121d40052ebc82156e6e06c00233b0e6903ba8b37847ef8c3ffc592bcb30019a07189019b7e6885e057cfd94de9a8455396707900198dc6a9030000000000000002f6e8d8c462d415303fb8cb4f001997f7aa072f4327ff0000000000000000000000000000000000198dc741071f5d130000025c00233b0f1133030019a0723116017a24a3e70446096c09010453eede09010589e04fc101fffffbfffffffffffffffc46bc87d924c806938931d1d40589e051610378b0bd195189daed0d205a0589e05211231c0ac46ae3b901c3d46bb287adcef6cd04830000006aac0d08000023570ac46ae4b901c0f8f4becece38ae623e3f0000006a030c1c0000231f0c00e4a23906d70b1e467ff10bf3e4ac3916d589b158c07c010e0342c9a7000000000000490c067e0d4700000000000a24b91278d9a9010e0344ba03947134637b47ffffffffffffffffdc1a47e1fef8c0000229c717ba03947134637b47ffffffffffffffffdc1a47e1fef8c00003971e0cc9c6000000000001fc8ccc254b6700000000001548988fb4860303971e0ec275b37816b749b66affffffffffffffffb3afd9060c1a60000bd60722c201c89324ecbf867bfffffffffffffffffed7f934dae423db03a3cc8fc2322b1eaac33cc0cfffffffffffffffffdf78fc98ec308bfa03c5d197c241bfc647074d6f20ffffffffffffffffd55ee3384505b02c01bba0fbe943000000000000004f9c26095777f1fffffffffffffffffffffcd25474021967c5990613ad4cd34479a71cf4baa64d89aa86b6ea11021967c66102e2b4482a1b2ee4eb879bf8038dbb085103e8523f4cf16f1ed2dd0b625d544a0649d2c967d950000003971e2e4275b37816b749b66b0c67dee11305f003940b8649076b9d4ab2674d20000c67edc25103e8523f4cf16f1ed2dd0c67e2224a0121ca814a8dfd20000b3335bc030548bc6daa160000000000000015fe6b958a1def7b2cf821ff360548c0a861042836d62935a138f80f16550548c0aa11795d0548bc6f3a01152fa1b7813a0548bc70a937b364758d0e8b5f112f00000000273e350000000d08d000b56b0a0fd0cafba3ad4f70e7d61fc008d000b683ee58ddd1b8c2f74c59836726c83e71df08d000b7000100035ecc00000000000000000c69eedb60a6ee1c1836839a00000a2e57af1808c13d946bf79ddf75276a1261d2e8a4010308c13d958a58f4196928a34ef1e38bf9eb6e563960a908c13d9600010064a2c900000000000000013ccd5ffdf7f0100da967dad4000132804b730c09055b19720223674047a2a8812fc88d18197409055b1a8a544052657586fb99171be9ecfa6ba5eeff09055b1b0001006b52a80000000000000001498433241b4acccd421a55860001470d47ecae08e377ed7201d1dcd6d55189793a0ee38e0ec608e377ee8a4885c9fc86ada7510bef25bf71909cfd3508e377ef0001007a995f00000000000000015503947fe177358efb0cb881000176413e64a6090324767201e00c46e709866855c283a59175090324778a4aa365bf20a7829253d7578b234b063f6b09032478000100776396000000000000000153d079eca60d3516f8003da200016c518e770208b722047201b3e0ce972f08a410243fda658d08b722058a4416ffa7197831ba6277e542ecea53978308b722060001007f46ff00000000000000015883aee435fa37cc54002db9000184b7a9f43a08e3886a7201d0385e2708b91b559228c33a9b08e3886b8a485fbde0216f13213f417922fee6b9d68708e3886c0001007acf02000000000000000155f77a5323ed060f907a6318000176e312076308bb0e1f72021c48d97beb9eeadbad85fcec3408bb0e208a534efab3eddd71418465305ccb9ceea7dd08bb0e210001006c582300000000000000014c0467b830910343bd1c33f100014a307ee20e0969582a720225910be4fb3f4c8c90bba311ca0969582b8a5489cf1ee3eb5b7f2dab62b0361a6423d70969582c0001006b1766000000000000000148fecd25bc194a292d88d184000146576fdc5402db89f8410591d35e956cb20002db89f91a24665e02db89fa094802db8c965105fb1c190a119235e19002db8c97292715d230a902db8c984119092b04800c5cf00a6db00609010a6de0d709010aa19645030313f9b01a1e65060313f9b1411b2e51a2b6e9dc560000410431011321bd066c000041052901645ec45600004106421f8503008a9ac63600004107310174f70cbeee001a672829109c5d155b09a2bbf70303f40749419f325f4a4e0a91d90045800f39cccbbc3146ce8f0776079a429fff2b067f516068077603f30308086d3e09f108086d3f09eb08086d406a7996fa92b74084cfbc0180000008086d41f10835000010ec000000f0ffffffffffffff1452f91da725adde013a80000008086d42692e8af4824003cf2d4fcc00000008086d43f1173600002a78000000f10000000000000024f02b92d0e798e0114f40000008d02cf9096e08d02cfa292554ab87ef09093f3811414a09096aaa1113960903f1c21a91ae9e0c680873030bc36da2030c0bcf6a0a010c680996030bc36da403034a0510391719c7cf8f2a0408056dc803005484943a0d22f86191843d078be0f4a205d500a31e181944dac576d7972bbb392118112d04b5893e421a2aed139a1a95d80c67f8a0c904da8c9cf14366ebf8fffffffffffffffffff429dd2cc03f540c23c0a8d10553ccb59180a60ba9e700000000000000000005ab45276bb00904ccd0ccc151b1e495bd8db569000000000000000000000000000000000c67c2cfc908d4a393227c5018f2ffffffffffffffffe5dad340290462b60c67e53a22dbab80ad0591735a09760591735b29280593239805ba423c2101ca15e405ba70301129320597c1083209b6307c9ef40c6806d71b1beb8c08cddc7722026ab6f008cddc7839382f51fa27dfab08cddc79093308cdde5231116faa2d3eba08cdde5351019551bbe22fa1be472c08ce49ab210132320508ce49ac397510d063daac210a854fb3c93600000000002a21baf2469b0a0000000000021560470250760a854fb5caf3baacc5ef4619951effffffffffffff0c52eb6bea66efa0000aed1a22ca056050d42eed289e11fffffffffffffffa9ffbf025b034674e0c5e5208c2164927047cf102a3ffffffffffffffffe9b817330b3535660afaec0fca03760813504663a0cafffffffffffffffc8a29584733bc29b60a854fb9caeace0ab76b959c539effffffffffffff153f0e0c4a77c9d999034a051ad10456fffffffffffb1e59cdfadb8c00000000000566bd9b48d92d034a051cc14c5daf3ddfd8afffffffffffffffffffb3afd83bf3f024640366358eb9349d903cb1fbb7ffffffffffffffffffcb6bc2115c695f03686a39c102aabbc81b6feccbfffffffffffffffffd55bd2c5c15dc930356e057c14957ae340c0a9462ffffffffffffffffb6b55025dc36c2f2034a0524b926a7b17bac3315ffffffffffffffffffd95f27aa471b7e076d04484a01f9e8e7ffc272bce30458953c090103d01fd809010a6c2ff10901097c00680901054140020901052e746509010548532c090103bb90c00901070018080901056c5a8d090104cda0511a0bce710c5f58d9d103919a5f7f294feaedd3ffffffffffffffffffffffffffe19f250b8eab2b09010b9516e709010394b2b222047eaa720394b2b3490649d2c967d950000005865bd0222791efee05865bd12127939b3705865bd20933058bc6fe310bd3b219ac7b058bc6ff310ce03235a917058bcc2a292e761055cd00afaeac09090087fe09c10100000f000000000000000ed816fc6e728422594141ea35008825f9810b6f402e8d0e272e8fb5d3bd03b809d60852cbbeb91faeea7320a15c982557889e0000018f8a41950000844f04d0eac819b4ad700b4cee5cd9015f85daf9d2acb27b5c9b00000000000000000000000000b4ad700bc3a9e90303fa3823e9b6ffffffffffffff40caad84bf5e1e00000000000000000000083faf3f03fa55849910a46349a418ab5b0a0224d1e45227f5c8b91703fa55856107dc4d22178d82fa15c449ac0ba762f2090106bb6a91790e6ea4e5039aa3aae12cb7bb080d0106ba30c589b700000000000000000000000000000000036e1bd8c980ffffffffffffa430d578ee330000000000048a400bccaae0036e1bdab91b0028e44afffffffffffffffffffef134a81ab02db3b40c3496a6b124c297188c93fffffffffffffffffe8f536e0937ec42038aff47b913c2ffdfc4550bffffffffffffffff39ce58e97e69b119036e1bdfb90466e443e5afa6ffffffffffffffffd3da3152f4db9069074b456fb902b18229886eb5ffffffffffffffffe4fcca7033b085ee09e8e64809010c6809b709010b8f6f2f09020b9514db090202649d383a11d560af29644a02649d391176240c5ff8cc03028320874102fbe64019dd6535000021684101b9eafba6c4c7180000216f41e9251466e89f46320000217031343ab826e82900002171096b000021d4599d0409205c3e4991d20274000021d5510889add24f258c858ff1000021d631047aedee1eba000024f4212e1850350c556aac4101b9eafba6c4c7180c556aad3101d0af4b8c110c556ab009010c556ab13929c7d10b73563f00fa0672f108f2000000000000000aa87bee537fffffffffffffffffffffffff8b5c8500fa08af99d082926bbdd876495e4d2fb6317dec698f960a00fa08b061623e58cc4f9e902575730d0a03940c773a12c6b337e1696b03940c78490121ca814a8dfd20000bcfa5c9030b1eaeee122d1a0b17c8fa120c8f0a739ef712762402db8a611a24665e0a445449127cba02649d4e117624054bb595113d75078d41db1167af041f1455117cba0c6809bc030ab89d8712105b06c715ac03072eac8011f06a0bcfa280030a7db2bb0305876ee90b720a3e1fdec96700000000000c0435e82b4c5300000000000265646355344d0a3e1fe0ba4079d386312e30fffffffffffffffd79d5c1e1172380000a3e28f4ba37135f7bd40e4bfffffffffffffffdd80ac5edac06bcfc0a47afa7ba078f75e3ec7266ffffffffffffffffb43b2f1620112bc00c3f0b9faa1ecf3267d2fffffffffffffffffffecb3c045ca24c0a528342ba01d6df573e45abffffffffffffffffed9101a146aef4fa0a46cf6809010a4b40d409010c32a294090100ae07a6094700ae07a72911ad41501500b2155a3115220ce302d900b33dd531065703ddb40d00b1e60e3910786ceaf8a97f065117b1390c4611e2770114005b121f030b82a0e009060b7194b509010bcf6882090108b8450709020c07007e09010a6c4f1a09260a5ad61f0901059188b4e95200000000000000000000000000000000000000000000000000000000059188b5e9460000000000000000000000000000000000000000000000000000000005917581e95a0000000000000000000000000000000000000000000000000000000005917585e9760000000000000000000000000000000000000000000000000000000004f2809c4902117006df65270000049e222b3b14473ca46fac5e06c5b9240a0109fd90710309fd90720309fd90730309fd9075030c67ef2a12485009f421e91158ba0c6783500309e1e370210301632b09e1e3714a02bbc099d5fb6d812809e1e37211017209e1e4f829a6e77c559009e1e4f9519a2c2bda491472f295bc09e1e4fa191f8645004608fe22037bfcd3004608ff39514dc947af50000046090009280054801e3102ed2c26c7c80054801f49443c9c50dcbd675c200b835cea410142001cdc61ef770ba5d886030458957a0901052e74bf090103d020310901097c00e409010700185909010a6c303309010548538709010541404d0901000024fae957000000000000002ebbb29f84fa30fffffffffffffffffffffdfe9ad2000026759907e0e6c231b1c5abd756e3cb1f008c1d3f0645000026766103c0b69ad26b7f2f4913e62f00bcf87f0300ae083603002fc9584270f5f9d3e35fef0d0a21c87df1013b000000000000000b74c7f337512bffffffffffff2e0c3ed6a21ee9530a29749d71112bed02928d501af17b6c3597300a29749e8916927103ab543f0b242e7af7ee27264563029b18e8e94effffffffffffffffffffffbd0406000000000000000000000043498202b27be3794ee242faabd1e8658d4bde25c2d48102b27be4794f1dc83b5b375b1fdf53dd62f6fcfd022d576c29d71734a637022d576d215a90d0ca01aea60e4207a8c34d91966e19022d576e3101035c52116f022d7bb829056986fc3e0c5569380304cc98db6939c2c91aa2d5a9b4bf3f4d5c2004c7e178a96d000000000000000000000002e7cc2b9e42ae0f5304c7e638b10ef70093cc33ffffffffffffffffffffffcc245218d904c7e179421453716ffffffbd004cc98dc1903e83c057005b6a265fb552603d446648c1c202229b94f4bc564cdd4057005b77a0235312ac1af335d27a8ac6c8daabf0574bc0ca1387308e6a4b8eef0007353243e832c19a9a544b00574bc0d712e457710d1a7940319e8f5c7ebee057e18c3a13a83aaea30b52b770e72fb39550265b01f34687a057e18c471365c41a707e69641f4fb8b67750c09a2310b71047cc88526c5259f4fcd6d78fcfd08a6213a69dba95cbdace21dd664ba87d30e086b5809999796e90000000000000000000000000000000009a2310c11099908a6213b1101d603f407a7420b9163762a3984a7078d420f410b9163762a3984a70bf2a7450300bc4e240902000021b22137b6a3a4000021b342051164cdb7394731000021b40948000021da3901033b2e7650dd000021db511796012d3ab7bfa14b19000021dc2102dcb2ee09ea37f2030590b470c90100000000000000000000000000000000000000000000000005d04b102105ac35dd05d056503904a42ab2449f7605d04489410b1db9419116800001f466f30300ff318b03026e527b094f026e527c000004a77024a7e000000000008583b00000000000000000000000003bd209222105876f404119d3a06ac812971505876f410b7205876f4211184506420aa349345346dea2241209ad06420aa4198ba5050748c2a9593d93c0053d3ed733008f5a05876f4409010c242a70410e2715c359ff41840c1672bc420211426309d2f7d00b206baa410211426309d2f7d00c35718403072ecb739105593d58e3fc248eb7e4793283971984f2fc072eceab6972ba271dcc5da04324dea3123f072e9af5a90800000000000000000000000436225502d4b96091072eacd3a172a50ddb00000000000000000000000000000000072e9af642014b3169ffffffac072ecb743104322092fe90072eceac095900001d5dc202c90edcfffffffffba6e944ffffffffffffffffffffffa500001d5e5a053d71ffffffffff1628b80003ca1ab20f6600000000000001f9ffffffffffffffffffffffae0003ca1b4a81000000000000001503a7fe72e934fffffffffffffffffffffc95d26500000000000000000000037248d803b9330279350407badbb2daa07a29d924a0382f03b933037934fbf893929cf7679fd8fcb61df57309e8418509010c680b1f0901064160b5424563918244f4000006416bde424563918244f40000062baeec414563918244f4000004eb76400a010c519e2b1a0494510c52df89030c519e2c030c5973b8030c66990d1238740c519e2e0a010c519e2f030bbc8f632a03976cec230c5e0217030b2002f509010574fd36e94d00000000000000072d8e0e5b01abffffffffffffffffffffffb03ab105752c659906e86ea21b569a723471ac9a2a2e25674ac5e205752c6661035a49b78f46345a266966e807712d2e190f424007712d2f4a01f9e8e7ffc272bce307af4b71410b9163762a3984a70872e8451990b19f07af4b72326eb7f3ec9be0078d42321167af07711e8b3a92fa674c665b28078d42333a0fc0c6843deddf0872e8473a0ced5c4f71eb1207711e8c2106821e2101b72c92a9380d19109f0ffffffffffffffffffffffffd9791180ba6849609010badd37509010b01b8484904e6167b4922d798500afacf5c31048c273950000c680b244107dcad3d7bcb91cc0b97e0f46202af45109a024eb79eff9cf40b8e83d86102af45109a024eb79eff9cf40c680b27030c680b2809010b97e0f63225f9791ce2ed0c680b29091d0bdcf9ed190d59a80b8e83d93125f9791ce2ed09b685b13202499633c34809b42bdc29265627c61409a8729e2942a2fd6d8209a9a4353202412140cd8609a9a437298778adbc3709a861b822015f4fd409a861b922015d537b09a861ba095109b685b229845e3d01ab09a4fa08391fd7ab9a6e37eb09a4fa09391fd7ab9a6e37eb09a4fa0a095b09a4fb7c095109a4fa0c095b09a861bb1901fc59090b8eb80307b23db809010b8e905e09010b8f887e0901", + "expected_outputs": { + "versioned_hash": "0x0131dafea4f0821e4a12ffc51667b0fd5762c944d1dba48af4f472efe573a750", + "kzg_commitment": "b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0", + "opening_point": "0x000000000000000000000000000000009151185fa59cf841b03fbe9dbff03eb5", + "opening_value": "0x53a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000", + "opening_proof": "91245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62", + "blob_proof": "a370bebe32974312600170a180d02aa0f44394b96221f95af357e696fdbc11ef917fe3b643ffc62c98d333385ab25b43", + "pubdata_commitment": "9151185fa59cf841b03fbe9dbff03eb553a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b091245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62" + } } From fd34e2f2ceb8d7c198eea1ce82f66e12475d64a2 Mon Sep 17 00:00:00 2001 From: koloz Date: Thu, 18 Jan 2024 15:35:20 -0500 Subject: [PATCH 03/35] swapped from keccak to sha for versioned hash --- core/lib/types/src/kzg.rs | 136 +++++++++++++++++----------------- etc/kzg_tests/kzg_test_0.json | 16 ++-- 2 files changed, 77 insertions(+), 75 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index d4b4305167c..45e3f2451a2 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -1,6 +1,7 @@ use std::convert::TryInto; -use c_kzg::{Blob, Bytes32, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; +use c_kzg::{Blob, Bytes32, Bytes48, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; +use zk_evm::sha2::Sha256; use zk_evm::sha3::{Digest, Keccak256}; use zkevm_circuits::eip_4844::{ input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, @@ -13,14 +14,17 @@ const BYTES_PER_BLOB_ZK_SYNC: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; /// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) = 144 bytes const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; +const VERSIONED_HASH_VERSION_KZG: u8 = 0x01; + +#[derive(Debug, PartialEq, Eq, Clone)] pub struct KzgInfo { pub blob: Blob, - pub kzg_commitment: KzgCommitment, + pub kzg_commitment: Bytes48, pub opening_point: Bytes32, pub opening_value: Bytes32, - pub opening_proof: KzgProof, + pub opening_proof: Bytes48, pub versioned_hash: Bytes32, - pub blob_proof: KzgProof, + pub blob_proof: Bytes48, } impl KzgInfo { @@ -86,12 +90,12 @@ impl KzgInfo { Self { blob: Blob::new(blob), - kzg_commitment: KzgCommitment::from_bytes(&kzg_commitment).unwrap(), + kzg_commitment: Bytes48::from_bytes(&kzg_commitment).unwrap(), opening_point: Bytes32::new(opening_point), opening_value: Bytes32::new(opening_value), - opening_proof: KzgProof::from_bytes(&opening_proof).unwrap(), + opening_proof: Bytes48::from_bytes(&opening_proof).unwrap(), versioned_hash: Bytes32::new(versioned_hash), - blob_proof: KzgProof::from_bytes(&blob_proof).unwrap(), + blob_proof: Bytes48::from_bytes(&blob_proof).unwrap(), } } @@ -154,10 +158,10 @@ impl KzgInfo { let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, &kzg_settings).unwrap(); - let mut hasher = Keccak256::new(); - hasher.update(kzg_commitment.to_bytes().into_inner()); - let mut versioned_hash_bytes = hasher.finalize_reset(); - versioned_hash_bytes[0] = 0x01; + let mut sha256_hasher = Sha256::new(); + sha256_hasher.update(&kzg_commitment.to_bytes().into_inner()); + let mut versioned_hash_bytes = sha256_hasher.finalize(); + versioned_hash_bytes[0] = VERSIONED_HASH_VERSION_KZG; let versioned_hash = Bytes32::from_bytes(&versioned_hash_bytes).unwrap(); hasher.update(linear_hash.as_slice()); @@ -177,14 +181,26 @@ impl KzgInfo { Self { blob, - kzg_commitment, + kzg_commitment: kzg_commitment.to_bytes(), opening_point, opening_value, - opening_proof, + opening_proof: opening_proof.to_bytes(), versioned_hash, - blob_proof, + blob_proof: blob_proof.to_bytes(), } } + + pub fn kzg_commitment(&self) -> KzgCommitment { + KzgCommitment::from_bytes(self.kzg_commitment.as_slice()).unwrap() + } + + pub fn opening_proof(&self) -> KzgProof { + KzgProof::from_bytes(self.opening_proof.as_slice()).unwrap() + } + + pub fn blob_proof(&self) -> KzgProof { + KzgProof::from_bytes(self.blob_proof.as_slice()).unwrap() + } } #[cfg(test)] @@ -211,6 +227,38 @@ mod tests { pubdata_commitment: Vec, } + impl From for ExepectedOutputs { + fn from(value: KzgInfo) -> Self { + let kzg_commitment = value.kzg_commitment.as_slice().to_vec(); + let opening_point = U256::from(value.opening_point.as_slice()); + let opening_value = U256::from(value.opening_value.as_slice()); + let versioned_hash = H256::from_slice(value.versioned_hash.as_slice()); + let opening_proof = value.opening_proof.as_slice().to_vec(); + let blob_proof = value.blob_proof.as_slice().to_vec(); + + Self { + kzg_commitment, + opening_point, + opening_value, + versioned_hash, + opening_proof, + blob_proof, + pubdata_commitment: vec![], + } + } + } + + impl PartialEq for ExepectedOutputs { + fn eq(&self, other: &Self) -> bool { + self.versioned_hash == other.versioned_hash + && self.kzg_commitment == other.kzg_commitment + && self.opening_point == other.opening_point + && self.opening_value == other.opening_value + && self.opening_proof == other.opening_proof + && self.blob_proof == other.blob_proof + } + } + #[serde_as] #[derive(Debug, Serialize, Deserialize)] struct KzgTest { @@ -229,60 +277,14 @@ mod tests { let kzg_info = KzgInfo::new(kzg_test.pubdata); assert_eq!( - kzg_test.expected_outputs.versioned_hash, - H256::from_slice(kzg_info.versioned_hash.as_slice()) - ); - - assert_eq!( - kzg_test.expected_outputs.kzg_commitment, - kzg_info.kzg_commitment.to_bytes().as_slice() - ); - - assert_eq!( - kzg_test.expected_outputs.opening_point, - U256::from_big_endian(kzg_info.opening_point.as_slice()) - ); - - assert_eq!( - kzg_test.expected_outputs.opening_value, - U256::from_big_endian(kzg_info.opening_value.as_slice()) - ); - - assert_eq!( - kzg_test.expected_outputs.opening_proof, - kzg_info.opening_proof.to_bytes().as_slice() - ); - - assert_eq!( - kzg_test.expected_outputs.blob_proof, - kzg_info.blob_proof.to_bytes().as_slice() + kzg_test.expected_outputs, + ExepectedOutputs::from(kzg_info.clone()) ); let encoded_info = kzg_info.to_bytes(); let kzg_info_2 = KzgInfo::from_slice(&encoded_info); - assert_eq!(kzg_info.blob, kzg_info_2.blob); - - assert_eq!( - kzg_info.kzg_commitment.to_bytes(), - kzg_info_2.kzg_commitment.to_bytes() - ); - - assert_eq!(kzg_info.opening_point, kzg_info_2.opening_point); - - assert_eq!(kzg_info.opening_value, kzg_info_2.opening_value); - - assert_eq!( - kzg_info.opening_proof.to_bytes(), - kzg_info_2.opening_proof.to_bytes() - ); - - assert_eq!(kzg_info.versioned_hash, kzg_info_2.versioned_hash); - - assert_eq!( - kzg_info.blob_proof.to_bytes(), - kzg_info_2.blob_proof.to_bytes() - ); + assert_eq!(kzg_info, kzg_info_2); let pubdata_commitment = kzg_info.to_pubdata_commitment(); @@ -292,10 +294,10 @@ mod tests { ); let point_proof_verify = KzgProof::verify_kzg_proof( - &kzg_info.kzg_commitment.to_bytes(), + &kzg_info.kzg_commitment, &kzg_info.opening_point, &kzg_info.opening_value, - &kzg_info.opening_proof.to_bytes(), + &kzg_info.opening_proof, &KzgInfo::kzg_settings(), ); @@ -304,8 +306,8 @@ mod tests { let blob_proof_verify = KzgProof::verify_blob_kzg_proof( &kzg_info.blob, - &kzg_info.kzg_commitment.to_bytes(), - &kzg_info.blob_proof.to_bytes(), + &kzg_info.kzg_commitment, + &kzg_info.blob_proof, &KzgInfo::kzg_settings(), ); diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json index 57c64da847b..7322a8bdd69 100644 --- a/etc/kzg_tests/kzg_test_0.json +++ b/etc/kzg_tests/kzg_test_0.json @@ -1,12 +1,12 @@ { - "pubdata": "00000005000100550000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a42efd743e554bf21985b562e6b1f3ee3a2ed72f4dd98d76a68a1146cc9a21a86000102290000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800acda5158c3dbcac23211672d2cc9c3359fc98a11a515a328ff84730ce388e0b29000103170000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a034d6369f58fa6f6577da618b1402ae4035b815c468a5e5e120833f35064d7d60001035b0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aab90d8e21f8f6be792eaceaeaf2a7e262b8cd8b1a950cef7856d3c00d3e0fe240001036c000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102e0c3af29edc7fd00e8d0a61d41ed085b5999bd76d0ec57c8b794117edb48006600000005000000386c0960f9e67050e6b7ae575837febf738d9dd205bdd96129000000000000000000000000000000000000000000000000001da2dea1775200000000386c0960f9a255d58fcc01e78bd7f30db1c5d736a19d6de5d5000000000000000000000000000000000000000000000000018df33ae339d000000000386c0960f94f1b62090fc5498593cf8803898feecd5109b2d1000000000000000000000000000000000000000000000000001d9dedfce0a600000000386c0960f9988bf802a450b1a23b01a16361041b8cc4c0096c000000000000000000000000000000000000000000000000001bdd15e065b0000000004c11a2ccc170716ffaffcb4579f8226130d4a8625904162263a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000138ce2000000000001008d34040102f2e6ed1059ff0ad70d4e11336e3e5ad30e827e008cc2173fcbd003105e10deef0001000117285a242b48c751232df502f6448f1dbf4a1d9132f1cccfce399608c8b90b3a0a1f96e79f02ef0c7d92a6ba1968507b07a357809bf9eaf6ccf0fda94f00010013eff990900684eac2c81359f38c1b0a834d011273ae30310f9c7807464a1db77812daebf491cddd7c2c4af8b712a218f35b8f3ceeba86aad8ee402526c200010000939c0f641c18abe55b3a876a26f1720e4903c3f12e25b8b6214942db9069af66d7b664990e3f84e4633afb9c21a8da0ef39901d9bc286fad7e19d3e6690901c02aa7bf71858e06cbaedda3277e925e055d21c73be1309a36203fe4727785b409018a07091e19392f970a79e422657f4765f3c6498b0e174b862d050c05dcaf5bc50901ffa6d75a531a1505992e4c1ff4ae286f3c5336d1464bc9b25d9178749c5a0fc70901a9729e5ec3b68a9346d3dffbbb2027b1b0f40417a4e59e60fad413467c1e90a40901b4e5bfca3d03904333c9db34f701ee88c866ecab38b47bb219ecac0861ec961b0901adc5ed37ef2f96fcf6b4c8ae77d5dc254da413dcce18fbabba941fbbaeeb46c809024dfdf044fd553fd9ba2ef4251f008ee4cf873fe70182d1b2f75f28c91d282c06a1996a719fbc67f35a4344f73890c1172eb194a88cfb6b291ade6a03a87fceb351b6ccd7a8ba72fd46817f800389c924d23232fcc6a118cd1fc2a93f3a384b0535afd162716154269523f7345e0bc56795149c3dbd12ad80b8d16c271a08ce2873c63cd21f8b28275563390881110a3ecc00415f285ab6f8e3d9ba138242a46510c44a0c83a350067a6ee880f6fdcfb01ee4391e32b4789740000b73f38daa02eca7cdd85642f68cd8cf51fa015d796fc2dbcd1aebabf654bea441016b288c64f0c000bab081a7b6f92a4ec1f02eb005520b7673af201c4ebe79e761538585717fafbb39b59ec022d606f068ebf6717faab388c9c53c18fabe7838c5608820c5d2430989d90b92dd26451e4102c68af0bb1400006f4753c45e67f5311ae7255bf8889f7fe7e58b6af06d9806e5194a1c5c66d05139054ec8fb4b6000bd906f224650fc26515436b3c25a87d68addb31c6a5373f7e00f754d39119486391e3e8744f910003c67eee680524913ae37ae69f0baa481d0e4e6d3484a307479eb229bc30f479e391be3888d7ca00075aa7f75697d3feb547969a0d55f8731fead1e14041729ebd1d392848e7cb2af3914ae1318ecd9020f2f4ddce402fdc9ee7b3c86ecd111dbb325d01422bf470db82108a3abd1e3b34101192d1069581b941d50c402518ad6fdbed21958ed6c5724923454fdd2495cde5abc4bf4516ef98c3923b46bf7fe2000f6d7022ebe58dc19e751106f2cb98fd24bd6e14d8073a53d3f8e11b45c5df48b00a99e289160656884525d83a63124c30e63f37032d635435d92d49995a8f8b408dd140b448cfff621010bc3dd28788ddd82f2bfc323f8b837afc1ac6c5c1580b2091462157e0771f69f064d0d7bf52f7ebb7e91c66e35d4914a9dba6c7e3cd75ce6200914183241104a8b011521fc34fb04dc72026ec296cd803af9bb39e7dd5bf873ba5d191a524bc07d6ca5418464758476f726a9d98e7a81bdf17ac4ec7badc550129a1151b03c194c4b4034b276b9d891a6f4775fe20e1e5cc98babd8744c81e7daa3000b49c7e5c28abda1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e01e96050ca4793360ad636d62a6d89ed1dd50d100393a25b769f51148d33e9c80901df92d744c1917c79c8c38fa95bb485b984c521a4253c1ac6c12035ee61226f5c417bf8114d29f36913853abff5b4c974f781edf65caff6e8293912904b86c909f9559cbfd685c0ba6e491dfafba0f1bd4300000231b5c9c8cae149bd749c383d5bebd9ee775377beb035eb84377eff29f5edac291b6103f419ce028a771a813617dc177b50fd2f2d4ea489a7f9c2b6dfbd7cb0608ff6bb949911d83cc543063aef4cc63829a471bd77f68576941d08cfd681e84f80d3e1645920171f09019ad2dc29fffa2ee724cd419095cff0605b7df10d65420c3f20d7522ab9fb81be2165a6de4ee706aedeba038f6e38ad43723329856ac986583787b60bc1f54a7f570a91b33269294c912982def982794434499fa4ce83d8a32f8629d2c1abf127af5e85f34909aaeb23a7a5450a60ce1493c3bc690643f16943df5367f77aa54a54bc8a8200c68674c041892fd6f77453341b524740e2f87d0a3df7f0ed575478a6b9041b04f0d563c8544007d64a89d51131d5adef571aa36d21bb0f9917c463b5c9906d07f248619a83b48509c798407bc4da757ab7035dcc0901a0703adc7ccba7cd1054340b8b59b73e6b8b455833b8cf427b7beee4a0f02c09a12a9096df9ef41ce9cac50cfaacf1151071f975ad45cc7125fba34a20bffab916ff36625d666f049583117e53406ad65493808667a1d3d91634cf4c04ad1b76ce2c06f7385a897f54d3bb11626357265a0e408c00504dcf29352cc80c19ea774e4a6f1cbe01933d6dbe0901567e3d3f853b2bf658b34a086e56c374fb85eb4c313829401d431924d7465d4aa180115c708e12edd42e504c1cd52aea96c547c05cbe9a44851e30b39b56297fdf090f6bf257d6c5bab3479854a280ba419fb6d5daa180115c708e12edd42e504c1cd52aea96c547c05c76a06ae72e8a8f120cf6b43317b34dba4b119b37e8d01ca2b28c514b97d2887e090171503ac05f8ca52d7cdb786cae95ae5062c8a97dac126ed9272dc7e30eb806c80901fd2e18833a48b67bbaaa3c77c79cbccee2f71b4ce0a92b5e2423c707cce4533aa180115c708e12edd42e504c1cd52aea96c547c05c8bc265e1dc0dcb7c9ecc7cbf5f7c1843c5da43bf586c40fa9560774c5eb1ff080901e8bb18c16a016ed06541ccb16b38473c9357af9322a2ac573175b7b1f9ec07cf090107ca4196285a78fd294c7947fbd5febe8b6ae006c9d658e31b60017ff3f97ae9090166df2a30dddf70b6f44a42de4833a3680b9c5ca958accae9dbf7f0b1600947f40901281c95c77398a8b558c513bea568f8be9be22fa8f1a6d5645573de661f2ee6a0a1c2fd44a8497e2fac310f4fc8418908125546f32efa28383624da04595bf930920bb58bc4b15b5de94ac42056027c1daba69332e0313f2a01718652997cd9436f8f814343cb15afa1919b850b03c4a0d28149ec068207f3c551c6c2090136d8384f8f88b18de18e3ae63b1057cf0772abe2067b98b68446b10ff458fa2e89010000000000000000000000000000000041e13027c1b52df1bd9803cf1545bf4ab94a16d168d9104f09d8766103d550bb0a01bf35d33c89f5e664ae2b92a66a939eb013ac1de6515a57ffea70d56fcf6b706619d057eab78b3a25d00ef7f39c4967eb220327371363098ab55ae8ac283be6cace684d200a01966f1152c6a8a2f9a663c24ed9440e728138744090cde391c63e8e1786df53102106db12ccc6511c9c36ac5967ccae5da01cd21ee0445c43211dd1198302ae036d5e3b2cc60a013abc0472eb8a8849953715f91ecd85ec47ef839e466dc143cd2d32c6b61349410a01a0dc9b0d01fe770f0cbed8572f05d38c58e5551d15c16d5608fc302b7ad49e0a2102a5692aad0f28864b4e3691a85974872a6ce40e6eab98b56b6d3b8236786a0da0292531210f3753091014a4ce05520dbaf7a2654d893c76a471863e356ea366e825fd296753bad41b1962c6ceeb0388076118d3a1e6e25ee9084ef2e74cfaecf782cf4003319c0f335f96911d19b0978b507111c55737118180a4607b2e9f115ff1c10ceb656a32a6f4cfbb21c8c6e0472101726199c58545f9a610de3b4061e87c21f85dd19449ca4aaca2dd868172c540728497bf311d9e0171863e7f0ea5f165f28a75168a2e392f1c22732864565c491a136cfa70189eba027acea12fbef53b81aad68c4727f3329869ee704609ee749f7a7407fb1ba20d656da3c5ff74892871546e61dda8da470c0b99caf78854120901688a021fdf7d14582bf5bd2eb5c93cf86f21171c52b86ca334776c7be06633e9a14aa5cc5f01876266b9a0abca2a77fb4af9425cc3c0f84c80c45a8236856be149391bf75bc23441e7e25070407a08efd97811e33da165d8e9461f9018596fe0ab94fa050ffb3bca242fef613fb876ab1c59ee2b84cb39b85d0df611e9380de6df4f5da1f8f02a925c8d490c944fd8e64880228050aac29f405aaa380863f232d74b43ef4408dd111745f3a9d46bda7ec362ed97a144ef12d4b87c5646869b28e6b62e8aca975afdfa753b08a8b2b9aaf55d8853d07c452777fc4c529029633816d926fdd31689a2ae29680171861aef4adc1342aa75eca6cd65fbec28e32540eeb9cc63c12a4e7fd74288094cc1e10901e9aa2c34ba3c83030e0d8f90d17ac623eb912fbf8cfbee93413bbf7329d959b00a013fec76ab6733aeb76b088570a0023b4fdcb8d0c828e9dcc8f81bb0e75645e6d419f2662152b7f4b7dfc66f12b9afe0f70362b0a6c5b42e041c3e4e9bed9df52f3dacadd60a012f93b53ae541da4ffad8c2e72ea9d77c1860404254cd8cdf8a5bff8708bf99de0a01e63866cab2b4c30eecb868b0dc9f50372b1f79ad7c93e37fb5a0ff411f5cf0c50a0123783ae730d29ee74f13dadbe6201b3063acccbadb0b768d5c80e8ce06a50d7409017282df9bdedfab9ea9fae6c127d63bb89e4c5e2bc6243b231ccdd2a835b1a8ac19a7e215f14e64c035ed9a1f45aa7f9decad368ac1292a3835f448e952b348ed2324b84d21027e577b5763f3ac147822e73df0eb878313e7e55df3db4405eb1db3746083c12f19b9d10a015f06be9c9642a6321a48bd6eb51fb69e85767218915fb4ef3e1ad12115ef907419121c1b961e6a90ac18d287abbe6645e314566d6068483ada0ecc53c1bad6918d130c5009018beba255936bf7debacdf5ae874cf4b74789861b8386733eff99d087b394c6a20a01df4b1208f951cd68e9169a4820678631882ce39999e2b20d20bc94b0f6273ae60a01dd845bf2c9bc9886ac2286d0dd8c08b0e7b227570809e3229895e49f65a298064902bbc099d5fb6d81289a8e412e9c64e1d0237b95f8899e9314631b7abf0fad93881ba7e447abfaadfc0920cc1d27e9ee7f5678cdad1e1140c4d852ca0c64f04346089c0809b48771cc695f090876af4949a5dda017af2fde7eb64989734c48bd449a895b7d22c7e20f4e85b27b0901d1b4ad97ce6833314f1374ed5de8210ccec6ac500552c49b35c486056d5c52580a016a975864c94755cc754e06fc62e04462f62979fbc2df237884199fdef76b8cf7096e352fcea326988173e6d09589571f5522c74e25834abe3e70b4ddddef84c6a603096e5ac400e164e56f8210320bc96798e6e0b5fec0470bca0041c760d46057277ed7210134d6f4e47a623cc0243610a628b008fe34865b98e100fe9c64dbb6aab3df82edfae169210134d6f442dc4493dd70032707de9f746062785a10d98a1fe54541e04a2c3fba6a25770f3904325b0881a86b033ed80ea5f81caf6ea810c94a038363a914e2bfd4bf89397f140896043438f549344692099866068fc7efbc7ca398ad874cfc7be2cfbcf493af177a976e278b076487fa4c23906040af191a524bd08b413cba0ad1f7ae3cdf10fa1a5a78fb0f763e8b958af889d1cc65742a81956906f17c2a1f17621892641e82adf64a6735ab0d469b6222445a27a0509b7334974617b086da6556919cb32bc86d310150969bfade2922350e35eea1b624bc0860fc6d1a88ef8949f6d193932a74f1cdadc3b17ded0901b91f047425ec49fcd708d173677a6a5c4294172167d6b9d3082d475119697f680901de1770af232be79daffa32d59cb27e047f3230375cbb6c6f359115ad2113d99c090101a485d8779c9a044e5957d15aa43aa8206a29204e97e578f6235eb52e23afc23103600171864a9d2c5b32b59cec41409eaccb473a7c1b6816ed36a719b35fa372f988da2d20d4a138f784e67869bbf5aaad5d664dcd05d7a47a9885d224de36f00d582d2a3defab0029281b54c6b681af3517a007ce32b98b6b01a7517f6a4e06b86e198796198f82561983b0e61ebc8b86a629f04ad9d09e9a785c984231c98d0eb041c971d9591415c9488a1690396681007c669c526d4b341486bedb9c3b8635c26b27602f7f0df7a6a0d653a140caac8c39571a923ca04ee1965836020f5cdc7d95a8ec1546ff2b8c7bec15af2af26384f5c96cfe387c870d310c40f9ef7267cee79a8cd93df1aa7d9f40c4e4ae2b7d1d4740f1e5e1ba1e977201cc6af3b0810a01b7b4e11ddfeeef52ca0c336858792be12d31db6c53b00d24a6776f4f08d08b7d392386f26fc100007ef3af95e82367c7180371ab903da968240e8720165f2d6d113d4e10f8d00279413ae5b783aac200009712281cec3fe27aec63dccb979a34e7d86e37e3b3da429e23697846a2ca958e0a011d3984ca7ed5c262e1067856cb7191d87bb7d1e8acf0230d4a600d07ca22bad2418ac7230489e80000c454190d333fcbedadfa7051049955993572cbd63cf42e68aa77b717d073c8a40901fb77b81a76104598d9ffda1152005f97e9820700085c91c332280307da83eae900810972423f7d915b94ae6a76e50f4327fb1e8b9d0e80c318ab05fd0819e639b4fd05e860183b1015058ae32bcb7719855ec7aa4d7200910ee810344e3cf034f9315af3107a4000f006789c75571d41a9aacb4465f684309aa3d0597b2c75366cde06e60bbbedf969012c000002ee00000000000000b9ef0eb0e2d93d6d27b065c20e022506f10a469215692dc4fab8347ccf84682b0061706500000000000000000000000000000000000000000000000000000000063e47078faf6c734bfe7e188b586ade665b4e478038a57f99fccd918751aa2b69006170650000000000000000000000000000000000000000000000000000000006dcbe7fcd0d4a4b51538f54650f1686c598455da5d3d4caf3857d4c6c8c8cce4609011235fc129aa7c102d35b04dc78a7d91183ec8dcebe12c0e5364660bff015328519033ba9f6c2a13297570dce587d6c1fc75835bf680950683a2c355761d8a473af1f2a9f090101acc07e9cf7f84857070a7a1f6320eb97b3e5415aa19cb3dcb262893651b0971903c55efe2aa6546051344415d9136c36d7224b5de88d5f50081448ac9b71fdb50ac10da1149173b9c112466d7bba1f647e2cdcdd6ff184e4275d59e3ff3f1f2321277c45d8ff9326dfa34100857af52b1e5c91a8768b04538139d4793ad35846718f9892a36e8b925b2b8e01b97a36abb0deeeb6503f11c3be5753c9d069dd7fd681798028313bdf09a144e8d30c05e5a2219d5f7e17e7b87e60f6c1353e9a3cd0481a52950a63256e2e403fd76b17c7229e295ecdfc3db33f44b869b3ada16dd28c2c5b91dd63b4d4e78ecac7139878371768686724262c779b02e44e6909c79dda2440adfd1f4e3da630f1b18562762c34594175b37816b749b66b0ca5180a81cdded691fa9475dd73710a0f98169e0077e37dd5bae3a8316c9c220a01fd9ffe9dfd6d0978af66e263e8dc7277c8e21b6a802c63a315f9922d8d43e3a6a10d5328bdfba313310c9d224c25772b6fa751b9d40213977d8228758a54d817457dad5de4b806b939a352c83bbde7f0a36e32e5243107b9017186586ff4762b92786831ba36ed9120db1a885d01d0d763980956b200644c7d26e1230901bce25afb1bddc81d393a7d30c196e5cf3753a0e876d4184457a9806266d3e436290a9d9896c78e9c6203892a9d5862e8511d457c70c7f63f5ba7637eedbb0f4ab76ed8ce64bf290f98114c0f326b8c018ec3ba88d28b7e146a1e3631b33af636c11a656bbe24dc43cbfe2cc429e84fb60e3bff1427493f2900dd9f0aed1df7c1510fa629ad473d2e32bddcbbfafa717a889311ef465c121784579443da935b76be97d7d06fd561934765db9344fea3ec4409d0b31b390d22f86191843d6e37d777cc8e8a5edec34e69d8cd7512f38c4cd1e90d4aab6a46c3433fb68d4b392c8850ad006bf0b94d78ea6081d51ce7b39f9aa65e254f9adb05243550fc4c377edc24663b6d78e10342a9706aaac244d001368b000000000000000000006a89e8b51815f5e8fd9e659eec56c8366856d20501bf14e46707331fc77ff92516e12cb25b0c3a0bf18a9d2882caa41fdfe4eb2119a2459da249b6bc6e3f23d4e12d1ba35abbfb0e961961328a4b2101c9c38047d89ddae6658dfc2fa241515f7b12b8ca79c357bdf4ec4aa0c2c2d6721ffcaf41107d4ec3af4257850cb66c12d0f834afc9b5f4ac808e7d80773c7d420dcdaee1fdd0f2d62e55a40209011b30b332b3d0c14d4041d58ea84b247009dcea5973fc8a3cacc21f7aa99dbcbaa1037119632437119bcd9a6b18ed9ea9ebccfbab7287cbb29a78f07e708e996654f2294c3da7277f0fadd03990d835b3838becdf9f4901f9e8e7ffc272bce3672a4b4cb989f3df5fde6f1604adf28cce47f315c72cf18f697884170e5fd57ae1034712a12495b627ab792d400000000000000000000000000012926a5b6731e66599d907c4913385770f91b103e1b072e98d12483a688f4b19309140090185ba802574057d16e01335eedc59ede451c146aa72c0ae54e419d23a671e5225a15039543c3b1e342da8ba16ea9c7dba464f74edf637dd4224f9cd1eedf6c115dfae7363382984a8772162a8a210da403f22c009203136d80171863947f55b48c65591d2d2fb62ee6858c2ada93941ed7895f9841e9851201a321993090a369ddb839ca0979e7c8c6d7cac3ebda8de4bd7055bbb218b511620d4d17bd55a09090eb9872b456aeeadd7a743ad65a50fe854d7b558990d88caaa2a8ab09b07049d09012afb31d0ff976e745a1ba27500820d92d6fca5b13db5ff96b13f51905046a4d6a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e7d4ebc6b7d65c7d59842ad93ee1a54e63c5a0df0e01a692bb464e57f6bdbffb30901ee19685744894fdc7f1f2f607e43fa01753c2204690dee07620a2900bffa7fc3312ff8017186165abc764a218ac3636196d9cf8d989974df3f0aa8b4fc13a2252810e20caa0d35312ff9017186226275857c0de7cc3bf2c0006472738b883e0829a6e5637f90a80ba4ddcfa0973f09016248f1313c0bcd995cb8c908eca722a4cdcd3c5f48a6c6db02fe2cb03a3a81e9a165477af971c552412773320c4c567228176872b3328334eab1e5acaedcc39e3f8e5dc1d57e1d9822c549b057678f25cce7fa5fefa17163d25153fe1b2f6f994e0f5fb2d47a84df264f26e63210489eeb2f2a274f2a82f8c61aaac5dd3ba8244d1b90fd32f45fee5310090151810e421c5111fda876cece5c9056080dd972a726a1e4428ab391a8618337020a0181399ee467cf03c8cd376963f8607f6e276a92dd89b19201f2137b4179f5bfaf210171861360ba191ef16d883d699184a191dbf55c7408c1b2f7bcfa70bb1a0a9d4c2de2094101b9eafba6c4c718db591fe422c98b3d9eaab1212c4217d10b7bfa96619c2a30c94f02c3931346ad190736b0fab0139776905c15dbdeeba04817991ad158e3cb31861b82a709ff11224f2415190738f5088b1bc394fb62a4a22daf0dfc14900023e60ec6d4cd59dc14959dd0a57f0d9e1907383578bbe26d685cdd03317abea7e600424a52b0593c10dea4270f7bc57f80bb8825097be8fbcb15cacd4bad0b7e6ab7091480ff8a8e566b9f33f13a09377d12e50a69c3190739b50ff653f4135296911a4f49f84aca85a6c002906ef30b7ee66193a515d32bbf51190765a2fa57d4d6e2f5ae8d1802033116982745fd5e1c51a08b0fe48b1277fac114a4d81909b5bcfe5ac6a61e70b02e52f8be996f9e3e7909aaa27a95efdfa5b528c8c433cf5dba1909130cb5d61b3701314843fc1f3cf26e69dfe568683bf5300908bdaa41da1deba8a5e9111f2dc5150b02810c8f02faceef1a14eaeb104c0864a565534f17a5152ef9eb82dd72116c06808f9ca701e7b88decec88ea71710cde44a2b0496fb2ca008a17da43138b1a3911054f269485e4113f0bc54e4ed3962928dea4ed30dc6e6acb1d28f318a696286a31610a01e98bcf7c91021dec06def30d4da8391f52e36ee64adfabfaebb0f4e31a7d01f7111f24432c1c9a293bb476887074caee2e22a5bc98b2858d6b9412dc667d6d0df38acea1d948da7ba45ba8d119a64e5498b247feaebd8b739b8f0070e47f6cb2d361a6ae2e89f0aaf5de3a5b29947bc280675ceb680c6ec2311af0017186401cd861d51220a7f456584ea2fb9f6001d2ea4c0aff83f825deb6c6de173afeed3904325b0881a86bac268ec7a39f04bd59bfeebad1668b7be705b8e278da30a00a393b6eb780edda79c097ce7bc90715b34b9f10000000001e61955552a75fd44eb3bc8a520617e7626f867c9784b0934d33df13fb0248fb79c097ce7bc90715b34b9f10000000009175577d243744580e4d3eba6d001ae4a52ecf41915633aaefaec812c0b255bc0a016da4f25e21ea9a9da707266a06a38385e4f45a7521d930bf7ac684d28dfc860e090131a49c135824a04a04360f4ecbc6867c746f5ccc530ccb0102622dd71f56c56109013e4006101e0fde5109283e76e0abb0a6496f75a63c979ef7bfe90c55a20c8c8831047cae0f1089b2c416fc546ac82f94a49374c48a6ed2011ad43b0c71cecd92f8990edb9a2db4090175505f6b9b08556a1e16c1c50dbb8c161c3abac8f3f50613e08d71037e0ec6d74170f5f9d3e35fef0d2fba6acb46454534d4fcf1d2027bd50dc1ff77ea016718c670d3def0da26a2a44170f5f9d3e35fef0d0ebfaff93008adcb69843ec9881d6b2e2bcccc3aa4b30bee9ade9a0221fcddc60a011cacced5b6f672ebeeb7e99dd69158424e69b24fa9075218dc525b51fa4c99d029d1adada9f99f1e7b9405b6770849049e59e363dedfa1a73f467405a64edd954f4f0709e6880901d6bc4f049abf9c4b0c663c1f137c302ded9772d4f923840246a2b5c0db47177e0901257acae0efe704629e1552412a67ef32106bf2191fb3dfef4bfeb844d40cc503090117391cd68366e6f2eefeec472aea267d5ed97727327927739f800b924f5d0f5d09016669faf6484b99ccf6b8de37b06ba36ced8277d91d45ddb18926ceb91bad8c700901ad8ec34ec3708e06a44070e9f8f0697fd925fc70d8115fd03b2767c5b02562260901940fea0027879592e27dbd46f7ce4c6c799e2f04415645566c340c0d318ffdbf09013b1d910ca21f4561e426cd233ad98c9a2925154a77cebf3bc5d6847a3d91075b090167b6c29087dac56105580e5f677e349bb179da137ece1d2430fd75ebdc1b22d509010b32db0729a5182cb3ad4f86f2328502c7db024a3656a057b33153f096e6b74f09014835b724a8d30ad18af48320980d1ff38ddc9b3fbdee2a6ac7f9211d9b05631f0901b10ef22029d3990a5edc1775a038412559a0b8194d37476656809d5c84f387eb09016278d477fe67124d3d3aeb8c2f5d726e6cd285bd543a5f827d33c759335b55100901a70ebe30bcfec080f540e96cd54c2b49c7aa18bf7b771b6168582113804bae300901dee3974538ddc7a0866fe26c52a389cc4c96767e5c09d3917ea04bb3395f7c2109014a4d16024ab61163e4442862311bd0fe61b720678d02e03e095437404b4b03e75979861e6a2dad8a248b8c0ea6150af75e4e48b97c1882bcea43aca1b01662ba932e546fe7d5ade1b949871e090190869960b5bd7dcfcf9447b302cd99aee59d882710ef2a0a1299920f7f7c685d09015d6c16992385cb5d833df31f4090ee6825b2c8701f92ce0477b63ce12b75b862005261657374726f0000000000000000000000000000000000000000000000000e46f3883d5c3a2477bda1bbfb8924fc5ecd14869c2d2fc38500a2faba696c14c000a8f6616edf999f5ce01f1fe1b894a726336cb13115a59043494944a072f579a4d1e7217d66d3d43fab8faba493feb42965e80cad570bb29988aab46c3b6153cb00c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6f47586930205713a6a363a9d06c15d0db51436ec49fd51b8de8900ae32c2b96c096f0d5c261ad9aff66480c7b22a49e9c185589b67131e8e1099d86a3536086637cfa17816a972b63d0679c935879cfaeb6453c7c1c8c9e853ece842d12de2a0d1b7dfde9c9617fba97871e6a3cdc0a9f60f66e0c6c0f1a17816a972b63d0679c935879cfaeb6453c7c1c8c902e961595aeb5c304f2849d4c1a759413a26d8c473fe769319a18e319ace9d3a09026e708a3dc48ed3b38f705bae99f8fef0f0c4881cc5e96537f32f6d703106b50c09016fe4a5488c3854e373bdba93eb4552bfb427e6951995bd65b2c3a55b156d23b6090292e278a79d3343959e9f5c390277e32d556e615e476cf0a108f9b4524688ac47a156abb6a3f25dccdada106191053b1cc54c196deec8507d19a898613091d6415824a6244a7ba6212ee76a9d0a7c6c904a82f3e01b09015aaf9b799076012479363653434fa93b89f2822dd6150e4b56377b207f26fbbc0901f826346b5d717de99d1774a11e6b897315c60845807efda369ac20905b3f64e009012ed7a51071d0844752958bd1d67971666340bab5f8fd15c2d471a0fde4506147a17816a972b63d0679c935879cfaeb6453c7c1c8c9677f8ff1a98b7c11868d0408a7f9ba3d523562b858d34affa57ace4e74caf269a17816a972b63d0679c935879cfaeb6453c7c1c8c9d7219df5808c4bc0854d28b38fb26bbded52e00a9ba02dd85ef8285e6d0c6971a17816a972b63d0679c935879cfaeb6453c7c1c8c91749e7427159f18bb6e298b10b3679b956f41187a25bbcdc4b9b0daee8e3444c00697066733a2f2f516d556a6554533668747756766b51766d6463556372786165f0682fef72a02e4f48fea058e5bd83e1c82630d0db2348003a7514d343b80a61006f665178793452326e636d566f37476f436a666d482f30000000000000000000b589cd787e4d0d1d47e6b6dc38a21581d7a2d99c0a2a61a4db2b0b836149ff04090123f933b221f2747e4f696debdecc366a1de91271d188a260a8215ef3092186cd0901460aedc9249b63a4a2971178bafff352020838fa1fb066b099ddef723a32d3e509012cfec83d80457e553b6c58f546dd5015923eb928e9e020bc002703a6c47129b50901ae2f0a3b41bb84ac766d32c6615da315c2323727e715c6ca7eaf356d3da269c109013295ce215f546349bf345f5f7f8406a76b4a37c24167ba851c5cf449de84b6a03904a4a455de4348ba4bd574f6eaa9f4908c97ddd69ae4939bbbcc78db3a6d2589821800363d06ba21042aa1e8dac60805d1eb0ec310bbb4aa02e9c61feaf4a8879215462a9719f06e271c8d04210182219e1d25a204efca6d46244cce7ad7d2ef46033c6ba0583cf38098dbec0b21040fdd2165a6de4dc6ebcd94d5b43f27e0ec3962ac378a92c79cab9df11395fa083c1d3277c3be9c5922c2c22b62ce831b53bc81395387a23aea94411ae8d026836e206a43364996812a9d53eba32a5b22729ca729227610346e5dbad9b528bf307acda1e21df661b94eef1a5405710aadaf463ecfc73ee1496e0901f10404afee7818eb073f32117a11d500a20c73c046a0e27b52f453bf11beaa46a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e2109690fd4953c3057fb56444aeba5a904b21a5215cf37c4af87636f187b2b38a178bfec5e4693aee12dedff44f40e5ccce66ddb1c7b9fca3d919f48037bd36a73eee0c506d169bc80a4875fac3ffa2e9d38c491db0901cbac5c7603ae0a7ff05beac2bc7946663fcf627d46749c9a61436fae633ac0520901df0ee468c7b9b9c10d8b28697256da3a2a13433ca96e9d30f22ad3495553b1d2a144ef12d4b87c5646869b28e6b62e8aca975afdfaa29734b9b4680e31e370be9fc36c9b54e6523c48935f7740c3108bc03319ecad296c01718640d645e474f86fe66f2c63f0857e0aff27fb4ce12f94d4fcf320ef56a21720d163090190b19c1f41dddb2f54d53ad0d8f961ec9a866c37b50141da2932ef7f3eedf69f59524d10dbc0a39e7cea39c8626163e80cc225e64719f6c5b9404107acd41f117f495f1157516b47e17a4b8b2165a6de2b483b68e50ca45c31cb92e1d43b79be414335d8e3ae2d72889153d9bd4fdf0b6a31048c2739500077c1fab877047b94ce5b6df69d1a164a0f1164ef29985f833c0b27a6a64747ca2165a6de2b8c838f415041162cdf3cbc028978669046f32675466b835a337dd17b26c742400901313603fbaafd9b9dc2ee76867de15c515ba8a3ddac50b606c0dfc9ef3e9bdb860a014be94257e76c4c0957240e07b32bf0a494b4e72b28ff32e6c51b5660e705ff99313b890171863f8296538c0df71d959117b23991ab81cbf8793b09a2818127cfcfa4826adb86e609015b05d98d465ff9fed32b201bcff0fbf6a2406f6c98dade1505a29b0be6d96630a17163d25153fe1b2f6f994e0f5fb2d47a84df264f0c66ab9e09010b2107ae09010019933f090108afd9f609010806212009010133ae7409010a1ecea20901068018cd09010c64307509010669606409010b2a8fa809010601f0e5090107b21d038901000000000000000000000000000000000677b0eb09010c41cf7909010b8e7b8009020c2c70740901095a7281090109fde82c0901056783de090100579c9a090106bfc71209010c377173090104f1c34c09010077ee580901007444c9090200e76a4a090100564914090106b5d97909010019a3de0901036d2629090208086c30090100041aab09020c67e2ee09020766c88a09030c6805f7093704faaceb090200462b3609010ba8f6710901058faec509010b533a5a09010b6f0909090109f8fa190901056d73660901073f475b0901072886a6090101b8cf1009010264c0440901000290b409020c6709578901000000000000000000000000000000010c09638309010bfeba32090101309dd909010a0b6b9d09010c6808ea09320638faec090106106b0c09010a3b7c1d0901056d5fe9090105ddeaff09010071973209010a17304c0901019ca8c809020b61f03b090100676af40928001478ee09010bd9a6fe09020005e4d3090100327de70901008c6dcb0901004dcf1609010b07c96009020669c2f5090106706ac809010bdbbe9809010561870b0902003bae2609020c68079e0901034021c009010660d93d0901066f19390901032648dd09010aed18af09020a400f7e09030115cc6f090105d6ead3090100e5558109010660ef780901031ded4909010c67fddd09010520bbea09010c67de0c0902086ab54c09010589a7860901070e5651090106eb4b2f090109f9d2270903006593160901001109cd090109efaa8709030b209e2a090203189bd109010c67df880901000a2b32090105fd971c090202009826090100445cd0090109cd4b3a090701c197c909010b4076e1090100053ca909010c6807a009350bd9a3d4090109f07b6e090104d18eb709020491c84209010ba9972c09010b2b2f0509010ad6dcd2090100414751090202ea1dd1090107582da309010c67e4750901074faf5409010b4085a509010bda074b0901029b6ff909010b4bc7a209010b0033660901002a5be50903015e042409010b55111609010775e475090105b091920902002bf77a09010b8f00c709010289e0f509010b39f2b60901060b2d8c0901001d996c090205fcd07f09010046488189010000000000000000000000000000000006aa50d5090107cbf6970901000d9d7209020bd9be60090104e9bb72090106103a1e09010c67db19090302a8b08f0901032bfecc090109cd026a09010c54a109090109c2026209010c22df910902001831a1090205d2c8d50902002689ca0901091fb83c09020567809609010bdde3c709010c677e4609020017b82009010b2ab89909020bcff27209010173ca720901000fa0e2090101ad82dd09010bb3da6a090205a70bb509010b85934209010272cdba0901000e553909010ba8ff2e09010c680481090103fdd1b809020c526e49090107a89cdf09010b096577090109f9c5a409010829ef7b0901002556e6090100079f640901035440a4090107b21d06090205e37a1509010a16ca5c090205f310ae09010ae53901090101af593509010978121d090104eb6451090104f7d30a09060bee7558090100001fa30906060fe9e3090109daec820901023cd82409010010500f090100dc86c10901000f844b09020aff4bb109010afc8d38090100107676090106c0b79e0901089c8bd20901057da16109030a1625f009020233cff309010c614251090103e73810090109d4f6ab0901051778c409010b409e5909010610117c09010389a099090201d1637509010329bc3c090105554ea009010055bdda09020035758e09020c59cfd9090109765dcf09010b77065509010304597e09010693d5ff0902060f661209010c096e9e0901074cc6920901041362c609010c5efeec09010684f20309010bc4c98d09010bc4ebb80901056789be0901031fe67009030b5b499309010a0f25fb090106c0bdf809010ad6158c0901001d5ebe09010b258a7c0902003b5382090103266c4609010b8566d60901099c928e090109f4640f09010ae5292c09010005acd009010860ce950901070e64fc09010033df33090200c29fd20905002745410901065e5d7e09010008644509010bf29a71090300d25ae8090201a1100b09010ae0313d09010a6bd8f409010019f998090109e092b6090106b441fd09010326a3130901005b30060902000003f00901064f91be090101e5a8b2090200001fa4090309a108fa09020c6143f90902049bdf030901002f54ff09010be5f3cf09010643c35a0901009894240902063fcff80902087713c309020b7e71680901001bbbd709010babfa4109010bd0d3a5090109a178db09010017e472090208f489a9090105ce03f8090106eba5b5090100782698090100657ec7090109d42ca6090105e80d1609010b8d46f109010b185fb9090100014ed609010401a1ea090102bf6e1109010848de0e090102f7ea4c09020000f821090105d9f3040901018116d109020ab7244f090109eaed9a09010554bf0b09010c680484091a02a1a2970903012b60e609010a293b5c09010c67d77709020c67f3920903009d1c46090a031392fe0901000429de090107f0739509020c6808ed0931025b4ca309020babde7109010bcff83f090105677ed109010009588509010c67ed1009020a69dc670901036517b009010c67de1209020bd007bb0901088ae94b09060b197ff009010577ab5d0901006b80db090205677ed209010bc7af2509010b500dfa0901018b7176090a0b0f7e6f09010401387209030961737509010c677e490901003ade5f0901000bfe3b0902000b78130901065d17b70901003e69fc09010644dfe30901079dfad70902086ac190090106339b8309010c22f90d090104ec10ea090101c9dfd309010b8d5da709010a2a8e080901003bcb22090400111b3a09010201bd1509010445f9f909040bdb22f6090109310235090103f4df31090105e81baa09010a22e6aa090101af525b09020c1522d4090201f129b30901054756db09010b6f9eaf090100fb09e609020c644564090105678be709010a0502ef09010182b94f09010a6cb63909010c51c6bb0901021f4d3109020c2258a50901008abfcf09010124ab40090109eb2a2f090204ebff3609020b106d04090103a75f4c090109ff727f09010b2b256109010b61acce09010339be860901001fb231090105073d650901090adb6f090109a4f89009010b55e934090105e73d080901005ea21b090109f5f78b0901008b4e4509010567820b0901070e69cc09010c6809ff092f0b8f6b4609020b32ace109010207a1f8090104b4d5ac0902001eb0a2090100146b92090600f0a9c709020c6807a709360c15164e09020000b20f0901003575a5092503fcee1e09010a4127e4090100c6a402090205b0a97f09010064f1a4090205678dc909010069334a09020b955573090109fe7a6909010b2a989c09010687a8e7090107a09c9409010a81c1d509010a5a33bf09010c66bb1209010a32db290901003515870901055f03770901019cd93c090101571730090105678f7d090109cdb2160901000923c8090100e7171f09010030f41609010b17c7d90901054dd2df0905048d7abc090101538ff7090103ff66e709010938ea8309010000002f4201e5111d61f778000c515cc13278fc6fa250000b20d5853902c5a0525826eb00198ea73a01f04119e726ab07dbf5d1323eaf68e46f0008061fa53927c1250c1e32fe0133961d32287da4bef1000a1ecb9b3a06b5ec39cf3965067fea23323b13b95877000c617784322a4cf9fd2d0006625924322a9a3acf63000770e63e3ab017421402cff90b2648ac322811cbdfd90005bb81993a16345d84fd7ba006771350322811cbdfd9000c41cf8c322f58aca323000b8e6e9132d4e04b3c360007649f72391ef1b2e7fe60000c2c69cf3a0743da7c0b1c4708181dd232285e5fd7920009fde3c73914fcc59bb696ff056747893226fde45ecf00005797e4322a18d8824e0006bfae4732356b3cedf3000c376c6d322811cbdfd90004f0967732db65bc758c000073e7b6322f67162a2e0000743752329f7f3d0eb5cb00e75fc533216ac8e375c000561d0932f640e036610006b469933255aa0fed21000019a12d322f67162a2e00036d11ce3a0ec9c052e1baca0800f85c3278a1f544e2000003f9f9324df4f65319000c67df913251da5cb3af000b24ff1939354a6ba7a180020766b1ce3271823e01ea000c68011e3a343b838e24f88903a766c73a01435982a96300052e733531e35fa931a0000046273a322830402975000ba8d5df322f57dc0560000117fee83a0ec0fd33aa32000b44e366322a6c38eeab000b69876a32270b2fcbaa0009a5ad6b323c2d72f73b000556cf6a3a3830032768a0000bb23f913112309ce54000073a596532357a7712c10007287b3c328dd089866400085e6193312d79883d200001b8cbef3229770747e8000a419af53942af372e6f20010264acf732bc926e31bb0000028a8d324bf72208b0000c67077b3a03761b910ee9000c08b8b83917642f7a93e4bd0bfeb0de32c4e6e72ce00000b2c027316d23ad5f800001308cce39124b95997c0aea0957158f32285e5fd7920000903f65390793f3c34e50030c6806043a2f7a8b284b0d220638f2e0323b12d6d9110005d03aba3b37b810daa23fdc0a3b71f539019fdbc389019c056d601332bd2efc5b7f0005dc81003226e74eb8450000af040e390728a1bf38f000007195003b257c71d9d67eae0a16e2143a14f68cc320a078019c89ca3b9a6e7f18365f3902d458a031062f3f95a0000b1d051f32277d0a778400006765e13a26080a264e369000043a133a1b1e27620155000bd9a58732a7db68ec68000005d782322a4c295f6a000032762a322933aba83b00008c61a2322bc5115f26000c67d1c93a1eb22be53345000014300c3a07448a4b8298000b06031e39065bc1c2d7315e05d2adbc32270b2fcbaa0006604aae32b1fee9a95c000bd4cb403234cf082c5e000b951344315af3107a40000561873c33e7dc91cd9228003b993c324dc4ca1fa4000c6800363299e1cdd54f00033f6a0e3a056594fec7584a0b951582312d79883d20000646b60d3a06bb6eb3f15c15066f0be832356e4fb5f70002daf38c3a07231c46551a4a0aed136e3a0643f444b194a50a3fb741326aaf505b940000cdf3843a07cc564ee727180594fcb13a0139dcf5e45bdb0b2850a632b1912dfe130000e522fb326b804190e200065937073a0820accf6a500002b4820c3a2bd23a842363160c67fde23aa03a8b22428f5505209e92322e72af2b4d000c0b3a2e391572c8c51ff82e086a9b313a523ef0b8932d00058884be3a1772f6cb55239806c64f943226e74eb8450006d5dc133a063eae9072467b0c60b8d93903e28a86bcb55901665829390e3b276187c40009f9d0de3941b4e2f9cd009e00658ca03251b4632f30000c5268c73247fc441bc0000010fa7b322a6c38eeab0009d9f5e832715f4b59ad000246170c393822042b7380000ad0d95032f745047b660002da86213a052f09f7852cee0c06e26f3a1710a4c929f0940000214d412b85e64d385c77b30009694f32297636aa250005fd944a32b1d618f7a300020083183a08adfb6136a4b2003c28ac322a2f8bf63d0009cd3d6d3a0101033d331c0001bfacb0323744c4db25000b3f3b9c323d37e08f8e00000532c6322f67162a2e000c6800383a32558ca5c52da10bd9983332b2aa765d240009d628a0322d910c4ed200041209b03249a81d9a880000001cf609020491c5e1323efe56dded000b94ee213902f5d84a4647480ad6a75232fa28e81f6b2f003f05e13a02164b8d282d0002ea1de13236a0e12586000678bd583a04b4106596d6ce0c0e701b3a3cd5042bf7fb20074748003a0d0393910a8a450b9bb088312385416c274a0b40549b3901a305729a68dc0bd9f8c63a02fb5d0e94eb76029b6d39323df73d9e49000b2daa043a13d3fc726a7b3f0af9e1273235e3ae6988000029fa563a02e02b74baa996015dd46f32fa29b8bd2e2f0b5506b63a2421dfc3d1f5eb075444923a037a2968c32800056d1af032e702fbc5e0000055ca393917968e9bddd0080001fea83228203566e4000b8ef68e322f57dc0560000288da51322810fb4216000b39f2c1322701a401500003b7a7853a0d39d8902fa80000066915324dad8d947e0005ba36213a21fb6c3f63a66905c643581102d106aa20eb32407fe232bc0007cb5f9b32c46d7b5a6100000d9aff324da9c2063b000bd9a3e232278e0f90ff000405f1f139037803638fd62f04e946b03a01df501fc3960005d038d13b30f58adea393940c08153e32e5bf87528b7402a7fb26322770127cf70002dc122c3154536ec440f409ccf4583908d0533492945d0c526ac03a01b09b3908ad0009c1f0063934320e8087ff610c1b5e6732f8cf62d450000017e9004101633f21bfaab53405d2c72d32993ddafd1740002678f932271d64e0f800091ba0e4324753be443a000567478e3226fde45ecf000bdddebe3235ada42c9700034a6a64410122129a8a42fe000c1ad0a93946b350891e1386000b1a62410dca9095f543bb890700171f316d23ad5f80000b2ab8a532d9bae8b7d8fe0bcfaee7322f57dc0560000173c42c322f57dc056000000f87383a4763879fd9270001ad5872322a6b6850e8000b31a6333261c4c82ee20005a709c532d114f29e1f00062bb81f32323f7f4bc3000272cc643a04142a767bc011000e503a32356a6c5030000ba8faf6322f58aca323000c68031332ce2977ddb70003e179023a01ea112ef75f5e0c5245b231651e854f700007a7e510327e36e2e51e000badd1c5312d79883d20000b0948c6390e232b7f90b18009f9c0cd3901c981369935a8081d25853a02db4480c5136700250cda328b033b890c000007995632cb246690640002695eb43903ca5465a9e85207ac1aa83a02748344f70b0005e31241322811cbdfd9000a16ba0a324db2e87ca40005f24566322fa33a0b65000a3f3374322add966f10000b8f8651312d79883d200001add144322a5c3421fb000918ccfc3952be7de57809690420d23532270e12e4a60004f7d31d3a01e3662d9197400bee5edb32942c4198ba0000001fa5421fb4f598aec9fbc305d034883b365663bb27bda109dadcc339023b57fab9abc8023b72b7322810fb42160000104d7f322a5b6384380000dc837b32356a6c50300006316c8839237dda214e6008000f702d411c85284fd99258aa0c680a013a1ca575c01115000aff423f3913d173da3cb9ee0afc54c5390a1dd6054868b0001076af322a5b6384380006c0a59e322add966f100007f36510322811cbdfd9000559058d3a0105044d7b72be09e8400c3148c2739500000a15e993390adb2d23d4f1c90053bb7a3229606bab7d000c5dd2f5390496452197357c03e732933231bf70bdc70009d4d8633911a601d552c7be0516fe1e3b2a4015f26990c60b4081df3a47fd952fef7c2f05d036aa3b34c1a6c9bb52fd037490e132b4faaac71f000134ba45322c199bd1750002dbe764328cd77d63f5f105552739322f58aca323000024b54e3a12c21704b811000000f5d1324db205fd3e000c59c9583a23f10a92d0d7000c6803153a2223f0aad3b31f06648fde4102fac121da0b06510b76f9c23a1bd716e4db0900030430af322a5b6384380005d030ba3b2e3fba4a4bd9e30c096cf132356a6c50300006b079ee32270498fbef00041358f5322830402975000c5efd2639dd8b4acbc77a1805be472632270b715c550000002a3b39c060f02190c8000bc4c5d232942b70faf7000bc49f86322810fb421600056749353226fde45ecf00003921e44102ac9ba10837c000031fb92f32718ce7e674000b5b327c3a01a5b28f1525000a0f1880326c95ac800d0006c09a98322add966f10000ad48e973a0d0f9cbaa2203a095834d5411f2178e1a8ab7001001d574f32356a6c5030000b257bc13912ed745f2db6c6003b539b31940307c2800002dbc10f3a03f7f77b2d9cff0b85453e32fa29b8bd2e3b0992c0663b1d0f4231a8990009f462983297ff1385f2000ae4da1a390468b4d98d051c0000745f3229460a76b00008115b7b3a47d8712a5b7f0007014da33226e74eb8450002d9a53e310a1443614f4005413e8f31246139ca80000025e081324df425b5560000c2964632b33c07301000002728623274f1bc97b80006293bac32270b2fcbaa00000861c0322a4cf9fd2d000bf24cd1327160dab3900000c2f2c63a12b83a3fdf3b0001a10d4d39d88c554f4c22000adfd56839042a69f4f3fba00a64d62a322a5c3421fb0000196c88322e90a053930009dc4dea3a0f35b653d0b87406b43e2532357a7712c10002db8b1d3a052baa2d561de20a4c1bcb312d79883d2000005b2e2539333fab2c9c7c6c0000028e328401ab13430005b3148f3a0ce50f476c3e260c355294390a9f639fe0e00101e5a2bf324daf8242520000001e0b41019cef1dba180e34028ed6a039018a0c4092045c099996f53a037afa87bdd0ce0c5dd4fb390333d8242113d502b6623b3232e663e7c300002f4d7f32a857c9b986000be5f07e322be432833f00051223573235b6418bc900009894523a01191a09bdfa00063fbd9f3a012e2a4d79260008771082391179237adc68440b7e6ca93269d57a4088000c515cd039153b43d630197b001ad4053228210604a7000b94459d3229561b2f22000bd0c4be32b911de96b000096b03c632277d0a7784000017e2893273362bc8ad000a4b3fbb312d79883d200004461c2231f5904616e000070017223901ce692d85d0ef08f47ffe322a08981ad40005cc9a453a054440fd31100006eb2c8b3a23d6a64b3bd30000781b5b3a0bdb2f3e28709b00657a0d322967cd231a0009d4263c322f67162a2e0005e7fbfe3a45aeba54a0a7000b85f152322b176c3a44000b1856dd3a21c930528009ac00014c3d4107f67b64c9c589c50401050032abab044e560002bf5a793a0b2f4987b940000820a29032270498fbef0002f7e7c439226a8e88a3cc460000f5e03a2402e3036eac0005d9ce71322ced9fcec700017fe73f411a60757d070cf2000ab2c07232356b3cedf30009eaec2c3902a8c3eef4bdf10536bab93b0bb897ffdea5290c6802073a18b53e98fae366011911c73269bcd814a600011eabad322810fb4216000a291784390398664f09f3a70bfefcb63a02ba5971f628d600b1e4593910bb4b0ad579260c67ee413a023175f84aaf00009d197a3a0985cb050e8a7602c0dea33242a4c825f3000003ff353229770747e8000b1fffae3a04ccd605d8bb0007f05a5b3a0149cead855e000c6803193a2e8727771b48ff0a6de00d312d79883d200001f8aefb326ac4fd8cd7000babb53239bea2a1819f49e20bcfaeef322f57dc056000056745ac3226fde45ecf000009413d322a5b638438000c0e77ca3a3e9c85ae3d7ea606f90fb43118a5981233000a5caff431766e2fc0f63402ce87dc3a14ae70a14d97000c01a96d39122116f028465a0bcfaef2322f57dc056000088ae0f032dc59a05317000b19584b3a172396df85cd780544f49932270b2fcbaa00006b60b33a012db205b6b800056745ad3227b12bf263000b5d01403a075ec9e69360a30b4fface32372b4625be0000f97b5f4207212ca7732656000b0f10aa3905907cb88de7b40400b0ad3271e1f57a1900095fdb52323513db4e6a000c1afa8f393f9808a3ac5731003ada48322f57dc05600000004065422a566631615bb5b800004440324c2a9c9ef300000b6e9c322c91ef7fa50004f62d423944d0e9914ca00406589ac2324a872ada7400003bec053a044295fed86f030644d56432356a6c503000079d46e43b09e6cb6ea4eff2086aa23c3a2af736c9560500063336033a08ba03e4cd19000c22a54d322811cbdfd90003b30853322d858bd6a40001c9c26a322a5b638438000b8d5454322a4cf9fd2d000a2a713532b5f4a848f00000204dbe32912d43f9cc0009e8ae443148c27395000009e8e55c3148c273950000001113e9322b8da1817900018197123a04d45bf4dc3ccc06da451e31020a1f6a7900034a9b4d3a098577d4ae7c000bdb20ed39a5c06a979d684101572437410140500ad528f01f02a835dc322966fc85570003f3970d3241127f3e350005e804de323b2b84f0b5000a22632a3a070aeb2b01585705e8cc8a391930514375200001add14c324df5c6f0dc000c15185432495f5531120001f11b9342018e78b1397ed9000a60083439012d908be563250545776439277c14d8cc4f7c0b358554390843669f6bb4e100fb054b324bfe9b57d10006e346b04104dca0ca6af1c8c50567493a3226fde45ecf000891af2732285f3075550001828d41322fbe7dbf9800092dea034103810f6985c940000a66ea4f32b4e297a855000c517d543259f4be52f500020717fc3a0cc93f03899a000c672eca3358e0ba35b3000c2258b5322811cbdfd90000131b163a06bdd7efdb2a0008127dca313691d6afc0000124a56e322ac972a1cf0009eb1fb43a0159195a41640003b356533266b5a26a77000b103ee939064fe25927e76f039acc16322701a401500006107c5b310345b9830c0009fed9d7323a40f7389b000b61a0ae322beadb349d0002be170b39083b2ffef84aeb0ba7419d3a0e35fa931a0000001f7926329d5411b6b40004a3dbe83b1e7053e20c7ba508feed23324ba179dcbe15099d6cf53a01e664745bc5020b55d8d0323c28f4989a00059174363b072f2bcf9e07bb005e825832285f3075550009f5e22432c17732f229000057c1e2323ba81b62bc000bf6e3fc312d79883d2000056747933226fde45ecf0007016e073226e74eb845000c6804913a2ca0e536ab5d910b8f6b563a039bbf383c98dd0b32ab86322beadb349d000207a211322f7720ecbf0004b4a830390149c21822556400011e7732357a7712c1000013e14732dccdbd29320000eda10c392ea24f4ea033780c68020b3a3348659e826a4a0c14ddc033ed1b17a818340000721f3229596991f000003558e23a04c43bf509890003da1243391069d0b428cac30a410b2139027cae0e8d70d5000dbfc53a05b7b60044e80005aefea23226e74eb84500006145fa32bb77a26489000567493c3226fde45ecf0000233c193904bb4ee9020ecf0c51976739012f0b2ba3a0000b90564932dc877e70890009fe54073902114e1a1519300b2a91993a0104ae509d09000687a60e32d41d81fd4800078f11223251b4632f30000c67d1d73a1e66a2ba70a8000c5268cd3a13a79dca1b67000a78f227390b3c83fe966f7c0a59c3d0322685433432000c66bb1d3ab9fb739325a5000a326b7132730570882000003499fc32ac97e6125400055d1385322f67e6c7f100019ccdb439d88c554f4c2200015704ba322a6b6850e80005674b133226fde45ecf0009cd90283902f25cac4379e4000913ab327db8ecc83c0000e6ba96322a6c38eeab00002ff8bd3ac38f22a3e60a0c0b17a27e3901af152105307305488c9c32f1e2a3064500048d38093a025f94052c290000c52e4a32b433aab01c0003b031e93b0ba92c6de0f24c093898c9323b9b11868c000597bbcf42397f022f767c7a7c0000002489010000000000000000000000000000004d070a5197895200000000000000000000000000000054070a5bd9006d6ddd63ddd4a2157b38227c662e6d7952854772e2f3579dfb6bbe6a81973055070a5bda000709fab9fd95a8a0c200e329921b1b8d6800f788144e4daa7e50acde6057fc94070a5bdb008ffe7c315ac533335a182ac2b299acffe92810b4d5a6f3392b44c18bbac8e384070a5bdc0000f66c0a665811bd0cc14d319339151f8f59ef9ce4205ce2da326a8fbcde8512070a5bdd009fed2925bae3fdcc8e876587ae7d84a49bb7b05a241c01ca8c641ccb28e27fa1070a5bde0056a07be9babf358e6939609d16bdaaf25d0d7d5ece9e955b7e61e0fcbbc512a3070a5bdf0009900c19f7270a23399e2a1cd7a18623ba071b7d024853be75ac912159ebf289070a5be000bd852a8b80acd256fd209287595c4a4b487c82d16bac6a306b9ade6148f8ffcc070a5be1009982bf903474e958933dada56128d7003252a71340d03bd2a93baa1f47f7f4cb070a5be200377be92ff2e22a80607b9682548b57db6a1ff7b4e853f81d79b1e06a8464fc97070a5be30061bd1f1b93743d45db854d7f211309f3eff323ee728152b1b97d956f2c4d3823070a5be4009290725faece0b8804c81b21f62a92b06acf54e28ffe8bdf870aa2ddb7e09130070a5be500697b1c38d6b9582d41b8adf4a41a0ff6c20e15bc81c3899db7a61cc594f448f6070a5be6002efa65cb2ac822400156a605ab9a435e1d3d278e825efa3f2435cfdf652bedf5070a5be700c162bcb089f06c0cfc7f00e2e4863e2badd3e086db45acf08b852b4e5916208f070a5be800d8839e92cd3f6b32e5db6dc273e928e88c3fa42e6aaf46d0798640745bda4712070a5be90074e96903c0088ba0a33ba5f1f3b0df345dcbf84d5a1ab344b56961964430218f070a5bea000f4ffcffbdcf3ede64895966ff0004b664165bbe0c5ac5877fa9a2004cf4e991070a5beb00f9226300947636f58fbbfcc0b2ea48fe6b8926a42fad01ad8bf17222532377b3070a5bec00144e5d780f5e8e63ab026594b2b646aaf4331c29c2aa3a98a8b2a2232586bbf9070a5bed0042c638e91fae55af2f7162c90be63d81e7d2a8d0c9c9b0e188566b1ef0f6d801070a5bee00f856242dda26db04d3bde02025e471aad0ddd5e990d3e0d56f0e963503c03ac4070a5bef005b5ecbc123ea027d3fd8fe859b92ea983a6bb09d02926cbced73163d353188b6070a5bf000c3574ca2d0b213f6580d8f2a4db53f9cf00cf62bc1cbf37bb5ee4aee314f7fb5070a5bf100baa903bbb707977a5dd902a116c217f00a5f5a3ebb4054c9b5912274d5d1e3b4070a5bf20013c90febf653fb0348d9699ddd7d8947d59ddb1bbc32035985a47cbb24a2be60070a5d68007ac4b937f9565187f243c181707b57a59fd1f5f39987b15b33419a63ca72da01070a5d690072d1ade4dba274d2e1ad9455a658036f58bb8e6949f61b8e20420ec2e9d61ec2070a5d6a007188ebb23df5cdde059cc951110a7f73d528063c1605776c43b0eb5770d32928070a5d6b007c0fdbe358890e7bbabd96af73caed7804a97cba21783a050b88674cbb567a65070a5d6c006b4c52b358482aecc9d32e881bc54015fdf330b2c8e9dc2eec54074d684dd39d070a5d6d00b94b9d12fd4bcb411a316ffe858dd56ac6911d118663cc99fb84eafdf7095937070a5d6e00f1c1ccb97fc759e38fa46bed43b4f3be2f317cc73ede6e3143f23eb853e06b7e070a5d6f00e13d13242407f1de4f35d773c34319ff16b3689e44ceed365f6cd63680c3d030070a5d70008c29eb8041bc65d83ab58c2da3211baf91181436a3b63841ad747622faad981f070a5d710090303b47416508494b02ef5bc09d8c5ebd82aeb714ab5dbdb5d3ec2daa8ee5a9070a5d720031cc2923a8c7151887f9ba4ecf0200e239f34e1069e9f965997ddf0cb53b5d22070a5d7300f91229b9061141167361f7434fd4b72bf0d3e96e780c07a772f229e8b92ebf3a070a5d74006b4df17ac3c6cf19bd6c9629fbf2da722dc1170911a1773e6e7893135064f1c9070a5d750097ca97d150a2073e39dc94f8b0d9a9a6f88420fb532854aca77603f1675f37eb070a5d76008582c2e971c1b4a19f2f3fd9c3f4a89e36894a60abae8c4c8b2522027cb15338070a5d7700dcb00fc263f4cc921eee1c92673d6eea3d0b2ef62973104e5e8578ff34684204070a5d78009246e2bfeaa6057a6094f47c3fb865dae8b3c37a14580fcd3b1077175be4052d070a5d79003365ee5d0809baa3b40b430e00295269ac70b3d8a7cf9a7e1495ab27bf27b3c4070a5d7a00c458c29d92e8a8f8794f6feb4cec8fa54472c8b3c3a3a3a3a25ff76f657a08c1070a5d7b00ee18964a3e32fa71b872c951d43e130de1401309ce478cc0b5de678fbaac113e070a5d7c00c90a52fbf38019fafbac330dc28cea28f37ff93d139af7db00f9437ad1c0b042070a5d7d00fafa57de19eba9f28dd376ca2a6536fd93e85c7d833340801e060b5d68959def070a5d7e007069c6eb8fb74dc61c32f9a7a4ee845ea4d2ffd3e64d411e3bd60b72cead5e37070a5d7f00022beaa918accdae2feec5f9237a2ee83d4b82f265ce10a24d772774a1a42400070a5d800062a78e575d55449a5c44085e8d183504e8423d19c22de694a52e50bc5bb1b082070a5d81008cbd7b1bf67f3d8bec0a0414099c3121ec834fc71571065f15eae86df2650ffa070a5f4600d4850de787c7f43b65848bd2704a33411ddaac19bbe343c76f36fbb226c09f7c070a5f47008bd4f9a36128af6473be2cc7f3e6185df45d207b9eb375c4b3896769bb7d9395070a5f4800f8f2044fea300a28e9baf449e9908308b7cf41cc3c94207c7c2cddbd80694a21070a5f490095956db16a70150ea5cc2dce87bcb0bd142a8de3ab43b76e1be7d05b6be6ea09070a5f4a00023c43e4072d5232341c2f8f7105118e040f75b94e8d8514d1897c0d4cf8f374070a5f4b00cb2355cd0e3da87b2fca7f1e10bf45ea7ff04b6823728cfbf3ef28ed50b1b9ea070a5f4c00d0766acdca630024fd9e93dc0faff11e4088f53382b9ab594a3e0216fcf8dcf6070a5f4d00d4af8767239c07c84c2d913447ffbbdd2eb208a6442e2b73b1479ef8052f1c10070a5f4e001031fc14a65bffde9d99bd4217249e0702e3c1292a363dfef4d0df3c87f646c9070a519800040dfcda364264a10250a8351d85760e5f1c792e1b9db6bc5bd1de2942992163070a51990010a917a1b1b18c06b4185c56a71d7324185a40157e4946c2a220c1b8cc6b8125070a519a009143965d07019d59398f22ebc20bd7ec5ec20ce33528047b5f786329a4d37a16070a519b006c01d762f30c93b4c3013d4ecf8a9949439a474ccfe9fa2ff1355ca2abf0a303070a519c00d96f7c034e15beac5793b085f44ef0651af9a93a000a7a4b76b41b951836d264070a519d002b08d63b52cfb758f53ec40ed6b8336fec91385f9314120a481870e9ecb29ea4070a519e0082c62bde8e27cb11b1830685f112856273ecee17840f761b3c1f8d999d49d6ca070a519f00e18edf2dbd13501903870e36b56b5a567aab1cd0cef198c4fba92c2c834c4641070a51a000ec127887571a1cbed8589954e486bafced260a12cc4d64270eedbebc8bb3ad5a070a51a100007808b24cfac2044ffcedf329826092efb7dad9071a3386e34667a8c6e207a9070a51a200ecc041d8572ec21390650cd1cac935a8de9b47e24097071cd8d867f1cbe5db6f070a51a300584739c60fe19e4be6127ae4241430e63758e1b8dd181be3ec1127561e5deeaf070a51a400561f4aaa956190fe717f30152dea97e9a79ccd8f8c5b2641e36bc5abf578303a070a51a50083dd8255250064311b6cdc7447bb2fe2af5734fd9a740e2f7bd7c8ece9a85ad3070a51a600b6a3cc5e298d2d526ba7d457f291f82e1bc23374e50dcd30e89039febcddf767070a51a70008508bc8161c992ddf482fdb73912e60937b8b8276e7befbdd4be54eb506398c070a51a800bbeabe7a3667da4b51a8b94b8ed9a3fcbdbd5b26bde1d58060fe49dfabc0fafa070a5bf7004a280ec902ab384c80401403f27f293f9fb9b64f3bf0312ffb380ba16b32fb25070a5bf8006d20d1f212370912efa1d590db2e560c18886f5c2d74444b3782ff5b0ad86960070a5bf900e35b3c32ee3db94bb7360466f310a021147325bef615b7ebfd4b244046dddee4070a5bfa001e0dbc9f581223db8c0bc92de7823a7c60f3f4c87062364a4f359461f49578e4070a51b489520000000000000000000000000000005404cd9b8b194faed20b243cd9d10b00a0dba8c0fbbba183fffffffffffffffffffffffff95aa3ba0c094696d112972607071247ed9ddf00000000000000000000000006f50b180a44533df10180ffffffffffffffffffffffff8346000000000000c05cdff5d0a500000a44a69449fd6824ad9b95702b410a44a695b10248edd51289e8a7cca89bb648ee14afe9383b6137a30055ca673903bbd58314d3350055ca683913dab918c8fcd300ae069b095b00ae069c29214b5a810600b1fc8b1902388200b33c1c11aa8b00b1e78621014b1f0d0a3f8c060b130c6808fa2102556bc106e2e8ac71060eba4d771d5f2580c4f55af0d806dfe728aa240000000000000023899629915b43fae0e5eb9edb06dfeb88a29854d091fffffffffffffffffffffffff8446d0306dfe72941049f5e4e0000018806e2e8ad1109990c6786d379435fd717081259938d77160532a9ed0c6786d4990682c5a4e34ebeb12fb14d5983e8634a22c20a0c36b9b4792cca63e4bacf5b5cd10324d2a8ac2b0c36b9b5990477339d209eab7ccbf87b6165a05c39e4150602831e4f4202fb6929df376a5102831e504102fbe64019dd65350b8e7d874904e6167b4922d798500bd2b8504918650127cc3dc800000c6807c14a1b1ae4d6e2ef5000000be4a3da4902b5e3af16b18800000b8220b7030afcb38b4a04e6167b4922d7985009e8ae590901022d52a01af3d745022d52a119f419330775cf5e4155fbafdc33c988000a21c72842d1f3c1295de116ad0000015639711dee449a58b305c673c01924259a000f0f3d490193f24bd6d41100000ba74de54901040ac1d852a1a41f0000215041e9251466e89f46320c1608bd03000021c64101c477b9126962cf077630254140ea3a16c0959bba009dc7e9030c6803331303050bc7f393427672bb4157efc3a90a38ff6d291b6103f4190a38ff72f106e1000000000000000855b5b3b66a0000000000000000000000005b8d7f0a3900fd99a05183cfcfaddf218bfb3cdd50c9259c7c08100a3900fe614b8f82b2fea145776931c3580c5ea8a2030c02aebb81c86d6ea56a1115b76e77ff60a3bd7b2f0b98862d893c0000000000000000000000000000000004e468a05103830e756d6e90c1f6840a60470f4921aa81897338b5df6b04c7e4bf5203830e756d6e90c1f68401b401364a21aa81897338b5df6b000f7641490193f24bd6d4110000000f76423a16148d3144922e041f12ecf101810000000000000000000000007cb9ffffffffffffffecf0504b95f11604258eaf5909cdc071e8a2b2a49315ac04258eb0a13b0f43acedbe1a5c683f1d1926ba5391134fa7e00153fa441a2ceb660153fa4539041533775289600153fa46110100015408bc3138682b16a000015408bd5105207a0234ee0d634c000155a137390846e94ae9209502d98b76096b02d98b772914e31dae59039809cc298c39e3218a03980c01292a115dbd4202d9a56e11d83c0542e1f3494efbcb440149940000084b25ca0305c64e50310156768521d40c23b1e742023b4af5ee4800000052ea914a4ef98ffa61d1d121d404cc8e927102a44d95485a4cad0f075164febf04cc81968903feaed71e34638bc44dfb75189dec1a4604c272d4aa0f000000000000000ecec162a8f52c310118b096c304c272d5aa4639526cd70000000000000000000000008c1859f204c272d6410109a3b00000005804cc8e93190186a004cc819731024c57b536340c2cf5c281017c1d7b9875cea9b016f67a025c06d20c2cf5c3992dd01d70de3fd1996b3392218d84b5c6b5506f0c2cf5c481017471f7d38aaa339b93033f17148a8e0c2cf5c5992d26fc22f757aa27d0f6ecadb03b20fff250bd05918767095205918768290fa9a8ac5b05a4deda31058160c9fc6305ae0b3a3102da016d8e4f0597bbf12a04cbcd780d0c680a272a0aa6d5da510c680a28290fa9a8ac5b0b3dc6c70b01072b4fa5211e3a627f0803977d13074a00d1e36022030176dd00d1e3614902b247fa7757ee000009a4f8df090103f40694090103f40695419f325f4a4e0a91d903f40696420b9163762a3984a703f406971117d703f5ca7e5918babe0c3f8264355d065f03f5ca7f5901cd18a7d5250e029941030b81673a09010c680909a2974dfe99c61e93bc863fc8091f8c6948f693b58e03cfea0509020c54a13f030000928a1913ec630000928b3a01d02222f7ee1f0000928c09620000939829900127da480000939949045f1622cf1cb4925c02cef47819a71b5b02cef72d39086727102ac37109c0754f090106534d6a8902cb15f25e1bd992a6be8194dc6fc75d310652ee338937000000000000000000000000000000000c6807dc425aa86fd5c7f81c5c0b2910b641b432ebf0af45b1420c4b625842b432ebf0af45b1420ac1147841eb586625c40c51cc07782a0142eb586625c40c51cc005502ae19766e41005502af3a0ad21d9f971e8d005502b0096c005506dc299139616b28005506dd49046e64158b4d62942c085da0520901085e61ef090100001f3e22138ce20007a8a0941902bb740c43d98f03003b544a21047eaa720c5480a1030b1216cf0b010b2b03d421016d63950775e4de191f5c36074fafaf198a956c06b5d9d91a21a32409e1e459110fc201af5d8e03029b178f194349820c5ec3d8030bac5edf0304cd9c331950755d03d46f17210f91b3590544110e0309a8606522015d537b029ae042210d9d2f72000f851e0305f312ea81ffffffffffffffffffffffffff9da130086ab5a221037bfcd300f1d782194c4b400046083422037bfcd30b0b04e9030b46da6c1a1afa8a0a6742bc22017b46330935bbc6030000219f2137b6a3a401b7ada42202686ee80c6022162101c9c38004c2732f211bdeacda0acb35850305942c2b0300274627194c3af209cd02c81a65f3be001994a919124c0703ff7866211a4fba0a00aceddf1a4c4b4004c7e4ea210f4327ed0a293ba51a2c88020b0ae8c01a75512b07cbf31503036e1acb220129bdd20153fa591a2ceb6602f7eb110300f0aa8f220214a5730102ee0d03025b4ddc0307cebd8d03008ff8922239a47ca60092d30f221dcd6500084bb4c6030687a92f030c67de5919976e6d000092a91913ec6309fde86f030a854f3729010becb92609f83ffd123cb109e1e2c0210301632b000021d11939565500fa05281a74a37b086b56641997a63c00199762220177c8d70a32db7e1a4349820ae031ae1a32442d0c643349030a3bc80019e287c5044b21fa0304b4d64b03088b1ed203034a043a1a53e83a09c179bd21018722430017918721030c4d520b258ace030b7e946d19404db30ac22e420306378d32030c61447913016902bf6eac1974a37b0b2076f01927192409eaf0c22120daf6fd0c680a361a1529de09e0930719a1d339086ac1f02101d42d5d076870660306706b42030c51c6f4194c4b400300f28d1917110a0c67e4af2102985e8609dafc861a1cf36b0ba6b530030018327f0309f9d264030a3bcdc41a170b070548bba821381fe6750728854a2106b5eb9908570d4f03017d0e2a030548b65519121b9c0597c0602286b4dbd405150aac03059ffcc6030339bf551a64a225058a22ed19fdd40100008330190e5aa80c2b4d42030c61447d0bf2007fc4fc030c67dfe219f8c2680c4956af190da9e809eaede21a22e0810b2107fe1a2387070c644247210b4aa8ee08e7907c190f42400829f019191895ec0c680a38220f54816e00e556a52184eb185400c2a10b220d9d2f7207750b59030c67d7d419e3a89400fbefa829012aadcac000a64da7030bf926de03005b4161030a22e712194876e303b209da0a010b90c1be0305fd9627220423714f0389a14119c93f77000040a62901b38092c8060b2df31a09c6490719cb2a0301f71ead0309f1890203056d7414210265b37404b8be370303cda4d821017b463301bb1af9030c67ee6f1a09c6490c558922030542e2442256e6e06c0c1e31270305fcd106210171f8530a09848d21030be47c05d483fd1ab4b3790bed89a21a0f424003bd2b6a19c966870400b3d20307711d662106916061007867af210423714f0b770726210129bdd202a8ec65030c23d02c0303a7fd1421037248d80ae580131a365cd807582e02192ceb66080621c5030b6353d31a0933fa0ba997881a2778340b14abe3030087fd6f2202a5692a0687ac4c2a010becb926002538d4030b209e8b030c38c9e10300147a2a210125a6100bd0d3f1030601f16219f0e4250c5e3ab31a64a2250c6803622102a5692a09f5f7f522138ce2000ba3650021012657db0b6f9f091a61dcbc04083fe21ab85abd079e007e21370b6ea00a69dcd21a0933fa0c680a3c030c680a3d030b9555fb1a2ffcfb0583c73d19a3f3980c67d4e61b08f6910c5b016d2109404e43098895ac03005b096503072296d01a3ca16d0aed19351a4c4b400c680920030007a0372a012aadcac0010e020719277834095fa58203080631ee03099761c11917f6de057dee3d0304c25216220f20476b09d445bc0300b1e84c2101542d7f0ada781d03005502ec19766e41002a6e1711d5c50ad615fa198b00e40c408f11030b60bd1c030b5511b521015d537b0693d68a212050fd28005483bd192fbf8f0572d34e1aaee69a090adbde03000024ee220201652e03420afc1938173909f9c6061a1735df0c6445fd1332bb0c4d126d03074fcb7b2102fbd5750c59d5082101876df40a15d24c1923cdd20bc86bf0210b4022e101a437d60a0109a10adf19204a9502cef4d01104900c680a400305865b30222791efee03798fec2101dfd52d0b33ecad03023a9b01030b54f6cd19d4b5300a2a8e9221012c9fdd01bba05b22032dab8c03fa370921083faf3f0bf8ff1703054757bf0303971d731953e83a09dd5306d1026cfffffffffffeaa06cbc6293affffffffffffaca8f0a9d0b309dd5308b9019945ca261fffffffffffffffffffdf6d885ca3d3875a09ec7a50b120fd2ed5c663fffffffffffffffffd5fe2ef583868390c44f30bb1014c03a6c93dffffffffffffffffffe59395970c4a2409e7ef9ab90176fc97a9905cffffffffffffffffe22811d7b48ed4fc0c4d079b030548b67542c9e3d2c58796218d056816ea59037bd927138600d49b4d90054da50d09270bcfaf66030a46e7f709010a4c1c3509010c5bd888090109dd531342209277a35c2c78a60b9aea8741209277a35c2c78a600fbefbcc99c000000000888a7d3486ee8fc000000000022acbedefb5f5e00fbefbd090100fbefbec21b12dafbfdd0c316fffffffffffffef05a67c16a75940000010863a35316a253dbddd58131cd890c451d92ba08a4df4daa4772ffffffffffffffffa925507d569c417e0c2e5ba34b2c0084229a1569df370c5ad8644b0ad5346741605a9e9e0c2e5badc20208bd18cfd592ddffffffffffffffeb8fad8f6a3a87d0bf088a0e048189944a67fd8887d4068d29134fc834980888d993890cffffffffffffffffffffede8081952df0c5d6a5e930db4fce241dd331254b45955e759b9906c9303d46f36c96100000000001de9d0a296be1400000000000716c5b3a2c19a03d46f38c201698cbb5c309527fffffffffffffff1d706c6154911e07f0c59b2efba1a61815fe4c121fffffffffffffffef77fefeff0aa5724042b6310c2014443fe6005c4b2fffffffffffffff34cd852b7ebecc0bc0c3c7a4faa14c2b90b47ffffffffffffffffffff2fd9791c6c700c5f9f89ba0ae726d98d041bffffffffffffffff92af5393f35e5c3d00906feb1903cd60009027a141053b66e17d45c8c7008ff8c42239a84a060c60fd6b29056986fc3e0c60fd6c29109c5d155b001a667129109c5d155b022d7a9a29056986fc3e04c2642a69029cd0dc9601befc844e95506604c25506891a99f2e294e69eec28fa1a6b7c16767aa104c2524fc1010000010000000000000000fcb116aeffa3332d33f00b0a04c25250aa7433e70f1b0000000000000000000000000000000006ff262b4162ebbefa000020c504c2642b11072404c255073148c27394fff2010f3865030ba64f0709010bb2404f090101053fb3030a64e88f030c68093e030a15fd4e19219c8d07af16c303029b17cb1a42fbfa0c68065a1a06a0980b93a5fd030c68093f0304cd9fb31ac47e710a0352ab1b0c4033060647131a4c4b400c680a59030c68025a1993c4db089ab9a3030b72b260191557fb0c675c0f29010bfbaba90574fbde1a4fc54f029b1a471acb2d600c67e71a030b4cedcd19b8848c0a854f6d2a010bfbaba9086b56cd1a97971d0a629a691942fbfa09f46490191ed0a907209e531a5b8d7f0b40a2c7030a38ffd6195b8d7f0b0966290309f70c441b155dc209cdb28a1a26f6c80ac4d56919debe710c68025b1a06a0980b0b3aed1a4d8e300b0374da1a2ec1ec0548b6ac1a121c1b0c680383198006490a6782ca1a01d3e80a74b18d130c16058bcb9111519008ce49311176c70589dffd210326ced0058bcb9311cf840a46cf031ac96a80022d539f215b6684f709f66f8b1b155dc20c526ed4191e65060b437916030b3cbdef19f8c4c00871fb5b1990b19f0c680a5c0303a7fd3922036a2d9b0903f15e1a93c4db081258dc030b17f0ff1a43236f08cddc0a22026ab6f00a0395bb1a12d6c40a4684f91a20807006dfec2219bb6a710c649e170309851e40030c680a5e030a3e1f4e2102c677480a0f266c1a23d3540bf2a29f030a41b3ba1b0c40330c67fd060305865b6f2127939b3707ab051c030c6806663357f30ffacdaf09e1e3004a02bbc099d5fb6d81280bc3a2e5030a4453cf41c05cdff5d0a500000c680667030bf2a48303005483f3192fbf8f005483f41a2fbf8d005483f511010f0054953531023d3340b4fa00549536310236c03d4e720c50989e0a080b243d32030c23c025090804b56839c2d6dd7ab17898f622ffffffffffffffff2fe802be26151a7504b5683aca02a36f4789fa589414fffffffffffffffadebcacb20b1ca37004cd9cb28952ffffffffffffffffab92170ec0b4ed7e04d06768190364bc0c5f584e0304b56840c99897a77f8874d8e4a400000000000000004f0f3a878a5763b104b56841d105e853ffcd7b1bd168c2000000000000000637c4cedc5e64372e04b56842895a00000000000005e853ffcd7b1bd168c204ccbf0331367f0f4bfb9d04b56849c904fbb05e29a93b2adf00000000000000017bdabc4ad2329b4e04b5684ac90fa55fc849c633e2170000000000000009617f4a280cc9c31b04b5684b89970000000000000001f4abf90938c67c4304d0f752190331710c09470709020c680a6a030c6808193b4139ff1553628200d0e46c3903fa9a0613d57700d1e3c34902cd764c1a0ed7dc560c68081b030c5e8ed2030c680a6d3b4139ff1553628205876e804119d3a06ac81297150748c19e390fea68184f55de0afdf701110f0f0bdbbf2609010c5fc9b8098c0c34d7b909030bd65d4609010b8f018c09a00c41d03109c80ba8fff709910bcff8da09010bbb02fd09a00bcff8dd095a0c160cfd09010c160cfe09c80b859b3d09040ba8f73809a50c22a7d009f90bdbbf2909640b4ba04e09020c2adcc209780bd65d4b09960ba8f73a09010c22fb4b09010c22a7d709010bc564d311012d0b859b3f098c0bdde48509010c5fc9ba09010c41d03709010c2adccf09010c3f69dc09780c34d7c509dc0bcff30909010b4ba05009d20bd00885095a0bcff30a095a0bbb030309010bd9f60609640b8f019409030bdde48809780b72178909010c22fb5309a00c3f69de09010bd9f60b09020bd0088809010b72178a09cd0bc564d709010ba90003090101b402314a21aa81897338b5df6b01b40232390d74cd588d20000c680822030903f17e1a91ae9e0c68094e313086afcfb4f50903f18259045b800d5c97ce6b72ff2d0903f183410f87ac9ab7364f710651176c390c4611e277011400bc17a53907b7a66cca943300bc17a641265ab3c59e3f772100bc0e576964988e2f9ca76382faf3a116e900bc0e584903eb051ef2a61f90a200b1e8a121014b1f0d00bc149a6964988e2f9ca76382faf3a116e90c68095159015c76b8474f383b7749e808e0734169fe412349a007b6375cbbe79c4300bc14a1590182b58557823d4bdad23500bc14a241312772e8ee420f780a3f945639011648c153fbfb0c68082559049f6505903d636cf816d20a3f8ca40b1300bc17ab694e7ca90becece971fd4fdc2b1d065117724902706925fa818562160c68095319191c050c6809542102556bc100b1e54f3910786ceaf8a97f0a3f8ca6590d32a56f7537d7531ed9f9004c69d14101192d1069581b94004c69d209330bf1cd0b09010bf6e4a809010c09473741bfc0251dd96f547a04d01b80c95a0000000000000000000000000000000000000000000000000575ababd1027100000000000000000000000000000000003a6925fc60e0cb057f68a4413b5870af75813c370b243d48b12f47d6f93de7d412d100000000006c8de48162dbfebe057fca93d1027100000000000000000000000000000000000000000000000004d01b83c9530000000000000000000000000000000000000000000000000c5f5872a9438b05bb3e6e93dd000000000021ed231b1b090ac40c67f860a90301b8236a6237e80000000003867715cb273eb69e0c67c289b10c1127813160048abb000000000667b65640bdebec310c23c0455103c530c2b6a7500687aa0575a294c95300000000000000000000000000000000000808ad477f33fb05f3ce5fc99500000000000000000000000000000000000bbcd5e2e44dff0575a3a1c95a00000000000000000000000000000000396e5a6e245acc860b4cee0db111ce59aaf96c4721660000000001a672584024dfb12f0019fb5f1106910019fb601106670b8e452049056bc75e2d631000000b7c17ab4a056bc75e2d631000000a5bbc6603054bb4ede9440000000000000000000000003d74fffffffffffffff69b8ecd66ab61054e942d5901bbcf019b03df3c7f5ef7054e942ea10a6b3d75f2eefc6aa202326efd8f51d74b6abe8c00002156412b85e64d385c77b302db8c563905bb61e44c980004b58913421a67835a763b5b6403d46f524201698cbb5c30952801e36ec70309a4f954391fd7ab9a6e37eb0046088439514dc947af5000000021a342051164cdb739473101b7aea939380d19109f100004c273d34202874b1e2668585904079c00391aa4cb2630f102036e1b56391b0028e44b00000153fb38390415337752896002f689273904bd39622592f2009038bf41053b66e17d45c8c7002f56bc4102b42e2f31b30b910574fc0d39072d8e0e5b01ac029b1abf391292226e1c5da00a21c7ed390b74c7f337512c000092dc3a01d02222f7ee1f00fa0594390aa87bee538000001997f13922482f38a444ea09dd535039019945ca26200001af997c030a38fff6390855b5b3b66a000b7e8cd83a05d7359402c0000300f3143a0217907aa9c46402db89a7410591d35e956cb2000548bc4542051803f39d8e974200ad94b403004b24863af5a61df9971b9404b2453f0302009a06390880740a6b53b200009e8e39017ecd4caaa38408ce4959312d694efcb4000155a23b3102183722066e0589e0193a491f01fe8f8e0705d043e9410b1db9419116800000fbf00e421b12dafbfdd0c31705fd992e3a03e28a86bcb5590597185f392e7a36d85e9d05054bb4f93a0964713299549f0c680524420570a9ec4ff40000041f14093a130fafb46a0eea0087fdc3393db799f395cba60978133103097545af41015c2a7b13fd00000000215731343ab826e82908cddc4839382f51fa27dfab000871f0411b12dafbfdd0c317010e033b3a03947134637b48000024f131122f43d0889706dfec2d3a1100df58f432a904c252ae4101601cdf0989b552005503383a0ad21d9f971e8d0054f28a31689786263000000024f2392ebbb29f84fa31072eabf33a243dbe4b2ae6a30a3e1f9a3a4079d386312e3102cef7e3293abb90b98001bba0d3394f9c26095777f203fa37b83abf35527b40a1e200ae0745490452103a5bf1b02e7f00ae074f095b00bc0f2d490452103a5bf1b02e7f0368c5df0901000040fe422a566631615bb5b8022d53e21af3d7450313f97a1a1e6506000040ff421f8503008a9ac636022d53e319f4193301b4028f4a21aa81897338b5df6b03940b233a12c6b337e1696b022d5696215a90d0ca0313f97b411b2e51a2b6e9dc56000f107d490193f24bd6d411000003940b24490121ca814a8dfd200002649cc51176240283205e4202fb6929df376a51000041002901645ec4560052ebc34a4ef98ffa61d1d121d40283205f4102fbe64019dd653503940b2549076b9d4ab2674d200002649cc611762401b402904a21aa81897338b5df6b01b40291390d74cd588d200000d1e4784902cd764c1a0ed7dc56002fc8fc4270f5f9d3e35fef0d0b835c84410142001cdc61ef77028320604102fbe64019dd65350052ebc42156e6e06c0b835c85410142001cdc61ef77000f77863a16148d3144922e022d53e6215b6684f70394b1ec22047eaa720030075f31144b3e47de000394b1ed490649d2c967d95000000052ebc54a4ef98ffa61d1d121d4000041012901b38092c800d1e4794902b247fa7757ee0000000f7787490193f24bd6d411000000d1e47a22030176dd0b835c86320f30e478b53502649cc73a11d560af29644a003007604270f5f9d3e35fef0d08d99f3919aee69a01aea5494207a8c34d91966e190c527b021140000b835c89320f30e478b5350b835c8a410142001cdc61ef77029b1adee9b2000000000000001292226e1c5d9fffffffffffffffffffffff34d2a002a03ab89910317b59202b2d6e21d33d0732911ead5ea68a02a03ab96107a49cf3be6f948543b4ccc60542e2b6421cb6f85fd2e7522305439e7c7972986ad9ec2171280133565bc1183405439e7e39aad11b19a6df110197db7a030300f320c9d80000000000002671bf58283800000000001ec0b7646c9f9b0300f322ba0217907aa9c463ffffffffffffffffeb0565f44b7d60000304746fba01d6319aea5c25ffffffffffffffffed94ee172678145809f94876b234709d919f80fffffffffffffffffdf222e716e36a6d0c512557b20cee422dc8bdffffffffffffffffff7e54f60e21e13d0030076631144b3e47de00003007674270f5f9d3e35fef0d0052ebc74a4ef98ffa61d1d121d40052ebc82156e6e06c00233b0e6903ba8b37847ef8c3ffc592bcb30019a07189019b7e6885e057cfd94de9a8455396707900198dc6a9030000000000000002f6e8d8c462d415303fb8cb4f001997f7aa072f4327ff0000000000000000000000000000000000198dc741071f5d130000025c00233b0f1133030019a0723116017a24a3e70446096c09010453eede09010589e04fc101fffffbfffffffffffffffc46bc87d924c806938931d1d40589e051610378b0bd195189daed0d205a0589e05211231c0ac46ae3b901c3d46bb287adcef6cd04830000006aac0d08000023570ac46ae4b901c0f8f4becece38ae623e3f0000006a030c1c0000231f0c00e4a23906d70b1e467ff10bf3e4ac3916d589b158c07c010e0342c9a7000000000000490c067e0d4700000000000a24b91278d9a9010e0344ba03947134637b47ffffffffffffffffdc1a47e1fef8c0000229c717ba03947134637b47ffffffffffffffffdc1a47e1fef8c00003971e0cc9c6000000000001fc8ccc254b6700000000001548988fb4860303971e0ec275b37816b749b66affffffffffffffffb3afd9060c1a60000bd60722c201c89324ecbf867bfffffffffffffffffed7f934dae423db03a3cc8fc2322b1eaac33cc0cfffffffffffffffffdf78fc98ec308bfa03c5d197c241bfc647074d6f20ffffffffffffffffd55ee3384505b02c01bba0fbe943000000000000004f9c26095777f1fffffffffffffffffffffcd25474021967c5990613ad4cd34479a71cf4baa64d89aa86b6ea11021967c66102e2b4482a1b2ee4eb879bf8038dbb085103e8523f4cf16f1ed2dd0b625d544a0649d2c967d950000003971e2e4275b37816b749b66b0c67dee11305f003940b8649076b9d4ab2674d20000c67edc25103e8523f4cf16f1ed2dd0c67e2224a0121ca814a8dfd20000b3335bc030548bc6daa160000000000000015fe6b958a1def7b2cf821ff360548c0a861042836d62935a138f80f16550548c0aa11795d0548bc6f3a01152fa1b7813a0548bc70a937b364758d0e8b5f112f00000000273e350000000d08d000b56b0a0fd0cafba3ad4f70e7d61fc008d000b683ee58ddd1b8c2f74c59836726c83e71df08d000b7000100035ecc00000000000000000c69eedb60a6ee1c1836839a00000a2e57af1808c13d946bf79ddf75276a1261d2e8a4010308c13d958a58f4196928a34ef1e38bf9eb6e563960a908c13d9600010064a2c900000000000000013ccd5ffdf7f0100da967dad4000132804b730c09055b19720223674047a2a8812fc88d18197409055b1a8a544052657586fb99171be9ecfa6ba5eeff09055b1b0001006b52a80000000000000001498433241b4acccd421a55860001470d47ecae08e377ed7201d1dcd6d55189793a0ee38e0ec608e377ee8a4885c9fc86ada7510bef25bf71909cfd3508e377ef0001007a995f00000000000000015503947fe177358efb0cb881000176413e64a6090324767201e00c46e709866855c283a59175090324778a4aa365bf20a7829253d7578b234b063f6b09032478000100776396000000000000000153d079eca60d3516f8003da200016c518e770208b722047201b3e0ce972f08a410243fda658d08b722058a4416ffa7197831ba6277e542ecea53978308b722060001007f46ff00000000000000015883aee435fa37cc54002db9000184b7a9f43a08e3886a7201d0385e2708b91b559228c33a9b08e3886b8a485fbde0216f13213f417922fee6b9d68708e3886c0001007acf02000000000000000155f77a5323ed060f907a6318000176e312076308bb0e1f72021c48d97beb9eeadbad85fcec3408bb0e208a534efab3eddd71418465305ccb9ceea7dd08bb0e210001006c582300000000000000014c0467b830910343bd1c33f100014a307ee20e0969582a720225910be4fb3f4c8c90bba311ca0969582b8a5489cf1ee3eb5b7f2dab62b0361a6423d70969582c0001006b1766000000000000000148fecd25bc194a292d88d184000146576fdc5402db89f8410591d35e956cb20002db89f91a24665e02db89fa094802db8c965105fb1c190a119235e19002db8c97292715d230a902db8c984119092b04800c5cf00a6db00609010a6de0d709010aa19645030313f9b01a1e65060313f9b1411b2e51a2b6e9dc560000410431011321bd066c000041052901645ec45600004106421f8503008a9ac63600004107310174f70cbeee001a672829109c5d155b09a2bbf70303f40749419f325f4a4e0a91d90045800f39cccbbc3146ce8f0776079a429fff2b067f516068077603f30308086d3e09f108086d3f09eb08086d406a7996fa92b74084cfbc0180000008086d41f10835000010ec000000f0ffffffffffffff1452f91da725adde013a80000008086d42692e8af4824003cf2d4fcc00000008086d43f1173600002a78000000f10000000000000024f02b92d0e798e0114f40000008d02cf9096e08d02cfa292554ab87ef09093f3811414a09096aaa1113960903f1c21a91ae9e0c680873030bc36da2030c0bcf6a0a010c680996030bc36da403034a0510391719c7cf8f2a0408056dc803005484943a0d22f86191843d078be0f4a205d500a31e181944dac576d7972bbb392118112d04b5893e421a2aed139a1a95d80c67f8a0c904da8c9cf14366ebf8fffffffffffffffffff429dd2cc03f540c23c0a8d10553ccb59180a60ba9e700000000000000000005ab45276bb00904ccd0ccc151b1e495bd8db569000000000000000000000000000000000c67c2cfc908d4a393227c5018f2ffffffffffffffffe5dad340290462b60c67e53a22dbab80ad0591735a09760591735b29280593239805ba423c2101ca15e405ba70301129320597c1083209b6307c9ef40c6806d71b1beb8c08cddc7722026ab6f008cddc7839382f51fa27dfab08cddc79093308cdde5231116faa2d3eba08cdde5351019551bbe22fa1be472c08ce49ab210132320508ce49ac397510d063daac210a854fb3c93600000000002a21baf2469b0a0000000000021560470250760a854fb5caf3baacc5ef4619951effffffffffffff0c52eb6bea66efa0000aed1a22ca056050d42eed289e11fffffffffffffffa9ffbf025b034674e0c5e5208c2164927047cf102a3ffffffffffffffffe9b817330b3535660afaec0fca03760813504663a0cafffffffffffffffc8a29584733bc29b60a854fb9caeace0ab76b959c539effffffffffffff153f0e0c4a77c9d999034a051ad10456fffffffffffb1e59cdfadb8c00000000000566bd9b48d92d034a051cc14c5daf3ddfd8afffffffffffffffffffb3afd83bf3f024640366358eb9349d903cb1fbb7ffffffffffffffffffcb6bc2115c695f03686a39c102aabbc81b6feccbfffffffffffffffffd55bd2c5c15dc930356e057c14957ae340c0a9462ffffffffffffffffb6b55025dc36c2f2034a0524b926a7b17bac3315ffffffffffffffffffd95f27aa471b7e076d04484a01f9e8e7ffc272bce30458953c090103d01fd809010a6c2ff10901097c00680901054140020901052e746509010548532c090103bb90c00901070018080901056c5a8d090104cda0511a0bce710c5f58d9d103919a5f7f294feaedd3ffffffffffffffffffffffffffe19f250b8eab2b09010b9516e709010394b2b222047eaa720394b2b3490649d2c967d950000005865bd0222791efee05865bd12127939b3705865bd20933058bc6fe310bd3b219ac7b058bc6ff310ce03235a917058bcc2a292e761055cd00afaeac09090087fe09c10100000f000000000000000ed816fc6e728422594141ea35008825f9810b6f402e8d0e272e8fb5d3bd03b809d60852cbbeb91faeea7320a15c982557889e0000018f8a41950000844f04d0eac819b4ad700b4cee5cd9015f85daf9d2acb27b5c9b00000000000000000000000000b4ad700bc3a9e90303fa3823e9b6ffffffffffffff40caad84bf5e1e00000000000000000000083faf3f03fa55849910a46349a418ab5b0a0224d1e45227f5c8b91703fa55856107dc4d22178d82fa15c449ac0ba762f2090106bb6a91790e6ea4e5039aa3aae12cb7bb080d0106ba30c589b700000000000000000000000000000000036e1bd8c980ffffffffffffa430d578ee330000000000048a400bccaae0036e1bdab91b0028e44afffffffffffffffffffef134a81ab02db3b40c3496a6b124c297188c93fffffffffffffffffe8f536e0937ec42038aff47b913c2ffdfc4550bffffffffffffffff39ce58e97e69b119036e1bdfb90466e443e5afa6ffffffffffffffffd3da3152f4db9069074b456fb902b18229886eb5ffffffffffffffffe4fcca7033b085ee09e8e64809010c6809b709010b8f6f2f09020b9514db090202649d383a11d560af29644a02649d391176240c5ff8cc03028320874102fbe64019dd6535000021684101b9eafba6c4c7180000216f41e9251466e89f46320000217031343ab826e82900002171096b000021d4599d0409205c3e4991d20274000021d5510889add24f258c858ff1000021d631047aedee1eba000024f4212e1850350c556aac4101b9eafba6c4c7180c556aad3101d0af4b8c110c556ab009010c556ab13929c7d10b73563f00fa0672f108f2000000000000000aa87bee537fffffffffffffffffffffffff8b5c8500fa08af99d082926bbdd876495e4d2fb6317dec698f960a00fa08b061623e58cc4f9e902575730d0a03940c773a12c6b337e1696b03940c78490121ca814a8dfd20000bcfa5c9030b1eaeee122d1a0b17c8fa120c8f0a739ef712762402db8a611a24665e0a445449127cba02649d4e117624054bb595113d75078d41db1167af041f1455117cba0c6809bc030ab89d8712105b06c715ac03072eac8011f06a0bcfa280030a7db2bb0305876ee90b720a3e1fdec96700000000000c0435e82b4c5300000000000265646355344d0a3e1fe0ba4079d386312e30fffffffffffffffd79d5c1e1172380000a3e28f4ba37135f7bd40e4bfffffffffffffffdd80ac5edac06bcfc0a47afa7ba078f75e3ec7266ffffffffffffffffb43b2f1620112bc00c3f0b9faa1ecf3267d2fffffffffffffffffffecb3c045ca24c0a528342ba01d6df573e45abffffffffffffffffed9101a146aef4fa0a46cf6809010a4b40d409010c32a294090100ae07a6094700ae07a72911ad41501500b2155a3115220ce302d900b33dd531065703ddb40d00b1e60e3910786ceaf8a97f065117b1390c4611e2770114005b121f030b82a0e009060b7194b509010bcf6882090108b8450709020c07007e09010a6c4f1a09260a5ad61f0901059188b4e95200000000000000000000000000000000000000000000000000000000059188b5e9460000000000000000000000000000000000000000000000000000000005917581e95a0000000000000000000000000000000000000000000000000000000005917585e9760000000000000000000000000000000000000000000000000000000004f2809c4902117006df65270000049e222b3b14473ca46fac5e06c5b9240a0109fd90710309fd90720309fd90730309fd9075030c67ef2a12485009f421e91158ba0c6783500309e1e370210301632b09e1e3714a02bbc099d5fb6d812809e1e37211017209e1e4f829a6e77c559009e1e4f9519a2c2bda491472f295bc09e1e4fa191f8645004608fe22037bfcd3004608ff39514dc947af50000046090009280054801e3102ed2c26c7c80054801f49443c9c50dcbd675c200b835cea410142001cdc61ef770ba5d886030458957a0901052e74bf090103d020310901097c00e409010700185909010a6c303309010548538709010541404d0901000024fae957000000000000002ebbb29f84fa30fffffffffffffffffffffdfe9ad2000026759907e0e6c231b1c5abd756e3cb1f008c1d3f0645000026766103c0b69ad26b7f2f4913e62f00bcf87f0300ae083603002fc9584270f5f9d3e35fef0d0a21c87df1013b000000000000000b74c7f337512bffffffffffff2e0c3ed6a21ee9530a29749d71112bed02928d501af17b6c3597300a29749e8916927103ab543f0b242e7af7ee27264563029b18e8e94effffffffffffffffffffffbd0406000000000000000000000043498202b27be3794ee242faabd1e8658d4bde25c2d48102b27be4794f1dc83b5b375b1fdf53dd62f6fcfd022d576c29d71734a637022d576d215a90d0ca01aea60e4207a8c34d91966e19022d576e3101035c52116f022d7bb829056986fc3e0c5569380304cc98db6939c2c91aa2d5a9b4bf3f4d5c2004c7e178a96d000000000000000000000002e7cc2b9e42ae0f5304c7e638b10ef70093cc33ffffffffffffffffffffffcc245218d904c7e179421453716ffffffbd004cc98dc1903e83c057005b6a265fb552603d446648c1c202229b94f4bc564cdd4057005b77a0235312ac1af335d27a8ac6c8daabf0574bc0ca1387308e6a4b8eef0007353243e832c19a9a544b00574bc0d712e457710d1a7940319e8f5c7ebee057e18c3a13a83aaea30b52b770e72fb39550265b01f34687a057e18c471365c41a707e69641f4fb8b67750c09a2310b71047cc88526c5259f4fcd6d78fcfd08a6213a69dba95cbdace21dd664ba87d30e086b5809999796e90000000000000000000000000000000009a2310c11099908a6213b1101d603f407a7420b9163762a3984a7078d420f410b9163762a3984a70bf2a7450300bc4e240902000021b22137b6a3a4000021b342051164cdb7394731000021b40948000021da3901033b2e7650dd000021db511796012d3ab7bfa14b19000021dc2102dcb2ee09ea37f2030590b470c90100000000000000000000000000000000000000000000000005d04b102105ac35dd05d056503904a42ab2449f7605d04489410b1db9419116800001f466f30300ff318b03026e527b094f026e527c000004a77024a7e000000000008583b00000000000000000000000003bd209222105876f404119d3a06ac812971505876f410b7205876f4211184506420aa349345346dea2241209ad06420aa4198ba5050748c2a9593d93c0053d3ed733008f5a05876f4409010c242a70410e2715c359ff41840c1672bc420211426309d2f7d00b206baa410211426309d2f7d00c35718403072ecb739105593d58e3fc248eb7e4793283971984f2fc072eceab6972ba271dcc5da04324dea3123f072e9af5a90800000000000000000000000436225502d4b96091072eacd3a172a50ddb00000000000000000000000000000000072e9af642014b3169ffffffac072ecb743104322092fe90072eceac095900001d5dc202c90edcfffffffffba6e944ffffffffffffffffffffffa500001d5e5a053d71ffffffffff1628b80003ca1ab20f6600000000000001f9ffffffffffffffffffffffae0003ca1b4a81000000000000001503a7fe72e934fffffffffffffffffffffc95d26500000000000000000000037248d803b9330279350407badbb2daa07a29d924a0382f03b933037934fbf893929cf7679fd8fcb61df57309e8418509010c680b1f0901064160b5424563918244f4000006416bde424563918244f40000062baeec414563918244f4000004eb76400a010c519e2b1a0494510c52df89030c519e2c030c5973b8030c66990d1238740c519e2e0a010c519e2f030bbc8f632a03976cec230c5e0217030b2002f509010574fd36e94d00000000000000072d8e0e5b01abffffffffffffffffffffffb03ab105752c659906e86ea21b569a723471ac9a2a2e25674ac5e205752c6661035a49b78f46345a266966e807712d2e190f424007712d2f4a01f9e8e7ffc272bce307af4b71410b9163762a3984a70872e8451990b19f07af4b72326eb7f3ec9be0078d42321167af07711e8b3a92fa674c665b28078d42333a0fc0c6843deddf0872e8473a0ced5c4f71eb1207711e8c2106821e2101b72c92a9380d19109f0ffffffffffffffffffffffffd9791180ba6849609010badd37509010b01b8484904e6167b4922d798500afacf5c31048c273950000c680b244107dcad3d7bcb91cc0b97e0f46202af45109a024eb79eff9cf40b8e83d86102af45109a024eb79eff9cf40c680b27030c680b2809010b97e0f63225f9791ce2ed0c680b29091d0bdcf9ed190d59a80b8e83d93125f9791ce2ed09b685b13202499633c34809b42bdc29265627c61409a8729e2942a2fd6d8209a9a4353202412140cd8609a9a437298778adbc3709a861b822015f4fd409a861b922015d537b09a861ba095109b685b229845e3d01ab09a4fa08391fd7ab9a6e37eb09a4fa09391fd7ab9a6e37eb09a4fa0a095b09a4fb7c095109a4fa0c095b09a861bb1901fc59090b8eb80307b23db809010b8e905e09010b8f887e0901", + "pubdata": "68656c6c6f202d20736f6d6520626c6f6220646174610a616e6f74686572", "expected_outputs": { - "versioned_hash": "0x0131dafea4f0821e4a12ffc51667b0fd5762c944d1dba48af4f472efe573a750", - "kzg_commitment": "b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0", - "opening_point": "0x000000000000000000000000000000009151185fa59cf841b03fbe9dbff03eb5", - "opening_value": "0x53a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000", - "opening_proof": "91245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62", - "blob_proof": "a370bebe32974312600170a180d02aa0f44394b96221f95af357e696fdbc11ef917fe3b643ffc62c98d333385ab25b43", - "pubdata_commitment": "9151185fa59cf841b03fbe9dbff03eb553a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b091245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62" + "versioned_hash": "0x0159c79461360c8af0f80faa9863136986f5ebfdd4bfda92d8c16a1d288882ce", + "kzg_commitment": "aa64348f68036f9c00a0fc71cfe6193afad8e17f5835b54e698939988f227481f817f6df5ee9ae015c8e897d1f16b6fe", + "opening_point": "0x0000000000000000000000000000000052d76471d00a17c22078c5e2661faf07", + "opening_value": "0x46ea9ff5b6b22f41cb528cd22937ecdd360c202caa22bea030a581d939955d2f", + "opening_proof": "a212822514e27404be3ab3576f7492ff07bbce97de0abc871539e2a31703f5ba02497849e6a8193264e1a5027bb21577", + "blob_proof": "89d18cf10ddc33b6a00af250e1023e45587de3ad22c1dc705ef6a77478a9036e65b2b14cd3ee09f0b8eff254d0996ab3", + "pubdata_commitment": "52d76471d00a17c22078c5e2661faf0746ea9ff5b6b22f41cb528cd22937ecdd360c202caa22bea030a581d939955d2faa64348f68036f9c00a0fc71cfe6193afad8e17f5835b54e698939988f227481f817f6df5ee9ae015c8e897d1f16b6fea212822514e27404be3ab3576f7492ff07bbce97de0abc871539e2a31703f5ba02497849e6a8193264e1a5027bb21577" } } From 26146da44837331409fc630bfc4caafd0a13336a Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 19 Jan 2024 11:35:36 -0500 Subject: [PATCH 04/35] fixing test data --- etc/kzg_tests/kzg_test_0.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json index 7322a8bdd69..57c64da847b 100644 --- a/etc/kzg_tests/kzg_test_0.json +++ b/etc/kzg_tests/kzg_test_0.json @@ -1,12 +1,12 @@ { - "pubdata": "68656c6c6f202d20736f6d6520626c6f6220646174610a616e6f74686572", + "pubdata": "00000005000100550000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a42efd743e554bf21985b562e6b1f3ee3a2ed72f4dd98d76a68a1146cc9a21a86000102290000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800acda5158c3dbcac23211672d2cc9c3359fc98a11a515a328ff84730ce388e0b29000103170000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a034d6369f58fa6f6577da618b1402ae4035b815c468a5e5e120833f35064d7d60001035b0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aab90d8e21f8f6be792eaceaeaf2a7e262b8cd8b1a950cef7856d3c00d3e0fe240001036c000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102e0c3af29edc7fd00e8d0a61d41ed085b5999bd76d0ec57c8b794117edb48006600000005000000386c0960f9e67050e6b7ae575837febf738d9dd205bdd96129000000000000000000000000000000000000000000000000001da2dea1775200000000386c0960f9a255d58fcc01e78bd7f30db1c5d736a19d6de5d5000000000000000000000000000000000000000000000000018df33ae339d000000000386c0960f94f1b62090fc5498593cf8803898feecd5109b2d1000000000000000000000000000000000000000000000000001d9dedfce0a600000000386c0960f9988bf802a450b1a23b01a16361041b8cc4c0096c000000000000000000000000000000000000000000000000001bdd15e065b0000000004c11a2ccc170716ffaffcb4579f8226130d4a8625904162263a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000138ce2000000000001008d34040102f2e6ed1059ff0ad70d4e11336e3e5ad30e827e008cc2173fcbd003105e10deef0001000117285a242b48c751232df502f6448f1dbf4a1d9132f1cccfce399608c8b90b3a0a1f96e79f02ef0c7d92a6ba1968507b07a357809bf9eaf6ccf0fda94f00010013eff990900684eac2c81359f38c1b0a834d011273ae30310f9c7807464a1db77812daebf491cddd7c2c4af8b712a218f35b8f3ceeba86aad8ee402526c200010000939c0f641c18abe55b3a876a26f1720e4903c3f12e25b8b6214942db9069af66d7b664990e3f84e4633afb9c21a8da0ef39901d9bc286fad7e19d3e6690901c02aa7bf71858e06cbaedda3277e925e055d21c73be1309a36203fe4727785b409018a07091e19392f970a79e422657f4765f3c6498b0e174b862d050c05dcaf5bc50901ffa6d75a531a1505992e4c1ff4ae286f3c5336d1464bc9b25d9178749c5a0fc70901a9729e5ec3b68a9346d3dffbbb2027b1b0f40417a4e59e60fad413467c1e90a40901b4e5bfca3d03904333c9db34f701ee88c866ecab38b47bb219ecac0861ec961b0901adc5ed37ef2f96fcf6b4c8ae77d5dc254da413dcce18fbabba941fbbaeeb46c809024dfdf044fd553fd9ba2ef4251f008ee4cf873fe70182d1b2f75f28c91d282c06a1996a719fbc67f35a4344f73890c1172eb194a88cfb6b291ade6a03a87fceb351b6ccd7a8ba72fd46817f800389c924d23232fcc6a118cd1fc2a93f3a384b0535afd162716154269523f7345e0bc56795149c3dbd12ad80b8d16c271a08ce2873c63cd21f8b28275563390881110a3ecc00415f285ab6f8e3d9ba138242a46510c44a0c83a350067a6ee880f6fdcfb01ee4391e32b4789740000b73f38daa02eca7cdd85642f68cd8cf51fa015d796fc2dbcd1aebabf654bea441016b288c64f0c000bab081a7b6f92a4ec1f02eb005520b7673af201c4ebe79e761538585717fafbb39b59ec022d606f068ebf6717faab388c9c53c18fabe7838c5608820c5d2430989d90b92dd26451e4102c68af0bb1400006f4753c45e67f5311ae7255bf8889f7fe7e58b6af06d9806e5194a1c5c66d05139054ec8fb4b6000bd906f224650fc26515436b3c25a87d68addb31c6a5373f7e00f754d39119486391e3e8744f910003c67eee680524913ae37ae69f0baa481d0e4e6d3484a307479eb229bc30f479e391be3888d7ca00075aa7f75697d3feb547969a0d55f8731fead1e14041729ebd1d392848e7cb2af3914ae1318ecd9020f2f4ddce402fdc9ee7b3c86ecd111dbb325d01422bf470db82108a3abd1e3b34101192d1069581b941d50c402518ad6fdbed21958ed6c5724923454fdd2495cde5abc4bf4516ef98c3923b46bf7fe2000f6d7022ebe58dc19e751106f2cb98fd24bd6e14d8073a53d3f8e11b45c5df48b00a99e289160656884525d83a63124c30e63f37032d635435d92d49995a8f8b408dd140b448cfff621010bc3dd28788ddd82f2bfc323f8b837afc1ac6c5c1580b2091462157e0771f69f064d0d7bf52f7ebb7e91c66e35d4914a9dba6c7e3cd75ce6200914183241104a8b011521fc34fb04dc72026ec296cd803af9bb39e7dd5bf873ba5d191a524bc07d6ca5418464758476f726a9d98e7a81bdf17ac4ec7badc550129a1151b03c194c4b4034b276b9d891a6f4775fe20e1e5cc98babd8744c81e7daa3000b49c7e5c28abda1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e01e96050ca4793360ad636d62a6d89ed1dd50d100393a25b769f51148d33e9c80901df92d744c1917c79c8c38fa95bb485b984c521a4253c1ac6c12035ee61226f5c417bf8114d29f36913853abff5b4c974f781edf65caff6e8293912904b86c909f9559cbfd685c0ba6e491dfafba0f1bd4300000231b5c9c8cae149bd749c383d5bebd9ee775377beb035eb84377eff29f5edac291b6103f419ce028a771a813617dc177b50fd2f2d4ea489a7f9c2b6dfbd7cb0608ff6bb949911d83cc543063aef4cc63829a471bd77f68576941d08cfd681e84f80d3e1645920171f09019ad2dc29fffa2ee724cd419095cff0605b7df10d65420c3f20d7522ab9fb81be2165a6de4ee706aedeba038f6e38ad43723329856ac986583787b60bc1f54a7f570a91b33269294c912982def982794434499fa4ce83d8a32f8629d2c1abf127af5e85f34909aaeb23a7a5450a60ce1493c3bc690643f16943df5367f77aa54a54bc8a8200c68674c041892fd6f77453341b524740e2f87d0a3df7f0ed575478a6b9041b04f0d563c8544007d64a89d51131d5adef571aa36d21bb0f9917c463b5c9906d07f248619a83b48509c798407bc4da757ab7035dcc0901a0703adc7ccba7cd1054340b8b59b73e6b8b455833b8cf427b7beee4a0f02c09a12a9096df9ef41ce9cac50cfaacf1151071f975ad45cc7125fba34a20bffab916ff36625d666f049583117e53406ad65493808667a1d3d91634cf4c04ad1b76ce2c06f7385a897f54d3bb11626357265a0e408c00504dcf29352cc80c19ea774e4a6f1cbe01933d6dbe0901567e3d3f853b2bf658b34a086e56c374fb85eb4c313829401d431924d7465d4aa180115c708e12edd42e504c1cd52aea96c547c05cbe9a44851e30b39b56297fdf090f6bf257d6c5bab3479854a280ba419fb6d5daa180115c708e12edd42e504c1cd52aea96c547c05c76a06ae72e8a8f120cf6b43317b34dba4b119b37e8d01ca2b28c514b97d2887e090171503ac05f8ca52d7cdb786cae95ae5062c8a97dac126ed9272dc7e30eb806c80901fd2e18833a48b67bbaaa3c77c79cbccee2f71b4ce0a92b5e2423c707cce4533aa180115c708e12edd42e504c1cd52aea96c547c05c8bc265e1dc0dcb7c9ecc7cbf5f7c1843c5da43bf586c40fa9560774c5eb1ff080901e8bb18c16a016ed06541ccb16b38473c9357af9322a2ac573175b7b1f9ec07cf090107ca4196285a78fd294c7947fbd5febe8b6ae006c9d658e31b60017ff3f97ae9090166df2a30dddf70b6f44a42de4833a3680b9c5ca958accae9dbf7f0b1600947f40901281c95c77398a8b558c513bea568f8be9be22fa8f1a6d5645573de661f2ee6a0a1c2fd44a8497e2fac310f4fc8418908125546f32efa28383624da04595bf930920bb58bc4b15b5de94ac42056027c1daba69332e0313f2a01718652997cd9436f8f814343cb15afa1919b850b03c4a0d28149ec068207f3c551c6c2090136d8384f8f88b18de18e3ae63b1057cf0772abe2067b98b68446b10ff458fa2e89010000000000000000000000000000000041e13027c1b52df1bd9803cf1545bf4ab94a16d168d9104f09d8766103d550bb0a01bf35d33c89f5e664ae2b92a66a939eb013ac1de6515a57ffea70d56fcf6b706619d057eab78b3a25d00ef7f39c4967eb220327371363098ab55ae8ac283be6cace684d200a01966f1152c6a8a2f9a663c24ed9440e728138744090cde391c63e8e1786df53102106db12ccc6511c9c36ac5967ccae5da01cd21ee0445c43211dd1198302ae036d5e3b2cc60a013abc0472eb8a8849953715f91ecd85ec47ef839e466dc143cd2d32c6b61349410a01a0dc9b0d01fe770f0cbed8572f05d38c58e5551d15c16d5608fc302b7ad49e0a2102a5692aad0f28864b4e3691a85974872a6ce40e6eab98b56b6d3b8236786a0da0292531210f3753091014a4ce05520dbaf7a2654d893c76a471863e356ea366e825fd296753bad41b1962c6ceeb0388076118d3a1e6e25ee9084ef2e74cfaecf782cf4003319c0f335f96911d19b0978b507111c55737118180a4607b2e9f115ff1c10ceb656a32a6f4cfbb21c8c6e0472101726199c58545f9a610de3b4061e87c21f85dd19449ca4aaca2dd868172c540728497bf311d9e0171863e7f0ea5f165f28a75168a2e392f1c22732864565c491a136cfa70189eba027acea12fbef53b81aad68c4727f3329869ee704609ee749f7a7407fb1ba20d656da3c5ff74892871546e61dda8da470c0b99caf78854120901688a021fdf7d14582bf5bd2eb5c93cf86f21171c52b86ca334776c7be06633e9a14aa5cc5f01876266b9a0abca2a77fb4af9425cc3c0f84c80c45a8236856be149391bf75bc23441e7e25070407a08efd97811e33da165d8e9461f9018596fe0ab94fa050ffb3bca242fef613fb876ab1c59ee2b84cb39b85d0df611e9380de6df4f5da1f8f02a925c8d490c944fd8e64880228050aac29f405aaa380863f232d74b43ef4408dd111745f3a9d46bda7ec362ed97a144ef12d4b87c5646869b28e6b62e8aca975afdfa753b08a8b2b9aaf55d8853d07c452777fc4c529029633816d926fdd31689a2ae29680171861aef4adc1342aa75eca6cd65fbec28e32540eeb9cc63c12a4e7fd74288094cc1e10901e9aa2c34ba3c83030e0d8f90d17ac623eb912fbf8cfbee93413bbf7329d959b00a013fec76ab6733aeb76b088570a0023b4fdcb8d0c828e9dcc8f81bb0e75645e6d419f2662152b7f4b7dfc66f12b9afe0f70362b0a6c5b42e041c3e4e9bed9df52f3dacadd60a012f93b53ae541da4ffad8c2e72ea9d77c1860404254cd8cdf8a5bff8708bf99de0a01e63866cab2b4c30eecb868b0dc9f50372b1f79ad7c93e37fb5a0ff411f5cf0c50a0123783ae730d29ee74f13dadbe6201b3063acccbadb0b768d5c80e8ce06a50d7409017282df9bdedfab9ea9fae6c127d63bb89e4c5e2bc6243b231ccdd2a835b1a8ac19a7e215f14e64c035ed9a1f45aa7f9decad368ac1292a3835f448e952b348ed2324b84d21027e577b5763f3ac147822e73df0eb878313e7e55df3db4405eb1db3746083c12f19b9d10a015f06be9c9642a6321a48bd6eb51fb69e85767218915fb4ef3e1ad12115ef907419121c1b961e6a90ac18d287abbe6645e314566d6068483ada0ecc53c1bad6918d130c5009018beba255936bf7debacdf5ae874cf4b74789861b8386733eff99d087b394c6a20a01df4b1208f951cd68e9169a4820678631882ce39999e2b20d20bc94b0f6273ae60a01dd845bf2c9bc9886ac2286d0dd8c08b0e7b227570809e3229895e49f65a298064902bbc099d5fb6d81289a8e412e9c64e1d0237b95f8899e9314631b7abf0fad93881ba7e447abfaadfc0920cc1d27e9ee7f5678cdad1e1140c4d852ca0c64f04346089c0809b48771cc695f090876af4949a5dda017af2fde7eb64989734c48bd449a895b7d22c7e20f4e85b27b0901d1b4ad97ce6833314f1374ed5de8210ccec6ac500552c49b35c486056d5c52580a016a975864c94755cc754e06fc62e04462f62979fbc2df237884199fdef76b8cf7096e352fcea326988173e6d09589571f5522c74e25834abe3e70b4ddddef84c6a603096e5ac400e164e56f8210320bc96798e6e0b5fec0470bca0041c760d46057277ed7210134d6f4e47a623cc0243610a628b008fe34865b98e100fe9c64dbb6aab3df82edfae169210134d6f442dc4493dd70032707de9f746062785a10d98a1fe54541e04a2c3fba6a25770f3904325b0881a86b033ed80ea5f81caf6ea810c94a038363a914e2bfd4bf89397f140896043438f549344692099866068fc7efbc7ca398ad874cfc7be2cfbcf493af177a976e278b076487fa4c23906040af191a524bd08b413cba0ad1f7ae3cdf10fa1a5a78fb0f763e8b958af889d1cc65742a81956906f17c2a1f17621892641e82adf64a6735ab0d469b6222445a27a0509b7334974617b086da6556919cb32bc86d310150969bfade2922350e35eea1b624bc0860fc6d1a88ef8949f6d193932a74f1cdadc3b17ded0901b91f047425ec49fcd708d173677a6a5c4294172167d6b9d3082d475119697f680901de1770af232be79daffa32d59cb27e047f3230375cbb6c6f359115ad2113d99c090101a485d8779c9a044e5957d15aa43aa8206a29204e97e578f6235eb52e23afc23103600171864a9d2c5b32b59cec41409eaccb473a7c1b6816ed36a719b35fa372f988da2d20d4a138f784e67869bbf5aaad5d664dcd05d7a47a9885d224de36f00d582d2a3defab0029281b54c6b681af3517a007ce32b98b6b01a7517f6a4e06b86e198796198f82561983b0e61ebc8b86a629f04ad9d09e9a785c984231c98d0eb041c971d9591415c9488a1690396681007c669c526d4b341486bedb9c3b8635c26b27602f7f0df7a6a0d653a140caac8c39571a923ca04ee1965836020f5cdc7d95a8ec1546ff2b8c7bec15af2af26384f5c96cfe387c870d310c40f9ef7267cee79a8cd93df1aa7d9f40c4e4ae2b7d1d4740f1e5e1ba1e977201cc6af3b0810a01b7b4e11ddfeeef52ca0c336858792be12d31db6c53b00d24a6776f4f08d08b7d392386f26fc100007ef3af95e82367c7180371ab903da968240e8720165f2d6d113d4e10f8d00279413ae5b783aac200009712281cec3fe27aec63dccb979a34e7d86e37e3b3da429e23697846a2ca958e0a011d3984ca7ed5c262e1067856cb7191d87bb7d1e8acf0230d4a600d07ca22bad2418ac7230489e80000c454190d333fcbedadfa7051049955993572cbd63cf42e68aa77b717d073c8a40901fb77b81a76104598d9ffda1152005f97e9820700085c91c332280307da83eae900810972423f7d915b94ae6a76e50f4327fb1e8b9d0e80c318ab05fd0819e639b4fd05e860183b1015058ae32bcb7719855ec7aa4d7200910ee810344e3cf034f9315af3107a4000f006789c75571d41a9aacb4465f684309aa3d0597b2c75366cde06e60bbbedf969012c000002ee00000000000000b9ef0eb0e2d93d6d27b065c20e022506f10a469215692dc4fab8347ccf84682b0061706500000000000000000000000000000000000000000000000000000000063e47078faf6c734bfe7e188b586ade665b4e478038a57f99fccd918751aa2b69006170650000000000000000000000000000000000000000000000000000000006dcbe7fcd0d4a4b51538f54650f1686c598455da5d3d4caf3857d4c6c8c8cce4609011235fc129aa7c102d35b04dc78a7d91183ec8dcebe12c0e5364660bff015328519033ba9f6c2a13297570dce587d6c1fc75835bf680950683a2c355761d8a473af1f2a9f090101acc07e9cf7f84857070a7a1f6320eb97b3e5415aa19cb3dcb262893651b0971903c55efe2aa6546051344415d9136c36d7224b5de88d5f50081448ac9b71fdb50ac10da1149173b9c112466d7bba1f647e2cdcdd6ff184e4275d59e3ff3f1f2321277c45d8ff9326dfa34100857af52b1e5c91a8768b04538139d4793ad35846718f9892a36e8b925b2b8e01b97a36abb0deeeb6503f11c3be5753c9d069dd7fd681798028313bdf09a144e8d30c05e5a2219d5f7e17e7b87e60f6c1353e9a3cd0481a52950a63256e2e403fd76b17c7229e295ecdfc3db33f44b869b3ada16dd28c2c5b91dd63b4d4e78ecac7139878371768686724262c779b02e44e6909c79dda2440adfd1f4e3da630f1b18562762c34594175b37816b749b66b0ca5180a81cdded691fa9475dd73710a0f98169e0077e37dd5bae3a8316c9c220a01fd9ffe9dfd6d0978af66e263e8dc7277c8e21b6a802c63a315f9922d8d43e3a6a10d5328bdfba313310c9d224c25772b6fa751b9d40213977d8228758a54d817457dad5de4b806b939a352c83bbde7f0a36e32e5243107b9017186586ff4762b92786831ba36ed9120db1a885d01d0d763980956b200644c7d26e1230901bce25afb1bddc81d393a7d30c196e5cf3753a0e876d4184457a9806266d3e436290a9d9896c78e9c6203892a9d5862e8511d457c70c7f63f5ba7637eedbb0f4ab76ed8ce64bf290f98114c0f326b8c018ec3ba88d28b7e146a1e3631b33af636c11a656bbe24dc43cbfe2cc429e84fb60e3bff1427493f2900dd9f0aed1df7c1510fa629ad473d2e32bddcbbfafa717a889311ef465c121784579443da935b76be97d7d06fd561934765db9344fea3ec4409d0b31b390d22f86191843d6e37d777cc8e8a5edec34e69d8cd7512f38c4cd1e90d4aab6a46c3433fb68d4b392c8850ad006bf0b94d78ea6081d51ce7b39f9aa65e254f9adb05243550fc4c377edc24663b6d78e10342a9706aaac244d001368b000000000000000000006a89e8b51815f5e8fd9e659eec56c8366856d20501bf14e46707331fc77ff92516e12cb25b0c3a0bf18a9d2882caa41fdfe4eb2119a2459da249b6bc6e3f23d4e12d1ba35abbfb0e961961328a4b2101c9c38047d89ddae6658dfc2fa241515f7b12b8ca79c357bdf4ec4aa0c2c2d6721ffcaf41107d4ec3af4257850cb66c12d0f834afc9b5f4ac808e7d80773c7d420dcdaee1fdd0f2d62e55a40209011b30b332b3d0c14d4041d58ea84b247009dcea5973fc8a3cacc21f7aa99dbcbaa1037119632437119bcd9a6b18ed9ea9ebccfbab7287cbb29a78f07e708e996654f2294c3da7277f0fadd03990d835b3838becdf9f4901f9e8e7ffc272bce3672a4b4cb989f3df5fde6f1604adf28cce47f315c72cf18f697884170e5fd57ae1034712a12495b627ab792d400000000000000000000000000012926a5b6731e66599d907c4913385770f91b103e1b072e98d12483a688f4b19309140090185ba802574057d16e01335eedc59ede451c146aa72c0ae54e419d23a671e5225a15039543c3b1e342da8ba16ea9c7dba464f74edf637dd4224f9cd1eedf6c115dfae7363382984a8772162a8a210da403f22c009203136d80171863947f55b48c65591d2d2fb62ee6858c2ada93941ed7895f9841e9851201a321993090a369ddb839ca0979e7c8c6d7cac3ebda8de4bd7055bbb218b511620d4d17bd55a09090eb9872b456aeeadd7a743ad65a50fe854d7b558990d88caaa2a8ab09b07049d09012afb31d0ff976e745a1ba27500820d92d6fca5b13db5ff96b13f51905046a4d6a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e7d4ebc6b7d65c7d59842ad93ee1a54e63c5a0df0e01a692bb464e57f6bdbffb30901ee19685744894fdc7f1f2f607e43fa01753c2204690dee07620a2900bffa7fc3312ff8017186165abc764a218ac3636196d9cf8d989974df3f0aa8b4fc13a2252810e20caa0d35312ff9017186226275857c0de7cc3bf2c0006472738b883e0829a6e5637f90a80ba4ddcfa0973f09016248f1313c0bcd995cb8c908eca722a4cdcd3c5f48a6c6db02fe2cb03a3a81e9a165477af971c552412773320c4c567228176872b3328334eab1e5acaedcc39e3f8e5dc1d57e1d9822c549b057678f25cce7fa5fefa17163d25153fe1b2f6f994e0f5fb2d47a84df264f26e63210489eeb2f2a274f2a82f8c61aaac5dd3ba8244d1b90fd32f45fee5310090151810e421c5111fda876cece5c9056080dd972a726a1e4428ab391a8618337020a0181399ee467cf03c8cd376963f8607f6e276a92dd89b19201f2137b4179f5bfaf210171861360ba191ef16d883d699184a191dbf55c7408c1b2f7bcfa70bb1a0a9d4c2de2094101b9eafba6c4c718db591fe422c98b3d9eaab1212c4217d10b7bfa96619c2a30c94f02c3931346ad190736b0fab0139776905c15dbdeeba04817991ad158e3cb31861b82a709ff11224f2415190738f5088b1bc394fb62a4a22daf0dfc14900023e60ec6d4cd59dc14959dd0a57f0d9e1907383578bbe26d685cdd03317abea7e600424a52b0593c10dea4270f7bc57f80bb8825097be8fbcb15cacd4bad0b7e6ab7091480ff8a8e566b9f33f13a09377d12e50a69c3190739b50ff653f4135296911a4f49f84aca85a6c002906ef30b7ee66193a515d32bbf51190765a2fa57d4d6e2f5ae8d1802033116982745fd5e1c51a08b0fe48b1277fac114a4d81909b5bcfe5ac6a61e70b02e52f8be996f9e3e7909aaa27a95efdfa5b528c8c433cf5dba1909130cb5d61b3701314843fc1f3cf26e69dfe568683bf5300908bdaa41da1deba8a5e9111f2dc5150b02810c8f02faceef1a14eaeb104c0864a565534f17a5152ef9eb82dd72116c06808f9ca701e7b88decec88ea71710cde44a2b0496fb2ca008a17da43138b1a3911054f269485e4113f0bc54e4ed3962928dea4ed30dc6e6acb1d28f318a696286a31610a01e98bcf7c91021dec06def30d4da8391f52e36ee64adfabfaebb0f4e31a7d01f7111f24432c1c9a293bb476887074caee2e22a5bc98b2858d6b9412dc667d6d0df38acea1d948da7ba45ba8d119a64e5498b247feaebd8b739b8f0070e47f6cb2d361a6ae2e89f0aaf5de3a5b29947bc280675ceb680c6ec2311af0017186401cd861d51220a7f456584ea2fb9f6001d2ea4c0aff83f825deb6c6de173afeed3904325b0881a86bac268ec7a39f04bd59bfeebad1668b7be705b8e278da30a00a393b6eb780edda79c097ce7bc90715b34b9f10000000001e61955552a75fd44eb3bc8a520617e7626f867c9784b0934d33df13fb0248fb79c097ce7bc90715b34b9f10000000009175577d243744580e4d3eba6d001ae4a52ecf41915633aaefaec812c0b255bc0a016da4f25e21ea9a9da707266a06a38385e4f45a7521d930bf7ac684d28dfc860e090131a49c135824a04a04360f4ecbc6867c746f5ccc530ccb0102622dd71f56c56109013e4006101e0fde5109283e76e0abb0a6496f75a63c979ef7bfe90c55a20c8c8831047cae0f1089b2c416fc546ac82f94a49374c48a6ed2011ad43b0c71cecd92f8990edb9a2db4090175505f6b9b08556a1e16c1c50dbb8c161c3abac8f3f50613e08d71037e0ec6d74170f5f9d3e35fef0d2fba6acb46454534d4fcf1d2027bd50dc1ff77ea016718c670d3def0da26a2a44170f5f9d3e35fef0d0ebfaff93008adcb69843ec9881d6b2e2bcccc3aa4b30bee9ade9a0221fcddc60a011cacced5b6f672ebeeb7e99dd69158424e69b24fa9075218dc525b51fa4c99d029d1adada9f99f1e7b9405b6770849049e59e363dedfa1a73f467405a64edd954f4f0709e6880901d6bc4f049abf9c4b0c663c1f137c302ded9772d4f923840246a2b5c0db47177e0901257acae0efe704629e1552412a67ef32106bf2191fb3dfef4bfeb844d40cc503090117391cd68366e6f2eefeec472aea267d5ed97727327927739f800b924f5d0f5d09016669faf6484b99ccf6b8de37b06ba36ced8277d91d45ddb18926ceb91bad8c700901ad8ec34ec3708e06a44070e9f8f0697fd925fc70d8115fd03b2767c5b02562260901940fea0027879592e27dbd46f7ce4c6c799e2f04415645566c340c0d318ffdbf09013b1d910ca21f4561e426cd233ad98c9a2925154a77cebf3bc5d6847a3d91075b090167b6c29087dac56105580e5f677e349bb179da137ece1d2430fd75ebdc1b22d509010b32db0729a5182cb3ad4f86f2328502c7db024a3656a057b33153f096e6b74f09014835b724a8d30ad18af48320980d1ff38ddc9b3fbdee2a6ac7f9211d9b05631f0901b10ef22029d3990a5edc1775a038412559a0b8194d37476656809d5c84f387eb09016278d477fe67124d3d3aeb8c2f5d726e6cd285bd543a5f827d33c759335b55100901a70ebe30bcfec080f540e96cd54c2b49c7aa18bf7b771b6168582113804bae300901dee3974538ddc7a0866fe26c52a389cc4c96767e5c09d3917ea04bb3395f7c2109014a4d16024ab61163e4442862311bd0fe61b720678d02e03e095437404b4b03e75979861e6a2dad8a248b8c0ea6150af75e4e48b97c1882bcea43aca1b01662ba932e546fe7d5ade1b949871e090190869960b5bd7dcfcf9447b302cd99aee59d882710ef2a0a1299920f7f7c685d09015d6c16992385cb5d833df31f4090ee6825b2c8701f92ce0477b63ce12b75b862005261657374726f0000000000000000000000000000000000000000000000000e46f3883d5c3a2477bda1bbfb8924fc5ecd14869c2d2fc38500a2faba696c14c000a8f6616edf999f5ce01f1fe1b894a726336cb13115a59043494944a072f579a4d1e7217d66d3d43fab8faba493feb42965e80cad570bb29988aab46c3b6153cb00c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6f47586930205713a6a363a9d06c15d0db51436ec49fd51b8de8900ae32c2b96c096f0d5c261ad9aff66480c7b22a49e9c185589b67131e8e1099d86a3536086637cfa17816a972b63d0679c935879cfaeb6453c7c1c8c9e853ece842d12de2a0d1b7dfde9c9617fba97871e6a3cdc0a9f60f66e0c6c0f1a17816a972b63d0679c935879cfaeb6453c7c1c8c902e961595aeb5c304f2849d4c1a759413a26d8c473fe769319a18e319ace9d3a09026e708a3dc48ed3b38f705bae99f8fef0f0c4881cc5e96537f32f6d703106b50c09016fe4a5488c3854e373bdba93eb4552bfb427e6951995bd65b2c3a55b156d23b6090292e278a79d3343959e9f5c390277e32d556e615e476cf0a108f9b4524688ac47a156abb6a3f25dccdada106191053b1cc54c196deec8507d19a898613091d6415824a6244a7ba6212ee76a9d0a7c6c904a82f3e01b09015aaf9b799076012479363653434fa93b89f2822dd6150e4b56377b207f26fbbc0901f826346b5d717de99d1774a11e6b897315c60845807efda369ac20905b3f64e009012ed7a51071d0844752958bd1d67971666340bab5f8fd15c2d471a0fde4506147a17816a972b63d0679c935879cfaeb6453c7c1c8c9677f8ff1a98b7c11868d0408a7f9ba3d523562b858d34affa57ace4e74caf269a17816a972b63d0679c935879cfaeb6453c7c1c8c9d7219df5808c4bc0854d28b38fb26bbded52e00a9ba02dd85ef8285e6d0c6971a17816a972b63d0679c935879cfaeb6453c7c1c8c91749e7427159f18bb6e298b10b3679b956f41187a25bbcdc4b9b0daee8e3444c00697066733a2f2f516d556a6554533668747756766b51766d6463556372786165f0682fef72a02e4f48fea058e5bd83e1c82630d0db2348003a7514d343b80a61006f665178793452326e636d566f37476f436a666d482f30000000000000000000b589cd787e4d0d1d47e6b6dc38a21581d7a2d99c0a2a61a4db2b0b836149ff04090123f933b221f2747e4f696debdecc366a1de91271d188a260a8215ef3092186cd0901460aedc9249b63a4a2971178bafff352020838fa1fb066b099ddef723a32d3e509012cfec83d80457e553b6c58f546dd5015923eb928e9e020bc002703a6c47129b50901ae2f0a3b41bb84ac766d32c6615da315c2323727e715c6ca7eaf356d3da269c109013295ce215f546349bf345f5f7f8406a76b4a37c24167ba851c5cf449de84b6a03904a4a455de4348ba4bd574f6eaa9f4908c97ddd69ae4939bbbcc78db3a6d2589821800363d06ba21042aa1e8dac60805d1eb0ec310bbb4aa02e9c61feaf4a8879215462a9719f06e271c8d04210182219e1d25a204efca6d46244cce7ad7d2ef46033c6ba0583cf38098dbec0b21040fdd2165a6de4dc6ebcd94d5b43f27e0ec3962ac378a92c79cab9df11395fa083c1d3277c3be9c5922c2c22b62ce831b53bc81395387a23aea94411ae8d026836e206a43364996812a9d53eba32a5b22729ca729227610346e5dbad9b528bf307acda1e21df661b94eef1a5405710aadaf463ecfc73ee1496e0901f10404afee7818eb073f32117a11d500a20c73c046a0e27b52f453bf11beaa46a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e2109690fd4953c3057fb56444aeba5a904b21a5215cf37c4af87636f187b2b38a178bfec5e4693aee12dedff44f40e5ccce66ddb1c7b9fca3d919f48037bd36a73eee0c506d169bc80a4875fac3ffa2e9d38c491db0901cbac5c7603ae0a7ff05beac2bc7946663fcf627d46749c9a61436fae633ac0520901df0ee468c7b9b9c10d8b28697256da3a2a13433ca96e9d30f22ad3495553b1d2a144ef12d4b87c5646869b28e6b62e8aca975afdfaa29734b9b4680e31e370be9fc36c9b54e6523c48935f7740c3108bc03319ecad296c01718640d645e474f86fe66f2c63f0857e0aff27fb4ce12f94d4fcf320ef56a21720d163090190b19c1f41dddb2f54d53ad0d8f961ec9a866c37b50141da2932ef7f3eedf69f59524d10dbc0a39e7cea39c8626163e80cc225e64719f6c5b9404107acd41f117f495f1157516b47e17a4b8b2165a6de2b483b68e50ca45c31cb92e1d43b79be414335d8e3ae2d72889153d9bd4fdf0b6a31048c2739500077c1fab877047b94ce5b6df69d1a164a0f1164ef29985f833c0b27a6a64747ca2165a6de2b8c838f415041162cdf3cbc028978669046f32675466b835a337dd17b26c742400901313603fbaafd9b9dc2ee76867de15c515ba8a3ddac50b606c0dfc9ef3e9bdb860a014be94257e76c4c0957240e07b32bf0a494b4e72b28ff32e6c51b5660e705ff99313b890171863f8296538c0df71d959117b23991ab81cbf8793b09a2818127cfcfa4826adb86e609015b05d98d465ff9fed32b201bcff0fbf6a2406f6c98dade1505a29b0be6d96630a17163d25153fe1b2f6f994e0f5fb2d47a84df264f0c66ab9e09010b2107ae09010019933f090108afd9f609010806212009010133ae7409010a1ecea20901068018cd09010c64307509010669606409010b2a8fa809010601f0e5090107b21d038901000000000000000000000000000000000677b0eb09010c41cf7909010b8e7b8009020c2c70740901095a7281090109fde82c0901056783de090100579c9a090106bfc71209010c377173090104f1c34c09010077ee580901007444c9090200e76a4a090100564914090106b5d97909010019a3de0901036d2629090208086c30090100041aab09020c67e2ee09020766c88a09030c6805f7093704faaceb090200462b3609010ba8f6710901058faec509010b533a5a09010b6f0909090109f8fa190901056d73660901073f475b0901072886a6090101b8cf1009010264c0440901000290b409020c6709578901000000000000000000000000000000010c09638309010bfeba32090101309dd909010a0b6b9d09010c6808ea09320638faec090106106b0c09010a3b7c1d0901056d5fe9090105ddeaff09010071973209010a17304c0901019ca8c809020b61f03b090100676af40928001478ee09010bd9a6fe09020005e4d3090100327de70901008c6dcb0901004dcf1609010b07c96009020669c2f5090106706ac809010bdbbe9809010561870b0902003bae2609020c68079e0901034021c009010660d93d0901066f19390901032648dd09010aed18af09020a400f7e09030115cc6f090105d6ead3090100e5558109010660ef780901031ded4909010c67fddd09010520bbea09010c67de0c0902086ab54c09010589a7860901070e5651090106eb4b2f090109f9d2270903006593160901001109cd090109efaa8709030b209e2a090203189bd109010c67df880901000a2b32090105fd971c090202009826090100445cd0090109cd4b3a090701c197c909010b4076e1090100053ca909010c6807a009350bd9a3d4090109f07b6e090104d18eb709020491c84209010ba9972c09010b2b2f0509010ad6dcd2090100414751090202ea1dd1090107582da309010c67e4750901074faf5409010b4085a509010bda074b0901029b6ff909010b4bc7a209010b0033660901002a5be50903015e042409010b55111609010775e475090105b091920902002bf77a09010b8f00c709010289e0f509010b39f2b60901060b2d8c0901001d996c090205fcd07f09010046488189010000000000000000000000000000000006aa50d5090107cbf6970901000d9d7209020bd9be60090104e9bb72090106103a1e09010c67db19090302a8b08f0901032bfecc090109cd026a09010c54a109090109c2026209010c22df910902001831a1090205d2c8d50902002689ca0901091fb83c09020567809609010bdde3c709010c677e4609020017b82009010b2ab89909020bcff27209010173ca720901000fa0e2090101ad82dd09010bb3da6a090205a70bb509010b85934209010272cdba0901000e553909010ba8ff2e09010c680481090103fdd1b809020c526e49090107a89cdf09010b096577090109f9c5a409010829ef7b0901002556e6090100079f640901035440a4090107b21d06090205e37a1509010a16ca5c090205f310ae09010ae53901090101af593509010978121d090104eb6451090104f7d30a09060bee7558090100001fa30906060fe9e3090109daec820901023cd82409010010500f090100dc86c10901000f844b09020aff4bb109010afc8d38090100107676090106c0b79e0901089c8bd20901057da16109030a1625f009020233cff309010c614251090103e73810090109d4f6ab0901051778c409010b409e5909010610117c09010389a099090201d1637509010329bc3c090105554ea009010055bdda09020035758e09020c59cfd9090109765dcf09010b77065509010304597e09010693d5ff0902060f661209010c096e9e0901074cc6920901041362c609010c5efeec09010684f20309010bc4c98d09010bc4ebb80901056789be0901031fe67009030b5b499309010a0f25fb090106c0bdf809010ad6158c0901001d5ebe09010b258a7c0902003b5382090103266c4609010b8566d60901099c928e090109f4640f09010ae5292c09010005acd009010860ce950901070e64fc09010033df33090200c29fd20905002745410901065e5d7e09010008644509010bf29a71090300d25ae8090201a1100b09010ae0313d09010a6bd8f409010019f998090109e092b6090106b441fd09010326a3130901005b30060902000003f00901064f91be090101e5a8b2090200001fa4090309a108fa09020c6143f90902049bdf030901002f54ff09010be5f3cf09010643c35a0901009894240902063fcff80902087713c309020b7e71680901001bbbd709010babfa4109010bd0d3a5090109a178db09010017e472090208f489a9090105ce03f8090106eba5b5090100782698090100657ec7090109d42ca6090105e80d1609010b8d46f109010b185fb9090100014ed609010401a1ea090102bf6e1109010848de0e090102f7ea4c09020000f821090105d9f3040901018116d109020ab7244f090109eaed9a09010554bf0b09010c680484091a02a1a2970903012b60e609010a293b5c09010c67d77709020c67f3920903009d1c46090a031392fe0901000429de090107f0739509020c6808ed0931025b4ca309020babde7109010bcff83f090105677ed109010009588509010c67ed1009020a69dc670901036517b009010c67de1209020bd007bb0901088ae94b09060b197ff009010577ab5d0901006b80db090205677ed209010bc7af2509010b500dfa0901018b7176090a0b0f7e6f09010401387209030961737509010c677e490901003ade5f0901000bfe3b0902000b78130901065d17b70901003e69fc09010644dfe30901079dfad70902086ac190090106339b8309010c22f90d090104ec10ea090101c9dfd309010b8d5da709010a2a8e080901003bcb22090400111b3a09010201bd1509010445f9f909040bdb22f6090109310235090103f4df31090105e81baa09010a22e6aa090101af525b09020c1522d4090201f129b30901054756db09010b6f9eaf090100fb09e609020c644564090105678be709010a0502ef09010182b94f09010a6cb63909010c51c6bb0901021f4d3109020c2258a50901008abfcf09010124ab40090109eb2a2f090204ebff3609020b106d04090103a75f4c090109ff727f09010b2b256109010b61acce09010339be860901001fb231090105073d650901090adb6f090109a4f89009010b55e934090105e73d080901005ea21b090109f5f78b0901008b4e4509010567820b0901070e69cc09010c6809ff092f0b8f6b4609020b32ace109010207a1f8090104b4d5ac0902001eb0a2090100146b92090600f0a9c709020c6807a709360c15164e09020000b20f0901003575a5092503fcee1e09010a4127e4090100c6a402090205b0a97f09010064f1a4090205678dc909010069334a09020b955573090109fe7a6909010b2a989c09010687a8e7090107a09c9409010a81c1d509010a5a33bf09010c66bb1209010a32db290901003515870901055f03770901019cd93c090101571730090105678f7d090109cdb2160901000923c8090100e7171f09010030f41609010b17c7d90901054dd2df0905048d7abc090101538ff7090103ff66e709010938ea8309010000002f4201e5111d61f778000c515cc13278fc6fa250000b20d5853902c5a0525826eb00198ea73a01f04119e726ab07dbf5d1323eaf68e46f0008061fa53927c1250c1e32fe0133961d32287da4bef1000a1ecb9b3a06b5ec39cf3965067fea23323b13b95877000c617784322a4cf9fd2d0006625924322a9a3acf63000770e63e3ab017421402cff90b2648ac322811cbdfd90005bb81993a16345d84fd7ba006771350322811cbdfd9000c41cf8c322f58aca323000b8e6e9132d4e04b3c360007649f72391ef1b2e7fe60000c2c69cf3a0743da7c0b1c4708181dd232285e5fd7920009fde3c73914fcc59bb696ff056747893226fde45ecf00005797e4322a18d8824e0006bfae4732356b3cedf3000c376c6d322811cbdfd90004f0967732db65bc758c000073e7b6322f67162a2e0000743752329f7f3d0eb5cb00e75fc533216ac8e375c000561d0932f640e036610006b469933255aa0fed21000019a12d322f67162a2e00036d11ce3a0ec9c052e1baca0800f85c3278a1f544e2000003f9f9324df4f65319000c67df913251da5cb3af000b24ff1939354a6ba7a180020766b1ce3271823e01ea000c68011e3a343b838e24f88903a766c73a01435982a96300052e733531e35fa931a0000046273a322830402975000ba8d5df322f57dc0560000117fee83a0ec0fd33aa32000b44e366322a6c38eeab000b69876a32270b2fcbaa0009a5ad6b323c2d72f73b000556cf6a3a3830032768a0000bb23f913112309ce54000073a596532357a7712c10007287b3c328dd089866400085e6193312d79883d200001b8cbef3229770747e8000a419af53942af372e6f20010264acf732bc926e31bb0000028a8d324bf72208b0000c67077b3a03761b910ee9000c08b8b83917642f7a93e4bd0bfeb0de32c4e6e72ce00000b2c027316d23ad5f800001308cce39124b95997c0aea0957158f32285e5fd7920000903f65390793f3c34e50030c6806043a2f7a8b284b0d220638f2e0323b12d6d9110005d03aba3b37b810daa23fdc0a3b71f539019fdbc389019c056d601332bd2efc5b7f0005dc81003226e74eb8450000af040e390728a1bf38f000007195003b257c71d9d67eae0a16e2143a14f68cc320a078019c89ca3b9a6e7f18365f3902d458a031062f3f95a0000b1d051f32277d0a778400006765e13a26080a264e369000043a133a1b1e27620155000bd9a58732a7db68ec68000005d782322a4c295f6a000032762a322933aba83b00008c61a2322bc5115f26000c67d1c93a1eb22be53345000014300c3a07448a4b8298000b06031e39065bc1c2d7315e05d2adbc32270b2fcbaa0006604aae32b1fee9a95c000bd4cb403234cf082c5e000b951344315af3107a40000561873c33e7dc91cd9228003b993c324dc4ca1fa4000c6800363299e1cdd54f00033f6a0e3a056594fec7584a0b951582312d79883d20000646b60d3a06bb6eb3f15c15066f0be832356e4fb5f70002daf38c3a07231c46551a4a0aed136e3a0643f444b194a50a3fb741326aaf505b940000cdf3843a07cc564ee727180594fcb13a0139dcf5e45bdb0b2850a632b1912dfe130000e522fb326b804190e200065937073a0820accf6a500002b4820c3a2bd23a842363160c67fde23aa03a8b22428f5505209e92322e72af2b4d000c0b3a2e391572c8c51ff82e086a9b313a523ef0b8932d00058884be3a1772f6cb55239806c64f943226e74eb8450006d5dc133a063eae9072467b0c60b8d93903e28a86bcb55901665829390e3b276187c40009f9d0de3941b4e2f9cd009e00658ca03251b4632f30000c5268c73247fc441bc0000010fa7b322a6c38eeab0009d9f5e832715f4b59ad000246170c393822042b7380000ad0d95032f745047b660002da86213a052f09f7852cee0c06e26f3a1710a4c929f0940000214d412b85e64d385c77b30009694f32297636aa250005fd944a32b1d618f7a300020083183a08adfb6136a4b2003c28ac322a2f8bf63d0009cd3d6d3a0101033d331c0001bfacb0323744c4db25000b3f3b9c323d37e08f8e00000532c6322f67162a2e000c6800383a32558ca5c52da10bd9983332b2aa765d240009d628a0322d910c4ed200041209b03249a81d9a880000001cf609020491c5e1323efe56dded000b94ee213902f5d84a4647480ad6a75232fa28e81f6b2f003f05e13a02164b8d282d0002ea1de13236a0e12586000678bd583a04b4106596d6ce0c0e701b3a3cd5042bf7fb20074748003a0d0393910a8a450b9bb088312385416c274a0b40549b3901a305729a68dc0bd9f8c63a02fb5d0e94eb76029b6d39323df73d9e49000b2daa043a13d3fc726a7b3f0af9e1273235e3ae6988000029fa563a02e02b74baa996015dd46f32fa29b8bd2e2f0b5506b63a2421dfc3d1f5eb075444923a037a2968c32800056d1af032e702fbc5e0000055ca393917968e9bddd0080001fea83228203566e4000b8ef68e322f57dc0560000288da51322810fb4216000b39f2c1322701a401500003b7a7853a0d39d8902fa80000066915324dad8d947e0005ba36213a21fb6c3f63a66905c643581102d106aa20eb32407fe232bc0007cb5f9b32c46d7b5a6100000d9aff324da9c2063b000bd9a3e232278e0f90ff000405f1f139037803638fd62f04e946b03a01df501fc3960005d038d13b30f58adea393940c08153e32e5bf87528b7402a7fb26322770127cf70002dc122c3154536ec440f409ccf4583908d0533492945d0c526ac03a01b09b3908ad0009c1f0063934320e8087ff610c1b5e6732f8cf62d450000017e9004101633f21bfaab53405d2c72d32993ddafd1740002678f932271d64e0f800091ba0e4324753be443a000567478e3226fde45ecf000bdddebe3235ada42c9700034a6a64410122129a8a42fe000c1ad0a93946b350891e1386000b1a62410dca9095f543bb890700171f316d23ad5f80000b2ab8a532d9bae8b7d8fe0bcfaee7322f57dc0560000173c42c322f57dc056000000f87383a4763879fd9270001ad5872322a6b6850e8000b31a6333261c4c82ee20005a709c532d114f29e1f00062bb81f32323f7f4bc3000272cc643a04142a767bc011000e503a32356a6c5030000ba8faf6322f58aca323000c68031332ce2977ddb70003e179023a01ea112ef75f5e0c5245b231651e854f700007a7e510327e36e2e51e000badd1c5312d79883d20000b0948c6390e232b7f90b18009f9c0cd3901c981369935a8081d25853a02db4480c5136700250cda328b033b890c000007995632cb246690640002695eb43903ca5465a9e85207ac1aa83a02748344f70b0005e31241322811cbdfd9000a16ba0a324db2e87ca40005f24566322fa33a0b65000a3f3374322add966f10000b8f8651312d79883d200001add144322a5c3421fb000918ccfc3952be7de57809690420d23532270e12e4a60004f7d31d3a01e3662d9197400bee5edb32942c4198ba0000001fa5421fb4f598aec9fbc305d034883b365663bb27bda109dadcc339023b57fab9abc8023b72b7322810fb42160000104d7f322a5b6384380000dc837b32356a6c50300006316c8839237dda214e6008000f702d411c85284fd99258aa0c680a013a1ca575c01115000aff423f3913d173da3cb9ee0afc54c5390a1dd6054868b0001076af322a5b6384380006c0a59e322add966f100007f36510322811cbdfd9000559058d3a0105044d7b72be09e8400c3148c2739500000a15e993390adb2d23d4f1c90053bb7a3229606bab7d000c5dd2f5390496452197357c03e732933231bf70bdc70009d4d8633911a601d552c7be0516fe1e3b2a4015f26990c60b4081df3a47fd952fef7c2f05d036aa3b34c1a6c9bb52fd037490e132b4faaac71f000134ba45322c199bd1750002dbe764328cd77d63f5f105552739322f58aca323000024b54e3a12c21704b811000000f5d1324db205fd3e000c59c9583a23f10a92d0d7000c6803153a2223f0aad3b31f06648fde4102fac121da0b06510b76f9c23a1bd716e4db0900030430af322a5b6384380005d030ba3b2e3fba4a4bd9e30c096cf132356a6c50300006b079ee32270498fbef00041358f5322830402975000c5efd2639dd8b4acbc77a1805be472632270b715c550000002a3b39c060f02190c8000bc4c5d232942b70faf7000bc49f86322810fb421600056749353226fde45ecf00003921e44102ac9ba10837c000031fb92f32718ce7e674000b5b327c3a01a5b28f1525000a0f1880326c95ac800d0006c09a98322add966f10000ad48e973a0d0f9cbaa2203a095834d5411f2178e1a8ab7001001d574f32356a6c5030000b257bc13912ed745f2db6c6003b539b31940307c2800002dbc10f3a03f7f77b2d9cff0b85453e32fa29b8bd2e3b0992c0663b1d0f4231a8990009f462983297ff1385f2000ae4da1a390468b4d98d051c0000745f3229460a76b00008115b7b3a47d8712a5b7f0007014da33226e74eb8450002d9a53e310a1443614f4005413e8f31246139ca80000025e081324df425b5560000c2964632b33c07301000002728623274f1bc97b80006293bac32270b2fcbaa00000861c0322a4cf9fd2d000bf24cd1327160dab3900000c2f2c63a12b83a3fdf3b0001a10d4d39d88c554f4c22000adfd56839042a69f4f3fba00a64d62a322a5c3421fb0000196c88322e90a053930009dc4dea3a0f35b653d0b87406b43e2532357a7712c10002db8b1d3a052baa2d561de20a4c1bcb312d79883d2000005b2e2539333fab2c9c7c6c0000028e328401ab13430005b3148f3a0ce50f476c3e260c355294390a9f639fe0e00101e5a2bf324daf8242520000001e0b41019cef1dba180e34028ed6a039018a0c4092045c099996f53a037afa87bdd0ce0c5dd4fb390333d8242113d502b6623b3232e663e7c300002f4d7f32a857c9b986000be5f07e322be432833f00051223573235b6418bc900009894523a01191a09bdfa00063fbd9f3a012e2a4d79260008771082391179237adc68440b7e6ca93269d57a4088000c515cd039153b43d630197b001ad4053228210604a7000b94459d3229561b2f22000bd0c4be32b911de96b000096b03c632277d0a7784000017e2893273362bc8ad000a4b3fbb312d79883d200004461c2231f5904616e000070017223901ce692d85d0ef08f47ffe322a08981ad40005cc9a453a054440fd31100006eb2c8b3a23d6a64b3bd30000781b5b3a0bdb2f3e28709b00657a0d322967cd231a0009d4263c322f67162a2e0005e7fbfe3a45aeba54a0a7000b85f152322b176c3a44000b1856dd3a21c930528009ac00014c3d4107f67b64c9c589c50401050032abab044e560002bf5a793a0b2f4987b940000820a29032270498fbef0002f7e7c439226a8e88a3cc460000f5e03a2402e3036eac0005d9ce71322ced9fcec700017fe73f411a60757d070cf2000ab2c07232356b3cedf30009eaec2c3902a8c3eef4bdf10536bab93b0bb897ffdea5290c6802073a18b53e98fae366011911c73269bcd814a600011eabad322810fb4216000a291784390398664f09f3a70bfefcb63a02ba5971f628d600b1e4593910bb4b0ad579260c67ee413a023175f84aaf00009d197a3a0985cb050e8a7602c0dea33242a4c825f3000003ff353229770747e8000b1fffae3a04ccd605d8bb0007f05a5b3a0149cead855e000c6803193a2e8727771b48ff0a6de00d312d79883d200001f8aefb326ac4fd8cd7000babb53239bea2a1819f49e20bcfaeef322f57dc056000056745ac3226fde45ecf000009413d322a5b638438000c0e77ca3a3e9c85ae3d7ea606f90fb43118a5981233000a5caff431766e2fc0f63402ce87dc3a14ae70a14d97000c01a96d39122116f028465a0bcfaef2322f57dc056000088ae0f032dc59a05317000b19584b3a172396df85cd780544f49932270b2fcbaa00006b60b33a012db205b6b800056745ad3227b12bf263000b5d01403a075ec9e69360a30b4fface32372b4625be0000f97b5f4207212ca7732656000b0f10aa3905907cb88de7b40400b0ad3271e1f57a1900095fdb52323513db4e6a000c1afa8f393f9808a3ac5731003ada48322f57dc05600000004065422a566631615bb5b800004440324c2a9c9ef300000b6e9c322c91ef7fa50004f62d423944d0e9914ca00406589ac2324a872ada7400003bec053a044295fed86f030644d56432356a6c503000079d46e43b09e6cb6ea4eff2086aa23c3a2af736c9560500063336033a08ba03e4cd19000c22a54d322811cbdfd90003b30853322d858bd6a40001c9c26a322a5b638438000b8d5454322a4cf9fd2d000a2a713532b5f4a848f00000204dbe32912d43f9cc0009e8ae443148c27395000009e8e55c3148c273950000001113e9322b8da1817900018197123a04d45bf4dc3ccc06da451e31020a1f6a7900034a9b4d3a098577d4ae7c000bdb20ed39a5c06a979d684101572437410140500ad528f01f02a835dc322966fc85570003f3970d3241127f3e350005e804de323b2b84f0b5000a22632a3a070aeb2b01585705e8cc8a391930514375200001add14c324df5c6f0dc000c15185432495f5531120001f11b9342018e78b1397ed9000a60083439012d908be563250545776439277c14d8cc4f7c0b358554390843669f6bb4e100fb054b324bfe9b57d10006e346b04104dca0ca6af1c8c50567493a3226fde45ecf000891af2732285f3075550001828d41322fbe7dbf9800092dea034103810f6985c940000a66ea4f32b4e297a855000c517d543259f4be52f500020717fc3a0cc93f03899a000c672eca3358e0ba35b3000c2258b5322811cbdfd90000131b163a06bdd7efdb2a0008127dca313691d6afc0000124a56e322ac972a1cf0009eb1fb43a0159195a41640003b356533266b5a26a77000b103ee939064fe25927e76f039acc16322701a401500006107c5b310345b9830c0009fed9d7323a40f7389b000b61a0ae322beadb349d0002be170b39083b2ffef84aeb0ba7419d3a0e35fa931a0000001f7926329d5411b6b40004a3dbe83b1e7053e20c7ba508feed23324ba179dcbe15099d6cf53a01e664745bc5020b55d8d0323c28f4989a00059174363b072f2bcf9e07bb005e825832285f3075550009f5e22432c17732f229000057c1e2323ba81b62bc000bf6e3fc312d79883d2000056747933226fde45ecf0007016e073226e74eb845000c6804913a2ca0e536ab5d910b8f6b563a039bbf383c98dd0b32ab86322beadb349d000207a211322f7720ecbf0004b4a830390149c21822556400011e7732357a7712c1000013e14732dccdbd29320000eda10c392ea24f4ea033780c68020b3a3348659e826a4a0c14ddc033ed1b17a818340000721f3229596991f000003558e23a04c43bf509890003da1243391069d0b428cac30a410b2139027cae0e8d70d5000dbfc53a05b7b60044e80005aefea23226e74eb84500006145fa32bb77a26489000567493c3226fde45ecf0000233c193904bb4ee9020ecf0c51976739012f0b2ba3a0000b90564932dc877e70890009fe54073902114e1a1519300b2a91993a0104ae509d09000687a60e32d41d81fd4800078f11223251b4632f30000c67d1d73a1e66a2ba70a8000c5268cd3a13a79dca1b67000a78f227390b3c83fe966f7c0a59c3d0322685433432000c66bb1d3ab9fb739325a5000a326b7132730570882000003499fc32ac97e6125400055d1385322f67e6c7f100019ccdb439d88c554f4c2200015704ba322a6b6850e80005674b133226fde45ecf0009cd90283902f25cac4379e4000913ab327db8ecc83c0000e6ba96322a6c38eeab00002ff8bd3ac38f22a3e60a0c0b17a27e3901af152105307305488c9c32f1e2a3064500048d38093a025f94052c290000c52e4a32b433aab01c0003b031e93b0ba92c6de0f24c093898c9323b9b11868c000597bbcf42397f022f767c7a7c0000002489010000000000000000000000000000004d070a5197895200000000000000000000000000000054070a5bd9006d6ddd63ddd4a2157b38227c662e6d7952854772e2f3579dfb6bbe6a81973055070a5bda000709fab9fd95a8a0c200e329921b1b8d6800f788144e4daa7e50acde6057fc94070a5bdb008ffe7c315ac533335a182ac2b299acffe92810b4d5a6f3392b44c18bbac8e384070a5bdc0000f66c0a665811bd0cc14d319339151f8f59ef9ce4205ce2da326a8fbcde8512070a5bdd009fed2925bae3fdcc8e876587ae7d84a49bb7b05a241c01ca8c641ccb28e27fa1070a5bde0056a07be9babf358e6939609d16bdaaf25d0d7d5ece9e955b7e61e0fcbbc512a3070a5bdf0009900c19f7270a23399e2a1cd7a18623ba071b7d024853be75ac912159ebf289070a5be000bd852a8b80acd256fd209287595c4a4b487c82d16bac6a306b9ade6148f8ffcc070a5be1009982bf903474e958933dada56128d7003252a71340d03bd2a93baa1f47f7f4cb070a5be200377be92ff2e22a80607b9682548b57db6a1ff7b4e853f81d79b1e06a8464fc97070a5be30061bd1f1b93743d45db854d7f211309f3eff323ee728152b1b97d956f2c4d3823070a5be4009290725faece0b8804c81b21f62a92b06acf54e28ffe8bdf870aa2ddb7e09130070a5be500697b1c38d6b9582d41b8adf4a41a0ff6c20e15bc81c3899db7a61cc594f448f6070a5be6002efa65cb2ac822400156a605ab9a435e1d3d278e825efa3f2435cfdf652bedf5070a5be700c162bcb089f06c0cfc7f00e2e4863e2badd3e086db45acf08b852b4e5916208f070a5be800d8839e92cd3f6b32e5db6dc273e928e88c3fa42e6aaf46d0798640745bda4712070a5be90074e96903c0088ba0a33ba5f1f3b0df345dcbf84d5a1ab344b56961964430218f070a5bea000f4ffcffbdcf3ede64895966ff0004b664165bbe0c5ac5877fa9a2004cf4e991070a5beb00f9226300947636f58fbbfcc0b2ea48fe6b8926a42fad01ad8bf17222532377b3070a5bec00144e5d780f5e8e63ab026594b2b646aaf4331c29c2aa3a98a8b2a2232586bbf9070a5bed0042c638e91fae55af2f7162c90be63d81e7d2a8d0c9c9b0e188566b1ef0f6d801070a5bee00f856242dda26db04d3bde02025e471aad0ddd5e990d3e0d56f0e963503c03ac4070a5bef005b5ecbc123ea027d3fd8fe859b92ea983a6bb09d02926cbced73163d353188b6070a5bf000c3574ca2d0b213f6580d8f2a4db53f9cf00cf62bc1cbf37bb5ee4aee314f7fb5070a5bf100baa903bbb707977a5dd902a116c217f00a5f5a3ebb4054c9b5912274d5d1e3b4070a5bf20013c90febf653fb0348d9699ddd7d8947d59ddb1bbc32035985a47cbb24a2be60070a5d68007ac4b937f9565187f243c181707b57a59fd1f5f39987b15b33419a63ca72da01070a5d690072d1ade4dba274d2e1ad9455a658036f58bb8e6949f61b8e20420ec2e9d61ec2070a5d6a007188ebb23df5cdde059cc951110a7f73d528063c1605776c43b0eb5770d32928070a5d6b007c0fdbe358890e7bbabd96af73caed7804a97cba21783a050b88674cbb567a65070a5d6c006b4c52b358482aecc9d32e881bc54015fdf330b2c8e9dc2eec54074d684dd39d070a5d6d00b94b9d12fd4bcb411a316ffe858dd56ac6911d118663cc99fb84eafdf7095937070a5d6e00f1c1ccb97fc759e38fa46bed43b4f3be2f317cc73ede6e3143f23eb853e06b7e070a5d6f00e13d13242407f1de4f35d773c34319ff16b3689e44ceed365f6cd63680c3d030070a5d70008c29eb8041bc65d83ab58c2da3211baf91181436a3b63841ad747622faad981f070a5d710090303b47416508494b02ef5bc09d8c5ebd82aeb714ab5dbdb5d3ec2daa8ee5a9070a5d720031cc2923a8c7151887f9ba4ecf0200e239f34e1069e9f965997ddf0cb53b5d22070a5d7300f91229b9061141167361f7434fd4b72bf0d3e96e780c07a772f229e8b92ebf3a070a5d74006b4df17ac3c6cf19bd6c9629fbf2da722dc1170911a1773e6e7893135064f1c9070a5d750097ca97d150a2073e39dc94f8b0d9a9a6f88420fb532854aca77603f1675f37eb070a5d76008582c2e971c1b4a19f2f3fd9c3f4a89e36894a60abae8c4c8b2522027cb15338070a5d7700dcb00fc263f4cc921eee1c92673d6eea3d0b2ef62973104e5e8578ff34684204070a5d78009246e2bfeaa6057a6094f47c3fb865dae8b3c37a14580fcd3b1077175be4052d070a5d79003365ee5d0809baa3b40b430e00295269ac70b3d8a7cf9a7e1495ab27bf27b3c4070a5d7a00c458c29d92e8a8f8794f6feb4cec8fa54472c8b3c3a3a3a3a25ff76f657a08c1070a5d7b00ee18964a3e32fa71b872c951d43e130de1401309ce478cc0b5de678fbaac113e070a5d7c00c90a52fbf38019fafbac330dc28cea28f37ff93d139af7db00f9437ad1c0b042070a5d7d00fafa57de19eba9f28dd376ca2a6536fd93e85c7d833340801e060b5d68959def070a5d7e007069c6eb8fb74dc61c32f9a7a4ee845ea4d2ffd3e64d411e3bd60b72cead5e37070a5d7f00022beaa918accdae2feec5f9237a2ee83d4b82f265ce10a24d772774a1a42400070a5d800062a78e575d55449a5c44085e8d183504e8423d19c22de694a52e50bc5bb1b082070a5d81008cbd7b1bf67f3d8bec0a0414099c3121ec834fc71571065f15eae86df2650ffa070a5f4600d4850de787c7f43b65848bd2704a33411ddaac19bbe343c76f36fbb226c09f7c070a5f47008bd4f9a36128af6473be2cc7f3e6185df45d207b9eb375c4b3896769bb7d9395070a5f4800f8f2044fea300a28e9baf449e9908308b7cf41cc3c94207c7c2cddbd80694a21070a5f490095956db16a70150ea5cc2dce87bcb0bd142a8de3ab43b76e1be7d05b6be6ea09070a5f4a00023c43e4072d5232341c2f8f7105118e040f75b94e8d8514d1897c0d4cf8f374070a5f4b00cb2355cd0e3da87b2fca7f1e10bf45ea7ff04b6823728cfbf3ef28ed50b1b9ea070a5f4c00d0766acdca630024fd9e93dc0faff11e4088f53382b9ab594a3e0216fcf8dcf6070a5f4d00d4af8767239c07c84c2d913447ffbbdd2eb208a6442e2b73b1479ef8052f1c10070a5f4e001031fc14a65bffde9d99bd4217249e0702e3c1292a363dfef4d0df3c87f646c9070a519800040dfcda364264a10250a8351d85760e5f1c792e1b9db6bc5bd1de2942992163070a51990010a917a1b1b18c06b4185c56a71d7324185a40157e4946c2a220c1b8cc6b8125070a519a009143965d07019d59398f22ebc20bd7ec5ec20ce33528047b5f786329a4d37a16070a519b006c01d762f30c93b4c3013d4ecf8a9949439a474ccfe9fa2ff1355ca2abf0a303070a519c00d96f7c034e15beac5793b085f44ef0651af9a93a000a7a4b76b41b951836d264070a519d002b08d63b52cfb758f53ec40ed6b8336fec91385f9314120a481870e9ecb29ea4070a519e0082c62bde8e27cb11b1830685f112856273ecee17840f761b3c1f8d999d49d6ca070a519f00e18edf2dbd13501903870e36b56b5a567aab1cd0cef198c4fba92c2c834c4641070a51a000ec127887571a1cbed8589954e486bafced260a12cc4d64270eedbebc8bb3ad5a070a51a100007808b24cfac2044ffcedf329826092efb7dad9071a3386e34667a8c6e207a9070a51a200ecc041d8572ec21390650cd1cac935a8de9b47e24097071cd8d867f1cbe5db6f070a51a300584739c60fe19e4be6127ae4241430e63758e1b8dd181be3ec1127561e5deeaf070a51a400561f4aaa956190fe717f30152dea97e9a79ccd8f8c5b2641e36bc5abf578303a070a51a50083dd8255250064311b6cdc7447bb2fe2af5734fd9a740e2f7bd7c8ece9a85ad3070a51a600b6a3cc5e298d2d526ba7d457f291f82e1bc23374e50dcd30e89039febcddf767070a51a70008508bc8161c992ddf482fdb73912e60937b8b8276e7befbdd4be54eb506398c070a51a800bbeabe7a3667da4b51a8b94b8ed9a3fcbdbd5b26bde1d58060fe49dfabc0fafa070a5bf7004a280ec902ab384c80401403f27f293f9fb9b64f3bf0312ffb380ba16b32fb25070a5bf8006d20d1f212370912efa1d590db2e560c18886f5c2d74444b3782ff5b0ad86960070a5bf900e35b3c32ee3db94bb7360466f310a021147325bef615b7ebfd4b244046dddee4070a5bfa001e0dbc9f581223db8c0bc92de7823a7c60f3f4c87062364a4f359461f49578e4070a51b489520000000000000000000000000000005404cd9b8b194faed20b243cd9d10b00a0dba8c0fbbba183fffffffffffffffffffffffff95aa3ba0c094696d112972607071247ed9ddf00000000000000000000000006f50b180a44533df10180ffffffffffffffffffffffff8346000000000000c05cdff5d0a500000a44a69449fd6824ad9b95702b410a44a695b10248edd51289e8a7cca89bb648ee14afe9383b6137a30055ca673903bbd58314d3350055ca683913dab918c8fcd300ae069b095b00ae069c29214b5a810600b1fc8b1902388200b33c1c11aa8b00b1e78621014b1f0d0a3f8c060b130c6808fa2102556bc106e2e8ac71060eba4d771d5f2580c4f55af0d806dfe728aa240000000000000023899629915b43fae0e5eb9edb06dfeb88a29854d091fffffffffffffffffffffffff8446d0306dfe72941049f5e4e0000018806e2e8ad1109990c6786d379435fd717081259938d77160532a9ed0c6786d4990682c5a4e34ebeb12fb14d5983e8634a22c20a0c36b9b4792cca63e4bacf5b5cd10324d2a8ac2b0c36b9b5990477339d209eab7ccbf87b6165a05c39e4150602831e4f4202fb6929df376a5102831e504102fbe64019dd65350b8e7d874904e6167b4922d798500bd2b8504918650127cc3dc800000c6807c14a1b1ae4d6e2ef5000000be4a3da4902b5e3af16b18800000b8220b7030afcb38b4a04e6167b4922d7985009e8ae590901022d52a01af3d745022d52a119f419330775cf5e4155fbafdc33c988000a21c72842d1f3c1295de116ad0000015639711dee449a58b305c673c01924259a000f0f3d490193f24bd6d41100000ba74de54901040ac1d852a1a41f0000215041e9251466e89f46320c1608bd03000021c64101c477b9126962cf077630254140ea3a16c0959bba009dc7e9030c6803331303050bc7f393427672bb4157efc3a90a38ff6d291b6103f4190a38ff72f106e1000000000000000855b5b3b66a0000000000000000000000005b8d7f0a3900fd99a05183cfcfaddf218bfb3cdd50c9259c7c08100a3900fe614b8f82b2fea145776931c3580c5ea8a2030c02aebb81c86d6ea56a1115b76e77ff60a3bd7b2f0b98862d893c0000000000000000000000000000000004e468a05103830e756d6e90c1f6840a60470f4921aa81897338b5df6b04c7e4bf5203830e756d6e90c1f68401b401364a21aa81897338b5df6b000f7641490193f24bd6d4110000000f76423a16148d3144922e041f12ecf101810000000000000000000000007cb9ffffffffffffffecf0504b95f11604258eaf5909cdc071e8a2b2a49315ac04258eb0a13b0f43acedbe1a5c683f1d1926ba5391134fa7e00153fa441a2ceb660153fa4539041533775289600153fa46110100015408bc3138682b16a000015408bd5105207a0234ee0d634c000155a137390846e94ae9209502d98b76096b02d98b772914e31dae59039809cc298c39e3218a03980c01292a115dbd4202d9a56e11d83c0542e1f3494efbcb440149940000084b25ca0305c64e50310156768521d40c23b1e742023b4af5ee4800000052ea914a4ef98ffa61d1d121d404cc8e927102a44d95485a4cad0f075164febf04cc81968903feaed71e34638bc44dfb75189dec1a4604c272d4aa0f000000000000000ecec162a8f52c310118b096c304c272d5aa4639526cd70000000000000000000000008c1859f204c272d6410109a3b00000005804cc8e93190186a004cc819731024c57b536340c2cf5c281017c1d7b9875cea9b016f67a025c06d20c2cf5c3992dd01d70de3fd1996b3392218d84b5c6b5506f0c2cf5c481017471f7d38aaa339b93033f17148a8e0c2cf5c5992d26fc22f757aa27d0f6ecadb03b20fff250bd05918767095205918768290fa9a8ac5b05a4deda31058160c9fc6305ae0b3a3102da016d8e4f0597bbf12a04cbcd780d0c680a272a0aa6d5da510c680a28290fa9a8ac5b0b3dc6c70b01072b4fa5211e3a627f0803977d13074a00d1e36022030176dd00d1e3614902b247fa7757ee000009a4f8df090103f40694090103f40695419f325f4a4e0a91d903f40696420b9163762a3984a703f406971117d703f5ca7e5918babe0c3f8264355d065f03f5ca7f5901cd18a7d5250e029941030b81673a09010c680909a2974dfe99c61e93bc863fc8091f8c6948f693b58e03cfea0509020c54a13f030000928a1913ec630000928b3a01d02222f7ee1f0000928c09620000939829900127da480000939949045f1622cf1cb4925c02cef47819a71b5b02cef72d39086727102ac37109c0754f090106534d6a8902cb15f25e1bd992a6be8194dc6fc75d310652ee338937000000000000000000000000000000000c6807dc425aa86fd5c7f81c5c0b2910b641b432ebf0af45b1420c4b625842b432ebf0af45b1420ac1147841eb586625c40c51cc07782a0142eb586625c40c51cc005502ae19766e41005502af3a0ad21d9f971e8d005502b0096c005506dc299139616b28005506dd49046e64158b4d62942c085da0520901085e61ef090100001f3e22138ce20007a8a0941902bb740c43d98f03003b544a21047eaa720c5480a1030b1216cf0b010b2b03d421016d63950775e4de191f5c36074fafaf198a956c06b5d9d91a21a32409e1e459110fc201af5d8e03029b178f194349820c5ec3d8030bac5edf0304cd9c331950755d03d46f17210f91b3590544110e0309a8606522015d537b029ae042210d9d2f72000f851e0305f312ea81ffffffffffffffffffffffffff9da130086ab5a221037bfcd300f1d782194c4b400046083422037bfcd30b0b04e9030b46da6c1a1afa8a0a6742bc22017b46330935bbc6030000219f2137b6a3a401b7ada42202686ee80c6022162101c9c38004c2732f211bdeacda0acb35850305942c2b0300274627194c3af209cd02c81a65f3be001994a919124c0703ff7866211a4fba0a00aceddf1a4c4b4004c7e4ea210f4327ed0a293ba51a2c88020b0ae8c01a75512b07cbf31503036e1acb220129bdd20153fa591a2ceb6602f7eb110300f0aa8f220214a5730102ee0d03025b4ddc0307cebd8d03008ff8922239a47ca60092d30f221dcd6500084bb4c6030687a92f030c67de5919976e6d000092a91913ec6309fde86f030a854f3729010becb92609f83ffd123cb109e1e2c0210301632b000021d11939565500fa05281a74a37b086b56641997a63c00199762220177c8d70a32db7e1a4349820ae031ae1a32442d0c643349030a3bc80019e287c5044b21fa0304b4d64b03088b1ed203034a043a1a53e83a09c179bd21018722430017918721030c4d520b258ace030b7e946d19404db30ac22e420306378d32030c61447913016902bf6eac1974a37b0b2076f01927192409eaf0c22120daf6fd0c680a361a1529de09e0930719a1d339086ac1f02101d42d5d076870660306706b42030c51c6f4194c4b400300f28d1917110a0c67e4af2102985e8609dafc861a1cf36b0ba6b530030018327f0309f9d264030a3bcdc41a170b070548bba821381fe6750728854a2106b5eb9908570d4f03017d0e2a030548b65519121b9c0597c0602286b4dbd405150aac03059ffcc6030339bf551a64a225058a22ed19fdd40100008330190e5aa80c2b4d42030c61447d0bf2007fc4fc030c67dfe219f8c2680c4956af190da9e809eaede21a22e0810b2107fe1a2387070c644247210b4aa8ee08e7907c190f42400829f019191895ec0c680a38220f54816e00e556a52184eb185400c2a10b220d9d2f7207750b59030c67d7d419e3a89400fbefa829012aadcac000a64da7030bf926de03005b4161030a22e712194876e303b209da0a010b90c1be0305fd9627220423714f0389a14119c93f77000040a62901b38092c8060b2df31a09c6490719cb2a0301f71ead0309f1890203056d7414210265b37404b8be370303cda4d821017b463301bb1af9030c67ee6f1a09c6490c558922030542e2442256e6e06c0c1e31270305fcd106210171f8530a09848d21030be47c05d483fd1ab4b3790bed89a21a0f424003bd2b6a19c966870400b3d20307711d662106916061007867af210423714f0b770726210129bdd202a8ec65030c23d02c0303a7fd1421037248d80ae580131a365cd807582e02192ceb66080621c5030b6353d31a0933fa0ba997881a2778340b14abe3030087fd6f2202a5692a0687ac4c2a010becb926002538d4030b209e8b030c38c9e10300147a2a210125a6100bd0d3f1030601f16219f0e4250c5e3ab31a64a2250c6803622102a5692a09f5f7f522138ce2000ba3650021012657db0b6f9f091a61dcbc04083fe21ab85abd079e007e21370b6ea00a69dcd21a0933fa0c680a3c030c680a3d030b9555fb1a2ffcfb0583c73d19a3f3980c67d4e61b08f6910c5b016d2109404e43098895ac03005b096503072296d01a3ca16d0aed19351a4c4b400c680920030007a0372a012aadcac0010e020719277834095fa58203080631ee03099761c11917f6de057dee3d0304c25216220f20476b09d445bc0300b1e84c2101542d7f0ada781d03005502ec19766e41002a6e1711d5c50ad615fa198b00e40c408f11030b60bd1c030b5511b521015d537b0693d68a212050fd28005483bd192fbf8f0572d34e1aaee69a090adbde03000024ee220201652e03420afc1938173909f9c6061a1735df0c6445fd1332bb0c4d126d03074fcb7b2102fbd5750c59d5082101876df40a15d24c1923cdd20bc86bf0210b4022e101a437d60a0109a10adf19204a9502cef4d01104900c680a400305865b30222791efee03798fec2101dfd52d0b33ecad03023a9b01030b54f6cd19d4b5300a2a8e9221012c9fdd01bba05b22032dab8c03fa370921083faf3f0bf8ff1703054757bf0303971d731953e83a09dd5306d1026cfffffffffffeaa06cbc6293affffffffffffaca8f0a9d0b309dd5308b9019945ca261fffffffffffffffffffdf6d885ca3d3875a09ec7a50b120fd2ed5c663fffffffffffffffffd5fe2ef583868390c44f30bb1014c03a6c93dffffffffffffffffffe59395970c4a2409e7ef9ab90176fc97a9905cffffffffffffffffe22811d7b48ed4fc0c4d079b030548b67542c9e3d2c58796218d056816ea59037bd927138600d49b4d90054da50d09270bcfaf66030a46e7f709010a4c1c3509010c5bd888090109dd531342209277a35c2c78a60b9aea8741209277a35c2c78a600fbefbcc99c000000000888a7d3486ee8fc000000000022acbedefb5f5e00fbefbd090100fbefbec21b12dafbfdd0c316fffffffffffffef05a67c16a75940000010863a35316a253dbddd58131cd890c451d92ba08a4df4daa4772ffffffffffffffffa925507d569c417e0c2e5ba34b2c0084229a1569df370c5ad8644b0ad5346741605a9e9e0c2e5badc20208bd18cfd592ddffffffffffffffeb8fad8f6a3a87d0bf088a0e048189944a67fd8887d4068d29134fc834980888d993890cffffffffffffffffffffede8081952df0c5d6a5e930db4fce241dd331254b45955e759b9906c9303d46f36c96100000000001de9d0a296be1400000000000716c5b3a2c19a03d46f38c201698cbb5c309527fffffffffffffff1d706c6154911e07f0c59b2efba1a61815fe4c121fffffffffffffffef77fefeff0aa5724042b6310c2014443fe6005c4b2fffffffffffffff34cd852b7ebecc0bc0c3c7a4faa14c2b90b47ffffffffffffffffffff2fd9791c6c700c5f9f89ba0ae726d98d041bffffffffffffffff92af5393f35e5c3d00906feb1903cd60009027a141053b66e17d45c8c7008ff8c42239a84a060c60fd6b29056986fc3e0c60fd6c29109c5d155b001a667129109c5d155b022d7a9a29056986fc3e04c2642a69029cd0dc9601befc844e95506604c25506891a99f2e294e69eec28fa1a6b7c16767aa104c2524fc1010000010000000000000000fcb116aeffa3332d33f00b0a04c25250aa7433e70f1b0000000000000000000000000000000006ff262b4162ebbefa000020c504c2642b11072404c255073148c27394fff2010f3865030ba64f0709010bb2404f090101053fb3030a64e88f030c68093e030a15fd4e19219c8d07af16c303029b17cb1a42fbfa0c68065a1a06a0980b93a5fd030c68093f0304cd9fb31ac47e710a0352ab1b0c4033060647131a4c4b400c680a59030c68025a1993c4db089ab9a3030b72b260191557fb0c675c0f29010bfbaba90574fbde1a4fc54f029b1a471acb2d600c67e71a030b4cedcd19b8848c0a854f6d2a010bfbaba9086b56cd1a97971d0a629a691942fbfa09f46490191ed0a907209e531a5b8d7f0b40a2c7030a38ffd6195b8d7f0b0966290309f70c441b155dc209cdb28a1a26f6c80ac4d56919debe710c68025b1a06a0980b0b3aed1a4d8e300b0374da1a2ec1ec0548b6ac1a121c1b0c680383198006490a6782ca1a01d3e80a74b18d130c16058bcb9111519008ce49311176c70589dffd210326ced0058bcb9311cf840a46cf031ac96a80022d539f215b6684f709f66f8b1b155dc20c526ed4191e65060b437916030b3cbdef19f8c4c00871fb5b1990b19f0c680a5c0303a7fd3922036a2d9b0903f15e1a93c4db081258dc030b17f0ff1a43236f08cddc0a22026ab6f00a0395bb1a12d6c40a4684f91a20807006dfec2219bb6a710c649e170309851e40030c680a5e030a3e1f4e2102c677480a0f266c1a23d3540bf2a29f030a41b3ba1b0c40330c67fd060305865b6f2127939b3707ab051c030c6806663357f30ffacdaf09e1e3004a02bbc099d5fb6d81280bc3a2e5030a4453cf41c05cdff5d0a500000c680667030bf2a48303005483f3192fbf8f005483f41a2fbf8d005483f511010f0054953531023d3340b4fa00549536310236c03d4e720c50989e0a080b243d32030c23c025090804b56839c2d6dd7ab17898f622ffffffffffffffff2fe802be26151a7504b5683aca02a36f4789fa589414fffffffffffffffadebcacb20b1ca37004cd9cb28952ffffffffffffffffab92170ec0b4ed7e04d06768190364bc0c5f584e0304b56840c99897a77f8874d8e4a400000000000000004f0f3a878a5763b104b56841d105e853ffcd7b1bd168c2000000000000000637c4cedc5e64372e04b56842895a00000000000005e853ffcd7b1bd168c204ccbf0331367f0f4bfb9d04b56849c904fbb05e29a93b2adf00000000000000017bdabc4ad2329b4e04b5684ac90fa55fc849c633e2170000000000000009617f4a280cc9c31b04b5684b89970000000000000001f4abf90938c67c4304d0f752190331710c09470709020c680a6a030c6808193b4139ff1553628200d0e46c3903fa9a0613d57700d1e3c34902cd764c1a0ed7dc560c68081b030c5e8ed2030c680a6d3b4139ff1553628205876e804119d3a06ac81297150748c19e390fea68184f55de0afdf701110f0f0bdbbf2609010c5fc9b8098c0c34d7b909030bd65d4609010b8f018c09a00c41d03109c80ba8fff709910bcff8da09010bbb02fd09a00bcff8dd095a0c160cfd09010c160cfe09c80b859b3d09040ba8f73809a50c22a7d009f90bdbbf2909640b4ba04e09020c2adcc209780bd65d4b09960ba8f73a09010c22fb4b09010c22a7d709010bc564d311012d0b859b3f098c0bdde48509010c5fc9ba09010c41d03709010c2adccf09010c3f69dc09780c34d7c509dc0bcff30909010b4ba05009d20bd00885095a0bcff30a095a0bbb030309010bd9f60609640b8f019409030bdde48809780b72178909010c22fb5309a00c3f69de09010bd9f60b09020bd0088809010b72178a09cd0bc564d709010ba90003090101b402314a21aa81897338b5df6b01b40232390d74cd588d20000c680822030903f17e1a91ae9e0c68094e313086afcfb4f50903f18259045b800d5c97ce6b72ff2d0903f183410f87ac9ab7364f710651176c390c4611e277011400bc17a53907b7a66cca943300bc17a641265ab3c59e3f772100bc0e576964988e2f9ca76382faf3a116e900bc0e584903eb051ef2a61f90a200b1e8a121014b1f0d00bc149a6964988e2f9ca76382faf3a116e90c68095159015c76b8474f383b7749e808e0734169fe412349a007b6375cbbe79c4300bc14a1590182b58557823d4bdad23500bc14a241312772e8ee420f780a3f945639011648c153fbfb0c68082559049f6505903d636cf816d20a3f8ca40b1300bc17ab694e7ca90becece971fd4fdc2b1d065117724902706925fa818562160c68095319191c050c6809542102556bc100b1e54f3910786ceaf8a97f0a3f8ca6590d32a56f7537d7531ed9f9004c69d14101192d1069581b94004c69d209330bf1cd0b09010bf6e4a809010c09473741bfc0251dd96f547a04d01b80c95a0000000000000000000000000000000000000000000000000575ababd1027100000000000000000000000000000000003a6925fc60e0cb057f68a4413b5870af75813c370b243d48b12f47d6f93de7d412d100000000006c8de48162dbfebe057fca93d1027100000000000000000000000000000000000000000000000004d01b83c9530000000000000000000000000000000000000000000000000c5f5872a9438b05bb3e6e93dd000000000021ed231b1b090ac40c67f860a90301b8236a6237e80000000003867715cb273eb69e0c67c289b10c1127813160048abb000000000667b65640bdebec310c23c0455103c530c2b6a7500687aa0575a294c95300000000000000000000000000000000000808ad477f33fb05f3ce5fc99500000000000000000000000000000000000bbcd5e2e44dff0575a3a1c95a00000000000000000000000000000000396e5a6e245acc860b4cee0db111ce59aaf96c4721660000000001a672584024dfb12f0019fb5f1106910019fb601106670b8e452049056bc75e2d631000000b7c17ab4a056bc75e2d631000000a5bbc6603054bb4ede9440000000000000000000000003d74fffffffffffffff69b8ecd66ab61054e942d5901bbcf019b03df3c7f5ef7054e942ea10a6b3d75f2eefc6aa202326efd8f51d74b6abe8c00002156412b85e64d385c77b302db8c563905bb61e44c980004b58913421a67835a763b5b6403d46f524201698cbb5c30952801e36ec70309a4f954391fd7ab9a6e37eb0046088439514dc947af5000000021a342051164cdb739473101b7aea939380d19109f100004c273d34202874b1e2668585904079c00391aa4cb2630f102036e1b56391b0028e44b00000153fb38390415337752896002f689273904bd39622592f2009038bf41053b66e17d45c8c7002f56bc4102b42e2f31b30b910574fc0d39072d8e0e5b01ac029b1abf391292226e1c5da00a21c7ed390b74c7f337512c000092dc3a01d02222f7ee1f00fa0594390aa87bee538000001997f13922482f38a444ea09dd535039019945ca26200001af997c030a38fff6390855b5b3b66a000b7e8cd83a05d7359402c0000300f3143a0217907aa9c46402db89a7410591d35e956cb2000548bc4542051803f39d8e974200ad94b403004b24863af5a61df9971b9404b2453f0302009a06390880740a6b53b200009e8e39017ecd4caaa38408ce4959312d694efcb4000155a23b3102183722066e0589e0193a491f01fe8f8e0705d043e9410b1db9419116800000fbf00e421b12dafbfdd0c31705fd992e3a03e28a86bcb5590597185f392e7a36d85e9d05054bb4f93a0964713299549f0c680524420570a9ec4ff40000041f14093a130fafb46a0eea0087fdc3393db799f395cba60978133103097545af41015c2a7b13fd00000000215731343ab826e82908cddc4839382f51fa27dfab000871f0411b12dafbfdd0c317010e033b3a03947134637b48000024f131122f43d0889706dfec2d3a1100df58f432a904c252ae4101601cdf0989b552005503383a0ad21d9f971e8d0054f28a31689786263000000024f2392ebbb29f84fa31072eabf33a243dbe4b2ae6a30a3e1f9a3a4079d386312e3102cef7e3293abb90b98001bba0d3394f9c26095777f203fa37b83abf35527b40a1e200ae0745490452103a5bf1b02e7f00ae074f095b00bc0f2d490452103a5bf1b02e7f0368c5df0901000040fe422a566631615bb5b8022d53e21af3d7450313f97a1a1e6506000040ff421f8503008a9ac636022d53e319f4193301b4028f4a21aa81897338b5df6b03940b233a12c6b337e1696b022d5696215a90d0ca0313f97b411b2e51a2b6e9dc56000f107d490193f24bd6d411000003940b24490121ca814a8dfd200002649cc51176240283205e4202fb6929df376a51000041002901645ec4560052ebc34a4ef98ffa61d1d121d40283205f4102fbe64019dd653503940b2549076b9d4ab2674d200002649cc611762401b402904a21aa81897338b5df6b01b40291390d74cd588d200000d1e4784902cd764c1a0ed7dc56002fc8fc4270f5f9d3e35fef0d0b835c84410142001cdc61ef77028320604102fbe64019dd65350052ebc42156e6e06c0b835c85410142001cdc61ef77000f77863a16148d3144922e022d53e6215b6684f70394b1ec22047eaa720030075f31144b3e47de000394b1ed490649d2c967d95000000052ebc54a4ef98ffa61d1d121d4000041012901b38092c800d1e4794902b247fa7757ee0000000f7787490193f24bd6d411000000d1e47a22030176dd0b835c86320f30e478b53502649cc73a11d560af29644a003007604270f5f9d3e35fef0d08d99f3919aee69a01aea5494207a8c34d91966e190c527b021140000b835c89320f30e478b5350b835c8a410142001cdc61ef77029b1adee9b2000000000000001292226e1c5d9fffffffffffffffffffffff34d2a002a03ab89910317b59202b2d6e21d33d0732911ead5ea68a02a03ab96107a49cf3be6f948543b4ccc60542e2b6421cb6f85fd2e7522305439e7c7972986ad9ec2171280133565bc1183405439e7e39aad11b19a6df110197db7a030300f320c9d80000000000002671bf58283800000000001ec0b7646c9f9b0300f322ba0217907aa9c463ffffffffffffffffeb0565f44b7d60000304746fba01d6319aea5c25ffffffffffffffffed94ee172678145809f94876b234709d919f80fffffffffffffffffdf222e716e36a6d0c512557b20cee422dc8bdffffffffffffffffff7e54f60e21e13d0030076631144b3e47de00003007674270f5f9d3e35fef0d0052ebc74a4ef98ffa61d1d121d40052ebc82156e6e06c00233b0e6903ba8b37847ef8c3ffc592bcb30019a07189019b7e6885e057cfd94de9a8455396707900198dc6a9030000000000000002f6e8d8c462d415303fb8cb4f001997f7aa072f4327ff0000000000000000000000000000000000198dc741071f5d130000025c00233b0f1133030019a0723116017a24a3e70446096c09010453eede09010589e04fc101fffffbfffffffffffffffc46bc87d924c806938931d1d40589e051610378b0bd195189daed0d205a0589e05211231c0ac46ae3b901c3d46bb287adcef6cd04830000006aac0d08000023570ac46ae4b901c0f8f4becece38ae623e3f0000006a030c1c0000231f0c00e4a23906d70b1e467ff10bf3e4ac3916d589b158c07c010e0342c9a7000000000000490c067e0d4700000000000a24b91278d9a9010e0344ba03947134637b47ffffffffffffffffdc1a47e1fef8c0000229c717ba03947134637b47ffffffffffffffffdc1a47e1fef8c00003971e0cc9c6000000000001fc8ccc254b6700000000001548988fb4860303971e0ec275b37816b749b66affffffffffffffffb3afd9060c1a60000bd60722c201c89324ecbf867bfffffffffffffffffed7f934dae423db03a3cc8fc2322b1eaac33cc0cfffffffffffffffffdf78fc98ec308bfa03c5d197c241bfc647074d6f20ffffffffffffffffd55ee3384505b02c01bba0fbe943000000000000004f9c26095777f1fffffffffffffffffffffcd25474021967c5990613ad4cd34479a71cf4baa64d89aa86b6ea11021967c66102e2b4482a1b2ee4eb879bf8038dbb085103e8523f4cf16f1ed2dd0b625d544a0649d2c967d950000003971e2e4275b37816b749b66b0c67dee11305f003940b8649076b9d4ab2674d20000c67edc25103e8523f4cf16f1ed2dd0c67e2224a0121ca814a8dfd20000b3335bc030548bc6daa160000000000000015fe6b958a1def7b2cf821ff360548c0a861042836d62935a138f80f16550548c0aa11795d0548bc6f3a01152fa1b7813a0548bc70a937b364758d0e8b5f112f00000000273e350000000d08d000b56b0a0fd0cafba3ad4f70e7d61fc008d000b683ee58ddd1b8c2f74c59836726c83e71df08d000b7000100035ecc00000000000000000c69eedb60a6ee1c1836839a00000a2e57af1808c13d946bf79ddf75276a1261d2e8a4010308c13d958a58f4196928a34ef1e38bf9eb6e563960a908c13d9600010064a2c900000000000000013ccd5ffdf7f0100da967dad4000132804b730c09055b19720223674047a2a8812fc88d18197409055b1a8a544052657586fb99171be9ecfa6ba5eeff09055b1b0001006b52a80000000000000001498433241b4acccd421a55860001470d47ecae08e377ed7201d1dcd6d55189793a0ee38e0ec608e377ee8a4885c9fc86ada7510bef25bf71909cfd3508e377ef0001007a995f00000000000000015503947fe177358efb0cb881000176413e64a6090324767201e00c46e709866855c283a59175090324778a4aa365bf20a7829253d7578b234b063f6b09032478000100776396000000000000000153d079eca60d3516f8003da200016c518e770208b722047201b3e0ce972f08a410243fda658d08b722058a4416ffa7197831ba6277e542ecea53978308b722060001007f46ff00000000000000015883aee435fa37cc54002db9000184b7a9f43a08e3886a7201d0385e2708b91b559228c33a9b08e3886b8a485fbde0216f13213f417922fee6b9d68708e3886c0001007acf02000000000000000155f77a5323ed060f907a6318000176e312076308bb0e1f72021c48d97beb9eeadbad85fcec3408bb0e208a534efab3eddd71418465305ccb9ceea7dd08bb0e210001006c582300000000000000014c0467b830910343bd1c33f100014a307ee20e0969582a720225910be4fb3f4c8c90bba311ca0969582b8a5489cf1ee3eb5b7f2dab62b0361a6423d70969582c0001006b1766000000000000000148fecd25bc194a292d88d184000146576fdc5402db89f8410591d35e956cb20002db89f91a24665e02db89fa094802db8c965105fb1c190a119235e19002db8c97292715d230a902db8c984119092b04800c5cf00a6db00609010a6de0d709010aa19645030313f9b01a1e65060313f9b1411b2e51a2b6e9dc560000410431011321bd066c000041052901645ec45600004106421f8503008a9ac63600004107310174f70cbeee001a672829109c5d155b09a2bbf70303f40749419f325f4a4e0a91d90045800f39cccbbc3146ce8f0776079a429fff2b067f516068077603f30308086d3e09f108086d3f09eb08086d406a7996fa92b74084cfbc0180000008086d41f10835000010ec000000f0ffffffffffffff1452f91da725adde013a80000008086d42692e8af4824003cf2d4fcc00000008086d43f1173600002a78000000f10000000000000024f02b92d0e798e0114f40000008d02cf9096e08d02cfa292554ab87ef09093f3811414a09096aaa1113960903f1c21a91ae9e0c680873030bc36da2030c0bcf6a0a010c680996030bc36da403034a0510391719c7cf8f2a0408056dc803005484943a0d22f86191843d078be0f4a205d500a31e181944dac576d7972bbb392118112d04b5893e421a2aed139a1a95d80c67f8a0c904da8c9cf14366ebf8fffffffffffffffffff429dd2cc03f540c23c0a8d10553ccb59180a60ba9e700000000000000000005ab45276bb00904ccd0ccc151b1e495bd8db569000000000000000000000000000000000c67c2cfc908d4a393227c5018f2ffffffffffffffffe5dad340290462b60c67e53a22dbab80ad0591735a09760591735b29280593239805ba423c2101ca15e405ba70301129320597c1083209b6307c9ef40c6806d71b1beb8c08cddc7722026ab6f008cddc7839382f51fa27dfab08cddc79093308cdde5231116faa2d3eba08cdde5351019551bbe22fa1be472c08ce49ab210132320508ce49ac397510d063daac210a854fb3c93600000000002a21baf2469b0a0000000000021560470250760a854fb5caf3baacc5ef4619951effffffffffffff0c52eb6bea66efa0000aed1a22ca056050d42eed289e11fffffffffffffffa9ffbf025b034674e0c5e5208c2164927047cf102a3ffffffffffffffffe9b817330b3535660afaec0fca03760813504663a0cafffffffffffffffc8a29584733bc29b60a854fb9caeace0ab76b959c539effffffffffffff153f0e0c4a77c9d999034a051ad10456fffffffffffb1e59cdfadb8c00000000000566bd9b48d92d034a051cc14c5daf3ddfd8afffffffffffffffffffb3afd83bf3f024640366358eb9349d903cb1fbb7ffffffffffffffffffcb6bc2115c695f03686a39c102aabbc81b6feccbfffffffffffffffffd55bd2c5c15dc930356e057c14957ae340c0a9462ffffffffffffffffb6b55025dc36c2f2034a0524b926a7b17bac3315ffffffffffffffffffd95f27aa471b7e076d04484a01f9e8e7ffc272bce30458953c090103d01fd809010a6c2ff10901097c00680901054140020901052e746509010548532c090103bb90c00901070018080901056c5a8d090104cda0511a0bce710c5f58d9d103919a5f7f294feaedd3ffffffffffffffffffffffffffe19f250b8eab2b09010b9516e709010394b2b222047eaa720394b2b3490649d2c967d950000005865bd0222791efee05865bd12127939b3705865bd20933058bc6fe310bd3b219ac7b058bc6ff310ce03235a917058bcc2a292e761055cd00afaeac09090087fe09c10100000f000000000000000ed816fc6e728422594141ea35008825f9810b6f402e8d0e272e8fb5d3bd03b809d60852cbbeb91faeea7320a15c982557889e0000018f8a41950000844f04d0eac819b4ad700b4cee5cd9015f85daf9d2acb27b5c9b00000000000000000000000000b4ad700bc3a9e90303fa3823e9b6ffffffffffffff40caad84bf5e1e00000000000000000000083faf3f03fa55849910a46349a418ab5b0a0224d1e45227f5c8b91703fa55856107dc4d22178d82fa15c449ac0ba762f2090106bb6a91790e6ea4e5039aa3aae12cb7bb080d0106ba30c589b700000000000000000000000000000000036e1bd8c980ffffffffffffa430d578ee330000000000048a400bccaae0036e1bdab91b0028e44afffffffffffffffffffef134a81ab02db3b40c3496a6b124c297188c93fffffffffffffffffe8f536e0937ec42038aff47b913c2ffdfc4550bffffffffffffffff39ce58e97e69b119036e1bdfb90466e443e5afa6ffffffffffffffffd3da3152f4db9069074b456fb902b18229886eb5ffffffffffffffffe4fcca7033b085ee09e8e64809010c6809b709010b8f6f2f09020b9514db090202649d383a11d560af29644a02649d391176240c5ff8cc03028320874102fbe64019dd6535000021684101b9eafba6c4c7180000216f41e9251466e89f46320000217031343ab826e82900002171096b000021d4599d0409205c3e4991d20274000021d5510889add24f258c858ff1000021d631047aedee1eba000024f4212e1850350c556aac4101b9eafba6c4c7180c556aad3101d0af4b8c110c556ab009010c556ab13929c7d10b73563f00fa0672f108f2000000000000000aa87bee537fffffffffffffffffffffffff8b5c8500fa08af99d082926bbdd876495e4d2fb6317dec698f960a00fa08b061623e58cc4f9e902575730d0a03940c773a12c6b337e1696b03940c78490121ca814a8dfd20000bcfa5c9030b1eaeee122d1a0b17c8fa120c8f0a739ef712762402db8a611a24665e0a445449127cba02649d4e117624054bb595113d75078d41db1167af041f1455117cba0c6809bc030ab89d8712105b06c715ac03072eac8011f06a0bcfa280030a7db2bb0305876ee90b720a3e1fdec96700000000000c0435e82b4c5300000000000265646355344d0a3e1fe0ba4079d386312e30fffffffffffffffd79d5c1e1172380000a3e28f4ba37135f7bd40e4bfffffffffffffffdd80ac5edac06bcfc0a47afa7ba078f75e3ec7266ffffffffffffffffb43b2f1620112bc00c3f0b9faa1ecf3267d2fffffffffffffffffffecb3c045ca24c0a528342ba01d6df573e45abffffffffffffffffed9101a146aef4fa0a46cf6809010a4b40d409010c32a294090100ae07a6094700ae07a72911ad41501500b2155a3115220ce302d900b33dd531065703ddb40d00b1e60e3910786ceaf8a97f065117b1390c4611e2770114005b121f030b82a0e009060b7194b509010bcf6882090108b8450709020c07007e09010a6c4f1a09260a5ad61f0901059188b4e95200000000000000000000000000000000000000000000000000000000059188b5e9460000000000000000000000000000000000000000000000000000000005917581e95a0000000000000000000000000000000000000000000000000000000005917585e9760000000000000000000000000000000000000000000000000000000004f2809c4902117006df65270000049e222b3b14473ca46fac5e06c5b9240a0109fd90710309fd90720309fd90730309fd9075030c67ef2a12485009f421e91158ba0c6783500309e1e370210301632b09e1e3714a02bbc099d5fb6d812809e1e37211017209e1e4f829a6e77c559009e1e4f9519a2c2bda491472f295bc09e1e4fa191f8645004608fe22037bfcd3004608ff39514dc947af50000046090009280054801e3102ed2c26c7c80054801f49443c9c50dcbd675c200b835cea410142001cdc61ef770ba5d886030458957a0901052e74bf090103d020310901097c00e409010700185909010a6c303309010548538709010541404d0901000024fae957000000000000002ebbb29f84fa30fffffffffffffffffffffdfe9ad2000026759907e0e6c231b1c5abd756e3cb1f008c1d3f0645000026766103c0b69ad26b7f2f4913e62f00bcf87f0300ae083603002fc9584270f5f9d3e35fef0d0a21c87df1013b000000000000000b74c7f337512bffffffffffff2e0c3ed6a21ee9530a29749d71112bed02928d501af17b6c3597300a29749e8916927103ab543f0b242e7af7ee27264563029b18e8e94effffffffffffffffffffffbd0406000000000000000000000043498202b27be3794ee242faabd1e8658d4bde25c2d48102b27be4794f1dc83b5b375b1fdf53dd62f6fcfd022d576c29d71734a637022d576d215a90d0ca01aea60e4207a8c34d91966e19022d576e3101035c52116f022d7bb829056986fc3e0c5569380304cc98db6939c2c91aa2d5a9b4bf3f4d5c2004c7e178a96d000000000000000000000002e7cc2b9e42ae0f5304c7e638b10ef70093cc33ffffffffffffffffffffffcc245218d904c7e179421453716ffffffbd004cc98dc1903e83c057005b6a265fb552603d446648c1c202229b94f4bc564cdd4057005b77a0235312ac1af335d27a8ac6c8daabf0574bc0ca1387308e6a4b8eef0007353243e832c19a9a544b00574bc0d712e457710d1a7940319e8f5c7ebee057e18c3a13a83aaea30b52b770e72fb39550265b01f34687a057e18c471365c41a707e69641f4fb8b67750c09a2310b71047cc88526c5259f4fcd6d78fcfd08a6213a69dba95cbdace21dd664ba87d30e086b5809999796e90000000000000000000000000000000009a2310c11099908a6213b1101d603f407a7420b9163762a3984a7078d420f410b9163762a3984a70bf2a7450300bc4e240902000021b22137b6a3a4000021b342051164cdb7394731000021b40948000021da3901033b2e7650dd000021db511796012d3ab7bfa14b19000021dc2102dcb2ee09ea37f2030590b470c90100000000000000000000000000000000000000000000000005d04b102105ac35dd05d056503904a42ab2449f7605d04489410b1db9419116800001f466f30300ff318b03026e527b094f026e527c000004a77024a7e000000000008583b00000000000000000000000003bd209222105876f404119d3a06ac812971505876f410b7205876f4211184506420aa349345346dea2241209ad06420aa4198ba5050748c2a9593d93c0053d3ed733008f5a05876f4409010c242a70410e2715c359ff41840c1672bc420211426309d2f7d00b206baa410211426309d2f7d00c35718403072ecb739105593d58e3fc248eb7e4793283971984f2fc072eceab6972ba271dcc5da04324dea3123f072e9af5a90800000000000000000000000436225502d4b96091072eacd3a172a50ddb00000000000000000000000000000000072e9af642014b3169ffffffac072ecb743104322092fe90072eceac095900001d5dc202c90edcfffffffffba6e944ffffffffffffffffffffffa500001d5e5a053d71ffffffffff1628b80003ca1ab20f6600000000000001f9ffffffffffffffffffffffae0003ca1b4a81000000000000001503a7fe72e934fffffffffffffffffffffc95d26500000000000000000000037248d803b9330279350407badbb2daa07a29d924a0382f03b933037934fbf893929cf7679fd8fcb61df57309e8418509010c680b1f0901064160b5424563918244f4000006416bde424563918244f40000062baeec414563918244f4000004eb76400a010c519e2b1a0494510c52df89030c519e2c030c5973b8030c66990d1238740c519e2e0a010c519e2f030bbc8f632a03976cec230c5e0217030b2002f509010574fd36e94d00000000000000072d8e0e5b01abffffffffffffffffffffffb03ab105752c659906e86ea21b569a723471ac9a2a2e25674ac5e205752c6661035a49b78f46345a266966e807712d2e190f424007712d2f4a01f9e8e7ffc272bce307af4b71410b9163762a3984a70872e8451990b19f07af4b72326eb7f3ec9be0078d42321167af07711e8b3a92fa674c665b28078d42333a0fc0c6843deddf0872e8473a0ced5c4f71eb1207711e8c2106821e2101b72c92a9380d19109f0ffffffffffffffffffffffffd9791180ba6849609010badd37509010b01b8484904e6167b4922d798500afacf5c31048c273950000c680b244107dcad3d7bcb91cc0b97e0f46202af45109a024eb79eff9cf40b8e83d86102af45109a024eb79eff9cf40c680b27030c680b2809010b97e0f63225f9791ce2ed0c680b29091d0bdcf9ed190d59a80b8e83d93125f9791ce2ed09b685b13202499633c34809b42bdc29265627c61409a8729e2942a2fd6d8209a9a4353202412140cd8609a9a437298778adbc3709a861b822015f4fd409a861b922015d537b09a861ba095109b685b229845e3d01ab09a4fa08391fd7ab9a6e37eb09a4fa09391fd7ab9a6e37eb09a4fa0a095b09a4fb7c095109a4fa0c095b09a861bb1901fc59090b8eb80307b23db809010b8e905e09010b8f887e0901", "expected_outputs": { - "versioned_hash": "0x0159c79461360c8af0f80faa9863136986f5ebfdd4bfda92d8c16a1d288882ce", - "kzg_commitment": "aa64348f68036f9c00a0fc71cfe6193afad8e17f5835b54e698939988f227481f817f6df5ee9ae015c8e897d1f16b6fe", - "opening_point": "0x0000000000000000000000000000000052d76471d00a17c22078c5e2661faf07", - "opening_value": "0x46ea9ff5b6b22f41cb528cd22937ecdd360c202caa22bea030a581d939955d2f", - "opening_proof": "a212822514e27404be3ab3576f7492ff07bbce97de0abc871539e2a31703f5ba02497849e6a8193264e1a5027bb21577", - "blob_proof": "89d18cf10ddc33b6a00af250e1023e45587de3ad22c1dc705ef6a77478a9036e65b2b14cd3ee09f0b8eff254d0996ab3", - "pubdata_commitment": "52d76471d00a17c22078c5e2661faf0746ea9ff5b6b22f41cb528cd22937ecdd360c202caa22bea030a581d939955d2faa64348f68036f9c00a0fc71cfe6193afad8e17f5835b54e698939988f227481f817f6df5ee9ae015c8e897d1f16b6fea212822514e27404be3ab3576f7492ff07bbce97de0abc871539e2a31703f5ba02497849e6a8193264e1a5027bb21577" + "versioned_hash": "0x0131dafea4f0821e4a12ffc51667b0fd5762c944d1dba48af4f472efe573a750", + "kzg_commitment": "b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0", + "opening_point": "0x000000000000000000000000000000009151185fa59cf841b03fbe9dbff03eb5", + "opening_value": "0x53a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000", + "opening_proof": "91245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62", + "blob_proof": "a370bebe32974312600170a180d02aa0f44394b96221f95af357e696fdbc11ef917fe3b643ffc62c98d333385ab25b43", + "pubdata_commitment": "9151185fa59cf841b03fbe9dbff03eb553a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b091245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62" } } From 842fb5f2ad4f402cb4fb630e93735422801716ae Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 19 Jan 2024 12:24:17 -0500 Subject: [PATCH 05/35] fixed test with real blob data --- Cargo.lock | 4 ++-- core/lib/types/Cargo.toml | 2 +- core/lib/types/src/kzg.rs | 6 ++++-- etc/kzg_tests/kzg_test_0.json | 10 +++++----- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bffaeb8957a..11df0890170 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8636,7 +8636,7 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.1" -source = "git+https://github.com/matter-labs/zkevm_circuits.git?rev=42daa283a9d7bd601286061d31b7c9f90b969cde#42daa283a9d7bd601286061d31b7c9f90b969cde" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=1ad655514b69edcb6ad70205a1f6bd7f89a39e72#1ad655514b69edcb6ad70205a1f6bd7f89a39e72" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -9479,7 +9479,7 @@ dependencies = [ "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/zkevm_circuits.git?rev=42daa283a9d7bd601286061d31b7c9f90b969cde)", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=1ad655514b69edcb6ad70205a1f6bd7f89a39e72)", "zkevm_test_harness 1.3.3", "zksync_basic_types", "zksync_config", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 93c9c0feac2..89720ddccf5 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -50,7 +50,7 @@ blake2 = "0.10" ethereum_types_old = { package = "ethereum-types", version = "0.12.0" } c-kzg = { git = "https://github.com/ethereum/c-kzg-4844.git", rev = "e266280d88f006b23925c5062476b316d5407cb1" } -zkevm_circuits = { git = "https://github.com/matter-labs/zkevm_circuits.git", rev = "42daa283a9d7bd601286061d31b7c9f90b969cde" } +zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "1ad655514b69edcb6ad70205a1f6bd7f89a39e72" } [dev-dependencies] secp256k1 = { version = "0.27", features = ["recovery"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 45e3f2451a2..92a49580eb8 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -1,8 +1,10 @@ use std::convert::TryInto; use c_kzg::{Blob, Bytes32, Bytes48, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; -use zk_evm::sha2::Sha256; -use zk_evm::sha3::{Digest, Keccak256}; +use zk_evm::{ + sha2::Sha256, + sha3::{Digest, Keccak256}, +}; use zkevm_circuits::eip_4844::{ input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, zksync_pubdata_into_ethereum_4844_data, diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json index 57c64da847b..4f621dbd5b5 100644 --- a/etc/kzg_tests/kzg_test_0.json +++ b/etc/kzg_tests/kzg_test_0.json @@ -1,12 +1,12 @@ { "pubdata": "00000005000100550000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a42efd743e554bf21985b562e6b1f3ee3a2ed72f4dd98d76a68a1146cc9a21a86000102290000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800acda5158c3dbcac23211672d2cc9c3359fc98a11a515a328ff84730ce388e0b29000103170000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a034d6369f58fa6f6577da618b1402ae4035b815c468a5e5e120833f35064d7d60001035b0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aab90d8e21f8f6be792eaceaeaf2a7e262b8cd8b1a950cef7856d3c00d3e0fe240001036c000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102e0c3af29edc7fd00e8d0a61d41ed085b5999bd76d0ec57c8b794117edb48006600000005000000386c0960f9e67050e6b7ae575837febf738d9dd205bdd96129000000000000000000000000000000000000000000000000001da2dea1775200000000386c0960f9a255d58fcc01e78bd7f30db1c5d736a19d6de5d5000000000000000000000000000000000000000000000000018df33ae339d000000000386c0960f94f1b62090fc5498593cf8803898feecd5109b2d1000000000000000000000000000000000000000000000000001d9dedfce0a600000000386c0960f9988bf802a450b1a23b01a16361041b8cc4c0096c000000000000000000000000000000000000000000000000001bdd15e065b0000000004c11a2ccc170716ffaffcb4579f8226130d4a8625904162263a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000138ce2000000000001008d34040102f2e6ed1059ff0ad70d4e11336e3e5ad30e827e008cc2173fcbd003105e10deef0001000117285a242b48c751232df502f6448f1dbf4a1d9132f1cccfce399608c8b90b3a0a1f96e79f02ef0c7d92a6ba1968507b07a357809bf9eaf6ccf0fda94f00010013eff990900684eac2c81359f38c1b0a834d011273ae30310f9c7807464a1db77812daebf491cddd7c2c4af8b712a218f35b8f3ceeba86aad8ee402526c200010000939c0f641c18abe55b3a876a26f1720e4903c3f12e25b8b6214942db9069af66d7b664990e3f84e4633afb9c21a8da0ef39901d9bc286fad7e19d3e6690901c02aa7bf71858e06cbaedda3277e925e055d21c73be1309a36203fe4727785b409018a07091e19392f970a79e422657f4765f3c6498b0e174b862d050c05dcaf5bc50901ffa6d75a531a1505992e4c1ff4ae286f3c5336d1464bc9b25d9178749c5a0fc70901a9729e5ec3b68a9346d3dffbbb2027b1b0f40417a4e59e60fad413467c1e90a40901b4e5bfca3d03904333c9db34f701ee88c866ecab38b47bb219ecac0861ec961b0901adc5ed37ef2f96fcf6b4c8ae77d5dc254da413dcce18fbabba941fbbaeeb46c809024dfdf044fd553fd9ba2ef4251f008ee4cf873fe70182d1b2f75f28c91d282c06a1996a719fbc67f35a4344f73890c1172eb194a88cfb6b291ade6a03a87fceb351b6ccd7a8ba72fd46817f800389c924d23232fcc6a118cd1fc2a93f3a384b0535afd162716154269523f7345e0bc56795149c3dbd12ad80b8d16c271a08ce2873c63cd21f8b28275563390881110a3ecc00415f285ab6f8e3d9ba138242a46510c44a0c83a350067a6ee880f6fdcfb01ee4391e32b4789740000b73f38daa02eca7cdd85642f68cd8cf51fa015d796fc2dbcd1aebabf654bea441016b288c64f0c000bab081a7b6f92a4ec1f02eb005520b7673af201c4ebe79e761538585717fafbb39b59ec022d606f068ebf6717faab388c9c53c18fabe7838c5608820c5d2430989d90b92dd26451e4102c68af0bb1400006f4753c45e67f5311ae7255bf8889f7fe7e58b6af06d9806e5194a1c5c66d05139054ec8fb4b6000bd906f224650fc26515436b3c25a87d68addb31c6a5373f7e00f754d39119486391e3e8744f910003c67eee680524913ae37ae69f0baa481d0e4e6d3484a307479eb229bc30f479e391be3888d7ca00075aa7f75697d3feb547969a0d55f8731fead1e14041729ebd1d392848e7cb2af3914ae1318ecd9020f2f4ddce402fdc9ee7b3c86ecd111dbb325d01422bf470db82108a3abd1e3b34101192d1069581b941d50c402518ad6fdbed21958ed6c5724923454fdd2495cde5abc4bf4516ef98c3923b46bf7fe2000f6d7022ebe58dc19e751106f2cb98fd24bd6e14d8073a53d3f8e11b45c5df48b00a99e289160656884525d83a63124c30e63f37032d635435d92d49995a8f8b408dd140b448cfff621010bc3dd28788ddd82f2bfc323f8b837afc1ac6c5c1580b2091462157e0771f69f064d0d7bf52f7ebb7e91c66e35d4914a9dba6c7e3cd75ce6200914183241104a8b011521fc34fb04dc72026ec296cd803af9bb39e7dd5bf873ba5d191a524bc07d6ca5418464758476f726a9d98e7a81bdf17ac4ec7badc550129a1151b03c194c4b4034b276b9d891a6f4775fe20e1e5cc98babd8744c81e7daa3000b49c7e5c28abda1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e01e96050ca4793360ad636d62a6d89ed1dd50d100393a25b769f51148d33e9c80901df92d744c1917c79c8c38fa95bb485b984c521a4253c1ac6c12035ee61226f5c417bf8114d29f36913853abff5b4c974f781edf65caff6e8293912904b86c909f9559cbfd685c0ba6e491dfafba0f1bd4300000231b5c9c8cae149bd749c383d5bebd9ee775377beb035eb84377eff29f5edac291b6103f419ce028a771a813617dc177b50fd2f2d4ea489a7f9c2b6dfbd7cb0608ff6bb949911d83cc543063aef4cc63829a471bd77f68576941d08cfd681e84f80d3e1645920171f09019ad2dc29fffa2ee724cd419095cff0605b7df10d65420c3f20d7522ab9fb81be2165a6de4ee706aedeba038f6e38ad43723329856ac986583787b60bc1f54a7f570a91b33269294c912982def982794434499fa4ce83d8a32f8629d2c1abf127af5e85f34909aaeb23a7a5450a60ce1493c3bc690643f16943df5367f77aa54a54bc8a8200c68674c041892fd6f77453341b524740e2f87d0a3df7f0ed575478a6b9041b04f0d563c8544007d64a89d51131d5adef571aa36d21bb0f9917c463b5c9906d07f248619a83b48509c798407bc4da757ab7035dcc0901a0703adc7ccba7cd1054340b8b59b73e6b8b455833b8cf427b7beee4a0f02c09a12a9096df9ef41ce9cac50cfaacf1151071f975ad45cc7125fba34a20bffab916ff36625d666f049583117e53406ad65493808667a1d3d91634cf4c04ad1b76ce2c06f7385a897f54d3bb11626357265a0e408c00504dcf29352cc80c19ea774e4a6f1cbe01933d6dbe0901567e3d3f853b2bf658b34a086e56c374fb85eb4c313829401d431924d7465d4aa180115c708e12edd42e504c1cd52aea96c547c05cbe9a44851e30b39b56297fdf090f6bf257d6c5bab3479854a280ba419fb6d5daa180115c708e12edd42e504c1cd52aea96c547c05c76a06ae72e8a8f120cf6b43317b34dba4b119b37e8d01ca2b28c514b97d2887e090171503ac05f8ca52d7cdb786cae95ae5062c8a97dac126ed9272dc7e30eb806c80901fd2e18833a48b67bbaaa3c77c79cbccee2f71b4ce0a92b5e2423c707cce4533aa180115c708e12edd42e504c1cd52aea96c547c05c8bc265e1dc0dcb7c9ecc7cbf5f7c1843c5da43bf586c40fa9560774c5eb1ff080901e8bb18c16a016ed06541ccb16b38473c9357af9322a2ac573175b7b1f9ec07cf090107ca4196285a78fd294c7947fbd5febe8b6ae006c9d658e31b60017ff3f97ae9090166df2a30dddf70b6f44a42de4833a3680b9c5ca958accae9dbf7f0b1600947f40901281c95c77398a8b558c513bea568f8be9be22fa8f1a6d5645573de661f2ee6a0a1c2fd44a8497e2fac310f4fc8418908125546f32efa28383624da04595bf930920bb58bc4b15b5de94ac42056027c1daba69332e0313f2a01718652997cd9436f8f814343cb15afa1919b850b03c4a0d28149ec068207f3c551c6c2090136d8384f8f88b18de18e3ae63b1057cf0772abe2067b98b68446b10ff458fa2e89010000000000000000000000000000000041e13027c1b52df1bd9803cf1545bf4ab94a16d168d9104f09d8766103d550bb0a01bf35d33c89f5e664ae2b92a66a939eb013ac1de6515a57ffea70d56fcf6b706619d057eab78b3a25d00ef7f39c4967eb220327371363098ab55ae8ac283be6cace684d200a01966f1152c6a8a2f9a663c24ed9440e728138744090cde391c63e8e1786df53102106db12ccc6511c9c36ac5967ccae5da01cd21ee0445c43211dd1198302ae036d5e3b2cc60a013abc0472eb8a8849953715f91ecd85ec47ef839e466dc143cd2d32c6b61349410a01a0dc9b0d01fe770f0cbed8572f05d38c58e5551d15c16d5608fc302b7ad49e0a2102a5692aad0f28864b4e3691a85974872a6ce40e6eab98b56b6d3b8236786a0da0292531210f3753091014a4ce05520dbaf7a2654d893c76a471863e356ea366e825fd296753bad41b1962c6ceeb0388076118d3a1e6e25ee9084ef2e74cfaecf782cf4003319c0f335f96911d19b0978b507111c55737118180a4607b2e9f115ff1c10ceb656a32a6f4cfbb21c8c6e0472101726199c58545f9a610de3b4061e87c21f85dd19449ca4aaca2dd868172c540728497bf311d9e0171863e7f0ea5f165f28a75168a2e392f1c22732864565c491a136cfa70189eba027acea12fbef53b81aad68c4727f3329869ee704609ee749f7a7407fb1ba20d656da3c5ff74892871546e61dda8da470c0b99caf78854120901688a021fdf7d14582bf5bd2eb5c93cf86f21171c52b86ca334776c7be06633e9a14aa5cc5f01876266b9a0abca2a77fb4af9425cc3c0f84c80c45a8236856be149391bf75bc23441e7e25070407a08efd97811e33da165d8e9461f9018596fe0ab94fa050ffb3bca242fef613fb876ab1c59ee2b84cb39b85d0df611e9380de6df4f5da1f8f02a925c8d490c944fd8e64880228050aac29f405aaa380863f232d74b43ef4408dd111745f3a9d46bda7ec362ed97a144ef12d4b87c5646869b28e6b62e8aca975afdfa753b08a8b2b9aaf55d8853d07c452777fc4c529029633816d926fdd31689a2ae29680171861aef4adc1342aa75eca6cd65fbec28e32540eeb9cc63c12a4e7fd74288094cc1e10901e9aa2c34ba3c83030e0d8f90d17ac623eb912fbf8cfbee93413bbf7329d959b00a013fec76ab6733aeb76b088570a0023b4fdcb8d0c828e9dcc8f81bb0e75645e6d419f2662152b7f4b7dfc66f12b9afe0f70362b0a6c5b42e041c3e4e9bed9df52f3dacadd60a012f93b53ae541da4ffad8c2e72ea9d77c1860404254cd8cdf8a5bff8708bf99de0a01e63866cab2b4c30eecb868b0dc9f50372b1f79ad7c93e37fb5a0ff411f5cf0c50a0123783ae730d29ee74f13dadbe6201b3063acccbadb0b768d5c80e8ce06a50d7409017282df9bdedfab9ea9fae6c127d63bb89e4c5e2bc6243b231ccdd2a835b1a8ac19a7e215f14e64c035ed9a1f45aa7f9decad368ac1292a3835f448e952b348ed2324b84d21027e577b5763f3ac147822e73df0eb878313e7e55df3db4405eb1db3746083c12f19b9d10a015f06be9c9642a6321a48bd6eb51fb69e85767218915fb4ef3e1ad12115ef907419121c1b961e6a90ac18d287abbe6645e314566d6068483ada0ecc53c1bad6918d130c5009018beba255936bf7debacdf5ae874cf4b74789861b8386733eff99d087b394c6a20a01df4b1208f951cd68e9169a4820678631882ce39999e2b20d20bc94b0f6273ae60a01dd845bf2c9bc9886ac2286d0dd8c08b0e7b227570809e3229895e49f65a298064902bbc099d5fb6d81289a8e412e9c64e1d0237b95f8899e9314631b7abf0fad93881ba7e447abfaadfc0920cc1d27e9ee7f5678cdad1e1140c4d852ca0c64f04346089c0809b48771cc695f090876af4949a5dda017af2fde7eb64989734c48bd449a895b7d22c7e20f4e85b27b0901d1b4ad97ce6833314f1374ed5de8210ccec6ac500552c49b35c486056d5c52580a016a975864c94755cc754e06fc62e04462f62979fbc2df237884199fdef76b8cf7096e352fcea326988173e6d09589571f5522c74e25834abe3e70b4ddddef84c6a603096e5ac400e164e56f8210320bc96798e6e0b5fec0470bca0041c760d46057277ed7210134d6f4e47a623cc0243610a628b008fe34865b98e100fe9c64dbb6aab3df82edfae169210134d6f442dc4493dd70032707de9f746062785a10d98a1fe54541e04a2c3fba6a25770f3904325b0881a86b033ed80ea5f81caf6ea810c94a038363a914e2bfd4bf89397f140896043438f549344692099866068fc7efbc7ca398ad874cfc7be2cfbcf493af177a976e278b076487fa4c23906040af191a524bd08b413cba0ad1f7ae3cdf10fa1a5a78fb0f763e8b958af889d1cc65742a81956906f17c2a1f17621892641e82adf64a6735ab0d469b6222445a27a0509b7334974617b086da6556919cb32bc86d310150969bfade2922350e35eea1b624bc0860fc6d1a88ef8949f6d193932a74f1cdadc3b17ded0901b91f047425ec49fcd708d173677a6a5c4294172167d6b9d3082d475119697f680901de1770af232be79daffa32d59cb27e047f3230375cbb6c6f359115ad2113d99c090101a485d8779c9a044e5957d15aa43aa8206a29204e97e578f6235eb52e23afc23103600171864a9d2c5b32b59cec41409eaccb473a7c1b6816ed36a719b35fa372f988da2d20d4a138f784e67869bbf5aaad5d664dcd05d7a47a9885d224de36f00d582d2a3defab0029281b54c6b681af3517a007ce32b98b6b01a7517f6a4e06b86e198796198f82561983b0e61ebc8b86a629f04ad9d09e9a785c984231c98d0eb041c971d9591415c9488a1690396681007c669c526d4b341486bedb9c3b8635c26b27602f7f0df7a6a0d653a140caac8c39571a923ca04ee1965836020f5cdc7d95a8ec1546ff2b8c7bec15af2af26384f5c96cfe387c870d310c40f9ef7267cee79a8cd93df1aa7d9f40c4e4ae2b7d1d4740f1e5e1ba1e977201cc6af3b0810a01b7b4e11ddfeeef52ca0c336858792be12d31db6c53b00d24a6776f4f08d08b7d392386f26fc100007ef3af95e82367c7180371ab903da968240e8720165f2d6d113d4e10f8d00279413ae5b783aac200009712281cec3fe27aec63dccb979a34e7d86e37e3b3da429e23697846a2ca958e0a011d3984ca7ed5c262e1067856cb7191d87bb7d1e8acf0230d4a600d07ca22bad2418ac7230489e80000c454190d333fcbedadfa7051049955993572cbd63cf42e68aa77b717d073c8a40901fb77b81a76104598d9ffda1152005f97e9820700085c91c332280307da83eae900810972423f7d915b94ae6a76e50f4327fb1e8b9d0e80c318ab05fd0819e639b4fd05e860183b1015058ae32bcb7719855ec7aa4d7200910ee810344e3cf034f9315af3107a4000f006789c75571d41a9aacb4465f684309aa3d0597b2c75366cde06e60bbbedf969012c000002ee00000000000000b9ef0eb0e2d93d6d27b065c20e022506f10a469215692dc4fab8347ccf84682b0061706500000000000000000000000000000000000000000000000000000000063e47078faf6c734bfe7e188b586ade665b4e478038a57f99fccd918751aa2b69006170650000000000000000000000000000000000000000000000000000000006dcbe7fcd0d4a4b51538f54650f1686c598455da5d3d4caf3857d4c6c8c8cce4609011235fc129aa7c102d35b04dc78a7d91183ec8dcebe12c0e5364660bff015328519033ba9f6c2a13297570dce587d6c1fc75835bf680950683a2c355761d8a473af1f2a9f090101acc07e9cf7f84857070a7a1f6320eb97b3e5415aa19cb3dcb262893651b0971903c55efe2aa6546051344415d9136c36d7224b5de88d5f50081448ac9b71fdb50ac10da1149173b9c112466d7bba1f647e2cdcdd6ff184e4275d59e3ff3f1f2321277c45d8ff9326dfa34100857af52b1e5c91a8768b04538139d4793ad35846718f9892a36e8b925b2b8e01b97a36abb0deeeb6503f11c3be5753c9d069dd7fd681798028313bdf09a144e8d30c05e5a2219d5f7e17e7b87e60f6c1353e9a3cd0481a52950a63256e2e403fd76b17c7229e295ecdfc3db33f44b869b3ada16dd28c2c5b91dd63b4d4e78ecac7139878371768686724262c779b02e44e6909c79dda2440adfd1f4e3da630f1b18562762c34594175b37816b749b66b0ca5180a81cdded691fa9475dd73710a0f98169e0077e37dd5bae3a8316c9c220a01fd9ffe9dfd6d0978af66e263e8dc7277c8e21b6a802c63a315f9922d8d43e3a6a10d5328bdfba313310c9d224c25772b6fa751b9d40213977d8228758a54d817457dad5de4b806b939a352c83bbde7f0a36e32e5243107b9017186586ff4762b92786831ba36ed9120db1a885d01d0d763980956b200644c7d26e1230901bce25afb1bddc81d393a7d30c196e5cf3753a0e876d4184457a9806266d3e436290a9d9896c78e9c6203892a9d5862e8511d457c70c7f63f5ba7637eedbb0f4ab76ed8ce64bf290f98114c0f326b8c018ec3ba88d28b7e146a1e3631b33af636c11a656bbe24dc43cbfe2cc429e84fb60e3bff1427493f2900dd9f0aed1df7c1510fa629ad473d2e32bddcbbfafa717a889311ef465c121784579443da935b76be97d7d06fd561934765db9344fea3ec4409d0b31b390d22f86191843d6e37d777cc8e8a5edec34e69d8cd7512f38c4cd1e90d4aab6a46c3433fb68d4b392c8850ad006bf0b94d78ea6081d51ce7b39f9aa65e254f9adb05243550fc4c377edc24663b6d78e10342a9706aaac244d001368b000000000000000000006a89e8b51815f5e8fd9e659eec56c8366856d20501bf14e46707331fc77ff92516e12cb25b0c3a0bf18a9d2882caa41fdfe4eb2119a2459da249b6bc6e3f23d4e12d1ba35abbfb0e961961328a4b2101c9c38047d89ddae6658dfc2fa241515f7b12b8ca79c357bdf4ec4aa0c2c2d6721ffcaf41107d4ec3af4257850cb66c12d0f834afc9b5f4ac808e7d80773c7d420dcdaee1fdd0f2d62e55a40209011b30b332b3d0c14d4041d58ea84b247009dcea5973fc8a3cacc21f7aa99dbcbaa1037119632437119bcd9a6b18ed9ea9ebccfbab7287cbb29a78f07e708e996654f2294c3da7277f0fadd03990d835b3838becdf9f4901f9e8e7ffc272bce3672a4b4cb989f3df5fde6f1604adf28cce47f315c72cf18f697884170e5fd57ae1034712a12495b627ab792d400000000000000000000000000012926a5b6731e66599d907c4913385770f91b103e1b072e98d12483a688f4b19309140090185ba802574057d16e01335eedc59ede451c146aa72c0ae54e419d23a671e5225a15039543c3b1e342da8ba16ea9c7dba464f74edf637dd4224f9cd1eedf6c115dfae7363382984a8772162a8a210da403f22c009203136d80171863947f55b48c65591d2d2fb62ee6858c2ada93941ed7895f9841e9851201a321993090a369ddb839ca0979e7c8c6d7cac3ebda8de4bd7055bbb218b511620d4d17bd55a09090eb9872b456aeeadd7a743ad65a50fe854d7b558990d88caaa2a8ab09b07049d09012afb31d0ff976e745a1ba27500820d92d6fca5b13db5ff96b13f51905046a4d6a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e7d4ebc6b7d65c7d59842ad93ee1a54e63c5a0df0e01a692bb464e57f6bdbffb30901ee19685744894fdc7f1f2f607e43fa01753c2204690dee07620a2900bffa7fc3312ff8017186165abc764a218ac3636196d9cf8d989974df3f0aa8b4fc13a2252810e20caa0d35312ff9017186226275857c0de7cc3bf2c0006472738b883e0829a6e5637f90a80ba4ddcfa0973f09016248f1313c0bcd995cb8c908eca722a4cdcd3c5f48a6c6db02fe2cb03a3a81e9a165477af971c552412773320c4c567228176872b3328334eab1e5acaedcc39e3f8e5dc1d57e1d9822c549b057678f25cce7fa5fefa17163d25153fe1b2f6f994e0f5fb2d47a84df264f26e63210489eeb2f2a274f2a82f8c61aaac5dd3ba8244d1b90fd32f45fee5310090151810e421c5111fda876cece5c9056080dd972a726a1e4428ab391a8618337020a0181399ee467cf03c8cd376963f8607f6e276a92dd89b19201f2137b4179f5bfaf210171861360ba191ef16d883d699184a191dbf55c7408c1b2f7bcfa70bb1a0a9d4c2de2094101b9eafba6c4c718db591fe422c98b3d9eaab1212c4217d10b7bfa96619c2a30c94f02c3931346ad190736b0fab0139776905c15dbdeeba04817991ad158e3cb31861b82a709ff11224f2415190738f5088b1bc394fb62a4a22daf0dfc14900023e60ec6d4cd59dc14959dd0a57f0d9e1907383578bbe26d685cdd03317abea7e600424a52b0593c10dea4270f7bc57f80bb8825097be8fbcb15cacd4bad0b7e6ab7091480ff8a8e566b9f33f13a09377d12e50a69c3190739b50ff653f4135296911a4f49f84aca85a6c002906ef30b7ee66193a515d32bbf51190765a2fa57d4d6e2f5ae8d1802033116982745fd5e1c51a08b0fe48b1277fac114a4d81909b5bcfe5ac6a61e70b02e52f8be996f9e3e7909aaa27a95efdfa5b528c8c433cf5dba1909130cb5d61b3701314843fc1f3cf26e69dfe568683bf5300908bdaa41da1deba8a5e9111f2dc5150b02810c8f02faceef1a14eaeb104c0864a565534f17a5152ef9eb82dd72116c06808f9ca701e7b88decec88ea71710cde44a2b0496fb2ca008a17da43138b1a3911054f269485e4113f0bc54e4ed3962928dea4ed30dc6e6acb1d28f318a696286a31610a01e98bcf7c91021dec06def30d4da8391f52e36ee64adfabfaebb0f4e31a7d01f7111f24432c1c9a293bb476887074caee2e22a5bc98b2858d6b9412dc667d6d0df38acea1d948da7ba45ba8d119a64e5498b247feaebd8b739b8f0070e47f6cb2d361a6ae2e89f0aaf5de3a5b29947bc280675ceb680c6ec2311af0017186401cd861d51220a7f456584ea2fb9f6001d2ea4c0aff83f825deb6c6de173afeed3904325b0881a86bac268ec7a39f04bd59bfeebad1668b7be705b8e278da30a00a393b6eb780edda79c097ce7bc90715b34b9f10000000001e61955552a75fd44eb3bc8a520617e7626f867c9784b0934d33df13fb0248fb79c097ce7bc90715b34b9f10000000009175577d243744580e4d3eba6d001ae4a52ecf41915633aaefaec812c0b255bc0a016da4f25e21ea9a9da707266a06a38385e4f45a7521d930bf7ac684d28dfc860e090131a49c135824a04a04360f4ecbc6867c746f5ccc530ccb0102622dd71f56c56109013e4006101e0fde5109283e76e0abb0a6496f75a63c979ef7bfe90c55a20c8c8831047cae0f1089b2c416fc546ac82f94a49374c48a6ed2011ad43b0c71cecd92f8990edb9a2db4090175505f6b9b08556a1e16c1c50dbb8c161c3abac8f3f50613e08d71037e0ec6d74170f5f9d3e35fef0d2fba6acb46454534d4fcf1d2027bd50dc1ff77ea016718c670d3def0da26a2a44170f5f9d3e35fef0d0ebfaff93008adcb69843ec9881d6b2e2bcccc3aa4b30bee9ade9a0221fcddc60a011cacced5b6f672ebeeb7e99dd69158424e69b24fa9075218dc525b51fa4c99d029d1adada9f99f1e7b9405b6770849049e59e363dedfa1a73f467405a64edd954f4f0709e6880901d6bc4f049abf9c4b0c663c1f137c302ded9772d4f923840246a2b5c0db47177e0901257acae0efe704629e1552412a67ef32106bf2191fb3dfef4bfeb844d40cc503090117391cd68366e6f2eefeec472aea267d5ed97727327927739f800b924f5d0f5d09016669faf6484b99ccf6b8de37b06ba36ced8277d91d45ddb18926ceb91bad8c700901ad8ec34ec3708e06a44070e9f8f0697fd925fc70d8115fd03b2767c5b02562260901940fea0027879592e27dbd46f7ce4c6c799e2f04415645566c340c0d318ffdbf09013b1d910ca21f4561e426cd233ad98c9a2925154a77cebf3bc5d6847a3d91075b090167b6c29087dac56105580e5f677e349bb179da137ece1d2430fd75ebdc1b22d509010b32db0729a5182cb3ad4f86f2328502c7db024a3656a057b33153f096e6b74f09014835b724a8d30ad18af48320980d1ff38ddc9b3fbdee2a6ac7f9211d9b05631f0901b10ef22029d3990a5edc1775a038412559a0b8194d37476656809d5c84f387eb09016278d477fe67124d3d3aeb8c2f5d726e6cd285bd543a5f827d33c759335b55100901a70ebe30bcfec080f540e96cd54c2b49c7aa18bf7b771b6168582113804bae300901dee3974538ddc7a0866fe26c52a389cc4c96767e5c09d3917ea04bb3395f7c2109014a4d16024ab61163e4442862311bd0fe61b720678d02e03e095437404b4b03e75979861e6a2dad8a248b8c0ea6150af75e4e48b97c1882bcea43aca1b01662ba932e546fe7d5ade1b949871e090190869960b5bd7dcfcf9447b302cd99aee59d882710ef2a0a1299920f7f7c685d09015d6c16992385cb5d833df31f4090ee6825b2c8701f92ce0477b63ce12b75b862005261657374726f0000000000000000000000000000000000000000000000000e46f3883d5c3a2477bda1bbfb8924fc5ecd14869c2d2fc38500a2faba696c14c000a8f6616edf999f5ce01f1fe1b894a726336cb13115a59043494944a072f579a4d1e7217d66d3d43fab8faba493feb42965e80cad570bb29988aab46c3b6153cb00c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6f47586930205713a6a363a9d06c15d0db51436ec49fd51b8de8900ae32c2b96c096f0d5c261ad9aff66480c7b22a49e9c185589b67131e8e1099d86a3536086637cfa17816a972b63d0679c935879cfaeb6453c7c1c8c9e853ece842d12de2a0d1b7dfde9c9617fba97871e6a3cdc0a9f60f66e0c6c0f1a17816a972b63d0679c935879cfaeb6453c7c1c8c902e961595aeb5c304f2849d4c1a759413a26d8c473fe769319a18e319ace9d3a09026e708a3dc48ed3b38f705bae99f8fef0f0c4881cc5e96537f32f6d703106b50c09016fe4a5488c3854e373bdba93eb4552bfb427e6951995bd65b2c3a55b156d23b6090292e278a79d3343959e9f5c390277e32d556e615e476cf0a108f9b4524688ac47a156abb6a3f25dccdada106191053b1cc54c196deec8507d19a898613091d6415824a6244a7ba6212ee76a9d0a7c6c904a82f3e01b09015aaf9b799076012479363653434fa93b89f2822dd6150e4b56377b207f26fbbc0901f826346b5d717de99d1774a11e6b897315c60845807efda369ac20905b3f64e009012ed7a51071d0844752958bd1d67971666340bab5f8fd15c2d471a0fde4506147a17816a972b63d0679c935879cfaeb6453c7c1c8c9677f8ff1a98b7c11868d0408a7f9ba3d523562b858d34affa57ace4e74caf269a17816a972b63d0679c935879cfaeb6453c7c1c8c9d7219df5808c4bc0854d28b38fb26bbded52e00a9ba02dd85ef8285e6d0c6971a17816a972b63d0679c935879cfaeb6453c7c1c8c91749e7427159f18bb6e298b10b3679b956f41187a25bbcdc4b9b0daee8e3444c00697066733a2f2f516d556a6554533668747756766b51766d6463556372786165f0682fef72a02e4f48fea058e5bd83e1c82630d0db2348003a7514d343b80a61006f665178793452326e636d566f37476f436a666d482f30000000000000000000b589cd787e4d0d1d47e6b6dc38a21581d7a2d99c0a2a61a4db2b0b836149ff04090123f933b221f2747e4f696debdecc366a1de91271d188a260a8215ef3092186cd0901460aedc9249b63a4a2971178bafff352020838fa1fb066b099ddef723a32d3e509012cfec83d80457e553b6c58f546dd5015923eb928e9e020bc002703a6c47129b50901ae2f0a3b41bb84ac766d32c6615da315c2323727e715c6ca7eaf356d3da269c109013295ce215f546349bf345f5f7f8406a76b4a37c24167ba851c5cf449de84b6a03904a4a455de4348ba4bd574f6eaa9f4908c97ddd69ae4939bbbcc78db3a6d2589821800363d06ba21042aa1e8dac60805d1eb0ec310bbb4aa02e9c61feaf4a8879215462a9719f06e271c8d04210182219e1d25a204efca6d46244cce7ad7d2ef46033c6ba0583cf38098dbec0b21040fdd2165a6de4dc6ebcd94d5b43f27e0ec3962ac378a92c79cab9df11395fa083c1d3277c3be9c5922c2c22b62ce831b53bc81395387a23aea94411ae8d026836e206a43364996812a9d53eba32a5b22729ca729227610346e5dbad9b528bf307acda1e21df661b94eef1a5405710aadaf463ecfc73ee1496e0901f10404afee7818eb073f32117a11d500a20c73c046a0e27b52f453bf11beaa46a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e2109690fd4953c3057fb56444aeba5a904b21a5215cf37c4af87636f187b2b38a178bfec5e4693aee12dedff44f40e5ccce66ddb1c7b9fca3d919f48037bd36a73eee0c506d169bc80a4875fac3ffa2e9d38c491db0901cbac5c7603ae0a7ff05beac2bc7946663fcf627d46749c9a61436fae633ac0520901df0ee468c7b9b9c10d8b28697256da3a2a13433ca96e9d30f22ad3495553b1d2a144ef12d4b87c5646869b28e6b62e8aca975afdfaa29734b9b4680e31e370be9fc36c9b54e6523c48935f7740c3108bc03319ecad296c01718640d645e474f86fe66f2c63f0857e0aff27fb4ce12f94d4fcf320ef56a21720d163090190b19c1f41dddb2f54d53ad0d8f961ec9a866c37b50141da2932ef7f3eedf69f59524d10dbc0a39e7cea39c8626163e80cc225e64719f6c5b9404107acd41f117f495f1157516b47e17a4b8b2165a6de2b483b68e50ca45c31cb92e1d43b79be414335d8e3ae2d72889153d9bd4fdf0b6a31048c2739500077c1fab877047b94ce5b6df69d1a164a0f1164ef29985f833c0b27a6a64747ca2165a6de2b8c838f415041162cdf3cbc028978669046f32675466b835a337dd17b26c742400901313603fbaafd9b9dc2ee76867de15c515ba8a3ddac50b606c0dfc9ef3e9bdb860a014be94257e76c4c0957240e07b32bf0a494b4e72b28ff32e6c51b5660e705ff99313b890171863f8296538c0df71d959117b23991ab81cbf8793b09a2818127cfcfa4826adb86e609015b05d98d465ff9fed32b201bcff0fbf6a2406f6c98dade1505a29b0be6d96630a17163d25153fe1b2f6f994e0f5fb2d47a84df264f0c66ab9e09010b2107ae09010019933f090108afd9f609010806212009010133ae7409010a1ecea20901068018cd09010c64307509010669606409010b2a8fa809010601f0e5090107b21d038901000000000000000000000000000000000677b0eb09010c41cf7909010b8e7b8009020c2c70740901095a7281090109fde82c0901056783de090100579c9a090106bfc71209010c377173090104f1c34c09010077ee580901007444c9090200e76a4a090100564914090106b5d97909010019a3de0901036d2629090208086c30090100041aab09020c67e2ee09020766c88a09030c6805f7093704faaceb090200462b3609010ba8f6710901058faec509010b533a5a09010b6f0909090109f8fa190901056d73660901073f475b0901072886a6090101b8cf1009010264c0440901000290b409020c6709578901000000000000000000000000000000010c09638309010bfeba32090101309dd909010a0b6b9d09010c6808ea09320638faec090106106b0c09010a3b7c1d0901056d5fe9090105ddeaff09010071973209010a17304c0901019ca8c809020b61f03b090100676af40928001478ee09010bd9a6fe09020005e4d3090100327de70901008c6dcb0901004dcf1609010b07c96009020669c2f5090106706ac809010bdbbe9809010561870b0902003bae2609020c68079e0901034021c009010660d93d0901066f19390901032648dd09010aed18af09020a400f7e09030115cc6f090105d6ead3090100e5558109010660ef780901031ded4909010c67fddd09010520bbea09010c67de0c0902086ab54c09010589a7860901070e5651090106eb4b2f090109f9d2270903006593160901001109cd090109efaa8709030b209e2a090203189bd109010c67df880901000a2b32090105fd971c090202009826090100445cd0090109cd4b3a090701c197c909010b4076e1090100053ca909010c6807a009350bd9a3d4090109f07b6e090104d18eb709020491c84209010ba9972c09010b2b2f0509010ad6dcd2090100414751090202ea1dd1090107582da309010c67e4750901074faf5409010b4085a509010bda074b0901029b6ff909010b4bc7a209010b0033660901002a5be50903015e042409010b55111609010775e475090105b091920902002bf77a09010b8f00c709010289e0f509010b39f2b60901060b2d8c0901001d996c090205fcd07f09010046488189010000000000000000000000000000000006aa50d5090107cbf6970901000d9d7209020bd9be60090104e9bb72090106103a1e09010c67db19090302a8b08f0901032bfecc090109cd026a09010c54a109090109c2026209010c22df910902001831a1090205d2c8d50902002689ca0901091fb83c09020567809609010bdde3c709010c677e4609020017b82009010b2ab89909020bcff27209010173ca720901000fa0e2090101ad82dd09010bb3da6a090205a70bb509010b85934209010272cdba0901000e553909010ba8ff2e09010c680481090103fdd1b809020c526e49090107a89cdf09010b096577090109f9c5a409010829ef7b0901002556e6090100079f640901035440a4090107b21d06090205e37a1509010a16ca5c090205f310ae09010ae53901090101af593509010978121d090104eb6451090104f7d30a09060bee7558090100001fa30906060fe9e3090109daec820901023cd82409010010500f090100dc86c10901000f844b09020aff4bb109010afc8d38090100107676090106c0b79e0901089c8bd20901057da16109030a1625f009020233cff309010c614251090103e73810090109d4f6ab0901051778c409010b409e5909010610117c09010389a099090201d1637509010329bc3c090105554ea009010055bdda09020035758e09020c59cfd9090109765dcf09010b77065509010304597e09010693d5ff0902060f661209010c096e9e0901074cc6920901041362c609010c5efeec09010684f20309010bc4c98d09010bc4ebb80901056789be0901031fe67009030b5b499309010a0f25fb090106c0bdf809010ad6158c0901001d5ebe09010b258a7c0902003b5382090103266c4609010b8566d60901099c928e090109f4640f09010ae5292c09010005acd009010860ce950901070e64fc09010033df33090200c29fd20905002745410901065e5d7e09010008644509010bf29a71090300d25ae8090201a1100b09010ae0313d09010a6bd8f409010019f998090109e092b6090106b441fd09010326a3130901005b30060902000003f00901064f91be090101e5a8b2090200001fa4090309a108fa09020c6143f90902049bdf030901002f54ff09010be5f3cf09010643c35a0901009894240902063fcff80902087713c309020b7e71680901001bbbd709010babfa4109010bd0d3a5090109a178db09010017e472090208f489a9090105ce03f8090106eba5b5090100782698090100657ec7090109d42ca6090105e80d1609010b8d46f109010b185fb9090100014ed609010401a1ea090102bf6e1109010848de0e090102f7ea4c09020000f821090105d9f3040901018116d109020ab7244f090109eaed9a09010554bf0b09010c680484091a02a1a2970903012b60e609010a293b5c09010c67d77709020c67f3920903009d1c46090a031392fe0901000429de090107f0739509020c6808ed0931025b4ca309020babde7109010bcff83f090105677ed109010009588509010c67ed1009020a69dc670901036517b009010c67de1209020bd007bb0901088ae94b09060b197ff009010577ab5d0901006b80db090205677ed209010bc7af2509010b500dfa0901018b7176090a0b0f7e6f09010401387209030961737509010c677e490901003ade5f0901000bfe3b0902000b78130901065d17b70901003e69fc09010644dfe30901079dfad70902086ac190090106339b8309010c22f90d090104ec10ea090101c9dfd309010b8d5da709010a2a8e080901003bcb22090400111b3a09010201bd1509010445f9f909040bdb22f6090109310235090103f4df31090105e81baa09010a22e6aa090101af525b09020c1522d4090201f129b30901054756db09010b6f9eaf090100fb09e609020c644564090105678be709010a0502ef09010182b94f09010a6cb63909010c51c6bb0901021f4d3109020c2258a50901008abfcf09010124ab40090109eb2a2f090204ebff3609020b106d04090103a75f4c090109ff727f09010b2b256109010b61acce09010339be860901001fb231090105073d650901090adb6f090109a4f89009010b55e934090105e73d080901005ea21b090109f5f78b0901008b4e4509010567820b0901070e69cc09010c6809ff092f0b8f6b4609020b32ace109010207a1f8090104b4d5ac0902001eb0a2090100146b92090600f0a9c709020c6807a709360c15164e09020000b20f0901003575a5092503fcee1e09010a4127e4090100c6a402090205b0a97f09010064f1a4090205678dc909010069334a09020b955573090109fe7a6909010b2a989c09010687a8e7090107a09c9409010a81c1d509010a5a33bf09010c66bb1209010a32db290901003515870901055f03770901019cd93c090101571730090105678f7d090109cdb2160901000923c8090100e7171f09010030f41609010b17c7d90901054dd2df0905048d7abc090101538ff7090103ff66e709010938ea8309010000002f4201e5111d61f778000c515cc13278fc6fa250000b20d5853902c5a0525826eb00198ea73a01f04119e726ab07dbf5d1323eaf68e46f0008061fa53927c1250c1e32fe0133961d32287da4bef1000a1ecb9b3a06b5ec39cf3965067fea23323b13b95877000c617784322a4cf9fd2d0006625924322a9a3acf63000770e63e3ab017421402cff90b2648ac322811cbdfd90005bb81993a16345d84fd7ba006771350322811cbdfd9000c41cf8c322f58aca323000b8e6e9132d4e04b3c360007649f72391ef1b2e7fe60000c2c69cf3a0743da7c0b1c4708181dd232285e5fd7920009fde3c73914fcc59bb696ff056747893226fde45ecf00005797e4322a18d8824e0006bfae4732356b3cedf3000c376c6d322811cbdfd90004f0967732db65bc758c000073e7b6322f67162a2e0000743752329f7f3d0eb5cb00e75fc533216ac8e375c000561d0932f640e036610006b469933255aa0fed21000019a12d322f67162a2e00036d11ce3a0ec9c052e1baca0800f85c3278a1f544e2000003f9f9324df4f65319000c67df913251da5cb3af000b24ff1939354a6ba7a180020766b1ce3271823e01ea000c68011e3a343b838e24f88903a766c73a01435982a96300052e733531e35fa931a0000046273a322830402975000ba8d5df322f57dc0560000117fee83a0ec0fd33aa32000b44e366322a6c38eeab000b69876a32270b2fcbaa0009a5ad6b323c2d72f73b000556cf6a3a3830032768a0000bb23f913112309ce54000073a596532357a7712c10007287b3c328dd089866400085e6193312d79883d200001b8cbef3229770747e8000a419af53942af372e6f20010264acf732bc926e31bb0000028a8d324bf72208b0000c67077b3a03761b910ee9000c08b8b83917642f7a93e4bd0bfeb0de32c4e6e72ce00000b2c027316d23ad5f800001308cce39124b95997c0aea0957158f32285e5fd7920000903f65390793f3c34e50030c6806043a2f7a8b284b0d220638f2e0323b12d6d9110005d03aba3b37b810daa23fdc0a3b71f539019fdbc389019c056d601332bd2efc5b7f0005dc81003226e74eb8450000af040e390728a1bf38f000007195003b257c71d9d67eae0a16e2143a14f68cc320a078019c89ca3b9a6e7f18365f3902d458a031062f3f95a0000b1d051f32277d0a778400006765e13a26080a264e369000043a133a1b1e27620155000bd9a58732a7db68ec68000005d782322a4c295f6a000032762a322933aba83b00008c61a2322bc5115f26000c67d1c93a1eb22be53345000014300c3a07448a4b8298000b06031e39065bc1c2d7315e05d2adbc32270b2fcbaa0006604aae32b1fee9a95c000bd4cb403234cf082c5e000b951344315af3107a40000561873c33e7dc91cd9228003b993c324dc4ca1fa4000c6800363299e1cdd54f00033f6a0e3a056594fec7584a0b951582312d79883d20000646b60d3a06bb6eb3f15c15066f0be832356e4fb5f70002daf38c3a07231c46551a4a0aed136e3a0643f444b194a50a3fb741326aaf505b940000cdf3843a07cc564ee727180594fcb13a0139dcf5e45bdb0b2850a632b1912dfe130000e522fb326b804190e200065937073a0820accf6a500002b4820c3a2bd23a842363160c67fde23aa03a8b22428f5505209e92322e72af2b4d000c0b3a2e391572c8c51ff82e086a9b313a523ef0b8932d00058884be3a1772f6cb55239806c64f943226e74eb8450006d5dc133a063eae9072467b0c60b8d93903e28a86bcb55901665829390e3b276187c40009f9d0de3941b4e2f9cd009e00658ca03251b4632f30000c5268c73247fc441bc0000010fa7b322a6c38eeab0009d9f5e832715f4b59ad000246170c393822042b7380000ad0d95032f745047b660002da86213a052f09f7852cee0c06e26f3a1710a4c929f0940000214d412b85e64d385c77b30009694f32297636aa250005fd944a32b1d618f7a300020083183a08adfb6136a4b2003c28ac322a2f8bf63d0009cd3d6d3a0101033d331c0001bfacb0323744c4db25000b3f3b9c323d37e08f8e00000532c6322f67162a2e000c6800383a32558ca5c52da10bd9983332b2aa765d240009d628a0322d910c4ed200041209b03249a81d9a880000001cf609020491c5e1323efe56dded000b94ee213902f5d84a4647480ad6a75232fa28e81f6b2f003f05e13a02164b8d282d0002ea1de13236a0e12586000678bd583a04b4106596d6ce0c0e701b3a3cd5042bf7fb20074748003a0d0393910a8a450b9bb088312385416c274a0b40549b3901a305729a68dc0bd9f8c63a02fb5d0e94eb76029b6d39323df73d9e49000b2daa043a13d3fc726a7b3f0af9e1273235e3ae6988000029fa563a02e02b74baa996015dd46f32fa29b8bd2e2f0b5506b63a2421dfc3d1f5eb075444923a037a2968c32800056d1af032e702fbc5e0000055ca393917968e9bddd0080001fea83228203566e4000b8ef68e322f57dc0560000288da51322810fb4216000b39f2c1322701a401500003b7a7853a0d39d8902fa80000066915324dad8d947e0005ba36213a21fb6c3f63a66905c643581102d106aa20eb32407fe232bc0007cb5f9b32c46d7b5a6100000d9aff324da9c2063b000bd9a3e232278e0f90ff000405f1f139037803638fd62f04e946b03a01df501fc3960005d038d13b30f58adea393940c08153e32e5bf87528b7402a7fb26322770127cf70002dc122c3154536ec440f409ccf4583908d0533492945d0c526ac03a01b09b3908ad0009c1f0063934320e8087ff610c1b5e6732f8cf62d450000017e9004101633f21bfaab53405d2c72d32993ddafd1740002678f932271d64e0f800091ba0e4324753be443a000567478e3226fde45ecf000bdddebe3235ada42c9700034a6a64410122129a8a42fe000c1ad0a93946b350891e1386000b1a62410dca9095f543bb890700171f316d23ad5f80000b2ab8a532d9bae8b7d8fe0bcfaee7322f57dc0560000173c42c322f57dc056000000f87383a4763879fd9270001ad5872322a6b6850e8000b31a6333261c4c82ee20005a709c532d114f29e1f00062bb81f32323f7f4bc3000272cc643a04142a767bc011000e503a32356a6c5030000ba8faf6322f58aca323000c68031332ce2977ddb70003e179023a01ea112ef75f5e0c5245b231651e854f700007a7e510327e36e2e51e000badd1c5312d79883d20000b0948c6390e232b7f90b18009f9c0cd3901c981369935a8081d25853a02db4480c5136700250cda328b033b890c000007995632cb246690640002695eb43903ca5465a9e85207ac1aa83a02748344f70b0005e31241322811cbdfd9000a16ba0a324db2e87ca40005f24566322fa33a0b65000a3f3374322add966f10000b8f8651312d79883d200001add144322a5c3421fb000918ccfc3952be7de57809690420d23532270e12e4a60004f7d31d3a01e3662d9197400bee5edb32942c4198ba0000001fa5421fb4f598aec9fbc305d034883b365663bb27bda109dadcc339023b57fab9abc8023b72b7322810fb42160000104d7f322a5b6384380000dc837b32356a6c50300006316c8839237dda214e6008000f702d411c85284fd99258aa0c680a013a1ca575c01115000aff423f3913d173da3cb9ee0afc54c5390a1dd6054868b0001076af322a5b6384380006c0a59e322add966f100007f36510322811cbdfd9000559058d3a0105044d7b72be09e8400c3148c2739500000a15e993390adb2d23d4f1c90053bb7a3229606bab7d000c5dd2f5390496452197357c03e732933231bf70bdc70009d4d8633911a601d552c7be0516fe1e3b2a4015f26990c60b4081df3a47fd952fef7c2f05d036aa3b34c1a6c9bb52fd037490e132b4faaac71f000134ba45322c199bd1750002dbe764328cd77d63f5f105552739322f58aca323000024b54e3a12c21704b811000000f5d1324db205fd3e000c59c9583a23f10a92d0d7000c6803153a2223f0aad3b31f06648fde4102fac121da0b06510b76f9c23a1bd716e4db0900030430af322a5b6384380005d030ba3b2e3fba4a4bd9e30c096cf132356a6c50300006b079ee32270498fbef00041358f5322830402975000c5efd2639dd8b4acbc77a1805be472632270b715c550000002a3b39c060f02190c8000bc4c5d232942b70faf7000bc49f86322810fb421600056749353226fde45ecf00003921e44102ac9ba10837c000031fb92f32718ce7e674000b5b327c3a01a5b28f1525000a0f1880326c95ac800d0006c09a98322add966f10000ad48e973a0d0f9cbaa2203a095834d5411f2178e1a8ab7001001d574f32356a6c5030000b257bc13912ed745f2db6c6003b539b31940307c2800002dbc10f3a03f7f77b2d9cff0b85453e32fa29b8bd2e3b0992c0663b1d0f4231a8990009f462983297ff1385f2000ae4da1a390468b4d98d051c0000745f3229460a76b00008115b7b3a47d8712a5b7f0007014da33226e74eb8450002d9a53e310a1443614f4005413e8f31246139ca80000025e081324df425b5560000c2964632b33c07301000002728623274f1bc97b80006293bac32270b2fcbaa00000861c0322a4cf9fd2d000bf24cd1327160dab3900000c2f2c63a12b83a3fdf3b0001a10d4d39d88c554f4c22000adfd56839042a69f4f3fba00a64d62a322a5c3421fb0000196c88322e90a053930009dc4dea3a0f35b653d0b87406b43e2532357a7712c10002db8b1d3a052baa2d561de20a4c1bcb312d79883d2000005b2e2539333fab2c9c7c6c0000028e328401ab13430005b3148f3a0ce50f476c3e260c355294390a9f639fe0e00101e5a2bf324daf8242520000001e0b41019cef1dba180e34028ed6a039018a0c4092045c099996f53a037afa87bdd0ce0c5dd4fb390333d8242113d502b6623b3232e663e7c300002f4d7f32a857c9b986000be5f07e322be432833f00051223573235b6418bc900009894523a01191a09bdfa00063fbd9f3a012e2a4d79260008771082391179237adc68440b7e6ca93269d57a4088000c515cd039153b43d630197b001ad4053228210604a7000b94459d3229561b2f22000bd0c4be32b911de96b000096b03c632277d0a7784000017e2893273362bc8ad000a4b3fbb312d79883d200004461c2231f5904616e000070017223901ce692d85d0ef08f47ffe322a08981ad40005cc9a453a054440fd31100006eb2c8b3a23d6a64b3bd30000781b5b3a0bdb2f3e28709b00657a0d322967cd231a0009d4263c322f67162a2e0005e7fbfe3a45aeba54a0a7000b85f152322b176c3a44000b1856dd3a21c930528009ac00014c3d4107f67b64c9c589c50401050032abab044e560002bf5a793a0b2f4987b940000820a29032270498fbef0002f7e7c439226a8e88a3cc460000f5e03a2402e3036eac0005d9ce71322ced9fcec700017fe73f411a60757d070cf2000ab2c07232356b3cedf30009eaec2c3902a8c3eef4bdf10536bab93b0bb897ffdea5290c6802073a18b53e98fae366011911c73269bcd814a600011eabad322810fb4216000a291784390398664f09f3a70bfefcb63a02ba5971f628d600b1e4593910bb4b0ad579260c67ee413a023175f84aaf00009d197a3a0985cb050e8a7602c0dea33242a4c825f3000003ff353229770747e8000b1fffae3a04ccd605d8bb0007f05a5b3a0149cead855e000c6803193a2e8727771b48ff0a6de00d312d79883d200001f8aefb326ac4fd8cd7000babb53239bea2a1819f49e20bcfaeef322f57dc056000056745ac3226fde45ecf000009413d322a5b638438000c0e77ca3a3e9c85ae3d7ea606f90fb43118a5981233000a5caff431766e2fc0f63402ce87dc3a14ae70a14d97000c01a96d39122116f028465a0bcfaef2322f57dc056000088ae0f032dc59a05317000b19584b3a172396df85cd780544f49932270b2fcbaa00006b60b33a012db205b6b800056745ad3227b12bf263000b5d01403a075ec9e69360a30b4fface32372b4625be0000f97b5f4207212ca7732656000b0f10aa3905907cb88de7b40400b0ad3271e1f57a1900095fdb52323513db4e6a000c1afa8f393f9808a3ac5731003ada48322f57dc05600000004065422a566631615bb5b800004440324c2a9c9ef300000b6e9c322c91ef7fa50004f62d423944d0e9914ca00406589ac2324a872ada7400003bec053a044295fed86f030644d56432356a6c503000079d46e43b09e6cb6ea4eff2086aa23c3a2af736c9560500063336033a08ba03e4cd19000c22a54d322811cbdfd90003b30853322d858bd6a40001c9c26a322a5b638438000b8d5454322a4cf9fd2d000a2a713532b5f4a848f00000204dbe32912d43f9cc0009e8ae443148c27395000009e8e55c3148c273950000001113e9322b8da1817900018197123a04d45bf4dc3ccc06da451e31020a1f6a7900034a9b4d3a098577d4ae7c000bdb20ed39a5c06a979d684101572437410140500ad528f01f02a835dc322966fc85570003f3970d3241127f3e350005e804de323b2b84f0b5000a22632a3a070aeb2b01585705e8cc8a391930514375200001add14c324df5c6f0dc000c15185432495f5531120001f11b9342018e78b1397ed9000a60083439012d908be563250545776439277c14d8cc4f7c0b358554390843669f6bb4e100fb054b324bfe9b57d10006e346b04104dca0ca6af1c8c50567493a3226fde45ecf000891af2732285f3075550001828d41322fbe7dbf9800092dea034103810f6985c940000a66ea4f32b4e297a855000c517d543259f4be52f500020717fc3a0cc93f03899a000c672eca3358e0ba35b3000c2258b5322811cbdfd90000131b163a06bdd7efdb2a0008127dca313691d6afc0000124a56e322ac972a1cf0009eb1fb43a0159195a41640003b356533266b5a26a77000b103ee939064fe25927e76f039acc16322701a401500006107c5b310345b9830c0009fed9d7323a40f7389b000b61a0ae322beadb349d0002be170b39083b2ffef84aeb0ba7419d3a0e35fa931a0000001f7926329d5411b6b40004a3dbe83b1e7053e20c7ba508feed23324ba179dcbe15099d6cf53a01e664745bc5020b55d8d0323c28f4989a00059174363b072f2bcf9e07bb005e825832285f3075550009f5e22432c17732f229000057c1e2323ba81b62bc000bf6e3fc312d79883d2000056747933226fde45ecf0007016e073226e74eb845000c6804913a2ca0e536ab5d910b8f6b563a039bbf383c98dd0b32ab86322beadb349d000207a211322f7720ecbf0004b4a830390149c21822556400011e7732357a7712c1000013e14732dccdbd29320000eda10c392ea24f4ea033780c68020b3a3348659e826a4a0c14ddc033ed1b17a818340000721f3229596991f000003558e23a04c43bf509890003da1243391069d0b428cac30a410b2139027cae0e8d70d5000dbfc53a05b7b60044e80005aefea23226e74eb84500006145fa32bb77a26489000567493c3226fde45ecf0000233c193904bb4ee9020ecf0c51976739012f0b2ba3a0000b90564932dc877e70890009fe54073902114e1a1519300b2a91993a0104ae509d09000687a60e32d41d81fd4800078f11223251b4632f30000c67d1d73a1e66a2ba70a8000c5268cd3a13a79dca1b67000a78f227390b3c83fe966f7c0a59c3d0322685433432000c66bb1d3ab9fb739325a5000a326b7132730570882000003499fc32ac97e6125400055d1385322f67e6c7f100019ccdb439d88c554f4c2200015704ba322a6b6850e80005674b133226fde45ecf0009cd90283902f25cac4379e4000913ab327db8ecc83c0000e6ba96322a6c38eeab00002ff8bd3ac38f22a3e60a0c0b17a27e3901af152105307305488c9c32f1e2a3064500048d38093a025f94052c290000c52e4a32b433aab01c0003b031e93b0ba92c6de0f24c093898c9323b9b11868c000597bbcf42397f022f767c7a7c0000002489010000000000000000000000000000004d070a5197895200000000000000000000000000000054070a5bd9006d6ddd63ddd4a2157b38227c662e6d7952854772e2f3579dfb6bbe6a81973055070a5bda000709fab9fd95a8a0c200e329921b1b8d6800f788144e4daa7e50acde6057fc94070a5bdb008ffe7c315ac533335a182ac2b299acffe92810b4d5a6f3392b44c18bbac8e384070a5bdc0000f66c0a665811bd0cc14d319339151f8f59ef9ce4205ce2da326a8fbcde8512070a5bdd009fed2925bae3fdcc8e876587ae7d84a49bb7b05a241c01ca8c641ccb28e27fa1070a5bde0056a07be9babf358e6939609d16bdaaf25d0d7d5ece9e955b7e61e0fcbbc512a3070a5bdf0009900c19f7270a23399e2a1cd7a18623ba071b7d024853be75ac912159ebf289070a5be000bd852a8b80acd256fd209287595c4a4b487c82d16bac6a306b9ade6148f8ffcc070a5be1009982bf903474e958933dada56128d7003252a71340d03bd2a93baa1f47f7f4cb070a5be200377be92ff2e22a80607b9682548b57db6a1ff7b4e853f81d79b1e06a8464fc97070a5be30061bd1f1b93743d45db854d7f211309f3eff323ee728152b1b97d956f2c4d3823070a5be4009290725faece0b8804c81b21f62a92b06acf54e28ffe8bdf870aa2ddb7e09130070a5be500697b1c38d6b9582d41b8adf4a41a0ff6c20e15bc81c3899db7a61cc594f448f6070a5be6002efa65cb2ac822400156a605ab9a435e1d3d278e825efa3f2435cfdf652bedf5070a5be700c162bcb089f06c0cfc7f00e2e4863e2badd3e086db45acf08b852b4e5916208f070a5be800d8839e92cd3f6b32e5db6dc273e928e88c3fa42e6aaf46d0798640745bda4712070a5be90074e96903c0088ba0a33ba5f1f3b0df345dcbf84d5a1ab344b56961964430218f070a5bea000f4ffcffbdcf3ede64895966ff0004b664165bbe0c5ac5877fa9a2004cf4e991070a5beb00f9226300947636f58fbbfcc0b2ea48fe6b8926a42fad01ad8bf17222532377b3070a5bec00144e5d780f5e8e63ab026594b2b646aaf4331c29c2aa3a98a8b2a2232586bbf9070a5bed0042c638e91fae55af2f7162c90be63d81e7d2a8d0c9c9b0e188566b1ef0f6d801070a5bee00f856242dda26db04d3bde02025e471aad0ddd5e990d3e0d56f0e963503c03ac4070a5bef005b5ecbc123ea027d3fd8fe859b92ea983a6bb09d02926cbced73163d353188b6070a5bf000c3574ca2d0b213f6580d8f2a4db53f9cf00cf62bc1cbf37bb5ee4aee314f7fb5070a5bf100baa903bbb707977a5dd902a116c217f00a5f5a3ebb4054c9b5912274d5d1e3b4070a5bf20013c90febf653fb0348d9699ddd7d8947d59ddb1bbc32035985a47cbb24a2be60070a5d68007ac4b937f9565187f243c181707b57a59fd1f5f39987b15b33419a63ca72da01070a5d690072d1ade4dba274d2e1ad9455a658036f58bb8e6949f61b8e20420ec2e9d61ec2070a5d6a007188ebb23df5cdde059cc951110a7f73d528063c1605776c43b0eb5770d32928070a5d6b007c0fdbe358890e7bbabd96af73caed7804a97cba21783a050b88674cbb567a65070a5d6c006b4c52b358482aecc9d32e881bc54015fdf330b2c8e9dc2eec54074d684dd39d070a5d6d00b94b9d12fd4bcb411a316ffe858dd56ac6911d118663cc99fb84eafdf7095937070a5d6e00f1c1ccb97fc759e38fa46bed43b4f3be2f317cc73ede6e3143f23eb853e06b7e070a5d6f00e13d13242407f1de4f35d773c34319ff16b3689e44ceed365f6cd63680c3d030070a5d70008c29eb8041bc65d83ab58c2da3211baf91181436a3b63841ad747622faad981f070a5d710090303b47416508494b02ef5bc09d8c5ebd82aeb714ab5dbdb5d3ec2daa8ee5a9070a5d720031cc2923a8c7151887f9ba4ecf0200e239f34e1069e9f965997ddf0cb53b5d22070a5d7300f91229b9061141167361f7434fd4b72bf0d3e96e780c07a772f229e8b92ebf3a070a5d74006b4df17ac3c6cf19bd6c9629fbf2da722dc1170911a1773e6e7893135064f1c9070a5d750097ca97d150a2073e39dc94f8b0d9a9a6f88420fb532854aca77603f1675f37eb070a5d76008582c2e971c1b4a19f2f3fd9c3f4a89e36894a60abae8c4c8b2522027cb15338070a5d7700dcb00fc263f4cc921eee1c92673d6eea3d0b2ef62973104e5e8578ff34684204070a5d78009246e2bfeaa6057a6094f47c3fb865dae8b3c37a14580fcd3b1077175be4052d070a5d79003365ee5d0809baa3b40b430e00295269ac70b3d8a7cf9a7e1495ab27bf27b3c4070a5d7a00c458c29d92e8a8f8794f6feb4cec8fa54472c8b3c3a3a3a3a25ff76f657a08c1070a5d7b00ee18964a3e32fa71b872c951d43e130de1401309ce478cc0b5de678fbaac113e070a5d7c00c90a52fbf38019fafbac330dc28cea28f37ff93d139af7db00f9437ad1c0b042070a5d7d00fafa57de19eba9f28dd376ca2a6536fd93e85c7d833340801e060b5d68959def070a5d7e007069c6eb8fb74dc61c32f9a7a4ee845ea4d2ffd3e64d411e3bd60b72cead5e37070a5d7f00022beaa918accdae2feec5f9237a2ee83d4b82f265ce10a24d772774a1a42400070a5d800062a78e575d55449a5c44085e8d183504e8423d19c22de694a52e50bc5bb1b082070a5d81008cbd7b1bf67f3d8bec0a0414099c3121ec834fc71571065f15eae86df2650ffa070a5f4600d4850de787c7f43b65848bd2704a33411ddaac19bbe343c76f36fbb226c09f7c070a5f47008bd4f9a36128af6473be2cc7f3e6185df45d207b9eb375c4b3896769bb7d9395070a5f4800f8f2044fea300a28e9baf449e9908308b7cf41cc3c94207c7c2cddbd80694a21070a5f490095956db16a70150ea5cc2dce87bcb0bd142a8de3ab43b76e1be7d05b6be6ea09070a5f4a00023c43e4072d5232341c2f8f7105118e040f75b94e8d8514d1897c0d4cf8f374070a5f4b00cb2355cd0e3da87b2fca7f1e10bf45ea7ff04b6823728cfbf3ef28ed50b1b9ea070a5f4c00d0766acdca630024fd9e93dc0faff11e4088f53382b9ab594a3e0216fcf8dcf6070a5f4d00d4af8767239c07c84c2d913447ffbbdd2eb208a6442e2b73b1479ef8052f1c10070a5f4e001031fc14a65bffde9d99bd4217249e0702e3c1292a363dfef4d0df3c87f646c9070a519800040dfcda364264a10250a8351d85760e5f1c792e1b9db6bc5bd1de2942992163070a51990010a917a1b1b18c06b4185c56a71d7324185a40157e4946c2a220c1b8cc6b8125070a519a009143965d07019d59398f22ebc20bd7ec5ec20ce33528047b5f786329a4d37a16070a519b006c01d762f30c93b4c3013d4ecf8a9949439a474ccfe9fa2ff1355ca2abf0a303070a519c00d96f7c034e15beac5793b085f44ef0651af9a93a000a7a4b76b41b951836d264070a519d002b08d63b52cfb758f53ec40ed6b8336fec91385f9314120a481870e9ecb29ea4070a519e0082c62bde8e27cb11b1830685f112856273ecee17840f761b3c1f8d999d49d6ca070a519f00e18edf2dbd13501903870e36b56b5a567aab1cd0cef198c4fba92c2c834c4641070a51a000ec127887571a1cbed8589954e486bafced260a12cc4d64270eedbebc8bb3ad5a070a51a100007808b24cfac2044ffcedf329826092efb7dad9071a3386e34667a8c6e207a9070a51a200ecc041d8572ec21390650cd1cac935a8de9b47e24097071cd8d867f1cbe5db6f070a51a300584739c60fe19e4be6127ae4241430e63758e1b8dd181be3ec1127561e5deeaf070a51a400561f4aaa956190fe717f30152dea97e9a79ccd8f8c5b2641e36bc5abf578303a070a51a50083dd8255250064311b6cdc7447bb2fe2af5734fd9a740e2f7bd7c8ece9a85ad3070a51a600b6a3cc5e298d2d526ba7d457f291f82e1bc23374e50dcd30e89039febcddf767070a51a70008508bc8161c992ddf482fdb73912e60937b8b8276e7befbdd4be54eb506398c070a51a800bbeabe7a3667da4b51a8b94b8ed9a3fcbdbd5b26bde1d58060fe49dfabc0fafa070a5bf7004a280ec902ab384c80401403f27f293f9fb9b64f3bf0312ffb380ba16b32fb25070a5bf8006d20d1f212370912efa1d590db2e560c18886f5c2d74444b3782ff5b0ad86960070a5bf900e35b3c32ee3db94bb7360466f310a021147325bef615b7ebfd4b244046dddee4070a5bfa001e0dbc9f581223db8c0bc92de7823a7c60f3f4c87062364a4f359461f49578e4070a51b489520000000000000000000000000000005404cd9b8b194faed20b243cd9d10b00a0dba8c0fbbba183fffffffffffffffffffffffff95aa3ba0c094696d112972607071247ed9ddf00000000000000000000000006f50b180a44533df10180ffffffffffffffffffffffff8346000000000000c05cdff5d0a500000a44a69449fd6824ad9b95702b410a44a695b10248edd51289e8a7cca89bb648ee14afe9383b6137a30055ca673903bbd58314d3350055ca683913dab918c8fcd300ae069b095b00ae069c29214b5a810600b1fc8b1902388200b33c1c11aa8b00b1e78621014b1f0d0a3f8c060b130c6808fa2102556bc106e2e8ac71060eba4d771d5f2580c4f55af0d806dfe728aa240000000000000023899629915b43fae0e5eb9edb06dfeb88a29854d091fffffffffffffffffffffffff8446d0306dfe72941049f5e4e0000018806e2e8ad1109990c6786d379435fd717081259938d77160532a9ed0c6786d4990682c5a4e34ebeb12fb14d5983e8634a22c20a0c36b9b4792cca63e4bacf5b5cd10324d2a8ac2b0c36b9b5990477339d209eab7ccbf87b6165a05c39e4150602831e4f4202fb6929df376a5102831e504102fbe64019dd65350b8e7d874904e6167b4922d798500bd2b8504918650127cc3dc800000c6807c14a1b1ae4d6e2ef5000000be4a3da4902b5e3af16b18800000b8220b7030afcb38b4a04e6167b4922d7985009e8ae590901022d52a01af3d745022d52a119f419330775cf5e4155fbafdc33c988000a21c72842d1f3c1295de116ad0000015639711dee449a58b305c673c01924259a000f0f3d490193f24bd6d41100000ba74de54901040ac1d852a1a41f0000215041e9251466e89f46320c1608bd03000021c64101c477b9126962cf077630254140ea3a16c0959bba009dc7e9030c6803331303050bc7f393427672bb4157efc3a90a38ff6d291b6103f4190a38ff72f106e1000000000000000855b5b3b66a0000000000000000000000005b8d7f0a3900fd99a05183cfcfaddf218bfb3cdd50c9259c7c08100a3900fe614b8f82b2fea145776931c3580c5ea8a2030c02aebb81c86d6ea56a1115b76e77ff60a3bd7b2f0b98862d893c0000000000000000000000000000000004e468a05103830e756d6e90c1f6840a60470f4921aa81897338b5df6b04c7e4bf5203830e756d6e90c1f68401b401364a21aa81897338b5df6b000f7641490193f24bd6d4110000000f76423a16148d3144922e041f12ecf101810000000000000000000000007cb9ffffffffffffffecf0504b95f11604258eaf5909cdc071e8a2b2a49315ac04258eb0a13b0f43acedbe1a5c683f1d1926ba5391134fa7e00153fa441a2ceb660153fa4539041533775289600153fa46110100015408bc3138682b16a000015408bd5105207a0234ee0d634c000155a137390846e94ae9209502d98b76096b02d98b772914e31dae59039809cc298c39e3218a03980c01292a115dbd4202d9a56e11d83c0542e1f3494efbcb440149940000084b25ca0305c64e50310156768521d40c23b1e742023b4af5ee4800000052ea914a4ef98ffa61d1d121d404cc8e927102a44d95485a4cad0f075164febf04cc81968903feaed71e34638bc44dfb75189dec1a4604c272d4aa0f000000000000000ecec162a8f52c310118b096c304c272d5aa4639526cd70000000000000000000000008c1859f204c272d6410109a3b00000005804cc8e93190186a004cc819731024c57b536340c2cf5c281017c1d7b9875cea9b016f67a025c06d20c2cf5c3992dd01d70de3fd1996b3392218d84b5c6b5506f0c2cf5c481017471f7d38aaa339b93033f17148a8e0c2cf5c5992d26fc22f757aa27d0f6ecadb03b20fff250bd05918767095205918768290fa9a8ac5b05a4deda31058160c9fc6305ae0b3a3102da016d8e4f0597bbf12a04cbcd780d0c680a272a0aa6d5da510c680a28290fa9a8ac5b0b3dc6c70b01072b4fa5211e3a627f0803977d13074a00d1e36022030176dd00d1e3614902b247fa7757ee000009a4f8df090103f40694090103f40695419f325f4a4e0a91d903f40696420b9163762a3984a703f406971117d703f5ca7e5918babe0c3f8264355d065f03f5ca7f5901cd18a7d5250e029941030b81673a09010c680909a2974dfe99c61e93bc863fc8091f8c6948f693b58e03cfea0509020c54a13f030000928a1913ec630000928b3a01d02222f7ee1f0000928c09620000939829900127da480000939949045f1622cf1cb4925c02cef47819a71b5b02cef72d39086727102ac37109c0754f090106534d6a8902cb15f25e1bd992a6be8194dc6fc75d310652ee338937000000000000000000000000000000000c6807dc425aa86fd5c7f81c5c0b2910b641b432ebf0af45b1420c4b625842b432ebf0af45b1420ac1147841eb586625c40c51cc07782a0142eb586625c40c51cc005502ae19766e41005502af3a0ad21d9f971e8d005502b0096c005506dc299139616b28005506dd49046e64158b4d62942c085da0520901085e61ef090100001f3e22138ce20007a8a0941902bb740c43d98f03003b544a21047eaa720c5480a1030b1216cf0b010b2b03d421016d63950775e4de191f5c36074fafaf198a956c06b5d9d91a21a32409e1e459110fc201af5d8e03029b178f194349820c5ec3d8030bac5edf0304cd9c331950755d03d46f17210f91b3590544110e0309a8606522015d537b029ae042210d9d2f72000f851e0305f312ea81ffffffffffffffffffffffffff9da130086ab5a221037bfcd300f1d782194c4b400046083422037bfcd30b0b04e9030b46da6c1a1afa8a0a6742bc22017b46330935bbc6030000219f2137b6a3a401b7ada42202686ee80c6022162101c9c38004c2732f211bdeacda0acb35850305942c2b0300274627194c3af209cd02c81a65f3be001994a919124c0703ff7866211a4fba0a00aceddf1a4c4b4004c7e4ea210f4327ed0a293ba51a2c88020b0ae8c01a75512b07cbf31503036e1acb220129bdd20153fa591a2ceb6602f7eb110300f0aa8f220214a5730102ee0d03025b4ddc0307cebd8d03008ff8922239a47ca60092d30f221dcd6500084bb4c6030687a92f030c67de5919976e6d000092a91913ec6309fde86f030a854f3729010becb92609f83ffd123cb109e1e2c0210301632b000021d11939565500fa05281a74a37b086b56641997a63c00199762220177c8d70a32db7e1a4349820ae031ae1a32442d0c643349030a3bc80019e287c5044b21fa0304b4d64b03088b1ed203034a043a1a53e83a09c179bd21018722430017918721030c4d520b258ace030b7e946d19404db30ac22e420306378d32030c61447913016902bf6eac1974a37b0b2076f01927192409eaf0c22120daf6fd0c680a361a1529de09e0930719a1d339086ac1f02101d42d5d076870660306706b42030c51c6f4194c4b400300f28d1917110a0c67e4af2102985e8609dafc861a1cf36b0ba6b530030018327f0309f9d264030a3bcdc41a170b070548bba821381fe6750728854a2106b5eb9908570d4f03017d0e2a030548b65519121b9c0597c0602286b4dbd405150aac03059ffcc6030339bf551a64a225058a22ed19fdd40100008330190e5aa80c2b4d42030c61447d0bf2007fc4fc030c67dfe219f8c2680c4956af190da9e809eaede21a22e0810b2107fe1a2387070c644247210b4aa8ee08e7907c190f42400829f019191895ec0c680a38220f54816e00e556a52184eb185400c2a10b220d9d2f7207750b59030c67d7d419e3a89400fbefa829012aadcac000a64da7030bf926de03005b4161030a22e712194876e303b209da0a010b90c1be0305fd9627220423714f0389a14119c93f77000040a62901b38092c8060b2df31a09c6490719cb2a0301f71ead0309f1890203056d7414210265b37404b8be370303cda4d821017b463301bb1af9030c67ee6f1a09c6490c558922030542e2442256e6e06c0c1e31270305fcd106210171f8530a09848d21030be47c05d483fd1ab4b3790bed89a21a0f424003bd2b6a19c966870400b3d20307711d662106916061007867af210423714f0b770726210129bdd202a8ec65030c23d02c0303a7fd1421037248d80ae580131a365cd807582e02192ceb66080621c5030b6353d31a0933fa0ba997881a2778340b14abe3030087fd6f2202a5692a0687ac4c2a010becb926002538d4030b209e8b030c38c9e10300147a2a210125a6100bd0d3f1030601f16219f0e4250c5e3ab31a64a2250c6803622102a5692a09f5f7f522138ce2000ba3650021012657db0b6f9f091a61dcbc04083fe21ab85abd079e007e21370b6ea00a69dcd21a0933fa0c680a3c030c680a3d030b9555fb1a2ffcfb0583c73d19a3f3980c67d4e61b08f6910c5b016d2109404e43098895ac03005b096503072296d01a3ca16d0aed19351a4c4b400c680920030007a0372a012aadcac0010e020719277834095fa58203080631ee03099761c11917f6de057dee3d0304c25216220f20476b09d445bc0300b1e84c2101542d7f0ada781d03005502ec19766e41002a6e1711d5c50ad615fa198b00e40c408f11030b60bd1c030b5511b521015d537b0693d68a212050fd28005483bd192fbf8f0572d34e1aaee69a090adbde03000024ee220201652e03420afc1938173909f9c6061a1735df0c6445fd1332bb0c4d126d03074fcb7b2102fbd5750c59d5082101876df40a15d24c1923cdd20bc86bf0210b4022e101a437d60a0109a10adf19204a9502cef4d01104900c680a400305865b30222791efee03798fec2101dfd52d0b33ecad03023a9b01030b54f6cd19d4b5300a2a8e9221012c9fdd01bba05b22032dab8c03fa370921083faf3f0bf8ff1703054757bf0303971d731953e83a09dd5306d1026cfffffffffffeaa06cbc6293affffffffffffaca8f0a9d0b309dd5308b9019945ca261fffffffffffffffffffdf6d885ca3d3875a09ec7a50b120fd2ed5c663fffffffffffffffffd5fe2ef583868390c44f30bb1014c03a6c93dffffffffffffffffffe59395970c4a2409e7ef9ab90176fc97a9905cffffffffffffffffe22811d7b48ed4fc0c4d079b030548b67542c9e3d2c58796218d056816ea59037bd927138600d49b4d90054da50d09270bcfaf66030a46e7f709010a4c1c3509010c5bd888090109dd531342209277a35c2c78a60b9aea8741209277a35c2c78a600fbefbcc99c000000000888a7d3486ee8fc000000000022acbedefb5f5e00fbefbd090100fbefbec21b12dafbfdd0c316fffffffffffffef05a67c16a75940000010863a35316a253dbddd58131cd890c451d92ba08a4df4daa4772ffffffffffffffffa925507d569c417e0c2e5ba34b2c0084229a1569df370c5ad8644b0ad5346741605a9e9e0c2e5badc20208bd18cfd592ddffffffffffffffeb8fad8f6a3a87d0bf088a0e048189944a67fd8887d4068d29134fc834980888d993890cffffffffffffffffffffede8081952df0c5d6a5e930db4fce241dd331254b45955e759b9906c9303d46f36c96100000000001de9d0a296be1400000000000716c5b3a2c19a03d46f38c201698cbb5c309527fffffffffffffff1d706c6154911e07f0c59b2efba1a61815fe4c121fffffffffffffffef77fefeff0aa5724042b6310c2014443fe6005c4b2fffffffffffffff34cd852b7ebecc0bc0c3c7a4faa14c2b90b47ffffffffffffffffffff2fd9791c6c700c5f9f89ba0ae726d98d041bffffffffffffffff92af5393f35e5c3d00906feb1903cd60009027a141053b66e17d45c8c7008ff8c42239a84a060c60fd6b29056986fc3e0c60fd6c29109c5d155b001a667129109c5d155b022d7a9a29056986fc3e04c2642a69029cd0dc9601befc844e95506604c25506891a99f2e294e69eec28fa1a6b7c16767aa104c2524fc1010000010000000000000000fcb116aeffa3332d33f00b0a04c25250aa7433e70f1b0000000000000000000000000000000006ff262b4162ebbefa000020c504c2642b11072404c255073148c27394fff2010f3865030ba64f0709010bb2404f090101053fb3030a64e88f030c68093e030a15fd4e19219c8d07af16c303029b17cb1a42fbfa0c68065a1a06a0980b93a5fd030c68093f0304cd9fb31ac47e710a0352ab1b0c4033060647131a4c4b400c680a59030c68025a1993c4db089ab9a3030b72b260191557fb0c675c0f29010bfbaba90574fbde1a4fc54f029b1a471acb2d600c67e71a030b4cedcd19b8848c0a854f6d2a010bfbaba9086b56cd1a97971d0a629a691942fbfa09f46490191ed0a907209e531a5b8d7f0b40a2c7030a38ffd6195b8d7f0b0966290309f70c441b155dc209cdb28a1a26f6c80ac4d56919debe710c68025b1a06a0980b0b3aed1a4d8e300b0374da1a2ec1ec0548b6ac1a121c1b0c680383198006490a6782ca1a01d3e80a74b18d130c16058bcb9111519008ce49311176c70589dffd210326ced0058bcb9311cf840a46cf031ac96a80022d539f215b6684f709f66f8b1b155dc20c526ed4191e65060b437916030b3cbdef19f8c4c00871fb5b1990b19f0c680a5c0303a7fd3922036a2d9b0903f15e1a93c4db081258dc030b17f0ff1a43236f08cddc0a22026ab6f00a0395bb1a12d6c40a4684f91a20807006dfec2219bb6a710c649e170309851e40030c680a5e030a3e1f4e2102c677480a0f266c1a23d3540bf2a29f030a41b3ba1b0c40330c67fd060305865b6f2127939b3707ab051c030c6806663357f30ffacdaf09e1e3004a02bbc099d5fb6d81280bc3a2e5030a4453cf41c05cdff5d0a500000c680667030bf2a48303005483f3192fbf8f005483f41a2fbf8d005483f511010f0054953531023d3340b4fa00549536310236c03d4e720c50989e0a080b243d32030c23c025090804b56839c2d6dd7ab17898f622ffffffffffffffff2fe802be26151a7504b5683aca02a36f4789fa589414fffffffffffffffadebcacb20b1ca37004cd9cb28952ffffffffffffffffab92170ec0b4ed7e04d06768190364bc0c5f584e0304b56840c99897a77f8874d8e4a400000000000000004f0f3a878a5763b104b56841d105e853ffcd7b1bd168c2000000000000000637c4cedc5e64372e04b56842895a00000000000005e853ffcd7b1bd168c204ccbf0331367f0f4bfb9d04b56849c904fbb05e29a93b2adf00000000000000017bdabc4ad2329b4e04b5684ac90fa55fc849c633e2170000000000000009617f4a280cc9c31b04b5684b89970000000000000001f4abf90938c67c4304d0f752190331710c09470709020c680a6a030c6808193b4139ff1553628200d0e46c3903fa9a0613d57700d1e3c34902cd764c1a0ed7dc560c68081b030c5e8ed2030c680a6d3b4139ff1553628205876e804119d3a06ac81297150748c19e390fea68184f55de0afdf701110f0f0bdbbf2609010c5fc9b8098c0c34d7b909030bd65d4609010b8f018c09a00c41d03109c80ba8fff709910bcff8da09010bbb02fd09a00bcff8dd095a0c160cfd09010c160cfe09c80b859b3d09040ba8f73809a50c22a7d009f90bdbbf2909640b4ba04e09020c2adcc209780bd65d4b09960ba8f73a09010c22fb4b09010c22a7d709010bc564d311012d0b859b3f098c0bdde48509010c5fc9ba09010c41d03709010c2adccf09010c3f69dc09780c34d7c509dc0bcff30909010b4ba05009d20bd00885095a0bcff30a095a0bbb030309010bd9f60609640b8f019409030bdde48809780b72178909010c22fb5309a00c3f69de09010bd9f60b09020bd0088809010b72178a09cd0bc564d709010ba90003090101b402314a21aa81897338b5df6b01b40232390d74cd588d20000c680822030903f17e1a91ae9e0c68094e313086afcfb4f50903f18259045b800d5c97ce6b72ff2d0903f183410f87ac9ab7364f710651176c390c4611e277011400bc17a53907b7a66cca943300bc17a641265ab3c59e3f772100bc0e576964988e2f9ca76382faf3a116e900bc0e584903eb051ef2a61f90a200b1e8a121014b1f0d00bc149a6964988e2f9ca76382faf3a116e90c68095159015c76b8474f383b7749e808e0734169fe412349a007b6375cbbe79c4300bc14a1590182b58557823d4bdad23500bc14a241312772e8ee420f780a3f945639011648c153fbfb0c68082559049f6505903d636cf816d20a3f8ca40b1300bc17ab694e7ca90becece971fd4fdc2b1d065117724902706925fa818562160c68095319191c050c6809542102556bc100b1e54f3910786ceaf8a97f0a3f8ca6590d32a56f7537d7531ed9f9004c69d14101192d1069581b94004c69d209330bf1cd0b09010bf6e4a809010c09473741bfc0251dd96f547a04d01b80c95a0000000000000000000000000000000000000000000000000575ababd1027100000000000000000000000000000000003a6925fc60e0cb057f68a4413b5870af75813c370b243d48b12f47d6f93de7d412d100000000006c8de48162dbfebe057fca93d1027100000000000000000000000000000000000000000000000004d01b83c9530000000000000000000000000000000000000000000000000c5f5872a9438b05bb3e6e93dd000000000021ed231b1b090ac40c67f860a90301b8236a6237e80000000003867715cb273eb69e0c67c289b10c1127813160048abb000000000667b65640bdebec310c23c0455103c530c2b6a7500687aa0575a294c95300000000000000000000000000000000000808ad477f33fb05f3ce5fc99500000000000000000000000000000000000bbcd5e2e44dff0575a3a1c95a00000000000000000000000000000000396e5a6e245acc860b4cee0db111ce59aaf96c4721660000000001a672584024dfb12f0019fb5f1106910019fb601106670b8e452049056bc75e2d631000000b7c17ab4a056bc75e2d631000000a5bbc6603054bb4ede9440000000000000000000000003d74fffffffffffffff69b8ecd66ab61054e942d5901bbcf019b03df3c7f5ef7054e942ea10a6b3d75f2eefc6aa202326efd8f51d74b6abe8c00002156412b85e64d385c77b302db8c563905bb61e44c980004b58913421a67835a763b5b6403d46f524201698cbb5c30952801e36ec70309a4f954391fd7ab9a6e37eb0046088439514dc947af5000000021a342051164cdb739473101b7aea939380d19109f100004c273d34202874b1e2668585904079c00391aa4cb2630f102036e1b56391b0028e44b00000153fb38390415337752896002f689273904bd39622592f2009038bf41053b66e17d45c8c7002f56bc4102b42e2f31b30b910574fc0d39072d8e0e5b01ac029b1abf391292226e1c5da00a21c7ed390b74c7f337512c000092dc3a01d02222f7ee1f00fa0594390aa87bee538000001997f13922482f38a444ea09dd535039019945ca26200001af997c030a38fff6390855b5b3b66a000b7e8cd83a05d7359402c0000300f3143a0217907aa9c46402db89a7410591d35e956cb2000548bc4542051803f39d8e974200ad94b403004b24863af5a61df9971b9404b2453f0302009a06390880740a6b53b200009e8e39017ecd4caaa38408ce4959312d694efcb4000155a23b3102183722066e0589e0193a491f01fe8f8e0705d043e9410b1db9419116800000fbf00e421b12dafbfdd0c31705fd992e3a03e28a86bcb5590597185f392e7a36d85e9d05054bb4f93a0964713299549f0c680524420570a9ec4ff40000041f14093a130fafb46a0eea0087fdc3393db799f395cba60978133103097545af41015c2a7b13fd00000000215731343ab826e82908cddc4839382f51fa27dfab000871f0411b12dafbfdd0c317010e033b3a03947134637b48000024f131122f43d0889706dfec2d3a1100df58f432a904c252ae4101601cdf0989b552005503383a0ad21d9f971e8d0054f28a31689786263000000024f2392ebbb29f84fa31072eabf33a243dbe4b2ae6a30a3e1f9a3a4079d386312e3102cef7e3293abb90b98001bba0d3394f9c26095777f203fa37b83abf35527b40a1e200ae0745490452103a5bf1b02e7f00ae074f095b00bc0f2d490452103a5bf1b02e7f0368c5df0901000040fe422a566631615bb5b8022d53e21af3d7450313f97a1a1e6506000040ff421f8503008a9ac636022d53e319f4193301b4028f4a21aa81897338b5df6b03940b233a12c6b337e1696b022d5696215a90d0ca0313f97b411b2e51a2b6e9dc56000f107d490193f24bd6d411000003940b24490121ca814a8dfd200002649cc51176240283205e4202fb6929df376a51000041002901645ec4560052ebc34a4ef98ffa61d1d121d40283205f4102fbe64019dd653503940b2549076b9d4ab2674d200002649cc611762401b402904a21aa81897338b5df6b01b40291390d74cd588d200000d1e4784902cd764c1a0ed7dc56002fc8fc4270f5f9d3e35fef0d0b835c84410142001cdc61ef77028320604102fbe64019dd65350052ebc42156e6e06c0b835c85410142001cdc61ef77000f77863a16148d3144922e022d53e6215b6684f70394b1ec22047eaa720030075f31144b3e47de000394b1ed490649d2c967d95000000052ebc54a4ef98ffa61d1d121d4000041012901b38092c800d1e4794902b247fa7757ee0000000f7787490193f24bd6d411000000d1e47a22030176dd0b835c86320f30e478b53502649cc73a11d560af29644a003007604270f5f9d3e35fef0d08d99f3919aee69a01aea5494207a8c34d91966e190c527b021140000b835c89320f30e478b5350b835c8a410142001cdc61ef77029b1adee9b2000000000000001292226e1c5d9fffffffffffffffffffffff34d2a002a03ab89910317b59202b2d6e21d33d0732911ead5ea68a02a03ab96107a49cf3be6f948543b4ccc60542e2b6421cb6f85fd2e7522305439e7c7972986ad9ec2171280133565bc1183405439e7e39aad11b19a6df110197db7a030300f320c9d80000000000002671bf58283800000000001ec0b7646c9f9b0300f322ba0217907aa9c463ffffffffffffffffeb0565f44b7d60000304746fba01d6319aea5c25ffffffffffffffffed94ee172678145809f94876b234709d919f80fffffffffffffffffdf222e716e36a6d0c512557b20cee422dc8bdffffffffffffffffff7e54f60e21e13d0030076631144b3e47de00003007674270f5f9d3e35fef0d0052ebc74a4ef98ffa61d1d121d40052ebc82156e6e06c00233b0e6903ba8b37847ef8c3ffc592bcb30019a07189019b7e6885e057cfd94de9a8455396707900198dc6a9030000000000000002f6e8d8c462d415303fb8cb4f001997f7aa072f4327ff0000000000000000000000000000000000198dc741071f5d130000025c00233b0f1133030019a0723116017a24a3e70446096c09010453eede09010589e04fc101fffffbfffffffffffffffc46bc87d924c806938931d1d40589e051610378b0bd195189daed0d205a0589e05211231c0ac46ae3b901c3d46bb287adcef6cd04830000006aac0d08000023570ac46ae4b901c0f8f4becece38ae623e3f0000006a030c1c0000231f0c00e4a23906d70b1e467ff10bf3e4ac3916d589b158c07c010e0342c9a7000000000000490c067e0d4700000000000a24b91278d9a9010e0344ba03947134637b47ffffffffffffffffdc1a47e1fef8c0000229c717ba03947134637b47ffffffffffffffffdc1a47e1fef8c00003971e0cc9c6000000000001fc8ccc254b6700000000001548988fb4860303971e0ec275b37816b749b66affffffffffffffffb3afd9060c1a60000bd60722c201c89324ecbf867bfffffffffffffffffed7f934dae423db03a3cc8fc2322b1eaac33cc0cfffffffffffffffffdf78fc98ec308bfa03c5d197c241bfc647074d6f20ffffffffffffffffd55ee3384505b02c01bba0fbe943000000000000004f9c26095777f1fffffffffffffffffffffcd25474021967c5990613ad4cd34479a71cf4baa64d89aa86b6ea11021967c66102e2b4482a1b2ee4eb879bf8038dbb085103e8523f4cf16f1ed2dd0b625d544a0649d2c967d950000003971e2e4275b37816b749b66b0c67dee11305f003940b8649076b9d4ab2674d20000c67edc25103e8523f4cf16f1ed2dd0c67e2224a0121ca814a8dfd20000b3335bc030548bc6daa160000000000000015fe6b958a1def7b2cf821ff360548c0a861042836d62935a138f80f16550548c0aa11795d0548bc6f3a01152fa1b7813a0548bc70a937b364758d0e8b5f112f00000000273e350000000d08d000b56b0a0fd0cafba3ad4f70e7d61fc008d000b683ee58ddd1b8c2f74c59836726c83e71df08d000b7000100035ecc00000000000000000c69eedb60a6ee1c1836839a00000a2e57af1808c13d946bf79ddf75276a1261d2e8a4010308c13d958a58f4196928a34ef1e38bf9eb6e563960a908c13d9600010064a2c900000000000000013ccd5ffdf7f0100da967dad4000132804b730c09055b19720223674047a2a8812fc88d18197409055b1a8a544052657586fb99171be9ecfa6ba5eeff09055b1b0001006b52a80000000000000001498433241b4acccd421a55860001470d47ecae08e377ed7201d1dcd6d55189793a0ee38e0ec608e377ee8a4885c9fc86ada7510bef25bf71909cfd3508e377ef0001007a995f00000000000000015503947fe177358efb0cb881000176413e64a6090324767201e00c46e709866855c283a59175090324778a4aa365bf20a7829253d7578b234b063f6b09032478000100776396000000000000000153d079eca60d3516f8003da200016c518e770208b722047201b3e0ce972f08a410243fda658d08b722058a4416ffa7197831ba6277e542ecea53978308b722060001007f46ff00000000000000015883aee435fa37cc54002db9000184b7a9f43a08e3886a7201d0385e2708b91b559228c33a9b08e3886b8a485fbde0216f13213f417922fee6b9d68708e3886c0001007acf02000000000000000155f77a5323ed060f907a6318000176e312076308bb0e1f72021c48d97beb9eeadbad85fcec3408bb0e208a534efab3eddd71418465305ccb9ceea7dd08bb0e210001006c582300000000000000014c0467b830910343bd1c33f100014a307ee20e0969582a720225910be4fb3f4c8c90bba311ca0969582b8a5489cf1ee3eb5b7f2dab62b0361a6423d70969582c0001006b1766000000000000000148fecd25bc194a292d88d184000146576fdc5402db89f8410591d35e956cb20002db89f91a24665e02db89fa094802db8c965105fb1c190a119235e19002db8c97292715d230a902db8c984119092b04800c5cf00a6db00609010a6de0d709010aa19645030313f9b01a1e65060313f9b1411b2e51a2b6e9dc560000410431011321bd066c000041052901645ec45600004106421f8503008a9ac63600004107310174f70cbeee001a672829109c5d155b09a2bbf70303f40749419f325f4a4e0a91d90045800f39cccbbc3146ce8f0776079a429fff2b067f516068077603f30308086d3e09f108086d3f09eb08086d406a7996fa92b74084cfbc0180000008086d41f10835000010ec000000f0ffffffffffffff1452f91da725adde013a80000008086d42692e8af4824003cf2d4fcc00000008086d43f1173600002a78000000f10000000000000024f02b92d0e798e0114f40000008d02cf9096e08d02cfa292554ab87ef09093f3811414a09096aaa1113960903f1c21a91ae9e0c680873030bc36da2030c0bcf6a0a010c680996030bc36da403034a0510391719c7cf8f2a0408056dc803005484943a0d22f86191843d078be0f4a205d500a31e181944dac576d7972bbb392118112d04b5893e421a2aed139a1a95d80c67f8a0c904da8c9cf14366ebf8fffffffffffffffffff429dd2cc03f540c23c0a8d10553ccb59180a60ba9e700000000000000000005ab45276bb00904ccd0ccc151b1e495bd8db569000000000000000000000000000000000c67c2cfc908d4a393227c5018f2ffffffffffffffffe5dad340290462b60c67e53a22dbab80ad0591735a09760591735b29280593239805ba423c2101ca15e405ba70301129320597c1083209b6307c9ef40c6806d71b1beb8c08cddc7722026ab6f008cddc7839382f51fa27dfab08cddc79093308cdde5231116faa2d3eba08cdde5351019551bbe22fa1be472c08ce49ab210132320508ce49ac397510d063daac210a854fb3c93600000000002a21baf2469b0a0000000000021560470250760a854fb5caf3baacc5ef4619951effffffffffffff0c52eb6bea66efa0000aed1a22ca056050d42eed289e11fffffffffffffffa9ffbf025b034674e0c5e5208c2164927047cf102a3ffffffffffffffffe9b817330b3535660afaec0fca03760813504663a0cafffffffffffffffc8a29584733bc29b60a854fb9caeace0ab76b959c539effffffffffffff153f0e0c4a77c9d999034a051ad10456fffffffffffb1e59cdfadb8c00000000000566bd9b48d92d034a051cc14c5daf3ddfd8afffffffffffffffffffb3afd83bf3f024640366358eb9349d903cb1fbb7ffffffffffffffffffcb6bc2115c695f03686a39c102aabbc81b6feccbfffffffffffffffffd55bd2c5c15dc930356e057c14957ae340c0a9462ffffffffffffffffb6b55025dc36c2f2034a0524b926a7b17bac3315ffffffffffffffffffd95f27aa471b7e076d04484a01f9e8e7ffc272bce30458953c090103d01fd809010a6c2ff10901097c00680901054140020901052e746509010548532c090103bb90c00901070018080901056c5a8d090104cda0511a0bce710c5f58d9d103919a5f7f294feaedd3ffffffffffffffffffffffffffe19f250b8eab2b09010b9516e709010394b2b222047eaa720394b2b3490649d2c967d950000005865bd0222791efee05865bd12127939b3705865bd20933058bc6fe310bd3b219ac7b058bc6ff310ce03235a917058bcc2a292e761055cd00afaeac09090087fe09c10100000f000000000000000ed816fc6e728422594141ea35008825f9810b6f402e8d0e272e8fb5d3bd03b809d60852cbbeb91faeea7320a15c982557889e0000018f8a41950000844f04d0eac819b4ad700b4cee5cd9015f85daf9d2acb27b5c9b00000000000000000000000000b4ad700bc3a9e90303fa3823e9b6ffffffffffffff40caad84bf5e1e00000000000000000000083faf3f03fa55849910a46349a418ab5b0a0224d1e45227f5c8b91703fa55856107dc4d22178d82fa15c449ac0ba762f2090106bb6a91790e6ea4e5039aa3aae12cb7bb080d0106ba30c589b700000000000000000000000000000000036e1bd8c980ffffffffffffa430d578ee330000000000048a400bccaae0036e1bdab91b0028e44afffffffffffffffffffef134a81ab02db3b40c3496a6b124c297188c93fffffffffffffffffe8f536e0937ec42038aff47b913c2ffdfc4550bffffffffffffffff39ce58e97e69b119036e1bdfb90466e443e5afa6ffffffffffffffffd3da3152f4db9069074b456fb902b18229886eb5ffffffffffffffffe4fcca7033b085ee09e8e64809010c6809b709010b8f6f2f09020b9514db090202649d383a11d560af29644a02649d391176240c5ff8cc03028320874102fbe64019dd6535000021684101b9eafba6c4c7180000216f41e9251466e89f46320000217031343ab826e82900002171096b000021d4599d0409205c3e4991d20274000021d5510889add24f258c858ff1000021d631047aedee1eba000024f4212e1850350c556aac4101b9eafba6c4c7180c556aad3101d0af4b8c110c556ab009010c556ab13929c7d10b73563f00fa0672f108f2000000000000000aa87bee537fffffffffffffffffffffffff8b5c8500fa08af99d082926bbdd876495e4d2fb6317dec698f960a00fa08b061623e58cc4f9e902575730d0a03940c773a12c6b337e1696b03940c78490121ca814a8dfd20000bcfa5c9030b1eaeee122d1a0b17c8fa120c8f0a739ef712762402db8a611a24665e0a445449127cba02649d4e117624054bb595113d75078d41db1167af041f1455117cba0c6809bc030ab89d8712105b06c715ac03072eac8011f06a0bcfa280030a7db2bb0305876ee90b720a3e1fdec96700000000000c0435e82b4c5300000000000265646355344d0a3e1fe0ba4079d386312e30fffffffffffffffd79d5c1e1172380000a3e28f4ba37135f7bd40e4bfffffffffffffffdd80ac5edac06bcfc0a47afa7ba078f75e3ec7266ffffffffffffffffb43b2f1620112bc00c3f0b9faa1ecf3267d2fffffffffffffffffffecb3c045ca24c0a528342ba01d6df573e45abffffffffffffffffed9101a146aef4fa0a46cf6809010a4b40d409010c32a294090100ae07a6094700ae07a72911ad41501500b2155a3115220ce302d900b33dd531065703ddb40d00b1e60e3910786ceaf8a97f065117b1390c4611e2770114005b121f030b82a0e009060b7194b509010bcf6882090108b8450709020c07007e09010a6c4f1a09260a5ad61f0901059188b4e95200000000000000000000000000000000000000000000000000000000059188b5e9460000000000000000000000000000000000000000000000000000000005917581e95a0000000000000000000000000000000000000000000000000000000005917585e9760000000000000000000000000000000000000000000000000000000004f2809c4902117006df65270000049e222b3b14473ca46fac5e06c5b9240a0109fd90710309fd90720309fd90730309fd9075030c67ef2a12485009f421e91158ba0c6783500309e1e370210301632b09e1e3714a02bbc099d5fb6d812809e1e37211017209e1e4f829a6e77c559009e1e4f9519a2c2bda491472f295bc09e1e4fa191f8645004608fe22037bfcd3004608ff39514dc947af50000046090009280054801e3102ed2c26c7c80054801f49443c9c50dcbd675c200b835cea410142001cdc61ef770ba5d886030458957a0901052e74bf090103d020310901097c00e409010700185909010a6c303309010548538709010541404d0901000024fae957000000000000002ebbb29f84fa30fffffffffffffffffffffdfe9ad2000026759907e0e6c231b1c5abd756e3cb1f008c1d3f0645000026766103c0b69ad26b7f2f4913e62f00bcf87f0300ae083603002fc9584270f5f9d3e35fef0d0a21c87df1013b000000000000000b74c7f337512bffffffffffff2e0c3ed6a21ee9530a29749d71112bed02928d501af17b6c3597300a29749e8916927103ab543f0b242e7af7ee27264563029b18e8e94effffffffffffffffffffffbd0406000000000000000000000043498202b27be3794ee242faabd1e8658d4bde25c2d48102b27be4794f1dc83b5b375b1fdf53dd62f6fcfd022d576c29d71734a637022d576d215a90d0ca01aea60e4207a8c34d91966e19022d576e3101035c52116f022d7bb829056986fc3e0c5569380304cc98db6939c2c91aa2d5a9b4bf3f4d5c2004c7e178a96d000000000000000000000002e7cc2b9e42ae0f5304c7e638b10ef70093cc33ffffffffffffffffffffffcc245218d904c7e179421453716ffffffbd004cc98dc1903e83c057005b6a265fb552603d446648c1c202229b94f4bc564cdd4057005b77a0235312ac1af335d27a8ac6c8daabf0574bc0ca1387308e6a4b8eef0007353243e832c19a9a544b00574bc0d712e457710d1a7940319e8f5c7ebee057e18c3a13a83aaea30b52b770e72fb39550265b01f34687a057e18c471365c41a707e69641f4fb8b67750c09a2310b71047cc88526c5259f4fcd6d78fcfd08a6213a69dba95cbdace21dd664ba87d30e086b5809999796e90000000000000000000000000000000009a2310c11099908a6213b1101d603f407a7420b9163762a3984a7078d420f410b9163762a3984a70bf2a7450300bc4e240902000021b22137b6a3a4000021b342051164cdb7394731000021b40948000021da3901033b2e7650dd000021db511796012d3ab7bfa14b19000021dc2102dcb2ee09ea37f2030590b470c90100000000000000000000000000000000000000000000000005d04b102105ac35dd05d056503904a42ab2449f7605d04489410b1db9419116800001f466f30300ff318b03026e527b094f026e527c000004a77024a7e000000000008583b00000000000000000000000003bd209222105876f404119d3a06ac812971505876f410b7205876f4211184506420aa349345346dea2241209ad06420aa4198ba5050748c2a9593d93c0053d3ed733008f5a05876f4409010c242a70410e2715c359ff41840c1672bc420211426309d2f7d00b206baa410211426309d2f7d00c35718403072ecb739105593d58e3fc248eb7e4793283971984f2fc072eceab6972ba271dcc5da04324dea3123f072e9af5a90800000000000000000000000436225502d4b96091072eacd3a172a50ddb00000000000000000000000000000000072e9af642014b3169ffffffac072ecb743104322092fe90072eceac095900001d5dc202c90edcfffffffffba6e944ffffffffffffffffffffffa500001d5e5a053d71ffffffffff1628b80003ca1ab20f6600000000000001f9ffffffffffffffffffffffae0003ca1b4a81000000000000001503a7fe72e934fffffffffffffffffffffc95d26500000000000000000000037248d803b9330279350407badbb2daa07a29d924a0382f03b933037934fbf893929cf7679fd8fcb61df57309e8418509010c680b1f0901064160b5424563918244f4000006416bde424563918244f40000062baeec414563918244f4000004eb76400a010c519e2b1a0494510c52df89030c519e2c030c5973b8030c66990d1238740c519e2e0a010c519e2f030bbc8f632a03976cec230c5e0217030b2002f509010574fd36e94d00000000000000072d8e0e5b01abffffffffffffffffffffffb03ab105752c659906e86ea21b569a723471ac9a2a2e25674ac5e205752c6661035a49b78f46345a266966e807712d2e190f424007712d2f4a01f9e8e7ffc272bce307af4b71410b9163762a3984a70872e8451990b19f07af4b72326eb7f3ec9be0078d42321167af07711e8b3a92fa674c665b28078d42333a0fc0c6843deddf0872e8473a0ced5c4f71eb1207711e8c2106821e2101b72c92a9380d19109f0ffffffffffffffffffffffffd9791180ba6849609010badd37509010b01b8484904e6167b4922d798500afacf5c31048c273950000c680b244107dcad3d7bcb91cc0b97e0f46202af45109a024eb79eff9cf40b8e83d86102af45109a024eb79eff9cf40c680b27030c680b2809010b97e0f63225f9791ce2ed0c680b29091d0bdcf9ed190d59a80b8e83d93125f9791ce2ed09b685b13202499633c34809b42bdc29265627c61409a8729e2942a2fd6d8209a9a4353202412140cd8609a9a437298778adbc3709a861b822015f4fd409a861b922015d537b09a861ba095109b685b229845e3d01ab09a4fa08391fd7ab9a6e37eb09a4fa09391fd7ab9a6e37eb09a4fa0a095b09a4fb7c095109a4fa0c095b09a861bb1901fc59090b8eb80307b23db809010b8e905e09010b8f887e0901", "expected_outputs": { - "versioned_hash": "0x0131dafea4f0821e4a12ffc51667b0fd5762c944d1dba48af4f472efe573a750", + "versioned_hash": "0x01a70111f6ade45fdff137f00119dd45284d80e1af6bdad336419c07cec93f41", "kzg_commitment": "b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0", - "opening_point": "0x000000000000000000000000000000009151185fa59cf841b03fbe9dbff03eb5", - "opening_value": "0x53a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000", - "opening_proof": "91245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62", + "opening_point": "0x00000000000000000000000000000000b65574fcce3da68c6d7199110f1b5358", + "opening_value": "0x2e9ea79020c009e69d1d480ea0726dec69f43ab688f08c7852270dccbc7456c4", + "opening_proof": "ac2355d9a024ee3d77b8577c299b5384adcea34c205231bebb08ffa9fb5e33f2327f11ecde4fe46e0aaadce36b31c87d", "blob_proof": "a370bebe32974312600170a180d02aa0f44394b96221f95af357e696fdbc11ef917fe3b643ffc62c98d333385ab25b43", - "pubdata_commitment": "9151185fa59cf841b03fbe9dbff03eb553a6f7c5dded2eb722ae542f91debf5b470dfe6aae806fad0502732d04d75000b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b091245a6f63014e5c303719bbc3eebecd2cc1e6f600973292713666f1a4ce1b79ccf243abe76d24fee80374ea6e5aba62" + "pubdata_commitment": "b65574fcce3da68c6d7199110f1b53582e9ea79020c009e69d1d480ea0726dec69f43ab688f08c7852270dccbc7456c4b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0ac2355d9a024ee3d77b8577c299b5384adcea34c205231bebb08ffa9fb5e33f2327f11ecde4fe46e0aaadce36b31c87d" } } From 1d07514c50c3e4a6c36956d9d25b1f3b389b167c Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 19 Jan 2024 13:59:24 -0500 Subject: [PATCH 06/35] fixed dereferencing --- core/lib/types/src/kzg.rs | 8 +- yarn.lock | 221 ++++++++++++++++++++++++++++++++++++-- 2 files changed, 215 insertions(+), 14 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 92a49580eb8..fa1bda74af1 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -48,9 +48,9 @@ impl KzgInfo { let mut truncated_opening_point = [0u8; 16]; truncated_opening_point.copy_from_slice(&self.opening_point.as_slice()[16..]); res[0..16].copy_from_slice(&truncated_opening_point); - res[16..48].copy_from_slice(&self.opening_value.as_slice()); - res[48..96].copy_from_slice(&self.kzg_commitment.as_slice()); - res[96..144].copy_from_slice(&self.opening_proof.as_slice()); + res[16..48].copy_from_slice(self.opening_value.as_slice()); + res[48..96].copy_from_slice(self.kzg_commitment.as_slice()); + res[96..144].copy_from_slice(self.opening_proof.as_slice()); res } @@ -161,7 +161,7 @@ impl KzgInfo { let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, &kzg_settings).unwrap(); let mut sha256_hasher = Sha256::new(); - sha256_hasher.update(&kzg_commitment.to_bytes().into_inner()); + sha256_hasher.update(kzg_commitment.to_bytes().into_inner()); let mut versioned_hash_bytes = sha256_hasher.finalize(); versioned_hash_bytes[0] = VERSIONED_HASH_VERSION_KZG; let versioned_hash = Bytes32::from_bytes(&versioned_hash_bytes).unwrap(); diff --git a/yarn.lock b/yarn.lock index 3a7645da5c6..055bf45e23b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3789,6 +3789,11 @@ async@^2.4.0: dependencies: lodash "^4.17.14" +async@^3.2.4: + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -4009,6 +4014,11 @@ bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + bplist-parser@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" @@ -4335,6 +4345,31 @@ check-error@^1.0.2, check-error@^1.0.3: dependencies: get-func-name "^2.0.2" +cheerio-select@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4" + integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g== + dependencies: + boolbase "^1.0.0" + css-select "^5.1.0" + css-what "^6.1.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + +cheerio@^1.0.0-rc.10: + version "1.0.0-rc.12" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.12.tgz#788bf7466506b1c6bf5fae51d24a2c4d62e47683" + integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== + dependencies: + cheerio-select "^2.1.0" + dom-serializer "^2.0.0" + domhandler "^5.0.3" + domutils "^3.0.1" + htmlparser2 "^8.0.1" + parse5 "^7.0.0" + parse5-htmlparser2-tree-adapter "^7.0.0" + chokidar@3.5.3, chokidar@^3.4.0: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -4548,7 +4583,7 @@ commander@3.0.2: resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== -commander@^10.0.0: +commander@^10.0.0, commander@^10.0.1: version "10.0.1" resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== @@ -4844,7 +4879,7 @@ cspell-trie-lib@8.3.2: "@cspell/cspell-types" "8.3.2" gensequence "^6.0.0" -cspell@*: +cspell@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/cspell/-/cspell-8.3.2.tgz#56e7e919d87d38016b4c34b8c8ee745404c230a7" integrity sha512-V8Ub3RO/a5lwSsltW/ib3Z3G/sczKtSpBBN1JChzbSCfEgaY2mJY8JW0BpkSV+Ug6uJitpXNOOaxa3Xr489i7g== @@ -4868,6 +4903,22 @@ cspell@*: strip-ansi "^7.1.0" vscode-uri "^3.0.8" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -5127,6 +5178,36 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + dot-prop@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" @@ -5240,6 +5321,11 @@ enquirer@^2.3.0, enquirer@^2.3.5: ansi-colors "^4.1.1" strip-ansi "^6.0.1" +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + entities@~2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" @@ -6895,6 +6981,23 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-link-extractor@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/html-link-extractor/-/html-link-extractor-1.0.5.tgz#a4be345cb13b8c3352d82b28c8b124bb7bf5dd6f" + integrity sha512-ADd49pudM157uWHwHQPUSX4ssMsvR/yHIswOR5CUfBdK9g9ZYGMhVSE6KZVHJ6kCkR0gH4htsfzU6zECDNVwyw== + dependencies: + cheerio "^1.0.0-rc.10" + +htmlparser2@^8.0.1: + version "8.0.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21" + integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.3" + domutils "^3.0.1" + entities "^4.4.0" + http-basic@^8.1.1: version "8.1.3" resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" @@ -6957,6 +7060,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -7101,6 +7211,11 @@ io-ts@1.10.4: dependencies: fp-ts "^1.0.0" +is-absolute-url@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-4.0.1.tgz#16e4d487d4fded05cfe0685e53ec86804a5e94dc" + integrity sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A== + is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" @@ -7255,6 +7370,13 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-relative-url@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-relative-url/-/is-relative-url-4.0.0.tgz#4d8371999ff6033b76e4d9972fb5bf496fddfa97" + integrity sha512-PkzoL1qKAYXNFct5IKdKRH/iBQou/oCC85QhXj6WKtUQBliZ4Yfd3Zk27RHu9KQG8r6zgvAA2AQKC9p+rqTszg== + dependencies: + is-absolute-url "^4.0.1" + is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -7337,6 +7459,13 @@ isarray@~1.0.0: resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isemail@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/isemail/-/isemail-3.2.0.tgz#59310a021931a9fb06bbb51e155ce0b3f236832c" + integrity sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg== + dependencies: + punycode "2.x.x" + isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -8166,6 +8295,16 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +link-check@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/link-check/-/link-check-5.2.0.tgz#595a339d305900bed8c1302f4342a29c366bf478" + integrity sha512-xRbhYLaGDw7eRDTibTAcl6fXtmUQ13vkezQiTqshHHdGueQeumgxxmQMIOmJYsh2p8BF08t8thhDQ++EAOOq3w== + dependencies: + is-relative-url "^4.0.0" + isemail "^3.2.0" + ms "^2.1.3" + needle "^3.1.0" + linkify-it@^3.0.1: version "3.0.3" resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e" @@ -8382,6 +8521,28 @@ markdown-it@13.0.1: mdurl "^1.0.1" uc.micro "^1.0.5" +markdown-link-check@^3.11.2: + version "3.11.2" + resolved "https://registry.yarnpkg.com/markdown-link-check/-/markdown-link-check-3.11.2.tgz#303a8a03d4a34c42ef3158e0b245bced26b5d904" + integrity sha512-zave+vI4AMeLp0FlUllAwGbNytSKsS3R2Zgtf3ufVT892Z/L6Ro9osZwE9PNA7s0IkJ4onnuHqatpsaCiAShJw== + dependencies: + async "^3.2.4" + chalk "^5.2.0" + commander "^10.0.1" + link-check "^5.2.0" + lodash "^4.17.21" + markdown-link-extractor "^3.1.0" + needle "^3.2.0" + progress "^2.0.3" + +markdown-link-extractor@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/markdown-link-extractor/-/markdown-link-extractor-3.1.0.tgz#0d5a703630d791a9e2017449e1a9b294f2d2b676" + integrity sha512-r0NEbP1dsM+IqB62Ru9TXLP/HDaTdBNIeylYXumuBi6Xv4ufjE1/g3TnslYL8VNqNcGAGbMptQFHrrdfoZ/Sug== + dependencies: + html-link-extractor "^1.0.5" + marked "^4.1.0" + markdown-table@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" @@ -8441,6 +8602,11 @@ markdownlint@~0.27.0: dependencies: markdown-it "13.0.1" +marked@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + mcl-wasm@^0.7.1: version "0.7.9" resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.9.tgz#c1588ce90042a8700c3b60e40efb339fc07ab87f" @@ -8747,7 +8913,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -8806,6 +8972,14 @@ nearley@^2.20.1: railroad-diagrams "^1.0.0" randexp "0.4.6" +needle@^3.1.0, needle@^3.2.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049" + integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q== + dependencies: + iconv-lite "^0.6.3" + sax "^1.2.4" + neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -8916,6 +9090,13 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + number-to-bn@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" @@ -9172,6 +9353,21 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse5-htmlparser2-tree-adapter@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz#23c2cc233bcf09bb7beba8b8a69d46b08c62c2f1" + integrity sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g== + dependencies: + domhandler "^5.0.2" + parse5 "^7.0.0" + +parse5@^7.0.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + dependencies: + entities "^4.4.0" + path-browserify@^1.0.0, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" @@ -9507,7 +9703,7 @@ process@^0.11.1: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -9593,6 +9789,11 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" +punycode@2.x.x, punycode@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -9603,11 +9804,6 @@ punycode@^2.1.0: resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -punycode@^2.1.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - pure-rand@^6.0.0: version "6.0.4" resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" @@ -10017,11 +10213,16 @@ safe-regex-test@^1.0.0: get-intrinsic "^1.1.3" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sax@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + sc-istanbul@^0.4.5: version "0.4.6" resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" From 0e15e812773dd9d00042b51507599e723c3607fd Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 19 Jan 2024 14:06:06 -0500 Subject: [PATCH 07/35] removed dependency on trusted setup file --- core/lib/types/src/kzg.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index fa1bda74af1..f5c1f755f05 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -33,13 +33,6 @@ impl KzgInfo { /// Size of KzgInfo is equal to size(blob) + size(kzg_commitment) + size(bytes32) + size(bytes32) + size(kzg_proof) + size(bytes32) + size(kzg_proof) const SERIALIZED_SIZE: usize = 131_072 + 48 + 32 + 32 + 48 + 32 + 48; - /// Load in local kzg settings file at trusted_setup.txt - pub fn kzg_settings() -> KzgSettings { - let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); - let path = std::path::Path::new(&zksync_home).join("trusted_setup.txt"); - KzgSettings::load_trusted_setup_file(&path).unwrap() - } - /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) pub fn to_pubdata_commitment(&self) -> [u8; BYTES_PER_PUBDATA_COMMITMENT] { @@ -143,9 +136,7 @@ impl KzgInfo { /// 6. opening point <- keccak(linear hash || versioned hash)[16..] /// 7. opening value, opening proof <- compute_kzg_proof(4844) /// 8. blob proof <- compute_blob_kzg_proof(blob, 4844 kzg commitment) - pub fn new(pubdata: Vec) -> Self { - let kzg_settings = Self::kzg_settings(); - + pub fn new(kzg_settings: &KzgSettings, pubdata: Vec) -> Self { assert!(pubdata.len() <= BYTES_PER_BLOB_ZK_SYNC); let mut zksync_blob = [0u8; BYTES_PER_BLOB_ZK_SYNC]; @@ -207,6 +198,7 @@ impl KzgInfo { #[cfg(test)] mod tests { + use c_kzg::KzgSettings; use serde::{Deserialize, Serialize}; use serde_with::serde_as; @@ -276,7 +268,11 @@ mod tests { let contents = std::fs::read_to_string(path).unwrap(); let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); - let kzg_info = KzgInfo::new(kzg_test.pubdata); + let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); + let path = std::path::Path::new(&zksync_home).join("trusted_setup.txt"); + let kzg_settings = KzgSettings::load_trusted_setup_file(&path).unwrap(); + + let kzg_info = KzgInfo::new(&kzg_settings, kzg_test.pubdata); assert_eq!( kzg_test.expected_outputs, @@ -300,7 +296,7 @@ mod tests { &kzg_info.opening_point, &kzg_info.opening_value, &kzg_info.opening_proof, - &KzgInfo::kzg_settings(), + &kzg_settings, ); assert!(point_proof_verify.is_ok()); @@ -310,7 +306,7 @@ mod tests { &kzg_info.blob, &kzg_info.kzg_commitment, &kzg_info.blob_proof, - &KzgInfo::kzg_settings(), + &kzg_settings, ); assert!(blob_proof_verify.is_ok()); From 469b9b4902f811b103b611727b0cc38fada678a5 Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 19 Jan 2024 14:16:14 -0500 Subject: [PATCH 08/35] updated for spellcheck/linter --- core/lib/types/src/kzg.rs | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index f5c1f755f05..2b750488d2f 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -30,14 +30,14 @@ pub struct KzgInfo { } impl KzgInfo { - /// Size of KzgInfo is equal to size(blob) + size(kzg_commitment) + size(bytes32) + size(bytes32) + size(kzg_proof) + size(bytes32) + size(kzg_proof) + /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) const SERIALIZED_SIZE: usize = 131_072 + 48 + 32 + 32 + 48 + 32 + 48; /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) pub fn to_pubdata_commitment(&self) -> [u8; BYTES_PER_PUBDATA_COMMITMENT] { let mut res = [0u8; BYTES_PER_PUBDATA_COMMITMENT]; - // The crypto team/batchCommitment expects the opening point to be 16 bytes + // The crypto team/batch commitment expects the opening point to be 16 bytes let mut truncated_opening_point = [0u8; 16]; truncated_opening_point.copy_from_slice(&self.opening_point.as_slice()[16..]); res[0..16].copy_from_slice(&truncated_opening_point); @@ -47,7 +47,7 @@ impl KzgInfo { res } - /// Deserializes `Self::SERIALIZED_SIZE` bytes into KzgInfo struct + /// Deserializes `Self::SERIALIZED_SIZE` bytes into `KzgInfo` struct pub fn from_slice(data: &[u8]) -> Self { assert_eq!(data.len(), Self::SERIALIZED_SIZE); @@ -128,14 +128,14 @@ impl KzgInfo { /// Construct all the KZG info we need for turning a piece of zksync pubdata into a 4844 blob. /// The information we need is: - /// 1. zksync blob <- pad_right(pubdata) + /// 1. zksync blob <- `pad_right`(pubdata) /// 2. linear hash <- hash(zksync blob) - /// 3. 4844 blob <- zksync_pubdata_into_ethereum_4844_data(zksync blob) - /// 4. 4844 kzg commitment <- blob_to_kzg_commitment(4844 blob) - /// 5. versioned hash <- hash(4844 kzg commitment) + /// 3. 4844 blob <- `zksync_pubdata_into_ethereum_4844_data`(zksync blob) + /// 4. 4844 `kzg` commitment <- `blob_to_kzg_commitment`(4844 blob) + /// 5. versioned hash <- hash(4844 `kzg` commitment) /// 6. opening point <- keccak(linear hash || versioned hash)[16..] - /// 7. opening value, opening proof <- compute_kzg_proof(4844) - /// 8. blob proof <- compute_blob_kzg_proof(blob, 4844 kzg commitment) + /// 7. opening value, opening proof <- `compute_kzg_proof`(4844) + /// 8. blob proof <- `compute_blob_kzg_proof`(blob, 4844 `kzg` commitment) pub fn new(kzg_settings: &KzgSettings, pubdata: Vec) -> Self { assert!(pubdata.len() <= BYTES_PER_BLOB_ZK_SYNC); @@ -149,7 +149,7 @@ impl KzgInfo { let bytes_4844 = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); let blob = Blob::new(bytes_4844.try_into().unwrap()); - let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, &kzg_settings).unwrap(); + let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, kzg_settings).unwrap(); let mut sha256_hasher = Sha256::new(); sha256_hasher.update(kzg_commitment.to_bytes().into_inner()); @@ -166,10 +166,10 @@ impl KzgInfo { let opening_point = Bytes32::from_bytes(&opening_point).unwrap(); let (opening_proof, opening_value) = - KzgProof::compute_kzg_proof(&blob, &opening_point, &kzg_settings).unwrap(); + KzgProof::compute_kzg_proof(&blob, &opening_point, kzg_settings).unwrap(); let blob_proof = - KzgProof::compute_blob_kzg_proof(&blob, &kzg_commitment.to_bytes(), &kzg_settings) + KzgProof::compute_blob_kzg_proof(&blob, &kzg_commitment.to_bytes(), kzg_settings) .unwrap(); Self { From 24fc49220a354f48054d348b6d047e8d169fe01f Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 22 Jan 2024 10:59:33 -0500 Subject: [PATCH 09/35] added comments --- core/lib/types/src/kzg.rs | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 2b750488d2f..264ff902687 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -18,20 +18,32 @@ const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; const VERSIONED_HASH_VERSION_KZG: u8 = 0x01; +/// All the info needed for both the network transaction and by our L1 contracts. As part of the network transaction we need to encode +/// the sidecar which contains the: blob, kzg commitment, and the blob proof. The transaction payload will utilize the versioned hash. +/// The info needed for `commitBatches` is the kzg commitment, opening point, opening value, and opening proof. #[derive(Debug, PartialEq, Eq, Clone)] pub struct KzgInfo { + /// 4844 Compatible blob containing pubdata pub blob: Blob, + /// KZG commitment to the blob pub kzg_commitment: Bytes48, + /// Point used by the point evaluation precompile pub opening_point: Bytes32, + /// Value retrieved by evaluation the kzg commitment at the `opening_point` pub opening_value: Bytes32, + /// Proof that opening the kzg commitment at the opening point yields the opening value pub opening_proof: Bytes48, + /// Hash of the kzg commitment where the first byte has been substituted for `VERSIONED_HASH_VERSION_KZG` pub versioned_hash: Bytes32, + /// Proof that the blob and kzg commitment represent the same data. pub blob_proof: Bytes48, } impl KzgInfo { /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) - const SERIALIZED_SIZE: usize = 131_072 + 48 + 32 + 32 + 48 + 32 + 48; + /// Here we use the size of the blob expected for 4844 (4096 elements * 32 bytes per element) and not `BYTES_PER_BLOB_ZK_SYNC` which is (4096 elements * 31 bytes per element) + /// The zksync interpretation of the blob uses 31 byte fields so we can ensure they fit into a field element. + const SERIALIZED_SIZE: usize = BYTES_PER_BLOB + 48 + 32 + 32 + 48 + 32 + 48; /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) @@ -142,10 +154,11 @@ impl KzgInfo { let mut zksync_blob = [0u8; BYTES_PER_BLOB_ZK_SYNC]; zksync_blob[0..pubdata.len()].copy_from_slice(&pubdata); - let mut hasher = Keccak256::new(); - hasher.update(zksync_blob); - let linear_hash = &hasher.finalize_reset(); + let mut keccak256_hasher = Keccak256::new(); + keccak256_hasher.update(zksync_blob); + let linear_hash = &keccak256_hasher.finalize_reset(); + // We need to convert pubdata into 4844 compatible bytes that are on the curve let bytes_4844 = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); let blob = Blob::new(bytes_4844.try_into().unwrap()); @@ -157,10 +170,10 @@ impl KzgInfo { versioned_hash_bytes[0] = VERSIONED_HASH_VERSION_KZG; let versioned_hash = Bytes32::from_bytes(&versioned_hash_bytes).unwrap(); - hasher.update(linear_hash.as_slice()); - hasher.update(versioned_hash_bytes); + keccak256_hasher.update(linear_hash.as_slice()); + keccak256_hasher.update(versioned_hash_bytes); - let opening_point_bytes = &hasher.finalize_reset(); + let opening_point_bytes = &keccak256_hasher.finalize_reset(); let mut opening_point = [0u8; 32]; opening_point[16..].copy_from_slice(&opening_point_bytes[16..]); let opening_point = Bytes32::from_bytes(&opening_point).unwrap(); @@ -207,7 +220,7 @@ mod tests { #[serde_as] #[derive(Debug, Serialize, Deserialize)] - struct ExepectedOutputs { + struct ExpectedOutputs { versioned_hash: H256, #[serde_as(as = "serde_with::hex::Hex")] kzg_commitment: Vec, @@ -221,7 +234,7 @@ mod tests { pubdata_commitment: Vec, } - impl From for ExepectedOutputs { + impl From for ExpectedOutputs { fn from(value: KzgInfo) -> Self { let kzg_commitment = value.kzg_commitment.as_slice().to_vec(); let opening_point = U256::from(value.opening_point.as_slice()); @@ -242,7 +255,7 @@ mod tests { } } - impl PartialEq for ExepectedOutputs { + impl PartialEq for ExpectedOutputs { fn eq(&self, other: &Self) -> bool { self.versioned_hash == other.versioned_hash && self.kzg_commitment == other.kzg_commitment @@ -258,7 +271,7 @@ mod tests { struct KzgTest { #[serde_as(as = "serde_with::hex::Hex")] pubdata: Vec, - expected_outputs: ExepectedOutputs, + expected_outputs: ExpectedOutputs, } #[test] @@ -276,7 +289,7 @@ mod tests { assert_eq!( kzg_test.expected_outputs, - ExepectedOutputs::from(kzg_info.clone()) + ExpectedOutputs::from(kzg_info.clone()) ); let encoded_info = kzg_info.to_bytes(); From bbcfef2307b722bc729803da1625e8c9d8839808 Mon Sep 17 00:00:00 2001 From: koloz Date: Thu, 25 Jan 2024 14:29:50 -0500 Subject: [PATCH 10/35] switch over to harness kzg --- Cargo.lock | 90 +- core/lib/types/Cargo.toml | 5 +- core/lib/types/src/kzg.rs | 271 +- core/lib/types/src/kzg/trusted_setup.json | 4101 +++++++++++++++++++++ etc/kzg_tests/kzg_test_0.json | 6 +- 5 files changed, 4284 insertions(+), 189 deletions(-) create mode 100644 core/lib/types/src/kzg/trusted_setup.json diff --git a/Cargo.lock b/Cargo.lock index 11df0890170..8212ff040c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -800,29 +800,6 @@ dependencies = [ "syn 2.0.38", ] -[[package]] -name = "bindgen" -version = "0.66.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" -dependencies = [ - "bitflags 2.4.1", - "cexpr", - "clang-sys", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", - "regex", - "rustc-hash", - "shlex", - "syn 2.0.38", - "which", -] - [[package]] name = "bit-vec" version = "0.6.3" @@ -1161,20 +1138,6 @@ dependencies = [ "pkg-config", ] -[[package]] -name = "c-kzg" -version = "0.1.0" -source = "git+https://github.com/ethereum/c-kzg-4844.git?rev=e266280d88f006b23925c5062476b316d5407cb1#e266280d88f006b23925c5062476b316d5407cb1" -dependencies = [ - "bindgen 0.66.1", - "blst", - "cc", - "glob", - "hex", - "libc", - "serde", -] - [[package]] name = "camino" version = "1.1.6" @@ -1362,6 +1325,20 @@ dependencies = [ "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] +[[package]] +name = "circuit_definitions" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3#29410da0f9d4ffb771771a50c7feb78b8560b1a3" +dependencies = [ + "crossbeam 0.8.2", + "derivative", + "seq-macro", + "serde", + "snark_wrapper", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", +] + [[package]] name = "circuit_testing" version = "0.1.0" @@ -3838,7 +3815,7 @@ version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ - "bindgen 0.65.1", + "bindgen", "bzip2-sys", "cc", "glob", @@ -4260,7 +4237,7 @@ dependencies = [ "zk_evm 1.4.0", "zk_evm 1.4.1", "zkevm_test_harness 1.4.0", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_contracts", "zksync_eth_signer", "zksync_state", @@ -8636,7 +8613,7 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=1ad655514b69edcb6ad70205a1f6bd7f89a39e72#1ad655514b69edcb6ad70205a1f6bd7f89a39e72" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d#a92f73b5a471eefc98a10ceaa8eab4566ae6519d" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -8754,6 +8731,35 @@ dependencies = [ "crossbeam 0.8.2", "curl", "derivative", + "env_logger 0.10.0", + "hex", + "lazy_static", + "rand 0.4.6", + "rayon", + "reqwest", + "rescue_poseidon 0.4.1 (git+https://github.com/matter-labs/rescue-poseidon.git?branch=poseidon2)", + "serde", + "serde_json", + "smallvec", + "snark_wrapper", + "structopt", + "test-log", + "tracing", + "walkdir", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", +] + +[[package]] +name = "zkevm_test_harness" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3#29410da0f9d4ffb771771a50c7feb78b8560b1a3" +dependencies = [ + "bincode", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3)", + "codegen 0.2.0", + "crossbeam 0.8.2", + "curl", + "derivative", "env_logger 0.9.3", "hex", "lazy_static", @@ -9458,7 +9464,6 @@ version = "0.1.0" dependencies = [ "anyhow", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", - "c-kzg", "chrono", "codegen 0.1.0", "ethereum-types 0.12.1", @@ -9479,8 +9484,9 @@ dependencies = [ "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.0", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=1ad655514b69edcb6ad70205a1f6bd7f89a39e72)", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3)", "zksync_basic_types", "zksync_config", "zksync_consensus_roles", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 89720ddccf5..faee32e623b 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -25,6 +25,8 @@ zk_evm_1_4_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-z zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.3-rc2" } zksync_consensus_roles = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "29410da0f9d4ffb771771a50c7feb78b8560b1a3" } +# zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", path = "/Users/kolodnyz/Documents/projects/era-zkevm_test_harness" } anyhow = "1.0.75" chrono = { version = "0.4", features = ["serde"] } @@ -49,8 +51,7 @@ blake2 = "0.10" # `ethereum-types` version used in `parity-crypto` ethereum_types_old = { package = "ethereum-types", version = "0.12.0" } -c-kzg = { git = "https://github.com/ethereum/c-kzg-4844.git", rev = "e266280d88f006b23925c5062476b316d5407cb1" } -zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "1ad655514b69edcb6ad70205a1f6bd7f89a39e72" } +zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } [dev-dependencies] secp256k1 = { version = "0.27", features = ["recovery"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 264ff902687..c95ae1138eb 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -1,16 +1,25 @@ use std::convert::TryInto; -use c_kzg::{Blob, Bytes32, Bytes48, KzgCommitment, KzgProof, KzgSettings, BYTES_PER_BLOB}; use zk_evm::{ sha2::Sha256, sha3::{Digest, Keccak256}, }; -use zkevm_circuits::eip_4844::{ - input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, - zksync_pubdata_into_ethereum_4844_data, +use zkevm_circuits::{ + boojum::pairing::{ + bls12_381::{Fr, FrRepr, G1Affine}, + CurveAffine, + }, + eip_4844::{ + bitreverse, fft, + input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, + zksync_pubdata_into_ethereum_4844_data, zksync_pubdata_into_monomial_form_poly, + }, }; +use zkevm_test_harness::ff::{PrimeField, PrimeFieldRepr}; +use zkevm_test_harness_1_4_1::kzg::{compute_commitment, compute_proof, compute_proof_poly}; -const BYTES_PER_BLOB_ZK_SYNC: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; +const ZK_SYNC_BYTES_PER_BLOB: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; +const EIP_4844_BYTES_PER_BLOB: usize = 32 * ELEMENTS_PER_4844_BLOCK; /// Packed pubdata commitments. /// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) = 144 bytes @@ -24,26 +33,51 @@ const VERSIONED_HASH_VERSION_KZG: u8 = 0x01; #[derive(Debug, PartialEq, Eq, Clone)] pub struct KzgInfo { /// 4844 Compatible blob containing pubdata - pub blob: Blob, + pub blob: [u8; EIP_4844_BYTES_PER_BLOB], /// KZG commitment to the blob - pub kzg_commitment: Bytes48, + pub kzg_commitment: [u8; 48], /// Point used by the point evaluation precompile - pub opening_point: Bytes32, + pub opening_point: [u8; 32], /// Value retrieved by evaluation the kzg commitment at the `opening_point` - pub opening_value: Bytes32, + pub opening_value: [u8; 32], /// Proof that opening the kzg commitment at the opening point yields the opening value - pub opening_proof: Bytes48, + pub opening_proof: [u8; 48], /// Hash of the kzg commitment where the first byte has been substituted for `VERSIONED_HASH_VERSION_KZG` - pub versioned_hash: Bytes32, + pub versioned_hash: [u8; 32], /// Proof that the blob and kzg commitment represent the same data. - pub blob_proof: Bytes48, + pub blob_proof: [u8; 48], +} + +/// Given a KZG commitment, calculate the versioned hash. +fn commitment_to_versioned_hash(kzg_commitment: G1Affine) -> [u8; 32] { + let mut versioned_hash = [0u8; 32]; + + let mut versioned_hash_bytes = Sha256::digest(kzg_commitment.into_compressed()); + versioned_hash_bytes[0] = VERSIONED_HASH_VERSION_KZG; + + versioned_hash.copy_from_slice(&versioned_hash_bytes); + versioned_hash +} + +/// Calculate the opening point for a given `linear_hash` and `versioned_hash`. We calculate +/// this point by hashing together the linear hash and versioned hash and only taking the last 16 bytes +fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u128 { + let evaluation_point = &Keccak256::digest( + &linear_hash + .iter() + .chain(&versioned_hash) + .map(|x| *x) + .collect::>(), + )[16..]; + + u128::from_be_bytes(evaluation_point.try_into().expect("should have 16 bytes")) } impl KzgInfo { /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) /// Here we use the size of the blob expected for 4844 (4096 elements * 32 bytes per element) and not `BYTES_PER_BLOB_ZK_SYNC` which is (4096 elements * 31 bytes per element) /// The zksync interpretation of the blob uses 31 byte fields so we can ensure they fit into a field element. - const SERIALIZED_SIZE: usize = BYTES_PER_BLOB + 48 + 32 + 32 + 48 + 32 + 48; + const SERIALIZED_SIZE: usize = EIP_4844_BYTES_PER_BLOB + 48 + 32 + 32 + 48 + 32 + 48; /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) @@ -65,9 +99,9 @@ impl KzgInfo { let mut ptr = 0; - let mut blob = [0u8; BYTES_PER_BLOB]; - blob.copy_from_slice(&data[ptr..ptr + BYTES_PER_BLOB]); - ptr += BYTES_PER_BLOB; + let mut blob = [0u8; EIP_4844_BYTES_PER_BLOB]; + blob.copy_from_slice(&data[ptr..ptr + EIP_4844_BYTES_PER_BLOB]); + ptr += EIP_4844_BYTES_PER_BLOB; let mut kzg_commitment = [0u8; 48]; kzg_commitment.copy_from_slice(&data[ptr..ptr + 48]); @@ -96,13 +130,13 @@ impl KzgInfo { assert_eq!(ptr, Self::SERIALIZED_SIZE); Self { - blob: Blob::new(blob), - kzg_commitment: Bytes48::from_bytes(&kzg_commitment).unwrap(), - opening_point: Bytes32::new(opening_point), - opening_value: Bytes32::new(opening_value), - opening_proof: Bytes48::from_bytes(&opening_proof).unwrap(), - versioned_hash: Bytes32::new(versioned_hash), - blob_proof: Bytes48::from_bytes(&blob_proof).unwrap(), + blob, + kzg_commitment, + opening_point, + opening_value, + opening_proof, + versioned_hash, + blob_proof, } } @@ -112,8 +146,8 @@ impl KzgInfo { let mut ptr = 0; - res[ptr..ptr + BYTES_PER_BLOB].copy_from_slice(self.blob.as_slice()); - ptr += BYTES_PER_BLOB; + res[ptr..ptr + EIP_4844_BYTES_PER_BLOB].copy_from_slice(self.blob.as_slice()); + ptr += EIP_4844_BYTES_PER_BLOB; res[ptr..ptr + 48].copy_from_slice(self.kzg_commitment.as_slice()); ptr += 48; @@ -148,84 +182,86 @@ impl KzgInfo { /// 6. opening point <- keccak(linear hash || versioned hash)[16..] /// 7. opening value, opening proof <- `compute_kzg_proof`(4844) /// 8. blob proof <- `compute_blob_kzg_proof`(blob, 4844 `kzg` commitment) - pub fn new(kzg_settings: &KzgSettings, pubdata: Vec) -> Self { - assert!(pubdata.len() <= BYTES_PER_BLOB_ZK_SYNC); + pub fn new(pubdata: Vec) -> Self { + assert!(pubdata.len() <= ZK_SYNC_BYTES_PER_BLOB); - let mut zksync_blob = [0u8; BYTES_PER_BLOB_ZK_SYNC]; + let mut zksync_blob = [0u8; ZK_SYNC_BYTES_PER_BLOB]; zksync_blob[0..pubdata.len()].copy_from_slice(&pubdata); - let mut keccak256_hasher = Keccak256::new(); - keccak256_hasher.update(zksync_blob); - let linear_hash = &keccak256_hasher.finalize_reset(); + let linear_hash: [u8; 32] = Keccak256::digest(zksync_blob).into(); - // We need to convert pubdata into 4844 compatible bytes that are on the curve - let bytes_4844 = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); - let blob = Blob::new(bytes_4844.try_into().unwrap()); + // We need to convert pubdata into poly form and apply fft/bitreverse transformations + let mut poly = zksync_pubdata_into_monomial_form_poly(&zksync_blob); + fft(&mut poly); + bitreverse(&mut poly); - let kzg_commitment = KzgCommitment::blob_to_kzg_commitment(&blob, kzg_settings).unwrap(); + let kzg_commitment = compute_commitment(&poly); + let versioned_hash = commitment_to_versioned_hash(kzg_commitment); + let opening_point = compute_opening_point(linear_hash, versioned_hash); + let opening_point_repr = Fr::from_repr(FrRepr([ + opening_point as u64, + (opening_point >> 64) as u64, + 0u64, + 0u64, + ])) + .expect("should have a valid field element from 16 bytes"); - let mut sha256_hasher = Sha256::new(); - sha256_hasher.update(kzg_commitment.to_bytes().into_inner()); - let mut versioned_hash_bytes = sha256_hasher.finalize(); - versioned_hash_bytes[0] = VERSIONED_HASH_VERSION_KZG; - let versioned_hash = Bytes32::from_bytes(&versioned_hash_bytes).unwrap(); + let (opening_proof, opening_value) = compute_proof(&poly, &opening_point_repr); - keccak256_hasher.update(linear_hash.as_slice()); - keccak256_hasher.update(versioned_hash_bytes); + let blob_proof = compute_proof_poly(&poly, &kzg_commitment); - let opening_point_bytes = &keccak256_hasher.finalize_reset(); - let mut opening_point = [0u8; 32]; - opening_point[16..].copy_from_slice(&opening_point_bytes[16..]); - let opening_point = Bytes32::from_bytes(&opening_point).unwrap(); + let blob_bytes = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); + let mut blob = [0u8; EIP_4844_BYTES_PER_BLOB]; + blob.copy_from_slice(&blob_bytes); + + let mut commitment = [0u8; 48]; + commitment.copy_from_slice(kzg_commitment.into_compressed().as_ref()); - let (opening_proof, opening_value) = - KzgProof::compute_kzg_proof(&blob, &opening_point, kzg_settings).unwrap(); + let mut challenge_point = [0u8; 32]; + challenge_point[16..].copy_from_slice(&opening_point.to_be_bytes()); - let blob_proof = - KzgProof::compute_blob_kzg_proof(&blob, &kzg_commitment.to_bytes(), kzg_settings) - .unwrap(); + let mut challenge_value = [0u8; 32]; + opening_value + .into_repr() + .write_be(&mut challenge_value[..]) + .unwrap(); + + let mut challenge_proof = [0u8; 48]; + challenge_proof.copy_from_slice(opening_proof.into_compressed().as_ref()); + + let mut commitment_proof = [0u8; 48]; + commitment_proof.copy_from_slice(blob_proof.into_compressed().as_ref()); Self { blob, - kzg_commitment: kzg_commitment.to_bytes(), - opening_point, - opening_value, - opening_proof: opening_proof.to_bytes(), + kzg_commitment: commitment, + opening_point: challenge_point, + opening_value: challenge_value, + opening_proof: challenge_proof, versioned_hash, - blob_proof: blob_proof.to_bytes(), + blob_proof: commitment_proof, } } - - pub fn kzg_commitment(&self) -> KzgCommitment { - KzgCommitment::from_bytes(self.kzg_commitment.as_slice()).unwrap() - } - - pub fn opening_proof(&self) -> KzgProof { - KzgProof::from_bytes(self.opening_proof.as_slice()).unwrap() - } - - pub fn blob_proof(&self) -> KzgProof { - KzgProof::from_bytes(self.blob_proof.as_slice()).unwrap() - } } #[cfg(test)] mod tests { - use c_kzg::KzgSettings; use serde::{Deserialize, Serialize}; use serde_with::serde_as; - use super::{KzgInfo, KzgProof}; - use crate::{H256, U256}; + use super::KzgInfo; #[serde_as] #[derive(Debug, Serialize, Deserialize)] struct ExpectedOutputs { - versioned_hash: H256, + #[serde_as(as = "serde_with::hex::Hex")] + versioned_hash: Vec, #[serde_as(as = "serde_with::hex::Hex")] kzg_commitment: Vec, - opening_point: U256, - opening_value: U256, + #[serde_as(as = "serde_with::hex::Hex")] + opening_point: Vec, + #[serde_as(as = "serde_with::hex::Hex")] + opening_value: Vec, #[serde_as(as = "serde_with::hex::Hex")] opening_proof: Vec, #[serde_as(as = "serde_with::hex::Hex")] @@ -234,38 +270,6 @@ mod tests { pubdata_commitment: Vec, } - impl From for ExpectedOutputs { - fn from(value: KzgInfo) -> Self { - let kzg_commitment = value.kzg_commitment.as_slice().to_vec(); - let opening_point = U256::from(value.opening_point.as_slice()); - let opening_value = U256::from(value.opening_value.as_slice()); - let versioned_hash = H256::from_slice(value.versioned_hash.as_slice()); - let opening_proof = value.opening_proof.as_slice().to_vec(); - let blob_proof = value.blob_proof.as_slice().to_vec(); - - Self { - kzg_commitment, - opening_point, - opening_value, - versioned_hash, - opening_proof, - blob_proof, - pubdata_commitment: vec![], - } - } - } - - impl PartialEq for ExpectedOutputs { - fn eq(&self, other: &Self) -> bool { - self.versioned_hash == other.versioned_hash - && self.kzg_commitment == other.kzg_commitment - && self.opening_point == other.opening_point - && self.opening_value == other.opening_value - && self.opening_proof == other.opening_proof - && self.blob_proof == other.blob_proof - } - } - #[serde_as] #[derive(Debug, Serialize, Deserialize)] struct KzgTest { @@ -281,48 +285,31 @@ mod tests { let contents = std::fs::read_to_string(path).unwrap(); let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); - let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); - let path = std::path::Path::new(&zksync_home).join("trusted_setup.txt"); - let kzg_settings = KzgSettings::load_trusted_setup_file(&path).unwrap(); - - let kzg_info = KzgInfo::new(&kzg_settings, kzg_test.pubdata); + let kzg_info = KzgInfo::new(kzg_test.pubdata); assert_eq!( - kzg_test.expected_outputs, - ExpectedOutputs::from(kzg_info.clone()) + hex::encode(kzg_info.kzg_commitment), + hex::encode(kzg_test.expected_outputs.kzg_commitment) ); - - let encoded_info = kzg_info.to_bytes(); - let kzg_info_2 = KzgInfo::from_slice(&encoded_info); - - assert_eq!(kzg_info, kzg_info_2); - - let pubdata_commitment = kzg_info.to_pubdata_commitment(); - assert_eq!( - kzg_test.expected_outputs.pubdata_commitment, - pubdata_commitment.to_vec() + hex::encode(kzg_info.opening_point), + hex::encode(kzg_test.expected_outputs.opening_point) ); - - let point_proof_verify = KzgProof::verify_kzg_proof( - &kzg_info.kzg_commitment, - &kzg_info.opening_point, - &kzg_info.opening_value, - &kzg_info.opening_proof, - &kzg_settings, + assert_eq!( + hex::encode(kzg_info.opening_value), + hex::encode(kzg_test.expected_outputs.opening_value) ); - - assert!(point_proof_verify.is_ok()); - assert!(point_proof_verify.unwrap()); - - let blob_proof_verify = KzgProof::verify_blob_kzg_proof( - &kzg_info.blob, - &kzg_info.kzg_commitment, - &kzg_info.blob_proof, - &kzg_settings, + assert_eq!( + hex::encode(kzg_info.opening_proof), + hex::encode(kzg_test.expected_outputs.opening_proof) + ); + assert_eq!( + hex::encode(kzg_info.versioned_hash), + hex::encode(kzg_test.expected_outputs.versioned_hash) + ); + assert_eq!( + hex::encode(kzg_info.blob_proof), + hex::encode(kzg_test.expected_outputs.blob_proof) ); - - assert!(blob_proof_verify.is_ok()); - assert!(blob_proof_verify.unwrap()); } } diff --git a/core/lib/types/src/kzg/trusted_setup.json b/core/lib/types/src/kzg/trusted_setup.json new file mode 100644 index 00000000000..dacffdea6e9 --- /dev/null +++ b/core/lib/types/src/kzg/trusted_setup.json @@ -0,0 +1,4101 @@ +{ + "g1_lagrange": [ + "0x97f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb", + "0xad3eb50121139aa34db1d545093ac9374ab7bca2c0f3bf28e27c8dcd8fc7cb42d25926fc0c97b336e9f0fb35e5a04c81", + "0x8029c8ce0d2dce761a7f29c2df2290850c85bdfaec2955626d7acc8864aeb01fe16c9e156863dc63b6c22553910e27c1", + "0xb1386c995d3101d10639e49b9e5d39b9a280dcf0f135c2e6c6928bb3ab8309a9da7178f33925768c324f11c3762cfdd5", + "0x9596d929610e6d2ed3502b1bb0f1ea010f6b6605c95d4859f5e53e09fa68dc71dfd5874905447b5ec6cd156a76d6b6e8", + "0x851e3c3d4b5b7cdbba25d72abf9812cf3d7c5a9dbdec42b6635e2add706cbeea18f985afe5247459f6c908620322f434", + "0xb10f4cf8ec6e02491bbe6d9084d88c16306fdaf399fef3cd1453f58a4f7633f80dc60b100f9236c3103eaf727468374f", + "0xade11ec630127e04d17e70db0237d55f2ff2a2094881a483797e8cddb98b622245e1f608e5dcd1172b9870e733b4a32f", + "0xaf58c8a2f58f904ce20db81005331bf2d251e227e7d1bef575d691bdca842e6233eb2e26c2e116a61a78594772b38d25", + "0xb3c1313c31ec82da5a7a09e9cf6656ca598c243345fe8d4828e520ade91787ffb8b9867db789b34ad67cef47b26ff86d", + "0xa8ed8a235355948e0b04be080b7b3e145293accefb4704d1da9050796b2f6870516c1ebf77ae6a65359edcfd016c0f36", + "0x80e792d5ba24b8058f6d7291a2ec5cb68aab1e16e96d793128e86815631baf42c56b6205c19e25ce9727bd1fd6f9defb", + "0x816288c5d726b094e3fdf95cb8882f442c4d9d1101b92c7938a7dfd49bc50636d73ea1b05f75eb731c908c8fd8dee717", + "0xae009128d128ba2e1519bfa7a0c01ed494a7d461c3aba60f8a301701fed61fe4e31d6c79ce189542ae51df91e73ce1b3", + "0x96a866d60a9007d05825c332476a83e869e15b11d7257172a67690ea9bd3efea44bf9c8d42191454eb04fcf110b16396", + "0x8b250a2a06419adb9b611e89f7f8f2990aa301949b533ad3bf17c4a61ab5f5be0b1d5e2b571864d13f1bb75805c7795d", + "0x8450f49facf2e620fa45ee90e1801178842d927a2a25fc6ed7ba99a4eec7ae40eebfee41028eaa84f107f4a777694976", + "0x91049080cf659c0985a22d1366e59191bb89663f922e8168b9b7d85c8a73d74a6d9dceefd855d3d858b493670c750581", + "0xa1e167aeb2008087f3195926f1985c0a459d6ec57237255b1473a96de4e2c1cf766127c862c7dc853a6909e67cb06cf7", + "0xb667c0d4e26e20698b07567358625d5f003839c92de8088e12dbd74a6f6a3156b4ea8d252c9ad62af5f6c4fec1cf6cc7", + "0x8e4b5e304c0b1b161ae3e4b68b5e3ac66c42acd7c1ee2458044f6527c508a93995e50894d72d57c1350f91afe72775ff", + "0x8c642640aa7915421cdc21fd639f88a42052b1cfa358ff7702e60793a92b7b5926dae15a0c8f8f59cd3013f01c159ba3", + "0xa356f35e713cfc283056bf539de54a21731e61efb4c47319f20de4a4b723d76a33b65f4a67d298b9ec5c2a1579418657", + "0x93ce204146ce95f484dc79c27919a16c9e3fc14a9111c6c63d44491158d5838117d20851cc3227a5e8ba6ccf79e77f39", + "0xb585664cbb9a84b52f89114e1cf0cf1171bea78a136dc1404ac88a11210b2debc3b7a55e702da93ff629095c134a295e", + "0xb6dfd444ec7fdceb14c6328f26ca12c3f9fc4327d8d8c68948e92e7e61262b82d833a65a9e3af6353ffa832b6da25705", + "0xb4d4b8eb9ecfffe3f0d48fb4149c7b31aec1da7041ec03bd0750c52a2a7cbc3a7cfbf09d5bfdc56e3860826a62d0bb91", + "0xa4e248e3d61db52da9683fef188579c470d65e2df9064726847b1599fc774049ffdc6ef2ae578d5ed7874f1298ecdf69", + "0xa68a0fffc2e37d3183feb01b42234c0f4e510f9dc29d09c571e6da00fecad9da224cd0f31550070148667e226c4ca413", + "0x86adda2ffecb77236c18005051f31f9657a0d50fef2a1175dfda32e74d5d53df825c10f289eb0ad39df0c64fc9bc7729", + "0x998266d5c9c3764ed97d66fa9ed176af043999652bae19f0657c8328629d30af453230e3681c5a38e2f01e389ed8d825", + "0xa05261554d3c620af0c914cf27ab98f5d3593c33ab313c198e0c40d6c72022eb5943778cd4f73e9fe8383392a7004976", + "0xad243fb3631bf90fedb9d679fd71fc0cf06bda028591ded2bd4c634ea7b3c2bd22eca2ab318fcdaa6c2cda1e63e1c57b", + "0x89b9859a04f903c95e97fb2951f01cc6418a2505eee0b5bc7266b4d33e01b69b9fe7dc56fa9ebb5856095be0925a422d", + "0xa68d118343a5bbfbbab95ff9bfe53aeb7fdbaf16db983e6f4456366df2aa01fbdb6ee9901cb102fc7d2bd099be2f1f3e", + "0xb49301f25d5a9dd2ec60ddb0b4b477291958487efea9e54dc0e4ef388f03b8bbadd13259d191f7a0b7513876767d8282", + "0x8b93df7fb4513f67749905fd43db78f7026589b704ebb9ea3255d0ad6415437799f40f02e07efccda1e6fd5e8cd0a721", + "0xad88769ace96455da37c3c9019a9f523c694643be3f6b37b1e9dcc5053d1fe8e463abebdb1b3ef2f2fb801528a01c47c", + "0x80f0eb5dcbfaaf421bf59a8b9bd5245c4823c94510093e23e0b0534647fb5525a25ea3aeea0a927a1ee20c057f2c9234", + "0xb10ad82ea6a5aeabe345d00eb17910d6942b6862f7f3773c7d321194e67c9cced0b3310425662606634dcd7f8b976c04", + "0x82f6fd91f87822f6cc977808eeac77889f4a32fb0d618e784b2331263d0ffa820b3f70b069d32e0319c9e033ab75d3b4", + "0x9436d3dc6b5e25b1f695f8c6c1c553dab312ccace4dac3afddc141d3506467cd50cb04a49ea96ea7f5a8a7b0fc65ef37", + "0x8e0a9491651d52be8ebf4315fbbb410272f9a74b965d33b79ff1b9e1be3be59e43d9566773560e43280549c348e48f01", + "0x8809137e5d3a22400d6e645a9bd84e21c492371736c7e62c51cef50fee3aa7f2405724367a83fd051ff702d971167f67", + "0xb536a24f31a346de7f9863fc351fa602158404d2f94747eebe43abf1f21bf8f95a64146c02a4bec27b503f546789a388", + "0xb5cdf5a04fc12a0e0ef7545830061dff7fd8abea46e48fbe6235109e6c36ee6bffcb9529e2f3d0d701cf58bbfb6a4197", + "0xab15377525753467d042b7931f66f862cbbb77464212c9aa72d4e5c04375ef55f619b3a446091c1ba1a3b5d9f05e538f", + "0x905a75b943ad017ff78ea6ddd1d28a45c7273ee1c2e5e3353685813793ead3370c09cabd903fcab9d8b1c6961372d486", + "0x8147df4324faddc02fb0896367a7647b719b6499a361aecfdd3a34296fa6768ad31c34f9e873fd1e683386c44651883e", + "0xac91d08570dd91f89d2e01dca67cdc83b640e20f073ea9f0734759c92182bb66c5d645f15ebd91ed705b66486ed2088d", + "0xac6295ef2513bbea7ef4cdcf37d280300c34e63c4b9704663d55891a61bf5c91b04cc1d202a3a0a7c4520c30edc277c7", + "0xb604be776a012095c0d4ebc77797dd8dec62a54c0559fb2185d7bac6b50d4e5fd471ac2d7f4523206d5d8178eabd9a87", + "0x80ead68def272ce3f57951145e71ed6dc26da98e5825ef439af577c0c5de766d4e39207f205d5d21db903d89f37bbb02", + "0x9950b4a830388c897158c7fe3921e2fe24beedc7c84e2024e8b92b9775f8f99593b54a86b8870ec5087734295ba06032", + "0xb89ba714adabf94e658a7d14ac8fc197376a416841c2a80e1a6dde4f438d5f747d1fb90b39e8ea435c59d6ecda13dea1", + "0xb0c78e7cc60bd05be46d48fbb0421a678c7f14b8d93730deb66fbe1647613b2c62b5075126d917047820c57fc3509cb9", + "0xa860c4acc5444e9ae987e8c93cb9a5f17d954d63c060cc616f724e26bc73d2c54cd36e0492d1fde173847278e55942ba", + "0x8fb8269c9d5c15428e8d45da1251e4c4a4b600d47da0caea29fef246854d8fb6acae86a8e6440d0c429d8dd9c2dfee0c", + "0x96c5d8eb6fd5c525b348ee4335d200139e437e4be83690af0f35b7f336a7cda8c6d2958647988b84da9f2dd7bbb7710b", + "0xa7f62141c4346cc14e9823dc38ac7d587b0427022afc1498d12ee2c43f6ac3a82167057e670dd524b74137f8c3ceb56d", + "0x956aac50d06b46a3e94397f163f593f5010d366aa2d816c2205c7d0f47f90cf0f36c169e964f9bcf698d49182d47d91f", + "0xb812899bcdc0e70d79ca729cb01104bf60e1357b9085a10f64f3ba9865d57e9abd0a505a502d4de07afb46f4d266be2f", + "0xabce02c7e1372e25d40944dc9ece2904a8f59c8854c5f2875fe63ace8ce37d97881f4f9ab4f7bad070ec8e0daee58d3f", + "0x8fb13c515b2d6abb4e14ed753fad5cc36c3631dfe21a23d0f603aad719423dd5423157eefcbd9a9c6074e155b79eb38d", + "0xa9ef67304dc297ab5af778cf8afa849eeac27db4b6978963e97b95ef7a8d3264d0d07775f728c298a2b6daed2ecf5053", + "0xa9b975520adb066e2ff2a4cde53284c23bc84261a22dc43b1634d99eff8e7892e46bb6e6da7319c9e72788aa9ea7a1ea", + "0xa6eaea4ab4206294474d9b956d9d3188d558a5633de2bd05df0d3bac03dbcbe4ed85406349c1d2e660b77c6da1f5bf8c", + "0xaf4a19f77290dddee762e1e0d4bc9945aacea3f75756ae46cd3e58a8f74d1b5db73e4834687946b0f39191e32f2fed0c", + "0xaafa6523f58f1a4cabc924c86d842816d606afeea21fa4b2b8b9573425810fdcc41c98888318e868f9c05e2be12178a3", + "0x8ef38fba0a3fa4ebe985239c8b759c22aaef0c57e6f39050a651c869487803b0d1e389c3d958fb5a7f37740f050ac69e", + "0xb07dfc9f85913c608ca7596a2e361f05e4853fad00e796fd492d247de6414892ce160f627669b1ba933b6ad726415d4e", + "0x94da679ad1d78b2bff5283c938f17b2a7d6e9cbcdf59d340e6dfb652951c7a9e852ac0590f99cfee9631b9410f6f00ea", + "0x98a907c9c021a5b034d3720197c160a82c4b7146cb73d48efeed99b9d0c6b831812cf80ac7e19e85a676a8cd3ead72de", + "0xadb746595466a12929019d0048cea33236b05c1229d2eba73b259a18a786f2bc3f05fc0598d8ce253cecb80bdf679aaf", + "0xa2fbac016996d68f9027a157b0a3f6a336144a798d6113adfcda3a5d05b62c31f108f112aa915906aef22b7f83b9228b", + "0x81841dea1904406d1b6fa49b4b3f7f6cb40b7646cf44d36c9fa07e3dee29f8e47324b40d8356ddf653109673c3374e9b", + "0xa3edbb8aac5e60c775775cbdb19067341b2e2530de48738e84c2c07151241ee31f0d8333bf20c2bc9dcb7b2e638a6b5e", + "0xb8aa6890e22964828787ce86460d3a32f12a655bb5c28de500f2fcf6b61e3334640ec6ba96029a4912af0d18df4b4139", + "0x8ca43169f04243ad0fdb0152de17c60d9e31ee0ab520970fccd98590e05508821a183b4b367967e60d53c2c826ec5dbd", + "0xb179fffd9df8c00486c5a8b9327d599f5a11745ef564f06e126849b06fe2f99273c81f65bc941efb0debaadfecbfec1c", + "0xacf068f1c2b1926279cc82750ce21b0d6b0bfd0406f0d8bbfa959bd83935932957c7f6b8de318315bf0b75f6ee41a0f2", + "0xb97831da260919c856e9f71a41687f5979bc16f8a53b1037285b4a2f9ce93af5cfe70bf0ad484744827fb55c847b58eb", + "0xaff50b0bd907383b0c241727af364fe084d021221bfb1b09fb6c1a7752eeba45d662493d590f1f182764b90b25f17906", + "0xaeeef044c14e3ad41e1235c9e816e1eb49087fd3abe877b89b3bade74459186126e160bb569bcd77779e701b19b5f71a", + "0x8483deb2b7001ca7c438fcdca8ca6aba96c9cbc4becfd9b16a6062705eae270011bcaedcae69bb54630d8c78129e57c7", + "0xaeee8d24be4ac0d9784c029e239fb5e64316ce29b88f47394cfaaa8bb966a72061bff72f99d02dc51c9705854686e77f", + "0x90ae09525a16bb2422169e15d6831c87968a14ebc0d1d27e11a759839c73c655b9d33ee5b12f275d6f440688146fbd2f", + "0xa3a41fc7fefef101422465e506bea7f3ff23c26fe35f5732b86f5f2471fb93b37ebc339f84c6be1e8d22abc812c2e212", + "0x86f4b5293e8aea4af1f1fb05dcf99714cb3aff1cfc849b1bb73524061c921c9da9ad92579a852e1889da29d952f02fe5", + "0x8932ef39d4050a1e9dc0fd8afeaf159472d71c5c27f458c69d2730836606ea56e19c8c4febf2535f930d3260e9bc7637", + "0x86307b9f3696bb21c20e4558e30310389e7367803c353d437e9b696039a0ff054d9a4953b75237ab1d1dd6f71118c189", + "0x96e57730e683ef5b550c91de18b19ac73879f3e26234297db68d28747ed0953beb0f3913cfb720c602720bf9330685d8", + "0xb04a19ee70123782e47b238abde55baf60ac0c66292a998af0d14afc8bbeb1134e557b94cd17a020084631c09a0d3c02", + "0x829abc8718be8139569fcb2c398962f38f4201114d30e2b2fb23566f8a27a5c380f5605cec543415202a12ed859e33f6", + "0xa0744fa488c8fa92a722c5fc4ef5a47dfe824eccd87d26c8bab9c174cbb151d44b1b29082c48652f03d3177e5ec86001", + "0x81d4035ae9fd28bdcd78b135cb54955d3b685a527319df6ee7e904b8e6d796f5f5a5f5035ee1de750c4cb6050e452b9e", + "0xb205e8c2ec24d7104fa0106c09ad34b5a912c1adef553fb718838dd627355993c2ec01055c11d00b2c75b68e9516d44b", + "0xb12d09da7968fa7394e449624fc7174d1d76c069ccb03e140d4d87a2d3f6d1f7b9cfc930f0c80becc673406ebe63f08e", + "0xb23752c158695da85048fdf38b395681cc0e8998630af8a9ed41efbda08c9964c2dc8ae6e53377264be4467d702c0de4", + "0xb0d84582fd73628d96b8c1ec96197697c41a963542451a2ade0890af0d33c7161d0f18e1a1ce2c168ca2dc1e9119d55e", + "0x8b877e618b469aa187632e410b125d2999d5738fd66d482000706b51fd904a0c7e7daa8c9b729fa33817bbc4154cba2a", + "0xb1cfc8a7551b601723b937d497d01dec3ee7614c2bf13d430b1058d5ebc1406045009ff02c2ac15bf8cf16f860193d1e", + "0xb6d9da84f97b21e13175bbb0b5cc8e79e88b470c87a3e115726c1bd98e0288526c58f3faaa8aa170ace0cd6a60852525", + "0xad2e773c2d527671ca5fab7085dde4da31cd35f45d4315dd95d8893ff5fb900494dca08eccfc1a2fc7bf7c7fd2fcab97", + "0x8d5a79b34aeb761d4a0c73f09f02e9548e6d382c33ee6887a759ab05762b490b8a549ef2933c7e3a46415c154c0221c0", + "0xb6f2cbe81bd0a7298403be392f8456bed30aed7ef30216959357698f789affd2942ae5fbaf3f48ecebeb7c273b20cb57", + "0xb5b6c45d99cea7ce6a1dc134aff4a8f630f299b42bd59592a7592345f8cd35bcbee944e61b0723de732fcad6e4425b63", + "0x8077d64dfcb2418974e956ea6dbf8a4c05b25d2a025333ad7e2a379f1976dc036771403383a51bfa3476c9c619ef8bef", + "0xad2e0a9d479c77a5fb73b3613a177fdaad50dcb50fed50e756ba18164c153af30b07fb2565e80ff7469f1b0338b7b5de", + "0x81017d1d80a6b6df4e99d0d7f85a8180b5523e8fa2ea2672fddff604933f8a113cab27fce098dcb454d7d1f7ed266e04", + "0x852355479d68e76c7febf6dfe2ef8e80d575c0d3bd52c983803592021cfa898c571c0b884412c21e66f0dbfe03167b53", + "0x98e1bf8ad48421467c93b9f72b47dded7c41b4fcd36ea55ca43ab24b0d0b876f5a731f422579b7167c7138fad2121266", + "0x803369314abd5422019ed4b0ef652b4dbe97ef5a87b0ea373eec9628b64a12120b2c3d4eb53db405131ff786d14c7ac6", + "0xadf2613fc34f73e1160975c140e925ed84d254e03cc3bc7fc1d19957b499c9ba9d9e4c1639981b594a7095c0a52c6757", + "0xa2f6a68efdff6e4173c00692abcfdfcdaf6f8b62369afad3dafaae4f2f38c4860780b4624d185e20e4f4498b75b5fe94", + "0x8b1658aa0e119fb8401d486ed08d60240d26a8623ef9788e3b45ad09ae31259395b021bd16be395139cbb7149714e764", + "0xa7dd8bf21121285e00672ee8bb84e0cb39b2496fb53a26e35dfbca7f2b04e9a9ff9db15f53fe63fcbeafeb2deeaf2ca4", + "0xb6d8d709e44bc18f3b41d69608edce60c02bcba48d3b7e2fd420842657f0665a7343246dea149a25e8f3416284abae66", + "0xaaf744ca5e9bcb63e3e2939b7a1e96e4a93c88c76bec0cf4294dd7db95cdd3f6a7d92196e352d08680e2328bc4592899", + "0x84434b015a7c398d35f1ec71fce455d62ba4ed4f62da042ec31bb2b4db47073314354cd50bc322297a1cfe35138bf490", + "0x8d70b3a3cd9d5dfefdacfa418c0b775a112a47ce538d33a560a519660009c3f141fd6221c18539129e9c0acdaceeeb80", + "0xb8c6903412a800ec78a4c15f31c24385a267b0c0ece32fd31bbbb557fd70c3b2d60d8fc0f90fbd70f43baa1928ea30ba", + "0x8e391dd445ea06cabb433f057853f8159511b2f9bef41aed9ccd14e0a6fcd912bbaebd38fd5fb736cfde0fa34b7a4874", + "0xa40cd988f70613df32babbd1bbc2f1b29ff1ab0147b01161555a81d56c9621657999bcdb1df38485f687afc51d5d0f23", + "0xb6a008b4426b3d7b28ae04eee4698fc8ef6a35d89008ef5394da39ce582ce1a45dcfae9a33b90f6fa4237f3667803873", + "0x8987280debfb175c3b44a2f152ea82548e4f680966f1fcbee9bf7d714e31bf8080c33f52705ef3aeee70544b22516aba", + "0xa78a51a2c11eea7680a5a0ae417a2981f8c69c396e06da621eadd7510a3664ade49d065617bec67b3de779548a4f4509", + "0xa4d9163f0a1bc048385e94d5e0bcafeee1b18f28eb23505623b9e8ef16f3df76408254dfbe790e45f2884198060d388d", + "0x83dcae2568a0c518793c0f6e38b42f9ceb50673d100b556a17ec8bd9faeec84afe50b8d72422c6b2356959667bb8e2de", + "0x874731941be4474b4576226e5906b5dee89fc9b56a9870dcc7289c1a7d494d345ba6aba31f7546a16f9963283c05f744", + "0x82c1cfab1f501189ac20147fc4631075dbf1abf9125b7d42fcb4f31cf73f3d6461b1bd08fdf6e45cc54bc08a7d5d51d1", + "0xb978228286f5d4a10ce027b6bea3021affcaa805340ca4b5192c69e8c56db59f48e4a14a284ec015f53baf97389f62b2", + "0xaf125f4fdccd1c1b64fdffecb5ec7cf8c7392bbe476e1b89a5b5329c5ba4a526e58c11e72ab9de8a38d60af648d75adc", + "0x8411a41ec14295acab0d36389013535a80dfff6e024bffeb32fb3070762f61256419e8c51b2ad6de9dbe4f1e8e286912", + "0x8ea67a91112a41f9c65515cd496f4b0cdefa1400fc06568eef000c9eae6dc250fb7622eb3f2deca10b37287cd96fa463", + "0x8da99b6c55c31dee6a49aabb54da249d348a31d4416201a10c45a3b04b11e99d4ae9813632f0ee36c523b5cca62f6f49", + "0x8b44656341e039e2bd83a19c3bb9a88f6209482e274f8cd4f8557b728e5948dd80b5745f621b96f4562928689314e8c2", + "0xa02d424a615ba0dce8ed91f477e79852215a3a39d025059826fa278e7eebef19824b2a2844f5b3865a0f471b609a23f5", + "0xa1f115cebc3fff3bcf233da27cef19eae791660f155d088003460f75567a550bef0722885010ddc384acdeac635939dc", + "0xb61a55ce9d143c17876776e064b58a10baf0ba13553c785c1e47f57b5f94c0cda8bc89d43d73386e57816c15b61a8ec8", + "0xb4073f47041e20a8e548c7fb00e07ba3b9056c34eb4ab63bb0e7b48f8e338e8b56a17611a1b5f4c03b352450b86f1d69", + "0xa7b1a07b213205b682fc5b6acb7e76fdf97b280c26621d8f3b76b7c1deb3511957da33a4e358c8e8f3d98b2a8855d67e", + "0xb797e67c2670fbd9844e8a68c585f404b035dc14bd4ec75c3f95f932c777f9db5d5f5df7629164af488fc1213035cc5f", + "0x99618200797b945f595794d6468e5c618649554ad9ba896330f1cc844090eb956ae9fc23132912f9047085c5f0c3bf7b", + "0x81194aa1319abf534cb3927af9adfb178a99d0e3e8c99ab1105f1d3b4fed40ec2971caf1d6647acb0c8d681eca53097b", + "0x80673f18e4978dbc226a6cd4b128a1259d9a7f833879c6e2fbe24d69fef2c3c23a51a4f3e8d88fa4533434bbb0723661", + "0x8125bf6c7dbb2fb63aaa3f53283559f172c788223674adbeb6d5bd17cfe888e6b87a79aec774917f20ce911c1f85f8e7", + "0x884bcdb1878b14fc38adc9fb8b4dd0b3afde404fbeb664f26ddfebc81736018551f23e75ce4cfe4865f610bcd454fbd7", + "0xaec65c8d4be8316e98aa54888af01bc6703a0c5d04b69756ff39a0a947b66817ec59d76afe9f61a25749b5e890f03e02", + "0xaa457aaa1b014a4c5a8992847a187a23321bb43452c98745987d038e3b04046102ae859b7a8e980eea978a39d76a88ef", + "0xa9832ee63b08e19123f719bfe2fe742125f32463efa966c7709a98ebfc65277670e9ea1fa2d2d78b96bdc7523b0c4c3e", + "0xa87b6b1b7858f96d55064274f29fbde56067064962cf3c3e2ba3110b22ea633bc037a74d23543ce3307a46208855d74f", + "0x897cbe4ab68a753020fec732dfcc052c7ed9905342b5a6fe0aa25c631f9ad9b659e0ee75d46f0df6507b6720675ee28c", + "0x97c3b5f0d54c1fc45e79445c3ff30458959e406a069f5bbf7979d684195b4fa0406b87c1c008f4075bc9e602ed863152", + "0x921e65d582ea9322ddfad1c855331c3cac81f53c700b96db5305a643c084eb6793094e07944bfd41dc02c3b3cf671530", + "0x8f23ef1aca02a260a3b65d25b110f28d3bafca44727448c8f2d03c5e77eda620c1721b06681bd816ee6027664d76352a", + "0x946a89b132ec0795aea9ff9dde7b77e7feafffe6e4a2f093042a7e6c71cd6ab87ce0ca914a1b5fabad4e1f96a795f163", + "0xa01e2de9db33df6511172123ad6f7c64074237471df646b32dd9aff8c15278e2723108e4facaedca97e9f49503f8c792", + "0x99dcdcde45b2ea3f15279936feede5f7d3b63ca4972f335b0559c2fa6f9faabd8127aa892a36deb114357ca906553ed8", + "0xa3f8af37bfcf66b04d1896a4bd5d343f4733d4c3305369ac7e75a08f20f2004c10c642d2c7577f4e5c4d1f2cd851ac3b", + "0xb7294d15a3d674a56099f97a1adc9e82c15e90832eaf1722df110fc2abc8634c51515e5ad8522015498a3753b1fa8c49", + "0xb4f27f5062ba7a04ea0048b3025b5e3d5b5d319a9e80310c808a5fb4e8e77b38c10a0f3172cb805cadbcc8bc66d36ec7", + "0xaefe5decee0ae2dc372cc6cf4217daf97c4c908d145f100f0daf1ccdfdf641c78432c2e473e7e4b77dcdf2d4c2bb05f0", + "0xacc84af7648a535ffd218c0cc95c8f7b092418c548815f1bafc286b1fe14f6ccb51b2044db3bff864d0bb70e88604084", + "0x84d8e3dac0df6a22beb03742e1d4af684f139f07e2ea0f7fb27fc2d7d4f1e89b5e89f71af32ff115ed5e6092133535f0", + "0x8ada001e1a03a823c4c056f636e77adc0f9dc08689d28de0d99e0feecab5db13abf37b41ec268dbdb42c75419a046c68", + "0x87dac6c798d1744dff81d8bc3e0e04f3c9bf260e811685ddb9a9a8d6eda73927439b344f9a818d2103fad633de5a4a17", + "0xad9929a7d8a7d5d5954e48281a87e5c84f67e19110d73296b9989a09c76767a57a8115629239ffb4d99dfdf9c52ef6d9", + "0x81ac7cbeef8ec35a5c3b61cc887080c29e6cd3e08af37e45830d17400dbacfb374dd07bf370b979828c3875b2027d5c6", + "0x97f92c9182953b7e10f7a1bbb6b5b5c40b8275eb5a6eec1e29874c4712814749aa8c409651380216e1ff01d7b8511041", + "0xa09794d0bbe7db013045d3fd857c1544fe6231d21afa3495fa300371f6301a3a0f4b8ea175b281503dd06078ff371ae4", + "0x839bb58d320aa08116dd387a57a2b9bd9efc89c4cdfd82d0e47a00cabe644631d09be5436bd485df3b61b75ddf81a3ef", + "0xb1cdaa344f783757e8b9c1f84421da3c5be4c69f019a8fd4c1aa5bf1a63e8970c99e35c22cf3b48a0e6738bc6ba7ce8d", + "0x92af68e3216c78998208fb24b5ba0e645d0d3f5e28222b805668d7e9cdd6c033d3b22fd6df4c2d745d7f910d133cd226", + "0x87640a4ea4e605e2204e5232b29a6c1c31152d83547eef14122cb76a0da52b8653801af48455a3ed713b9dcfee7b1ef1", + "0x8147e5bf0c8f4731155ca0517ef3fae5a32b4d5d2d98ed0007b23893d8dbb7f8a1199c50c1750c2fa7c9cebe594b1bb0", + "0xa76b4473c63c3ab6103c729afd2482822e4150f3155af39983b0ff0766c71cb622455ce6304e23853661eaa322219d18", + "0xb3e2f05ca551bc3adec0067e4034aaffd72e0b64ac18ae25452c996927976c6727966e26d213b032521889be2170800d", + "0xa8414cd14cb3be658e9e0004ce511ef7063439b1cbc3166a11de030613fde4b59caad4e91d426927863c55382afbf476", + "0xb2f0f8ab99f4d0ea785ac84fdbc00b20217b1df59b30b51d9d209d489d53b69dd5d82cdacc16fd1dd15c3a4001595f50", + "0x8b2025d5fd658c9bbed619f3e3f6ac8efe7aeff8aa9401bd66a7ceb0062c44b353608ca073f95be99204f0a913bb77eb", + "0x94a46bc5a87291b42024b2137e623c70115b9c6b196604106bfbfa20f3f56ac7779763f56b580190d3cb2f1c648cada1", + "0xaca9355545118d0769cacf69c4b23d6d68d229cd8f68f1bc0c847c05569c5af6bbbd8c4dceb637b4a6b3b5c83841bf5e", + "0xb0731992cab87c7116406b283a84707a34838bfa3284b0f6082dfabeaf41c5ac2b0ddc1b420547a1b0955aee92de2dc0", + "0xb671f77588c0f69f6830a5b28e7d07ed161b81fa9791bb3a24aae6638e3aa5e186df74978a82549c370c18ebee04d4f0", + "0xb5621ed841780f3e6681d880a76cf519cdd20d35197b112eeaa686764d57b5dfa78ffe1a294b6bc76b6e3949cd2a2369", + "0xafeba2524659d00caecf089645611553187a6ed7102050f6dd20f5a19bed08ac7065912d88371ee06242897d58d652a4", + "0xb78bfb83d44ced14a20135804aba3f00128c3ce1f302e95567ce4097b0d973414153fb305b9f156882a5a0554bf25973", + "0x98510aede95d26b1adf214053eae051ffaf24894e2fa37961a91d0ff5392dd09388196648d95b73e90bd88f2587cc4bf", + "0xb35c682d49c295946b9f120fbc47b95abd9ee86d294abb003a92139fb825b509209562575015856a270eb3eea86397a7", + "0xb9641bf685571dd9c478dd2033a1f1b11cd3a662b26502c78595863b8e536a189674a9a85f7a253453ebfd1b99fbd841", + "0xb2ad37036a59b1c9b8457972665720a6868422ed8157b6810a9c0783006103be34ab732d7aeb8629653edd18fd0f1717", + "0xaf0920cff05179a3896ea6ea322c39adf91ada5bc40fe3f6fb1b1b4e121e907c904bbaa8ca00468b3749f3da144d71f3", + "0x8e269672818ef1e2f9e0c8aa65c84442fcd9151d74bb8e870cee8c0e3fe24526e1a5388b430cef47b67f79b4e4056bcc", + "0xaa29a16fe00ea3d143b1032b1dd26b8ce638f37f95c085c7e777e8e2784bd724bd5c38b1583c61a6ec7c451dd78fd3fb", + "0x87452b7435911cc5f513b0c81b15aa04972ecbe3d7bbd0a5d676c96a8a311301c0e07fac925c53a350b46fbd3d4d0fc1", + "0x869a81c351096f47748e41566ae7b77a454b1cdfaa41d34a5742f80df38fbf5cbb08924b6fdff58e3b18f05c62bbbbb1", + "0x8b7bc1b0486300981147a40a449ada9a41afc06d735cce8bf0fab3ee94ba2e2ea57b1397e3cd31bc295352beb8334ef7", + "0x93e93fc41adb2df279d95654921b4c2edf0d293dab58d0afefb221f777349ef88d0985b3447e3b935954a81f1580a92c", + "0x970fa7cdca8324faf3e62348bb50d78f580b4f43f2e1c11bd8382d48d0074a3c55c6407203a0c9cb1c5f2163ba421ef4", + "0x924983929e608d27e4a36d4ed919297869e3c64de51aca794d32d6e90aea546bf898d98ceca28a0b2187734821b78504", + "0x8d395332529c703d943d68415d443332b5c1342ca9d9a59bfa8bd4ab63e93358c4b0dde6ce1f2e8ea9dc8f52ad7ebd95", + "0x80200dda853e588256599e7f905add5d5ee7c74272780317694fbae39318ae9be05d5bcd7b20cf460069743f3d4ef240", + "0xa287d51d6359c9ef7c7ac1b20e479ce7d0146dba5606397bd04b7a622cec642508d5b45d51b31de71f9763595b6ac88e", + "0xa320396c075175d6599225cf2e1de8c7cab549f6316c07feb0f6eaa21f06b2dd29ab14fbdf2af4543b4890ec0fd08a4d", + "0xb1e9fe230418d20368691058adcbbe30011bab3000422f0371015ff8bd09c60fb5fa85d18550d35b1c900977ca48f58b", + "0x9718fc26a51783b971744933f20490e9b5cd9162f86b84788c4c5217f5409e37b5a39d628b18e5b35a757acf67596321", + "0xa0cf81fdb161f4f1b419c5e4caa36d4bdca2325f0cd25b119a30178016f171bd6fb88403e4e3aec026c4089f180d540e", + "0x8ab1e36bd04625ee794ef04c4dcb8e004d61aceb2b62438377f49ad95dcf025ba25eb799280004941e555bf7172af6fe", + "0x9257b9e3d14d37fc7efae49b0c68d36eaac546035f4a2654d566b3ce1b2c4564cbb03dc8ec66efceb768559a8a507a18", + "0x945d1123b839637ab5154a1972c3c83a0ff34a3b1a3465de6ef0416b1950f649869a3ef88d7f1036648ee385265ce2df", + "0x81449639d708860fc0229c94f754f7262e8a3c7f67960ff12dfd15df95f57a9ffcee2013e81978b7703dd42bd5d0816f", + "0xa865481deaae5a690fd53892791e5fa729db283b75a525a11cdfee1ce17e8e7f0b449d25f20b3c1b43da128dbdf98a8b", + "0x98766812a65fcd25b853546e3bba618a3edc9fd61510e4f8ab60c038a7fa50d197abeec8776109df0f2119be9445ad00", + "0xb1b8dd5379d903dc41d74e999b1ab693607a0d2905692f4fb96adf08f738e5d31f9d00df28ccb8b5856145ca552c3e3c", + "0x99d20be7b511bec78a8ed03c207aa4aa9097ba39d85e18f1b8d52f65431ab7e9a773c7b9ac3e8d8b25458bc91bd00703", + "0xb1b7c3563fe8cb33c7d3e0b89d00bdd13e86452ff507c2e69db7b3af06f247f139155396e9b0278753310dc63940a10b", + "0xb3dc9c08451b1de7c9969b1e47574bffff50490f4a16c51e12390195d9e9c72f794790caf7b0a835d64e01fec995d3ac", + "0xaaaa4761a00022ede0809d7063d3532b7bfae90ff16f45e17a340ad4ebaa2fbac40728ccc5fbe36a67ab0e707566c5dc", + "0x8319a1903314eab01f5442d2aee6ae9c3f6edfda0d9a88b416d0f874d7d1d05d08bb482102f8ca70a4fa34836d0840c1", + "0x932949a6e9edfec344932a74d4f81eec3667ece1e8b8ca840ce07ffd4b5d6d8f01657c764d64ac1b9190f876b136490e", + "0x904db1568128487e312fe629dd8bb920cecafd3bb9cad8b63e269ae0129f2f5c80cd82f0d81e7feca9835c3945a72d28", + "0xa17280693d30dcd43c85de8f6b02d5f30cb9097274ad680cede1ef105c903615b4c40f3c6aaca478642de324972514e0", + "0x8d5f76e093aee71d0cdeb017fdfcb13bd068039746de90690ce150a0bfdbe7ddc4d539df0f82c2d2890a40b191900594", + "0x96fa1f2196a3883cdd73c66d28403cbbb58f6a939a3697ee0d308d8a076393cbb4be86255af986869230ee410c01bcfa", + "0xa8b74438dc5cabd70a91bf25601af915c4418d074327a9b01e0190c27d3922c89bb9b41e0b366e82e313edda8f21983d", + "0xac9fdc1a9b2e3ff379eb2370979372e13c4177bf4574f1490fadf05a7073e6d61e703e2d8eed9ce984aba317d411e219", + "0xa45a6c9b958169f2f8df70143e6ac3e2f6f969a4eed6fd9f1c620711bc2454739bb69f0094079464790c5429c0d8aedd", + "0x8901cbdd1009864386577842c1e3d37835fddf834064d9613b4559ea9aef3084204e1f863c4306f874141f4374f449ff", + "0xb6c582161691e3635536686825be9c4d7399d668a7675738417e0363e064dfd28acdbd8dbc9e34c1dab8a1990f1f0eba", + "0x89e89ddaf3cacc78428f3168549c161283ca8337345750667c98212717b21e7d994eae4e45bbddacc832a18df1d79276", + "0x84be275627eed8e1a73c7af8a20cee1ef5cc568cfeea7ec323d7f91b44e9653e9aeed47c1896a8240b99dde545f0e1fa", + "0xa779a54ab4f40228f6e2539595fb8d509b70aab7c19e1928c1be69ec1dc19285c3898cf15e5f8b8bc725e13af177fe17", + "0x92e2a49d2b9b36349d442283b17d46f8f9bf5932c34223015ce62d2f285e7363b2c12232be4a838b5b6cf08e694c094c", + "0x8b4e28c6f3f36caa2cfb82ba88066c830f8017bd35608b077143dff236f3181230166f5a5c02fa0e5272297331726aed", + "0x85fd77d46162ffac4b8adb25baff0eb0512a53a3d01638b3a376ea34702279ce21c8e7d8884308c03e00c9bcc1a9fd29", + "0xaad5e46916ff1be29009b595d1d8fa160cc7aa01c7fbf3a68f445c87615790dcab1fcdbdceda533d182b6541f09f2f73", + "0x948df7654726250dae393325addd3c0a20431c81f00470962190335ea4b6d9f7463d6f308cda46b92084c1f24390b1da", + "0x8f577474dea132676504376c5542b730b6604fe3d965eaa194659fd11c52233bd0b11ab62e198c0f442327ff1c00e501", + "0xae2f1001546db3e0c19700adad997cd9f765fe7a51a502cbcd9a2a07a3a5db79c8f603e05cf96d80b688cb6c9b6cd3ae", + "0x953b68e5d9561088dd20406ea7fb6894cba33868a38ace38fc30b5813140cb15dd6dd2171befae5b4df2e4a9658889d8", + "0x86c52901655ff11419b084a04da8fc3596eae59d81d3461601c0baff59ba59e3d1dd0b7ce719e741a3e97c013e898579", + "0xb9a72dd5eff73f9912a28b55de073568efb3eb0241a10b77a2bfd4f30c2aa4fbfe0c89eb345c9f07fb725660873cb515", + "0x8e7353f5f2932e4ffd95811caf46c9bd1a53643c27eb41a4ebd211f230955cd71a8b27e17cfe8aa708d8514c0de67a66", + "0xa096b8e66312a92fb10839ebe60189a8d1bd34dff55f7dfae85e4d2f53a1a4a88211c19fc84494f066358ddce82be131", + "0x931c5cd82719d76596832b007969b5f75d65cffabb41b9dac7910300db677c1309abe77eeb9837a68c760bb72013b73a", + "0x8ba10f5118d778085122065b55dd1918fddb650cce7854d15a8f0da747da44d7b12d44fc29ad7dc38f174be803db74c6", + "0x8c971deec679372a328587d91fd24ab91043e936ca709c333453d7afd43ee256d08c71cb89f0ab0e89ae119831df6d86", + "0xa2ac28a58034fbd8fd518f409221bad0efec52670880f202e09c0530e2aabc2171ed95e99891790596ffad163d86c110", + "0xb3354e3dfa8068aba4f3741152b9204baa4e342c1cc77e6dd1419cbaf8da1d118be605846b8609e997d6a62a11f3423a", + "0xa12ab65a213c9d95c24865fddc2dffe0cf9fc527dd6bcdacc1bd7271e79929a4ab3427a231f4f49d0530474e6cbc88f9", + "0x90afd65b7e6973f8aafbe74da0f42441840d3c93bd69bc1bec8fa56824e7ca97ad1b427c8a85da7d588469bd4ccc50c3", + "0xa09175940c59489bac3d3da3a4091270d9118948cbbdd57f2bcc63fbf45b8010651c801d3e58dccf42733ce1d6b446a3", + "0xa843bbf286e3cecc1fe370ff1bcf5f1001bc2e95b34246625ff50d48ee62343e82fba2d25b8a4bd5f7b5ffe90920efa2", + "0xa3c4d1003219157fdbee2707ce07afa6c2a64ae8e450182c307ed7f070024071f30b12c4b0032960ff913c74e73a9976", + "0xb24af3f68d66f825d06fc3ff94fcccebe28b1a0d4ba29c48d3a3c953b9bf7ae6707f193fef25e2dcbd2b74e483c774f0", + "0xb0f657f7723184ef7d7e4381143f1ac8020d8c6c6f2dcbebb0eaf9870d61a81f2d452596503311e46d1b38f625d4756b", + "0xb90091004fc8f6205c51bec68547ac82dba0f5525631e7632cf6efe54eecd9020729fbee6105d1b8012402d3b79c54aa", + "0x8e3fa187713c60eb0a416d6900a894cdf81e6b6b69dae0bb64f6287f3c3f030cfa85c665f7aace1eab4937f380b8f728", + "0x879bf0784ccf6725c9cd1ea8c49fde31c91c605de1ea664a33c2ce24c277ee45d20b66309f98d989acb2ff3b77e13101", + "0xaf3f3a3ddc4e11abd627d5aef8adffa91c25df5f0c68b4d2b5d51e7d9af3395ba4f6f7ae2325a6672847e1ecc6cad628", + "0x973e667289e796d3a40f072e6fea575a9b371a9997cf8961677f8dd934619ddc47c1a3efe91bae9ef95acb11a8fe6d09", + "0xafa81c5606de82f46b93f4bb6db3fc0670f4e0d1091388b138a66b3827322d95a56168c951c30831d59eeadc227500bd", + "0xb83eff77db5b4c18574662942eb36f6261c59f655f8a9c3d3731412d0f257c8e80aacc995c4b2303058a1ba32522a434", + "0x912e5ac9234b9445be8260393ff08e4859a7a385e800b74d1534eeb971f58f74cfb518dfdb89f8705d89fbf721439129", + "0xab27c8ece4a51d23e22c2e22efa43487c941139b37ea1182e96efb54ca4809d8245eae0ebe8ba94f0ed4457896fe11b1", + "0xa6630585d104a745bc79dba266d9292bbdad346449c8ee8140a5e6e8a6194411df9cdbf3d3ef83468a536d4f052e9335", + "0x8b8c128244da48e7fec641a882d0005a2d05c7138d86a293e6a0a97c76bf632b44767d0ce44663c975e7f9f9679e25e3", + "0x87dbcaca67351a4e7d2297d7cdba4796d12f58857e7ee4abd0645563577ff33544a44cd84e50b3a3b420d6998de9b57c", + "0xb859ba43df259d7f8e7fac70bfd7aae546d57a5dc90e107b174a95bf7fd3cf00f740c4434848e69b2a7e6061f66c1ef1", + "0x99d6e20978fefc40c6d310187eb2ad3a39296f189ee122ed64d74f81033c3069d44f7a9d3988a1df635b609603a17272", + "0x99a5ddf3420cc0c92b21f71a805245608d4995ead447d8f73a670d26d33e26920d5f07bfe1f6230bd5f15978055b4253", + "0xb936ac0944d3c5e4b494f48f158000abb37b80b5c763f77fe856398c664b0f1ddbcc0a9a2a672db9278f08b4bafbe2ec", + "0xb4af85fbf4040e35a686dd016adec037c99b47cc2e4dfccaf7870ee9e8c97bff30f3035992def2a9d4af323c0b3af8ae", + "0xa5ee32b8bd5f8fa9000da4da0bf00565659a43285393d37080b555d0166bde64d87317b2eab2d48a0e7b287caa989be2", + "0x894d4ad58ecb1c9ebc4f5a97407082e56cb7358d7a881ba7da72321c5027498454f2c7fa2bd5f67a4b11d38c7f14344a", + "0x965be9eeaa0d450dacc1b1cc2fbf0d5d4b0dd188f2c89aaa9260e7307a2a1eb22db6092fccb662269e9a1abfc547cabb", + "0x805893c424aec206260c1c2d2509d2cb9e67ee528bd5179a8417a667aa216a3f318ed118b50d28da18e36c01f0805e3f", + "0x972d7040d4963b35260ef0cc37cd01746f1a2a87cedc0dc7b0ee7e838c9e4573784ea743f563b5267eb3905d4fa961ba", + "0x8c7156991d4c2e561888feaecf501f721b4174e7d14109e9deeac5a9d748301c07e11fb2b04b09799f0d34ff42cb77d1", + "0x894722ac35af3d507e81d737d21e16c5ba04686f8f004aa75934aae5e17acd3e065b96e229eb011c2f34096f4c62048b", + "0x81237937c247c88e8e31e2c72412189fe59c1daf65c5513489d86cf29ee922c0bb08e5f7890f09f4ada7e5262083d266", + "0x8cf62cda2fe0d9a6b42aa2a1c483f4ad26378c7cc2c2d1510a76df7560b07dba8528b33aaacb15f7f20b9d4c7c9f61f6", + "0xaaf0921fb3e1920eee5d0acb59dcc268b42f4b435d60d25d30357edd7dd758d035919691bd15311d85489dfa2e5ee696", + "0x92cec07be2247ef42002ebcaf65ec855611b8e893a5675796f2225f55412201b0bf9f4761924d0c8377b9f131e09e39f", + "0x8e514a62ac1e91773d99588415426c97ad63e917c10d762fe06ace5277a5c3bf3730e4b9e5d116f8493b9ab8687b70e3", + "0x83932df2d923a5052468a3ea87f7b55c6a80ede3594046ee4fe233046570921822bc16555b92ba6aeabaef9b1dc0805a", + "0xa2b5bfb249de3472113fd3f35bfabf3c21d5609da62a27ea6aab5f309c9068d94bc58ba03efb4ec11be06306d59e60e8", + "0x8106cf3ebe6f0507be8c6e8d137987315fe3689ecb75bb27980f36ba5efac504baccea0e7603549b6d126beccc278804", + "0xa73ee70b6fe8c082443972102c453fc0e386852476cf22224fc0bfe554735c12f96037fbf10922795f4502c4f052b5f4", + "0x932b27e175440169958504f3ed6400e7d6dcd5e716c19dcd0f15c56c04503ed133d5a993e111c016f141e32d68b29886", + "0x96f7ce4595318e0b4a6b368f788ff82226aac676aed4ace343867f751de414453a9aaaabef6e6224ce5aedc3d5cf77c4", + "0xa950c1e3bc9a14484997013d44d876374b939af437ae7c821c131fb886063ee9fe7214a25a0c7084f0b07b99412eff75", + "0xa9dba3886ed6855303106a1bdd26010f294218684e1c178afcfea3f37a2f04fd01724a31d82de3449046617e3507a115", + "0x87a2f776b32a6b550cf3ceeaf78db02819be74968d228b1d14e0d74a1cdf994bb500b7abef6619455e98d728701fac5c", + "0x8cd887b07e335edc0b27e6a660cebb64d210741395be431d79d570139687b056557159407459799a8197b6079644f666", + "0xb81a61fce00588909c13a90c1caa150f15788786af443ff60ce654b57147601f7e70b95659e01f470334a220b547611b", + "0x8aebc51141544c5f3d3b99422250424b9800031a8fdfbf22c430907a3a446fecaa2392105d66d64b1c8e847240da4a6a", + "0x90db7dc12baa02f3f86d3edadf9434e2b9318d4f6f0eca08276b765dbb38d8eb0d08be2fe70adf2bf16ceda5db08d3ca", + "0xaa1839894152d548cc6ad963de20fb6fcc843bc9af2a2bf967c63626b8ad19e900894d6106265f38f3afccca317c22f0", + "0x848e27b741496988a582515c0c8847b2bfc6a001259396cdeea1e1b1d2828ca3a626693a1bf4adf3a3d7f8b1fa3d75fe", + "0xa0aa11754d4ee136ac3ca609b17bcae77758763b2016544ca7921dddedd8aafcc7ad5f2b337c8bf53084eb8e43ea41fb", + "0xb8713b7aa1c112178195fdcc9b7024f46e6bc04c4e76c41abe620aa265287809200d98eaed6c9703fa97e81d6964f0ec", + "0x8605b5b33309e9ea6823542b85383c496794b8481c577497aaf99ba90496e794dce405be615bf92c7b6361460e6b82e3", + "0x826fa34faa7f83e063a7bf172addfc07badabada59cfc6604fdf481d29085251c0a67a1355b2cbd374e2975934b84cb6", + "0xb45d131082dc16fa53af010d43eefb79200dc23d2f3ee26af95ac6a5cebc49c84a9ed293e534ed16ff3ef9a4a25456ec", + "0x91bd6ce3c5396a7a0de489e49f0cdf6dce1cd2d0be7a410326423c3185bd1125ce1e610768be7f15f4e44b62f8834fc3", + "0x903ffbe3d33fbf106c01c727dc3a385201a67ded70d4df623934882f69a3a96c909b027a124f3d70cb072b0046a149e8", + "0xb405359db9d9ef4821a181b440ef2918c240595141d861d19a85867a5afa74d2972d22c988775eab441e734700bae4a3", + "0x8abb756d027233c83751910a832b0ef4d28d100077f1c5d656720c94906f91d85dd0ea94b1cc0ed95b692efee14c786e", + "0xa78ee77ab476a41a3454160ba7ca4085d8b1f7057c63e76db8b07cf20afdeddd2250cd00771a6329133bb4ad48ccc20a", + "0xa41810271d8c37197aa9b3dfcefe3498e42f5978d3f3d59defff4676d6402d8575b40683834f184f143b6cfbfc859b3a", + "0x90c24a0750242660bcc6d487358a3cc015730538a0a8beb00ad5ac2ef33cb8ca8a62121e50bec8f3d2f43900f8e3134a", + "0x8b96c39695d864ef5796941754978a1fd612b369f6b77fe5ae6587beac936ee28190af8f0a3822b63060af35e49a5c8b", + "0xacde2548883d0e63c0fc257bb9dadd919aba60a985b69ebcfa1bca78acca42fc1322ec30bcc8e7c188818f858d04ad33", + "0x895c86ae9ff8d95f2707d4838a3bc8ddb05b2611f0476f014b9c150d0e8332bc73285037a747426f09ac8179ba4e19fc", + "0x821761fe406e18bd86fa9ca9db99d382cd3b5c70c456f471fa3706d57763d147706304c75d54f51ce8f3115aa26e59d9", + "0xa803a80e3e8f47dc3c59ea23eafdec017458eac648b360cd42cbd075e0dde6f6f450b48c7646fb1e178c04f82ae51a12", + "0x91f40e1b6f588bd592829ce937996452c40be0fd6c43793c607866701ac6a8c7227e0891d45c6e7b1599382b0a3fbdbb", + "0x9408246d996a634a58689337f2526dfb3ba9ffef1d3ff91c32aa8cbbed900861ef25d6477308b67d76491edfcc70d65e", + "0xa492325a427f3df1c9c690c5b553daa8ac41f62f5ae55f425539222bacf959e2f67afabbba1732e120d3e7a6dcdf7049", + "0x8fd0c3e15477cae228613a171b6e9ec29ddc63ef74854d99b638adeffe39f89f34346a42851e8445e855a9f2bbef0f57", + "0xb735ed01fafa051004dbaad5e8c9e2faca8f6049ef9b590f256ea4d75b04594af12764ad4e6031735eae36f83179db93", + "0xa7d35f43fca06c86b3425dcb68a87186834ba9740664fd657915771beca4cdc0fa2fc9b4c2e9d9bdad8ec33543ddfa59", + "0xa1156e71e2db1b17df5da28747c88e091bd687bfee59d89096437ab4dc9a543fe5c5272d5023d72adbaab397a6fc94d1", + "0xab06a58bd81b33a411bade8d8c5232d38fadc2e38507159edea6e2e104b8ebd65ca02b05335118f691d44197b847a4dd", + "0x848b67a10f1e6ff8f5c228f226ef2ffeb67fb8f50925fc94cbb588d61896d9dc79726959e649898fd3354fe3ff7b7ee3", + "0xaa933397361f32b388edcf832f0db172a38e756b34d5f7a4a050fa7325058006c22cede26ee27917e8f1b0f301792bd7", + "0x89e49e7f02cfaae4a4b9c4180c9f6559d76e3a45774955859d4147970b1470dac37bdc9aedca1c32a20b045049161590", + "0xadc1825d5ab94fc719f25d8c9773f4d518134ed88eb13ac33cb910b2be3523ef9ef88d9e4aea2418b806e20108317bf6", + "0x96c4b444c8a023da644f3a343ebeeed19a8392d2ce175992461451c318a54273b76c3574d8f2dceda2947ddd34d1a674", + "0x8aa7e97e87c8c5b29bbd51a6d30396a6be1fb82b716ef83800f2c36d5b85467ade7e0f59d2db82c310fa92a9265f0b03", + "0x9146c32d99f02c3a6f764dcd9b4807f1585f528ac69dc4f84e4380f6fda4f9d5057c375671d51e7aca2b2b4140e83da0", + "0xa10760a533d9bc57536bcaf65f080302086aa50225437efd64e176841544711828c23a15c49c0dd1f357d3f10722ab72", + "0xacb0811777e17f7ae7aaba5f6fce81b759c067a4908730916195a2505c7450d0e6e2194c2ef0f241090597d58e70de47", + "0xb24f161e9bcdbad56665e2490b5e4c7768390d4668cd69a04ed74739062dbe832636dd33cda89e9b0afa8c77e93fc641", + "0x96b4d01106b831868a88ef016500ef2fa42d0ce87a37ca8ca4194a92a22c113edfe04eb2ca037329f3c1acc635148f55", + "0xaebbb95fb4f7adcc8e7a217aeb73f9e037cbb873d08c1cd9d68c6c6834511adf1af8b44567fee84327599bdcb734dedb", + "0xa9bd8b17300532fb94d028659bcafbe7bbdf32f8945baf5db4cfaa1bac09e57c94cad0ba046b4514044b8fe81ea8596d", + "0xa5557cbda599857c512533e7cadcf27bf8444daa0602aa7499cafc1cf1cf21f9d16429915db7485f0e9a1b5046cf01c5", + "0x8810307c40bc661c478a9747ebf2a30e5a5ead942d1ac0418db36ba5db0709c476f7d19685cabe6959e33ec1f3bff914", + "0x8829b741f41f2c32e10b252d9338deb486dba2f23996a44cf1dd888ad967a589d51329be34d764139f372a1043f6c2e5", + "0xa6b4728d18857c5fa082fa67bfb3b1d801e76b251b1e211a19c87cea5fe7ce757f943c85071f7a03a718388cd5690e95", + "0x86da7f397e2533cd487f962ae58e87bea2cd50af70ef2df9ea0f29f70b5843cde664d30ec207ab84fc817f3851277e02", + "0x8085776ef4ac6d42ab85b9d9135ecc6380720efd274f966544eeedf4684028197de76ecab919fa5414302597e1962bca", + "0xb05a065c733033d223ba13d16baa7a97bd8c8b8b1f0e59a9bdd36ee17e9922d48eb39bd180c168b122088a77f0bf321a", + "0xa89343fe44a93023dcc7ef71bd3bcb6786f68e1885ad260edc56a52445d34757f476395ba7ad35437f89bc573c7618dc", + "0xa114a9cd6105b524f3969c69faa2e09afe21753a93361a296f9e0e3b4e3e63726ddf2e6bfd3ddc046043e50bd44e539e", + "0x8a5611fec539cf681c05636bb580f29acc06f628bb012649ffa41ea6c1521194a5643d5dd843f09b6eb2c3bdb4d41acd", + "0xade247c4011ec73ec90b72f35afa59a999e64ba5a7e664a4b30874fea53ba6a14a76a41b58a5f891a20d019e5f091bdb", + "0x905b5d96df388160ade1ffe210d0c6d1979081bc3de3b8d93ac0d677cc2fc2dc1ef6dcd49d3947055514292a3fa2932e", + "0xa9520796ca9fccd11b7524d866507f731f0f88976f0de04286e68d7cf6dbd192d0d269f0cd60fd3d34011a9fe9e144c2", + "0x989a1edf4d7dae811eb57a865c8e64297837ffeeaae6ee6ac3af0f1044f023f1ca552bf00f1642491f0f0f20e820632e", + "0x879c8e63713f4935ed6e020559e140ea3073ced79d3096c152c430141272117b4fd9a9fc3eef012e81262df02ea14bd7", + "0x95074738ac1540c0312274333acd1ecad9c5509fee883c4d9295fa8d8200f6e637c363de395f9fa612f05c0dc58fae88", + "0xa770e4fc595269eb806b113ab3187ea75c8f96b57bf9fcfaf535f3eedc1d4d7e6285a20990575de0ff09f62d06ed0692", + "0x81283e5dfb6423439ff513eca1cc316941d196df8da2d1069d2d0b63f5289e630af2fd4119bc0144c002d33313372dab", + "0xabd1b108e743887b78f698f2aba9d5492f87a22868d1351d705d93a1084fd45be67170c68a6e18b07f400d9a01cda8c2", + "0x8509c3f67b92908cea8144f4e2a71631a66a61ac3547601c788907e52e380e5fe8ae4110aed95d13c67d3bcdd5b55a61", + "0x8fa5a790ec5cce6d4114128c295390120869aac5490a82feebd3c37a167120df2e7fdfaf2a4050a7dfebf48fb093212f", + "0x944753e1ea7d8bc727d46a7702077dc01dc0c6574e8263a16579b57ee155ca5901f71bb347a01a9a922b329d3ff75135", + "0xb46bc1fd4590b7a6275e20036d247c5909fc549c78e95b64ae7ed96e3b05bb044840f19f7650ebfe7008ba09fa83c3c9", + "0xb1e47e4d88e59a06c465348c6cc4181d40f45b91e5e883966d370c26622c328415c6144aa2f61ddb88ec752482c550ca", + "0x8bd4f8e293e3f1815c7e67167618fb3b0ea76424bc0985908957cfcede36109378e41b4d89555b8c2541b4c447e00461", + "0xa70589a867b2bfb63d0106083d58475d506637148549ed35c83f14e5c8de996e1b1f3447ecc80cf5cd134ef4db9d2fb6", + "0x8048b80ba6131d07370162724127b0f7cb17fa7f71855e55e5a75bd0a9e4fd71b0d0ea2d16ec98858e458528df8d06b5", + "0x97326cb94bae7530f4ec3235770c5a7ba042759e789d91c31fedbd979e3c0e6a2c69e2af3c1979c6fe0094274dbd53ce", + "0xa18e9c1d3eabd62af4e31a4b8e08494f4167fd4598c95d0123f39c46c53f9e93f76615900246e81a286c782ac37c569f", + "0x80309c59d4522b15aba617cd3c6238663e8b1c7ad84456346082c8f281140fc0edf9caa19de411c7e7fb809ca4fa3f4d", + "0x8e450c0990e2f65923f252311623038899eeff7b5c2da85b3a224e0ef7132588b291b782d53c477ecb70f34501466178", + "0x87843f96f41484e254e754c681a65681b9ae5c96c292140368743df9e60f7e2ada58ca2bb95fa39abe064b2ebf21eeba", + "0x858e8d5bf2a1cf26d8af5036b28b831d450a446026f58a1734b696c18f1f41482796b91cab0e5b443dd2f0b9cffa52b4", + "0x99627dd6bad8c05c5904cd23aa667d664da846496dbbb8452705c4ec01e1480e9c7295504a5a8529e4a0c842306b038d", + "0xb64b33256c18b2c886a837a0c0730fdfe73befb0e2796207c4dc592c5a33cd51f8c2ef47c584dd5773abf9ce9c1b0082", + "0x944f6da2a1546f0bfc4d98c3e73c79e935e33d208b6be26b0b5f8df6d0e3b74a5bda649853b99281bd3a3ec799a7dd04", + "0xa266d165435784d4e884640155e35b2a911b3f89e1e715986de419b166a36a341ba724877d80583fa3da566f6a828971", + "0xadff2698409d0756e78c534032ee926560c13d578cb178d5073172d049ebbce32a92692f7e2033ec781b9b0d894ddce0", + "0xa91933f110756c699c28bf9e24fd405bf432002a28c4349e0ca995528e56a5a2d101b8d78afa90a178ff1a9bf2ba515c", + "0x8e77839c0eb4da2d01e4053912cd823eddffbdc6b9c42199fba707ca6ab49fc324288b57be959fbfb11d59085d49324a", + "0xaa124517c76692036c737e987f27c2660514e12a953e63ff4bcb269dd18fc44dae95e282de8444bed09639ef6577af88", + "0xb285deae99688f1bd80f338772472fa2b35e68887c7eb52c4ef30fc733812444c5cd110050275ad999d5a9b57f782911", + "0x8877b0fa85b44ef31f50bdb70b879fa6df5eb1940e2b304fd0c8f08abb65f3118fa3d97ff93919038c1e452fb1160334", + "0x8a89f3b50dcbca655024542ca7d93df17deff5c7d01c7da2bdb69e76b3e0b4490d85c800fb3debb4b0b4d20c9527f7ad", + "0xb7e5dbe36e985354ac2f4ab7730fea01b850af00767a6c4d8ee72e884d0fe539bb81f2e34638fcf5d07b7c8d605f4c06", + "0xa85a1d78f6d4f9d5d83ec0f2a426708342d4e4a5d15625554e8452f6a843d9aa4db0c7e68caebdaf767c5b3a6a6b2124", + "0xa518078a9dac63c5bf511b21ed8e50d1ccede27ebfe9d240937be813f5ee56aef93dc3bf7c08606be1e6172f13f352ce", + "0x91144eedebda4d1ad801654ef4ecd46683489b177ba1de7259f7dd8242c8c1700e15938e06c5d29aa69f4660564209a0", + "0xa16c4657bc29d1d3271f507847b5a4f6401cee4ad35583ad6b7a68e6c2b9b462d77b5dd359fd88ea91ce93bb99130173", + "0x85b855778f4b506880a2833b8468871c700440a87112fa6a83fd3ddb7e294b3a232d045dc37dfc7100b36f910d93c2ae", + "0x8d86bb149d31bfbf1fabcae1b8183d19087fd601c3826a72a95d2f9cedb8bb0203d1136a754aa2dd61f84b7f515acfa9", + "0xacfe7264eee24e14e9f95251cbcfdd7e7f7112955a1972058444df3c2d2a1070627baefada3574ebd39600f7f2ea7595", + "0x906bd14ecca20ac4ae44bff77cc94eb5a4ecc61eba130de9838e066e8766ed3b58705f32c650e1e222b3100691b3806b", + "0x8f2cbc7b8593c4be941dd01b80dc406fe9dfdf813ef87df911763f644f6309d659ea9e3830ff9155e21b195fc3c01c57", + "0xa68eb15ed78fae0060c6d20852db78f31bebb59d4ddc3c5bdd9a38dbe4efa99141b311473033ff8f8ea23af219bc8125", + "0xa95cb76c9d23fc478c7e8a73161f2ff409c1e28a2624c7d5e026e3cee9e488f22225a0c5907264545a73e83260e3a4ec", + "0xb76f90e55fa37c9e2732fd6eba890dd9f1958c1a3e990bd0ce26055e22fe422d6f0bcc57a8a9890585717f0479180905", + "0xb80cc95f365fabd9602ec370ca67aa4fb1219a46e44adf039d63c432e786835bb6b80756b38f80d0864ecb80e4acb453", + "0xb753c86c82d98a5b04e89de8d005f513f5ea5ea5cf281a561d881ed9ad9d9a4be5febb6438e0dba3d377a7509d839df0", + "0xa664733f3b902fac4d1a65ea0d479bb2b54a4f0e2140ed258570da2e5907746e2ac173ace9120d8de4a5e29657ae6e05", + "0x9479722da1a53446e2559bb0e70c4e5bf3f86c0ce478eede6f686db23be97fcd496f00a9e174ceb89ab27f80621f9b80", + "0xb707fd21b75a8d244d8d578f3302d1b32bb2d09f2bd5247dff638d8b8b678c87d4feab83fe275c5553720a059d403836", + "0x93214c16831c6e1d6e5a1266f09f435bbed5030c3c4c96794b38d4a70871782002e558d960778e4465b1ff296ffedad8", + "0x8648f84e18eb63dad624e5fa0e7a28af2ee6d47c28f191be0918c412bf24b5460c04bf2b7a127c472914a0741843f78b", + "0xb67f61e75d6b773a6b58b847d87084b94f3cdac3daa7bef75c2238903a84250355a986b158ff96ba276ca13a6035fdd6", + "0xae9b094b7b5359ee4239d0858d3755a51aba19fce8ad82b0936cca48017523319c3309409ea6e9883a41bece2077e4d8", + "0x8d1d8e1fba8cebd7a0e1effea785a35e16b1a10842f43e2b161d75add11eccf8f942d2ae91c20eef6c1a0c813731ea9a", + "0xb82bd387458e3603782d5e2dec32ae03890a3fc156d7138d953f98eff4200de27c224f626e3648e80cd3dfc684c4790f", + "0xa6dd02a89ad1c84e25e91176c26355e21a01b126c1df4d22546159dab9d502dbc69bc0d793a017c1456516e4aa5fa53f", + "0xa9ab74a5c5459b8500beb0ad13e9cfe2656e966dc9b4f3f98bec7588023b4ddebf74e4fc722d30423f639f4ee1b2587f", + "0xb03e5f33ab7ecec12cbc547038d3fa4f7ea0437e571891c39660c38d148212d191be29e04eb2dc001b674219b7a15a9c", + "0x925df4fc6e898ca55090ad1a8f756cc5014167a042affda5b24896eeb6aac408545134920586a8e1a2b997de9758b78a", + "0x98c8580fb56ed329fad9665bdf5b1676934ddfb701a339cc52c2c051e006f8202e1b2b0f5de01127c2cacf3b84deb384", + "0xafc3765d374c60fac209abd976fe2c6f03ce5cc5c392f664bb8fac01be6d5a6e6251ac5fb54cfcd73e3b2db6af587cbb", + "0x8e7e98fb5a0b5b50d1a64a411f216c6738baaca97e06d1eba1c561e5c52809b9dab1da9f378b5f7d56a01af077e4f8cf", + "0xb724bf90309651afb2c5babaa62dc6eac2b8a565701520fe0508cee937f4f7b6f483fc164b15d4be4e29414ce5d3c7d4", + "0x9665160e7bf73c94f956ecb8ba8c46fe43ae55c354ce36da40ccc7594beae21d48d9c34d1af15228c42d062a84353a0c", + "0x8600ab3aa86b408ee6e477c55572573ed8cfb23689bbdadf9fccb00161b921ec66427d9988763a7009b823fa79f8a187", + "0xb0d8d19fd1022e7bc628d456b9bd1a2584dce504eb0bf0802bdb1abd7a069abbeeccdb97ce688f3f84a229342dbc1c33", + "0x8f447d5e5a65bb4b717d6939cbd06485b1d9870fe43d12f2da93ca3bb636133a96e49f46d2658b6c59f0436d4eede857", + "0xb94e327d408d8553a54e263f6daa5f150f9067364ded7406dcb5c32db3c2dffd81d466ee65378db78d1c90bc20b08ab3", + "0xb58c02781b74ef6f57f9d0714a96161d6bfa04aa758473fb4d67cc02094cd0c0f29d0527c37679a62b98771420cf638b", + "0x8cfa0a687ea51561713e928271c43324b938aa11bb90f7ffaa0e4a779b3e98899f2af59364ce67b73a46a88748c76efa", + "0x95d6d39c814c5362df69116558d81ce6f1c65fb400fc62de037f670d85f23f392c1451d43341c59bc342bc31842c8582", + "0xaf888b384c52d9e04e4db6c4e507c2037eb5857e9bcc33acf84fc3a02d93cbde8cce32141fce9f5fec715b5f24d56356", + "0xa7822bbc3c236fd58bd978f0fc15fe0b60933a0c953db6436a233441219418090ae0c07c490a6548e319029771cdaba7", + "0x8c53729f750922e5eb461774be8851a3f40fe42eed170881cc8024d590bf0a161d861f5c967144d15cdcdc3dc6b5cf88", + "0xa052a25a4aeab0d5bb79bc92a6ae14b5ad07d1baca73f4f6684ccecfc7ea69bc21eadeb9510452fdba116c0502dd698f", + "0x923946b83d37f60555dbac99f141f5a232728c6eb819a37e568c8c6e4d9e97a4229fb75d1de7e9d81f3356f69e6d36f1", + "0x8cab82cf7e415b64a63bd272fe514d8b1fa03ba29852ec8ef04e9c73d02a2b0d12092a8937756fdec02d27c8080fb125", + "0xb1123314852495e8d2789260e7b3c6f3e38cb068a47bdf54ed05f963258d8bcabaa36ccbea095ba008e07a2678ec85a7", + "0xa685b779514961e2652155af805996ceb15fb45c7af89c5896f161cac18e07b78c9776047c95b196362c9ad5430bcb22", + "0xb734dd88f6cc6329c1cb0316c08ade03369a11dc33191086c6a177cf24540c7ceee8199b7afa86c344d78d513f828e81", + "0xb0bf492fb136ecdb602c37636ed4deef44560ab752c0af5080a79c9f76a1f954eba60a0bf6ba8bd7b8cac21848c29741", + "0xa5c74682323e85ac20f912ab9c1d6e1b9246c4c829dca40c8a7d58ec07ea0ad3524be30623f351269552f49b65a1245c", + "0x837403b9cf830fb33ecc11a7c8433e07745973c36acdeb3fc9ea8f7d8d690d462e1250b7410f79f2f4180fe8f3962a4f", + "0xb03d64b944d49c83608f2c5b9c14070c025f7568c4c33d4eeb1da31d07f0bc5897e498b35b50d557ee129f0c3c68e254", + "0x827272aab8bf757e2483156e00fbebe1093a58070dd3af9855bbf946c7abfb9c8a850a6a8acda8c620902f391f968b8f", + "0x84c4eb863a865282d321302d06b362f8bd11c2bb0090f90ebffedd3eb3e7af704cff00d39a6d48cbea4262942e95200b", + "0xb044eb91653dc55dce75c8d636308a5a0dae1298de4382d318e934140a21ca90e8a210e06fdf93aadbbeab1c2ef3904a", + "0xa8c08955a4378522e09a351ecb21b54025a90f2936b974068e80862803e7da2b5380c4b83b4b4aad0409df8d6c8cc0cb", + "0xa763a5fb32bd6cb7d7c6199041f429782deacac22b6a8467077fab68824dd69343ebca63a11004c637b9cb3129dbf493", + "0x8c44c8afa9a623f05c2e2aba12e381abdb6753bb494da81f238452f24c758c0a0d517982f3999d2537b7279d381625ed", + "0x8613f47fda577cd3bda7c99b80cf4b2dd40699edfd3df78acb5e456dd41fd0773bc8da6c5e8cbf726a519b9fb7646ccc", + "0xb21a30d49d7e1c52068482b837a4475568d0923d38e813cea429c1000b5f79b8905b08f6db237e2eccf7ef3e29848162", + "0xb9bdf4915f3fbb8d84cdfd0deedf2c9dc5b14f52bf299ef5dca2f816988e66322df078da2c54b934b69728fd3bef40b5", + "0x993b45f389f55eba8e5ba1042d9a87242c383a066cbf19bc871b090abe04de9ff6c1438cb091875d21b8c10fac51db58", + "0xa85a95d14633d52d499727f3939979a498c154fd7ebb444b08f637b32c1caf5cca5e933a2f5d94f26851ae162707b77d", + "0xb9874c7c4be1c88a9646e0c2f467cd76bc21765b5ab85d551305f5ec0b4419e39d90703d4ac1bb01feb3b160517e97b7", + "0xad6771177fc78812904c90594712956357de1533a07fec3082ba707f19c5866596d624efc3e11773b3100547d8f6c202", + "0xa79f31921134f7197f79c43a4b5d5b86736a8d3ad5af1bdf4ad8789c2bfe1c905199c5e9f21e9f446247224f82b334f8", + "0xa7f1b6c45321222a350a86543162c6e4e3d2a7c2dce41aeb94c42c02418f0892dbd70c31700245d78c4d125163b2cd5e", + "0x92abafe3ec9dbe55c193fb69042500067eb8f776e9bf0f1cb5ab8eb12e3d34986d1204136856fb115c12784c3b8dea6e", + "0x89bc761238a4d989006ca5af5303c910c584fe7e6f22aa9f65f0718a1bc171e452c43695e9f5a591725e870770c0eceb", + "0xaa0e44c2b006a27d35e8087779411ba2f9f1966a0f5646ff6871bcf63a8b1a4a7638751b94c9b9798ccd491c940bc53f", + "0x8736fe82862b8106e7fdab7b5a964d87ec291a74b8eb1cb5a6c046a648c1b686064ef3d52297043b8940bfe870c712f8", + "0x956a3def1942f05144d8e9c3a82fd2d3610064b53b9eefde3d5594a8f705bf8f6849eb2c22181796beffeba43cc74ee4", + "0xaf27416d00cf97d5a1f4a1b6b51c010884cceca294f1151c3b684a3f83c3c8a3c30771df1166d833cbddf6c873c400c3", + "0xaac3b8dca2336fc4ffc63c362df461289e4bbd3418c621bde6c581d3ecedf66e2b3e523d4db39e3d8ba014577bf85efd", + "0x94c3a8167f62074e5b28c2bffe4b6ce645439a9a0c5da3ca1b3ee956590a465d6f84a8a4dbbe9070ffbd6bbc734e4d62", + "0x95e23ba6986d25ed4451215da05bd72c5491528271726d79a94c8cb16aef1c85b190d6c5b8a3a1191c7cafbab1dccf0c", + "0x953e3dadb5ad68f7de31ac09692948655d174fe16d88b96930ef35b331da7f1dbc4c17863cd07b4ec3135b5205891a27", + "0x915d018f18b5d63cb3301c2bb5c6e85e75a88ba80663c964d06575b6bacbbe59139d030b218ce0998271d5b28c00b26d", + "0x8c871ba3dd138a908b2f7effeea0e71df096b23e0dd47cab10b9762b250abfd1221da94a8ee884e05bdf02271fb85a04", + "0x96bad5c6ebc3080ecbe337409ae398bbeada651221c42a43ea3b7c08c21841ddbcfde544c9b8d4772de6f2ce92c0b963", + "0xb5dbcd0b1c44c62108841558ec0a48df4b327a741e208c38b1c052321eda6e6ad01af71d49dfcdd445ab6fa6f0c34e6d", + "0x97dba59219b69e8aef2659d1f10bbea98d74aefff1f6451de3f41be39acbac0122b8ff58b02e90554469e88911ec3547", + "0xb7e5682ec306478be4858296f5d03364a61f3260636a4242f984d351a02e8723378496beb30c4ca22def9c9ca193ea70", + "0x9656a7a3df4d11df3d8bc35930dff70a5e78a488ca57bba20bb06814fc390fc6c7cb3f39b22134992aad196cced577de", + "0x8b269695aa63eb56d0324ba984279dc4c88e565321f1d61d553622bd4f1910d5eff68393d3a830eb924472bd478c2aa3", + "0x9177bcd04b28c87bc0440268b4c8995c6790cad6039594971b2c177f0e197055231e776927d3fa30d98fb897a2ba401f", + "0xae0e943973482001c4f214b9da82e1c27e38aa254d0555e016095c537c835d3702bc2de5c67b234ab151e02b3b7a43a6", + "0x82fc719a7d38bf4787fe1888019ad89fbf29beb951d2fece8686d2beb9119d0c8c6d13bc598748c72c70d73d488140ca", + "0xb716dc66f87eb16b95df8066877353962d91bf98cf7346a7f27056c2a4956fb65e55cb512af278783887ab269e91cd76", + "0x81d58cd8bc6657362d724b966321cd29a1b5cdc4601a49fa06e07e1ad13b05e9f387ca4f053ed42396c508cd065c5219", + "0xb32ad0280df6651c27bb6ddbdc61d5eb8246722140a2e29c02b8b52127de57a970e1ded5c2a67f9491ae9667349f4c46", + "0xb68a2eb64cc43f423be8985b1a068e3814b0d6217837fb8fbfd9c786db9cca91885c86899c50a1242040b53bf304ced9", + "0x85887515d4e371eabb81194cbc070e0c422179e01dbda050b359bd5870449c7950e6b3947b7a4a0eb68199341cc89fc3", + "0xac5fff3c27dfbab78eb8aad37ac31cc747a82401ebf3644a4f4f5aa98d37b8bf3b3f4bd8a3428b32a127c25c9e19d239", + "0x86fceaa6fbf8913553a9e1e907fcb1f1986d5e401a7eafd353beefd1899d571454fea96ff5b2a21254d9fb693ec94951", + "0xb6778bb296d3f0de2531b67d36fdbfa21475be0ca48b9dfcc38f396c41b557823735ed0b583e525a2bae1fe06e04058c", + "0x898088babeb5b9866537d6489f7514524c118704abd66b54210dc40a1c1ddb0a1edf7fe0b6e0db53b836f1828ecf939e", + "0xb27854364b97274765f0fb8d1f80d3660d469785d1b68da05e2bd1e4b8cbbe04304804d4c8aabb44cf030eba6c496510", + "0x8c55bbf3603dc11cb78b6395ccbc01e08afcef13611f7c52956b7a65ccf9c70551bff3ae274367200be9fc2d5cb26506", + "0x947726f73cd6281cd448d94f21d3b91b96de7ad3ff039f9153befbb5f172db9f53cacb4f88c80a3db26e6a0f7a846eb0", + "0xa7b733a05e97528812d71cecb4f638a90d51acf6b8fcbc054787d6deb7e2595b7b8d1cbe1aa09d78375b5e684a2019bc", + "0x8d5ca6d161341461544c533314fe0a6655cde032c2d96f0e4ea7e41098b8b39fa075d38e2d8c74e2d0308f250d6cf353", + "0xb960e9f081393e2260b41f988935285586a26657a3d00b0692ea85420373b9f279b2f1bb2da2caae72dd2e314045f1bd", + "0x852a49c7388c10821b387c6d51617add97ba72485f52be95d347bac44c638c92e9c6a44ba0d32afc4d59178a497d944a", + "0x8412162a65147e1334ad5af512982b2b48eef565682b3f3e0bbe93fbc5e1103db9375a0c486bdb1b2c57e4cb3a8e7851", + "0x8f52c3eb5d4f1e1e82cfd2b291d4910195427603b796f6c311deb35ef14a01a57a9e6cad39619ad108f3e86f384f9e1c", + "0x88d221088f2bf0103c53e44d0d96cd7881ec2b0a965db9121a47481771a8b796edd5ac23c4f9c208a171dab301f7d3bb", + "0xb49c3235e8b3617ed08a1891b9e2bcb33dbdacceb94ca96330555b7e00904fe6a749ced9312b8634f88bcb4e76f91cb1", + "0xa85834215e32f284d6dfb0cbfd97f6cffc7b9d354e8f8126d54598bb42d7f858a2b914cf84fa664069632db2ff89a332", + "0xaa3d48eb483c6120c27d9b3e3d0178c1c942632ff54b69f5b3cfbc6ad4ff5b2b9ce6eb771fd1eea8edf4a74c97027265", + "0xa446cfded353cdd9487783b45846402b973cdeddf87e2bf10cf4661610fff35743cc25e8d3b5771dcedfb46b018a5d18", + "0x80998377b3b393ef3073f1a655ad9d1e34980750e9a5cfb95f53a221b053ddb4d6985747217e9c920735b0c851d7551f", + "0xa35ac469790fac6b8b07b486f36d0c02421a5f74ea2f0a20ffc5da8b622ac45dfccabfb737efa6e1689b4bd908234536", + "0x8fb1f6d8e9c463b16ac1d0f36e04544320d5a482dd6ffaec90ea0f02b4611aaca984828bf67f84dcc3506b69af0a00a1", + "0xb6e818d61aea62c5ed39c0a22ccbb327178feebdabda0c9927aa1549d2c5bb0637785c4aed2a6d9a7b4989fa8634c64a", + "0xb4e7208d16018bf67caafe996d436113eac619732e3f529a6efb7e6f094d8ebea55b7be0e122be075770f5957b6ea6f0", + "0xb691d38b552befac61f6d367287c38d01fec73b7f2efdb6713ca30314a37fb7c177eb111fe6bee657f2681014e07630a", + "0x9817587e418e6e7e8e97ae27067f17b55d25dfb14e98f63f530620c855d9a348c9fa571c8508e2741f902f8b9fdc0c5c", + "0xb6a6e5ca779ba140bf1d84cd5394ede8262f7479637ec0087a4b152243a1774ba916d8115ce759a3bebd1b409de5f2fc", + "0xb53d1c84ad766ff794bf497db3228efd2cc8ed5fc1958d89c1126efdff361610ecb45ea8e329b39035ab00a66c1259c7", + "0xadc31333c507c8e0f4aa2934fcdca57fd9c786722a50dbd5404e129541f7ac182cc7373bf14e1e4e06e6cf94b31b90eb", + "0xa82b7fde4642d982d95cec669efee140ad797a2442c7f6620580527d163accbf021b893446cbb8038ea82fe25b15d029", + "0x91f7acf8a8903979afa281646fdecb54aa4d2ed905748e156e92f0910de268fa29d67107d40863935d677d1de8039be2", + "0x86fea71c6d43a7d93216a92fc24dfce8521fd4534a9558b33762d002081247867a6eff54cad7116023277fb4049403ad", + "0x8ae5369a7f9f4c91f3be44b98089efd9c97c08f5bb4cd8b3150c115ecd86288fa0865a046a489c782973a111eb93966e", + "0xb6fb9e829aa2c81c2d9eac72bb2fd7f3a08e0cd763532c2ce3287444d33cf48b3621f205e9603ec58525934b61a795a9", + "0x83e35ca808d84e41fc92115e9f6e283e928c3a614e6dfc48fe78c33b6411262e7bfa731eadb1e1937bc03cff60032e1d", + "0x832fca5196c95098ad47b7d24ba2f9d042e1c73ad2273edd1c2ce36386796ccc26e8567847697f3fcc2a0536a2a2087a", + "0x8fdb7038bc8f462ab2b76bf7053362f9c030019f1b6105cf42219a4e620ecc961e3eacb16a8e581a562a97f1418b0128", + "0x8d3a5a404b51b1ad8ce3b23970e0d5cc57b573922341008e3a952a1dd24a135e19e55b79d86a70cfd82e1c0e9630f874", + "0xba00c025c1c21c57c03cdfc0bfd094b35422281ff0a64b68b240617aa58c6b18800af5f2047d3ff9068bbe987d6c7980", + "0xb468f0dd51964b3806b0aa04f3fe28a035e8f5567fc7d27555be33d02701a838b8dbfe1348b6422c4eac46d2c75c40c7", + "0x8a73a18c97da9958903c38584b08d0e7e26993a5d9b068a5e0e1ee0d8a873942745cf795f94f7a3d3ba88790a9fbb2f6", + "0x953a0a40c2c8102723736854d13b228698c14a02d85c8d2e61db1a768019ac305faf0d5db62ac976430ce087a5b20f1e", + "0x8998219da6b34f657cb8a621c890a52cb98c2bc0f26f26e2af666eebeadadc5e8bdf4f830a91d04aca8ce186190152c8", + "0x8941e08c3155ad432236ed05460420a05dd0aaab30477493ffb364b14c00ea5b9183d30d3442b6321d2d20c36e4f5c7e", + "0x93f293ff7fb56cf5b03aee6f3ad2ad78444398ed5b3be56d7bf5b56b5aa5a2b980d13895dd57a5726d1b067c20cc55e2", + "0x84a16f313e3f75e31824f58d19ab24c6611fb4c75140a7cadc3c166f68819547c1d0ff7f7d13f5d8ae30dff1d80e2aa4", + "0xb6e3e830b15039d3e28b08f5465bb089eade11ee3bd80afe39e010df7db1fcf0c56d698717677a41ddbc91eeaf6544d3", + "0x95e928e6dfff51351281568ae72da7d1edeb6e9fe01f30af0499e7505ba35a22b5bb919d41bb809a432dce83f3977663", + "0xaabeeb60ca46f9b0232ff82ea7766dcab8cc5aaf9d23539f30174f9486640bc9312868ca493b59b314519fc399973e47", + "0xb393a11e957d0bbb3ecf617b075b5906a3450b348e62916c04791b366f0a7397cccd6648440ac544bc30526e1f95aad8", + "0xabb5bfc3964a6d246da60bd809d0ea6daf4f8222efdc12ceb6730194e85f413ee7eb03bae300abf7ea900dbbc3d08971", + "0x96c1bd1d1d216a4bfbcf000c123f296c0d31e1684e9e3884c14df23bf528c8d599f82bb98fcea491716b617216a8e0be", + "0x92d1e570a56f1741fd9f3d9f488cc336421c6256c14a08d340a63720be49b0029e3780e3e193a2e22bf66cc652fa22a3", + "0x8769c08551e3a730e46f8e5d0db9cf38e565a001dfb50db3c30fa7fa0e98b19438edc23c6e03c8c144581b720d7b33a4", + "0xb850bd67fdf5d77d9288680b2f6b3bc0f210580447fb6c404eb01139a43fccb7ed20051999ae2323ea5a58de9676bfb4", + "0x80285da7a0aaf72c4528a137182d89a4db22a446e6c4a488cf3411937f4e83f7b00ec7549b0b4417682e283f91225dfe", + "0x80520368a80b97d80feb09dbc6908096c40ff7120f415702c1614d7112b0b57f6729581c71f4a3ce794ac959a46494ff", + "0x9817b4c27a490b1cd5a6337e7bc7e8005fa075dd980c6bf075ddfa46cd51cc307ad1d9f24e613b762a20fc6c877eab41", + "0xad66bda1a3034ec5e420b78107896ecf36126ce3ef9705163db259072dfa438c6107717a33572272062b9f60cb89557c", + "0x876114ef078c2915288e29c9abe6b0ad6a756b5ee2930ba1b8a17257f3f0557602d1225e8aa41ce8606af71ada2a971b", + "0xaa3d6cde4c3b9d3d5d0c77a33e67f182a3e1cf89b0921423b2024236171955b34afc52b1f25b1dad9da9b001371771d7", + "0x984d3e3a72412d290e3459339757af7520d1739c7af0cbcf659c71999328db44f407d92e8a69fea11625612c49eac927", + "0xae890d0faf5bd3280dcad20a5f90e23a206661be8842375fea2ab22aadc500849ffbc52fe743b376d46bb926cedae6a6", + "0xb1f231f3f4d710c3fe80099faeb56dac67c1baf53b8fe67a9920fe4f90e52cb9a4bf19211249a6456613b28efe337f18", + "0x8caa54b418ba609d16520af3dff2e96d5f2eeb162c065a1763beb926547b2cfb3ae41d738db2c5681a9bc8bc9e6b9a1a", + "0x932157ff56c5ac29cf6cf44f450c882b3acfbb9f43d12d118da3d6256bde4e6eb3183aea304ab6967f37baa718ffec99", + "0x9360bed8fc5b6aac36aa69473040689bfc30411d20ffb7275ef39b9ff5789f9055d149383ce9f0f7709a1f9d683adbfe", + "0x98b5b33209068335da72782179d0c7aeeabe94b5560a19d72088fe8323e56db7ce65debe37a97536b6b8a0ca3b840b61", + "0x89a385c11be40064160b030a1bb28c3921fc8078522618a238c7ea0f86f34717ed9af9b4e2e20f5128e5f7fc66ad841e", + "0xb615703cbc64b4192990cc7e4903b74aed6a0076ce113b59ef7719197ffa46fb29eb78ca56b49873487432d0625c0faa", + "0x90f0d77abae9d3ad73a218e5ccec505ad108ea098451461567ae8ef9661606ca8e78df53b5d628b20b7037bd24622330", + "0x92e0e7cc4dfadc5fa0ee6da0c8de0493030db6e54ba0317f52f232a6708b732068b6077bd13a17eb7eb40b88368085b5", + "0xa24dad20094985bfccc6df1343506ed3bf9dcbdf4b2085a87627a5d71f7568db067304e465f8f380c5c88e8a27291a01", + "0x8629a45a10619354c84bdc2f6c42f540eab5a46f53f2ae11970433d7a2aef007897590bf31dfba1c921614c6d6fe1687", + "0x84ac64040d4206f82b08c771f375da4b7d752e41d2aa0da20ce845f6bc1b880a855d3ee966bca19b8ec327b4b43e7f0e", + "0x9608e6050c25996c052509f43f24a85cdf184135f46eaac520a9a6e78e0d44a6cee50ebc054048c708aefde8cd6651c2", + "0xa32032b0e0d7cc35e480c328f315327f9385adb102a708c9ba637878deb74582ae26bb6d6e5f8c9e3a839b0e0154b82a", + "0xb7e3c78d63acc6564a49e9f00b0a820b56d4f37a2374af1f7f1d016268011df9e7af0670ed2b0eee961f15aa948328dd", + "0x8b88bfdd353acc91ad0d308a43e5fb40da22c228f2fe093c6d6904d70f69c6203f56636ed898b05df51d33f1095ef609", + "0xb1d7a430c51fc857af55047683fc18c453b013527196c5e1bf776819a3dffca802217e9249ae03f084e2ea03ad67fcc2", + "0x80558e28a819ddb5e72e97c54be0f57c173ccf78038d360d190b7f1350a19577b8e3f43fa2f7bf113a228cd3b965b2e4", + "0xb4b2ec44e746c00dfc5661ba2514930934fc805cdc29adc531c02d28ce3cc754414b0485d4ee593232cd1175f357ad66", + "0xb57cee5d32835f76572330f61ccd25a203f0e4a7e5053d32965db283aad92f287645533e8e615137208383ec51b1fd99", + "0x930256086b419a8a6581c52590d0dbd9f8a3564c79424198fca3866b786df2f6098a18c50dc4abd20853a7184b1ce15d", + "0x8e75fd01181cffcd618a983492390f486e8c889972a46c1f34a4e1b38f384e8e4efc7e3c18533aa2057da9f9623e2238", + "0xb375d927dd988429f9e2764e5943916131092c394fce13b311baa10f34b023dd3571da02553176091a0738cc23771b9a", + "0xb9e28e4c0d0477518034d000e32464852e6951c8db6f64ccdb1d2566f5094716213fbf2fc0e29ac88d0e79f725e3c926", + "0x963981e99392afbd2b8318d5a6b2b0cc69c7f2f2f13f4b38dddbfedb2b0eaf0584aecfcbda20a4c60789c15d77970a58", + "0xa7804e1977aa77c263c7c001afa6cf568032dea940e350d6a58ce4614f1a91c13ae1c78bfea740c229dce2444556976a", + "0x8787204177da3cde6d35cd3497fa8774d244f9faa9f4bd91b636a613a32ce2ea0326378cf9c4cf475e73ef751b355c4b", + "0x895aeef46a07152a04ec812f1aa1fd431389fa0ef6c6e96a5b833e70ea14073bc9984757a8ee456dbec9788e74e6f0ca", + "0x8d17f0e5826783440d1f0ec868003510a4d9952bfe4a638e44a36d94482ac18ba70ef7ff773bdf7a3b62d714dcf0fcba", + "0x810d5e36b31310b2e054a666d3b3f7ed16dfcb1765532d87ca2a3920316f0187303c27dd113db145d47e8961062a6c03", + "0xb4e2fb48ae04cf8580bb6a28095076c9b95e5f13122b917328f334d4ac8a8648ce442919e28319a40148987350ab5303", + "0xb85549a313544fa1eb3ceb78473b7d3d717fc85b808de7b79db7dbd0af838ebb020622a7503f1cbacab688dddb648f84", + "0x80665adee057088eae827a5fe904ec3ad77d8843cdce0322d535e0659b4abc74a4d7ddd8a94c27f2def5c34ac2c038ee", + "0xad72fc19c2ce99b5b717e35528fe7d3ac8add340b02ebeb4889d9a94c32f312a0b45ea84d21c54f84cc40ee4958b72e1", + "0x99d530c843dff89a47a5ee8c87303ab18f8a82b0d5b808fca050354b35da5c5a5594d55921c6362d6cc917d75bdc18dc", + "0x99c7286c293e1be21c5b2a669dfdfcd5aa587105d2886fc5a8eaf8984da4e907f7d7b8c2362d64a4f1621b077a2a08a0", + "0xb4a39e1a9ed5d80c9563c3ca3fadf76f5478c63a98f4346a61b930c9c733e002f3ff02bc16abfdb53d776184cc3f87ba", + "0x9378ea71b941979404c92d01fb70b33fa68d085bf15d60eb1c9fc2b5fcdee6379f5583389a3660a756a50019a2f19a69", + "0xb68e17344a2bc45b8e2e19466b86dc139afefbf9bad2e2e28276a725099ebac7f5763f3cb52002261e3abe45ef51eb1a", + "0x819e64dc412b2d194d693b9b3157c1070a226af35c629837df145ea12ad52fa8eabd65b025a63c1fb0726207a58cdde8", + "0xa5e8ff8748419466ff6df5d389125f3d46aedacf44eaf12cbfe2f68d218c7d5ab6de4a8279d13aecc25f3b1d98230894", + "0x91560d54a9715cfda9cf7133ae51c432d0bf7fcbaeb468004994e6838bfc5ddcfa30e4e780667d0c4c0376780b083017", + "0xae8adb3309cc89d79a55ff74f129bb311fe4f5351a8b87600a87e0c3ba60825f71fccf67eadcf7e4b243c619417540fd", + "0x8d92cc1a6baa7bfa96fbce9940e7187b3d142f1888bdcb09bb5c8abf63355e9fb942ac4b4819d9be0e0e822d3e8e2e08", + "0xa6e8b79fdd90c34735bb8fbef02165ccbe55ea726dc203b15e7a015bf311c9cac56efd84d221cc55eaa710ee749dbdfe", + "0xa409b151de37bddf39ce5f8aa3def60ee91d6f03ddd533fce9bf7bdbeac618cc982c4f1ffbf6e302b8353d8f28f8c479", + "0xb9693975ef82171b3b9fc318ca296e4fe6110b26cbdfd653418f7754563fa7b6e22d64f8025ee4243483fa321572bfe4", + "0xa039ebe0d9ee4a03ade08e2104ffd7169975b224061924cca2aae71464d250851e9f5f6f6cb288b5bf15df9e252712a6", + "0xb27834db422395bd330e53736a001341ce02c9b148c277dabac67dc422741bfa983c28d47c27e8214cd861f2bad8c6f6", + "0xa2bafaf4e2daf629fd27d7d5ac09fb5efc930ff2ae610f37519808683aa583fe1c6f37207daf73de1d8a164f79a0c981", + "0xb856cee1cfcf5e50db9af4ab0aed3db2f43c936eaea369b5bba65582f61f383c285efbda97b1c068c5d230cbe94f7722", + "0xa61ab205554c0550fa267e46a3d454cd1b0a631646b3df140623ff1bfffaa118e9abe6b62814968cc2a506e9c03ea9a0", + "0x8c78edcd106377b9cbdfa2abd5278724aed0d9e4ae5869b5d2b568fdabb7804c953bae96294fcc70ef3cd52ba2cbe4ed", + "0x8570869a9bbf6cc84966545a36586a60be4d694839f367b73dfc40b5f623fc4e246b39b9a3090694aa2e17e652d07fd1", + "0xa905b82c4da8d866a894da72315a95dc98faa3c7b3d809aef18f3b2be4801e736a1b79a406179e8cac8f74d27e71ac52", + "0xa8eb8679ff1a64908515f6720ff69434cb33d63aeb22d565fde506618908b1d37585e3bd4d044fd0838b55787af06b42", + "0xaf4d86b2fbd1684a657dffe4210321a71e6ae560c144d44668d1f324dc9630e98348c3d444622a689327c1a59cc169dd", + "0x80359c6eab16954559ab0e6a1fee9a0526c45d3cae1a371159a2e3aa9b893afdc3a785c9559a5fd9cd8cd774234bf819", + "0x8d4e5ff81eb5d17bbe8ae6416538ca51a9427ce142b311f5cbb14febbbbb9c1ffc6489fd625b9266264c366c12a9d997", + "0x92e181c66489c5fa063ba2a1a354b6fd3439b8b4365a8c90e42e169bfaa1fb5766bf3e0fe804399d18bc8fbcafb5c3b1", + "0xa9ddf229360a095393885083716cb69c819b2d7cfb100e459c2e6beb999ff04446d1e4a0534832ae3b178cbe29f4f1d3", + "0x8e085ef7d919302a1cc797857b75cff194bdbc1c5216434fa808c3dea0cf666f39d9b00f6d12b409693d7a9bd50a912c", + "0x916dc4dc89e5e6acf69e4485a09fc66968f9b292eac61a146df1b750aa3da2425a0743d492179f90a543a0d4cd72c980", + "0xb9cbf17e32c43d7863150d4811b974882da338cf0ed1313765b431b89457021dd1e421eeaa52840ef00551bb630962dc", + "0xa6fb875786daec1a91484481787093d8d691dd07e15c9c0c6ae0404bf9dc26083ed15d03c6d3fe03e29f28e20da21269", + "0xa870fcb54b9a029e8086de9b08da8782c64ad2cc2e7fdf955b913d294038bb8136193256b85267e75a4ca205808a76b4", + "0x99883f057e09b88bf0e316f9814c091837fd5c26eeb16fec108c9fed4b7a2bd1c783dac0e4242b5a906621ab606c1e50", + "0x85d89069ca3190577dab39bbec43c16bf6dbca439ad3eebd8f5e9f507d84c3c43e77fd6323224582566a3aa2c8018951", + "0x9363ba219e0003f6e8a9d8937b9e1449e4b2c5cd57194563b758bea39deab88778e8f8e4f7816970a617fb077e1e1d42", + "0x820622f25553c035326145c1d2d537dc9cfd064c2f5bdf6d4ec97814de5fe9a0fbd443345fa2ea0a9d40d81d3936aa56", + "0x87e31110aaf447e70c3316459250e4f7f8c24420c97828f9eb33b22107542c5535bdb48b0e58682dd842edea2886ff08", + "0x95bf80cac6f42029d843d1246588acb40a74802f9e94b2bf69b1833936767e701ef7b0e099e22ab9f20f8c0c4a794b6c", + "0xa46ecf612b2763d099b27fb814bd8fdbaee51d6b9ac277ad6f28350b843ce91d701371adfaaf4509400dc11628089b58", + "0x8604decf299fb17e073969708be5befeb1090ab688ad9f3f97a0847a40ea9a11bbcfc7a91e8dc27bc67a155123f3bd02", + "0x8eb765c8dc509061825f3688cb2d78b6fef90cf44db33783d256f09be284bc7282205279725b78882688a514247c4976", + "0xb5c30b2244fa109d66b3a5270b178960fdec47d31e63db0b374b80d2b626409eb76d2e8d1ebf47ef96c166743032fc5e", + "0xaab01e76290a7e936989530221646160bf8f64e61e79282e980c8c5dcaaa805ff096efd01d075a2c75917a3f4bf15041", + "0xb9d79671debd0b83d0c7c7c3e64c0fb1274300564b262771f839b49218501e7f38ef80cae1f7e5a3c34acdc74c89dab6", + "0x92c0eaceadf036b3b9dfd2712013aba3dd7c30b7760f501f52141618265baa31840fe77850a7014dc528f71f8cf39ce6", + "0xb3cdd098059980455dd5b1c04182df1bd12fa844a866f02a9f8a86aab95b59945baa9af99f687410bffc5b07153cb23c", + "0xb361b73a62f71256b7f6ea8e0f6615e14fc5a06ee98b928ab3c9dd3eef9d9d30070e9855c82b7facb639cacb3401e01f", + "0xb9c85fc0f25a3271cf28b1ca900078eaaa66cbab0a3e677606e898ac32781a2dfce4d9cbd07404599e2c3c02fa161c9d", + "0xac5b4fdac2a0b2e6430d9fc72bde4249d72183b197fc7347bb1546ae6f544426686bbe0caec3ee973b6836da5e831c44", + "0xb675aebf24b92e398e166f171a6df442b3f5919b6bee192f31675a5e8eeb77d34c6590a6f0c0857417e0f78cfb085db8", + "0xa9bef942044d8d62e6a40169f7dc7b49e40cd0d77f8678dd7c7bae6f46c46786f9b1e319a3fa408f22a54fd2a4d70804", + "0xa20d19cd917d5102ae9ca0cf532127d2b953aa3303310e8a8c4b3da025dded993a47e3a28e6b02acfadb6d65dc2d41a3", + "0xa47fdb04059b83b2afb86a47b2368bbd7247c337a36d3333b6e5ef2cc9476a92c4907e4c58a845c9ef9b497621e0b714", + "0x94a9e9ffc14b411e11a4ffa59878d59460263589003dc7b6915247c549f67feede279bf3645fdd92379022fb21e3caeb", + "0xb92e1177dd9ecdaf1370c71b14954219cf0851f309bc216d5907a4e2e84e0df3457018224150c142cc6bf86644bb4b73", + "0x8bc57fadd68a265b7df9b42227a9c0968db7b1bb50dc12f7d755505779f1ff2c408672b3091e903366acc9ce15d19fb6", + "0xb6b5efbe1ac4e1bd2e8447c45000d09397b772ca5496acc447b881022608a41c4f60388814607a01890190105bee7be3", + "0x95f7c85fd614df968f8ccf8d086579c9e1cec4644ecf06da26e3511cb39635a7326b3cec47bd51cf5646f1c660425e9c", + "0xb81765fb319bcdc74b4d608383ccb4af7dd84413b23af637be12e2827a75f7e4bcd14441cf979ed9038ae366fbb6f022", + "0xa120ea76cda8c6c50c97035078f6648afe6537809bdba26e7c9e61de8f3070d2347160f9d34010effbf2ec7e94f5749f", + "0x92c1b8631953b40d3cc77eee2c72a064b999c09a9b92c11d8fa7b4072966273901c9dba25f9f79f384d9f11a56f3fc7a", + "0xa4b00dc0ab67b2300abc9c516e34daf444d6497b066a90cfe3381ed2812304ed37b14f3b948990443dc6c1cf1bed460c", + "0xa9e9f7e13c9f031bc7b9e6f1417c7abcc38894fe7d3f54869ee277afd2efa3e6fb50757dd36c8c94d591e0abdea322cc", + "0x84f3e98f831792b5ad14bcfe62a4c9f296476c6087c4c1ec7767fc642fbca141ff6a3deeb8b4d4106a9cda5a9937eea0", + "0x8eb1a7931bbea9a714226fd74b0100ab88355287d9b0a349c095e9b5809b98f237ffd706bce7d67a770da355fb9cec7b", + "0x9738ef8739e1742c1f26b51a1621be0b89d37406a370c531e236f635c7064c661818817bb3858908986aa687b28b21be", + "0xa9cf3ce8501b003ccaf57552a4c4ec31081e44526d3aa3791d3dc4a7e438a357c0956f93c500356186d8fd4588ffac5e", + "0xa7af6a219cca59225839a9de5b19263cb23d75557d448bc7d677b62591a2e068c45e5f4457cceb3e9efa01d0601fc18a", + "0x972a24ece5eda7692cbb6fb727f92740451bc1281835e2a02931b2b05824a16b01dbe5edd03a0ed5b441ff25a5cc0188", + "0xb21d1ec7597ce95a42f759c9a8d79c8275d7e29047a22e08150f0f65014702f10b7edce8c03f6e7ab578ce8c3b0ec665", + "0xa13a1c7df341bd689e1f8116b7afc149c1ef39161e778aa7903e3df2569356ad31834fa58ceb191485585ce5ef6835c3", + "0xa57bdb08119dc3bc089b5b2b5383455c4de0c2fcdac2dcfa21c7ac5071a61635ff83eceb7412f53fab42d1a01991de32", + "0xb2968748fa4a6921ee752d97aa225d289f599a7db7a222450e69706533573ded450380c87f8cdd4a8b8c8db1b42b5c97", + "0x8718ec04e0d5f38e3034ecd2f13dfde840add500f43a5e13457a1c73db0d18138f938690c8c315b5bcbeb51e8b9a2781", + "0x82094789e26c4a04f2f30bdb97b9aecca9b756cbd28d22ab3c8bed8afc5b2963340ddfc5a5f505e679bf058cbc5dcbb8", + "0xa35b8a566dd6ab67eddc2467906bffc76c345d508e52e9e4bb407b4f2b2c5f39b31d5a4bf5022f87bf7181dc6be2fe41", + "0xa8c93b1e893d4777c0e3a1b4bef3be90c215781501407c4011457fc3240e13524b4d2bea64a6d0a3efe3f3b0dae9b8ab", + "0x877095ad18b1e5870818f7a606127ba1736a0b55b0dbcd281ec307c84b08afc0c9117e3a880fe48bfc225fbf37671a97", + "0x84405ee0421ed2db1add3593df8426a9c1fcc8063e875f5311a917febc193748678dd63171d0c21665fb68b6d786c378", + "0xa52cdc8209c3c310bed15a5db260c4f4d4857f19c10e4c4a4cfe9dfc324dfac851421bb801509cf8147f65068d21603c", + "0x8f8a028a70dda7285b664722387666274db92230b09b0672f1ead0d778cee79aae60688c3dfd3a8ed1efdeda5784c9d4", + "0xa0be42fecc86f245a45a8ed132d6efc4a0c4e404e1880d14601f5dce3f1c087d8480bad850d18b61629cf0d7b98e0ae0", + "0x83d157445fc45cb963b063f11085746e93ab40ece64648d3d05e33e686770c035022c14fdf3024b32b321abf498689ad", + "0x8a72bbf5a732e2d4f02e05f311027c509f228aef3561fc5edac3ef4f93313845d3a9f43c69f42e36f508efcc64a20be0", + "0xb9ca29b0ec8e41c6a02f54d8c16aebf377982488cbe2ed1753090f2db4f804f6269af03e015d647a82ef06ffaa8cba6c", + "0xb4df3858d61bbb5ded1cf0be22a79df65ae956e961fbb56c883e1881c4c21fe642e3f5a0c108a882e553ac59595e3241", + "0x86457d8890ac8858d7bab180ef66851247c2bf5e52bf69a4051d1d015252c389684fcc30bb4b664d42fbf670574ab3a3", + "0x86d5576ea6dfa06d9ebce4cd885450f270c88a283e1e0d29cab27851c14ed2f00355e167b52e1539f1218ad11d8f13dd", + "0x883ad1364dc2a92388bfafaa9bc943c55b2f813525831e817a6208c666829a40455dde494eba054b2495a95f7ce69e8a", + "0x8942371e6925231c2c603b5f5a882d8404d39f0c7c4232557c2610b21c2c07f145466da798ea78b7932da2b774aa3128", + "0xa799eb71496783cc7faf12c9d9804bf6180699a004b2f07fc5cc36840f63ce7eee7dde9275819a9aa3f8d92dc0d47557", + "0x8eb3fb5c769548ee38c7882f51b959c5d5a42b5935269ccf987d6ddbb25a206e80c6000bcc328af149e0727c0b7c02c0", + "0x8f3910d64e421a8f2d8db4c7b352ba5b3fc519d5663973fea5962efe4364fb74448770df944ef37ffe0382648fb56946", + "0xb41413e0c26ff124cf334dab0dc8e538293d8d519d11cc2d10895a96b2064ac60c7da39f08589b38726cffa4c3f0bfef", + "0xb46ef2eb10abae0f35fa4c9c7ee2665e8044b8d9f91988a241da40fd5bbc63166925582151941b400006e28bbc5ba22a", + "0xb8baa8b4c420bb572a3b6b85479b67d994c49a7ebfe1274687d946a0d0b36dfed7630cfb897350fa166f5e2eff8f9809", + "0x964b46d359c687e0dcfbdab0c2797fc2bd1042af79b7418795b43d32ffca4de89358cee97b9b30401392ff54c7834f9f", + "0x8410d0203d382ebf07f200fd02c89b80676957b31d561b76563e4412bebce42ca7cafe795039f46baf5e701171360a85", + "0xb1a8d5d473c1a912ed88ea5cfa37c2aea5c459967546d8f2f5177e04e0813b8d875b525a79c29cb3009c20e7e7292626", + "0xafaab9a1637429251d075e0ba883380043eaf668e001f16d36737028fded6faa6eeed6b5bb340f710961cee1f8801c41", + "0xaef17650003b5185d28d1e2306b2f304279da50925f2704a6a3a68312f29fe5c2f2939f14e08b0ba9dee06ea950ad001", + "0x97bcc442f370804aa4c48c2f8318d6f3452da8389af9335e187482d2e2b83b9382e5c297dce1a0f02935e227b74e09a3", + "0x8a67a27b199f0bcd02d52a3e32f9b76a486b830ec481a49a4e11807e98408b7052b48581b5dd9f0b3e93052ec45dfb68", + "0xb113bf15f430923c9805a5df2709082ab92dcdf686431bbad8c5888ca71cc749290fa4d4388a955c6d6ee3a3b9bc3c53", + "0x8629ca24440740ce86c212afed406026f4ea077e7aa369c4151b6fa57bca7f33f9d026900e5e6e681ae669fd2bd6c186", + "0x933a528371dcecc1ec6ded66b1c7b516bd691b3b8f127c13f948bfbcda3f2c774c7e4a8fbee72139c152064232103bdf", + "0x8568ddd01f81a4df34e5fa69c7f4bb8c3c04274147498156aec2e3bd98ea3e57c8a23503925de8fa3de4184563a2b79e", + "0x8160874ec030f30fda8f55bcf62613994ff7ed831e4901c7560eac647182b4a9b43bfaff74b916602b9d6ae3bfcaf929", + "0xae71c48d48cf9459800cdf9f8e96bc22e2d4e37259e5c92a2b24fbe2c6ca42675e312288603c81762f6ceb15400bc4c9", + "0xb05f39bb83fda73e0559db1fd4a71423938a87ad9f060d616d4f4a6c64bf99472a2cbfb95f88b9257c9630fc21a0b81f", + "0x80c8479a640ed7a39e67f2db5ad8dfd28979f5443e8e6c23da8087fc24134d4b9e7c94320ffa4154163270f621188c27", + "0x9969ba20ee29c64cb3285a3433a7e56a0fe4ddc6f3d93e147f49fe021bed4a9315266ebb2fb0eb3036bb02001ae015e6", + "0xa198c89fef2ab88e498703b9021becc940a80e32eb897563d65db57cc714eaa0e79092b09dd3a84cfab199250186edcc", + "0x8df14a3db8fe558a54d6120bad87405ba9415a92b08c498812c20416c291b09fed33d1e2fcf698eb14471f451e396089", + "0x81e245ef2649b8a5c8d4b27188dd7e985ef6639090bdc03462c081396cf7fc86ed7d01bfe7e649d2b399255e842bdc21", + "0x8659f622c7ab7b40061bcf7a10144b51ad3ab5348567195924f2944e8c4ce137a37f1ba328e4716c10806f3fb7271689", + "0xa575d610fc8fe09334ca619ecdadf02d468ca71dd158a5a913252ca55ea8d8f9ce4548937c239b9cb8ab752a4d5af24a", + "0x94744549cd9f29d99f4c8c663997bdfa90e975b31f1086214245de9c87b0c32209f515a0de64d72d5ef49c09b0a031fa", + "0x80a8677862b056df59e350c967a27436c671b65d58854e100115bac9824ba177e94c2a1bfcaa191a071b9cefdbee3989", + "0x91be9a5504ec99922440f92a43fe97ddce2f21b9d94cd3a94c085a89b70c903696cec203bbab6d0a70693ba4e558fb01", + "0x8c5a0087bcd370734d12d9b3ab7bc19e9a336d4b49fc42825b2bfedcd73bb85eb47bf8bb8552b9097cc0790e8134d08c", + "0x933aa9e6bd86df5d043e0577a48e17eea3352e23befdbb7d7dcac33b5703d5ace230443ac0a40e23bf95da4cc2313478", + "0x984b7ee4bd081ee06c484db6114c2ce0ba356988efb90f4c46ff85ed2865fb37f56a730166c29ef0ae3345a39cdeae7a", + "0xae830f908ea60276c6c949fb8813e2386cf8d1df26dcf8206aa8c849e4467243e074471380ed433465dc8925c138ea4c", + "0x874c1df98d45b510b4f22feff46a7e8ed22cfc3fad2ac4094b53b9e6477c8dfc604976ca3cee16c07906dece471aa6c6", + "0xa603eb60d4c0fb90fa000d2913689126849c0261e6a8649218270e22a994902965a4e7f8c9462447259495fe17296093", + "0xa7c73d759a8ad5e3a64c6d050740d444e8d6b6c9ade6fb31cb660fa93dc4a79091230baccb51c888da05c28cb26f6f3f", + "0xa4411b79b6a85c79ea173bd9c23d49d19e736475f3d7d53213c5349ebb94a266d510d12ba52b2ac7a62deaaaec7339b8", + "0x943b84f8bbcee53b06266b5c4cd24d649d972593837fe82b0bf5d5e1bbc1a2bf148e1426c366d7c39ab566b10224cadc", + "0x8300012096a8b4cefecc080054bf3ceb0918162ba263c6848860423407796b5eb517170c0bad8e4905ac69a383055a21", + "0x8244a1e3ad41908c6f037e2f8db052e81f281646141334829f36c707f307448b9ab79a7f382a1e8d86f877c90b59271c", + "0x8eca1b74687802ecc36a5d39e4516a9dee3de61a2047252d9ed737b49e0090c386e9d792ac004c96337681c7f29a16ad", + "0xb70fa47535f0524835039a20036c61e77f66146ad79d3d339214d8744742db41ceeb577c829d000011aeafbb12e09579", + "0x84b3abbce48689f3adbb99889c7fd1f3e15ab455d477e34f5151c5c1c358ed77a5b6a581879f7e0f1f34106e0792e547", + "0xab45ecb58c0ef0dbce3d16afc6ac281e0d90ec48741ea96a141152647e98fcc87f3a3ff07ba81f3179118453ce123156", + "0x90d231a145ba36a59087e259bbfc019fa369201fcfeaa4347d5fd0a22cd8a716e5a797f3cc357f2779edb08f3b666169", + "0xa4f6074d23c6c97e00130bc05f25213ca4fa76c69ca1ace9dece904a2bdd9d987661f5d55023b50028c444af47ff7a08", + "0x933af884939ad0241f3f1f8e8be65f91d77ac0fb234e1134d92713b7cfb927f1933f164aec39177daa13b39c1370fac8", + "0x80d1db6933ce72091332ae47dc691acb2a9038f1239327b26d08ea9d40aa8f2e44410bbda64f2842a398cbe8f74f770f", + "0xa7a08605be2241ccc00151b00b3196d9c0717c4150909a2e9cd05538781231762b6cc6994bebbd4cddae7164d048e7b2", + "0x96db0d839765a8fdbbac03430fa800519e11e06c9b402039e9ae8b6503840c7ecac44123df37e3d220ac03e77612f4e4", + "0x96d70f8e9acd5a3151a8a9100ad94f16c289a31d61df681c23b17f21749c9062622d0a90f6d12c52397b609c6e997f76", + "0x8cf8e22273f7459396ff674749ab7e24c94fe8ab36d45d8235e83be98d556f2b8668ba3a4ec1cb98fac3c0925335c295", + "0x97b7e796a822262abc1a1f5a54cb72a1ea12c6c5824ac34cd1310be02d858a3c3aa56a80f340439b60d100e59c25097d", + "0xa48208328b08769737aa1a30482563a4a052aea736539eceab148fa6653a80cb6a80542e8b453f1f92a33d0480c20961", + "0xb612184941413fd6c85ff6aa517b58303b9938958aa85a85911e53ed308778624d77eadb27ccf970573e25d3dfd83df7", + "0xb3717068011648c7d03bbd1e2fc9521a86d2c3ae69113d732c2468880a3b932ebec93596957026477b02842ed71a331b", + "0xa0ad363e1352dcf035b03830fef4e27d5fd6481d29d5e8c9d51e851e3862d63cdcbaf8e330d61c1b90886921dac2c6fd", + "0x8db409fdacfa4bfdaf01cc87c8e97b53ca3a6e3a526d794eaad1c2023f3df4b888f1bf19fee9a990fe6d5c7c3063f30c", + "0xb34d6975310ab15938b75ef15020a165fc849949065d32d912554b51ffa1d3f428a6d1a396cb9329367670391de33842", + "0x9117285e9e6762853fc074b8a92b3923864de2c88c13cea7bab574aaf8cdd324843455d2c3f83c00f91f27c7ecc5592a", + "0xb4b2e8f190ea0b60819894710c866bf8578dd1b231ae701d430797cc7ede6e216e8ca6a304f3af9484061563645bf2ab", + "0x8c493c6853ab135d96a464815dd06cad8b3e8b163849cdefc23d1f20211685753b3d3e147be43e61e92e35d35a0a0697", + "0x9864d7880f778c42d33cf102c425e380d999d55a975a29c2774cad920dfddb80087a446c4f32ed9a6ab5f22ec6f82af0", + "0x90f67fe26f11ca13e0c72b2c2798c0d0569ed6bc4ce5bbaf517c096e7296d5dd5685a25012f6c6d579af5b4f5d400b37", + "0xa228872348966f26e28a962af32e8fa7388d04bc07cfc0224a12be10757ac7ab16a3387c0b8318fcb0c67384b0e8c1a4", + "0xa9d9d64bba3c03b51acf70aeb746a2712ddafe3b3667ae3c25622df377c2b5504e7ab598263bec835ab972283c9a168b", + "0x932128971c9d333f32939a1b46c4f7cf7e9d8417bd08dc5bd4573ccbd6ec5b460ac8880fb7f142f7ef8a40eef76d0c6d", + "0x964115e7838f2f197d6f09c06fbb2301d6e27c0ecdf208350cf3b36c748436dac50f47f9f9ac651c09ab7ad7221c7e43", + "0xa5941f619e5f55a9cf6e7f1499b1f1bcddcc7cf5e274efedaaad73a75bc71b1fc5c29cd903f6c69dc9a366a6933ca9d1", + "0xa154bf5eaec096029e5fe7c8bf6c695ae51ace356bb1ad234747776c7e1b406dee2d58864c3f4af84ed69f310974125e", + "0xb504e6209d48b0338ab1e4bdab663bac343bb6e0433466b70e49dc4464c1ec05f4a98111fd4450393607510ae467c915", + "0x813411918ea79bdde295393284dc378b9bdc6cfcb34678b9733ea8c041ac9a32c1e7906e814887469f2c1e39287e80f8", + "0x8be0369f94e4d72c561e6edb891755368660208853988647c55a8eed60275f2dd6ee27db976de6ecf54ac5c66aaf0ae6", + "0xa7e2701e55b1e7ea9294994c8ad1c080db06a6fc8710cd0c9f804195dce2a97661c566089c80652f27b39018f774f85e", + "0x956b537703133b6ddf620d873eac67af058805a8cc4beb70f9c16c6787bf3cc9765e430d57a84a4c3c9fbdd11a007257", + "0x835ae5b3bb3ee5e52e048626e3ddaa49e28a65cb94b7ecdc2e272ff603b7058f1f90b4c75b4b9558f23851f1a5547a35", + "0x85d67c371d1bf6dc72cca7887fa7c886ce988b5d77dc176d767be3205e80f6af2204d6530f7060b1f65d360a0eaeff30", + "0xa84a6647a10fcef8353769ef5f55a701c53870054691a6e9d7e748cbe417b3b41dbb881bae67adc12cb6596c0d8be376", + "0x87ffe271fc0964cb225551c7a61008d8bcb8b3d3942970dbcc2b9f4f9045a767971880368ea254e2038a3a0b94ecf236", + "0x964bb721c51d43ee7dd67c1a2b7dd2cc672ce8fad78c22dcddb43e6aab48d9a4a7dc595d702aa54a6fb0ffabf01f2780", + "0xa89b3f84bb7dcbe3741749776f5b78a269f6b1bebb8e95d3cc80b834fd2177c6be058d16cacfd0d5e1e35e85cde8b811", + "0xb4314538e003a1587b5592ff07355ea03239f17e75c49d51f32babe8e048b90b046a73357bcb9ce382d3e8fbe2f8e68b", + "0x86daf4bf201ae5537b5d4f4d734ed2934b9cf74de30513e3280402078f1787871b6973aa60f75858bdf696f19935a0e2", + "0xb1adf5d4f83f089dc4f5dae9dbd215322fa98c964e2eaa409bf8ca3fa5c627880a014ed209492c3894b3df1c117236c4", + "0xb508d52382c5bac5749bc8c89f70c650bb2ed3ef9dc99619468c387c1b6c9ff530a906dfa393f78f34c4f2f31478508a", + "0xa8349a5865cb1f191bebb845dfbc25c747681d769dbffd40d8cedf9c9a62fa2cbc14b64bb6121120dab4e24bef8e6b37", + "0xaf0500d4af99c83db8890a25f0be1de267a382ec5e9835e2f3503e1bac9412acf9ff83a7b9385708ef8187a38a37bc77", + "0xb76d57a1c1f85b8a8e1722a47057b4c572800957a6b48882d1fc21309c2e45f648a8db0fcff760d1dbc7732cf37c009b", + "0xb93c996cec0d3714667b5a5a5f7c05a7dc00bbc9f95ac8e310626b9e41ae4cc5707fac3e5bd86e1e1f2f6d9627b0da94", + "0x93216fdb864217b4c761090a0921cf8d42649ab7c4da1e009ec5450432564cb5a06cb6e8678579202d3985bd9e941cef", + "0x8b8be41105186a339987ae3a5f075fbc91f34b9984d222dfed0f0f85d2f684b56a56ab5dc812a411570491743d6c8b18", + "0x959b72782a6b2469e77fe4d492674cc51db148119b0671bd5d1765715f49fa8a87e907646671161586e84979ef16d631", + "0x86b7fc72fb7e7904ea71d5e66ba0d5d898ace7850985c8cc4a1c4902c5bf94351d23ce62eed45e24321fb02adfa49fc8", + "0xa2f244e7c9aa272cb0d067d81d25e5a3045b80b5a520b49fd5996ece267a7f1bea42e53147bbf153d9af215ea605fc9e", + "0x81aa2efa5520eebc894ce909ba5ce3250f2d96baa5f4f186a0637a1eea0080dd3a96c2f9fadf92262c1c5566ddb79bab", + "0xb607dd110cfe510d087bcff9a18480ba2912662256d0ab7b1d8120b22db4ad036b2266f46152754664c4e08d0fc583f6", + "0x8f588d5f4837e41312744caac5eee9ddc3ad7085871041694f0b5813edf83dc13af7970f7c9b6d234a886e07fa676a04", + "0x924921b903207783b31016cbec4e6c99e70f5244e775755c90d03a8b769738be3ba61577aca70f706a9c2b80040c9485", + "0xae0a42a222f1a71cd0d3c69ffb2f04c13e1940cce8efabe032629f650be3ceed6abb79651dbb81cb39a33286eb517639", + "0xa07d7d76460f31f5f0e32e40a5ea908d9d2aebf111ac4fadee67ef6540b916733c35a777dcdc05f6417726ca1f2d57dd", + "0x88d7f8a31f8c99794291847d28745e5d0b5d3b9684ca4170b686ffbb5bb521a3ef6746c3c8db22e4250a0cdff7939d96", + "0x849573071fd98c020dc9a8622a9eff221cb9f889bde259e7127a8886b73bef7ad430b87750915658918dcfb6b7b4d8d3", + "0xb12d59f732fa47fad175d6263734da8db89230fd340a46ad1cdee51e577041a5c80bf24cd195593e637daf1a66ef5a98", + "0xabbcfb8a4a6d5e269ee1ac5e277df84416c73ca55ec88317f73608201af25af0cb65b943c54684a5651df3a26e3daca2", + "0xab157f589bdbaf067a6a7ba7513df0492933855d39f3a081196cf2352e0ddc0162d476c433320366e3df601e0556278d", + "0xa86c0619b92e5ae4f7daa876a2abc5ba189156afc2fa05eef464dfa342ba37fc670d0dc308ad3822fcb461ab001bac30", + "0xa3f292946476cfe8d5e544a5325439a00e0165a5f9bf3bb6a53f477baeac7697cc0377745536681aa116f326ce911390", + "0x8aecbbfd442a6a0f01c1c09db5d9d50213eb6f1ff6fab674cde3da06a4edff3ed317e804f78300c22ef70c336123e05d", + "0x834ed4b58211fcd647d7bf7c0a3ba9085184c5c856b085e8a0fcd5215c661ef43d36f3f0f6329a9f1370501b4e73b6e4", + "0xa114ea5ad2b402a0de6105e5730907f2f1e458d28ae35144cf49836e0ad21325fe3e755cfb67984ae0a32e65402aad1e", + "0xa005f12bed97d71cee288b59afe9affb4d256888727343944a99913980df2c963fe02f218e6ea992f88db693a4498066", + "0xa010f286ab06b966e3b91ff8f1bdbe2fe9ab41a27bc392d5787aa02a46e5080e58c62c7d907818caae9f6a8b8123e381", + "0x857bd6df2ddef04dbc7c4f923e0b1696d3016c8bfed07fdfa28a3a3bd62d89b0f9df49aae81cbb6883d5e7b4fadae280", + "0xb3927030da445bc4756ac7230a5d87412a4f7510581fb422212ce2e8cf49689aca7ba71678743af06d4de4914c5aa4a0", + "0xb86403182c98fcce558d995f86752af316b3b2d53ba32075f71c7da2596747b7284c34a1a87de604fcc71e7e117a8add", + "0x98dd19b5527733041689b2a4568edaf6aa0fe1a3dd800c290cda157b171e053648a5772c5d3d4c80e5a795bc49adf12e", + "0x88a3c227bb7c9bff383f9ad3f7762245939a718ab85ae6e5e13180b12bf724d42054d3852b421c1cd1b3670baddecb63", + "0xb3cfd9ad66b52bbe57b5fff0fad723434d23761409b92c4893124a574acc1e6b1e14b4ec507661551cbbe05e16db362e", + "0x923e1bb482cf421dd77801f9780f49c3672b88508a389b94015fd907888dc647ee9ea8ec8d97131d235d066daf1f42b7", + "0x8d5e16240f04f92aa948181d421006bdbc7b215648fb6554193224d00cf337ebbb958f7548cf01b4d828acffb9fbc452", + "0x8b2b8f18ad0559746f6cda3acca294a1467fb1a3bc6b6371bc3a61a3bfe59418934fa8706f78b56005d85d9cb7f90454", + "0xa9316e2a94d6e31426d2ae7312878ba6baaac40f43e2b8a2fa3ab5a774c6918551554b2dbb23dc82f70ba3e0f60b5b0d", + "0x9593116d92cf06b8cd6905a2ce569ee6e69a506c897911f43ae80fc66c4914da209fc9347962034eebbc6e3e0fe59517", + "0x887d89d2b2d3c82b30e8f0acf15f0335532bd598b1861755498610cb2dd41ff5376b2a0bb757cb477add0ce8cfe7a9fc", + "0xb514cfe17875ecb790ad055271cc240ea4bda39b6cfa6a212908849c0875cb10c3a07826550b24c4b94ea68c6bb9e614", + "0xa563d5187966d1257d2ed71d53c945308f709bcc98e3b13a2a07a1933dc17bcb34b30796bd68c156d91811fbd49da2cb", + "0xa7195ccc53b58e65d1088868aeeb9ee208103e8197ad4c317235bb2d0ad3dc56cb7d9a7186416e0b23c226078095d44c", + "0xa838e7a368e75b73b5c50fbfedde3481d82c977c3d5a95892ac1b1a3ea6234b3344ad9d9544b5a532ccdef166e861011", + "0x9468ed6942e6b117d76d12d3a36138f5e5fb46e3b87cf6bb830c9b67d73e8176a1511780f55570f52d8cdb51dcf38e8c", + "0x8d2fc1899bc3483a77298de0e033085b195caf0e91c8be209fd4f27b60029cbe1f9a801fbd0458b4a686609762108560", + "0x8f4e44f8ca752a56aa96f3602e9234ad905ad9582111daf96a8c4d6f203bf3948f7ce467c555360ad58376ee8effd2ba", + "0x8fb88640b656e8f1c7c966c729eb2ba5ccf780c49873f8b873c6971840db7d986bdf1332ba80f8a0bb4b4ee7401468fa", + "0xb72aa3235868186913fb5f1d324e748cd3ce1a17d3d6e6ea7639a5076430fe0b08841c95feb19bb94181fe59c483a9eb", + "0xb8b102690ebb94fc4148742e7e3fd00f807b745b02cbe92cd92992c9143b6db7bb23a70da64a8b2233e4a6e572fc2054", + "0x8c9ae291f6cd744e2c6afe0719a7fc3e18d79307f781921fb848a0bf222e233879c1eca8236b4b1be217f9440859b6ce", + "0xa658ede47e14b3aad789e07f5374402f60e9cacb56b1b57a7c6044ca2418b82c98874e5c8c461898ebd69e38fecd5770", + "0x89c0cb423580e333923eb66bda690f5aca6ec6cba2f92850e54afd882ba608465a7dbb5aa077cd0ca65d9d00909348ab", + "0xaed8e28d98d5508bd3818804cf20d296fe050b023db2ed32306f19a7a3f51c7aaafed9d0847a3d2cd5ba5b4dabbc5401", + "0x96a0fcd6235f87568d24fb57269a94402c23d4aa5602572ad361f3f915a5f01be4e6945d576d51be0d37c24b8b0f3d72", + "0x935d0c69edd5dfa8ed07c49661b3e725b50588f814eb38ea31bcc1d36b262fae40d038a90feff42329930f8310348a50", + "0x900518288aa8ea824c7042f76710f2ea358c8bb7657f518a6e13de9123be891fa847c61569035df64605a459dad2ecc8", + "0x947d743a570e84831b4fb5e786024bd752630429d0673bf12028eb4642beb452e133214aff1cfa578a8856c5ebcb1758", + "0xa787266f34d48c13a01b44e02f34a0369c36f7ec0aae3ec92d27a5f4a15b3f7be9b30b8d9dd1217d4eeedff5fd71b2e5", + "0xa24b797214707ccc9e7a7153e94521900c01a1acd7359d4c74b343bfa11ea2cdf96f149802f4669312cd58d5ab159c93", + "0x97f5ee9c743b6845f15c7f0951221468b40e1edaef06328653a0882793f91e8146c26ac76dd613038c5fdcf5448e2948", + "0x80abd843693aed1949b4ea93e0188e281334163a1de150c080e56ca1f655c53eb4e5d65a67bc3fc546ed4445a3c71d00", + "0x908e499eb3d44836808dacff2f6815f883aeced9460913cf8f2fbbb8fe8f5428c6fc9875f60b9996445a032fd514c70f", + "0xae1828ef674730066dc83da8d4dd5fa76fc6eb6fa2f9d91e3a6d03a9e61d7c3a74619f4483fe14cddf31941e5f65420a", + "0xa9f4dbe658cd213d77642e4d11385a8f432245b098fccd23587d7b168dbeebe1cca4f37ee8d1725adb0d60af85f8c12f", + "0x93e20ee8a314b7772b2439be9d15d0bf30cd612719b64aa2b4c3db48e6df46cea0a22db08ca65a36299a48d547e826a7", + "0xa8746a3e24b08dffa57ae78e53825a9ddbbe12af6e675269d48bff4720babdc24f907fde5f1880a6b31c5d5a51fbb00e", + "0xb5e94dfab3c2f5d3aea74a098546aa6a465aa1e3f5989377d0759d1899babf543ad688bb84811d3e891c8713c45886c5", + "0xa3929bada828bd0a72cda8417b0d057ecb2ddd8454086de235540a756e8032f2f47f52001eb1d7b1355339a128f0a53b", + "0xb684231711a1612866af1f0b7a9a185a3f8a9dac8bde75c101f3a1022947ceddc472beb95db9d9d42d9f6ccef315edbc", + "0xaf7809309edbb8eb61ef9e4b62f02a474c04c7c1ffa89543d8c6bf2e4c3d3e5ecbd39ec2fc1a4943a3949b8a09d315a6", + "0xb6f6e224247d9528ef0da4ad9700bee6e040bbf63e4d4c4b5989d0b29a0c17f7b003c60f74332fefa3c8ddbd83cd95c1", + "0xadbcec190a6ac2ddd7c59c6933e5b4e8507ce5fd4e230effc0bd0892fc00e6ac1369a2115f3398dfc074987b3b005c77", + "0x8a735b1bd7f2246d3fa1b729aecf2b1df8e8c3f86220a3a265c23444bdf540d9d6fe9b18ed8e6211fad2e1f25d23dd57", + "0x96b1bf31f46766738c0c687af3893d098d4b798237524cb2c867ed3671775651d5852da6803d0ea7356a6546aa9b33f2", + "0x8036e4c2b4576c9dcf98b810b5739051de4b5dde1e3e734a8e84ab52bc043e2e246a7f6046b07a9a95d8523ec5f7b851", + "0x8a4f4c32ee2203618af3bb603bf10245be0f57f1cfec71037d327fa11c1283b833819cb83b6b522252c39de3ce599fa5", + "0xad06ed0742c9838e3abaaffdb0ac0a64bad85b058b5be150e4d97d0346ed64fd6e761018d51d4498599669e25a6e3148", + "0x8d91cb427db262b6f912c693db3d0939b5df16bf7d2ab6a7e1bc47f5384371747db89c161b78ff9587259fdb3a49ad91", + "0xae0a3f84b5acb54729bcd7ef0fbfdcf9ed52da595636777897268d66db3de3f16a9cf237c9f8f6028412d37f73f2dfad", + "0x8f774109272dc387de0ca26f434e26bc5584754e71413e35fa4d517ee0f6e845b83d4f503f777fe31c9ec05796b3b4bc", + "0xa8670e0db2c537ad387cf8d75c6e42724fae0f16eca8b34018a59a6d539d3c0581e1066053a2ec8a5280ffabad2ca51f", + "0xac4929ed4ecad8124f2a2a482ec72e0ef86d6a4c64ac330dab25d61d1a71e1ee1009d196586ce46293355146086cabba", + "0x845d222cb018207976cc2975a9aa3543e46c861486136d57952494eb18029a1ebb0d08b6d7c67c0f37ee82a5c754f26f", + "0xb99fa4a29090eac44299f0e4b5a1582eb89b26ed2d4988b36338b9f073851d024b4201cd39a2b176d324f12903c38bee", + "0x9138823bc45640b8f77a6464c171af2fe1700bdc2b7b88f4d66b1370b3eafe12f5fbb7b528a7e1d55d9a70ca2f9fc8e6", + "0x8ac387dc4cf52bc48a240f2965ab2531ae3b518d4d1f99c0f520a3d6eb3d5123a35ef96bed8fa71ee2f46793fa5b33b3", + "0x864adec6339d4c2ba2525621fceabd4c455902f6f690f31a26e55413e0722e5711c509dc47ce0bcc27bbdc7651768d2d", + "0xa0a52edb72268a15201a968dabc26a22909620bda824bd548fb8c26cc848f704166ed730d958f0173bd3b0a672f367bd", + "0x949e445b0459983abd399571a1a7150aab3dd79f4b52a1cd5d733e436c71c1d4b74287c6b0ce6cc90c6711ba4c541586", + "0x858966355dac11369e3b6552f2b381665181693d5a32e596984da3314021710b25a37d8c548b08700eea13d86cb22f21", + "0x974bcbb8d38c5e6518745cc03ad436e585b61f31d705e7e2e5085da9655d768ac4d800904f892c3dab65d6223e3f1fd6", + "0x8092b6506b01308bf6187fde5ebd4fa7448c9a640961ba231be22ac5fa2c7635ef01e8b357722c7695d09b723101ea2a", + "0xa5b8ef360bf28533ee17d8cd131fff661d265f609db49599085c0c7d83b0af409a1b5c28e3a5e5d7f8459a368aa121e8", + "0xb031b6d5e3ceab0f0c93314b3b675f55cf18cbc86f70444af266fe39cb22fd7dad75d8c84e07f1c1bfa2cb8283e1361a", + "0x93ad489e4f74658320c1cceed0137c023d3001a2c930ed87e6a21dbf02f2eb6ad1c1d8bcb3739c85dcfbecb040928707", + "0xb15e4ec2cdab0d34aec8d6c50338812eb6ecd588cf123a3e9d22a7ca23b5a98662af18289f09e6cdd85a39a2863c945c", + "0xb304f71a9717cf40c22073f942618b44bf27cd5e2ed4a386ad45d75b0fcb5a8dafd35158211eaf639495c6f1a651cedb", + "0xb82d78d3eaaa7c5101b7a5aae02bd4f002cd5802d18c3abcda0dd53b036661c6d3c8b79e0abe591eab90b6fdc5fef5e3", + "0xabbd1884243a35578b80914a5084449c237ee4e4660c279d1073a4d4217d1b55c6b7e9c087dfd08d94ac1416273d8d07", + "0x92f4b61c62502745e3e198ec29bca2e18696c69dcb914d1f3a73f4998d012b90caf99df46e9bb59942e43cce377fe8fd", + "0x906e79df98185820c8208844e1ba6bd86cb96965814b01310bd62f22cbec9b5d379b2ef16772d6fc45a421b60cfd68fe", + "0xa0eae2784ef596e2eb270dd40c48d6c508e4394c7d6d08d4cc1b56fde42b604d10ba752b3a80f2c4a737e080ef51b44f", + "0x94c084985e276dc249b09029e49a4ef8a369cd1737b51c1772fbb458d61e3fe120d0f517976eba8ffa5711ba93e46976", + "0x83619a0157eff3f480ab91d1d6225fead74c96a6fd685333f1e8e4d746f6273e226bad14232f1d1168a274e889f202f1", + "0xa724fe6a83d05dbbf9bb3f626e96db2c10d6d5c650c0a909415fbda9b5711c8b26e377201fb9ce82e94fa2ab0bf99351", + "0xa8a10c1b91a3a1fa2d7fd1f78a141191987270b13004600601d0f1f357042891010717319489f681aa8a1da79f7f00d5", + "0xa398a2e95b944940b1f8a8e5d697c50e7aa03994a8a640dfad4ea65cfb199a4d97861a3ec62d1c7b2b8d6e26488ca909", + "0xa2eedfe5452513b2a938fffd560798ef81379c5a5032d5b0da7b3bb812addbaad51f564c15d9acbbfc59bb7eddd0b798", + "0xab31c572f6f145a53e13b962f11320a1f4d411739c86c88989f8f21ab629639905b3eedb0628067942b0dc1814b678ca", + "0xad032736dd0e25652d3566f6763b48b34ea1507922ed162890cd050b1125ec03b6d41d34fccba36ec90336f7cdf788ed", + "0x83028a558a5847293147c483b74173eca28578186137df220df747fccd7d769528d7277336ea03c5d9cdd0bc5ae3d666", + "0xab5d182cd1181de8e14d3ef615580217c165e470b7a094a276b78a3003089123db75c6e1650bf57d23e587c587cd7472", + "0xa4793e089fbdb1597654f43b4f7e02d843d4ab99ee54099c3d9f0bd5c0c5657c90bb076379a055b00c01b12843415251", + "0x98bdc52ee062035356fb2b5c3b41673198ddc60b2d1e546cb44e3bb36094ef3c9cf2e12bbc890feb7d9b15925439d1ea", + "0xa4f90cca6f48024a0341bd231797b03693b34e23d3e5b712eb24aba37a27827319b2c16188f97c0636a0c115381dc659", + "0x8888e6c2e4a574d04ba5f4264e77abc24ccc195f1a7e3194169b8a2ceded493740c52db4f9833b3dbf4d67a3c5b252cb", + "0x83dc4e302b8b0a76dc0292366520b7d246d73c6aebe1bdd16a02f645c082197bcff24a4369deda60336172cefbcf09af", + "0xa4eb2741699febfeb793914da3054337cc05c6fa00d740e5f97cb749ae16802c6256c9d4f0f7297dcdbb8b9f22fc0afa", + "0x8b65557d5be273d1cb992a25cfce40d460c3f288d5cb0a54bdef25cbd17cdea5c32ec966e493addf5a74fd8e95b23e63", + "0x97c6577e76c73837bcb398b947cb4d3323d511141e0ddd0b456f59fbb1e8f920a5c20d7827a24309145efddee786140f", + "0xabcc0849ffe2a6a72157de907907b0a52deece04cf8317bee6fe1d999444b96e461eac95b6afde3d4fe530344086a625", + "0x9385c0115cb826a49df1917556efa47b5b5e4022b6a0d2082053d498ec9681da904ecf375368bb4e385833116ea61414", + "0x8b868c1841f0cdc175c90a81e610b0652c181db06731f5c8e72f8fafa0191620742e61a00db8215a991d60567b6a81ca", + "0xa8df15406f31b8fcf81f8ff98c01f3df73bf9ec84544ddec396bdf7fafa6fe084b3237bf7ef08ad43b26517de8c3cd26", + "0xa9943d21e35464ce54d4cc8b135731265a5d82f9ccf66133effa460ffdb443cdb694a25320506923eede88d972241bf2", + "0xa1378ee107dd7a3abcf269fd828887c288363e9b9ca2711377f2e96d2ed5e7c5ec8d3f1da995a3dcbedf1752d9c088fc", + "0x8a230856f9227b834c75bdebc1a57c7298a8351874bf39805c3e0255d6fd0e846f7ad49709b65ec1fd1a309331a83935", + "0x877bcf42549d42610e1780e721f5800972b51ba3b45c95c12b34cb35eeaf7eac8fa752edd7b342411820cf9093fea003", + "0x84c7a0b63842e50905624f1d2662506b16d1f3ea201877dfc76c79181c338b498eceb7cad24c2142c08919120e62f915", + "0x8e18b1bd04b1d65f6ed349b5d33a26fe349219043ead0e350b50ae7a65d6ff5f985dd9d318d3b807d29faa1a7de4fe42", + "0x8ea7b5a7503e1f0b3c3cd01f8e50207044b0a9c50ed1697794048bbe8efd6659e65134d172fb22f95439e1644f662e23", + "0xb1954a2818cad1dad6d343a7b23afa9aa8ad4463edc4eb51e26e087c2010927535020d045d97d44086d76acdb5818cbf", + "0xa5271ea85d0d21fa1ff59b027cf88847c0f999bbf578599083ff789a9b5228bc161e1c81deb97e74db1a82a0afd61c50", + "0xaa2fa4c05af3387e2c799315781d1910f69977ec1cfea57a25f1a37c63c4daaa3f0ecd400884a1673e17dd5300853bcf", + "0xb1cd2a74ca0b8e6090da29787aef9b037b03b96607983a308b790133bd21297b21ca4e2edec890874096dbf54e9d04c3", + "0x801931607ec66a81272feaa984f0b949ad12d75ecf324ba96627bd4dc5ddead8ebf088f78e836b6587c2b6c0b3366b6c", + "0x95d79504710bdf0ad9b9c3da79068c30665818c2f0cdbba02cc0a5e46e29d596032ac984441b429bd62e34535c8d55b0", + "0x9857d41e25e67876510ff8dadf0162019590f902da1897da0ef6fc8556e3c98961edb1eb3a3a5c000f6c494413ded15e", + "0x8740c9ffe6bd179c19a400137c3bd3a593b85bd4c264e26b4dfb9e2e17ac73e5b52dfacc1dcb4033cfc0cd04785f4363", + "0x977f98f29d948b4097a4abdf9345f4c1fb0aa94ba0c6bf6faa13b76f3a3efc8f688e1fe96099b71b3e1c05041118c8d1", + "0xa364422b1239126e3e8d7b84953ce2181f9856319b0a29fcab81e17ac27d35798088859c1cfc9fc12b2dbbf54d4f70b3", + "0xa0f6ba637f0db7a48e07439bb92ddb20d590ce9e2ed5bab08d73aa22d82c32a9a370fe934cbe9c08aeb84b11adcf2e0e", + "0xa2c548641bd5b677c7748327cca598a98a03a031945276be6d5c4357b6d04f8f40dd1c942ee6ec8499d56a1290ac134d", + "0x9863e9cc5fbcdbd105a41d9778d7c402686bfd2d81d9ed107b4fda15e728871c38647529693306855bee33a00d257a7e", + "0xa54173bf47b976290c88fd41f99300135de222f1f76293757a438450880e6f13dbde3d5fe7afc687bdfbcfc4fbc1fc47", + "0xb8db413917c60907b73a997b5ab42939abd05552c56a13525e3253eb72b83f0d5cc52b695968a10005c2e2fe13290e61", + "0xa1f8388ef21697c94ba90b1a1c157f0dc138e502379e6fc5dc47890d284563e5db7716266e1b91927e5adf3cde4c0a72", + "0x9949013a59d890eb358eab12e623b2b5edb1acbee238dfad8b7253102abc6173922e188d5b89ec405aa377be8be5f16d", + "0xa00fdb7710db992041f6ddb3c00099e1ce311dea43c252c58f560c0d499983a89de67803a8e57baa01ee9d0ee6fa1e44", + "0xa8b1bcbed1951c9cdb974b61078412881b830b48cd6b384db0c00fa68bcc3f4312f8e56c892ea99d3511857ef79d3db9", + "0x8f3ee78404edc08af23b1a28c2012cee0bdf3599a6cb4ea689fc47df4a765ef519191819a72562b91a0fbcdb896a937e", + "0x8155bbb7fa8d386848b0a87caae4da3dec1f3dade95c750a64a8e3555166ccc8799f638bd80ed116c74e3a995541587a", + "0xabfe30adbc0a6f1fd95c630ed5dac891b85384fa9331e86b83217f29dff0bd7cad19d328485715a7e3df9a19069d4d2f", + "0x89d0783e496ee8dbb695764b87fb04cee14d4e96c4ba613a19736971c577d312079048142c12ce5b32b21e4d491d281b", + "0x856b8dbc9c5d8f56b6bb7d909f339ca6da9a8787bba91f09130a025ab6d29b64dbf728ba6ed26e160a23c1cdb9bc037b", + "0x8a30dd2ea24491141047a7dfe1a4af217661c693edf70b534d52ca547625c7397a0d721e568d5b8398595856e80e9730", + "0xae7e1412feb68c5721922ed9279fb05549b7ef6812a4fd33dbbbd7effab756ab74634f195d0c072143c9f1fd0e1ee483", + "0xb7ce970e06fa9832b82eef572f2902c263fda29fdce9676f575860aae20863046243558ede2c92343616be5184944844", + "0x85ed0531f0e5c1a5d0bfe819d1aa29d6d5ff7f64ad8a0555560f84b72dee78e66931a594c72e1c01b36a877d48e017ca", + "0xb8595be631dc5b7ea55b7eb8f2982c74544b1e5befc4984803b1c69727eac0079558182f109e755df3fd64bee00fcaa5", + "0x99e15a66e5b32468ef8813e106271df4f8ba43a57629162832835b8b89402eb32169f3d2c8de1eb40201ce10e346a025", + "0x844c6f5070a8c73fdfb3ed78d1eddca1be31192797ad53d47f98b10b74cc47a325d2bc07f6ee46f05e26cf46a6433efb", + "0x974059da7f13da3694ad33f95829eb1e95f3f3bfc35ef5ef0247547d3d8ee919926c3bd473ab8b877ff4faa07fcc8580", + "0xb6f025aecc5698f6243cc531782b760f946efebe0c79b9a09fe99de1da9986d94fa0057003d0f3631c39783e6d84c7d5", + "0xb0c5358bc9c6dfe181c5fdf853b16149536fbb70f82c3b00db8d854aefe4db26f87332c6117f017386af8b40288d08f9", + "0xa3106be5e52b63119040b167ff9874e2670bd059b924b9817c78199317deb5905ae7bff24a8ff170de54a02c34ff40a4", + "0xad846eb8953a41c37bcd80ad543955942a47953cbc8fb4d766eac5307892d34e17e5549dc14467724205255bc14e9b39", + "0xb16607e7f0f9d3636e659e907af4a086ad4731488f5703f0917c4ce71a696072a14a067db71a3d103530920e1ec50c16", + "0x8ed820e27116e60c412c608582e9bb262eaaf197197c9b7df6d62b21a28b26d49ea6c8bb77dfde821869d9b58025f939", + "0x97bc25201d98cde389dd5c0c223a6f844393b08f75d3b63326343073e467ac23aacef630ddc68545ea874299ba4a3b4f", + "0xb73c9695ad2eefd6cc989a251c433fab7d431f5e19f11d415a901762717d1004bb61e0cc4497af5a8abf2d567e59fef4", + "0xadaabe331eea932533a7cc0cf642e2a5e9d60bbc92dd2924d9b429571cbf0d62d32c207b346607a40643c6909b8727e2", + "0xa7b1bbfe2a5e9e8950c7cb4daab44a40c3ffab01dc012ed7fe445f4af47fa56d774a618fafe332ab99cac4dfb5cf4794", + "0xb4a3c454dcd5af850212e8b9ba5fe5c0d958d6b1cabbf6c6cfe3ccbc4d4c943309c18b047256867daf359006a23f3667", + "0xa5c0b32f6cef993834c1381ec57ad1b6f26ae7a8190dd26af0116e73dadc53bb0eeb1911419d609b79ce98b51fdc33bc", + "0xac2f52de3ecf4c437c06c91f35f7ac7d171121d0b16d294a317897918679f3b9db1cef3dd0f43adb6b89fe3030728415", + "0x94722ae6d328b1f8feaf6f0f78804e9b0219de85d6f14e8626c2845681841b2261d3e6a2c5b124086b7931bf89e26b46", + "0xa841a0602385d17afabca3a1bb6039167d75e5ec870fea60cfcaec4863039b4d745f1a008b40ec07bca4e42cb73f0d21", + "0x8c355f0a1886ffced584b4a002607e58ff3f130e9de827e36d38e57cb618c0cb0b2d2dea2966c461cb3a3887ede9aef1", + "0xa6a9817b0fc2fd1786f5ba1a7b3d8595310987fb8d62f50a752c6bb0b2a95b67d03a4adfd13e10aa6190a280b7ee9a67", + "0xa1d2e552581ecbafeaef08e389eaa0b600a139d446e7d0648ac5db8bbbf3c438d59497e3a2874fc692b4924b87ff2f83", + "0xa1b271c55389f25639fe043e831e2c33a8ba045e07683d1468c6edd81fedb91684e4869becfb164330451cfe699c31a8", + "0x8c263426e7f7e52f299d57d047a09b5eeb893644b86f4d149535a5046afd655a36d9e3fdb35f3201c2ccac2323a9582e", + "0xb41c242a7f7880c714241a97d56cce658ee6bcb795aec057a7b7c358d65f809eb901e0d51256826727dc0dc1d1887045", + "0x93001b9445813c82f692f94c0dc1e55298f609936b743cf7aae5ebfa86204f38833d3a73f7b67314be67c06a1de5682d", + "0x82087536dc5e78422ad631af6c64c8d44f981c195ddea07d5af9bb0e014cdc949c6fa6e42fce823e0087fdb329d50a34", + "0x8e071861ceba2737792741c031f57e0294c4892684506b7c4a0fc8b2f9a0a6b0a5635de3d1e8716c34df0194d789ae86", + "0xb471c997e1e11774bd053f15609d58838a74073a6c089a7a32c37dd3f933badf98c7e5833263f3e77bc0d156a62dd750", + "0x8d2d8686fb065b61714414bb6878fff3f9e1e303c8e02350fd79e2a7f0555ded05557628152c00166ce71c62c4d2feaa", + "0xae4c75274d21c02380730e91de2056c0262ffcecf0cbdb519f0bdb0b5a10ae2d4996b3dc4b3e16dbaea7f0c63d497fef", + "0x97140d819e8ca6330e589c6debdee77041c5a9cedb9b8cbd9c541a49207eeb7f6e6b1c7e736ec8ba6b3ab10f7fcd443a", + "0xaf6659f31f820291a160be452e64d1293aa68b5074b4c066dac169b8d01d0179139504df867dc56e2a6120354fc1f5be", + "0xa5e5d8088a368024617bfde6b731bf9eee35fc362bed3f5dfdd399e23a2495f97f17728fec99ca945b3282d1858aa338", + "0xa59cfc79d15dbdde51ab8e5129c97d3baba5a0a09272e6d2f3862370fdbaf90994e522e8bd99d6b14b3bb2e9e5545c6f", + "0xa30499b068083b28d6c7ddcc22f6b39b5ec84c8ee31c5630822c50ea736bb9dca41c265cffc6239f1c9ef2fd21476286", + "0x88ffe103eca84bbe7d1e39a1aa599a5c7c9d5533204d5c4e085402a51441bb8efb8971efe936efbbfa05e5cb0d4b8017", + "0xb202356fbf95a4d699154639e8cb03d02112c3e0128aab54d604645d8510a9ba98936028349b661672c3a4b36b9cb45d", + "0x8b89bb6574bf3524473cff1ff743abcf1406bd11fb0a72070ccd7d8fce9493b0069fb0c6655252a5164aee9e446ea772", + "0x93247b1038fa7e26667ee6446561d4882dc808d1015daafb705935ddc3598bb1433182c756465960480f7b2de391649e", + "0xb027f94d3358cbb8b6c8c227300293a0dee57bf2fee190a456ad82ecfb6c32f8090afa783e2ab16f8139805e1fb69534", + "0xa18bb1849b2f06c1d2214371031d41c76ffa803ee3aa60920d29dbf3db5fbfac2b7383d5d0080ba29ce25c7baa7c306b", + "0x827bf9fd647e238d5ac961c661e5bbf694b4c80b3af8079f94a2484cb8fba2c8cf60e472ebcd0b0024d98ae80ad2ff5a", + "0x838e891218c626a7f39b8fd546b013587408e8e366ecc636b54f97fa76f0a758bc1effa1d0f9b6b3bc1a7fcc505970a0", + "0x836523b5e8902d6e430c6a12cff01e417d2bd7b402e03904034e3b39755dee540d382778c1abe851d840d318ebedce7f", + "0x850a77dda9ac6c217e2ef00bf386a1adec18b7f462f52801c4f541215690502a77ef7519b690e22fdf54dc2109e0ca38", + "0xa8265c6ae7b29fc2bda6a2f99ced0c1945dd514b1c6ca19da84b5269514f48a4f7b2ccbab65c9107cfd5b30b26e5462f", + "0xab3d02ee1f1267e8d9d8f27cc388e218f3af728f1de811242b10e01de83471a1c8f623e282da5a284d77884d9b8cde0e", + "0x831edaf4397e22871ea5ddee1e7036bab9cc72f8d955c7d8a97f5e783f40532edbbb444d0520fefcffeab75677864644", + "0x80484487977e4877738744d67b9a35b6c96be579a9faa4a263e692295bb6e01f6e5a059181f3dd0278e2c3c24d10a451", + "0xaae65a18f28c8812617c11ecf30ad525421f31fb389b8b52d7892415e805a133f46d1feca89923f8f5b8234bd233486a", + "0xb3a36fd78979e94288b4cefed82f043a7e24a4a8025479cc7eb39591e34603048a41ee606ee03c0b5781ebe26a424399", + "0xb748b3fc0d1e12e876d626a1ba8ad6ad0c1f41ea89c3948e9f7d2666e90173eb9438027fadcd741d3ae0696bd13840f1", + "0xacdd252d7c216c470683a140a808e011c4d5f1b4e91aeb947f099c717b6a3bad6651142cde988330827eb7d19d5fb25c", + "0xb9a25556a6ca35db1ed59a1ec6f23343eab207a3146e4fc3324136e411c8dba77efd567938c63a39c2f1c676b07d8cdb", + "0xa8db6aef8f5680d2bdb415d7bcaae11de1458678dcb8c90c441d5986c44f83a9e5855662d0c1aace999172d8628d8fe1", + "0xaf58147108e9909c3a9710cc186eab598682dca4bfd22481e040b8c000593ecb22c4ede4253ac9504e964dfa95a9b150", + "0x8dd8bb70f1c9aec0fcc9478f24dfc9c3c36c0bf5ff7a67c017fa4dab2ec633fbd7bc9d8aa41ea63e2696971ed7e375f5", + "0xaa98d600b22aff993a4d7a3ccabd314e1825b200cb598f6b797d7e4d6a76d89e34a4d156c06bddfc62f2ef9b4c809d1d", + "0x8a8fc960d6c51294b8205d1dabe430bef59bda69824fa5c3c3105bef22ac77c36d2d0f38ffc95ce63731de5544ccbeff", + "0xb6d1020efe01dc8032bd1b35e622325d7b9af9dcd5c9c87c48d7d6ebc58644454294c59b7f4b209204b5b1f899f473bf", + "0x8a750dc9fe4891f2dfe5759fb985939810e4cdc0b4e243ff324b6143f87676d8cb4bcb9dfb01b550801cedcaaa5349e2", + "0x98c13142d3a9c5f8d452245c40c6dae4327dd958e0fda85255ea0f87e0bcbaa42a3a0bd50407ed2b23f9f6317a8a4bc5", + "0x99f2b83d9ec4fc46085a6d2a70fd0345df10f4a724c1ba4dee082a1fde9e642e3091992ebf5f90a731abcb6ec11f6d9b", + "0xb218546ab2db565b2489ea4205b79daa19ef2acbf772ccaaa5e40150e67ea466090d07198444b48e7109939aa2319148", + "0x84f9d1d868e4b55e535f1016558f1789df0daa0ead2d13153e02f715fe8049b1ce79f5bc1b0bbbb0b7e4dd3c04783f3f", + "0x80d870d212fbddfdda943e90d35a5a8aa0509a7a1e7f8909f2fcb09c51c3026be47cc7a22620a3063406872105b4f81a", + "0xb5b15138ff6551fac535d4bbce2ea6adc516b6b7734b4601c66ec029da2615e3119dc9ad6a937344acfd7b50e4a1a2ae", + "0x95d2f97652086e7ceb54e1d32692b1c867ffba23c4325740c7f10d369283d1b389e8afa0df967831ade55696931e7934", + "0x8a5b580403e1a99cd208f707e8ce0d3f658c8280417683f69008d09cc74d835a85f7380f391b36ead9ac66d9eedd1cbe", + "0xa8b0c90bff34c86720637b5a2081f0f144cfe2205c1176cacd87d348609bc67af68aed72414dc9aa6f44a82c92c2a890", + "0x865abbdd96c496892c165a8de0f9e73348bf24fce361d7a9048710178a3625881afb0006e9f5ee39124866b87904c904", + "0xace67bb994adef4b6f841cdf349195608030044562780a7e9b00b58a4ff117268a03ff01e5a3a9d9d7eff1dd01f5f4bf", + "0xb9371d59185b3d2d320d3fefeadb06ba2aa7d164352fb8dc37571509509fa214d736d244ac625a09a033a10d51611e2e", + "0xa8ef992771422dcf2d6d84386fde9fe5dba88bfded3dfcd14074ca04331b4fd53a7f316615cdfaf10ed932cbb424a153", + "0x868cbc75f8f789ea45eded2768a1dac0763347e0d8e8028d316a21005f17be179d26d5965903e51b037f2f57fe41765d", + "0xb607111bcdfd05fa144aa0281b13ee736079ebbbf384d938a60e5e3579639ed8ef8eb9ca184868cdb220a8e130d4a952", + "0xaca55702af5cae4cae65576769effd98858307a71b011841c563b97c2aa5aeb5c4f8645d254f631ed1582df3dbbf17da", + "0xb9b5cbace76246e80c20dfcc6f1e2c757a22ab53f7fd9ff8a1d309538b55174e55e557a13bf68f095ff6a4fa637ef21a", + "0x8571b0a96871f254e2397c9be495c76379faf347801cb946b94e63212d6a0da61c80e5d7bebbabcd6eaa7f1029172fe5", + "0x902540326281e6dc9c20d9c4deaaf6fbbbcc3d1869bd0cf7f081c0525bea33df5cfa24ead61430fda47fb964fcc7994b", + "0x841af09279d3536a666fa072278950fabf27c59fc15f79bd52acb078675f8087f657929c97b4bc761cbade0ecb955541", + "0xa1f958b147ddf80ab2c0746ba11685c4bae37eb25bfa0442e7e1078a00d5311d25499da30f6d168cb9302ea1f2e35091", + "0x863d939381db37d5a5866964be3392a70be460f0353af799d6b3ed6307176972686bd378f8ad457435a4094d27e8dfb7", + "0x835cd4d7f36eff553d17483eb6c041b14280beb82c7c69bca115929658455a1931212976c619bafb8179aed9940a8cc6", + "0x8d0770e3cb8225e39c454a1fc76954118491b59d97193c72c174ecc7613051e5aed48a534016a8cf0795c524f771a010", + "0x91aa4edb82f6f40db2b7bd4789cc08786f6996ebed3cb6f06248e4884bc949793f04a4c5ea6eefe77984b1cc2a45d699", + "0x8fb494ca2449f659ff4838833507a55500a016be9293e76598bbae0a7cb5687e4693757c2b6d76e62bd6c7f19ed080bb", + "0xb59b104449a880a282c1dd6a3d8debb1d8814ef35aab5673c1e500ee4cb0e840fb23e05fa5a0af92509c26b97f098f90", + "0xaca908e3bad65e854ae6be6c5db441a06bcd47f5abafdfa8f5a83c8cd3c6e08c33cab139c45887887a478338e19ceb9f", + "0x806f5d802040313a31964fc3eb0ee18ac91b348685bed93c13440984ee46f3d2da7194af18c63dea4196549129660a4e", + "0xae4b2dca75c28d8f23b3ab760b19d839f39ff5a3112e33cb44cff22492604a63c382b88ec67be4b0266924dd438c3183", + "0x99d1c29c6bd8bf384e79cd46e30b8f79f9cbc7d3bf980e9d6ffba048f0fc487cac45c364a8a44bb6027ad90721475482", + "0xa16e861c1af76d35528c25bf804bfc41c4e1e91b2927d07d8e96bffe3a781b4934e9d131ecf173be9399800b8269efac", + "0xa253303234fb74f5829060cdcef1d98652441ab6db7344b1e470d195a95722675988048d840201c3b98e794b1e8b037c", + "0x905ac8a0ea9ce0eb373fb0f83dd4cbe20afb45b9d21ae307846fd4757d4d891b26a6711924e081e2b8151e14a496da18", + "0xb485315791e775b9856cc5a820b10f1fa5028d5b92c2f0e003ba55134e1eddb3eb25f985f2611a2257acf3e7cfdfab5e", + "0xb6189c0458b9a043ebc500abc4d88083a3487b7ac47ed5e13ab2a41e0a1bee50d54a406063f92bc96959f19e822a89a7", + "0xa30e15f995fd099a223fc6dc30dad4b8d40bee00caa2bc3223ba6d53cd717c4968a3e90c4618c711ed37cc4cd4c56cf3", + "0xa1b1ed07fcc350bb12a09cd343768d208fc51a6b3486f0ece8f5a52f8a5810b4bc7ab75582ec0bc2770aed52f68eace5", + "0x88aa739fbae4bece147ba51a863e45d5f7203dbc3138975dc5aef1c32656feb35f014d626e0d5b3d8b1a2bda6f547509", + "0xab570f3c8eabfca325b3a2ea775ef6b0c6e6138c39d53c2310329e8fb162869fde22b0e55688de9eb63d65c37598fca3", + "0x89d274762c02158e27cb37052e296a78f2b643eb7f9ae409f8dac5c587d8b4d82be4ef7c79344a08ebec16ac4a895714", + "0x99c411d2ad531e64f06e604d44c71c7c384424498ecd0a567d31ec380727fb605af76643d0d5513dd0a8d018076dd087", + "0x80d0777fa9f79f4a0f0f937d6de277eec22b3507e2e398f44b16e11e40edf5feff55b3b07a69e95e7e3a1621add5ed58", + "0xb2430a460783f44feb6e4e342106571ef81ad36e3ddd908ec719febeb7acaf4b833de34998f83a1dab8f0137a3744c11", + "0xb8f38ccfc7279e1e30ad7cefc3ea146b0e2dff62430c50a5c72649a4f38f2bac2996124b03af2079d942b47b078cc4f8", + "0xa178a450a62f30ec2832ac13bbc48789549c64fc9d607b766f6d7998558a0e2fad007ae0148fc5747189b713f654e6ba", + "0x98c5ede296f3016f6597f7ccc5f82c88fd38ed6dc3d6da3e4a916bfd7c4c95928722a1d02534fe89387c201d70aa6fd2", + "0xa8cc5e98573705d396576e022b2ba2c3e7c7ece45cd8605cb534b511763682582299e91b4bb4100c967019d9f15bbfaf", + "0x848480ea7b7d9536e469da721236d932870b7bbee31ccf7ae31b4d98d91413f59b94a1e0d1786ee7342295aa3734969c", + "0xb88ea38f9ee432f49e09e4e013b19dff5a50b65453e17caf612155fff6622198f3cba43b2ea493a87e160935aaaf20a9", + "0x949376934a61e0ef8894339c8913b5f3b228fa0ae5c532ad99b8d783b9e4451e4588541f223d87273c0e96c0020d5372", + "0x96f90bb65ca6b476527d32c415814b9e09061648d34993f72f28fae7dc9c197e04ef979f804076d107bb218dfd9cb299", + "0xa4402da95d9942c8f26617e02a7cef0ebc4b757fac72f222a7958e554c82cc216444de93f659e4a1d643b3e55a95d526", + "0x81179cbc26a33f6d339b05ea3e1d6b9e1190bd44e94161ae36357b9cdf1e37d745d45c61735feed64371fe5384102366", + "0xad4dc22bdbd60e147fdac57d98166de37c727f090059cfc33e5ee6cf85e23c2643996b75cf1b37c63f3dc9d3c57ffa18", + "0x8a9b1b93dc56e078ce3bb61c2b0088fd6c3e303ba6b943231cc79d4a8e8572f4109bbde5f5aa7333aae3287909cb0fe2", + "0x8876ef583bc1513322457a4807d03381ba1f4d13e179260eaa3bddfede8df677b02b176c6c9f74c8e6eab0e5edee6de6", + "0xb6c67e228bf190fbaeb2b7ec34d4717ce710829c3e4964f56ebb7e64dc85058c30be08030fa87cc94f1734c5206aef5f", + "0xa00cb53b804ee9e85ce12c0103f12450d977bc54a41195819973c8a06dcb3f46f2bf83c3102db62c92c57ab4dd1e9218", + "0xa7675a64772eefddf8e94636fb7d1d28f277074327c02eea8fae88989de0c5f2dc1efed010f4992d57b5f59a0ab40d69", + "0x8d42bb915e0bf6a62bcdf2d9330eca9b64f9ec36c21ae14bf1d9b0805e5e0228b8a5872be61be8133ad06f11cb77c363", + "0xa5b134de0d76df71af3001f70e65c6d78bed571bc06bfddf40d0baad7ea2767608b1777b7ef4c836a8445949877eeb34", + "0xaeadbc771eaa5de3a353229d33ed8c66e85efbd498e5be467709cb7ff70d3f1a7640002568b0940e3abd7b2da81d2821", + "0x8c28da8e57a388007bd2620106f6226b011ee716a795c5d9f041c810edf9cf7345b2e2e7d06d8a6b6afa1ee01a5badc1", + "0x8ed070626a4d39ffd952ddb177bc68fd35b325312e7c11694c99b691f92a8ea7734aeb96cf9cc73e05b3c1b1dcad6978", + "0xada83e18e4842f3d8871881d5dbc81aed88a1328298bfdc9e28275094bd88d71b02e7b8501c380fa8d93096cbc62f4fb", + "0x8befc3bec82dcf000a94603b4a35c1950ba5d00d4bed12661e4237afa75062aa5dcef8eac0b9803136c76d2dd424a689", + "0x97c6f36c91ca5ca9230bfcbf109d813728b965a29b62e5f54c8e602d14a52ac38fa1270de8bfe1ab365426f3fc3654c7", + "0xb01d192af3d8dbce2fe2fece231449e70eb9ac194ec98e758da11ca53294a0fa8c29b1d23a5d9064b938b259ea3b4fb5", + "0x819a2c20646178f2f02865340db1c3c6ebc18f4e6559dd93aa604388796a34bd9fed28ad3ccc8afc57a5b60bb5c4e4ec", + "0xa9ffc877470afc169fecf9ec2dc33253b677371938b0c4ffa10f77bb80089afa2b4488437be90bb1bcf7586a6f4286e3", + "0xb533051c7ce7107176bcb34ad49fdb41fac32d145854d2fe0a561c200dcf242da484156177e2c8f411c3fdf1559ecf83", + "0x8fe2caff2e4241d353110a3618832f1443f7afe171fd14607009a4a0aa18509a4f1367b67913e1235ac19de15e732eb1", + "0x84705c6370619403b9f498059f9869fdf5f188d9d9231a0cb67b1da2e8c906ead51b934286497293698bba269c48aa59", + "0x899dddf312a37e3b10bdaaacc1789d71d710994b6ee2928ac982ad3fd8a4f6167672bc8bf3419412711c591afe801c28", + "0xb2f7916d946b903ded57b9d57025386143410a41a139b183b70aeca09cf43f5089ead1450fce4e6eb4fba2c8f5c5bbe5", + "0x8d5f742fe27a41623b5820914c5ca59f82246010fa974304204839880e5d0db8bc45ebab2ad19287f0de4ac6af25c09e", + "0xb93d4a1f6f73ac34da5ffbd2a4199cf1d51888bc930dc3e481b78806f454fcb700b4021af7525b108d49ebbbaa936309", + "0x8606f8d9121512e0217a70249937e5c7f35fbfe019f02248b035fa3a87d607bc23ae66d0443e26a4324f1f8e57fd6a25", + "0xb21312cdec9c2c30dd7e06e9d3151f3c1aceeb0c2f47cf9800cce41521b9d835cb501f98b410dc1d49a310fdda9bc250", + "0xa56420b64286bdddda1e212bba268e9d1ba6bdb7132484bf7f0b9e38099b94a540884079b07c501c519b0813c184f6b4", + "0x80b2cf0e010118cb2260f9c793cef136f8fa7b5e2711703735524e71d43bce2d296c093be41f2f59118cac71f1c5a2ff", + "0xadcb12d65163804d2f66b53f313f97152841c3625dbbda765e889b9937195c6fcd55d45cc48ebffabb56a5e5fe041611", + "0x8b8a42e50dc6b08ab2f69fc0f6d45e1ea3f11ba0c1008ee48448d79d1897356599e84f7f9d8a100329ed384d6787cfc4", + "0xaaa9c74afa2dec7eccfbd8bb0fc6f24ed04e74c9e2566c0755a00afdfdf3c4c7c59e2a037ec89c2f20af3fae1dd83b46", + "0xaa9f6e8fd59187171c6083ae433627d702eb78084f59010ff07aff8f821f7022ef5fbbe23d76814d811b720a8bfa6cc3", + "0xa56a3ded501659ad006d679af3287080b7ee8449e579406c2cae9706ef8bf19c1fc2eb2a6f9eaf2d3c7582cded73e477", + "0x81971e077c1da25845840222b4191e65f6d242b264af4e86800f80072d97d2a27a6adc87c3a1cb1b0dd63d233fbafa81", + "0xa6fa5453c4aaad2947969ee856616bf6448224f7c5bf578f440bcfc85a55beb40bef79df8096c4db59d1bd8ef33293ea", + "0x87c545adbfaaf71e0ab4bac9ae4e1419718f52b0060e8bb16b33db6d71b7248ae259d8dd4795b36a4bbb17f8fae9fd86", + "0xb4c7a9bc0910e905713291d549cec5309e2d6c9b5ea96954489b1dff2e490a6c8b1fa1e392232575f0a424ba94202f61", + "0x802350b761bcaba21b7afe82c8c6d36ee892b4524ab67e2161a91bbfa1d8e92e7e771efb1f22c14126218dd2cb583957", + "0xb4e7ddb9143d4d78ea8ea54f1c908879877d3c96ee8b5e1cb738949dcfceb3012a464506d8ae97aa99ea1de2abf34e3d", + "0xa49a214065c512ad5b7cc45154657a206ef3979aa753b352f8b334411f096d28fd42bca17e57d4baaafb014ac798fc10", + "0x8a80c70a06792678a97fe307520c0bf8ed3669f2617308752a2ab3c76fdf3726b014335a9b4c9cbcfc1df3b9e983c56f", + "0xa34721d9e2a0e4d08995a9d986dc9c266c766296d8d85e7b954651ad2ca07e55abb1b215898ee300da9b67114b036e0d", + "0x8cfce4564a526d7dca31e013e0531a9510b63845bbbd868d5783875ed45f92c1c369ce4a01d9d541f55f83c2c0a94f03", + "0xab3f5f03a5afc727778eb3edf70e4249061810eba06dc3b96b718e194c89429c5bfbec4b06f8bce8a2118a2fdce67b59", + "0xaa80c2529fc19d428342c894d4a30cb876169b1a2df81a723ab313a071cba28321de3511a4de7846207e916b395abcc9", + "0x82b7828249bf535ef24547d6618164b3f72691c17ca1268a5ee9052dba0db2fdd9987c8e083307a54399eab11b0f76b1", + "0x8fbcb56b687adad8655a6cf43364a18a434bf635e60512fad2c435cf046f914228fb314f7d8d24d7e5e774fb5ffb1735", + "0xa3010a61a2642f5ebbce7b4bc5d6ecb3df98722a49eb1655fe43c1d4b08f11dfad4bcec3e3f162d4cc7af6a504f4d47c", + "0xb3dcc0fdf531478e7c9ef53190aa5607fd053a7d2af6c24a15d74c279dbb47e3c803a1c6517d7e45d6534bb59e3527f5", + "0x8648f6316c898baaca534dff577c38e046b8dfa8f5a14ee7c7bc95d93ae42aa7794ba0f95688a13b554eeb58aeedf9ba", + "0x89fca6fc50407695e9315483b24f8b4e75936edf1475bcf609eed1c4370819abac0e6a7c3c44f669560367d805d9ba63", + "0xa367a17db374f34cd50f66fb31ba5b7de9dbe040f23db2dcc1d6811c0e863606f6c51850af203956f3399000f284d05f", + "0x91030f9ca0fff3e2dbd5947dcf2eba95eb3dbca92ee2df0ed83a1f73dbf274611af7daf1bb0c5c2ee46893ab87013771", + "0x84d56181f304ce94015ea575afeef1f84ea0c5dbb5d29fb41f25c7f26077b1a495aff74bd713b83bce48c62d7c36e42d", + "0x8fe2f84f178739c3e2a2f7dcac5351c52cbed5fa30255c29b9ae603ffd0c1a181da7fb5da40a4a39eec6ce971c328fcf", + "0xa6f9b77b2fdf0b9ee98cb6ff61073260b134eb7a428e14154b3aa34f57628e8980c03664c20f65becfe50d2bdd2751d4", + "0x8c6760865445b9327c34d2a1247583694fbeb876055a6a0a9e5cb460e35d0b2c419e7b14768f1cc388a6468c94fd0a0f", + "0xaf0350672488a96fe0089d633311ac308978a2b891b6dbb40a73882f1bda7381a1a24a03e115ead2937bf9dcd80572ad", + "0xa8e528ec2ee78389dd31d8280e07c3fdd84d49556a0969d9d5c134d9a55cd79e1d65463367b9512389f125ed956bc36a", + "0x942c66589b24f93e81fe3a3be3db0cd4d15a93fb75260b1f7419f58d66afaa57c8d2d8e6571536790e2b415eec348fd9", + "0x83fe4184b4b277d8bf65fb747b3c944170824b5832751057e43465526560f60da6e5bbee2f183cb20b896a20197168c7", + "0x88a71aada494e22c48db673d9e203eef7a4e551d25063b126017066c7c241ee82bedaa35741de4bd78a3dd8e21a8af44", + "0x8c642a3186ca264aac16ee5e27bd8da7e40e9c67ae159b5d32daa87b7de394bf2d7e80e7efb1a5506c53bfd6edd8c2c3", + "0x81855d6de9a59cef51bef12c72f07f1e0e8fe324fcc7ec3f850a532e96dcd434c247130610aaee413956f56b31cbb0dc", + "0xa01e61390dcd56a58ad2fcdb3275704ddfbedef3ba8b7c5fce4814a6cdd03d19d985dba6fd3383d4db089444ea9b9b4d", + "0x96494e89cbf3f9b69488a875434302000c2c49b5d07e5ff048a5b4a8147c98291ae222529b61bb66f1903b2e988e5425", + "0xb9689b3e8dddc6ec9d5c42ba9877f02c1779b2c912bba5183778dc2f022b49aed21c61c8ec7e3c02d74fe3f020a15986", + "0xa2a85e213b80b0511395da318cbb9935c87b82c305f717a264155a28a2ea204e9e726bae04ce6f012e331bd6730cbb9d", + "0x91b70f44c7d8c5980ce77e9033a34b05781cbe773854d3f49d2905cc711a3d87c20d5d496801ad6fd82438874ce732b8", + "0x884596417ff741bb4d11925d73852ffeea7161c7f232be3bdce9e6bbe7884c3a784f8f1807356ae49d336b7b53a2b495", + "0xae2aed8ab6951d8d768789f5bc5d638838d290d33ccc152edfb123e88ba04c6272b44294b0c460880451ad7b3868cc6a", + "0x89d8ebfb9beebc77189d27de31c55f823da87798a50bca21622cbf871e5d9f1d3182cf32ee9b90f157e6ce298e9efccf", + "0xafd00a4db4c2ed93cf047378c9402914b6b3255779f3bb47ded4ab206acb7eaebba0fd7762928e681b1aebcfee994adc", + "0xa2e49b6cd32e95d141ebc29f8c0b398bb5e1a04945f09e7e30a4062142111cd7aa712ac0e3e6394cfb73dd854f41ad77", + "0xae8e714ab6e01812a4de5828d84060f626358bb2b955f6fb99ae887b0d5ce4f67ebc079ab9e27d189bf1d3f24f7c2014", + "0xa3100c1eebf46d604e75ebf78569c25acf938d112b29ccbe1a91582f6bd8ef5548ae3961c808d3fb73936ac244e28dbc", + "0xa9a02dcff0e93d47ead9cdddc4759971c2d848580bf50e117eb100cafca6afeaa7b87208513d5f96b1e1440ffc1b0212", + "0x894ab01462137e1b0db7b84920a3b677fbb46c52b6f4c15320ef64f985e0fc05cec84cd48f389ce039779d5376966ea3", + "0xb1e40e8399ee793e5f501c9c43bde23538e3ce473c20a9f914f4a64f5b565748d13ab2406efe40a048965ee4476113e4", + "0xa5a7d97a19e636238968670a916d007bf2ce6ae8e352345d274101d0bbe3ac9b898f5b85814a7e4c433dd22ac2e000ff", + "0xb6394c43b82923231d93fd0aa8124b757163ba62df369898b9481f0118cb85375d0caac979a198ece432dbb4eb7cc357", + "0x82d522ae3ff4fe2c607b34b42af6f39c0cf96fcfe1f5b1812fca21c8d20cece78376da86dcbd6cdb140e23c93ae0bcb2", + "0xb6e0d986383bc4955508d35af92f2993e7e89db745f4525948c5274cfd500880cb5a9d58a5b13d96f6368bb266a4433e", + "0xb0b4325772ec156571d740c404e1add233fb693579f653b0fae0042b03157d3b904838f05c321d2d30f2dbd27c4d08ad", + "0xac41367250263a2099006ef80c30bac1d2f25731d4874be623b6e315c45b0dc9a65f530fce82fb3dc25bd0610008c760", + "0xb6c0b1ed7df53da04a6f3e796d3bfa186f9551c523bc67898bc0ecfc6b4a4a22f8c4d3bfc740ebf7b9fa5b0ea9431808", + "0x8e78fca17346601219d01e5cd6a4837161a7c8f86fe2a8d93574d8006da5f06ae7c48eea7d2b70992c2a69184619663c", + "0xa21f91f47e04fafbfafacf3185b6863766a2d0c324ccac2c3853a4748af5897dbbe31d91473b480f646121339c9bae2d", + "0xa464d68786ab1fc64bd8734fce0be6fbe8dc021d3e771ff492ada76eedff466577c25e282b7c8ab4c1fd95ef5ff3631e", + "0x829a24badc7714081e03509ccfb00818ce40430682c1c0e4a399cd10b690bda1f921aabcbf1edfb1d8a2e98e6c0cedd6", + "0x87ccf7e4bbcb818ef525435e7a7f039ecbb9c6670b0af163173da38cbdb07f18bc0b40b7e0c771a74e5a4bc8f12dfe2c", + "0x94087bd2af9dbeb449eb7f014cfbf3ee4348c0f47cde7dc0ad401a3c18481a8a33b89322227dee0822244965ae5a2abb", + "0x896b83ed78724dac8a3d5a75a99de8e056a083690152c303326aa833618b93ef9ec19ab8c6ef0efe9da2dbcccac54431", + "0x821e6a0d7ccf3c7bd6a6cc67cde6c5b92fb96542cb6b4e65a44bbc90bbc40c51ff9e04702cb69dd2452f39a2ff562898", + "0xb35b2096cda729090663a49cb09656c019fef1fc69a88496028d3a258ad2b3fd6d91ab832163eaa0077989f647e85e7e", + "0xb7857ef62c56d8bce62476cdb2ab965eddff24d932e20fc992bd820598686defe6cc0a7232d2be342696c2990d80721a", + "0xb343d974dfda3f6589043acd25d53aecf7c34b1e980ae135a55cda554ff55e531bc7c2dfe89b0d2c30e523c7b065dad1", + "0x8d139e16a73cd892b75f3f4e445a10d55d1118f8eeafc75b259d098338419e72e950df6ca49cb45677a3c4e16fb19cdc", + "0x817b8535bd759da392b2c5760c51b3952ecf663662a137c997f595c533cd561ed7e655673c11144242160e41d1f2dd71", + "0x817ee0f0819b0ccb794df17982d5b4332abff5fec5e23b69579db2767855642156d9b9acccf6ceab43332ccc8d2744dc", + "0x9835d2b652aec9b0eba0c8e3b6169567e257a6a3f274ec705dbc250ee63f0f8e4b342e47b9e0c280c778208483d47af8", + "0xb78c40177f54f0e6d03083a4f50d8e56b5aafdb90f1b047bb504777d6e27be5a58170330aee12fbaa5f1e9d4f944acfc", + "0xab8eebacf3806fac7ab951f6a9f3695545e2e3b839ca399a4ef360a73e77f089bb53d3d31dbd84ddfde55e5f013626e0", + "0x96c411fc6aecca39d07d2aff44d94b40814d8cfc4ee5a192fd23b54589b2801694d820a0dd217e44863ccff31dda891b", + "0x8249c424a0caf87d4f7ff255950bbc64064d4d1b093324bfe99583e8457c1f50e6996e3517bf281aa9b252c2a7c5a83a", + "0xacf6ed86121821a3dd63f3875b185c5ebe024bdb37878c8a8d558943d36db0616545a60db90789c0925295f45d021225", + "0xa37f155621a789f774dd13e57016b8e91b3a2512b5c75377ec8871b22a66db99655d101f57acaecd93115297caabfc21", + "0x92e60ee245bd4d349f1c656e034b1a7f0c6415a39ac4c54d383112734305488b3b90b0145024255735e0a32f38dba656", + "0xacec614e562ccfc93366309cfdc78c7d7ee0a23e3a7782a4fc4807b8803e6ebfb894a489d03e9a3c817ff2ec14813eba", + "0xb912f9dd26ed552cb14b007b893e6ed2494d12517e5761dbeb88521270144f8c3eb9571a0ad444b30a8a65e80bd95996", + "0x8375408dae79c547a29e9a9e5d4ec8241b36b82e45e4ca3b0c36d2227c02d17bb171528d3778eac3bbdc75d6c4e8a367", + "0x8c2d0e6e4406836da112edbbb63996408bb3cda4a2712fd245e4bb29a0100fdc89a2746d859b84a94565bc1cfa681813", + "0xa7431bf59e111c072d28c97626cd54fcdf018421d053a787d2aef454b91251ee8ff9d3702d06b088f92b9ad2bbebff15", + "0x8f3659b0fbeb90b7f30b7a49233325e806551a32911a654dca86e290b314483bbb33fe6482387bc48c35d85c1dd0441c", + "0x8dca5ba23f0bb76f7dacabf12886053552ba829a72827b472a2f01e19a893155cdce65f1fb670000f43e8c75ba015a31", + "0x8c1514c083c77624eeb5d995d60994a2866192e15c4474d0be4189fae0e9dbd62494ebb4c02fbc176b53be548abbc5a1", + "0x80498d2ed153381baf3b0f81da839ed0eea6af5796c422b8e59be805dba48c4395bb97824ac308170bb4f14f319c5ddf", + "0x84f5ebc3bf96362457993e9fa31493c31c4283075e2403f63d581b6b0db8a3df294b2085643f2007f4de38cb5d627776", + "0x958e6e38774da518193a98397978dbc73d1c3827b4996ec00b4183da2c305a187a0ada9aa306242814b229a395be83c9", + "0xab8b8fbf73845615e7fab3e09e96cc181159eab09f36b4c1239b3c03313c9aeb4bbb51e16316fe338b2319ed2571b810", + "0x977e4e33b33bd53394e591eba4f9a183e13704c61e467d74b28f4ad0b69aa51501a5221cb1e0e42bcb548ca518caa619", + "0xa9bb7ecb9846cc30d04aad56d253c3df7004cebb272f6adf7b40a84adef9f57291e0d08d64c961b9fc406cdb198aab9b", + "0x8d2b72dc36406a545a9da44e1fddfb953d4894710ca026d6421a4ac91e02d0373a599f2acfe41d8258bc9679cf6f43d3", + "0x904192fc8fe250f61ecb8a36abbbccae85f592bbf00c10039c30b5a1c733d752a04e4fd8a1000c6578616f8a16aa83a3", + "0x87f5fdfe20bbbf931b529ec9be77bbfcc398cad9d932d29f62c846e08a91d2f47ae56ad5345122d62a56f629f9a76c4d", + "0x84cc3a53b2e7b7e03015f796b6cb7c32d6ded95c5b49c233ac27fafa792994b43c93cda6e618b66fce381f3db69838ba", + "0xaab58da10d7bbe091788988d43d66a335644f3d0897bbc98df27dcc0c0fcee0ac72e24f1abdd77e25196a1d0d0728e98", + "0xa10ea8677c2b7da563d84aa91a314a54cab27bb417c257826ebdd3b045d2a0f12729fe630bbbf785d04874f99f26bee8", + "0xacc4970ef2a4435937a9b8a5a5a311226ca188d8f26af1adfcd6efb2376a59155b9a9ff1cff591bde4b684887d5da6e5", + "0x8dc7cf6fcca483c44eb55e7fb924bf3f76cf79b411ae4b01c6c968910877ac9c166b71350f4d935f19bdffb056477961", + "0xac2dd1182ded2054c2f4dbf27b71a0b517fb57193733a4e4e56aca8a069cff5078ffd3fd033683d076c1c639a4de63c7", + "0x932ec87c450cd0dc678daf8c63cd1bf46124fa472934e517fbbfb78199f288ff7f354b36e0cc6c8739d3f496cfe0913b", + "0xb0d631ced213e8492be60ea334dbe3b7799b86d85d5e8e70d02beef3ae87b1d76e1df3bdb5f7ba8a41904c96f6a64455", + "0x929d7239ead7575867e26b536b8badf2e11ca37840034d0e5c77039f8cce122eff5a1bf6e0bcadde6b3858e9f483d475", + "0xaaae5d372d02ee25b14de585af6fbc48f2c7cd2a6af4f08352951b45aa469599eff41e820df642ca1a0f881120e89dbe", + "0xb23c411741a6b059f04fa4f5fd9dd10e2a64915f2de6ea31e39c32f2f347a776a953320e5f7613fcb1167efe502f5c5c", + "0xa4581b0ae633fe29c6f09928e5efb16db019eeac57f79fef2fa1d3c9bee42ce0e852bc60b9d0133265373747e52a67a4", + "0x81b33afffd7b2575d4a9a1c5dd6eee675c084f82e06b9b3a52a3c9f76e087f12dca6e0ffddc42fb81ce1adb559d47a38", + "0x89cc890f06b424591556aabdfdbb36d7a23700425e90c9cfed7d3da226b4debe414ac5bdf175273828ce6c5355712514", + "0xa4399438be75cfae2bf825496704da5ed9001bed8538d8ac346c8cf0d4407808e9ee67573eb95fe1c6872ac21f639aaa", + "0xad537f7ce74a1ca9a46fc06f15c1c8a6c32363bd6ac78a3c579ed8f84252e38a914cac16709fe65360e822ef47896de4", + "0x8e53b69f5e3e86b86299452e20ea8068b49565d0d0ab5d50ce00158a18403ae44e1b078a3cfd3f919aa81eb049a30c6e", + "0xa59f2542c67a430fd3526215c60c02353ee18af2ff87cb6231a2564fe59b8efec421f18d8b8cc7f084675ecf57b3fd05", + "0xb8d9bac93ef56cb4026dd1c731d92260a608fd55b8321e39166678e1dab834d0efddb717685da87786caeb1aaf258089", + "0xaa2df56f4c6fe9e0f899116c37302675f796a1608338700f05a13e779eb7cf278e01947864a8c2c74cc9d9a763804446", + "0xb0108ff2e327dcb6982961232bf7a9a0356d4297902f4b38d380ff1b954bfbcae0093df0f133dd9e84d5966c7b1aada7", + "0xb06b813b01fe7f8cf05b79dc95006f0c01d73101583d456278d71cd78638df2b1115897072b20947943fa263ddab0cd6", + "0xaa41e6c4d50da8abf0ea3c3901412fe9c9dff885383e2c0c0c50ed2f770ada888a27ea08bbb5342b5ff402e7b1230f12", + "0xa48635dbb7debac10cb93d422c2910e5358ba0c584b73f9845028af4a763fd20da8f928b54b27782b27ca47e631ebf38", + "0x80a574c208e994799e4fa9ef895163f33153bc6487491d817c4049e376054c641c4717bda8efbeb09152fa421a7268a7", + "0xb592bfd78ae228afc219c186589b9b0b5c571e314976d1ed5c1642db9159d577679a73c049cfc3dcfefcd5a4f174eeea", + "0xaa1f08af3918c61eadf567a5b1a3cdcdfb1b925f23f1f9e3c47889762f4d979d64686ce1ce990055ef8c1030d98daa3b", + "0x857df4cfd56d41c6d0c7fcc1c657e83c888253bae58d33b86e0803a37461be5a57140a77fb4b61108d1d8565091ada1c", + "0x8fae66a72361df509d253012a94160d84d0b2260822c788927d32fd3c89500500908c8f850ef70df68ddaeb077fd0820", + "0xaa1dbefc9aef1e7b896ff7303837053c63cfb5c8a3d8204680d3228ac16c23636748fe59286468c99699ae668e769a0c", + "0xb64b1cb2ba28665ed10bad1dddc42f3f97383c39bad463c6615b527302e2aaf93eb6062946d2150bd41c329697d101be", + "0xb6d35e3b524186e9065cee73ea17c082feff1811b5ab5519dd7991cdff2f397e3a79655969755309bd08c7d5a66f5d78", + "0xa4dae7f584270743bbba8bb633bdb8bc4dcc43580e53d3e9e509ff6c327e384f14104b5bdfe5c662dc6568806950da37", + "0xaae84d3d9ad4e237b07c199813a42ed2af3bf641339c342d9abf7ebec29b5bd06249c4488ce5c9277d87f7b71b3ddd37", + "0xb82a463cf643821618a058bddf9f2acb34ac86a8de42a0fa18c9626e51c20351d27a9575398a31227e21e291b0da183e", + "0x8b6c921e8707aded3ea693f490322971b1a7f64786ef071bc9826c73a06bd8ae6bf21bc980425769627b529d30b253ce", + "0x80724937b27fc50f033c11c50835c632369f0905f413b1713a2b0a2274bec5d7a30438e94193d479ba6679dbe09a65ef", + "0xa1d9b259a2ca9cff8af6678b3af0a290c2f51e9cf26d5fe3c6a4fa3d28cbf33cb709b7f78b4f61cb9419427983c61925", + "0x96a3e69a5ed7a98ce59c4481f2ffb75be9542122ad0eb4952c84d4536760df217854d4ec561ce2f4a79d3793c22fa4f4", + "0x990c4d9a4a22d63a8976d34833cafc35936b165f04aed3504e9b435f0de1be4c83b097bbaa062483cf3dee3833b4f5b6", + "0xb9bf5e4b270aec4a0dc219457b5fed984b548892c4b700482525ba1a7df19284464f841dab94abfabcaa9a7b7a757484", + "0xacaecf49cb4786d17cf867d7a93bd4ffee0781766e11b5c1b29089ae0024c859d11b45828fbff5330b888543264d74a9", + "0xb0e1a0865b1e6f9e4a0e31d0c885526ac06678acc526fda5124742a2c303bd0e8871a0cb7951ec8ed9540fc247c8d844", + "0x82b3d327b3d1a631758451e12870816956cd0cef91fcf313a90dd533d5291193a0ff3cc447054564ce68c9b027a7ffd7", + "0xa2843602abb98f0f83e000f3415039788da1e9a096bfe8fed6b99bab96df948c814560424ffebe755cb72f40436fb590", + "0xab1c7b43cf838798d1e314bc26e04fc021e99a7bfbfc8ffde62fa8d7f92139de86a377289d5177021154229de01ede15", + "0x95e5cf5dd87ae3aed41b03c6c55f9dfad38dc126b17e7e587c156f7745c8da0bd1d60acb718fc1a03b61344f01e3de4d", + "0x86f021a3762bb47167f80d4ef1b1c873a91fe83409f9704f192efeebbc3ece0729cd2f92f63419907ea38ae47bc907d2", + "0xaaa1445dafbbcd645d4332d9806225e9346ee5ac6b22ad45e8922134fe12f3d433f567a6a4c19efdd9d5775a7de1e92f", + "0x8fd7e15688eef75df7b8bca3d61bc9fca4f56e047cdb6d0b864e7d1c4966eac27d6094b0c8482b49739f83ec51050198", + "0x80aab8b4d394eb011d4ec6a4c2815617308c9b847c6fa6a3d7e6af1c79420ef6ff2a13934a398581c40ee4cf1cac02ac", + "0x8970b97ac076a1d8a321ce00eada0edf974a46bf3cc26f6854e4218cdfc8d2b0c32199d9658f254b4fbae5a2c5535f41", + "0xa1aa2ec5b03df0a630e73dd048680ed6d3032c324941423f45cd1f16038789e5e75b876a13948732e9079a422f66a9fc", + "0xb5fe5f5e2f2ae2beeb8e95859a02fc45f01f9fb0ebb2bd8ec9ec976b3e806228821a9775096d341d662bc536c4d89452", + "0xa2bc1f170b62d0d5788b02391337b2ab157c38e725694e80aeead7383e05599be0e2f0fa27ef05db007061809356e147", + "0xa8a69701d4a8d0d972390e9f831fd8e9f424b2c2ef069e56bd763e9e835b3ce5f7cf5de5e5c297c06ace4aa74df1067c", + "0xb43d551af4ff3873557efe3f3fb98e5ede9008492f181f4796dd1a6bcda8b9445c155e8146966baa812afae1abe06b48", + "0xb4b1dae44fd596813f30602ab20e9b1fb20cb1bd650daacc97b7e054e5c0178b8131d439a9e5b142ca483cc012a362b3", + "0xb95b8a94c30a831eaaebea98c65cc5d0228c78afd6603d4aa426d8186aecc951f1a11c33951f51df04c7e6fa43ffb5ae", + "0xb100059624cf9db371bec80013a57a8f296d006c139a8766308f1ea821c7eccc26cad65bc640ab3f6cef9062653bf17d", + "0x8e5a2cb76716e0000d13bce5ef87acac307362a6096f090f5f64e5c5c71a10fddfdee8435e7166ba8c3ad8c3f540f3e4", + "0x93d2c43e21588c1e83c4255c52604b4ac3f40e656352d1827e95dd5222a45aebff9674e34fbbe7ed21eca77bd9b8dcbc", + "0x8aeaed611546bb9073b07512a9a1f38a7f436ab45e11775a0f9754baaf63e9bcc7bb59b47546a5ded5e4ba2f698e3b5f", + "0xaf9e6792e74a1163fe27612f999a2f3cfa9048914c5bef69e3b2a75162bb0ce6ece81af699ad7f0c5278a8df0ba000d2", + "0x850bf2d5d34791c371a36404036ad6fdcd8fb62d1bb17a57e88bda7a78ea322397ce24d1abf4d0c89b9cf0b4cc42feb3", + "0x87f7e2a1625e2b7861b11d593aaac933ed08a7c768aebd00a45d893ed295bbb6ed865037b152bb574d70be006ddc1791", + "0x8dcce8f4ad163b29a2348ea15431c2c6ea1189ece88d2790e9f46b9125bd790b22503ec391bc2dee8f35419863b2c50c", + "0xb4bf5266c37f12421dd684b29517982d5e4b65dfdfba5fc7bd7479fd854aabf250627498f1e1188a51c0a88d848ec951", + "0x8651623c690247f747af8fdffdc3e5f73d0662bc3279fa2423a3c654af9b6433b9e5e0155f1ce53857e67388e7e3401d", + "0xb155120f196d52760129dde2e2b1990039b99484cdc948fa98095cd23da87679850f522e5955eae34ac267d2144160d3", + "0xaec8115e8d7b6601fbceeccf92e35845a06706d46acd188452c9f7d49abef14c6b3a9a9369a8bab2fd4eb9288e2aaca5", + "0x998a8ca4dc0f145f67a8c456f1d6a7323c4836fe036dcbb0f27eb1c596d121eb97369638a9908cfaf218c7706f266245", + "0xb235fbafac62802742ee3d26b1f4e887f7d2da4d711ba7f9bb6ca024de7beec1de66bb830ce96d69538f7dcb93c51b26", + "0x9258d2ddc21ab4e3edcde7eb7f6a382a29f1b626003cc6fdd8858be90f4ad13240072d8a8d44ef8de51ca4f477fa6c45", + "0x99d038487821c948142c678acd8c792960993dd8cb5e02cb229153a1ee9f88249f4ad9007f08e5d82e2a71fb96bb5f32", + "0xa88ee9dbc73d3d8e0f447b76fdb3a27936bde479a58d5799176885583dc93830ac58bca9087075950ea75100cf51af23", + "0x88b9b15816e5a0387153c1f4b90f613beb3ea4596037da01a81fdd2bcbd0baf5598db99f77e7694e5a0d35e822758108", + "0x907ae4b637d06b15846ee27d08c9c9af42df261c5bdd10cf5bc71f8e5ca34b33ac2405307023c50bdb8dc7b98a2cd5fe", + "0x9393d6900e1d2d1a1e42412fefd99578d9ac1d855c90a3e7930a739085496448609d674ca9b34016ad91f22d1cac538e", + "0xa28ac56b216730b7dcdb5ab3fc22d424c21a677db99a9897a89ed253ea83acfd9d83125133f5be6d9cd92298df110af8", + "0xb027590ee8766f1e352f831fda732adbaf77152485223ad5489ef3b0ce2d2e9f98d547c111fe133847ebb738987fb928", + "0xa9cc08fbd5c3fee8f77cf6eb996a5cafa195df5134dab000e4d0312f970a5577942ee89794e618074f49841f1f933a42", + "0xa8b3535c3df0b1a409d3fc740527ee7dd5ac21756115cde6f87f98cc7623f50cfcf16790689cab113ee7c35a5bd4879f", + "0xb61420227b97e5603ae8a716c6759b619f02b8fdc48acbf854352aa6519dad74b97bacc1723ca564cbf3ca48539ed773", + "0x853762498de80eebf955a6c8ddd259af463e4e25f0b6ba7b6a27b19bdbf4c585de55760a16e2d9345cdba6b2a02610f3", + "0xa711c1b13fc6c30745203c5d06390e6c82bd7c50f61734aa8d99c626faba30119bc910be63ec916c91ba53f8483c05a8", + "0xb488c0a793f4481f46b5875d96eecd73e46209a91677769f0890c5e002ecd7d4b1c9f4ba68c47fbed40e3857b1d8717a", + "0xa651c5e812ae65b1c66d92c607e80be330737ea49c1dcfe019c0ecea0f41a320406935bb09206a4abff0d1c24599b9ad", + "0x85e34e7d96e4b97db98a43247b6c244383b11ca10bf4777364acf509a6faa618bc973e2136a4693fbc8ab597e308fd5a", + "0x99837214102b394fffa7f3883759554c6bb7a070f5c809303595a44195e02b9a169460dc6bbffb62bdc0e7ced5f0a5c1", + "0xa952f89c0afb4bdae8c62b89cc3cfb60d0576ba4fe01a5d99534792f38d8848d919b3fc7577435d8443a044d2ee0bcfa", + "0xa1ac1f81acb29798acdfc493854663519e2d1b0e9d23d286ce33882c34b4c1c0bb43dd9638166d8026315a44d9ec92a8", + "0xac9c58aa38219ae659d23007cc7b97fd25b7b610b2d81a8f9f94ddb089efc49c049a8ea4c56e6eaf7b6498f422a97b3c", + "0x87e61d501c242b484fb9a937ef21d485f6678d75257fc8fe831b528979068cadbe7e12b49c34058ec96d70a9d179ab14", + "0xaa45f6852f35cc8b65a4a8b5380641d2602a4fa4e3a035db9664df3ac2e170b1280c4a8b7b55161430063e54de4158a6", + "0xa46975614ddde6d134753c8d82c381966f87203d6e5a5fb99a93b0d43aa461466b37f07b8d0973a1abd6ee2b40f24348", + "0x8d35f97297773422351f4d99564c1359ef1a10cfb60aa0e6c8985a78f39b4268486312c8ebf9dd2ef50a771aa03158eb", + "0x8497c6242102d21e8b3ade9a9896c96308ab39171ab74cbd94e304c47598e2c2a7b0a0822492ac5c076ba91d4176481d", + "0x973f8fcb5f26915b3a3ef6fe58cc44bc7f4e115cd0ad9727d8d1b8113e126ae2e253a19922c5433be4ab2311a839c214", + "0xae3ee9f1d765a9baf54b4617a289c3b24930aa8d57658a6b0b113bbf9b000c4a78499296c6f428bbb64755dfd4f795d2", + "0xa5be7a8e522ef3dcf9d2951220faf22bb865d050f4af2880b8483222ff7aad7c0866219fcc573df9d829c6efbb517f98", + "0xa5f3c7fabd7853a57695c5ad6d5b99167d08b5414e35ed1068ae386e0cb1ee2afbbe4d2b9024379b6fc3b10c39024d36", + "0x978d5592d4798c9e6baceff095413589461267d6a5b56cd558ec85011342da16f4365d879b905168256f61d36d891b1f", + "0xb7b6eaffa095ecbd76d6e1e88ceebabaf674d9ef7e331e875c6d9b9faa1762c800ff1ea597c214c28080f67a50a96c1e", + "0x8a1ab53ae5ceaa42e06e58dd8faf6c215fc09ba111ca9eeb800612334d30d5971448be90fec62ed194328aadd8c8eecc", + "0xa9ca532cac8ace9a9e845382f8a7840bf40cb426f2fcad8a2f40aadbb400b3a74021627cc9351b0966b841b30284962e", + "0x8dddeda8854c8e7ddc52676dd1d0fed1da610ed5415ddd7d25b835bd8420a6f83d7b67ec682270c9648b2e2186343591", + "0x888906aac64fd41d5c518a832d4e044fdc430cfe142fd431caf4676cafc58853ce576f098910d729011be0a9d50d67b5", + "0x96a3f886a2824e750b1e2ea5c587132f52a0c5e3ff192260d8783c666206bd8ebd539933816d7cdd97e4bc374e0b1edf", + "0xa150a29ffb2632cc7ec560983d9804cd6da3596c0c25956d27eb04776508eae809659fc883834269437871735de5f9ed", + "0x81f7ad4d2959d9d4009d1dfbc6fee38f930f163eb5eac11e98dc38bd2f7f224e3f5c767583f8e52d58d34f3417a6cf90", + "0x97ccac905ea7d9c6349132dd0397b6a2de9e57fd2d70f55e50860e019de15c20171a50b28a5c00ef90d43b838253b3d1", + "0x95694f00c21e8a205d6cbda09956b5b6ec9242ec8c799a91f515b07dcc7de3b6f573e2c0ba149f5a83700cda2d1df0f5", + "0x82bbc3c4a3b3997584903db30fffd182a266c7d1df3e913f908d5a53122fa12cf5acd11d915d85d5bd110fcc43cee736", + "0x8d3f24b4949aa1b4162c28dfbb9f813dd1d8b330f71325448dc45ea34d59b69ca95059402aae011e1b5aba6e536bc6ec", + "0x92c734c19752d24782331e74c9af97a8399ddfdd32954e91cda7363dba876aca4f730b451c50a8913950420682da8121", + "0x8653d2c79f77b8c7dcdf7e8dee42433998aeedf1b583abfca686d47a854de1b75e9a4351580c96d1a2a9532659203361", + "0x886f0e414cb558c1a534a1916d3531320a9b6024639712ffe18164ce6313993a553e2b9aafe9c0716318f81a5d0bb1da", + "0xb31b5efaba5a5020c3bcea0f54860e0688c2c3f27b9b0e44b45d745158f484e474d5d3b1a0044dd6753c7fb4bf8ace34", + "0xb2d615bbdfdc042d6f67a6170127392d99f0e77ae17b0e1be6786ff2f281795f1bf11f83f2e0f8723b5cdd1db1856e09", + "0xa6e014cca531e6ac2922239b5bee39d69d9ba6d0fa96a4b812217dd342657d35606f0b9c5a317efd423cdb1047815e3d", + "0xa8921736b69c9fbb29f443715174bac753e908251804620c542fad6cfbfda7bdfe287f2902f30b043a8a4b4818cfdeef", + "0x8d73a9949a042ec2dcefa476e454cd9877eee543b1a6b3b96a78ffcff87421e8b26dd54d5b3192ac32073cb36497acc3", + "0xb936a71ee8df0e48867f3790adf55dc8efc6585024128de2495f8873bd00fd9fa0984472125e801ed9c3cdce6698f160", + "0x82f69c06209c28f64874e850601dda56af44ffc864f42efa8f9c6a0758207bf0a00f583840982dec0a517ab899a98e5b", + "0xb7a0a14411101473406f30e82f14b13e6efc9699e7193c0be04bb43d1b49e8c54812ce0f9b39131a20379c4c39d3bbe3", + "0x81159c969f38107af3b858d7582b22925a7ccced02fae3698482d7e9cdc6c568e959651991c6cf16c53a997442054b61", + "0x8bf1116a206e0ce9199fcab6ed2b44a9e46e8143bff3ed3f1431f8d55508fe2728b8902670cfd8d9b316f575f288ed9d", + "0xa279b2149824b64144eb92f5a36b22036d34a52bd5a66e5da4b61fbc95af6eda8e485c7914f448abd8674fc14d268d9d", + "0x8b98279b5f3588d1a2f8589d2756458690a502728800f8d94b28e00df842a101c96ab9c5aee87c5bbe65552c0c383b80", + "0xb4a27a351ec54420f94e0a0a79d7c7a7337940399646631baca93eeab5fd429d7fb39428be77dcbce64a13eaa3c8ca1d", + "0x90c08baa29ec8338ffce381eae3d23ce3f6ba54e5242dec21dc3caaed69cac13f2ab5e8d9d719bc95720fa182eee399c", + "0x85156d65bb4fef69ffd539ab918b3286105ca6f1c36a74351ab3310b339727483433e8f8784791f47b4ba35ca933c379", + "0x923005013c27209d07c06a6b92b0cbb248a69c5e15c600bbcc643e8dcd2402adebd94dd4cafb44ec422a127e9780aaec", + "0x863b23eb5463a6ef5a12039edc2f8e18e3c97b244841bc50af02459b1bcc558367edf2f6e4fe69f45f37887469dd536d", + "0x87a4a7708a112724ff9b69ebb25d623b5cae362ae0946daed2ec80e917800dbfcd69f999c253542533242e7b9a5cc959", + "0x8bf4347ceea7f94b53564f26b1a4749a16f13bf71a9e03a546f906f7c423089820ff217066159b0637d9d6824e9c101c", + "0xab07eef925d264145971628a39e4dd93ff849767f68ed06065802cf22756fc6bf384cf6d9ab174bfc1a87bcc37b037aa", + "0x8e3f10a42fad43887d522dc76b1480063267991c2457c39f1e790e0c16c03e38a4c8e79a0b7622892464957bf517ebd8", + "0xa8722fc7b1acf0be18f6ddf3ee97a5a9b02a98da5bc1126a8b7bf10d18ee415be9a85668eb604ef5a1f48659bc447eb5", + "0x878d6b2a9c0aca8e2bc2a5eb7dd8d842aa839bbd7754860c396a641d5794eab88a55f8448de7dbddf9e201cbc54fe481", + "0xada881c167d39d368c1e9b283cf50491c6bfc66072815608ba23ab468cfbd31ca1bd7f140e158e0d9e4d7ebfa670bc2d", + "0xa2b48578fa899d77a7ee1b9cb1e228b40c20b303b3d403fd6612649c81e7db5a7313ba9702adc89627b5fd7439f8b754", + "0x8e051280e10551558dcb5522120ac9216281c29071c0371aaa9bde52961fe26b21d78de3f98cb8cd63e65cff86d1b25c", + "0xa7c5022047930c958e499e8051056c5244ae03beb60d4ba9fe666ab77a913a067324dfb6debcb4da4694645145716c9d", + "0x95cff6ec03e38c5ab0f6f8dccde252d91856093d8429b7494efc7772996e7985d2d6965307c7fdfa484559c129cca9f9", + "0x993eb550d5e8661791f63e2fa259ab1f78a0e3edad467eb419b076a70923fede2e00ddc48a961d20001aaae89fad11e8", + "0xabb2826e4d4b381d64787a09934b9c4fe1d5f5742f90858228e484f3c546e16ee8a2a0b0a952d834a93154a8b18f3d16", + "0xa922ca9f2061996e65ef38a7c5c7755e59d8d5ce27d577abcdd8165b23b4877398d735f9cb470a771335fc7d99ecb7fc", + "0x90f22862216f6bc1bbf5437740a47605d1ff5147b1f06f7b13fec446e4c5a4a4a84792cb244a1905f3478a36f8d7065b", + "0x87f3d9a86afef5b79ea1ca690ee1ee4bb9754b66f7c50a42ad6b99af7c222c853ca161f440a0a2a60b3b5a54e3493240", + "0x80a9ca9a2d33b9cf61976b3860d79f5d00de89a06ef043d2a52931809018aeb4ce70423cbef375b29c2c750c2c8704c2", + "0xb4e798ef1d615896108dae37ac50c1e859216ab6dbac11653e44d06ce5209057b4b0dd6d31dcfcda87664a23c8ef1cbd", + "0xaaed6d1e7c5b1db06f80dae6c24857daadfb0268f20e48a98fba4b76de1ebf65fb84c3be95fd6a418b498f8285ec63bd", + "0xaeceaa316c6369492c939f94809bc80e0857abac86c0d85be8066bbf61afbaaec67e28c572437a8d35c49dd596b3134f", + "0xb791c3d53ed34a7d1c8aa89b7953e3684c3cd529230824dc529739a5fbe74b58b87f01e56e7a169f61c508237ef67160", + "0x9351f8c80634386c45c0050d2f813193f9d839173be941e2092d729be5403632a2f18dffdc323d69eb0dc31fa31c5866", + "0x97693184d5c0056ae244dfb6709cafa23a795dc22d497a307a7f9cf442d7452024023c54a8d6bda5d90a355ba2c84f3a", + "0x85362daa003d23511ca174a8caafe83d52b6436dc4e43c4c049e5388d9211b5cbef3885896914d86d39be0dd1f910511", + "0xa2511b5fa34b24eeb0e1bcbcf872a569d1ff5570fe7b0fb48f5542f7fe57bad808d34b50afa87580866a6cb0eba02f27", + "0xb382e3327eb1401f2d378dbb56ac7250adde0961bd718575a64d264ffd44772c20752d4035c3ba60eb435e160b375e20", + "0xafad8a5d40b536c0720556845a6b257ed42165c14fb4b4a874717d107752f49ed9380c5b048df3aca67287bb8fc411a8", + "0x8fad0c98434ca5373c2d767868f679b76b4a8d04bca8240ea3f388558262c2d61b73b16fc1160932652b5688c25fffcf", + "0x83898008b5cbb6f08f8ef3ec179427869682bb4e8d38f6e6a687a214d4a307436afc64ee67d70a5a8ba9730bf839aecc", + "0xb85232e79913785fd82b06890706972b4ad7a309489930ae23390d51aa5189731f8a2df24800409a8c36b3dd6fc91275", + "0xa24ff26ec792f3701da4c5638c1fca4fa4dae95b01827d6200d583c4caf17ea3171393ba2a8c23d1ee8b88402916f176", + "0xadc5c7a7ff6b41d6cc386b7fc69d7bb04179bdf267864f9aa577f0f6a88438191fa81ebaf13055c2f2d7290be6421ace", + "0xa05e835abd502d31454d40a019010ff90b6b0b1f993075a35c9907aeab7a342ac0ba6144dc9379aada6119157970e9b2", + "0x85ff07ba58463e7f153fc83f11302e9061e648a5cbd272bb0545030b20e11facd8b3ff90c9ac8c280a704fbda5c9d1b0", + "0xa6c735ada8f4587da8cdad7ea3ada01650b5a3ecab8d81daa7a5f5de51ef4a6592b524692584306f06be3f6701f2870c", + "0xb138deee4e53ae8d677fae104f713ef1b8babfecec16b6a85785a66a72784eb09d44c3b63567222ade714e98f7d1604e", + "0xae79c1a49dafcdd972acd95d8ad0a35c02adc7fd736d4c44c3cd13df5789d339b5ea16bddbbd43e486a061ab31baa5c0", + "0xab3cf2371a1d7dcd0ffe3869a0178230964b06694bf258b2073ea66a2afccd845b38485da83d02e1d607d4c5c36b78a8", + "0xab9609f28a325fd01cb39540e3a714506c44e52ef28ee640f361deb5760aadbb23e804663b0fa20a66e239c33f8d8bb8", + "0x8ed95ea8e76e1b42823d7915a6aae77d93746f846bf602841dfce0e47543a36efb9ee7e5b42c73c3209d911225cc471b", + "0xa80b6162036d43811482323f0ce59eb18740e33a63d7c7bbbf3be206985919e5342d53a69df537d43e8b7d7f51e8892f", + "0x93c03d0a5083408ba00c125a8a9385213d4c860072f0297857b1235045819b904e07f2425c13a661d0a01d2e53347f4b", + "0xa6581200f00f96c461621e1d26b14a23687dd97eb9f7df4ba641a84340ee7306dc1796248fba4804f185947ad13b4385", + "0x8be174018fa40f7e0cedc5ae68f38969eb7695f2205e9c573641e533d56f68c20abf38a23d2f0dcac371e60b21b18615", + "0x857ad4ee3218c647c58f09b8ab22bcc8976f00a768ab1f708618e868e6143474be846422ce2710a0ed39b5155b6f13a1", + "0xa490bec40f322d599f26bcefcdddd8f2ef6576aa737d5ce7e8d5d422741abe749e3e6a48489aed8c560633f72857e3c2", + "0xa9c0ee339621f1c4a2410f9b4d2f03f1b558dae2973807b8bccd920e8feb7f65dfde3e79986b72ad21fcc4567240381d", + "0x8592251568e750a430f7d2c6ddbb3ec82a4dd9fd83efe389e69aa177fd97ac2c96c59a6e86db20d8e6f125d65b46c4d3", + "0xa4e2f4aa6a682913b423b097c4069c4e46a1f3af9556b1bfd0580d0fc01e3991488458049e0735b2a629684a79271c8f", + "0x8c4f6a3e738cf74112b08b1680be08158013ef8a515a81215d8a36c9b756786d1b4cb4563923463f3329292f4b48bf6d", + "0x8bace547353c02ea00dd547eeda7259aa354d4772dd5e0c486c723cf88627b7112e196b879c3c92a9561b674d9fc486d", + "0x8d372f4901e25e8db64fa098148d4a4e709b0e9dcb756d0f90dad99dea393054193ae1a33d292a3dd772ff7ba05e4b71", + "0xa8c7ea6a6a031ed23d65639f01f5423190775558f479700597df7ae7e338a6ae5e9b32f470aff20787ac8b7eec84df6c", + "0xb6e9dcba240fdbbf66033410a79a2dd3e9e1ffdf2eae949b3a9ed720e939d92339991dc3e70a5ac7d5253f317daf0b7d", + "0x974dec4cd61af75721071752c664d9c2a5121f06ff1515c56139a177a3ca825f763b69d431d4607e393fa74dcc91cc58", + "0x958863e6ad583a9d370a6db3639066982e44766904e7afa849b132f6666b7d08ab931131b3bec7a506d6583e93d56767", + "0x8b93a33b5da9b3300c20a96d80b894e3789c77041183c2cb21751579c8c96857f60cfc2f075201b64e95a78985c5b321", + "0xb726cb9f7ef34ddbc2fad82b3b0af0b30cc913e26c5a614ae5c19cc9c55c8e6dae069db5315a8dcb6d987415bb550ca8", + "0xa730f515398a71bddd66cab2ff996659d4e47dfbb08ce7958a41021f76d269b91c7498b708cd14b183a8ef469c772803", + "0xa4eb3b18132eb0f5337f14e01d63ca0bec0db6a43870f800e5491db756c2f5fce519d8dba5528b4bcef550d06b33699c", + "0xb1ab6621eec1ee6784e632e214693f39a14f3715991996b883d66200963e065c86fa0667f7bc36b93b40b5d90ff708c2", + "0x80486a26c3532ad6e19f76d8c9344e2626c07363fd495264927cb5935fa9565ece670dc98767afb04af6a9a5c9231075", + "0x8ee20e0df3c84a1c6b0e21bcc325cf99235b747ffe47f17fdfba548a358ca75cbcc331dd50db2311b400ae882256a608", + "0xaef4268959e5541e7ec69c921a1e81a8374d7e44bf1bb2debf4101cf3cd6b7d6ca7f441758b388de96b3e0edb5b97be9", + "0x8793629bd29d689ec94b016de8886cac6e2ca6638911babb22db4a787661422da0639a4e4089ebeb689d173abfe75950", + "0xb487b3551c20a29e9a5abbda8c50ff594826283e443c09e3ae09b914e46060b3f9abf70434444ce1487e2a74e562616b", + "0x8f11531cfc5997dd04b997cb87ba1831aa7041d5434fe72de66304e3f165d882fac891391fbb1eb955c65319e65293b6", + "0xb195136875fd02a75676c33cb3e60504d5964f7a9e81f4c8c8fd38af62e2145c55f765b3158664566191188ac678f381", + "0xb374174b0b3eb04fa49eb4ece45173f0db5d829eac370a20a62309566e0f98b18f72f3633626893c053b7be6bfbd2366", + "0xb2a2f6b0cf652775679b2d677048f2ed8c31a3269e6cddcc7a10e3e6fee89e486b50d9d55fbe452b79c4157c0270fb77", + "0x892177c364dc59032594e7a6fd032286ffdf4fa0b9e3baeb37ec839faebfd2fd46c57b2c9bfe9977b59c93a9cc0ead1d", + "0x8ab7c0038a7dbb2ef200dbbe9acbc875829ecad4883792d5c6ce283de67ccd9aa935a9cc7b30b2bd9de7fca7bf2a9a05", + "0x83745cfc78ca709835aa6c6a233c2b86fb31e3f9f6a8becf63e501f2841c4366fb7d131b746c9d3291afda714ff05579", + "0xa723dcb67925ef007e8339dc578d2622d9bb77cfda87cca0088854a59414c02338752c56116a6c1281917842e8467c38", + "0x8a098142da0af2254c425fdbbd0d1b1a17b2bd781391ab37f181775524b8563c64ab8a1602aee2ac6c0a82ba11a8b1d1", + "0xb13bd7529a9b351c5d395c794c28bcb0a3167f1c992e8c062eef47be9be27895945231d249c73a0b6949daa295e14944", + "0xa20dcd2fc2222eaae467d9f5db861040f58bcb991a26e5663ac3aa5e1ff13d0010657c5af586cc4621757add2b905073", + "0xb818f660c3cc4e9f273c25ceeabe562c8afa8ff88529c26f2cf45ae6b2813cca5f350e3cbd56f6257c4df41722dabd25", + "0xb225d5987108b24411bc389276f12509a45e86d5ad6b6d929af5274df0be11109c0fed329669a0acafdf3b0beaa8f2ec", + "0x91fcb6d04576d3c6bae947bb7843b430e5fb0592ae49b0a65dfa5791f4eaa4bf2c7f436c8de7360f217001c2b4e5c67a", + "0x8821f7a1424ca3fdc5d4a5606ad10dfaba6094cf36669fa9f84cf7617e50425405d14980780e1e18a1ecea7913cda896", + "0x990dcb7f38f56521a70cb71bf4522649fcd46ac052c7feabb0748dfcac9f9c0f95d29e070d32af3cd0adbf869535e17b", + "0xb0fac1029fe2c1100f24e2f4bf10c7672199fce53513c7dde2e8d9b00702edf0143e0e1dc7ceae7dcc6994edc2422b6f", + "0xa514ebb1a33451b4915c05114db0b10168393613744df848b24e43e09f0bda23baefd9d731075198aace586615ac7911", + "0x8b77f7953c2e67049fdca3653b8d8cf3f799677f79b954da02bdad8cc4d6c855c1c7c16b4f6f9ba35f46426ec28b2d84", + "0x875520cfbda16ec5b1d1d00f578a910d0fc052f17870ba093e22e310bb07648d34817cc2b8811b6f52de535f7046a0d0", + "0xb8c77b4be0b430851c4ff69e91cb770db1935d848198601393810ef395efab52deb9d5c6525472bab720273d5e0e7a79", + "0xb6d4d437146671bdea62fb6545395ea3df39f1cdef21b8476b68e7a25aa7354f847740576d6c9f187bbae9941f0ae450", + "0x95c642f1bccdb62cd6a2212dcdd6ff8d49aee426ca08b7cf3a9d15249d24a9eed5533f92a70c84498c0797f8a57efa27", + "0xb617978047ed0f748c305aa7f30c2dacd0db00baa67fe0c5ce346ef0e6991dc7e05f18dcb2702467421f8390f27aa815", + "0x86411c7a00b3e8b43bf22fb061b1f54ad9bbf632cd74395a478218389c0f544668acf3dd7726532d080ca7da9a5f8608", + "0x97bf684a8849626c4710a6992f6c11f6b5406fd4dfe9e6aa502425aaafe9827e2c435aaf9a5d3d2ba3a4c0e8aec79ba4", + "0x8b178e2a125b461d3180906ffba0af3dce614c64058501fdd35243ababf892d6fcdea4834ce42c25d5569452b782a709", + "0x8ebed2c8a25c61da6a6a8cb0d8f5ea179e28869753eacc728f2c076f7aed8598cd3aa0981f120f9e7ea55b3a689ae882", + "0xa6f235b8e655ca3d634740b53d8c0a757ecc75d2b8838b7948997c1985473d01943d935f687b86cee56cd47c8e773443", + "0xa7959c465a9646908b9d8032a589e41a7dd999f2ffc54bb42f22e5f8a4d8c493a31bcc7ea2cac6c8dbcc59acace7181b", + "0x96d0532df2e12da20a57cadb6cf5f6c4ee1aa4775629358c25f1d51677a3e96d1fe3b232532324b4f02f941952d4cc68", + "0x90f493473d686b639a30d1ddc9c72eae6e983f1236e162e58e967a477c0654973ea2e1bdf4ba1a44d7247bc1befc2cab", + "0x8b2d87876d9c4085102a07ebb41c565ba69acab99ffc03efc18f20e48d3f3bbe4fc6ddab9c78fe479d9ada80504d85ba", + "0x829a0fb3200a28e09cacd6c5346000e7786116ddfd898f37dfd17bef454a8abc0fe939ed8735c00769f7f2f33cd4f906", + "0x86194ec9e88ddb7150e8b03e7a535b6e99863fc6762835601efd03615aa97aaeb413cb210e86035086ed852b39c9d019", + "0xb02efd116a7189cb317ceae392bc301ae55470f0489fa89934e182aeb8c67e280299b975786fe9a470bff46827defb9b", + "0x87d7c3903bd22b12d815506f150373f518d47dfc6e5fd74347d88b518124c9923d1e4c98defeb3a45d53d50b423e2175", + "0xa1a430406b28254a7d6348bc98e697e9bab43839aa05d53faee97546f84541ea0b559162619b2045182938f69bf61cae", + "0x99d243c226c61c6697fb3d2594f3533fa5dfd7cfc87107908cacde337d7a077fa5a9dc702d26081b065edb1227498e65", + "0x800ee5006ab6217161f42db0cfc552a81728bb4fbd7af6e4620ea099a65ef6664184af3f65a07fcec7e965529c5b49bf", + "0x91bfd307579cadc8f81009558605be3edbcb8dbba271475803484017f40130b2b216aef4f620d960193be681877d3a53", + "0x96a060459dec458d19a6f8af6e49dc6c7c58c55dd18915c5fce5e0f4b4a422fce3b9632f6059388fe760289abf70f173", + "0x9921a37f3e657222c7fda3588418a9071409711d9f1fccede7494429f02a45fbc52d79fbb64e9ccd518f60d06d0520d3", + "0x81052b0d15773cb75975ca9230ebb2579700e489c7e3f07cd9cde206fef38b8139bd4976d2b4a7840495fc645f96df03", + "0x88ac37ba66d1de5e23878c992e4d54023729e97e77351f50dc5918d738b5a73faf1dc6feec7e85784761836ba1c6f778", + "0xae1e6072c13060775f6086d1ae1f88b627ffcb810fc0e0e97deea1f3a15ef0aaa52a6dce2563e4beedadc131af2a8281", + "0x8b60a340f5e4f90badf83001b495ac9f13974c3d2054ddcb3e6b8ca99dec5cd63a263e05c282454191ab2e087d5a2911", + "0x832e2d56ba69dbf817b2b9dbd25c1538d5b8dbf5d9bc05e6be85054a423ebb66a71b157e166e0b9444ac171b34b7ccc9", + "0x8586036fc7dde1e7e3ecb61663130c4529866ae9f5f5095b9fccd24a4c70eea899aae5f10ea1ba66d1665b2d83be35b0", + "0xa77969453b5c083a207913272b5b69d4ccbd8718bdf54be8fbe11b4bd0a2168aae3ba8f9362afa69c0ffa28d7e5a2340", + "0xb7fe9568c214baad0ac5f83745611b481f744ec1c4fa78a549b180dcf79633e5ba75dc20055012a13d849eb7a9be57d3", + "0xb01cad1d2a6c51c0ce88243d1f52f95fb5ee315a905079688027511f0c4ecd0563a3a81846709d272fa5ccb9665e8043", + "0x8eae0a21adfc569aa57237654021c2bdb2c6f0f52ccc90a126682c21a1f9413c63d285f92b2b2f8649150a9284bf70b7", + "0x942acc947192b5f3cf60e92383e5d35f79e7a5904e8e9fd1c8a351676c83ad29b0afb6578d555457cf909f8f4d27adfd", + "0xa74e092f8628fba9abcabc27e2e9f3d5a9a941dfe50a2dfde2ad179aabc73afd196676925c2d98643ab8b3d02bdb66ad", + "0x896159daa2afd757cf3f9d34af248ad68bb3c62e4c9ac49919422727479cf669098f270b9e645607a7d11adad4c889b2", + "0xa428d8370813d78e7a2a24eebd36e9da2f8bb3605e5a39b5fcda939b531c35a8ebaaa642ba556250a37bddeec90326fb", + "0xa5fa04eb60a1d5ee9820e78f42f7be15e1c02757b539aead995768c6209684d6c183c71d282e0c12a4c15c03f9a89d4d", + "0x93c77d5d220e40affa7269a6915c076c9aef4db552c643ae5d560a79c955b491c6346ca4cf11cbb7fe1894e28d47b065", + "0x802e605d2de745eef6981d88e7a57ef4046a2062725e8080995374cea2b3273c27f35b7774d0dcba014710d8d6c501f2", + "0x82f7169e6ec9b3e2bd450f35ea2e66d06bcf900acf5b73139677b48e078ce2e16599103027b2326770c99c0a690f2015", + "0xb0c8581879439f9b997551233fe2de71aa03604f9cec37a7b18c5854342d9b67be468f3cac4bf6f64fe8a0066248c498", + "0xa3f626848a4db6e9fb01cac90d3362ec521e969ebd5228af694ea3671061476149f13d652942ac1e39f65591fed740f9", + "0x88a8e759b9cbe16a7c16e43f4afa2de6100d2eafa4dee75ccd653ec38c919013d0a6b35c1ee1eaee7c1985b58bcc9e92", + "0xa3d5fc7aaea072798490616552d947e95f49cf02a420314307aafb555287ec607d75589ba24b009cd68299dc6f7942fa", + "0xa809cceeb84f9bcf3c3ddafde3041e7bc3b1d14df8830ab849002176a0725e6f16f70774d8962cb0b8ac0dc43c4ac66f", + "0xb8f2e46c031cc8fa160a08c2ebdfa85345ed14771b06daa9636b0e7792b7fddbc501dfc85cc626a01104a43a7d3230c3", + "0xb5367e2a521c318b802ce16ceac80c4b8139f73ddb10ddf38433397cda70a86ea1f051cc55626a4e99d27f30f3975ff5", + "0x96d963660121c1441cd13141279cd371a6a0aa18b6a20761b18df60aa9c14e13489afd83695a0921d5232efe72045f07", + "0x80818d492fd85d666bd91aaf6257b86527fdd796773c793407df1d4a0f91d74649a6bab4d15155c36ed4c6e0a32c5636", + "0x931e22918905fd6c230d3d867ea42861f3074d320d14e1929031924c8ac209a5c552b679b24563bb12f9749b4ee983bd", + "0xa4de2c333e74ed9bfa3c0bf6a0beb90427abd9aa4221294cda74331646b58ef46ed57cccc8798ba2b9309894b17cfd69", + "0x883881554c1d88c0ed8d3b6dec3d200f6fea69a77ace3e4d6f86b41506a23724b4394ec8384075f9c75c3868ba8a8e8e", + "0xaa0539ecf6ec9bf06f24443027f8f24b6b3d8c5b2084248eecd4bcad3c9a69716e1a0d01057f09a65bff1006ac5e157a", + "0x856d74d44c943c9e809b42dc493dff20eca03cb0cf5ed45108c69b1f90d8592a53ae8100e99380a274fafad23e74cdfc", + "0x9188257446661c88da093b7c5ce998135913f63842d7c1586065377b169ee35b062d925367fb9b909ca971f1188667b1", + "0x8d3aa57cdafbe998938787479f5d590c1484c6dbe94e6c487e57a746ef5252be0eaa5976d6270de7db64b6b92e57a0f7", + "0xb8f4d6997240f9eda5aca0c43323a828d1563c491b3db2087f60ac4120a3fcd06075fb42bb19d0339ab5ee3fb7db25d2", + "0xad247ea94b8ae1e81eae4c9fd7b39e6601b53cff47b2547ff90a3cca87192eae28408082774a1fd14bf9ab459b7a4f1f", + "0x9598598070f8bdbcc49056c40971e673726cd8c1bc4baa0b5124dfb5fb750e7baa7a7df18eae2bd91955ddcb1ec67955", + "0xb874131ab1608667fa60ea29092d090859eed1812e90c609afff96d79e82c5ba546f617f4c96fc32c9bba97431c1e9af", + "0xb00750a9cdc75c2a54f0d3cc99b0fe02300754f25166f7ac85ff41ab5e9cfcca33a29be76a480f12a2d410c7cd5032e5", + "0x84b5bd1c90bb6c66755b28ba4af493ca1b0c3a4df9f436aac67d2e07289053f925cf6a149a84e74e1027dc8758150179", + "0x99caf64bd9d193ff306e8ab5da3f1bb2a190a60c3a82099b8d03d17fa810dc53d176c21379f479e828f60d25beb3ffd0", + "0xa8fd9de502f1c261d5733430e5a18d8b7892a98c9529a016fc2ee53892ae965dcd9c75850bcda4c7edb980b8d88e60ea", + "0x848c02cac636e047028a3fe8c1bf4066fb7591b96b0340f8fbd476ff01b35fa3e37d309333771a134f24800e5f3f9289", + "0xa1eab1a06dcca3439f0166441e7e7f2f5b56f5f8aa9f45e411c561f556e0fb71c514c06c26ac53b49a576caca5faac3d", + "0xaa603f970dcbe953e700e61c151182c8d32cbbb53ceef572ac93383db33a4b098b5c7b267e42d514ca66b740c0925efe", + "0xb55fd5301bd700ddb0b4f72fabe9a91ad49759506101fa802ed1677e9553595aa4d2c66f7574e78d21ce882ce0120ae7", + "0x829137bc4da7b4886d3d04d2c39cbf4b1dc40c813ac1adb425c7b9abf9142b516314cab79c68454df5d71994ce416144", + "0xb83a3a22735001f783dd48a01c4fb3598a51ff3987e842b8045c71c035b9e43645a55254ca5911a5676ef4a8af12d056", + "0x8ca8d463deb13f9eef5e533bc39efaeb0c15631282c5c0deee1673b0053a7cccd514af09801dd6c158caa159fe9351ac", + "0xa9ffb1427828f3c456b9c8cc50782de1ab0029b9233a0fd998bad0fd014d27e15c4a32d1e16ad41bff748378b5abdf49", + "0x9627e29f725ddd86456aff813976bbc4a836f4deabf5ad9f73d1a260ceb30948824df9c8841e6b3c529652202be181b3", + "0xb52c988647fe3d9276eed3c262e1044f57fbb116c64cf4f207235c205b3fda0f3d789bf90f5217401b468d85fdfda404", + "0x833bbd6e2924f5c4446cb76b881d1434a5badce9eb9b003f85d076e297ad7ef45b822069fe54d17427a348c3263fb838", + "0xa067a36352db6f82a116cb87d3db5f60b18576852409e2076cbbfc7843af78866313a4969385a40271051dd195d51116", + "0x902b99545971f9a103f99d7399acc347ac46fe156166e51deefc0e92aebf5893460c69aeeae11f5af9f49418e289ce6c", + "0x9206a0e9ce9b9880f29ef0417c96931985f5d83bb17cebdbba4ff2af81a3d37155b04649426f698aed372e4f669599e6", + "0xb54a5d7c976e45c0b1d44433595eae9d1ae9aeabfd58cd5ecb0c5804756a7b01c9a517754423b4714a3695533a3114c8", + "0x91b612131e84580ece228b81ace83da0269b53f94d3c02a1a0879ebbd81bdc252064b3d03a7e140b43a90f237d9a45a0", + "0xa6cead3b8607eaeafe37135bd6de8fbd16f806c131eb71c8d36bfbe295d45b070255e50dabf076e2c3f6b8699be71d6a", + "0x931da21e67b11ba6ce438546a24d063bcd51aebe39b4220a78d9c0aab88b2d37969b5ef3502d835507f9c8d6d006714c", + "0x8fda408caa9daf01122a2308b7b9d328f52e1e2f138a8bec30492488f4d710e5e52524a6455a3a2ae2818ec8a610b650", + "0xad8ad5c189644352d90c462731c46145410e5adf38682bb80f95495dd64d9d13782537d68690847bbb06c6be7175dbc7", + "0x87bb5cc466ade60feb0961421c3fabdc8a7e20f11df8437bfff63d3f8bd25305002a396c9d0fa4fb9a9986d4717f12c4", + "0x827cff72870ba00c29064a7d2b4973f322d6b6de7924c93d8bf8825e7a0e8478c7748f90f5c716bf83c55b2795d315d8", + "0xa225895a8e94229776ceb51b05356291f2dce748be17a60d5aeb33ef8507c368bafe5d1d6eea927f28b9d1422b661b9a", + "0x8e011323ce670ff51c964241a6b72e0e0ffbb3ff9bb2762492323fc3a4abf4718091be0945287c7329850e4f74462cde", + "0xa2c03c2e5f4e9d3ef361f68b188451994ad1b24de9f323370559c8abfcdc7bffd289d92e78a5f6b104b0a12c84dab2ef", + "0xa22b4771116ce22276fab1fec6826610707ce8a342f9f60b079c4e0259dac3cc41c96c560dfd0ada6edd2828f7c0e8d6", + "0x97c17441d0af9be83b42097aa8b7cec84a253b9a2b957214b8fa93c26d2add46144faffa7b8a55312059b10690f711f1", + "0x94bdf348849f31a2737cbae5e5848aee711067bac85c11c2e68b44c398cfafbf3493a3226cd1ddf7a916e7613fc7b6f6", + "0x838f59c6e8469a8ec6fd40b978a3607439aaebe1e50ff707eec72c0b8278af05b477bf12a384b56d03e3d4eb91e56f67", + "0xa1940f0db58185e2b3aedd2b0bc2b73b4a65c68e09b046f38e9dcd4e13c94f5406bea92635190bf315e48ec64eceef2f", + "0xb2f4e0ae44e1f1210a91d8f280f17091fa994034ba8c991583f8182a323e9b3001a712e3584fc2d64ecbf2d319d076b2", + "0x9342b89c721338d02c7854cd7466fb24d93d7313b6114ea591e6607439c8ddb911d1cf35f01898e9c557982bdff8f9b6", + "0x8583fcab15be1dd14d5a415f4b14d706c8c62f058500f1344b37730c8be6741779691f87ded3cbcf6516468b373cafb0", + "0x8fa9587c7989646571ad9032f34cedd353caee14f5be5cde1e9e0a1710f90c08faf6fa96a60e1f150f761c9c8ae7417d", + "0x8d9ff904cc08141f5a9879f5f77dc600e6edbe859082231a4d819953890199bcc5f940b730ea688332f07e5279d49e1c", + "0xb5f82b46e5ef9a2df8d144202d6e2e4f3bdae8e2048d2af5ea7deb3f722fbe6d370401954e74ff0d8cb1010ffb1f38d5", + "0xa3b5b57d435b06ed70530e060002a8fea71746ad07d969ca23f22b5e52624527595b6a6d54b4e953fb7b7596bac378f0", + "0xb90f89390df6d4b7879b915aa3c29b8d779d035033f8873bb7ac54a14ec98f0d08c0e3bf696e2ffa7b5730d736f571f8", + "0x8e81e371b92887e43d95c0dbdcc9575282b26ccebdc8cbf46587e4f2a83b61e9bc0c6d7d1f114b9d21e04fd6c180b12a", + "0x8d682947c51dffc6e0fe0a486293c9ed121f441805168236393087cf62f2a429cca60bf0e472564844347d32c6bea27e", + "0xa8341ec7dd189fa7168759240224192c58209b53fc961c18082deba217928c399bde08ceae42bffd37c1135b4d14a845", + "0xa94bb076dcc5ee5ec82fac57c5b384c690df12631882bd1b960e1eb8c04f787bc22b7bac315b9dc5a8a098f17f051a0b", + "0xab64e1c6f01b87706c88a3bd974454a438722768de7340b834ccf93ea9880c14ee7c2181432acf51f980d56de73832ee", + "0xb7b0058bb724d879e5ad7aed6230297c54cb599ef659e86bf2cc84c38225899fb388391df9b2e6fdf063171937fd8c72", + "0xae856f4fb74c27cc98b67429186e7df4feb01278cd57bfd3170af6e52e0a23b9e926bf9565a890cfb4ae8f2d590b2cd5", + "0x804b9c6702f0596d328f92fc1ed5a30a7ba17b9204524135001b569233fc4937035031d079f52fd04968f37c24013898", + "0x84274ed1af6bd6a968583995622b4d18c6a2bc703ce0d0edce45bb736529b4836343dcd11911a94a134dca7877e6cab8", + "0x88808098463f7505034c3b6328c8a08186b33f7a981c08376e429dd64b79b97753170531ed078dd265ded4ec0a1ed8d5", + "0x92823bfb23a4eb84d3759e7d717f0c8641ece0927cd2ba8c728c26bb35df2629a838002f353c8d3d75eb19520aab5f25", + "0x8db36bae4d960cdb9c51f419d7ddc81f372e56be605bc96a9d4072b829f05527c37c8f255cc6115300a2a0d2e6568d89", + "0xa8fcdbd7f3b4d7ff04149a209feb75e97149e7efceaa42d66a6b8e432590fe7bd01f1a77fa8b47108f670b612e33fee9", + "0xa9f4c53c62db7e5dbdea6918862d3c6d24b5bd8732a218edf0ba61e9d1861182323d8ecd7bef8f895b42970b492f6e40", + "0x8b95bc7f07818f4d7b409aff8da0b2c2ae136cde386f53a71565cae9fd14c73c13cc1cfd79c0f97cd77839fb738c5b9a", + "0xadbd1d11adc756b51a571ddbcbf4392415231ddad93da09acfafee03a9e4f9e1ce3826110619e5271feadfaffce3e793", + "0x95d327c8bb195cdf25fd79c98f9406a6b0316214b1630ebcce95bdaeffafa36fc1accc6882e0e5d13a8db5c0f3c0e61c", + "0x8cb2f1e2fb25558869afdacc7bb866544cfdd566cefcd048b48d458a886130bd086ecb7600a960a7f2563c61cb326510", + "0xb3aa8c4bf5b933d89cd74ca7f7176d6624d562d7d58b041328b49d7562a30b489cb606abb3c49e85baf04c28e9cd1f44", + "0x97f9053a85250c420599827297453c2cfde087065b823d9e43139e6a9cac3a2ec40a1b6e2f0726bdc870fff215462f0b", + "0x878d5dbe6b881389c2ca126ff66d87127c9aaa3f62f0d2c1ec0ea2b279ac95f8a06710dce166415db227655e2345a04d", + "0xb2c33a6b4203e3ca5247f0890e475518317ffc44cfbb1da9a1ba02114e8b752bea618050b876de5cf3b1906140a64471", + "0xa56170c8313d2b5541a795bea9934d4425b185b5c409f0484df6f44f0e4bcbf50b860ff46b7245cd99c1cfa8fc1965b7", + "0x96e2b658e2876a14147385fc423d2702a3cb76962b6b437222cf9cea39ebf4bdc03bbf434b747866d4bf72b4ceefa639", + "0x89c4a74fa2f067e7ae49c84ef782c331bcc9245db7e941804e2e99d12e987b4d25cb827778ad4c3566c4fc68018650b6", + "0xa01d30cea7d01c80ff26650020fab02e78fc3842e2398a81b44b21d58d4e9816166ff4ed2418831fa995a28ff35cb6f1", + "0xb960c80b55a8845bbf24bc3f23b0110ca701f9544ab6a5bb7929330213cb471321e55c390ceca3e24bff69bdb0d331c0", + "0x802c5b13f22be7be0e5db11eb3be0f0ea7f9182c932265060ba05fba20ea093dd2810d3b969ee3e387e60fe6ee834e8d", + "0x92478f88ef7435d15e39a97916c736abb28ea318394b88678fddbbaab3eaf31776110936abad116a8ff6ca632dd12043", + "0xa6d3da0370c303001d5ed99d1db8bce1f26b0e442f0f042e36db9674e92dcd6e80465e772f1e669f99221caee3392fe9", + "0x938f04f70a8f947d6df2f0c0e9af3cce0c06edbb3c131970dd60884fc0b0a0959c504a2a36c3ff76dfe919905671626a", + "0xa7117e55224230822e9983df2132347eb7208cb6798f291df926ab51e04b1a1f78d5568c9a8924ee6f57426134360f20", + "0xb91074c77ad93fe48dc2b10c0c5a62ca3ab7d98345b919c52d84a9dc419b59fc1b267e1c2d4b2e120016ef84bbdb0cbe", + "0xaa175c6b6edf02fe8778762c9575581c0ee6efc9dbf99c291a41444a23a056b893be6c45333d907d0bbe9fb0eef84d08", + "0xad36dcb4e2ab425aa339ae464b038d550cb11186741dcf257f1b8b80ed4f32ffabbece45e2dc1525d4c3eeed819ea04f", + "0x91cb35c1ffa9cd5aebef523edb8325078da3eb5cf9e95c675a76446fc7692aaee6f949de064ca2f3e0f082cc3fa93e20", + "0x82622f9410c143a86bc4d756b3c7b324dc295231ce865de020d61cc0868f2c150a473cea3a5b756b36771ce1032415a5", + "0xa5c29996ad3a53468ece9356a5b4ccb68971ea1c89cf39644f1da2d4a477c2ea99bf791ef902b87c225d8c53d67c4c92", + "0x92893eceed1af34fa92b23dcbab175b6a0188a27dbac9ad3317c4e39955a763cb383ab13fb1c519cde311d8a4d12e8b3", + "0x8a093cb191b94b0200e38d31955f9d240e2be1edcd6810a2396a061f17c3ddc9c4f4d56766ddff4e121be7110e03b869", + "0x93981473df0cb1f4b47c7d9b64e3123dcf1593845b401e619f5d7c70b5dbea375d1ca43fca65845fcf0a6b2e0af43791", + "0xa6beb6b0697070f9562910add88d9ba91992f8da127b27be81868b1596d1012f09ea7ed601b4a6474c921a1a1a6d866c", + "0x92026b1ee30f2ed61c9f30337c3356844217926aabdff383c19ca3c21e0bc49811ca5b308012bee4ef250cfae1615800", + "0xac0ebaea6d35f84dac4ce648af096305ba68a7a0aea0a11ab2fbe3162075444a158433c98141bc92ef3b3400d6deb46a", + "0x83046f482dee24ac3ca83373f0d1b82ac1c4beda0f229a9011a81ec659ff5fc1fb105e219975b5c744308c77a24f71e4", + "0xaa5a312c47ff7248dcb9c6ffbe5a0628ccd565c07365c4413734d415cd4fb35772622ed833862dddff520a67c509c6a5", + "0xa02fb88805c34018ac33582e19ed0a7e4616acc3dd0867e5f21914c2031c05c6dca30b8b35b57c2b137750f3878a6f8c", + "0xa60528f1f14bf0c496491d46a0fbbd6c343e4eb3f1631e92f96a3c5e5c684091aabe5801df7a67f7c6dfd1b0d35269d4", + "0xa1fd8e7fad8ca05a340c05a051bb0eb4197eed345f4104629a9e38e234b09d789cc5537024615feb4a6177d32d39e39e", + "0x8e70e36c1aa070815440e19443f1f04aae23b1b59fdbcba43b47b94a026c82c8f66c5dfe54f826f4d95ee1930cdb8008", + "0x8234c1969fa7e9079661e4ca309b71b1aaa10f4372be0b963205c23a81f5a3d52ec08ba9ff65b37f832b52d631580d61", + "0xa18cb4134127fb37c4abca328cd0047378a2e1423490af2bd3eba9ffcc99ca81a3c22404c0886f21f65c7b93c41d7981", + "0xb46fa45fe538816de776eec086e040005706cb3eca097e290abfb6864e745c879868aac8361894f3c3564373ef9ad55c", + "0xb96ca43b96c59e95439f75d1e726a35a9362f0dbd34963b156e103e080a8126a8dc3501f9fd541ff3bcf4677f5c4a86b", + "0xa8e8c87c7301613818d57387009e601a7ab5cbdc2890f63d985c30c74f9cea2d0584c116baf0d9cd5594386ee93fc661", + "0xb47e4f1b9153ef0981f813948150f283b47a7346fd9921d51fe8e4daedaef78ddeb4fd467c2ccb7cebd9816243da1c6e", + "0xa370c202a99c8441ffe96fad0f801086d4d7cc7b960f6e98cca29ceedf492afddfd0f351c9c4d29ac008bc255ec1a2a8", + "0x8f5e6ce1655d1c059b006174e3f5a55c88e1821c97f9702ad8e8455d46c2a83ae4482f2d43edda74a835686ec45a8a15", + "0xa30421e694930a3b65d397b2720d5f8e1eec2b6e2bb5a28d3f9b0a84db9aabd83850268bae64c2b10e313cccf120151b", + "0x8abe87163046f7a9b18e2a3c0b66e258facc1b31431420e0b70354b7a60ebd250a784634a76692e7d6f4330b62114945", + "0x894f033cf077d4eb312e3258d9dca414356271abce1d6094ecce6d018c5fadb1c15d8d69451574ad0701a2876db191c5", + "0xb0923d64f88ffc872654e1a294bb1af8681689c21cf08f39afe51448a68e60a9a0a74ccce9969276a932a52c07d095a3", + "0xb9ca23b5be8725fae7fa710eefd45522889c50c29c26384e00b78a962384f0aeff9d15cb5910e9565da12a577eb7e5ba", + "0xb242ccf292757197a9f470f2d80ccddc48c7f1235ba026bc68a93be2738bc968e8a200aff3e2f4807216442eb3fc50dc", + "0xadc2c3b375b308524b79a024ff87d122055440643fea6fc0a651bdb312c7cbe6a456afa9d342bc76446d77d8daf08bc2", + "0xab645955356c2ebf2f3df9da275e01daf0b44a52afc309277d6d9ad1b05484e5ae0d9d41ad485fe481e5e362826a86ae", + "0x8de96ac587a4449fcc8b7fd0a51b4b5185d9c2eb3434f94cbadd092de1e26b0f6b3f7b15a37e8424b1429121ddca0ecd", + "0x94c70ad4e9b871566f3da98170b665a09788d421818299857cde0853789fb943cbcf7d4b2c95246ea7b72edc56a8e36c", + "0xb2574be63497843340700b701d5cc8be6d23125bd62058802ee67cce1f3b5f5602b27c93fea5611f27dc695ac563f042", + "0x869ec89da7850cedd88bcb3a50a15cece233119b31b64a61bf6b2310892ce42d8b473b584b11e61db29ed24ce8033f83", + "0x8fbaa269da8e28e9adf4c1b08f109da786dbe9cba871c32eecbfb10619b7a5d65a26f9bb33e201a8ed20b3de94003fbb", + "0x8bf7a059c37242caf7f821a6314e4e4adf799e0dd86b37892a7172598892c07272acebd05b534755c57b51556b2d610f", + "0xb4e72645fca459898cdd9214892ed08b5c99f82049c0a30d72bac0b9717caa9c6cc16c3dc7aa6ea4d42dcd2a6c175df6", + "0xa39170da87a3495da55bbb9701c5461f3403447174ed6a4af75712f7ba4ac35f51a4234bc4b94da888a0959ee109c0c7", + "0xb45675b2774ea7696089dbf7a0afe6c22e85fd0e4ef3db508fbaf96c9d07f700c991789206da9309fd291be696357c5f", + "0xb52899e3e3f6341eefcbe1291db6664bf3b6e8021d32fb9c3e37b6258a35c1da927747b2ce990937d6f4c6c3e7d020d2", + "0x84e5bdb3dfe19700d79dd3fabb0159ccfa084f7288db836c855b827613ce8071067c8d7ac5cc2b4e88ed7f84b690f6e1", + "0x801477d200b6d12fc6e0a9bab1c8211193ab06e44551e037a9b4c36fc2d4f67760b9ff4eba9a3bc7b6e177e891f64ff6", + "0xb6b71a5116d3c22af26a7530f535e9b7851f25a84e562a8f17a125d55b9b3fc1bd8cfe65bdcbeeb328409521e802051c", + "0x8687e21c34d7804c12489d30680d131ce2133e2981bfa993afd8a8eeda958ebd5e6881d342d725338659882d9f21cf98", + "0xa024e97a7c4de32b6383c34431994abc533ecdbd6be9bff836ec1af022f5a86773bf345c6f33273797a61fb70a8fd5d6", + "0x83f784f095da20ce5b31f54d6cb14b32a8a12675f0029289c9cd036b7c87a8077be2d04a62618685720e6ee69c875e97", + "0xb4e9dfe7cb9d9efd3fe00d99ae5e48769d4af4bf43d4e05c0b54c9cfd8bc854de96b8d3ebf4dcc06b9dac66b7471a0de", + "0xa08b79f9d4673afcf7f38b57f484f88feb7c908f597663a2417f92c348150c2be6b5603f914eba0d9d5bdd4e5c5572c1", + "0xb0eaf919589988798cb01ba0610cd1b7fa3c08715675ece8ecd5f9ef6d5d7b2c4c8ae1ea7dfd202237171aa3e6f9de74", + "0xabff99a98baae4dd0954052503ce81827781694a5ea8c1149f96a3adde75dc2d630e138598cd2ae7fdc7a654aa17df8f", + "0x83e369b8680d8b9d995222b033b4f4f3e3b20e782113c941325c7fa9c742feef8747e4a212d9aa23285a259cc4faef8d", + "0xb16d5855dd2716613697eba36e2fae0872aaea6999e91cf6552f93f9a0b85ed4f6ff922a91b50816bd6cf8e7a4513fc9", + "0x848373db600e32e741aa1d37726bbb28956783f89ce2d781e95fb1ee1adf4359968a141678af268077eae4c25503204e", + "0x93a0dd0fdac18a31875564505b4e28f9e8bb2915faae666538597731ac56cd77f23f2456461e2f672983fb24ad91f6e0", + "0xab1ebbe49fa56524b564bc2e43784147073e6ea5d27a9540fbf2e04d0f87c645ed2fd28b3e4982cc4c0af1734ee47a6f", + "0xb3ee30b733839edab6f61f0738e3f4afaeccf700d8dc7415684f193b36d70d07acd5780cf539f12e0fbf8d4683be773a", + "0x88388f2cbdec47a6b3ae460b69eb0d2130ac14de950c22fd86de03e40d02292bb93cebe62432da39d509c1289f785fef", + "0x9370c41a54b68ff486b4cc6329c3a851716ebf1d088d77a6c56dec93a18b8a77b596cde74cc17d2adb2b2f411a2e4bbb", + "0xb9083b60dc16531f77b05a955b51a237a8f8c0173d72c352c5ca441b55abbc890b14937e457aaec4be5cbbf80cae0099", + "0xaafff8f6c6ebaad952c65054dfc7c829453ec735331bf8135e06406b7a9f740c9a200dc48bb2175516b41f77dc160121", + "0xb43d31fbbaf10526809e9e5bd8bb47a76e0fabd7852ee7744404559ab89f0f215ff518f3271a6aa972a459cab82ac558", + "0xb581ede48c6ef34e678f91dc4b89507413e00e70712e3e8c32a80eed770ec8d8b98caee9702d068aeaca6f704be57bd8", + "0x8cb0a137e68b001a5ccac61de27cac9fb78d4af7b2f5a00b8d95d33ac19cc50c69e760c5e0330a85c0ded1edce0fe6f9", + "0xb947fca07c7aa6c2bf13048275402b00b77b28f1d0ba4b589fbcede13f93b5b931c588560ab8ceba23bb8e748031b55d", + "0x81753cced5ff819901740a9a584334e355b497cb699f0be5a52cd555a4c9f149535c7bb355b54407f7f0ec27de6c2e19", + "0xb3d59273951ce97838c4853ec329782a255b5fc7c848e7992ded1be28a5ada7fa3254123afe32607b9991ec6e0659b08", + "0x86b253de246f82be1cb0cef01e87c3d022ca1829d2cc7e6a160a5afbd3ca6b94d75739b122e3bb16f8bde28a8f3223ba", + "0xb728b659fa2d8487e061a37f7d14a4c2d70cc37497a8715695d8d332cb274deee2ce23b9b5f6a7408516c02c3d526a49", + "0x81277b46d98848a45abfbe39842495659dcbb80dee985a4fc91d77d52b815487aa8bb455f411fcce4c3879c7a075a93f", + "0xb05b6f1fb4a6e654f0ee6b83e08b58b57059bb0b7c490405bc8d963c4a2d6be39c558917977e554e1e9e3169961cbf3e", + "0x88f75fa7d016fb6442551ec071cc1e2beeb3ccd213d16d744f573a82f5d70f41dd1b18af71d5f9e73d87f2f6b7dbe889", + "0x81a46434f1bbd65a661a0ff45a0295b8fd8a42a7969c5953721bc98698b64bddee3f806876d1e9983063fdd0c11f99df", + "0x8b4f6d33c510a4c9c7d623d9ae0c9aa631fcb987704726b2a4d8519372123bce3c439202f25b5b47045ec14ce39a21a8", + "0x8d5112b330fb63cf6ef3d2164b404c14ff9907d685015701399a260951912b19b8f270f869df317e9050a127763d7980", + "0xaadab394e84dfb82db15ecd2427f39b62352c3e1647c3bcd14fb24ae830ad0116f0fed87ddb63963b424a4741961386e", + "0x81ca4e5600d00a3bda24cbdea7a532a4cbbd893c10e7ff10667c15ffa8138b91667abe5466b31a3dcdd60155c48538c1", + "0xad943af1b8a5fcfcf309ed8f2f916339f254cd555c71a407a47365a139306286a05a8314e1c70e20a65fccd75d36fa12", + "0xb16597a0b437060a390467bbfab94c0bdd695ae898894f4689f939e30cc2119cc08ecb594546304adf876f4e275ebcd9", + "0xa44a4e0a6693be356065891c27eefa040a1a79475be53d54d5fdcea7e0668ff9b35f850974000ed119f6865aa6faa721", + "0xadef27d1b6e6921f4eaf69c79e2e01f5174f7033eaafdd33edcfa5119af23f3a834ffe1bdf19576581b797abd1865b34", + "0x90c1e9202f3ffe28f8e1f58e9650dc4ff4dbc158005b6f2296ec36147e524b4f2f87f8aafc39db5b006fe0c491c92f45", + "0xac817cd54288b6f7fe6338415344fc9e7b669414051631ab2f27851c052c044be06bf7235d668e194bef695923256368", + "0xab14944ef653a14456d4ebc12e3196df3f1b4707c4e50b317b5ccc8ca3a0720f0330609f0e7e71793f6ca01583f38c70", + "0xad5353f2f380837e5ffdf079350b3d42935a0517861d03af98db5ed3ea8501abd68885c8c65f5a66e944b1874826a450", + "0x8b5583863f84af8443ce8970b02e26cc5d959e47efbf8a66a54106ab165f1f76b36423aee74c7b5402fd1c4d7c1adfe6", + "0xb3b46037eed9fc30e4f8f0da8bdbdcc40a38e22e876ce9fde981883017854aba82c18eb00887d92ad847d30082fe7271", + "0x98a2b6fc90b7ad172e4368c1e54675b75c8bf2096d91c9f2b60b3397d3be3b705aed5389845dbd68f0f84438cd0f7687", + "0xb155e800852a5f90a2eac69cc4483428da1dc2c31588a13c924e60a7616ce9baeb7d4b829c772b260277cadd8ed84719", + "0xb8b92c520a1302b0cf7d993a52e1dacd7f27bda9868d59c55687d995ae676b7070af4c0792a9bc1c2635d44a4fee01bb", + "0x96dfe9bde526b8fc829eda825f55168b88e8f4e43d4d708cc3060df03437b46e12a8ac70d7788aa75760f6294d3e84d8", + "0xa3fa66c54e2fa084ced3bd838614c6c33042f492a5745d167a723c60d5e7d6020ffd1747981a23f8b68df21ad8f0fa77", + "0xb573ca10cc41fc04a642f6f62c355a4fda69b94b8e95dbb02fd1ccce4bce1191356e1fd66d372159944eb36a7071f005", + "0xacd0a1c9abddfd0ea223eda1722aaada362d34234455bd1c6be115d41e535b16f12ca428da7820a757fa4c98884a385d", + "0x96f242eee99c4db383b8754fa7987c0c159652e1866faec905a8d3f010e0a1ad05bd77b9ea8dfd653738959180f58430", + "0x9215a9b672a5d6e435e0e0a45156e0e20f75cbbdf1d14940fed3ddb63d433bef643796c7a4fff881829ebb2b2eba9460", + "0xb8ad9bfceaf08dc5a874387219ddd1170bc3a5e25ed72d321d59ae713be5ddf9fdfbd3aa7ab163be28dfa0dd14614e19", + "0xa19a1050590bc500b32c502f393e407abc3d8e683d6f6b978873aff3e3299b18b1f6b59e2b0fe237d819dbdfcfdc98ca", + "0xa6870fb11d4429686e52e1f44c8dcfc7ea24a020df9570c021578dbc1f9bdc8cf797cb3a72d7fc52805dba35d59f2cd0", + "0xa7be733b64d5c06c127bd1c87250e42bfe30ca91ed8ce51e0b6e377f454e8f6fef7f99bff650695df2fd10c375da349b", + "0xa1b97145dab30330eea2cdc8739b2446a3704b64505fcea3dd8a9b4a72edf222e98d967d6fd7f76794acfd97aa091065", + "0xb2127049907d2a3b654d1c940b740bfba3dbaf660f86ea79c2f909af7c9fe2a07a1caeb1be12370aeffaf8faa50f1582", + "0x8a207701214bb28e99b0784e9228b1c34afa701966267fe7110f6f29f5bb41eaae6cdb98844d0400787978fabd224de8", + "0x9925147a383b6f5f814520220ffdbf20b214225882c3ef49b1a1ca677709176ec82466fb9c4be2dfbe5640afb63b014a", + "0x8416ad93871623fb555b5390b80de99edaaf317350cc0c1ae9d54d59517074d40061f315cce8ba2026d9c1e6f6a1009f", + "0xa315f943deebbf0a2cdbcf3f8323e215a406e9cbfbcc3f6288714cb3a6befb1bf71b2a21ff7a2ec4731c65044c45b6b5", + "0x8213e0c2539c24efd186ffa8b6dd401ad2233bc19166a0623b26dd1e93614bbf792823f5599ac116231e2efde9885709", + "0x8e5cafd2f34a127a4a896f05e4d929eef06972a1826b3566446942198df26d62f7679b987db2b3765d9d8058b1cd85c2", + "0xb5302b399c9cdf912fd59007ad4737255552663b1e56dbe64a7b2ddd88d2093c73ea319b45db2dd49d1e03f5bef1a0ae", + "0xa0c2bcfbed4b008e1a56e5d2f2419aa59d7dd0ebd990f1c18588de702ad0fa79f445d69965fa9381e700eda13b309378", + "0x80a44eea1ffe24c26b16b8e2e70ee519258b9ad4b3e83cc4e5cca88ebc48d0160066f8b91d0581095b0de2428390c8b3", + "0x84a90cb9c7d2f799f1c4ed060387a4b793ab41c5c3eaffd3b60face9b9c3bae93cd2017283bf3de1e3dac63d0d84dd42", + "0x81d22febca276a05ba9bbc5591ee087b0491beb35b4d9f8fc0d041d642a574667ddc57660b20f5c568f7d61fdcb41bda", + "0xa3ac965ac27a28e102a439b74fbfc157e75fd57620e4c0750a466165f8aeecb2191dcf8e656f7525aa50d9c7c69b0b5c", + "0x913c17434ff0d9fc52e2ece4fec71b37d4474a18f3ea26925c1be2b250434d49759f58033ba0fce1c6862c6197930dc4", + "0xac430559c151a5e461f67b49c7786c97e1653fa8698e9759ddbdd99f5daf17fc5a012ae6330739440880728f24eba7c9", + "0xb10d8e9f8aed9361b042d1398ec74364f7c7c1cc5c7f917060572761138bdbe89bf409389ee3879f93bc8032dd67b308", + "0x937271005a4cc6a6ec134870c1b56471aa84ed4f4af1b3d5f334bc0c42762fae0c9a6a2828d3de6151a76dad7b72781c", + "0xa10e4dcf51889f69e6bd4c052f8d4036b9571ced98a3d7d779cbcb9fa5c3a82228566ea7cc1d012bf56dea0a40c5a64c", + "0xa0ed026528d9a8bb3201bc9dcd20598933e8c72fd315deea8da63d06e97392aa729d98a55a8a60fa4d5573513ba5c9fe", + "0xb723fcd04cddbd4c36feae827a03746ffef251c4f4c55a88beedaeeee194430a99f566f483668a0d88b13e7a4a37f1de", + "0x84a2cdceed44828c7c05a6a762edec0165e434e7029df617d6646aba48776e6c3b823f40689cee136536f8c93e08a629", + "0xb786264e3a237ac3a1d56c9f4e87438dfed620c867100fd38b01287f5b755c7820937403bfb86644e082094d3e410a00", + "0x92cc35b2065fca157c7bba54410f8bd85907a01c9f760aa0ddb7a82cb55811d24cb4dc6b725367a6a1c293b809a48ead", + "0xa12bbf22b117f00164a42515bc57cc9e6c43cc77fb737ee3d0c0cad94cb50cd3847d61cab469cf8ca76f7958bdcfc771", + "0x85985b00de533bde2a757eddf53be79ea39091d16af3fc92327bcd1cd59bf2bf4411a334da29ad775e8ffaf3cea7d7b8", + "0xaf9eb24185b0d330d0ea1d0b0fa78af0dcf42ced81cb0128f16cafdea687a9c5582bb6d7c5744117b271cd0b3303f0b5", + "0x8c8aaa1d85ed6327f85d579767c7a9158d209171b3efcb3e8a9d9e534c078e821b6aade255101d2c9ef6d67ba66f10be", + "0xa450518a03ffb40e1df89e0f88fd55b5b06f4872cdfb7ec55f40dc40d9424b3b289866336c195bdd54597d95569e0096", + "0x81e61cc69f93c435bd77f155e80626a9c764dd92b6c76af15c41346527948d8a6ca87d6351a0fe7987e2ee3aa66a9625", + "0xb615e0cebf4fdff4cb23a20c8389c370915ba26aa703b28efe4ab070b1603d1c5b6541684acf46b52a915f6aee447539", + "0xa7f51885c7a71885cc84ef734ecd107e8bf5f7a25131415f671d143cc1de92859e65001125323c7985799993af6c410d", + "0xabfbf7a46f32066989c32f774edcc68163f085ca81e94fe8c9fb32f8d451bbb2c20ac45cd8d97f9e618ab40186933b1a", + "0x8cf35a522b5cac1934004aa9dd236bc77198d43272888afa860cfc79b4b28dabf7a3c74098f84510897566fdd609aa45", + "0x86aa927df78f7a06a4985eb0a4f0b93529cef14f9fd2812d46abffbf25e618ead14d99c70e3c3bb2e17f3f7fabc9c264", + "0x860f1b4f4a398e9a8bb4739587cf96979cfbbe1687b7e91e5bd1198db726391b09b1a261bf12e96698818f60b5bd3537", + "0x8e7c4ee19ff115881051e8637dce1f5d6c65e865d0c757e8ce41b6d7bcd86c7070cce60649692bbf28c868c7e2e1e2f4", + "0xacf7ba01b0220419f09169ac8d16e5cc13dce08e88c90b8fdfaa33aab417f011a20b79a178d8a9f7211589d2e0affd7d", + "0xb404bde8e715aefbb9f20a353b911b79173ef3e2cf0aba98b5ae6190b90597d65043b0b4e014ad9ea6c77da2d213ea12", + "0x97e3615d1c77a402253bb55da2d1cdf82de316cefffe42b1022c94b4818d6dc4a313731db85321c537914bdf716a875c", + "0x940e950b96a4096a578c6874d747515936652b9b113a5f27f5a834a610867b05f9881e2679b0b289b8527baa0009b6dd", + "0x8de15a13ca236a3a285ce6e6826c502ae7365bbe468b6e8ac67b15b0bb49be0e996f1eec81ef69e4b7f54f8e4779a054", + "0xa12244777eacb08ecd42b5676b3a51153022ab97e9353ace0f47c6054c22de9ba60d2a60f59a36841c2a791cb1b7c288", + "0x94f7580203e39a2642ee2e7c969b9911f011d7f3a90c398e1302d26edb3df03df1d0c43baa1c6cf90dde95296d49e742", + "0x82ead33144aaecab965faf63af384565992f38fc1066e71e33d53f43ac93892e27fe78c4eaca1cccbc53364e26ff31e9", + "0xa0c129e9706d354249a7f8aa664ccd7ede89aa1445c5547410814b56d10dc086720953363ab1da8ff5f1ed5d8e575104", + "0x93b3057bf3f74edc95237781ae012cc4b1d3fd0455565ceaac7110290aa518ac32478ba4eb9851555fa87270fcc84f1f", + "0x949c2fd0b94f31f7cbf00c679bd3f6ec1a2f4056654708d39edf1a450b4e19a6e251d0bb24eb765087e698f61d3fca2c", + "0x99fd2e50e211ccb66b895eb2fc42f260f3ad5767f04c2fe238b81dae98aa6e3977443a51f4fe7b43f499caabe45699a5", + "0x84fe19626503218f327b5325bfd7c0c3d2614b47d34964aa0259d564e769c6c81502132cc1765b0b31fbe39852706927", + "0xb43287ec29d9010bec4284de58fed48dd1e129bac79f09d45153c9949131782f77b11b0c9f8ee06a39e5e9bbaa8e2c6d", + "0x908902f3ed45482df2f94415fc8e5a308057a40c8905d7cbbd58ec4848e19276577b7f7e69e5e684a8b981738e10f7ef", + "0x85cc7d9c1eae372b4f88758cd6e21604b4bc9f0794e1e74b6d9de96347f81944d01331385fae7a38e5f6096c1dc23465", + "0xaf60288c702082fc258b3dbd6952c6b75c1641a623905f491b1e72f49b9d39b33d150a336450abd3911a4c128166acdf", + "0xa7d8ac7e589558c4014369ab6f4c1f2196205b03e4278152ec0dbbd7ba54e803c3369a71d364a773aac8dbbd117e4a13", + "0x9833aed34e48c206e9328073597aee1123f5bec085339b4e6839a389a429bf3042798a31fac1464ce963204adface76b", + "0x84631a4f012bbb62133030224b57deb32dcf464cacc8ffde7775adbe68707263ab5527a1c75e597e03aa703ba658b889", + "0xa686a61f6467858a2a4c13e70ad81b1901290d3e51bbc0c6e366f9e652f575e91b11c75f640ccef8b0c6c1b05a43c9a0", + "0xb585f0ffd5144907703b41539bfad7f9f058f5985f63db911064ba6b07af8da2796b84b16db42b8d11135c3f846cd9e2", + "0xb525539516c7bb25f1d7e165f269dc8c9eedbba74df44887e178ab8fd798e2a31f39812ca922d6b64d91564f14012a64", + "0x91e480d7568fd2fae39c35b0a8d623e66a3160fee1dd4e9097255004938b11ac1cd3918dc6a1e5fbcb700c95a547e5e8", + "0x936ef55c69b842b6177de71fa48dc5442bf5132116b214302f8f242ca36a273a6bbfbfaf373777104dadbe8e7da5e970", + "0x8e950c0f6688abdff8a3b8bd77be6da6f2565c7b55711f5860ea62a3ab1d51aac31821c602bc11a45e33c69e7dde3ea4", + "0x90eed4595104a0527f8db1e028ff622ff70db4eae99cf47f6c2a0246ec7b103570a6a9a877e32e9647cc74969006743d", + "0xb756344f6c4ea05b792e416d9bd9ce9dd4bd904e7622761f28a85628506bfc9d88a25e5f04db62fad30a92fb1d8d8556", + "0xad79ba76534c1a02ac3e9b7308d390792984cd75b7e1d0e5e4ff123642d99d4ea1825643091aa8117336333c40d5bd94", + "0x832b08144887de0c0341d84f6945450af8d7a4eb32367d7703118186c1be525df9382ce61fed5f3b65a0bb3449185f7f", + "0xa322fb944e46d8e47994820890c94af423674716da810ea1da71e0a7733ad72c22114ca39a4b59c98ce4291a5684c154", + "0xb982851a65140dbea79bd3b5487e236feccee051deddcc17c2853032efca289ddb6eaf64be3dd85a73012fdbe9d2d4f3", + "0x8eed5e230e201830b44b9fadca4e156fe1a16bf840cf29da0f381ea0587b20c226de2465c67e6268973e776809af68e1", + "0x81c8f1c04490f36e41a53ee1b5185cb8adbb37c258fd6c3be8c56835bf574c37183a94d55b6554fca35d6e6dd9af0133", + "0x8c4928724107cc16d36f2976677eac0b852fc4c3c0bb2f9cd4d59cd24a113faf33b2faf405c3fcce25be51d41e42c2c4", + "0x8e4ba842636fdfc4d71f0983538ea5037d420acd26abd12efca48c252eea85544b2fa9fccdfec4e7c2a6359baffa112d", + "0xb4315b84700e26dec26f3488d308430fdff4809c10d4c24309627911cbb769ffaad0d1ecccd622dd02194eaf5ba59f91", + "0xab888308f757faef32648c1db01650dbc9aea248b09d06e6efcc996d395f48ec96f2d54a02de441d753fe8737862d991", + "0x805094cfd77e207d5c75f3cad99f41f763ec15443052cfd758c6a82ba422d831a1103a7f9b100da49c28198279c3d3dc", + "0xad857f33243e4a2cd2a773700def21fc7f94939d1a6d2c2125ecd58fc206ccafb07a2c02a1cfce19857d3654aca2c70c", + "0xa4d12d40149953daa70b89a329e918e9d93efb4e8004a9357fe76682dab9662c8507e16db83e849340f05cdb4933a373", + "0xa0dbac2ed4b5d03606524245e8a31080eb5bd3e9a0c51dad88c3b18e3e6bc5d64953a81c8e60425b80107ee6b62b1fb4", + "0x86da05355900f327164a78901f6e3db857531b33b1e855df1a67a9ba222c6b05fdb6b0ffbacaeb1ba5b45ff8979b6b68", + "0x932c9873aa3e226dd922b5a616c75153bd0390ce8f332a414b9c8cb6606c2501a37a2aa88097bc7d8e2c4261706eb38c", + "0xaccd9cdf07ccdd42033ce3b105e00bfd39e2304b1e3d66f8b1128645634452c20f759ec45adcef2fdf04408f62c4cc04", + "0xb75cfdfc1cb48918752eab17eb579820ee6e71e6667abdb64df834ffc8c1362fbbc23ca2c80dee248fe1fbb72d87dfc8", + "0x88b998c73b00638fde7d3dd650a08c5ab996dac6ac34251337fbff3fb5ae4a25dd20c1a16c987ad7ded19eca23cea891", + "0x8afef0956c942571a27f504553fb312cca9e50ce41b44e0466d0516c5abe4d8acf4594cdb03b1ccdbe3f2e6a9093b713", + "0x9042cd83c5ff261e9ebda26398caa16cac2cb840d19062fa8ae50e044c27104972948318f4c866dc4d578798272d3e49", + "0xad536719a64570a2cd1d72b6590ea1d02c8c49f259a7867be26c8191445165954bcfad50ea12688ace3fdfb0e98143bd", + "0x97c86328d63d297b6bc9718dc1ad5a05b908a750d1c455c700d84315589128ce4eea958aef2bcf0fcf4adbd8e3ce58d1", + "0x8e592cf0802e6a9541eeb654dc55055e11f3d757847285197132935ca35bbb1a9156829a39384dfa6f645ff89eb36738", + "0xac16c614998944f77590bf3913a010e13f2d3bbf6a172293baf5983506c1a2d89989fb72e598f5bba1ea10a691377c93", + "0xab8e6f5b46baa6632de3621497bcbdd584decb999fe7d8a3364843a1e0b76497600630b6a24dd30119d8bcbfca29f335", + "0xabe1d3af5279e60122d9cea8cc6581c819d7a0e20e3715da0f6da7e02d13a7653db643bd946e2fa9ba338eca81fbe140", + "0x8c33bd831ecfb18d1d0713e16beba768e9c42df62170c1f8a16764912be77f2ac5915623d1d25e8c462aa9c2f6669ca4", + "0x903692becae4a6409f7bdb127d9b11de57a5739fe24218dcbaa0092648d5332dfeef29a908ee9e43e5e0a51a4c3639bc", + "0x92591e90347ae286acd365eba32cd9ad8f20f4c9cad2dc579b195147ff290adf0d776bcb3d4b04a25d68a941fc0c781b", + "0xb64bbccf860299aec16e1f95c768a1f337c740bde612e6ba260e393edb8b04540127194761c42597abb9bcb771c576c3", + "0x9194f056ccfdfeb78a11c5347e2255d7a7ebd1251f9aebc0b58feb68d3e03a7dbbb74e3ef7309455853adfb4694bd01a", + "0xaa4f15f6d6a53ae65b7f6f91e8981d07a5919d2138679a561f7bb608dc4596e45ca06c9441d51fb678b2ad89ae7a17ae", + "0x90e3d18507beb30bde08c5001faf489a19ab545c177efb3f73fbf5605f9a0abcdc8bfbc44f832d6028e3e0a834bea98f", + "0x8f31dc0118c8c88a6e79e502d10e57652b7aba8409a5bf572ca63fed6b7cbad7f28bbc92ac2264f649792fc1d0715085", + "0xa307d1067ea4c56437b6f8913aa8fcbf4a24580fc1e3336e7f6518f0f3adb9c4733090e459a3f737414ec0048179c30a", + "0xb7cc41fdf89595cd81a821669be712cd75f3a6c7a18f95da7d7a73de4f51bb0b44771c1f7cd3cd949e6f711313308716", + "0xa9dc74e197fe60e8c0db06b18f8fe536381946edecdf31e9bd90e1ebfcad7f361544884e2fe83c23b5632912ec284faf", + "0x8b3e1e81326d611567e26ed29108f33ddb838c45bbd1355b3ae7e5d463612af64b63fff9fa8e6f2c14c8806021a5a080", + "0x92f6537bca12778866335acc1eb4c3dfc2c8e7e5cf03399743dcea46aa66cac92ac2963b0892784263ad0ebe26ffdbf6", + "0xb5cc0061f7a3e41513199c7dd91ac60d727366482a4c7328527f7bd4fc3509412f711bb722b4413b3736a219b843d15d", + "0xb3e9711d68d2c6f6e2cc27e385d5f603d9a1c9a96edeefa1ffdf390439954d19504d6aadc566b47e229ad4940ef020d2", + "0xa09d0d3f0e5dc73a4a0827b72710b514bbfce4a7fcd5141d498a5aad6c38071077f50d3f91af897d9ab677b7041dedda", + "0xb177fe260f3b86e9ac21f1bfbe2682ae5dd8c9aecebb84f37054bdab6e39094e611ce582210ceeddde66adf759dadb6d", + "0xb0ac6595eba9f5dc4b2fd21856267cfbcfb5b12aa34ec69ca32b80071c5b652e85c25a224d80443d503bf25fbbfe07e9", + "0x81f3c0e11b196bd4a2e8f07f8c037002566dc9037da81f3988add458a520c24dd1be3d43d851e28c0c6a85de4b57a542", + "0xa44308c95615f7fedb2d2127012924468c015df9f48359cc2e36ab4223870b0bfc1e9040baabefdf5266f93afaad896b", + "0x8493ec4c32d5a13b81039f1b436eb83f259945dc950e3c6c2ccf5087ec56dd2f60890ed4edf01728b6a54950e19b35c6", + "0xa1a439ec2a6a95bdac9aaa925ff337ba956c0d236ab5318354270e73ed6b73b4ae2d27b4c1686cf97b6526d04e65be81", + "0xb4659b7b53c55a4b2bbe210b53520b392f893500e18990d843b72d7379d45fb44dd1dd2184348d6fd853d6b9ecc6b7c6", + "0xafb2c68d75d00130b0e1b4f250001920213121791698ec04262db714cf7b1408d39f6cc10421f954845aad5b8250b77e", + "0xb22b843b40a97210f94043b552f348f66743055a3f274856a738e7d90a625b80e9bbb80cbbb450e1666eb56b8bd5c60f", + "0x800895ced82fe13d5fff65a93b0051c3df698bf1221b682accfdb63e3970f669ca37025750697f4e8ff2a3322ad57be4", + "0xb21f598c50d7b9f4a584d548f85e42055ef8e24991906d973749090261584c7f4f5e984b528926f7e75375dd84d51af8", + "0x849b1c68192d18274598dd6d0bf48fb5ee3b1ba25b331cff2d06f345bef3bed49760ca5690848cf33388f6a9a32cd646", + "0xaeb6fd9478b10ef456f6bbb1e6dd19b14475e65497772d12cfc097948383d3fbd191bf95f046b8bf1989954118e483d0", + "0xb1b5e0ea2835f7fc8b66e7731e392b43d16cbce04b52906b6751ab1b91978899db5fecbdabc23a19dabb253005468136", + "0x91b6b1284770cf6f7ef35bc0b872b76c7763ffcfa68f9c8cfabcb2f264a66d47598bb9293f6a40f4c3dd33c265f45176", + "0xb9ffed029846487c2cfb8a4bb61782bd8a878f3afdb73c377a0ebe63139fa070e3fcdc583eec3a53fdc5a421ff1fa877", + "0x998007249d041b0b40ff546131cfc86d0b3598dcedf9a8778a223f7ed68ba4833b97324cbb1de91292b8ff51beab44b3", + "0x8eb77ce9e0e406bf6f002870fb2fd1447646dd240df9bd485f8e0869298a1fc799d8a41b130c04370e9a9cc5c7540ca5", + "0x853db8157462c46f2af7e8f94f2ed1c9b9a7ba2896b4973296898ff3d523d6e29e0b63a5d26cecd5e490b33c87a4cecf", + "0xb1436b6f3278768f0979ee852944258f2599977d255bea6fc912ba17c5dff5bdc850cf3e1fc52be9d6d188e868670f4f", + "0xa76acbc5832019b3b35667ab027feff49f01199a80016620f5c463dfcbfb51bf276ed17b7b683158ba450660cc7973eb", + "0x94540cdb051faf3ae8b8c52662868c2dab66bd02505c4f5f8eb4d6b2e2e5fd9a610890c5dcf8fd887eee796d2b5753a8", + "0xaa35099666bceccf4eb3b65b13bba88e30a8be93693ab6761d8e5523343e8d6dd42d977e66499352fe4e9e9784a1dd0d", + "0x894471aad17be54319083c4b5e40adcfacf7c36c4aab0b671030b7ef321c53590a25eccd836efd20f32a93185fd315bb", + "0x8f52a9f705bb0dea958fcfbd52e2b6c08ad0f89a07a6b2942c1b4c37eead0d97a38a9e9aeb08d5d59b7fa2a9347f738b", + "0x9031c16b4f936c9cab55585dc5064739f696c3347ee2c0792320c9f749e760d120e396e8485ffc79d81c9f3337ad3d1c", + "0x82090a0d0d9b05459ec1c328ecd4707c333b784e3aaa0ef0072cee1eac83f9a653a75d83b9f63512a8c41200494826b4", + "0x92c3a9553001f9ea4d67236b8ad1a33275378202cc1babc03f313895458f4b2549bfbbbdd37bfb8fbff0decb6b9f820a", + "0x88651868f4da37338a22bc553388df5dd1dd0cb78c4d7d07c637d8f6faef4bed72476fdcd4304d5bedf3514011135f08", + "0x83fa0141bfebd88063f1d787719721b4c6b19ecf565b866de9d7d5d1a890e0e3d859b364bb65f8f8e688654456a40263", + "0x90a7fab753e5d56dfc0e53a6b4e6ab14508220f3a62b3f3f30570c4c9ad225e74122635826c92e8e3227ec45e551432a", + "0x8fa375b0345bf6e5e062d108f9feaec91029345ecac67ccf1264eac77b8654cbfdda1f10579f481889c0e210254eadde", + "0xb83f06116da9daebdb013b26724523f077debaf6bc618b48a7a68858a98d275f7899c4ec73a0a827219b9248dd81c8c9", + "0x8be1cada55e0c5ebb4fd460b2d209ae5326285a20c8bdd54ed9d1a87302f4063c8730bfda52d9d40e0d6fe43a0628465", + "0xa68ad6f813743ec13a811f2ef3982c82d9d9ac1f7733936aa1e122f8dc7f4a305cc221579ab8fc170c3f123a1576f9ab", + "0x8878f1128214fdbbb8a0edd85223741e021508ab6d36c50d38680f2951ee713ea056ed03f62b9461897963d50ceefe0b", + "0xacc0d43d1b0260528b7425b260a5dea445b232b37240759fc65fe26f7c9d8e51569c5722bc33e94de6492f4ba1783504", + "0xad80b1dd717b076910ee5ceabcb762e75e4d094dc83b93b65c16de1f75bc712cef223c05d5579c1561829406c07a97d9", + "0xa6fc9803f9c09d95fc326cc284f42ea5566255eb215dba8a9afb0be155ea11bcc55938b2d16f01cd2f2eda218c715efb", + "0x83ad733dbdfbaae8095a403dbf09130513f4ed4f08dcf8dd76ce83d1ea72999b7eea3a7b731da0d2bc80a83c6ee0e3e0", + "0x8748912fbd08cb34a85416b0937d9c4327e9eed20d6e30aeb024a7253f14f1e0d774f3326e54738d71aae080e28da0fe", + "0x8997e78d8acf23051428af67183ae9b2c4aa42b503745ffe33df35a35103c589987e1473ab14dcd28ee78ebcb10d8e95", + "0xa2f340502a7eb3c4a36412e6f028321372c4fa18a4743945607424e932af1271fa3e6598a162c872072529576eba6283", + "0x868ccf19b5044ab93b45c9ed3ae34fcb504fe1453d6c4a1d12c325032cf01eb90356de82080ed897e97dba13cae33a02", + "0xac8867005fe4354d67aa37b866a7e581d2f94f7bd0b9f4efb5c2d1370ec13147a60692051b02fd00ae60b512bce9b1ff", + "0x8fd01886b046819c83c12bb779e432b25ba13713f9227be702074ec3abb2bba6be37220a0a26a4bd4171b99b14e32bc4", + "0xa128981ed199f92b5959975c150a93a62fec50b61c80a3fa0634d90fc8058f76f5cbee77aae6889af12d296b30e613cd", + "0x81fe618552ff7a36c9235c6d4066cf2f930b5b38de4089e18166e4a06ca5723eadd1976d25e34b74b3ce942300b23e5b", + "0xab1223ea049e6e0fbf9b611de7fd7c15e5e9637cbd73aa0e36aea08a7503ba6804f2aa807186fdc9aa7f4f9195f72e24", + "0xb97285286981b2665f898abc13f3243b63005bef8db4cab3f658bf6167036b61af400f08db0fc3c640a9c623b760690d", + "0xae3ddff7c1f0fbb6a13dbbc667a61e863c2c7c51c2051e33cd61620142e7e30a7e0c4c1f8fbb512aa3a8640267c6ac26", + "0x99c2a89d5bef236060e51c4f952664094c20fbfca647e5d24a55c1fb8df2f3df58244fbbf3635db07b1c29ee3234fa6f", + "0xa5010764d4b9cd3b410638334d1f70c5f4843f45b4f4a9316aaea5fbb2c510a97449dd7a07b49f47334a69d37d9955d3", + "0x86706d011dcdc9e9d165d01fea1df68dd74bedaf15a39f92893c030cafe96f4498c4c1fec2d2136354341b3f440a1462", + "0x88fd57eb62bd7dc35722f3a0576c2138403a2f663a2603482e8974a895cf56ddbb02657dc6b89eb2cf5c1f9d1aff6426", + "0xb0dfd4c68e3acb6bb8a776adaa421fc5e268ed4d5964bb90a727091e5113b55b3f9c6d33cedb3ee47ff7acc5df8b1749", + "0x93b92bc942e1a636fc5c2dc1840de5faf158a113d640d5a475b48e2c56ccccaf9db0e37e90ce74c4b3f5c9ac3b2eb523", + "0xb29a16fa1ea95cbfc1873c435ad40dc8495ba6341801b72bd95d908147dcffb1b4bb426dd635f3af4c88984f56594dd8", + "0xb8f367105e1a2d554ac30200c66aeb579d3d30a8953d20fb6ebba2d876ec39c52ea5d654f1bb89b8ddf3d9d651f31cdf", + "0xb5fbc228c983d08adf8612eba5b3db3acff604439226f86aa133b02cce4ffde2f977c8dbb8b446b4375673f71634c89d", + "0xa399bea37d3056e0559f6644faa0af93063b4b545d504d7e228d3dbbc294af83d3c4cf37fe026b63899b4e7d50fd08f5", + "0x928ef411a36414b24aea26fdbed4bdb1bb6bdc2d967e2553ce54c7c4e077e76869cea590257645c9129dd55ce025295c", + "0x9684a4adeed416a9ce82ad79b55c4a3adcfbd43950bc442ed8a340381caedb70f4baaaf821e3a152f483f965d8f56162", + "0x92558a37f214d6f4cb6d72cd2f4ad24dff9d17611b9e4a41ee5c741a5d1ca9e4053b0584533ef4da206110b5dc3e2a35", + "0x973bf0724d1785cc5e85d2a8ee8c354ad4cf557217ced0b7940f6f064024c20b2bfc5b144c820b5083da4bf70690de4d", + "0xadaf1389dfa528210ca9c2657c5ff10d51f7e3b18e93a59c37211be0506c3576cb2c04ec80cd0f82605e53c5a3556620", + "0x85b58b223b09fda6f3ab674d75e780c49eb2167837243df049281e8f4fed653811138b398db9cdfe7405fdb8485602fe", + "0x849504d3db408d80745a07e850b0a804607b91a59922a5d3bc40da2748c029c029419cda38d2a4485cc0824c6b2504f0", + "0xa3f4afcb353bc2582a02be758ebf0cd18752410ca2e64231176bfa23828423e0a450a65f241a9ed8eab36cae8d9c567b", + "0xae362786cdf121206537af9590d330abbc6dc328b53cdd145dbed0e5df1364c816aae757c4c81f9d619e3698dd32bcdf", + "0x9024cfa5b0101eb02ab97866d5a3832944e5aa6888484cfba3d856576b920787b364fba5956bd7c68a305afedc958201", + "0x8a116df09fed923acefb2aecf38a4fbc4b973ee964d67f03791d70bee6356af43ffca117d4e9463ffaf0e0d5d5e5a69f", + "0x9163016175c73f1bbc912ddfe03bd4e1db19c64951c8909ee6befe71a1249d838e0db49f03670bb4c5c9b2ab0fb4fef3", + "0x8f6357318d8d16e7240a02b05ce5a4976b6079d49daa258789c6dbf4a47950ebe9de6411780fab06c7c1f35651433380", + "0x8e63cbae8be7341892dbedee3111adf0307c4ee9e375181aa53478f5ba9cdce164d6ae890e5f480119a3a51c6e989165", + "0xa9782f30674a4874d91bfba7eda63aeb5dbe66b040c768d6a925d8ee135f0655ea56276b105239cc0668fc91ddb68cd1", + "0x8d9d94b61ab84ec08665cbe0244ea41756785df019e453ef078c19380bd44c39d2958e8465c72eacf41eed5696037805", + "0xb1470e6f5d2e314474937cb5a3bc30c8bf5fc3f79014945f6ee895fe20028ffc272f9d3a7320aac93e36c96d8a5454e3", + "0xa444911bbafc71179766594f3606b6eaff041826607fd3192f62dec05cd0f01b78598609a530f6930e8440db66f76713", + "0xa9823d44e2638fca7bcc8796cc91c3eb17f46ad6db9f7f6510e093727614aa3a4f9b2c4011ef91dc1c2d224d08d8d05b", + "0xab86020972c359ab98294212558b4b14862040139876c67fc494184b5c9bcea1dbe32fe0c8dd9e60be9daa304acd599a", + "0xb7e5cb685bbdcfdb1e48259a5d68d047846c8a35c5b3f90172fb183d1df40d22eaf0edaca2761a07c29c577000ccfed0", + "0x8c88319dae4b28989817e79e6667fd891181e8d2ed91b9c6b614985bca14b12982462ec58b17be0463c24bbb79dd62a1", + "0x8c1c6867e7107fb2178157c991b9c8b0f90c8d57a51220bf3650438ccabccf62da4db8a9916491e730ff3d0c106496e3", + "0xa00a79bd58da6528b9af033087260f9f3d00519eafb4746b355204ee994e89481591b508eaa5402821083e250d38467b", + "0x8785abd7c37690f6aa870ee5c799eef72e398a7898b6767f698515be277b9c2fc1af12ea89b0620a848221343a3b5ec3", + "0x8aadae68543db65cef71d0e230a09508d72061398ef2fabec0f856aacff2125b79c70e620744aaf331faf3dfc8afb9bc", + "0x8ff0cd437fcad9630b8a2333176a55e178db4142ec841581590594d74d5b53baeac5fb903fdf7bcf83e245b95b58285e", + "0xaf274e8fad6b190be4e5dc92d2705ba6ac0d7e1ea29e958a5cdd4cb764de46a56d9eef62c999a16e7c50a50b2d9fe3a8", + "0x865e6ec7d1aa848786d6a7a4e87a24d442311f0810b01ef5a74928ab59fdfd651e48880b49680047e5b0df6b3c7c2ecc", + "0x800706baaeb35bf3bc33bdea9a8b5cb00d82df407b3b7e1b781a9359cf44fb410ed311591080181b768aae223d9246aa", + "0xa9496389d0780b309c6998374ae159f58a8d0fe9a1c24c36cebcb45b27d818e653b51a8ee1f01e30a9b2c46a548126ef", + "0xb5fccf4fc3186661939fbee2e89c2aa0e3a6ad4907bcc98c7750520540c4c183b1bbfcdf47f2f1c5e75c3a30cdf30c75", + "0xa90028e39081b736e628c2230cc1338f9210ed01309a40fdf08d39c10cced2cdf71271013bea6dba3a0444fe47963106", + "0xa0815cbb325a8fecf2e1bcc5046644be32d43a8001bd5d8cf0022e4572cd0d481b3e717002f7ab21e16da5f5d16886d6", + "0xb2024787fcda52abc4138150f15e81f4a5be442929b1651ddccbfd558029912be4d61c3c9b467605fff640edf7392494", + "0xab5aa60032304a584cc9245a33f528eae7157808dedd1ad83ebae00aadc25dbe1cd5917eb8b6b2c800df15e67bdd4c4d", + "0x866643847ef512c5119f2f6e4e3b8d3f4abb885f530bb16fcef0edb698a5b0768905e51536283925b6795a5e68b60ddc", + "0x806aa99c9a46ee11cc3ebf0db2344b7515db8c45b09a46a85f8b2082940a6f7263f3c9b12214116c88310e706f8e973a", + "0xa6eada8b9ff3cd010f3174f3d894eb8bb19efdbff4c6d88976514a5b9968b0f1827d8ac4fe510fb0ba92b64583734a1e", + "0x98480db817c3abbc8b7baedf9bf5674ec4afcfd0cd0fd670363510a426dad1bcf1b1cb3bf0f1860e54530deb99460291", + "0x81ab480187af4a3dfbc87be29eca39b342a7e8e1d1df3fc61985e0e43d8d116b8eac2f1021bde4ae4e5e3606c1b67a21", + "0x8a37df12dc997bf9b800f8fd581a614a1d5e32b843f067d63d1ca7fde2e229d24413d3a8308ec1e8389bf88154adb517", + "0xb045a55ca0bb505bd5e8fcc4cfdd5e9af1a7d5fe7a797c7ede3f0b09712b37f493d3fcf6ef0e759d7e0157db1f583c95", + "0xad502e53a50691238323642e1d8b519b3c2c2f0fd6a0dd29de231f453be730cf1adc672887d97df42af0a300f7631087", + "0x80597648f10c6d8fcd7421caf4e7f126179633078a1724817d2adc41b783723f302eabc947a7ba7767166dacf4ce8fa1", + "0xaefb56427966c81081999dffbe89f8a0c402041929cd4e83d6612866cfbb97744f4ab802578349fbecc641fa9955e81b", + "0xa340e493fb3fb604eab864d4b18a6e40ba657003f1f88787e88e48b995da3d0ab4926ce438bdc8d100a41912a47dace0", + "0xa6d777bfc0895eac541a092e14499ff8bf7156689d916a678b50a1460583b38e68158984bea113a0a8e970d8a6799a85", + "0x90ce469410f0e8cfff40472817eb445770833cdcf2895a69bc32bcf959854d41712599ceb2b0422008d7300b05e62e02", + "0x815c51be91d8516d5adc2fd61b6600957ed07cf5fdc809aa652b059bea8ed179638a19077a3f040334032f0e7900ac8b", + "0xb3ec6c0c3c007c49c6b7f7fc2ffd3d3a41cdff5ad3ac40831f53bfc0c799ffeed5f440a27acc5f64432e847cc17dd82e", + "0x823637abeab5fb19e4810b045254558d98828126e9a2d5895a34b9e4b4f49ab0a5b3ee2422f1f378995ea05df5516057", + "0xac05412bcf46c254f6548d8107a63928bba19ab6889de5d331eb68cf4d8ce206055b83af4cb7c6c23b50188391e93f84", + "0x88514163c587068178302bc56e9a8b3ad2fa62afd405db92f2478bb730101358c99c0fe40020eeed818c4e251007de9c", + "0xb1e657d0f7772795b3f5a84317b889e8ded7a08ea5beb2ab437bebf56bcb508ae7215742819ed1e4ae3969995fe3b35d", + "0xa727d4f03027fe858656ca5c51240a65924915bd8bd7ffa3cfc8314a03594738234df717e78bb55a7add61a0a4501836", + "0xb601682830fc4d48ece2bdc9f1a1d5b9a2879c40c46135f00c2c3ae1187c821412f0f0cfbc83d4e144ddd7b702ca8e78", + "0xb5cfea436aa1f29c4446979272a8637cb277f282825674ddb3acac2c280662fb119e6b2bdd52c4b8dbf2c39b1d2070d6", + "0x85c211645ff746669f60aa314093703b9045966604c6aa75aae28422621b256c0c2be835b87e87a00d3f144e8ab7b5f0", + "0x867628d25bab4cb85d448fd50fdd117be1decdd57292e194a8baa0655978fae551912851660a1d5b9de7a2afbb88ef5c", + "0xa4e79c55d1b13c959ff93ddcf1747722c6312a7941a3b49f79006b3165334bab369e5469f1bddebadb12bfaff53806d5", + "0xac61f0973e84546487c5da7991209526c380e3731925b93228d93a93bce1283a3e0807152354f5fe7f3ea44fc447f8fe", + "0xa1aa676735a73a671a4e10de2078fd2725660052aa344ca2eb4d56ee0fd04552fe9873ee14a85b09c55708443182183a", + "0x8e2f13269f0a264ef2b772d24425bef5b9aa7ea5bbfbefbcc5fd2a5efd4927641c3d2374d0548439a9f6302d7e4ba149", + "0xb0aacdaf27548d4f9de6e1ec3ad80e196761e3fb07c440909524a83880d78c93465aea13040e99de0e60340e5a5503cd", + "0xa41b25ae64f66de4726013538411d0ac10fdb974420352f2adb6ce2dcad7b762fd7982c8062a9bac85cdfcc4b577fd18", + "0xb32d87d5d551f93a16ec983fd4ef9c0efcdae4f5e242ce558e77bcde8e472a0df666875af0aeec1a7c10daebebab76ea", + "0xb8515795775856e25899e487bf4e5c2b49e04b7fbe40cb3b5c25378bcccde11971da280e8b7ba44d72b8436e2066e20f", + "0x91769a608c9a32f39ca9d14d5451e10071de2fd6b0baec9a541c8fad22da75ed4946e7f8b081f79cc2a67bd2452066a9", + "0x87b1e6dbca2b9dbc8ce67fd2f54ffe96dfcce9609210a674a4cb47dd71a8d95a5a24191d87ba4effa4a84d7db51f9ba0", + "0xa95accf3dbcbf3798bab280cabe46e3e3688c5db29944dbe8f9bd8559d70352b0cfac023852adc67c73ce203cbb00a81", + "0xa835f8ce7a8aa772c3d7cfe35971c33fc36aa3333b8fae5225787533a1e4839a36c84c0949410bb6aace6d4085588b1e", + "0x8ef7faa2cf93889e7a291713ab39b3a20875576a34a8072a133fed01046f8093ace6b858463e1e8a7f923d57e4e1bc38", + "0x969ecd85643a16d937f148e15fb56c9550aefd68a638425de5058333e8c0f94b1df338eaab1bd683190bfde68460622b", + "0x8982f4c76b782b9b47a9c5aeb135278e5c991b1558e47b79328c4fae4b30b2b20c01204ff1afb62b7797879d9dee48e2", + "0xb5098b7ba813178ced68f873c8c223e23a3283d9f1a061c95b68f37310bca4b2934a3a725fff1de1341c79bb3ba6007e", + "0x97b160787009f7b9649ed63db9387d48a669e17b2aba8656792eb4f5685bb8e6386f275476b4dfbb1b4cb0c2a69bc752", + "0x88b69369c71daad6b84fa51a0f64a6962d8c77e555b13c035ad6fa1038e7190af455b1bd61ae328b65d6a14cf3d5f0d5", + "0xaf88b87801361f0de26bd2533554ee6f4d8067e3122b54161c313c52cc9eafea00661c5c43e2d533485d1f26da4e5510", + "0x98ab18e3bbcb23ac1e34439849e56009bb765ab2f2558ebfd0a57cbe742169f114bceb930533fb911b22cb5a8fe172bc", + "0x9027507f1725d81e5ac0f0854c89ab627df3020fe928cb8745f887bf3310086c58fca1119fd5cd18a7d3561c042d58de", + "0xa676583f8a26e6f8991a0791916ce785b596ce372812f5eb7b4243ba9367ea95c797170fdac5b0c5e6b7f6519cc2b026", + "0xb91b0ab32638aef3365035a41c6068e36d2303bfee8640565e16c9a56c21703270fd45946ce663238a72c053eb3f2230", + "0xaaf4cd1ac0a30906dcd2b66b37848c6cc443da511e0b0367fd792887fdaf1500551590440e61d837dbee9d24c9801108", + "0xa06f20a02d3cd76029baad5a12592f181738378a83a95e90470fa7cc82a5ae9d2ed824a20eeb1e96e6edc0619f298688", + "0xa465d379c3481b294efc3f2f940b651c45579607cf72d143b99705eae42103a0279eb3595966453130e18935265e35d6", + "0x892a8af7816a806295278027a956663ea1297118ede0f2a7e670483b81fb14dccacc7a652e12f160e531d806ca5f2861", + "0xb480917c0e8b6e00de11b4416a20af6c48a343450a32ee43224559d30e1fecdece52cc699493e1754c0571b84f6c02c2", + "0xb3182da84c81e5a52e22cebed985b0efc3056350ec59e8646e7fd984cdb32e6ac14e76609d0ffaca204a7a3c20e9f95d", + "0xa04ea6392f3b5a176fa797ddec3214946962b84a8f729ffbd01ca65767ff6237da8147fc9dc7dd88662ad0faefdb538c", + "0x95c0d10a9ba2b0eb1fd7aa60c743b6cf333bb7f3d7adedce055d6cd35b755d326bf9102afabb1634f209d8dacfd47f1a", + "0xa1a583d28b07601541fa666767f4f45c954431f8f3cc3f96380364c5044ff9f64114160e5002fb2bbc20812b8cbd36cb", + "0xa1a0708af5034545e8fcc771f41e14dff421eed08b4606f6d051f2d7799efd00d3a59a1b9a811fa4eddf5682e63102ea", + "0xab27c7f54096483dd85c866cfb347166abe179dc5ffaca0c29cf3bfe5166864c7fa5f954c919b3ba00bdbab38e03407d", + "0xac8c82271c8ca71125b380ed6c61b326c1cfe5664ccd7f52820e11f2bea334b6f60b1cf1d31599ed94d8218aa6fbf546", + "0xa015ea84237d6aa2adb677ce1ff8a137ef48b460afaca20ae826a53d7e731320ebdd9ee836de7d812178bec010dd6799", + "0x925418cda78a56c5b15d0f2dc66f720bda2885f15ffafb02ce9c9eed7167e68c04ad6ae5aa09c8c1c2f387aa39ad6d1b", + "0x87c00bba80a965b3742deacafb269ca94ead4eb57fdb3ed28e776b1d0989e1b1dba289019cfb1a0f849e58668a4f1552", + "0x948d492db131ca194f4e6f9ae1ea6ebc46ebbed5d11f1f305d3d90d6b4995b1218b9606d114f48282a15661a8a8051ca", + "0x8179617d64306417d6865add8b7be8452f1759721f97d737ef8a3c90da6551034049af781b6686b2ea99f87d376bce64", + "0x918e3da425b7c41e195ed7b726fa26b15a64299fe12a3c22f51a2a257e847611ac6cfcc99294317523fc491e1cbe60c4", + "0xa339682a37844d15ca37f753599d0a71eedfbbf7b241f231dd93e5d349c6f7130e0d0b97e6abd2d894f8b701da37cb11", + "0x8fc284f37bee79067f473bc8b6de4258930a21c28ac54aaf00b36f5ac28230474250f3aa6a703b6057f7fb79a203c2c1", + "0xa2c474e3a52a48cd1928e755f610fefa52d557eb67974d02287dbb935c4b9aab7227a325424fed65f8f6d556d8a46812", + "0x99b88390fa856aa1b8e615a53f19c83e083f9b50705d8a15922e7c3e8216f808a4cc80744ca12506b1661d31d8d962e4", + "0xa1cbd03e4d4f58fc4d48fa165d824b77838c224765f35d976d3107d44a6cf41e13f661f0e86f87589292721f4de703fb", + "0xb3a5dde8a40e55d8d5532beaa5f734ee8e91eafad3696df92399ae10793a8a10319b6dc53495edcc9b5cfd50a389a086", + "0x996e25e1df5c2203647b9a1744bd1b1811857f742aee0801508457a3575666fcc8fc0c047c2b4341d4b507008cd674c2", + "0x93e0a66039e74e324ee6c38809b3608507c492ef752202fff0b2c0e1261ca28f1790b3af4fdb236f0ed7e963e05c1ec0", + "0xb6084e5818d2d860ac1606d3858329fbad4708f79d51a6f072dc370a21fdb1e1b207b74bc265a8547658bfb6a9569bb3", + "0xa5336126a99c0ecfc890584b2a167922a26cae652dfc96a96ab2faf0bf9842f166b39ceaf396cd3d300d0ebb2e6e0ebf", + "0xb8b6f13ce9201decaba76d4eca9b9fa2e7445f9bc7dc9f82c262f49b15a40d45d5335819b71ff2ee40465da47d015c47", + "0xb45df257b40c68b7916b768092e91c72b37d3ed2a44b09bf23102a4f33348849026cb3f9fbb484adfea149e2d2a180ff", + "0xa50d38ee017e28021229c4bb7d83dd9cdad27ab3aa38980b2423b96aa3f7dc618e3b23895b0e1379ca20299ff1919bbf", + "0x97542cf600d34e4fdc07d074e8054e950708284ed99c96c7f15496937242365c66e323b0e09c49c9c38113096640a1b6", + "0x822d198629697dcd663be9c95ff1b39419eae2463fa7e6d996b2c009d746bedc8333be241850153d16c5276749c10b20", + "0x9217bc14974766ebdfbf6b434dd84b32b04658c8d8d3c31b5ff04199795d1cfad583782fd0c7438df865b81b2f116f9c", + "0x93477879fa28a89471a2c65ef6e253f30911da44260833dd51030b7a2130a923770ebd60b9120f551ab373f7d9ed80aa", + "0x87d89ff7373f795a3a798f03e58a0f0f0e7deab8db2802863fab84a7be64ae4dcf82ece18c4ddbefccd356262c2e8176", + "0xa3ba26bd31d3cc53ceeced422eb9a63c0383cde9476b5f1902b7fe2b19e0bbf420a2172ac5c8c24f1f5c466eecc615d4", + "0xa0fe061c76c90d84bd4353e52e1ef4b0561919769dbabe1679b08ef6c98dcfb6258f122bb440993d976c0ab38854386b", + "0xb3070aa470185cb574b3af6c94b4069068b89bb9f7ea7db0a668df0b5e6aabdfe784581f13f0cf35cd4c67726f139a8c", + "0x9365e4cdf25e116cbc4a55de89d609bba0eaf0df2a078e624765509f8f5a862e5da41b81883df086a0e5005ce1576223", + "0xa9036081945e3072fa3b5f022df698a8f78e62ab1e9559c88f9c54e00bc091a547467d5e2c7cbf6bc7396acb96dd2c46", + "0x8309890959fcc2a4b3d7232f9062ee51ece20c7e631a00ec151d6b4d5dfccf14c805ce5f9aa569d74fb13ae25f9a6bbe", + "0xb1dc43f07303634157f78e213c2fae99435661cc56a24be536ccbd345ef666798b3ac53c438209b47eb62b91d6fea90a", + "0x84eb451e0a74ef14a2c2266ff01bd33d9a91163c71f89d0a9c0b8edfcfe918fc549565509cd96eed5720a438ff55f7f2", + "0x9863b85a10db32c4317b19cc9245492b9389b318cf128d9bbc7ec80a694fcbbd3c0d3189a8cad00cc9290e67e5b361ee", + "0x8a150ee474ebe48bdfcac1b29e46ac90dcded8abbe4807a165214e66f780f424be367df5ef1e94b09acf4a00cd2e614d", + "0xa6677a373130b83e30849af12475e192f817ba4f3226529a9cca8baaefb8811db376e4a044b42bf1481268c249b1a66e", + "0xb969cbf444c1297aa50d1dfa0894de4565161cb1fc59ba03af9655c5bf94775006fe8659d3445b546538a22a43be6b93", + "0x8383167e5275e0707e391645dc9dea9e8a19640ecfa23387f7f6fcaddff5cde0b4090dfad7af3c36f8d5c7705568e8d8", + "0xa353ddbc6b6837773e49bb1e33a3e00ca2fb5f7e1dba3a004b0de75f94a4e90860d082a455968851ef050ae5904452e0", + "0xadeccf320d7d2831b495479b4db4aa0e25c5f3574f65a978c112e9981b2663f59de4c2fa88974fdcabb2eedb7adab452", + "0xafa0eacc9fdbe27fb5e640ecad7ecc785df0daf00fc1325af716af61786719dd7f2d9e085a71d8dc059e54fd68a41f24", + "0xa5b803a5bbe0ca77c8b95e1e7bacfd22feae9f053270a191b4fd9bca850ef21a2d4bd9bcd50ecfb971bb458ff2354840", + "0xb023c9c95613d9692a301ef33176b655ba11769a364b787f02b42ceb72338642655ea7a3a55a3eec6e1e3b652c3a179e", + "0x8fa616aa7196fc2402f23a19e54620d4cf4cf48e1adfb7ea1f3711c69705481ddcc4c97236d47a92e974984d124589e5", + "0xa49e11e30cb81cb7617935e8a30110b8d241b67df2d603e5acc66af53702cf1e9c3ef4a9b777be49a9f0f576c65dcc30", + "0x8df70b0f19381752fe327c81cce15192389e695586050f26344f56e451df2be0b1cdf7ec0cba7ce5b911dcff2b9325ae", + "0x8fbbc21a59d5f5a14ff455ca78a9a393cab91deb61cf1c25117db2714d752e0054ed3e7e13dd36ad423815344140f443", + "0xa9a03285488668ab97836a713c6e608986c571d6a6c21e1adbd99ae4009b3dde43721a705d751f1bd4ebf1ea7511dfed", + "0xb2f32b8e19e296e8402251df67bae6066aeefd89047586d887ffa2eacdf38e83d4f9dc32e553799024c7a41818945755", + "0x942cf596b2278ad478be5c0ab6a2ad0ceafe110263cc93d15b9a3f420932104e462cf37586c374f10b1040cb83b862e0", + "0xaaa077a55f501c875ceae0a27ef2b180be9de660ef3d6b2132eb17256771ce609d9bc8aaf687f2b56ae46af34ad12b30", + "0x90ac74885be1448101cf3b957d4486e379673328a006ea42715c39916e9334ea77117ff4a60d858e2ccce9694547a14f", + "0x9256cdfc2339e89db56fd04bd9b0611be0eefc5ee30711bcece4aadf2efcc5a6dcc0cfd5f733e0e307e3a58055dff612", + "0xa4c7384e208a0863f4c056248f595473dcde70f019ddaede45b8caf0752575c241bac6e436439f380ac88eee23a858e9", + "0xa3aa67391781e0736dddc389f86b430b2fc293b7bd56bfd5a8ec01d1dd52ed940593c3ad4ce25905061936da062b0af6", + "0x80299275ec322fbb66cc7dce4482ddd846534e92121186b6906c9a5d5834346b7de75909b22b98d73120caec964e7012", + "0xaa3a6cd88e5f98a12738b6688f54478815e26778357bcc2bc9f2648db408d6076ef73cced92a0a6b8b486453c9379f18", + "0xb07c444681dc87b08a7d7c86708b82e82f8f2dbd4001986027b82cfbed17b9043e1104ade612e8e7993a00a4f8128c93", + "0xaf40e01b68d908ac2a55dca9b07bb46378c969839c6c822d298a01bc91540ea7a0c07720a098be9a3cfe9c27918e80e8", + "0xabd8947c3bbc3883c80d8c873f8e2dc9b878cbbb4fc4a753a68f5027de6d8c26aa8fbbafeb85519ac94e2db660f31f26", + "0xa234f9d1a8f0cb5d017ccca30b591c95ec416c1cb906bd3e71b13627f27960f61f41ed603ffbcf043fd79974ec3169a8", + "0x835aaf52a6af2bc7da4cf1586c1a27c72ad9de03c88922ad172dce7550d70f6f3efcc3820d38cd56ae3f7fc2f901f7a0", + "0xae75db982a45ad01f4aa7bc50d642ff188219652bb8d521d13a9877049425d57852f3c9e4d340ffec12a4d0c639e7062", + "0xb88884aa9187c33dc784a96832c86a44d24e9ffe6315544d47fc25428f11337b9ffd56eb0a03ad709d1bf86175059096", + "0x8492ca5afcc6c0187b06453f01ed45fd57eb56facbeea30c93686b9e1dab8eaabd89e0ccb24b5f35d3d19cd7a58b5338", + "0x9350623b6e1592b7ea31b1349724114512c3cce1e5459cd5bddd3d0a9b2accc64ab2bf67a71382d81190c3ab7466ba08", + "0x98e8bf9bed6ae33b7c7e0e49fc43de135bffdba12b5dcb9ff38cb2d2a5368bb570fe7ee8e7fbe68220084d1d3505d5be", + "0xab56144393f55f4c6f80c67e0ab68f445568d68b5aa0118c0c666664a43ba6307ee6508ba0bb5eb17664817bc9749af0", + "0x827d5717a41b8592cfd1b796a30d6b2c3ca2cdc92455f9f4294b051c4c97b7ad6373f692ddafda67884102e6c2a16113", + "0x8445ce2bb81598067edaa2a9e356eda42fb6dc5dd936ccf3d1ff847139e6020310d43d0fec1fe70296e8f9e41a40eb20", + "0x9405178d965ee51e8d76d29101933837a85710961bb61f743d563ef17263f3c2e161d57e133afac209cdb5c46b105e31", + "0xb209f9ed324c0daa68f79800c0a1338bbaf6d37b539871cb7570f2c235caca238a2c4407961fcb7471a103545495ef2c", + "0x92ae6437af6bbd97e729b82f5b0d8fb081ca822f340e20fae1875bdc65694cd9b8c037a5a1d49aa9cae3d33f5bad414e", + "0x9445bdb666eae03449a38e00851629e29a7415c8274e93343dc0020f439a5df0009cd3c4f5b9ce5c0f79aefa53ceac99", + "0x93fdab5f9f792eada28f75e9ac6042a2c7f3142ba416bfdb1f90aa8461dbe4af524eee6db4f421cb70c7bc204684d043", + "0xa7f4dc949af4c3163953320898104a2b17161f7be5a5615da684f881633174fb0b712d0b7584b76302e811f3fac3c12f", + "0xa8ac84da817b3066ba9789bf2a566ccf84ab0a374210b8a215a9dcf493656a3fa0ecf07c4178920245fee0e46de7c3ec", + "0x8e6a0ae1273acda3aa50d07d293d580414110a63bc3fb6330bb2ee6f824aff0d8f42b7375a1a5ba85c05bfbe9da88cb5", + "0xa5dea98852bd6f51a84fa06e331ea73a08d9d220cda437f694ad9ad02cf10657882242e20bdf21acbbaa545047da4ce5", + "0xb13f410bf4cfce0827a5dfd1d6b5d8eabc60203b26f4c88238b8000f5b3aaf03242cdeadc2973b33109751da367069e1", + "0xa334315a9d61b692ad919b616df0aa75a9f73e4ea6fc27d216f48964e7daebd84b796418580cf97d4f08d4a4b51037cd", + "0x8901ba9e963fcd2f7e08179b6d19c7a3b8193b78ca0e5cf0175916de873ca0d000cd7ac678c0473be371e0ac132f35a2", + "0xb11a445433745f6cb14c9a65314bbf78b852f7b00786501b05d66092b871111cd7bee25f702d9e550d7dd91601620abb", + "0x8c2f7b8e7b906c71f2f154cc9f053e8394509c37c07b9d4f21b4495e80484fc5fc8ab4bdc525bd6cfa9518680ba0d1a2", + "0xb9733cebe92b43b899d3d1bfbf4b71d12f40d1853b2c98e36e635fdd8a0603ab03119890a67127e6bc79afae35b0bef2", + "0xa560f6692e88510d9ba940371e1ada344caf0c36440f492a3067ba38e9b7011caac37ba096a8a4accb1c8656d3c019b3", + "0xac18624339c1487b2626eef00d66b302bdb1526b6340d6847befe2fdfb2b410be5555f82939f8707f756db0e021ed398", + "0xafd9a3b8866a7fe4f7bc13470c0169b9705fcd3073685f5a6dcff3bdbbc2be50ac6d9908f9a10c5104b0bffc2bc14dad", + "0x97f15c92fe1f10949ed9def5dd238bc1429706e5037a0e0afb71c2d0e5845e2fed95a171c393e372077a7c7059f8c0e0", + "0x9453a1d4d09c309b70968ea527007d34df9c4cfd3048e5391aac5f9b64ca0c05dde5b8c949c481cfc83ef2e57b687595", + "0xb80e4b7c379ad435c91b20b3706253b763cbc980db78f782f955d2516af44c07bbfa5888cbf3a8439dc3907320feb25a", + "0x8939f458d28fefe45320b95d75b006e98330254056d063e4a2f20f04bcb25936024efe8d436d491ed34b482f9b9ae49c", + "0xa9ead2e833f71f7e574c766440c4b3c9c3363698c7ade14499a56003a272832ee6d99440887fa43ccdf80265b9d56b97", + "0xb6547a36934f05ce7b779e68049d61351cf229ae72dc211cc96a2a471b2724782f9355fdb415ea6f0ea1eb84fe00e785", + "0x828bfb3099b7b650b29b0f21279f829391f64520a6ab916d1056f647088f1e50fac9253ef7464eceab5380035c5a59c4", + "0x8d714b9ea650be4342ff06c0256189e85c5c125adf6c7aeca3dba9b21d5e01a28b688fc2116ce285a0714a8f1425c0b8", + "0x8a82eda041b2e72a3d73d70d85a568e035fbd6dc32559b6c6cfdf6f4edcb59a6ba85b6294a721aa0a71b07714e0b99ae", + "0xaf5665ebc83d027173b14ffb0e05af0a192b719177889fadc9ac8c082fda721e9a75d9ce3f5602dbfd516600ee3b6405", + "0xa68fdddf03d77bebdb676e40d93e59bd854408793df2935d0a5600601f7691b879981a398d02658c2da39dbbf61ef96c", + "0x8c001ebc84fcf0470b837a08a7b6125126b73a2762db47bbdc38c0e7992b1c66bac7a64faa1bf1020d1c63b40adc3082", + "0x8553889b49f9491109792db0a69347880a9cf2911b4f16f59f7f424e5e6b553687d51282e8f95be6a543635247e2e2c2", + "0xa2c269d6370b541daf1f23cc6b5d2b03a5fa0c7538d53ae500ef875952fe215e74a5010329ff41461f4c58b32ad97b3d", + "0xa5dae097285392b4eba83a9fd24baa03d42d0a157a37fae4b6efc3f45be86024b1182e4a6b6eadcf5efe37704c0a1ae5", + "0x89871a77d2032387d19369933cd50a26bda643e40cfd0ce73febe717a51b39fae981406fd41e50f4a837c02a99524ef9", + "0x8a76d495e90093ec2ac22f53759dc1cf36fbb8370fb586acbd3895c56a90bbf3796bcc4fc422ca4058adf337ead1402e", + "0xad4eb7576c4954d20623c1336c63662c2a6fb46ec6ef99b7f8e946aa47488dcb136eab60b35600f98c78c16c10c99013", + "0x894c2b120cec539feb1d281baaadde1e44beafedeeec29b804473fe024e25c1db652f151c956e88d9081fb39d27e0b19", + "0x9196bd5c100878792444c573d02b380a69e1b4b30cb59a48114852085058a5fd952df4afee3ecceb5c4ede21e1ed4a1a", + "0xa996fffc910764ea87a1eedc3a3d600e6e0ff70e6a999cb435c9b713a89600fc130d1850174efe9fc18244bb7c6c5936", + "0x8591bb8826befa8bee9663230d9a864a5068589f059e37b450e8c85e15ce9a1992f0ce1ead1d9829b452997727edcf9d", + "0x9465e20bb22c41bf1fa728be8e069e25cda3f7c243381ca9973cbedad0c7b07d3dd3e85719d77cf80b1058ce60e16d68", + "0x926b5ce39b6e60b94878ffeae9ff20178656c375fb9cfe160b82318ca500eb3e2e3144608b6c3f8d6c856b8fe1e2fbcf", + "0xa1ef29cbc83c45eb28ad468d0ce5d0fdd6b9d8191ba5ffa1a781c2b232ed23db6b7b04de06ef31763a6bfe377fa2f408", + "0x9328e63a3c8acf457c9f1f28b32d90d0eeadb0f650b5d43486a61d7374757a7ada5fc1def2a1e600fa255d8b3f48036f", + "0xa9c64880fcb7654f4dd08f4c90baac95712dd6dd407e17ea60606e9a97dc8e54dd25cb72a9bf3fc61f8d0ad569fe369d", + "0xa908eb7b940c1963f73046d6b35d40e09013bfbfbeb2ccd64df441867e202b0f3b625fa32dd04987c3d7851360abdffc", + "0xb3947b5ed6d59e59e4472cdb1c3261de1b5278fb7cb9b5fca553f328b3b3e094596861ea526eca02395f7b7358155b7b", + "0x99da7f190d37bc58945f981cf484d40fcf0855cf8178e2ce8d057c7f0a9d9f77425fdbce9ef8366f44f671b20fd27d0b", + "0x913976d77d80e3657977df39571577fdf0be68ba846883705b454f8493578baa741cfaede53783e2c97cc08964395d83", + "0x8d754a61e5164a80b5090c13f3e936056812d4ae8dc5cc649e6c7f37464777249bc4ae760a9806939131f39d92cca5bf", + "0x82ffd098480828a90cb221a8c28584e15904bad477c13b2e2d6ef0b96a861ce4a309a328fe44342365349456ad7c654f", + "0x89ae3ce4b0357044579ca17be85d8361bb1ce3941f87e82077dd67e43ec0f95edd4bd3426225c90994a81a99e79490b7", + "0xa170892074016d57c9d8e5a529379d7e08d2c1158b9ac4487ac9b95266c4fd51cb18ae768a2f74840137eec05000dd5a", + "0xaafd8acd1071103c7af8828a7a08076324d41ea530df90f7d98fafb19735fc27ead91b50c2ca45851545b41d589d0f77", + "0x8623c849e61d8f1696dc9752116a26c8503fd36e2cbbc9650feffdd3a083d8cdbb3b2a4e9743a84b9b2ad91ac33083f2", + "0xac7166ddd253bb22cdbd8f15b0933c001d1e8bc295e7c38dc1d2be30220e88e2155ecd2274e79848087c05e137e64d01", + "0xa5276b216d3df3273bbfa46210b63b84cfe1e599e9e5d87c4e2e9d58666ecf1af66cb7ae65caebbe74b6806677215bd0", + "0x88792f4aa3597bb0aebadb70f52ee8e9db0f7a9d74f398908024ddda4431221a7783e060e0a93bf1f6338af3d9b18f68", + "0x8f5fafff3ecb3aad94787d1b358ab7d232ded49b15b3636b585aa54212f97dc1d6d567c180682cca895d9876cacb7833", + "0xab7cb1337290842b33e936162c781aa1093565e1a5b618d1c4d87dd866daea5cebbcc486aaa93d8b8542a27d2f8694c7", + "0x88480a6827699da98642152ebc89941d54b4791fbc66110b7632fb57a5b7d7e79943c19a4b579177c6cf901769563f2f", + "0xa725ee6d201b3a610ede3459660658ee391803f770acc639cfc402d1667721089fb24e7598f00e49e81e50d9fd8c2423", + "0x98924372da8aca0f67c8c5cad30fa5324519b014fae7849001dcd51b6286118f12b6c49061219c37714e11142b4d46de", + "0xa62c27360221b1a7c99697010dfe1fb31ceb17d3291cf2172624ebeff090cbaa3c3b01ec89fe106dace61d934711d42d", + "0x825173c3080be62cfdc50256c3f06fe190bc5f190d0eb827d0af5b99d80936e284a4155b46c0d462ee574fe31d60983d", + "0xa28980b97023f9595fadf404ed4aa36898d404fe611c32fd66b70252f01618896f5f3fda71aea5595591176aabf0c619", + "0xa50f5f9def2114f6424ff298f3b128068438f40860c2b44e9a6666f43c438f1780be73cf3de884846f1ba67f9bef0802", + "0xb1eee2d730da715543aeb87f104aff6122cb2bf11de15d2519ff082671330a746445777924521ec98568635f26988d0c", + "0x862f6994a1ff4adfd9fb021925cccf542fca4d4b0b80fb794f97e1eb2964ef355608a98eec6e07aadd4b45ee625b2a21", + "0x8ce69a18df2f9b9f6e94a456a7d94842c61dea9b00892da7cf5c08144de9be39b8c304aeca8b2e4222f87ba367e61006", + "0xb5f325b1cecd435f5346b6bc562d92f264f1a6d91be41d612df012684fdd69e86063db077bc11ea4e22c5f2a13ae7bee", + "0x85526870a911127835446cb83db8986b12d5637d59e0f139ad6501ac949a397a6c73bd2e7fba731b1bb357efe068242c", + "0x8552247d3f7778697f77389717def5a149fc20f677914048e1ed41553b039b5427badc930491c0bae663e67668038fd1", + "0xa545640ee5e51f3fe5de7050e914cfe216202056cd9d642c90e89a166566f909ee575353cb43a331fde17f1c9021414e", + "0x8b51229b53cff887d4cab573ba32ec52668d197c084414a9ee5589b285481cea0c3604a50ec133105f661321c3ca50f5", + "0x8cdc0b960522bed284d5c88b1532142863d97bbb7dc344a846dc120397570f7bd507ceb15ed97964d6a80eccfef0f28e", + "0xa40683961b0812d9d53906e795e6470addc1f30d09affebf5d4fbbd21ddfa88ce441ca5ea99c33fd121405be3f7a3757", + "0xa527875eb2b99b4185998b5d4cf97dd0d4a937724b6ad170411fc8e2ec80f6cee2050f0dd2e6fee9a2b77252d98b9e64", + "0x84f3a75f477c4bc4574f16ebc21aaa32924c41ced435703c4bf07c9119dd2b6e066e0c276ff902069887793378f779e0", + "0xa3544bc22d1d0cab2d22d44ced8f7484bfe391b36991b87010394bfd5012f75d580596ffd4f42b00886749457bb6334b", + "0xb81f6eb26934b920285acc20ceef0220dd23081ba1b26e22b365d3165ce2fbae733bbc896bd0932f63dcc84f56428c68", + "0x95e94d40a4f41090185a77bf760915a90b6a3e3ace5e53f0cb08386d438d3aa3479f0cd81081b47a9b718698817265cd", + "0xb69bd1625b3d6c17fd1f87ac6e86efa0d0d8abb69f8355a08739109831baeec03fd3cd4c765b5ff8b1e449d33d050504", + "0x8448f4e4c043519d98552c2573b76eebf2483b82d32abb3e2bfc64a538e79e4f59c6ca92adff1e78b2f9d0a91f19e619", + "0x8f11c42d6a221d1fda50887fb68b15acdb46979ab21d909ed529bcad6ae10a66228ff521a54a42aca0dad6547a528233", + "0xa3adb18d7e4a882b13a067784cf80ea96a1d90f5edc61227d1f6e4da560c627688bdf6555d33fe54cab1bca242986871", + "0xa24d333d807a48dc851932ed21cbdd7e255bad2699909234f1706ba55dea4bb6b6f8812ffc0be206755868ba8a4af3f9", + "0xa322de66c22a606e189f7734dbb7fda5d75766d5e69ec04b4e1671d4477f5bcb9ff139ccc18879980ebc3b64ab4a2c49", + "0x88f54b6b410a1edbf125db738d46ee1a507e69bc5a8f2f443eb787b9aa7dbd6e55014ec1e946aabeb3e27a788914fb04", + "0xb32ee6da1dcd8d0a7fd7c1821bb1f1fe919c8922b4c1eeed56e5b068a5a6e68457c42b192cbaef5dc6d49b17fa45bc0f", + "0x8a44402da0b3a15c97b0f15db63e460506cb8bef56c457166aea5e8881087d8202724c539ef0feb97131919a73aefca8", + "0xb967e3fead6171fa1d19fd976535d428b501baff59e118050f9901a54b12cc8e4606348454c8f0fc25bd6644e0a5532e", + "0xb7a0c9e9371c3efbbb2c6783ce2cc5f149135175f25b6d79b09c808bce74139020e77f0c616fa6dcb3d87a378532529d", + "0xa54207782ffc909cd1bb685a3aafabbc4407cda362d7b3c1b14608b6427e1696817aeb4f3f85304ac36e86d3d8caa65b", + "0x98c1da056813a7bfebc81d8db7206e3ef9b51f147d9948c088976755826cc5123c239ca5e3fe59bed18b5d0a982f3c3f", + "0xae1c86174dfafa9c9546b17b8201719aecd359f5bbeb1900475041f2d5b8a9600d54d0000c43dd061cfda390585726ff", + "0xa8ee5a8be0bd1372a35675c87bfd64221c6696dc16e2d5e0996e481fec5cdbcb222df466c24740331d60f0521285f7d3", + "0x8ddadbe3cf13af50d556ce8fc0dd77971ac83fad9985c3d089b1b02d1e3afc330628635a31707b32595626798ea22d45", + "0xa5c80254baf8a1628dc77c2445ebe21fbda0de09dd458f603e6a9851071b2b7438fe74214df293dfa242c715d4375c95", + "0xb9d83227ed2600a55cb74a7052003a317a85ca4bea50aa3e0570f4982b6fe678e464cc5156be1bd5e7bba722f95e92c5", + "0xb56085f9f3a72bea9aa3a8dc143a96dd78513fa327b4b9ba26d475c088116cab13843c2bff80996bf3b43d3e2bddb1d6", + "0x8fa9b39558c69a9757f1e7bc3f07295e4a433da3e6dd8c0282397d26f64c1ecd8eb3ba9824a7cacfb87496ebbb45d962", + "0x879c6d0cb675812ed9dee68c3479a499f088068501e2677caeae035e6f538da91a49e245f5fcce135066169649872bee", + "0x91aa9fd3fed0c2a23d1edda8a6542188aeb8abee8772818769bdee4b512d431e4625a343af5d59767c468779222cf234", + "0xa6be0bb2348c35c4143482c7ef6da9a93a5356f8545e8e9d791d6c08ed55f14d790d21ee61d3a56a2ae7f888a8fd46ca", + "0x808ee396a94e1b8755f2b13a6ffbedef9e0369e6c2e53627c9f60130c137299d0e4924d8ef367e0a7fad7f68a8c9193c", + "0xad1086028fcdac94d5f1e7629071e7e47e30ad0190ae59aaebfb7a7ef6202ab91323a503c527e3226a23d7937af41a52", + "0x9102bdaf79b907d1b25b2ec6b497e2d301c8eac305e848c6276b392f0ad734131a39cc02ed42989a53ca8da3d6839172", + "0x8c976c48a45b6bc7cd7a7acea3c2d7c5f43042863b0661d5cd8763e8b50730552187a8eecf6b3d17be89110208808e77", + "0xa2624c7e917e8297faa3af89b701953006bf02b7c95dfba00c9f3de77748bc0b13d6e15bb8d01377f4d98fb189538142", + "0xa405f1e66783cdcfe20081bce34623ec3660950222d50b7255f8b3cc5d4369aeb366e265e5224c0204911539f0fa165e", + "0x8d69bdcaa5d883b5636ac8f8842026fcc58c5e2b71b7349844a3f5d6fbecf44443ef4f768eac376f57fb763606e92c9f", + "0x82fce0643017d16ec1c3543db95fb57bfa4855cc325f186d109539fcacf8ea15539be7c4855594d4f6dc628f5ad8a7b0", + "0x8860e6ff58b3e8f9ae294ff2487f0d3ffae4cf54fd3e69931662dabc8efd5b237b26b3def3bcd4042869d5087d22afcf", + "0x88c80c442251e11c558771f0484f56dc0ed1b7340757893a49acbf96006aa73dfc3668208abea6f65375611278afb02a", + "0x8be3d18c6b4aa8e56fcd74a2aacb76f80b518a360814f71edb9ccf3d144bfd247c03f77500f728a62fca7a2e45e504c5", + "0x8b8ebf0df95c3f9b1c9b80469dc0d323784fd4a53f5c5357bb3f250a135f4619498af5700fe54ad08744576588b3dfff", + "0xa8d88abdaadd9c2a66bc8db3072032f63ed8f928d64fdb5f810a65074efc7e830d56e0e738175579f6660738b92d0c65", + "0xa0a10b5d1a525eb846b36357983c6b816b8c387d3890af62efb20f50b1cb6dd69549bbef14dab939f1213118a1ae8ec2", + "0x8aadf9b895aeb8fdc9987daa937e25d6964cbd5ec5d176f5cdf2f0c73f6f145f0f9759e7560ab740bf623a3279736c37", + "0x99aeda8a495031cc5bdf9b842a4d7647c55004576a0edc0bd9b985d60182608361ed5459a9d4b21aa8e2bd353d10a086", + "0x832c8b3bfcd6e68eee4b100d58014522de9d4cefa99498bc06c6dca83741e4572e20778e0d846884b33439f160932bca", + "0x841f56ebefc0823ab484fc445d62f914e13957e47904419e42771aa605e33ab16c44f781f6f9aa42e3a1baf377f54b42", + "0xa6e40271d419e295a182725d3a9b541ffd343f23e37549c51ecaa20d13cf0c8d282d6d15b24def5702bfee8ba10b12ac", + "0x8ac00925ac6187a4c5cde48ea2a4eaf99a607e58b2c617ee6f01df30d03fafada2f0469178dd960d9d64cbd33a0087d8", + "0xb6b80916b540f8a0fe4f23b1a06e2b830008ad138271d5ba3cd16d6619e521fe2a7623c16c41cba48950793386eea942", + "0x8412c0857b96a650e73af9d93087d4109dd092ddf82188e514f18fcac644f44d4d62550bfa63947f2d574a2e9d995bbb", + "0xb871395baa28b857e992a28ac7f6d95ec461934b120a688a387e78498eb26a15913b0228488c3e2360391c6b7260b504", + "0x926e2d25c58c679be77d0e27ec3b580645956ba6f13adcbc2ea548ee1b7925c61fcf74c582337a3b999e5427b3f752f2", + "0xa165fa43fecae9b913d5dcfc232568e3e7b8b320ce96b13800035d52844c38fd5dbf7c4d564241d860c023049de4bcbc", + "0xb4976d7572fd9cc0ee3f24888634433f725230a7a2159405946a79315bc19e2fc371448c1c9d52bf91539fd1fe39574b", + "0xa6b461eb72e07a9e859b9e16dfa5907f4ac92a5a7ca4368b518e4a508dc43f9b4be59db6849739f3ef4c44967b63b103", + "0xb976606d3089345d0bc501a43525d9dca59cf0b25b50dfc8a61c5bd30fac2467331f0638fab2dc68838aa6ee8d2b6bc9", + "0xb16ea61c855da96e180abf7647fa4d9dd6fd90adebadb4c5ed4d7cd24737e500212628fca69615d89cb40e9826e5a214", + "0x95a3e3162eb5ea27a613f8c188f2e0dcc5cbd5b68c239858b989b004d87113e6aa3209fa9fad0ee6ecef42814ba9db1a", + "0xb6a026ab56d3224220e5bce8275d023c8d39d1bdf7eec3b0923429b7d5ef18cf613a3591d364be8727bb1fa0ba11eabb", + "0x949f117e2e141e25972ee9ccdd0b7a21150de7bbf92bbd89624a0c5f5a88da7b2b172ba2e9e94e1768081f260c2a2f8d", + "0xb7c5e9e6630287d2a20a2dfb783ffe6a6ff104ff627c6e4e4342acc2f3eb6e60e9c22f465f8a8dc58c42f49840eca435", + "0x872be5a75c3b85de21447bb06ac9eb610f3a80759f516a2f99304930ddf921f34cbffc7727989cdd7181d5fc62483954", + "0xa50976ea5297d797d220932856afdd214d1248230c9dcd840469ecc28ea9f305b6d7b38339fedb0c00b5251d77af8c95", + "0x80b360f8b44914ff6f0ffbd8b5360e3cabe08639f6fe06d0c1526b1fe9fe9f18c497f1752580b30e950abd3e538ad416", + "0xa2f98f9bf7fac78c9da6bb41de267742a9d31cf5a04b2fb74f551084ec329b376f651a59e1ae919b2928286fb566e495", + "0x8b9d218a8a6c150631548e7f24bbd43f132431ae275c2b72676abbea752f554789c5ff4aac5c0eeee5529af7f2b509ef", + "0xaa21a243b07e9c7b169598bf0b102c3c280861780f83121b2ef543b780d47aaa4b1850430ee7927f33ece9847c4e0e1a", + "0x8a6f90f4ce58c8aa5d3656fe4e05acccf07a6ec188a5f3cde7bf59a8ae468e66f055ac6dfc50b6e8e98f2490d8deedc5", + "0x8e39f77ca4b5149ffe9945ceac35d068760ba338d469d57c14f626dd8c96dbe993dd7011beff727c32117298c95ee854", + "0x83bd641c76504222880183edd42267e0582642c4993fe2c7a20ce7168e4c3cbf7586e1d2d4b08c84d9b0bf2f6b8800b8", + "0xa9d332993cf0c1c55130e5cf3a478eb5e0bfb49c25c07538accc692ef03d82b458750a7b991cc0b41b813d361a5d31e3", + "0xa0fc60e6a6015df9bee04cea8f20f01d02b14b6f7aa03123ab8d65da071b2d0df5012c2a69e7290baae6ed6dd29ebe07", + "0xa2949dde2e48788ceaac7ec7243f287ffe7c3e788cdba97a4ab0772202aeef2d50382bed8bf7eff5478243f7eabe0bda", + "0xa7879373ea18572dba6cf29868ca955ffa55b8af627f29862f6487ee398b81fe3771d8721ca8e06716c5d91b9ac587cb", + "0xb3c7081e2c5306303524fbe9fe5645111a57dffd4ec25b7384da12e56376a0150ab52f9d9cc6ca7bdd950695e39b766d", + "0xa634a6a19d52dcb9f823352b36c345d2de54b75197bcd90528d27830bd6606d1a9971170de0849ed5010afa9f031d5be", + "0x88f2062f405fa181cfdb8475eaf52906587382c666ca09a9522537cfebbc7de8337be12a7fd0db6d6f2f7ab5aefab892", + "0xb1f0058c1f273191247b98783b2a6f5aa716cf799a8370627fc3456683f03a624d0523b63a154fe9243c0dfd5b37c460", + "0xae39a227cc05852437d87be6a446782c3d7fbe6282e25cf57b6b6e12b189bdc0d4a6e2c3a60b3979256b6b5baf8f1c5f", + "0x802a1af228ab0c053b940e695e7ef3338f5be7acf4e5ed01ac8498e55b492d3a9f07996b1700a84e22f0b589638909cd", + "0xa36490832f20e4b2f9e79ee358b66d413f034d6a387534b264cdeac2bca96e8b5bcbdd28d1e98c44498032a8e63d94d2", + "0x8728c9a87db2d006855cb304bba54c3c704bf8f1228ae53a8da66ca93b2dac7e980a2a74f402f22b9bc40cd726e9c438", + "0xa08f08ab0c0a1340e53b3592635e256d0025c4700559939aeb9010ed63f7047c8021b4210088f3605f5c14fb51d1c613", + "0x9670fd7e2d90f241e8e05f9f0b475aa260a5fb99aa1c9e61cd023cbad8ed1270ae912f168e1170e62a0f6d319cf45f49", + "0xa35e60f2dd04f098bf274d2999c3447730fe3e54a8aff703bc5a3c274d22f97db4104d61a37417d93d52276b27ef8f31", + "0x859df7a21bc35daec5695201bd69333dc4f0f9e4328f2b75a223e6615b22b29d63b44d338413ca97eb74f15563628cb7", + "0xb2b44ad3e93bc076548acdf2477803203108b89ecc1d0a19c3fb9814d6b342afc420c20f75e9c2188ad75fdb0d34bb2d", + "0x941173ee2c87765d10758746d103b667b1227301e1bcfecef2f38f9ab612496a9abd3050cef5537bf28cfecd2aacc449", + "0x92b0bea30ebed20ac30648efb37bac2b865daaa514316e6f5470e1de6cb84651ff77c127aa7beed4521bda5e8fc81122", + "0xaf17bf813bb238cf8bb437433f816786612209180a6c0a1d5141292dc2d2c37164ef13bfc50c718bfcc6ce26369298a2", + "0x8461fd951bdfda099318e05cc6f75698784b033f15a71bce26165f0ce421fd632d50df9eeced474838c0050b596e672c", + "0x83281aa18ae4b01e8201e1f64248cc6444c92ee846ae72adb178cef356531558597d84ff93a05abf76bfe313eb7dbe86", + "0xb62b150f73999c341daa4d2f7328d2f6ca1ef3b549e01df58182e42927537fc7971c360fe8264af724f4c0247850ef12", + "0xa7022a201f79c012f982b574c714d813064838a04f56964d1186691413757befeeaada063e7884297606e0eea1b1ed43", + "0xa42ac9e8be88e143853fd8e6a9ff21a0461801f0ac76b69cca669597f9af17ecb62cccdcdcbe7f19b62ab93d7f838406", + "0x80f1ca73b6ba3a2fbae6b79b39c0be8c39df81862d46c4990c87cbf45b87996db7859d833abc20af2fcb4faf059c436a", + "0xb355943e04132d5521d7bbe49aea26f6aa1c32f5d0853e77cc2400595325e923a82e0ff7601d1aee79f45fd8a254f6ae", + "0x87142c891d93e539b31d0b5ead9ea600b9c84db9be9369ff150a8312fe3d10513f4c5b4d483a82b42bc65c45dd9dd3bd", + "0x823c3d7f6dda98a9d8c42b3fee28d3154a95451402accadb6cf75fc45d2653c46a569be75a433094fa9e09c0d5cf1c90", + "0xb3c3497fe7356525c1336435976e79ec59c5624c2fb6185ee09ca0510d58b1e392965e25df8a74d90d464c4e8bb1422b", + "0x88c48d83e8ddc0d7eea051f3d0e21bc0d3a0bb2b6a39ece76750c1c90c382a538c9a35dc9478b8ceb8157dcccbbf187a", + "0x93da81a8939f5f58b668fefdc6f5f7eca6dc1133054de4910b651f8b4a3267af1e44d5a1c9e5964dc7ab741eb146894b", + "0x8b396e64985451ac337f16be61105106e262e381ea04660add0b032409b986e1ac64da3bc2feae788e24e9cb431d8668", + "0x9472068b6e331ea67e9b5fbf8057672da93c209d7ded51e2914dbb98dccd8c72b7079b51fd97a7190f8fc8712c431538", + "0xac47e1446cb92b0a7406f45c708567f520900dfa0070d5e91783139d1bfc946d6e242e2c7b3bf4020500b9f867139709", + "0x896053706869fb26bb6f7933b3d9c7dd6db5c6bd1269c7a0e222b73039e2327d44bda7d7ae82bf5988808b9831d78bcd", + "0xa55e397fa7a02321a9fe686654c86083ecedb5757586d7c0250ec813ca6d37151a12061d5feca4691a0fd59d2f0fdd81", + "0xae23f08ac2b370d845036518f1bddb7fea8dc59371c288a6af310486effeb61963f2eef031ca90f9bdbcf0e475b67068", + "0xb5462921597a79f66c0fec8d4c7cfd89f427692a7ce30d787e6fd6acd2377f238ec74689a0fdbe8ef3c9c9bd24b908dc", + "0xae67e8ea7c46e29e6aae6005131c29472768326819aa294aaf5a280d877de377b44959adb1348fa3e929dcbc3ae1f2c0", + "0x84962b4c66500a20c4424191bdfb619a46cda35bdb34c2d61edcb0b0494f7f61dd5bf8f743302842026b7b7d49edd4b5", + "0x846f76286dc3cc59cb15e5dabb72a54a27c78190631df832d3649b2952fa0408ecde7d4dfdae7046c728efa29879fb51", + "0x8f76c854eaee8b699547e07ad286f7dadfa6974c1328d12502bd7630ae619f6129272fdd15e2137ffef0143c42730977", + "0x8007b163d4ea4ec6d79e7a2aa19d06f388da0b3a56f3ee121441584e22a246c0e792431655632bf6e5e02cb86914eebf", + "0xac4d2cecc1f33e6fb73892980b61e62095ddff5fd6167f53ca93d507328b3c05440729a277dc3649302045b734398af1", + "0x92d2a88f2e9c9875abaff0d42624ccb6d65401de7127b5d42c25e6adccd7a664504c5861618f9031ced8aeb08b779f06", + "0xa832c1821c1b220eb003fc532af02c81196e98df058cdcc9c9748832558362915ea77526937f30a2f74f25073cb89afb", + "0xb6f947ab4cc2baec100ed8ec7739a2fd2f9504c982b39ab84a4516015ca56aea8eef5545cfc057dd44c69b42125fb718", + "0xb24afacf2e90da067e5c050d2a63878ee17aaf8fd446536f2462da4f162de87b7544e92c410d35bf2172465940c19349", + "0xb7a0aa92deac71eaab07be8fa43086e071e5580f5dbf9b624427bdd7764605d27303ae86e5165bed30229c0c11958c38", + "0xb0d1d5bfa1823392c5cf6ed927c1b9e84a09a24b284c2cd8fcb5fda8e392c7c59412d8f74eb7c48c6851dff23ae66f58", + "0xa24125ef03a92d2279fb384186ca0274373509cfec90b34a575490486098438932ee1be0334262d22d5f7d3db91efe67", + "0x83e08e5fba9e8e11c164373794f4067b9b472d54f57f4dbe3c241cf7b5b7374102de9d458018a8c51ab3aed1dddf146f", + "0x9453101b77bb915ed40990e1e1d2c08ea8ec5deb5b571b0c50d45d1c55c2e2512ec0ceca616ff0376a65678a961d344d", + "0x92a0516e9eb6ad233d6b165a8d64a062ce189b25f95d1b3264d6b58da9c8d17da2cd1f534800c43efcf2be73556cd2ff", + "0x958d0b5d7d8faf25d2816aa6a2c5770592ad448db778dd9b374085baa66c755b129822632eaabcb65ee35f0bf4b73634", + "0x90a749de8728b301ad2a6b044e8c5fd646ccd8d20220e125cba97667e0bb1d0a62f6e3143b28f3d93f69cdc6aa04122a", + "0x84bd34c8d8f74dec07595812058db24d62133c11afed5eb2a8320d3bfc28e442c7f0cfd51011b7b0bb3e5409cb7b6290", + "0xaecc250b556115d97b553ad7b2153f1d69e543e087890000eaa60f4368b736921d0342ce5563124f129096f5d5e2ca9d", + "0x977f17ac82ed1fbf422f9b95feb3047a182a27b00960296d804fd74d54bb39ad2c055e665c1240d2ad2e06a3d7501b00", + "0xaf5be9846bd4879ebe0af5e7ad253a632f05aedfe306d31fe6debe701ba5aa4e33b65efc05043bc73aadb199f94baed4", + "0x9199e12ec5f2aaaeed6db5561d2dcc1a8fe9c0854f1a069cba090d2dff5e5ba52b10c841ccbd49006a91d881f206150d", + "0x8f4a96a96ed8ceaf3beba026c89848c9ca4e6452ce23b7cf34d12f9cc532984a498e051de77745bdc17c7c44c31b7c30", + "0xaf3f2a3dbe8652c4bfca0d37fb723f0e66aab4f91b91a625114af1377ad923da8d36da83f75deb7a3219cd63135a3118", + "0xa6d46963195df8962f7aa791d104c709c38caa438ddd192f7647a884282e81f748c94cdf0bb25d38a7b0dc1b1d7bbcf7", + "0x86f3de4b22c42d3e4b24b16e6e8033e60120af341781ab70ae390cb7b5c5216f6e7945313c2e04261a51814a8cb5db92", + "0xb9f86792e3922896cfd847d8ff123ff8d69ecf34968fb3de3f54532f6cd1112b5d34eeabdca46ae64ad9f6e7e5b55edc", + "0x83edfbcbc4968381d1e91ab813b3c74ab940eaf6358c226f79182f8b21148ec130685fd91b0ea65916b0a50bccf524ea", + "0x93b61daca7a8880b7926398760f50016f2558b0bab74c21181280a1baf3414fc539911bb0b79c4288d29d3c4ad0f4417", + "0xad541aeb83a47526d38f2e47a5ce7e23a9adabe5efeae03541026881e6d5ef07da3ac1a6ed466ca924fa8e7a91fcff88", + "0xac4bba31723875025640ed6426003ed8529215a44c9ffd44f37e928feef9fc4dfa889088131c9be3da87e8f3fdf55975", + "0x88fa4d49096586bc9d29592909c38ea3def24629feacd378cc5335b70d13814d6dac415f8c699ee1bf4fe8b85eb89b38", + "0xb67d0b76cbd0d79b71f4673b96e77b6cda516b8faa1510cfe58ff38cc19000bb5d73ff8418b3dab8c1c7960cb9c81e36", + "0x98b4f8766810f0cfecf67bd59f8c58989eb66c07d3dfeee4f4bbce8fd1fce7cc4f69468372eaec7d690748543bd9691d", + "0x8445891af3c298b588dec443beacdf41536adb84c812c413a2b843fd398e484eb379075c64066b460839b5fe8f80177c", + "0xb603635c3ed6fdc013e2a091fc5164e09acf5f6a00347d87c6ebadb1f44e52ff1a5f0466b91f3f7ffc47d25753e44b75", + "0x87ec2fc928174599a9dafe7538fec7dcf72e6873b17d953ed50708afff0da37653758b52b7cafa0bf50dfcf1eafbb46c", + "0xb9dbd0e704d047a457d60efe6822dc679e79846e4cbcb11fa6c02079d65673ee19bbf0d14e8b7b200b9205f4738df7c7", + "0x9591ec7080f3f5ba11197a41f476f9ba17880f414d74f821a072ec5061eab040a2acba3d9856ff8555dfe5eaeb14ca19", + "0xb34c9d1805b5f1ce38a42b800dec4e7f3eb8c38e7d2b0a525378e048426fed150dbfe9cc61f5db82b406d1b9ff2d10bf", + "0xa36fdc649dc08f059dfa361e3969d96b4cc4a1ebf10b0cd01a7dd708430979e8d870961fef85878f8779b8e23caafb18", + "0x88dfc739a80c16c95d9d6f73c3357a92d82fa8c3c670c72bee0f1e4bac9ec338e1751eb786eda3e10f747dd7a686900f", + "0x84a535ad04f0961756c61c70001903a9adf13126983c11709430a18133c4b4040d17a33765b4a06968f5d536f4bfb5c5", + "0x8c86d695052a2d2571c5ace744f2239840ef21bb88e742f050c7fa737cd925418ecef0971333eb89daa6b3ddfede268c", + "0x8e9a700157069dc91e08ddcbdde3a9ad570272ad225844238f1015004239c542fceb0acce6d116c292a55f0d55b6175e", + "0x84d659e7f94e4c1d15526f47bc5877a4ef761c2a5f76ec8b09c3a9a30992d41b0e2e38ed0c0106a6b6c86d670c4235f3", + "0xa99253d45d7863db1d27c0ab561fb85da8c025ba578b4b165528d0f20c511a9ca9aff722f4ff7004843f618eb8fced95", + "0x89a3cacb15b84b20e95cd6135550146bbe6c47632cc6d6e14d825a0c79b1e02b66f05d57d1260cb947dc4ae5b0283882", + "0x8385b1555e794801226c44bd5e878cbe68aeac0a19315625a8e5ea0c3526b58cdd4f53f9a14a167a5e8a293b530d615a", + "0xb68c729e9df66c5cd22af4909fb3b0057b6a231c4a31cd6bf0fa0e53c5809419d15feb483de6e9408b052458e819b097", + "0x924f56eda269ec7ec2fc20c5731bf7f521546ddf573ccbe145592f1c9fee5134747eb648d9335119a8066ca50a1f7e50", + "0xb2100a26b9c3bec7ec5a53f0febbf56303f199be2f26b2d564cfee2adc65483b84192354f2865c2f4c035fa16252ae55", + "0x8f64dbed62e638563967ec1605a83216aed17eb99aa618c0543d74771ea8f60bbb850c88608d4f8584f922e30a8a0a72", + "0xb31b9e1ffe8d7260479c9413f8e680f3fe391ae8fcf44fcca3000d9b2473a40c1d32299f8f63865a57579a2d6c7e9f08", + "0xa5b1d136142eb23e322c6c07cb838a3f58ab6925472352ebd0bb47041a0d8729e1074ca223922f3a7a672ced7a1e562d", + "0x8d9470a5a15d833a447b5f108333d50f30aa7659e331c3f8080b1e928a99922edc650466a2f54f3d48afdb34bff42142", + "0x866368f5891564e5b2de37ad21ff0345c01129a14ea5667f9b64aad12d13ec034622872e414743af0bf20adb2041b497", + "0x88ef9c2ebf25fd0c04b7cfa35fbac2e4156d2f1043fa9f98998b2aa402c8f9a4f1039e782451a46840f3e0e4b3fa47d3", + "0x94ba04a4859273697e264a2d238dc5c9ff573ebc91e4796ea58eebe4080c1bf991255ab2ad8fb1e0301ce7b79cc6e69b", + "0x86b6bd0953309a086e526211bf1a99327269304aa74d8cdc994cee63c3a2d4b883e832b0635888dff2a13f1b02eb8df4", + "0x843ea6ea5f2c7a1fd50be56a5765dcce3ea61c99b77c1a729ee0cd8ec706385ac7062e603479d4c8d3527f030762d049", + "0x8d3675195a3b06f2d935d45becc59f9fa8fa440c8df80c029775e47fe9c90e20f7c8e4cc9a2542dd6bfe87536c428f0d", + "0x8978580b0c9b0aa3ab2d47e3cfd92fa891d3ddee57829ee4f9780e8e651900457d8e759d1a9b3e8f6ae366e4b57f2865", + "0x890112ec81d0f24b0dfbb4d228e418eff02ae63dc691caf59c1d103e1d194e6e2550e1bec41c0bfdb74fed454f621d0c", + "0x97da00bd4b19d1e88caff7f95b8b9a7d29bc0afe85d0c6a163b4b9ef336f0e90e2c49ce6777024bb08df908cc04ea1ca", + "0xb458268d275a5211106ccaa8333ce796ef2939b1c4517e502b6462e1f904b41184a89c3954e7c4f933d68b87427a7bfd", + "0xaac9c043ba8ba9283e8428044e6459f982413380ee7005a996dc3cc468f6a21001ecaa3b845ce2e73644c2e721940033", + "0x82145013c2155a1200246a1e8720adf8a1d1436b10d0854369d5b1b6208353e484dd16ce59280c6be84a223f2d45e5e2", + "0xb301bafa041f9b203a46beab5f16160d463aa92117c77a3dc6a9261a35645991b9bafcc186c8891ca95021bd35f7f971", + "0xa531b8d2ac3de09b92080a8d8857efa48fb6a048595279110e5104fee7db1dd7f3cfb8a9c45c0ed981cbad101082e335", + "0xa22ac1d627d08a32a8abd41504b5222047c87d558ffae4232cefdeb6a3dc2a8671a4d8ddfba2ff9068a9a3ffb0fe99b1", + "0xb8d9f0e383c35afb6d69be7ff04f31e25c74dd5751f0e51290c18814fbb49ee1486649e64355c80e93a3d9278bd21229", + "0x8165babccd13033a3614c878be749dfa1087ecbeee8e95abcfffe3aa06695711122cb94477a4d55cffd2febf0c1173de", + "0xa4c1bc84ecb9d995d1d21c2804adf25621676d60334bd359dac3a2ec5dc8de567aa2831c10147034025fb3e3afb33c4b", + "0xb77307cab8e7cb21e4038493058fb6db9e2ec91dda9d7f96f25acbc90309daf7b6d8a205682143ee35d675e9800c3b08", + "0xaaf7466083cd1f325ba860efe3faf4cebe6a5eecf52c3e8375d72043a5cfc8e6cb4b40f8e48f97266e84f0d488e8badf", + "0x9264a05a3abc2a5b4958f957f3a486a5eb3ddd10ff57aa6943c9430d0cfa01d63b72695b1ade50ac1b302d312175e702", + "0xb3f9e4c589ad28b1eceed99dc9980fac832524cfcbe4a486dfeedb4b97c080e24bdb3967e9ca63d2240e77f9addfaefd", + "0xb2c1e253a78e7179e5d67204422e0debfa09c231970b1bfb70f31a8d77c7f5059a095ca79d2e9830f12c4a8f88881516", + "0x81865a8a25913d1072cb5fd9505c73e0fde45e4c781ddd20fb0a7560d8b1cd5e1f63881c6efc05360e9204dfa6c3ce16", + "0xab71c2ea7fa7853469a2236dedb344a19a6130dc96d5fd6d87d42d3fffda172557d203b7688ce0f86acd913ce362e6cd", + "0x8aa2051bc3926c7bd63565f3782e6f77da824cb3b22bb056aa1c5bccfa274c0d9e49a91df62d0e88876e2bd7776e44b9", + "0xb94e7074167745323d1d353efe7cfb71f40a390e0232354d5dfd041ef523ac8f118fb6dcc42bf16c796e3f61258f36f8", + "0x8210fcf01267300cb1ccf650679cf6e1ee46df24ae4be5364c5ff715332746c113d680c9a8be3f17cacaeb3a7ba226ce", + "0x905ac223568eedc5acd8b54e892be05a21abbb4083c5dbec919129f9d9ffa2c4661d78d43bf5656d8d7aafa06f89d647", + "0xa6e93da7e0c998e6ce2592d1aa87d12bf44e71bec12b825139d56682cdce8f0ba6dbfe9441a9989e10578479351a3d9d", + "0xacde928a5e2df0d65de595288f2b81838155d5673013100a49b0cb0eb3d633237af1378148539e33ccd1b9a897f0fec3", + "0xa6e1a47e77f0114be6ae7acd2a51e6a9e38415cce7726373988153cdd5d4f86ef58f3309adc5681af4a159300ed4e5b5", + "0xad2b6a0d72f454054cb0c2ebc42cd59ff2da7990526bd4c9886003ba63b1302a8343628b8fe3295d3a15aa85150e0969", + "0xb0bc3aea89428d7918c2ee0cc57f159fba134dad224d0e72d21a359ca75b08fbb4373542f57a6408352033e1769f72c6", + "0xaad0497525163b572f135fad23fdd8763631f11deeaf61dea5c423f784fe1449c866040f303555920dc25e39cdb2e9b4", + "0x8ce5d8310d2e17342bf881d517c9afc484d12e1f4b4b08ad026b023d98cba410cd9a7cc8e2c3c63456652a19278b6960", + "0x8d9d57dbb24d68b6152337872bd5d422198da773174ade94b633f7c7f27670ff91969579583532ae7d8fe662c6d8a3b0", + "0x855a1c2d83becb3f02a8f9a83519d1cb112102b61d4cdd396844b5206e606b3fefdbcc5aa8751da2b256d987d74d9506", + "0x90eb7e6f938651f733cf81fcd2e7e8f611b627f8d94d4ac17ac00de6c2b841e4f80cada07f4063a13ae87b4a7736ca28", + "0x8161459a21d55e7f5f1cecfc1595c7f468406a82080bfa46d7fb1af4b5ec0cd2064c2c851949483db2aa376e9df418e6", + "0x8344ccd322b2072479f8db2ab3e46df89f536408cba0596f1e4ec6c1957ff0c73f3840990f9028ae0f21c1e9a729d7df", + "0x929be2190ddd54a5afe98c3b77591d1eae0ab2c9816dc6fe47508d9863d58f1ea029d503938c8d9e387c5e80047d6f1e", + "0x856e3d1f701688c650c258fecd78139ce68e19de5198cf1cd7bb11eba9d0f1c5af958884f58df10e3f9a08d8843f3406", + "0x8490ae5221e27a45a37ca97d99a19a8867bcc026a94f08bdccfbb4b6fa09b83c96b37ec7e0fd6ee05f4ae6141b6b64a8", + "0xb02dbd4d647a05ac248fda13708bba0d6a9cd00cae5634c1938b4c0abbb3a1e4f00f47aa416dcd00ffcdf166330bff9a", + "0x9076164bb99ca7b1a98d1e11cb2f965f5c22866658e8259445589b80e3cb3119c8710ede18f396ba902696785619079c", + "0xaacf016920936dae63778ad171386f996f65fe98e83cfcdd75e23774f189303e65cc8ad334a7a62f9230ed2c6b7f6fa4", + "0xa8031d46c7f2474789123469ef42e81c9c35eb245d38d8f4796bba406c02b57053f5ec554d45373ab437869a0b1af3f0", + "0xa4b76cd82dc1f305a0ee053e9a4212b67f5acc5e69962a8640d190a176b73fbc2b0644f896ff3927cd708d524668ed09", + "0xb00b029c74e6fdf7fb94df95ef1ccad025c452c19cddb5dccfb91efdcb8a9a1c17847cfa4486eae4f510e8a6c1f0791a", + "0x9455e5235f29a73e9f1a707a97ddb104c55b9d6a92cc9952600d49f0447d38ea073ee5cf0d13f7f55f12b4a5132f4b10", + "0xae118847542ed1084d269e8f3b503d0b6571a2c077def116ad685dcca2fca3dcb3f86e3f244284bdcd5ae7ac968d08a5", + "0x8dcb4965cd57e8b89cd71d6fc700d66caa805bfd29ab71357961527a7894e082d49145c2614b670dcb231ab9050d0663", + "0xadd6ed14f3183f4acc73feea19b22c9a330e431c674e5034924da31b69e8c02d79b570d12ef771a04215c4809e0f8a80", + "0x96ae7e110412ee87d0478fdbdbaab290eb0b6edd741bb864961845e87fd44bcbe630371060b8104d8bf17c41f2e3fca0", + "0xa20db17f384e9573ca0928af61affab6ff9dd244296b69b026d737f0c6cd28568846eca8dadf903ee0eecbb47368351d", + "0x937bfdf5feb0797863bc7c1be4dcc4f2423787952a3c77dfa3bfe7356f5dbcc4daebde976b84fc6bd97d5124fb8f85c9", + "0xa7050cc780445c124e46bba1acc0347ddcfa09a85b35a52cc5808bf412c859c0c680c0a82218f15a6daeefe73f0d0309", + "0xa9d9b93450e7630f1c018ea4e6a5ca4c19baa4b662eadfbe5c798fe798d8a3775ed1eb12bd96a458806b37ab82bdc10a", + "0xa52a4d5639e718380915daaefad7de60764d2d795443a3db7aeab5e16a1b8faa9441a4ccc6e809d8f78b0ac13eef3409", + "0x8e6f72b6664a8433b032849b03af68f9376b3c16c0bc86842c43fc7bf31e40bc9fc105952d5c5780c4afa19d7b802caa", + "0xa107ae72f037000c6ee14093de8e9f2c92aa5f89a0a20007f4126419e5cb982469c32187e51a820f94805c9fccd51365", + "0x9708218f9a984fe03abc4e699a4f3378a06530414a2e95e12ca657f031ef2e839c23fd83f96a4ba72f8203d54a1a1e82", + "0xb9129770f4c5fcac999e98c171d67e148abd145e0bf2a36848eb18783bb98dff2c5cef8b7407f2af188de1fae9571b1c", + "0x88cc9db8ff27eb583871eeeb517db83039b85404d735517c0c850bdfa99ae1b57fd24cf661ab60b4726878c17e047f37", + "0xa358c9aadc705a11722df49f90b17a2a6ba057b2e652246dc6131aaf23af66c1ca4ac0d5f11073a304f1a1b006bc0aa5", + "0xac79f25af6364a013ba9b82175ccee143309832df8f9c3f62c193660253679284624e38196733fb2af733488ab1a556e", + "0x82338e3ed162274d41a1783f44ae53329610134e6c62565353fbcc81131e88ce9f8a729d01e59e6d73695a378315111b", + "0xaa5ddcabf580fd43b6b0c3c8be45ffd26c9de8fa8d4546bb92d34f05469642b92a237d0806a1ad354f3046a4fcf14a92", + "0xb308d2c292052a8e17862c52710140ffafa0b3dbedd6a1b6334934b059fe03e49883529d6baf8b361c6e67b3fbf70100", + "0x96d870a15c833dddd8545b695139733d4a4c07d6206771a1524500c12607048731c49ec4ac26f5acc92dd9b974b2172c", + "0x8e99ee9ed51956d05faaf5038bffd48a2957917a76d9974a78df6c1ff3c5423c5d346778f55de07098b578ad623a390e", + "0xa19052d0b4b89b26172c292bbf6fd73e7486e7fd3a63c7a501bbd5cf7244e8e8ce3c1113624086b7cdf1a7693fdad8b5", + "0x958957caf99dc4bb6d3c0bc4821be10e3a816bd0ba18094603b56d9d2d1383ccc3ee8bc36d2d0aea90c8a119d4457eb4", + "0x8482589af6c3fc4aa0a07db201d8c0d750dd21ae5446ff7a2f44decf5bff50965fd6338745d179c67ea54095ecd3add4", + "0x8a088cc12cf618761eaa93da12c9158b050c86f10cd9f865b451c69e076c7e5b5a023e2f91c2e1eed2b40746ca06a643", + "0x85e81101590597d7671f606bd1d7d6220c80d3c62e9f20423e734482c94547714a6ac0307e86847cce91de46503c6a8a", + "0xb1bd39b481fc452d9abf0fcb73b48c501aaae1414c1c073499e079f719c4e034da1118da4ff5e0ce1c5a71d8af3f4279", + "0x942ae5f64ac7a5353e1deb2213f68aa39daa16bff63eb5c69fc8d9260e59178c0452227b982005f720a3c858542246c8", + "0x99fea18230e39df925f98e26ff03ab959cae7044d773de84647d105dfa75fd602b4f519c8e9d9f226ec0e0de0140e168", + "0x97b9841af4efd2bfd56b9e7cd2275bc1b4ff5606728f1f2b6e24630dbe44bc96f4f2132f7103bca6c37057fc792aeaab", + "0x94cdad044a6ab29e646ed30022c6f9a30d259f38043afcea0feceef0edc5f45297770a30718cbfec5ae7d6137f55fe08", + "0xa533a5efa74e67e429b736bb60f2ccab74d3919214351fe01f40a191e3ec321c61f54dd236f2d606c623ad556d9a8b63", + "0xb7bd0bb72cd537660e081f420545f50a6751bb4dd25fde25e8218cab2885dd81ffe3b888d608a396dfcb78d75ba03f3f", + "0xb1479e7aa34594ec8a45a97611d377206597149ece991a8cef1399738e99c3fa124a40396a356ab2ea135550a9f6a89f", + "0xb75570fc94b491aef11f70ef82aeb00b351c17d216770f9f3bd87f3b5ac90893d70f319b8e0d2450dc8e21b57e26df94", + "0xa5e3f3ab112530fe5c3b41167f7db5708e65479b765b941ce137d647adb4f03781f7821bb4de80c5dc282c6d2680a13d", + "0xb9b9c81b4cac7aca7e7c7baac2369d763dd9846c9821536d7467b1a7ec2e2a87b22637ab8bbeddb61879a64d111aa345", + "0xb1e3ee2c4dd03a60b2991d116c372de18f18fe279f712829b61c904103a2bd66202083925bc816d07884982e52a03212", + "0xa13f0593791dbbd360b4f34af42d5cc275816a8db4b82503fe7c2ff6acc22ae4bd9581a1c8c236f682d5c4c02cc274cc", + "0x86ba8238d3ed490abcc3f9ecc541305876315fb71bca8aaf87538012daab019992753bf1e10f8670e33bff0d36db0bf0", + "0xb65fbb89fafb0e2a66fe547a60246d00b98fe2cb65db4922d9cef6668de7b2f4bb6c25970f1e112df06b4d1d953d3f34", + "0xabb2d413e6f9e3c5f582e6020f879104473a829380b96a28123eb2bdd41a7a195f769b6ac70b35ba52a9fee9d6a289c3", + "0x88ec764573e501c9d69098a11ea1ad20cdc171362f76eb215129cfcca43460140741ea06cee65a1f21b708afb6f9d5b0", + "0xa7aaec27246a3337911b0201f4c5b746e45780598004dac15d9d15e5682b4c688158adffdef7179abb654f686e4c6adc", + "0xa1128589258f1fbfa33341604c3cb07f2a30c651086f90dce63ae48b4f01782e27c3829de5102f847cde140374567c58", + "0xaaf2b149c1ca9352c94cc201125452b1ed7ca7c361ed022d626899426cb2d4cc915d76c58fa58b3ad4a6284a9ae1bc45", + "0xaaf5c71b18b27cd8fe1a9028027f2293f0753d400481655c0d88b081f150d0292fb9bd3e6acabb343a6afb4afdb103b5", + "0x947c0257d1fb29ecc26c4dc5eab977ebb47d698b48f9357ce8ff2d2ed461c5725228cc354a285d2331a60d20de09ff67", + "0xb73e996fa30f581699052ed06054c474ebdf3ae662c4dc6f889e827b8b6263df67aeff7f2c7f2919df319a99bdfdceb1", + "0xb696355d3f742dd1bf5f6fbb8eee234e74653131278861bf5a76db85768f0988a73084e1ae03c2100644a1fa86a49688", + "0xb0abca296a8898ac5897f61c50402bd96b59a7932de61b6e3c073d880d39fc8e109998c9dba666b774415edddcff1997", + "0xb7abe07643a82a7cb409ee4177616e4f91ec1cf733699bf24dec90da0617fe3b52622edec6e12f54897c4b288278e4f3", + "0x8a3fae76993edbc81d7b47f049279f4dd5c408133436605d934dee0eadde187d03e6483409713db122a2a412cd631647", + "0x82eb8e48becfdf06b2d1b93bf072c35df210cf64ed6086267033ad219bf130c55ee60718f28a0e1cad7bc0a39d940260", + "0xa88f783e32944a82ea1ea4206e52c4bcf9962b4232e3c3b45bd72932ee1082527bf80864ce82497e5a8e40f2a60962d0", + "0x830cf6b1e99430ae93a3f26fbfb92c741c895b017924dcd9e418c3dc4a5b21105850a8dd2536fa052667e508b90738f2", + "0x990dce4c2c6f44bb6870328fba6aa2a26b0b8b2d57bfb24acf398b1edc0f3790665275f650884bd438d5403973469fa2", + "0xa2e5b6232d81c94bcb7fed782e2d00ff70fc86a3abddbe4332cb0544b4e109ae9639a180ae4c1f416752ed668d918420", + "0xb4cdf7c2b3753c8d96d92eb3d5fa984fef5d346a76dc5016552069e3f110356b82e9585b9c2f5313c76ffaecef3d6fd8", + "0x83b23b87f91d8d602bff3a4aa1ead39fcc04b26cf113a9da6d2bd08ba7ea827f10b69a699c16911605b0126a9132140f", + "0x8aae7a2d9daa8a2b14f9168fe82933b35587a3e9ebf0f9c37bf1f8aa015f18fb116b7fba85a25c0b5e9f4b91ba1d350b", + "0x80d1163675145cc1fab9203d5581e4cd2bed26ad49f077a7927dec88814e0bed7912e6bbe6507613b8e393d5ee3be9be", + "0x93ddeb77b6a4c62f69b11cf36646ed089dcaa491590450456a525faf5659d810323b3effa0b908000887c20ac6b12c80", + "0x9406360a2b105c44c45ba440055e40da5c41f64057e6b35a3786526869b853472e615e6beb957b62698a2e8a93608e13", + "0x93bfc435ab9183d11e9ad17dac977a5b7e518db720e79a99072ce7e1b8fcb13a738806f414df5a3caa3e0b8a6ce38625", + "0x8a12402c2509053500e8456d8b77470f1bbb9785dd7995ebbbe32fd7171406c7ce7bd89a96d0f41dbc6194e8f7442f42", + "0xaab901e35bf17e6422722c52a9da8b7062d065169bf446ef0cbf8d68167a8b92dab57320c1470fee1f4fc6100269c6e2", + "0x8cad277d9e2ba086378190d33f1116ba40071d2cb78d41012ec605c23f13009e187d094d785012b9c55038ec96324001", + "0x85511c72e2894e75075436a163418279f660c417e1d7792edce5f95f2a52024d1b5677e2e150bf4339ad064f70420c60", + "0x85549ca8dcbe49d16d4b3e2b8a30495f16c0de35711978ada1e2d88ad28e80872fca3fb02deb951b8bcb01b6555492e4", + "0x8d379ab35194fe5edf98045a088db240a643509ddc2794c9900aa6b50535476daa92fd2b0a3d3d638c2069e535cd783b", + "0xb45cfebe529556b110392cb64059f4eb4d88aaf10f1000fdd986f7f140fdd878ce529c3c69dfd2c9d06f7b1e426e38f3", + "0xac009efd11f0c4cdd07dd4283a8181420a2ba6a4155b32c2fed6b9f913d98e057d0f5f85e6af82efc19eb4e2a97a82df", + "0xb2c2cdffa82f614e9cb5769b7c33c7d555e264e604e9b6138e19bcfc49284721180b0781ecbf321d7e60259174da9c3c", + "0x95789960f848797abbe1c66ef05d01d920228ca1f698130c7b1e6ca73bfda82cee672d30a9787688620554e8886554ee", + "0x98444018fa01b7273d3370eeb01adc8db902d5a69b9afc0aa9eadfeb43c4356863f19078d3c0d74e80f06ecf5a5223f4", + "0x87d20b058050542f497c6645de59b8310f6eeec53acbc084e38b85414c3ea3016da3da690853498bde1c14de1db6f391", + "0xa5c12b3a40e54bee82a315c503c1ce431309a862458030dde02376745ec1d6b9c1dbeea481ae6883425e9dae608e444e", + "0xb9daa3bf33f0a2979785067dcece83250e7bf6deb75bb1dbbab4af9e95ddfb3d38c288cbef3f80519a8916a77a43b56c", + "0xb682ec3118f71bde6c08f06ea53378ea404f8a1c4c273dd08989f2df39d6634f6463be1d172ac0e06f0fa19ac4a62366", + "0xa4f94fd51ecf9d2065177593970854d3dce745eebb2a6d49c573cbf64a586ae949ddfa60466aaef0c0afb22bd92e0b57", + "0x86cd5609efd570c51adbc606c1c63759c5f4f025fcbefab6bc3045b6ad2423628c68f5931ff56fdda985168ce993cc24", + "0x981192e31e62e45572f933e86cdd5b1d28b1790b255c491c79bd9bb4964359b0e5f94f2ae0e00ef7fe7891b5c3904932", + "0x9898f52b57472ebc7053f7bf7ab6695ce8df6213fc7f2d6f6ea68b5baad86ec1371a29304cae1baadf15083296958d27", + "0xb676c4a8a791ae00a2405a0c88b9544878749a7235d3a5a9f53a3f822e0c5c1b147a7f3f0fc228049dc46e87aa6b6368", + "0x9976e10beff544e5c1645c81a807739eff90449df58ffdd8d1aa45dd50b4c62f9370538b9855a00dd596480f38ebe7a5", + "0xa0e91404894187ec23c16d39d647ada912a2c4febfd050a1ea433c4bfdc1568b4e97a78a89ba643aca3e2782033c3c58", + "0x91a6ea9a80476ed137eb81558ff1d55b8581663cccd41db4fc286876226b6515fd38661557419e1e46b6a3bc9cda3741", + "0xb9e8a1e23c60335a37a16f8085f80178a17d5e055d87ffe8cf63c532af923e5a5a2d76cf078164fb577996683796caa6", + "0xad8e151d87a37e8df438d0a6a7c02c3f511143efb93fde8aef334d218cb25932baf9e97c2f36c633620a024a5626af3d", + "0x978f942f210e8a482015e6fdc35a4c967c67b66e6e2a17a05cc7a0f2163aed227b775d4352b0c3cca6cbf4bd5bafaf75", + "0xb5e2e3d8b2e871c07f5899e108e133f87479959b80cb8a103fbecde00ccdbfbd997540eef33079c5cc14b1c00c009fd1", + "0x88a164b3fefd36857f429ab10002243b053f5d386466dbb9e5135ed3c72dd369a5a25e5e2aaa11f25488535e044e2f12", + "0xa66091c0db4e7cf05a089ec2b9ff74744354d0196968201f5e201699144b52bb13b4e68e12502727163e6db96e3565f2", + "0x8e65aff8e37240461b7374c20bfd1d58b73a525c28994a98f723daed9486130b3189f8efe5c5efcd7f5390cc366038da", + "0x8b37c21dd7304c3aa366959ba8c77ea8b22164a67e136808b6f8e48604297f7429a6c6ecf67b1d09b8b7ec083eacd7e0", + "0xb689b1277ad050f53da91a702516a06d7406ff33a4714ea859b3b2b69f8d0aa8f983c7e039b19c0759a3815d841fa409", + "0xb17f7a0a182ed4937f88489e4c4e6163dcf49fd2ea4d9efbba8126c743bea951cd769752acd02e921774dc8ebcfae33b", + "0x8b7fab4f90be825ac5d782a438e55c0a86be1c314a5dbc3cc6ed60760a8a94ef296391f1f6363652200cce4c188dae67", + "0xab8410c4eaa2bb43b0dd271aa2836061bc95cb600b0be331dada76ddb46711ff7a4ad8c466cc1078b9f9131f0dc9d879", + "0x9194bd7b3cc218624459d51c4d6dbc13da5d3de313448f8175650fa4cfab7cc4afcda5427b6676c3c13897dc638b401e", + "0x980f61a0f01349acd8fc9fdc88fc2c5813610c07eecb6ab14af0845a980792a60dadf13bb4437b0169ae3eff8f5984ce", + "0xb783bee24acea9c99d16434195c6940cf01fc2db135e21f16acae45a509eca3af6b9232a8aa3a86f9715c5f6a85cb1c3", + "0xa3079931c4b90966d1faa948db847741878b5828bc60325f5ebe554dcab4adcc19ee8bce645e48a8f4a9413bb3c6a093", + "0x801f61ac9318f6e033a99071a46ae06ed249394638c19720831fff850226363a4ae8486dd00967746298ee9f1d65462f", + "0xb34dbbed4f3bb91f28285c40f64ce60c691737cc2b2d2be5c7d0210611cd58341bb5bda51bb642d3ee2d80882e642a13", + "0x8750af19abfb915e63c81542b13d84526a0c809179bbcc1cd8a52b29f3aba3ae0f7cf6f4f01790bf64ef7db01d8ee887", + "0xa6ea10000eb2dd4efc242ac95bc3b3873cdd882fbeb7c9538c87e3143a263ca3a2e192b2159316a625cfb5fb0b6cdcb3", + "0xaa40ca54bc758a6c64cb932924917581062e088b3ad43976b28f2e11d8a7dea73f1fb50aeaa0e70182bb2dc07d805bb9", + "0xa4779dfd25b5ec9d75dfb54a4bb030364899a5e75c1492403acb19f2adc782c7ac4daeb66d2f5aeb74135afe9f318e3f", + "0xb4551e2805d63ca453f4f38b1921ac87ff687e1d70575ad38f3469d6f0608ef76b7b1b98ae1e6b1e7d928773aaab6e3b", + "0x99490ee722f96aad2743b08dd37bfeb75a8c59efaee4c9b694eaa05eb8a6bb23861a4480544c7617d04d23fd5e2543b4", + "0x8a7050d964d295fff98ae30d77ce730a055719313457e773fcce94c4d71a9b7cf63db67e54a8aab20fb1335b0130b5d5", + "0x903144e6bbee0a4fec17ff80fef0d2103981140c3d41776cfb184ced17f480a687dd093f6b538584327e6142812e3cd5", + "0xa5b30f7c6939bdc24a84ae784add927fec798b5a5ee3dd156c652df020728dd6d43898be364cf5ee181725fbcffc0964", + "0xb43d97ec2bc66af92d921a5c5c20a03ef2be2bc2c9b345f46d8287409fcbfd88ebc49d4509d64468222cd1d2021bf236", + "0x82dc23c7f5086c9ac6b4566359bfb830d203544b0d8332a210775670f899cd9ff48b94bfeba40040c25664ebdd5cfad8", + "0x9294cd017fea581dabb73dcc8c619904d7e022b664b0a8502c9d30f3807668af279948e7e41030ae296d492225297e95", + "0x8d6c9dc636c8e884f9a4299e5cff06d044ebc94ad783a4b71788347ea4a336d4d048b8a9ecabae789e8fcdc459723dfb", + "0x801a80bc49e882ec81b04e37407713f033f7bdac79252dfa3dc8c5bd0229fcbd4019890e402cf843b9378df08f72ab84", + "0xb4313ca32569d973900f6196363c0b280ddfa1b47c88d019e5f399b805b444a777950fc21ae198fc23ece52674b94abf", + "0x96f06056fd255fdabf78986e315e7c4fdf5495cf850536b7976baa97a994cc6a99c34609c33a0f2facba5e6f1026dce6", + "0x983ed80220a5545ffd70ef5e6ac10217d82ec9cd8f9a27ee77a5ff4074092308c0e6396fc4e9932a77ddd474e61f8b55", + "0x872a059aa630af73c4abbd076e8b333a973ffc5bdecf5dcc0600b00162184213cb19d4f601795030033beb808d5810ce", + "0xb040f318d9d3b8833da854014a44296dbd6762dd17cab13f91987256c54353b7f0800547cb645a7cc231997454209fdd", + "0xa8c4731a555308e8ce0b8325eb7a4cbf6113d07e9f41932df04480b72628d313b941c7055f1cc2ac45c7353b56e96ca9", + "0x8c24031440b77637e045a52e5ea3f488926ab0b426148975edf066c40a4581beecc1bfb18fc4cf5f9f96dc6681b4bd28", + "0xb39254b475abf342f301298feaa17a4b3051f30ea23a18acf59e003e2704ac96fe40691f1da387913bdf7aee6389f9a8", + "0xa1dbf938b604ccc6d60881cc71f38df568aa02752aa44d123514154017503f6c1c335ae43e359f1487bc8934073cd9c1", + "0x8d52aa1be9f429ece0580498d8fe9fef46d4a11f49436a82b8927f9503dacc41245907f126594c1cd30701286f8c092c", + "0xb826f396486942c0326d16f30a01b00a682c30a75553dc6ac34fd5b3e96b13c33b94738f522eebaffb59ff8c571c76e9", + "0xaa89f51cbf6e6c3e2aa2806187b69ab3361c84e89f393f3ed284fe84db46fc3944aa44f8928e3964f9c1a1ec27048f68", + "0xa254df0efa4203fb92b42a1cd81ca955922e14bf408262c8f7cb7dc703da0ca2c71556bd2d05b22ce9a90ad77309833d", + "0x93263c507e4d5f4e5df88e85b3d85c46ea729fb542a718b196333e2d9fb8a2e62dc1347cf146466a54ba12d200ef09d9", + "0x922e3c4a84246d89a07aa3e90f02e04b2cea9bebc0e68b742156f702aed31b28c6dfa7ac936ea2fc2e029adf68361f98", + "0x9a00628eeeda4ccbed3ef7834149aec4c77aac1a14bc2491ba5d1a4a2c5d29afb82ceaa5aac1c5ce1e42cdcaf53e30ba", + "0xab3a88df36d703920f6648a295a70ffa5316c96044f39ff132937bfda768937cb6a479e9ba4a4e66b377f3a9996a88c4", + "0x966b11526ab099d550ab33c6a9667e5cfdedf255da17a80a519d09acd78d2ea24ec18bd1ea7d8d63cf0a408f1c1fe0b3", + "0xb5c21b9817dc32f3df9d9988aa3560e1e840d586d01cd596bc0f850ab416b6013cbf7dbfd05ac981f26014c74bd2d2b2", + "0x9040abef5e2523e7f139c9f744a64b98fea3a57952059ffe4d5ed77fa87068203c090ef4e7f52c88fb82ea8a6fdca33e", + "0xa0dcdaeb7d3f5d30d49c004c5f478818c470187f4b0b4856812dcd1b3a86de58a99acb8ceb44c6b80c3060cf967c43a4", + "0xb5f4be9a69e4a6719ea91104820df8623b6d1073e8ee4168de10a7e49c8babea772bcbc6b0908185e98d607e49cd3609", + "0x8634020a5a78650015763c06121c606d2dd7b324aa17387910513dd6480fb797df541fc15b70d269b2794ad190595084", + "0x9504d1d0fb31ff1926c89040c04d51fd1f5cddf9d7ca3d036e7fd17e7a0f767ef33cee1d8bf7e17e2bc40949e7630417", + "0x812c72846ef6d692cf11d8f8c3de8fa78cc287303315114492667b19c702cd24d462020f1276895df26e937c38f361f8", + "0x8c97aa5e9ef2aa9a1435ef9ddfe62e850f0360864ed5fb82bf9fef4ef04d8fb4f827dc078bc911ee275e4501edd6617c", + "0xac5f7af5e23c8e429aaa6b6825129922b59d25b4608f07b65f21388a9ac3aa89096712f320afe6d56e44e1f0d51a4eb9", + "0xa8c84d9a8593a0cb5be1e450960f59878a4e6b70da54a7613dfc25911b7cc9e6d789d39401b0a0d6471ab9dcdc707976", + "0x8c9d5fd89611392c0f085ffa4fa642a181f0b9b23593deb5e10fdd1642722ca75ef34a037e88a8d03f2888fe7461f27c", + "0x8c74b05f91fb95c85e7bd41f6d9a1e41e667e68f3d19b325c1f25df1767019919edab89b92af237896cbc4e6d6dc1854", + "0xa3caecb91640821f0b2c4981b23f2069df8d2b98ce026c1538bc096b292f5f956a5d52c1c8d6a8165a1608083ba6494b", + "0x8ae8e0c36f8b79a69176ff29855df45d0fcd9e4d1dbaed8899f8fcdece676e418ec034a6c161e2a894f0c834aaecbfd1", + "0xb88d18c67dc3b1b6ed60ee437c441c1ed14ecddebccf43683605716f30058b1aa4ba05ff10cd8171ee97d8f58d70c094", + "0x94f43d84dcdfd9cd19115c7d8e9c1e856828eafbfdec93b876cf0007e317e30b2ad951dbabc186aa6ef90fdee4d91990", + "0xb44e4723f41fc1d5b0057f371e3381ae02566590b3f964b6eb07b2104f66ff78410c407235fa98d04f635694f3baca09", + "0xaddd8390173d29ca0811534d389253831fed75fed135398617836b6e70767269eacb1560b39a58f02042ca3b97fe59c4", + "0x80bdbdacc0c358c7ea52aeacdc5f9ceb6928bcf6e7dee7c17d8ae3bf7c2372aa7a0372363888968fc0921aaf4776d5d0", + "0xa486e2b6f04f403f9e609d69dfb3cfb992af56ecad1683271df3e3faa3b86638b81e73b39978fb829ee7133d72901f2d", + "0xa19472da57457e10c6a6307895393ddaec8f523760d66937fe26a025817319e234eaf69756ffdf1b84c81733424a96d7", + "0xad6a195397cbc2d75171f5e82090441eed60bd1ba42c39ef565b8b5a8281b04400678625b1dc46d617f694a7652a8e5d", + "0x8f98e721c06cec432e2221f2e1b06bb1469d916a8d88d6973acf68d1e003441d00390dafcead8ecdbf9eae4509baf5aa", + "0x91d62a0f9d13c59adfe1376ed6d057eae244d13c6b3d99be49a49e0075cf20f4085cf127774644ac93615be9ac9e5db6", + "0xaf45dec199245e2b326a0d79c4899ed44b1c0219db42602a4a6184ace0ff831a3276297af28f92e8b008ba412318e33e", + "0x8754bde54e8d2d169e6a7d6f0eae6097bc0461c395192bd00dd6f105677ea56ab384c02553ea5eeac0a65adcb0df77ee", + "0xb676afd2f5afc37a314c943d496e31b4885efcbcc2061036e370a74cfde5642bb035622d78d693bfc3136fc036c7edb4", + "0xaab6ffe6cc234397cf1822e02912bc282dfb314e92fb5a9e10d0c34ee9b5856d4b76e166bc2bb6fcdd66aabea35ec4ef", + "0xada6e62f90ee6b852ec4b72b22367acac2896f0df2c105beda27096583ddbedddc710d171330569f111c6e44a5b57ae7", + "0x802139dd15241a6de663d9b810121bdd9cf11f7f8c8ca6de63f4f8e731409e40d1fd3558b4f619ed42ee54929dff1c7e", + "0xad8e70531cec21b4e6f55be1751c2d025bd2d7d8158269b054cfe57fa29252d052ce4478ec7db6ec705789e2118d63b3", + "0xa8e4a4271769480e1b33a28c87a150ecc0b48bfe8a15ae04152197881de4ce4b03453aefe574842424edbbe4173e1a3a", + "0xb98c65726296610cef16c5b58da5491acd33bd5c5c5af4d934a9840649ef85730fbce8018dee09ded14e278009ed094a", + "0x8e213a7861223287b860f040e5caaa563daa0b681e4e09ec79ad00cc459238e70bbeaf7486bbe182fc12650700034ec5", + "0xa2879f9e1a556cf89b9b5b3bd8646a8cce6b60bcbc8095df44637f66a2da5858eee2dc9091475a8f64bb5aff849389cd", + "0x8a17cdb4077b9b0bcf28b93294ac5ae4c8bba8839fce0f1012b53187ac008f9858b02925fbfc421f1123afcdbd8b7753", + "0x86fd9c11528aa43946e4415ff64a3ca6409ee6f807368c68997b18605da65e415ccd85ad913820d450cb386593de666d", + "0x8ed55923b963c3d85a91aca11c40ff9c6c7f1e2b9bc199d1a270e5fb16aa62dec0136e97866145ae9d58a493e8b1cbbb", + "0xae32af5b5d418668ae123c639b149e5eed602404e8516da4a61db944b537a3620545e8e3d38cf10cdaea980ab2f80973", + "0x95cb8d9e9d6762d78dde0ad73869ffaca904a7d763a378b8cc11a7933d3e7d1c8aec4271a079b1b00f8887ee5b1ea21f", + "0xb5ea20b42a3ca247f00ab5328c05f0cf194973d5f7271c66c41c5055b1ffdca136be179709e0c1de209fbe07b9820bf3", + "0x98682f7cce471c92a8d6d15fee4ddf4d43dd97c3e3811d2913618ecacc6440b737717c07736ae4558c910e11ee98104e", + "0xa67da2c7cbba48e929ca4e4b9a6299fe01ef79eff8cc5cd3fdbdc0721a68130e4079f30ae151a573a7dcca8ecf2e684e", + "0xa9981c9f9dcbb3b0f6996f664fb2acd7573189f203be37b2b714662aa273551396abfb1f612ccde4e4c8127a050dbe4b", + "0x92d55eff8da600f886da9bf68e8eecf482faa4b268f3f286b3b3e5cc91b19604081498d4905b201bb4ec68e32b5591d9", + "0x963e3f1728de9d719c86d390f3eb9c3f99d1928347fab0abf10dbb37d76b59ddb64d4734c977863a6cd03ffece5ca895", + "0x93480e2de83c921056b6d8628ac37cd5ef7555ba43b0308fc13386cb0515d42c12ecd06057137aa71a7931beaf90b9ce", + "0x8feae57ff0e6a162cc81c99f45c6187d268fc0bee8c2bffc92142ef76c253d201f0e932943cf2fa312982b281ce1066b", + "0x8f8f4bd4200fb87afcd743274480220d77571928000d4197410dbb75439d368df6a06d941a6152206371d2ca9cac99e4", + "0x8ee7f11e79af4478e0a70eb424fe8078237ad99ba6d7e6bf1a8d5e44e40abd22d404bd39b718ad6fdf4c6601f2a47665", + "0xa98acfcec612b574943195b9ba95bebcc9c0b945c9f6b3e8760b2a4635909246a9d73b0b095c27b4ecb3339704e389b7", + "0xb520efd19f65e81dc285031ea3593f8c5dad793e4426beb9196ab46e45346f265fd71e50adb0da657977c60ed5724128", + "0xa3d9d0b7415280ce4dfa2429d47b2b8e37604a5157280a72cc81d541ffe44612dbb3ef7d03693fc42a569169d5842dc3", + "0x8c29e2d0b33801f6d9a9c065a76c5cad1fb0a001506b970307e21765ee97c732a4cbf1d7c1b72d95e0ad340b3b075224", + "0x839e21f292892a6eb596b9b1e9c4bd7c22a6fe71d3d04487c77840028d48392c5cbe73140a4e742338e0c8475cd0c1ad", + "0x8bea5c68e7743998619185bb662e958f1b4d3ca81019d84ac43c88911aab3abe4ee9bcc73cb95aa3ae87c0138801bde3", + "0xb8f262d21a94604049e008ce03dc857848168e1efca4522acb0ccc827ffb37f545e1947843a356563a76bc6489605b66", + "0xa7bd0842b0bb38d9943b82aa883f36f4eb8a6e8a7790d4f87faf306608f51d250a19b73984f1156cef5dd2581664614b", + "0xa993e649bd953627a88a2539dac3a12ec7f37a4c65b01425d9d34edf7ee10a71aa98f65c9e013107f824faf8aee041a9", + "0x8e07eced75c67cb4d2ec01857f6ac1408482e6b31cb2faa249e8cf99f180575587df530c7782a7539b5221121ef48aa0", + "0xb2f4578f26c05ecb9e2669ca744eb19d4f737321ac7d04fafd18beb7866e0fec9dd063953ae1f077b44b9c6f54db1279", + "0xb6b3788a6c7bcaf467d19daf6ab884d549aa866970c05a9181f544ff190d043192c84fe437a75a30b78b425461cca062", + "0xa270684903c61544b85a7041e81f65e787e1c1e23e57538fa8a69836bed0ca1673861dd29f743a1280f2f38eddd3aa83", + "0xa9c2397c4773dcad2821266dadfd2401d013d9f35de6744f2ec201f3507700adb1e6ec4f5a453be4764da8bf68543f26", + "0x83a3025ed6fd5df9d98be32a74e10a0d9728b560942d33ba028536fb148fc34ae87e92be2df3e420a8dfec08da495982", + "0x90dc70c183a90bab988b4a85b7b921c8070af0e5f220364fe11afa0722990b2c971e1e98eef62d3287fedfd9411f1df7", + "0x82d940937a6c636224d04f8e2536f93dcf20dc97a5f188875ad76c21b804aef9af10839419b61143c1f88a695959a6b4", + "0x8017f9473ce49d498d6f168137e77e62fe553e5a51e75b519cf2cbd1ab9afdafad80fd5e6fd0860e640b0d78ca8ed947", + "0x80573a0ec049fe1f7b3013b2839e145cd87e07c0e43826a29ef8c92516f9a30896c2ffcf3ed77ed22a6cf3101b1789d5", + "0x953349abd2559f9824db07cec857ad54f1a05018f3076425f8dbae37f8d92a46af2c04ab7c8ec0250449541187696e98", + "0xab7bd2c4f05ee9a9f252c4e16a20993a12c535c3809d124bae24642616521a9768d3f19eceaf8524583f47ae1f527684", + "0x9883b77ee834ee0112ca2f366d2a6fc213e0cf454e061438c2901a5ba35b7378f64da8adf6a476eb1562991ef5b4a5bc", + "0x89291811db308637356dbf7ed22cf07bfce33eb977734ee346e8c15a231b35d8b4443574f3fa97a40867b3e23b0bbfa4", + "0x93d753849d7d9588d39e38217500b123a6b628a873876612d9f98b5d611f52c89c573432d2176752b5d1cc2d94899b8b", + "0xa45add3c4844db3b7a237295fc85fddc788ac1ec395a0524d2fc90a539571a247146aea4aa10eec30a95e9617c85b98d", + "0x90f94578842db7a4de672da1e483858ece5e466c73c12f725a0fc71f42ff880c9447a33fa9096839bee817536f2591e2", + "0xb2c1b6fb031bb30460f157356562b44b4de096a0a112eab4fb3cc500aad38bc770da1fc2e73caf687a0da5e8537049c0", + "0xafb15e15fd930929c0e3c66482068a5afe0c7b7f82e216a76c5eb1113625bfa0b045a52259d472284cfbaf4796c71456", + "0xad222a9a3d907713418c151b8793d5e37634354322068f8206b9d0da1a3f53b0004193713d23ec35990639a1b6c2e075", + "0xb44a128dce97e8c4b178cdbca0a5c1b3f6e164490fac0fd68dbfe0aafa89920bb4ea420a8527e06c80dd19c2f135e3ef", + "0x8596e993ef18b8d94e9c42a90cb7060affc586b8e9b526820d25124285de5590134e2e86592e9dc4dd45ccf5d578fa60", + "0xb71bb0ad138141ed506b2253e84110d2db97cc2d24a3fd0d096b0022d9f38f87aa74e2f505074632d64e90bcc491aa30", + "0x84841eafd357309de47b92ca5ec163dec094a2e5271bc65898c31932e0160bee165e4decb23af339cfe09c83e1cc5441", + "0x8a2915ee39a6fd4a240b98533d7690ef1773ce578ed1fb05ed414ebe36f7ef289fa46f41768df57190438c356331e329", + "0x90bb337165386f1990cbd8ed2e8321ef21bc18125b015b4da0c37e5fcc446b26005379ee4fad8ce9348ceb4ab49e82e2", + "0xb707b50ea2ab05c6d183671587f25fe29eef23fe569d731459a1ac111a0b83a2cd65b88242876b34aeead3b05a15d745", + "0xae1f159f79b7996315c4f9acce7e21a6ed59d4ef76331196fc86911fda3035edd5c11d568b105175a36c948d0263b382", + "0x922bc525bace05e5dff6b5cabde5469ddd2c1c601f7131abc04ecefdd35095e6ac015b1aec3c3b25c5dee8d139baf60d", + "0xa7b060405b2740f82db64683187b1bb89e5f40c8438663c7cbc8ef2513929fe5f92625667a7f2f599a72a96b1fc8f08a", + "0xb9dfe94a08651db5efefbb813269bce80d814e3089b80c0654491e438d820bf521f8a4a4477909344ba88f7683eebb43", + "0x841817a9729465743576950b6e8eea32ebf39cca99ace86c4792f9f35926e2d6830c52854a3b2eaeb61694e6845008bd", + "0x934128034bde8fc7b93b952aa56e0ed28b36cfa04cfa1f0d5b38266dd40beedff5e0bab86e4717b0fb56c56be2eae26b", + "0xaee9d64caf28596308782cd8f3cf819506daf3378f86157ff775e618596411adf94efd0e9542787ca942066f02cbd332", + "0x85871184db314411a49575fee088c52ed5dba4e916ee001ec24d90898a0154d9790a06aa8a707ca7a8b986c0293b8d89", + "0x8d3d87edcc0187a099c97b581a598d357a41ac152303bb27c849eb78e72e15cb97cf9a0468fc36f245c3e152c76bb7dd", + "0x900475d165dec18b99eb7b5f9e9ad1d2d4f632e55fdcc4c5ecd7775fed462990e6aaafe9c669f40508f9b15f00bda31f", + "0xa25b5954edd57e7811a0d18532043d975c7b44b80f65cd630935d7b16ada05f30fe2b7be7ae8a2f54c25957faf3f1950", + "0xa089019afa3a7a15f7e7874e73b6773c0a824e6d3379b4c928e173321fb165ad979a6be004d394c28d19d410b2655d3e", + "0xb28f46797dee0c538bd3de815df641a0ef718ad3e52b2764aec380d6905b38b50ad6f60d0f68e096ca39960ba7734355", + "0xb0ac155d3d05851b04104e6b459f1a68e9e155437c92421a7c0e4dd511ef89cf71dfa3cc920769492ee283a65ebf029e", + "0x813c69a810745580d43d5b5480f0ba81000fbef0071e6b655c7346bef5ed774e9214a7816d40eb1774a5bd033767a046", + "0xb176345ca75c64f10ec33daa0dcf1f282b66a862fcd3d8d66c913f9a02db4c9d283dadc02eff13aaab94bc932a42234e", + "0x92560f67e5b995db4a489bb86ee78b4aee0800143b3535ad557a53e9e08716bd0202d9f5714722c2a5e8310046e3f5b3", + "0x8adb427bad9cc15fc6c457a96a6750dda8c46d859c5f69bf0e7ab8fc0964430b33967fd47cf0675b6ba1757f91255e6e", + "0xb120f723b80389a025b2daa891b140b3d7b8d520ae2a6a313f6e3d365a217af73292dcb249dca1f414ec05e865e3cdc7", + "0xa61a5d261a8dfe5996c42ea0a5ae703a2adcfda80e86837074d868eee16f87d38da19596c48b55dbd7a7cbec1a9b4996", + "0x99dc921eacc6bb867c5825ad4c83bc4af9dd78a18b3d0e1a60ad493e3805b8fb9b7922b577da1adb3d805edfc128d51d", + "0x85455fa165a07282aaab4a5bfb88027f47b9532e4af8195c048515f88b0db7e80f42e7a385fd4944faaa7f2a6544ad17", + "0x96dff2d1c8a879d443fe576d46bcceaf5f4551d2e8aad9c1a30883637c91090de99ad5eec228eb5febf93911502d3cbb", + "0xa87eb7f439377fb26c6bfe779701f4aea78dd7980b452a386afec62905e75217a1996c5234853432a62ef8bab21c31c3", + "0xb598278293823e9ccb638232a799211173b906444376337fdf044d0227d28fcc4c5867e6ecb3200e59ca0b139e71cac9", + "0xaa6fe147edc95027654d68140f428ec53cede3552c5f49c09d18bc6f6ae8c739a63042eb7291d14d717a4e1f0778abcb", + "0xae8ee18913d328b2fba71efe65526d3ee9c81beda53cf776baec4019ea30212010758cbb5dc85ed6620ce04b189f01f2", + "0xae9fb686777e88dffdd42805fe4114aa0da1b350d92a27ff3f8a817fb25af1fcfc9a06155affe0273bf13caad16a5351", + "0x95d372ba3a2ee38371538f34aae91b4844488e273f70c02f1992370f89fc2343eff95692d52ce9f21206abbee4959958", + "0xb15260376f0a34ca2827ff53acd7eaaef94c9acc2f244b36500423069cb1cdaa57ac8dd74adb5b53d0fd4265fcbb28ea", + "0xb0ffce6a8059537ef6affdbbc300547ef86e00109289239b0c6930456c562b4ed97f2e523963af17736dd71b46c44ac7", + "0xb5499a1277d34f9892f7579731ff53f423f2ffffa9ea43a6e929df8c525e301396249a2324818a6a03daa0e71fcd47b3", + "0x98dbfb8e97a377a25605a7665d4d53e66146204d8953afda661ae506858c5cd77ff7f21f5f10232e06dbc37378638948", + "0x84177e27e6da0e900c51f17077f5991e0e61bff00ca62c1623e627c5aea1b743f86eef6d55b13219a1947515150bade6", + "0xb50407bb5c61b057ab8935df94fd43ca04870015705b4f30ceac85c1035db0eb8293babc3d40e513b6fb6792ecbc27a9", + "0x988699a16917514e37f41ab5c24f4835ed8a2ca85d99972646fcc47c7e2a83c2816011144a8968a119657c4cda78d517", + "0x920c43fdcb738239ad542cb6504ab34498bce892311c781971d7db4dec70e288676de4d8697024b108cfa8757fa74035", + "0xaaa106329aac882e8d46b523f126a86d3cee2d888035ce65c0be4eaae3e92fd862f6ac2da458a835539cccafaba9e626", + "0x96e4c1562d14b7556f3d3e8a1b34ea4addc5a8170e1df541dc344728bcb74cd1630eb7ba4c70e9c68fd23c5c5d5a729b", + "0xa616ac5016d4e68e03074273cd3df9693ee0ce3458e8758b117a5c1bc6306dd2c7fad96b1bb37219c57ac62c78ad7a3e", + "0x8db7d9b20abfb1445babd484ae9e38ff9153ac8492230d7591e14e3fca7388a5ca6ef7d92ed445c8943cf5263e4a6ad7", + "0x88464134221aa7134878eb10928f31c8bd752ab68c27c9061c1de3f145c85731a4b76acdc7e939b399b6e497f9e6c136", + "0xa5f7c794f70b7c191c835dded21d442b6514bab5e4d19b56f630b6a2f1a84a1d69102d7a0dcca256aab5882d3f30f3ca", + "0xb96b6f98b6817b5fa6b1b1044e2411bdf08bf3ffaa9f38915d59e1d2b9bed8b3d645eee322ee611102ce308be19dbc15", + "0x92c26ade2e57257f498ac4ff0672d60b7ea26dad3eb39ed9a265162ccd205c36b882dba3689758c675f29e20836b62d9", + "0x8379a0299e75774930577071d258e89e471951642b98e5e664c148af584d80df4caa4bd370174dae258848c306f44be5", + "0xa0e53beda02bd82bf3d24bd1b65b656238128e734b6c7a65e3e45d3658d934f909c86ca4c3f2d19e0ac3c7aae58b342e", + "0x8ca5ceaeaf139188afd48f9bf034d8baf77bbf9669791c7e56ebf783394d7fcdf2a25fa4bdfcddfde649aa0dc67ccccd", + "0xa8060e6448844e9db4e9fb4da1c04bcf88fda4542def5d223f62c161490cf1408a85b7c484341929c0f9ce2a1d63e84b", + "0xaf6e1a5ecf50b754bb9eb2723096c9e9a8e82c29e9dcaa8856ab70074430534c5395534e1c0ed9ce98f4b84d4082fa67", + "0x81c8dbbef98f1b561e531683d5ae0f9b27b7f45dc6b2f6d61119ca0d559bf4ceb676d320afc5aba1811eeef7547a59d8", + "0x85b46cd64d605c7090a2faf1a2aadf22403b3692b3de1d83e38b2de0108d90ac56be35b0dca92c7a41c4b179a3567268", + "0x8dd3cc3062ddbe17fd962c2452c2968c73739608f007ad81fa1788931c0e0dda65032f344a12249d743852eb1a6d52a9", + "0x8630f1707aea9c90937b915f1f3d9d7ba6bda6d7fdef7a40877a40c1ee52471fd888f84c2b2c30b125451b2834f90d3b", + "0xb4a747e0bd4e1e0357861184dacec6714b2b7e4ee52fa227724369334cf54861d2f61724a4666dae249aa967d8e3972f", + "0xa72de682e6f9490b808d58f34a0d67f25db393c6941f9342a375de9ca560e4c5825c83797d7df6ed812b71a25e582fff", + "0x8d5ea7d5c01f1f41fffe282a334262cc4c31b5dcf31f42cc31d6c8e37c9bd2f1620a45519dab71e108fe21211c275b6c", + "0x8ccdc7e3642c2894acbf9367f3e99c85963cea46dc5473d175339a2391be57dd8815feacadec766e13645971213b9eb8", + "0x858e9b5fc8c13b651ff8eb92324bdda281db4cf39f7e7bd0472908b3e50b761fa06687f3d46f4047643029dc3e0ceeaa", + "0xae20d36c70cd754128c07cbc18dcb8d58b17d7e83416e84964b71ccff9701f63d93b2b44ec3fddc13bbe42ebdd66221e", + "0x860dbf7013da7709e24b491de198cb2fa2ffd49a392a7714ad2ab69a656ca23f6eafa90d6fdc2aa04a70f2c056af2703", + "0x8f809e5119429840cb464ed0a1428762ba5e177a16c92581679d7a63f59e510fdc651c6cc84d11e3f663834fcafeafdd", + "0x8d8a8dce82c3c8ea7d1cb771865c618d1e3da2348e5d216c4cbbd0ac541107e19b8f8c826220ca631d6f0a329215a8d6", + "0x86e3115c895ae965b819e9161511540445e887815502562930cedc040b162ecb1e8bdc1b6705f74d52bf3e927bc6b057", + "0xb9833b81a14115865ca48c9c6a3855f985228e04cbc285f59bf163dca5e966d69579ea4dba530b1e53f20bd4dccdc919", + "0xa71f5801838a6dbb162aa6f0be7beea56fadac1a4bcd8113a0a74ab14fc470a03775908c76822d64eb52a79b35530c05", + "0xa77ab73ae94b6d3378884f57eee400eff4a2969aa26e76281f577a61257347de704794761ea1465dd22a6cc6304fbc4a", + "0xacd1c5df3c487c04cf27f002e81f2348a0119349b3691012526a7b0d3bf911cdd3accbc9883112ed2ba852145e57fe68", + "0x8a28515a48832ac9eaf8a3fb3ad0829c46c944b4cb28acbcdbca1d0d4c3c623a36cda53a29291b8f2e0ea8ee056b1dee", + "0x846bafca11a7f45b674237359b2966b7bf5161916a18cf69f3ec42c855792d967d3bf3f3799b72d008766206bb7a1aa3", + "0xb24b341675b1db9a72c3405bbe4a95ccdfd18fa96f876ec946ccb5108f73e8816019998218a036b005ef9a458e75aeb3", + "0xb99c267b4a09193f3448bc8c323e91ef5b97e23aeff227033fe5f00e19bab5583f6e5fcb472ec84f12b13a54d5c0e286", + "0xa088aa478dbe45973b04ecafbcbd7ee85c9a77f594046545cdb83697a0c2b01b22b1af0b97dd75d387bb889e17f17aa7", + "0xa0c6b0cdff2d69964134a014e36c3709d9e63f6463c5cd7b01b6f0be673731b202d577539d89dd57a888326da1df95af", + "0xb4e6dc4ef11b2b41794ece70a8968e56705199d183366759568b6fa845d2cae127486e926b5b27ae9118bb21d1682c1d", + "0xa007804353f174098f02540a57e96227232444d5ae0a24232c244647148b6c049848cbd2b50d0a25af3ca9164bfff8ee", + "0x873fb034cc39c9cee553ece908fbf315f62efbc412b9afdde6a1889326b7f6f813e050b0601ba9921688e958cb75942e", + "0xb5676c90f0106c40d8683299e59d564f505ec990230cb076caef3ae33f2021e6aa5c9b27bb8fead05fc076df034c28f5", + "0xb5a67fc4c5539ad1ddf946a063110f824f7f08d2e4d30762c9d437748c96c9147a88efc22260573803ab545c18b108f2", + "0x817ff2b748a949973a91b69b0ec38efbd945aeb26a176d19f0fb76e261c7526c759e6f5516f9ed34de6eb1ac7838c9cb", + "0x99b76bda3526a5d841e059010fdb14eb2fa035a7d10463373a062a98c3c1a123e2da0848421dd7546d776438fd05e304", + "0xaa0d363270f90d56bbee7ea577b0c358532bda36d9247af6c57d000044a97ba41e35bb0db438f4c94551c6350e4e0674", + "0xacdae205d05f54b9544be96c9032350511895ccf413dbbc56d1f03053185df22a6d5b7ffcc3fbe96c3e2ce898ccfa73e", + "0xb091c220a1de18d384f50dd071dca4648ca4e708162c52a60e2cedc0188e77c54639f75bce9a468a64b2549119c07ded", + "0x878676133e5c700b1d4844564fa92a9930badb5293d882aa25ee6721a9f2cfab02088c31d62cf1342ae3edaea99a1ea0", + "0x9756d0793e6aba3b4dff48100bb49a5ec08ec733f966cb438379b91caf52fc2a5930830ec3f49aa15a02c82c1914dc7a", + "0x9722f760184d3b2d67cb2cea7fa41b1ff920a63446006bd98c6347c03d224d2d8328fa20ccd057690093d284b9a80360", + "0xb5a68489de4f253715a67f0879437bfe8f4dfc4e655ca344848980e6153b1d728acde028bb66fd626fa72eedd46ff683", + "0xa8cfc900b34835d9fd3add08044636f69614eff9ae929eac616c39bd760fd275ee89bf24b0f275dd77a66e54fd6b94e5", + "0x89967479bebf70b2893cad993bf7236a9efe4042d4408022fdbb47788fabedcec27d3bba99db778fcde41e43887e45af", + "0x889235938fcec60275c2cf0f19d73a44d03877d817b60bb26f4cbce09db0afae86d42d6847b21f07b650af9b9381fa82", + "0xb7fc321fa94557d8fbdd9fff55ab5c8788764614c1300d5ef1024290b2dbb9216bce15cb125da541f47b411a2e7e3c2d", + "0xb11b0c4dc9477176b3cda6b17858dbd8c35a933ed31364801093f310af082cb5a61700f36851e94835c5d4625bf89e32", + "0x9874e54d2939ee0600f4194f183877c30da26d7515e9e268fea8d24a675dd2945d1565d9016b62b1baab875ac892f4d2", + "0x90df3a77280d6f1fa25a986309bba9d5b89c3cf13656c933069bc78e6c314058716b62eacfa7ab4aff43518b8b815698", + "0x962b08299a287d77f28d3609f39fd31bc0069f7d478de17539e61fcc517045050644b0307c917208b300ce5d32affcca", + "0xb30eedca41afb6f083442aaa00f2e4d5dc0fda58e66aaf0f44e93d4af5c4bf8ea22afec888cacbf3fae26d88e8d344cc", + "0x847747a22fab3fe3c8cd67f3f1d54440f0b34ce7b513225dc8eb4fa789d7d9f3577631c0890a3d251e782a78418fecfa", + "0x8d1ef3cb5836e4039b34ee4e1b4820128eb1e8540e350309e4b8fea80f3ae803d1f25f4b9c115482b324adf7c8178bc7", + "0x8f8a2b0b0f24f09920b58c76f7d99ec2eb2e780b5a66f2f30a9ed267dcaea0ec63b472282076c7bf8548211376c72f6e", + "0x831ee6dc8889bbf4d345eaeb2f425959c112d2190764abbbe33bc44e1d9698af87ff5a54d01fac00cfee5878dee7c0f6", + "0xa7eb2479ac80d0ee23f2648fd46c5e819ad3a1f4752b613607ae712961b300e37f98704880ac0a75f700f87d67853c7a", + "0xaa4d1b9cec62db549833000d51e83b930db21af1d37c250fdc15d97bc98de7a5af60dbf7268c8ec9c194d5d5ccda3c1d", + "0x87396fd7e78c4bcf270369c23bc533b7fb363ca50d67262937dab40c7f15bd8448a8ba42e93cf35fb8b22af76740d5e1", + "0xa958b2a9ffccbca13c0c408f41afcfc14d3c7a4d30ea496ce786927399baaf3514ff70970ef4b2a72740105b8a304509", + "0xa5963a9dd3fe5507e3453b3b8ed4b593a4d2ced75293aee21bfed7280283348d9e08bf8244c1fce459aa2470211d41ea", + "0x8b06ddc3359827558b2bb57caf78b3e5a319504f8047735fcc8ec0becf099c0104a60d4d86773e7b841eb5b6b3c0cc03", + "0x9437e7278283f6d4d1a53d976c3c2c85c5fe9b5aec7e29d54a5423e425b4be15400ed314f72e22e7c44ee4bacf0e681c", + "0xb56067ee26a485ed532c16ec622bb09135a36c29b0451949aa36fee0b0954d4bf012e30d7e3fc56e9f153616b19349bc", + "0xa5c72f7f5d9f5b35e789830a064a59c10175093a0ce17654da7048827d0b9709b443a947346b0e5d96b5ea89b8d7c575", + "0xa8318d01182d4c9af2847a29a6b947feef5795fc12e487a30001cc1ec482b48450c77af4837edfa1aedf69f0642c7e5e", + "0x82ea421c091552d3dafa7da161420cb5601b819e861dd2ba1a788c3d1b5e8fa75cc3f2b0db125dde8742eb45b335efa2", + "0x8679fd1c7771ea3b12006d4a972f4f2892e61f108107d4586f58ee7f2533d95d89b9695d369cdace665f19c6bc3bc85e", + "0xb5ab3e8adee4c950fce4d33a0e2f85d3d886e60a6e2f4454b57bc68725f0cf246372d863167482cce1ea10a7c67c3af2", + "0xa85696927075ec188979180326c689016a0dc7a2f14ae02ea27c39ef91418cd44177d3fca5752cf6b298fd75fa012e26", + "0xa44f87b7232f102cd092f86c952a88afb635484a984da90a41a57a3d883c9469064bf105b9026024090486b6c6baa939", + "0x866ac91a437db945bbfdc11fcee583f3669fa0a78a7cecf50fbfa6ed1026d63ad6125deba8291452bf0c04f2a50e5981", + "0xb780d5a1e278fd4eef6139982e093ceafea16cb71d930768dea07c9689369ff589d0c7f47d5821d75fe93b28c5f41575", + "0xb025d0046e643506e66642c2c6a5397a8117bbfe086cee4175ff8b7120e4f1e6794e1e3f6ec11390993cca26d207ae43", + "0xa04a22b6e28c959ab265c7f48cde42bb6a00832c6beb2595b5df2879080a9424890960417d7d7ceb013d697d0ebf7267", + "0x81de9c656ac27f54d60d0252e33aff4e9e9e9c3363a50740baf15a2b9061f730a51ae1704e8c4a626153cf66d47f19b1", + "0xa15fab90599df889df11fa60c752948b68fba54005491180dafb66c5775547976d0eef33945e55d4818653e0818c6f92", + "0xb06f9be44ddb103a72fa4ebc242c8ee1975fe9bf9ef7124afeda9967ff3db644dbf31440151b824869406851a90984a2", + "0x99abdfe6806ae5efa2d11577da17bd874d847c5f810460148bc045bcf38c4fd564917eacb6ed61bb9164ed58055cd684", + "0xac53231077f83f0ae5f25e52b70bb6105d561c0ba178040c11c3df8450c508ed5df34f067fdaacf716f90b4926f36df5", + "0x99e3f509af44fc8d4ebc693d3682db45fd282971659f142c1b9c61592573a008fc00502c6af296c59c2e3e43ed31ec7a", + "0x98f2f5819670aff9a344e1c401f9faf5db83f5c0953d3244cfa760762560e1c3a3c7692bb7107ea6eaf5247ac6fd7cc8", + "0xb5b9f90391cec935db8d2b142571650fcbb6f6eb65b89c9329e84b10bfa1c656026674d70280ade4ba87eeaf9333714d", + "0xb0696b77ca8a0cdbe86cad12f358880926906fb50e14f55b1afc1e08478ae6376215cbb79bc9035de2808c7cd2b13b85", + "0xa51d746833062a65fd458a48a390631d5d59e98e2230b80d8f852cfc57d77f05eefcfd3c395ade1e86d4a39c2141365c", + "0x812d67654319f4ef3c9e4a2d4f027a4cb7768f1ea3f5fdde8d1b79187a4b874ff9a5c70f15b7efa079c2dc69d1b9b1fe", + "0x968978b653c6416bf810f6c2ffa3d1abbefbd06f66b6686e9a4fdce3f869e0ab1e43cce14dc83786596761c100ae17e1", + "0x98e1e6ab562ca7743783b802faeb0a24f1341abfb9655f106920aef08964a3c0e8083e1acda7ae28fed7cdd5478decb6", + "0xa91c0b982a0a7085a103600edf99e9d0bee4c4e7db6d9f8f376c215c7d42476218462a3765f2928e12c3dd49d688e4fd", + "0x8a43395b3124fab9e2438635bf88952e8e3084dad7ecb3a9927f9af0e0887bce4707084043671fc98ad03621e40a149e", + "0xb0b37626143d4a8c6f5693d5f1fe871525b4dd946c4239cde032b91f60a4d7a930d7ba28959737550d71c4a870a3a3be", + "0xb01c74acae1715c19df08d5f4a10e0c19d1356264eb17938d97127bf57e09ced05ba30d0fc1a9f32d6cff8b0d5f91c9a", + "0xb4c2328eb8a5a673406faed8f0aebb8540d2791646e37ce46e0e382506570ca276eb6f8e166dbbf9e0a84064873473b9", + "0x85cb9f769a185e3538e4a4beda9a008694e1bf8dfeea9dc07c5c40a9ceb1d31fcb13cacfaa52849ba1894b5027cb8c30", + "0x8742f91cddc9a115ddc73982f980f750d82d3760f2d46ee4490d5b17c6c3bb57c7d4c7b8d6311b7b41e59464c009b6a5", + "0x948ef86d17128a061e1bdd3ea7fcc7348e3ec87ec35dc20a58dd757d5d18037fe5e052bb359e27ab4c2320d9a52a6a0b", + "0xa70f6a214097c271e0d2d95e30fce72d38c30a2f186271fdff0e38e005aff5baed53739b8c4f9501aa7f529c5cb2da59", + "0x892a7574cf6704ad75b346c95ae6f2668904f1218c35b89b07a0c2dbf3c62173c348f6fd9473926eef56a37c0f635c04", + "0x837e85a41f39b4ded1420aa8fc3be46a7adb99305e0928c6d7643b7c44434b72984cea08eb68f5f803661df0db78c87d", + "0x94e495329f2aab3eeb68f347961d1006e69d990095877a4dcc376546233adf29a14bf6b16a0c39aa477e15368e87014c", + "0x851860a8fdf76a97048396553262637dade27f1f63f926997e74c7c72b14b10293eae7824e8dedffad1aead57c124f79", + "0x90481017a250972055ab1cf45ff17d2469517f10f18c9d4ef79a9bdc97a49093289bbacfefa8a1e491bbb75388b34ac0", + "0x983db15f7463df28091c691608ca9c51095530fa6b1b7b5b099c612e673d29e16787cc9ae1c64370ba6560582ce623c0", + "0xa477dab41014c778a1b78a7ce5936b7b842124509424e3bfc02cc58878c841c45f9e04ccc58b4f2ff8231488fff0b627", + "0x868ebba1c85d1f2a3bf34c0ab18721ea725378b24f6b6785637ee4019e65d4850e051c8408fe94a995cc918c7b193089", + "0x93cbf4238a37ccd4c8654f01a96af809a7d5b81b9e1eab04be2f861d9d2470996fb67367e5bf9dcd602dc11a3e4cf185", + "0x83113f4e696030cca9fdc2efc96ba179cf26887c677f76cde13820940ad6891cb106bb5b436d6b0f8867f2fd03933f7d", + "0x90c709f4e3359a6d215d03f45ad5cf8067aedd4aab03512dd62229696485a41dcd64e2acce327fda390e0352152fce13", + "0x9945cfced107a36f3cf028ba04c653360afc5013858b9a12fac48802efcbc198c9baf3a7f9b23dfdd5036e88bc7274c8", + "0x832ae60192b47fc735a8ddeaf68314b16256c90ab68099f58e43073e249c6939895c544a02fa34e40805bc6b5db33461", + "0x8b12c335818b643c1d22cbc2869606cf64e7ae54a7713617fc4dd3b2f052ebd6b920ca59ba2e9c7aa8cf71bb4f40f9e8", + "0xa2033eb7a373931c65d66989644aa0892ac3778b9a811b2f413d8bf534e282c339717979f9aa742162abb3468c195f87", + "0xaba2b4c37dea36bed6d39323e5f628ab607699c66767f9bf24ef5df1bfcad00c2664123c0d8d5bd782f1e14a06f4c769", + "0xb71963777535b4d407286d08f6f55da8f50418486392a0018ee10f9ae007a377b8b8336f33386b0eb01c45695c3ed2da", + "0x88dc87826941340913b564a4f9b74985a311371c8e7b47881235d81c081f1682bef313c2f86561a038757fb7d6a1a8dc", + "0x869e13e3fcf91396750150f9dc9307460494c1d365f57893fd06fb8acf87ac7dddc24e4320d9cad0414119013ea739b8", + "0x92194e292303d32b91ae9cecb8d6367c8799c2d928b2e2846dab1b901371a4e522fc4089aad8f4ee676f0614ff8b19d7", + "0xaa589a3e512cb4f8589bc61e826a06d9f9cb9fdfd57cf5c8a5a63841435b0548e30a424ca3d9ef52bf82cc83c6cb1134", + "0x81802e0194bc351b9a5e7a0a47911d3a0a331b280cf1936c6cf86b839d3a4ab64e800a3fe80ea6c72c3751356005a38b", + "0x88e5e9e3c802314ddd21cb86f2014948b7618502a70321c1caf72401654e361aac6990a674239afa1f46698545614c93", + "0xabac1e0f85d5c3ff6d54ed94930c81716d0ac92be49e3d393bed858833f4796c2b80bf7c943e7110de7b2d148463bfbf", + "0xb7eb416004febd574aef281745464f93ef835fd65b77d460b6ad5d5a85a24b536b4dec800cfe80ae98489e54447e8bb6", + "0xb3fd8ed1c30e7c15b0bc0baf0d9d1ecad266bafb281cd4e37c55edc76c202fb1e4ea315a91a2848f40f481793ae35058", + "0x86ef674ddf4b7d303c68bbfb53db00b925ccbf11d7d775ca09e458f4ecd868ca828103e8e7cd9d99672a193e81b83923", + "0x95ef414e9f7e93f0aaaeb63cd84eb37fc059eb8b6eced2f01b24835b043b1afb3458069c45218da790c44de7246860c9", + "0x93ec8f84c20b7752bfc84bb88c11d5f76456136377272b9ac95d46c34fce6dcfc54c0e4f45186dd8df6e2f924f7726ab", + "0x95df5f3f677c03a238a76582d7cb22ed998b9f89aecf701475467616335c18e435283764fb733fb7099810fec35932ae", + "0x8cda640695c6bc1497d19b9edc5ff4ea94c1c135d86f573d744358758f6066c1458901f9367190dcd24432ae41684cf0", + "0xb19aedf5569435ff62019d71baa5e0a970c6d95fe4758081604f16b8e6120e6b557209cdea0ccd2efec6ff9e902d6ce6", + "0xb3041f21f07d52e6bd723068df610aa894dfdde88094897593e50c5694c23025e412ef87a9d16cadd1adbb1c6e89ced4", + "0xa7f8d6ab0a7beb4f8d1cfef6960ebdaa364239eca949b535607dee5caeff8e5dfc2a9cfb880cc4466780c696cff2c3a6", + "0x99a565b4796e2b990bfcb234772d93c5ffdbe10453b5aa94662272009a606ba6ea30cc0c3c26aa22982c1e90738418a5", + "0x90c54b55ff19157c1e679d8d4f7f0687a70a27d88f123179a973c62565adfcc9347cfe31f54539038cf2f34556c86870", + "0x8612f34bcd018d742202d77d7ce26cf9bc4e0d78e50ddf75250b9944583b2c6648f992b635ea13fdaae119764e7c28d5", + "0xa04fb38e5529bf9c76ec2b5e3a1ef3c6f9effb6246c7f67301cfed707356ba1bf774f2867c77a5805933f0c8ad0ec644", + "0xb4800e7b503da0164885d253135c3b989690794d145182572181995e6fa1989f3d0324993e871bbd5f48fadd869d8a18", + "0x9981cd4f28ae7b7dadf454fb3aec29746dc2e0ca3bd371b2a57cd2135a7d93559e02132528ccd2d305b639d7ac51613d", + "0xa3ceec012dd1fbad3ef9f9f1d6fe7618e13d4d59e3f50540d2a57010d651092979c75442ec8b38a1ab678505e30b710d", + "0x8b97b8654d067fb4319a6e4ee439fb8de0f22fd9db5569ba0935a02235cb4edd40a4740836c303ec2394c59a0b96308b", + "0xb3d1bf4410fec669a269622c3ce63282c9ac864620d7b46c9dfcec52d8e79b90c4c90a69c32763136a7f2d148493524e", + "0x93174eba1e03f879e44921084aa0ee3562e48c2be49085de96ed7621c768ff52324d14c8cc81f17d7ed50c38ffb2c964", + "0xaa2194cd0fb7aec3dac9a1bd8ea08be785926ed6812538be6d3c54218ea4b563646af1f5c5f95cb914f37edfae55137d", + "0x93f2c0dd59364f6061d3da189e04d6c64389a3563b062e8f969a982cd68cc55b4f38b21546c8a67c8df466ff4f61f9c5", + "0xaa7dd497cc949c10209c7010ba4ce8a1efd3cd806a849971e3e01716ea06a62e9d5e122ad1d2b8e5a535fae0a01a7761", + "0xad402424b2a32bca775a66aa087580d7a81f0867f293f1c35580b9e87ccc5a2bab00c29a50fd0d7bd711085ae2248965", + "0x96237843d8e29ac77fc6ebf4acc12946ad11697de8e5f152fe5776f2475b790226a7d156ac48968dd68b89512dc55943", + "0xa45c25cdbb9fc327cc49a1666988af9ab4c5f79cea751437d576793a01c3eeea4c962c05c0947852fe0e4c63e1c84771", + "0x93dcf834a614a6f5484cc4ba059e733ab5dcc54253229df65ff5ad57b447353ebbc930736a4c96322e264e65736948dc", + "0xb9a94f82a82c0c5a26f2c1d5381afec3645e8ee04c947dc3b7ad59a73018db1e9965ab3642f2bbf60f32c430b074fb22", + "0x94eab29b3524ccbe0c4b928e5fa5dd8f684074b332fcf301c634d11083653ffee4f7e92ddbcb87ed038024954ad1747b", + "0xb8dca5f679931d6abef0674bad0639aefad64c2b80572d646aaab17adf5ca1ab2ebeecd5a526cadc230bec92ed933fc2", + "0x944d394958e539251b475c4304f103a09f62448b7d8a8eaef2f58e7de4f6e2e657d58d5b38e8513474115f323f6ec601", + "0x8a5ae1f13d433962d05df79d049b28e63fe72688fc3e6660aa28e0876a860c3dbc5fc889d79f5c4dec4b3a34cdf89277", + "0xafa5278724998eced338bb5932ecf1043d2be5dd93f4d231d05d2ea05b4455f2ffdc0eadcb335dcace96dd8b2b4926fb", + "0xb91153a2f4647ae82fc4ee7396d2ca23270ec7f8884ce9eead7e9376270678edd42dd3d4d6c003dfc2dde9fd88cc6e7c", + "0xadc932f1c679bf7889cb1ff4a2d2897d7973483fa283979a0ea3640c80ed106ea0934c1961dd42d74b22504be49851f2", + "0xa82e90761fae684d1415cee0649bb031bcb325ae0b28f128ab8e3650bccedd302a70de1a341ca8decfdda76f3349cad0", + "0x8ae353188b4b98835f4ef0333cccb9e29e1ac3ec11d554bc96f5880c101cb3c84b8eefe72f2287b0812735339fe66cfa", + "0xb8b41135bb1a1ffb64afbd83e2189e755f2c350e1273cf47c38ae9b8c4800d831436a69458b8ef9fa8b95a148d8ec9fd", + "0x96f75a04d8752fa93dc1eaf85ad333cff4eeec902a345576139e16de3a88eeb71b6726224349bb9844065cc454d959e9", + "0xab82b05e3923ad4c26f5727c60dc0d23063c03f5a4fd8077da66aa87042cad1bd99586d4ab35aa5e4ce6f4da6fecf3c1", + "0xa50c83db91c26ef7bf1720d8815b41bd056b49fd99710943679a162ccf46097a7a24585750ece886e38eb4fdb866fa37", + "0xa719f667914a84f62350dcc6f4f30b9ab428eac6837b70318c3ac491c1e69d48af5e1656c021818f377d911fe947c113", + "0xa148807aafddfa0a5624c7cb9e42468219e4bdb9994ec36bc19b6e6d7c4a54d3a0763d13ca80624af48bbd96d73afca5", + "0xaa012f205daf22a03e9fb13a63783dda7666f788a237232598d02a4d4becec7a699ab493f78d722ce68519262924c708", + "0x97fc15fab5952c5a2d698fd6f7ad48aff1c8aa589f7d3b14285fea5e858c471cf72f09a892e814104fa2b27eb9771e73", + "0x8da8840236812667c4c51c8fc8ab96d20dae8e2025290b9cde0147570a03384370b0fcbe20339c6aff09cca5d63e726f", + "0xb477d85359a8e423fed73409f61417a806cb89c9a401967622aba32bf85b569e82bca1b3394c79e180114a0d60b97316", + "0xb3d6ee2ed1e4c5cf8ba2c3a4f329832e41c7fdcbcda8a3fcbe8f60967fdb1717665610b7c1ac65582534d269d762aa09", + "0xa0b3b30b1b830b8331ee19f96b4a4321a6b93a3395b95d3a895682c65ec6ea64774b878b93514eaf353f2e4be28617b8", + "0xa2b88e9617f4d30ef4e686d1932ad43cd555fadcb5102e51bea19e6fca649284ccf4debb37b5cb2090ef386fa5bf5327", + "0x8a4446f7e8463ea977a68d6217a9046ad4356d6fc1c18d46c5d2ab681ea977b8faff136d65abea6bbf8936369cb33117", + "0x91e7464bc56e03f436228104939ddd50caace5a38f68817bb2991e193b57adf6835152bbf3dbcdebf0382ac9823f60c9", + "0x961a441e6cdf8106c4f45e5b47190d35644faec701c9cfc41ced40cfdd1fa83752fd56c1ac49131a47f1970a8f825904", + "0x94b7b165cc71c2ae82976b8f03c035fb70e90028992b853aa902c0467b384c7bcf01d56166bec5def4453e4d0c907e52", + "0xa5d32cffabbf547f900026b34ef46f08075b7a244565f615370d2f04edf50b094c95088a4a139ce07caf55bcd99afa07", + "0xb4e06e73660745f75ab2f34d9f6d2675b58f80f911ab6dd4c5a6ce1095f9a2b50d86f6ff9a05394190bdf96af0827920", + "0xad3fd8f83c0103b29d41319209dffca201d2b98094362da08da3fd6ff0ba96796b49d6bed525c9adb96c2954858e7f48", + "0xb0c27430695f0fd20ae31e1ec621da090094f2203e17411db9384695ffcf5c7c6badf461ba49ba70164aacebd6f278ee", + "0xb9bc6e972fc3b532fd2b1eeafc4bceb77604885f32132af6a9a842fa2440df452f49ec0cd9d86da1180e8deb0723b260", + "0x9729e22d6104b0174c136a854920f542b384d375040adcebe36acc253bdb55845eb43e34dc5a7cc27d22c417973c24d0", + "0xa8b420b36d48786c9231d454468a6e855dd7f71dcfd095efc9855ee70dbece0f06ad277f7829c5813fc30524c3e40308", + "0x8757dff5499668c93fc5d9cea0a8db61817b8ed407200d623030b5849a913d12f8371b667cfde8d8082026eda7407e8c", + "0xb859ad747ca5af661fbd03a1a282df6e84c224ecea645bc2d4ba5e35fa06cbf047387319fca0cbc76b712398c0798968", + "0x8e3173c27875f1460297af0fa736c945dc842ec3e476a973d3d5f790bf183ad3ffe96ac13868c5101d8e299890791864", + "0xa9d725e2b92c878be42b5eecc2c3081c63c7231ccc7e2dee17ca6a4caaeae22788fab1f1465fcbd7fc236613fc2bae4c", + "0x86f6c4f04a354cb2470ef91914816fd740f8d5795ce7ff981f55a2634695fde5951bbae7a4bbc4c63747040f8644170a", + "0x851773cb26f320f0c3f252d95ea7e058ffcc795dd0dc35e459aa1b6b448238909230d809e82022e64b7fca5d40b8324c", + "0x8962641e0306220d9892fe2d452caa286301a3c465185757be7bce2d9b2c9beb3040280099606cc86773e43941fd3439", + "0x8beb6e08c440b0de5fb85251d39d9e72db4e556a2dfe3dae59efd8b359d08492064cebd8d8993254b43bde8bd67d969a", + "0xa7e047894466ffe3dec4ab8d5462f2b1d8ac0df006b1d2dd26caf499ea857d93a811cf42233f9e948c9cb903beec004c", + "0x92eedd95557a91691a5e2835170390ce2401e223da43b78615a804c49566f9d31cbb7f10c8a8390c4bdcf691544fdba9", + "0xa5e5b5d8fa65824e958bbae98d146b4b332f97ed50e0bc2c58851dc2c174ab71bcbb1ae015cd2955c26b368487dd862f", + "0x853a494eafb308175629d581ed04bed71bbc3af9ca4c0dc483d03d27c993a2bbd88cea47c2085a6928d166fe6938fb77", + "0x83f06b88d29afbfbe8f61811690322ac4fdd6abb9a23612162e7a2dd6bcbb5f14cee298ebebc1a382484f7346dc51e60", + "0x8c9cf05735ea5a0e563490bdc7ed29a4426643711c651e35c8551ca6f855c8458ae8f0933a022d0bb9a952edfed411f6", + "0xb906b48d807748a26cc2a8848455a76ce502261afe31f61777b71917bdf7de2fece419db636439478c7582058f626c29", + "0x97efe1fa7c9b25d8bea79d74b6cdcf88f63f1e865f54b58512a2e60428630b0b40b8b6af1b5f71df47520507548c3cad", + "0x8ef5ca6e753818906bb3fc71405928d8e4108854ef0ef01c1009071b353bc2852e771fcb619d5fea45590e8f61003d7f", + "0x8e4d901661e2913740d70ba4d0745df5e8c9c0a260149d9362beadc7e669630ba909ff0e8a6cc85c54d6b7435d0d351e", + "0xb7c6ba3bebbd9592967954e3a480ee8df1d9f5965f04e7d78a5415b645128deae7ddaf6ed507c8877bfca91ce078e529", + "0x840bedb0ad4e25acf6cd25dee4f98fea495b2312dc5cb7a8388c5ab00b2acb9cd25da08e9fbead145a3107972b1ccd5d", + "0xa8d4578dbafdb27f3911af59962d89e75dea74db55346720357790da677312c203107d9c7911535aa563446fde7d4c47", + "0x86d3b77f231bfa09251b7fd2ce09c27ac520ec35d783e912476f9a4863f83d269eb175790d6e735da9260293d707f8ee", + "0xb34909f1cc033232652da0c34051a769dc76adb1aee00674a59dc1b860f6e610974c3b4bb69a69ccc73e01f042431242", + "0x90799854d0cf34e1d91ff8e101bc7c5007423d34d2f3bd9adea2ecac57e83f3a65a506bb93d4caea49b29f6d18149957", + "0x8ef94cde29b037e19a1ce7bf4418ad3c95cd9457412796ea385750c19a6690f13a3bb5bb6a9ee81e7a40face1e0a8bca", + "0x97053d21ae8d75972fb37f6fe516c38c32ab162fb56b9f510f954858f4e3ef6ac8c3a9557ed3f41b7b6aef05fe97f931", + "0x90a9f9f0f40991f3bddc58b92d40382147db22cce50d092d4a05aad251b46b94e71ec9f7107a180243288059fcc5ce29", + "0xa14265b1344ac2921b0f890d13bcfc432e4f648ce403e261fce4d3bb32ffee9e2794c02830346054f998e82784c77040", + "0x91928402ae121e56a3e64cd6f390127e6e92fbfb1967ec6efa4f52f3e8058f1f41a0f4fe96b5bcc11641c1139e790b2b", + "0x921c8c92b6d40da6c5a7b592acc74fc0f577d93767b9aa4a1cd302a72dbf503a1ea5b2c29fa0d0359bff3b8f252246d1", + "0x93ae0ebe0e8e133fd80cf67a499047e30ec4c4660ccec9d49098717ef57721a030f423e00c5e74af4ff4acf014a10497", + "0x82c865e21905aebfe0496af1c6ac7e342b5f446a9edb4f7da0f2fb0340abfd8e6fc545da874459d9aabe6bce0dd9bfcb", + "0xaee3961d8d2687c0f134b9c28b920bdc4021d925fbe14323c84224a9fe161248789249fb85436a5891d0bbff42c2a3e9", + "0x91aee420b98b6949482b8ff4be996b97245b4e8f583a6e085226539074f42aa89818395efd1a6699735a569bfe19d623", + "0xa48eec22c192e495b01722d0016a54acc45ff837e2a95c4294ce81d5a4e43e0053a6f0ead8a4fb3ddd35faf6607275b0", + "0xa26e15937c11faa30ffa64817f035e294cab0e839f73d29de8a244ad039be4e221eb47ea08d9a4658b0152fc3caf6110", + "0xb84450f948aa7c8682fccb9cae84d8e3558adf2d0ca5fb81eb200415291158720f8f3470542ab5b88c6873ad08e7fa9a", + "0xa8e8ec27d0608d020169a85d6ecdb40eb402f006a3b97afe32cc01987721b3a68a92ec693aeb4d357e189e05fadf699e", + "0xac87cd535ef5699312cc26f86adb71baa0be42e858bd5a2d94ac05737dac63430691e29b9a30d2559ad581a172519b2c", + "0xa4481e67b524f8cddf2046625efd3d75efee6aab87ddd2c1b22835647e918157e5e924ac760db2195c86d326f3db1615", + "0x891f29ded231486ee826840c8895cb325f7e84a5a6d2eac246cb3573612cde274720233b1978318a57ed337a046330a6", + "0x906b6e750e6178289012769807d2598925d7e51c260c14497d8af978b1695990e3352e6e809a752f376597a68083870c", + "0xb7a056898ee1e46f7f29702fb39232f678ec173eccd170303b3b0a30c8d8cf1a5321384e3513e3b03bb742c238deaa54", + "0x8f2f035fd96c3a336354c89ec9b8222803bf42e95fb2412c28d4e75eec99c1d4d402501ccae17357b757db8bdb0bfeab", + "0x81228625ffcedf977fba9cfa13f6edead3985e2651d5974789c394a69401cd7face9e20ae6694be4c0d4bab5e99c61a8", + "0x885a83eae25e61439ad809567a2ab148583402e01cfdd77b0e37ab4038935425c64b4e0886949bf06438c35e80aa13f4", + "0x8926387f48752f6933899c48e038cf14e7941ec6a58bcc0a436614b396296a17aa53e6873803dd3041dae470bd493fcb", + "0x95d0d3fa061f4d856eca78a569aa132db14cede7646f97e2aceb6da0c8ea53195d3b7a566fe5ec8c41b95ecdd89a1c6b", + "0xa3c817f4062ed6aa94064ea695d76c1825f3bf77b310fe1db28b8bedc9aaacbf1019dbd128adfd53042fb943d863a2b7", + "0xaf1208417aa584052da309169854149ede38a3ad63c76cad6e43afb6f1a7b854edf8310a0b00088c039259cedf0f859b", + "0x8b713fc3196bad35dbf364089049ada5477e540d78d76a5f0a9df98f7ba4a0e65dd0644509c149f9b07887298bf74b04", + "0x89c09c43c5b733c4a417cd9ebc0795cc3348b72778d31828a9171427779a82ef023c1a4fcfcdc919ae25056f9c826fde", + "0xa0759c850ed320c8c874435e90ace6edfb8e7b3f2a09d942b8ad8339c508044ee2ee26c70f1b626ec49a77971433b6a8", + "0xb85cbc58d4fd52286e714ac4eaaa0b2743a1de06fa03ddf8f6668ec6f1d204acccce93b10620272afb8c0b49bc4b0a43", + "0x814e0a87384e159892a8d23036985fa3f489c53bce192e107bd2d64f57b1bf5ea0acc1ef46c7a42bbc5cd0924d92b4a0", + "0xaa6821da96ad89d7881b878e141076522f104ea9a5bbdd1fce9f641898f7d6232c518a87a0f666871d7e3165c26081e4", + "0xa9041d714bfc067b5427252186fa3557bad598fc0067dc8521aa9bc1ae298f6e96113db5ac9f6bade9a85d5a950c9755", + "0xb8669340f3064692625e1bf682d34fbe69a61689e3aa6d6a3e822c781d406b0300dba9c3f7b8152a8c2513f1310d4291", + "0xa78c53316ce768a1dc5968030bf4fc885f4029b1ddb6a5d84a61c85af686c73727f62823891edfcb6ccf4545de366cff", + "0xad1d3aa29ea28292ddd438c865e2b5d93f32cdf009e6d5f5dc726de996583925727e6348bf1c28c22dec0bd86aaf867f", + "0xae1447a2062e9e28af5f38aecc60fe150cd10c2edeaf2110034aa144f6235ed7fbce432a58805d4fe1f6b12652d6e1cd", + "0xa32146634332d3303934550705353c6d4fae5fa5985105bba35041e74cd71e2aad67b45da171221f6ed80f36bf6dffa3", + "0xa232e8286184196ea77427b53d8b52c44d758ecc42d22556529db3136379b4989dec61cff610cc6cf6700a450a847a94", + "0x8a72c7255125a736da52dff5f77e44c3de29f88fc05f5ff9227c69df296930caaa11446595e6bea3bd946baac5ef957c", + "0x9688a981a9457678067f629f8efa6b522e7318b529f88d37ef56c5bf8f1c34fb9bb3a918ab73caab82bf5abb0c03518b", + "0x88286f3eabd71115fc3b17a6bf6981340a81cf7e5f96b0a1a016d4ec8c18fb486d46c70919123d0c189a6f5d6ff29a1e", + "0xb535e701b40d793c02ac0d625ca91620d3f4a512aa9741f71389e58381008b2f93d597586d06213c4e103d67d0ddf6c5", + "0x80d0c9dd941e8d8d3700cc51a434a5aaa3308cf8ebfd14128ccfd258f826b27cc3cf5c3ad7851340393abb1eeab3a157", + "0x87049225fa2380d93f18d3d90cb0697a56b373b66d7f24ab209966aed8b55a2790194d5885399db29dd5b1f189eda64f", + "0xa52df158ce8670e0290551e8878d63dd33b4759d6f50e448e63fc7fe6ea99dddb6f180be5fc0fc3918ce54c05f80b356", + "0x8b2a728b39c465fb0f60b0c486e5dc8d5845ccec03d3dd93b393cedeeb3fe1b44518359f1ed55fc770a8f74bfeb9923d", + "0x91fc05419dba718fa4a910dcf256ebea356bbea00522d8d5ec3e7ba4271a26035aac15e8d9f707969df1d655d92dac55", + "0x97c8779ae80c24c1f82d5a714762d6ee81069224e39515e41d8a71c9310dc5d1c55cc92bc5c6a4bd391ae4c321d1d4d2", + "0xb5e5aedba378c4484e3a7a4ed41b75b0844f674261c2501497de6f91f7274b5a4c1be0e055f2e0c0cab843d891169fbf", + "0x8a26212f27211b295beea500abc8e9d430a8500d3a350cc62f895d39e8b4668aa638c17633804ba353010000165637ae", + "0x864a95118e5d394e00e99efebd505df0125525c9ebe165764c453b80ad3edc730feebde3d93850745dfd88a27bb8f20b", + "0xa092e0b78290e826cc1ae56afffdd08f7c10954f549a3ea6666f3db1b6cdaeb7df53db28dd2a92446342930fe60a27ce", + "0xa1720224c0626a081b6c637b2a6d37da85d9a82241e5efef3bc15699b02a69f6304e43d8ff3144d60c16e00225d6b39e", + "0xa7b3d098cebea9cf32e19c5195608182b6afe9d4af6b9df532c047eb7a941a971279b2ae6a4b80f2f9d9313a6d788ce3", + "0xa3d2451e6788944802c5077a778d7b7299dbb9d1612676bb6baae78f39976e0fd879493cc4a4d737b8174b472a456850", + "0x930121b73da844571b1411d56760e80923a4ee09917b3e9cff4d3dcb0bc27026ff2c4e2c44e7aca7d3f8383f129c7f9b", + "0xb4b0119d163ee00a2b74bdf188a5cdcf054daaa48c483b94bbb4d09ff615afb4a91347db6363bc7535e2af9054ec2214", + "0xa5846decee706780201095a8cdd48fbf3d3a2eac8d089a818e5e22c29457494bbfb4399323b067f3d2be2197c33dbd98", + "0x96ba600df10ee7af5a9df29c0ca31dbed275d647faf9c66c7342de927ceb25b5bdd852dd7aae0228b27897f90fdd5d62", + "0xb6ac51ddc98edd9fb9f54ef84bf372a041d58dfdf0dfdbdc4b08ddc1a7ba93ddbb1413dda3c1545a3fd7386c6b85975c", + "0xb35f3efd91a0723e0d486188ea9675a3462106470455118392d7610470b623caca2fa33829721c05fbeb0fabcf570bfc", + "0x87f49e85df5f8055714a8ce7adf37f6a278e64e76ed74c60abe3edfc3611ef5b0426d4c6da45e5f3b74d30be1dc6f539", + "0x8ff8bb06902a71b1e9177a77367318b2e3e0a88f5d74d6907ca9943f4f9f1ceb5f297132c2a025259d17a67e880d1bad", + "0x85eb6de6c70fe5c53ab0ab27aa0fec439f136c979c557d317337cafa6e6c5cb3169679c9169567dec5f6c72b3c057d83", + "0xac18715ed1080771d760cb7066c6328faf65d9b30517903f8a5cad8d66d5c6381156b521107d7cd75ebb8c30e250706c", + "0xb95b9eae4703727e4ac9ddf2ae675906487bb78905a5f9cba74a4cbfd118d96b7afb6ef3ed5edf14fd963b830d71338c", + "0xa3b47b52fda16b62b11c8aa4daa56b0b669c4d5c56a3059b7d063284d8a91f6fff9ccccab23d6ceb9650483b2d353039", + "0x96a95b3f327df94c85e92f2e406f1649ac621533c256b062738f3c3ee137059a735a3e6072247acf57b1b0d8c219bd7f", + "0xb19b33cc04570be94eae8e943d5bb17bb0c96e9de4ca84f9f41b37320a1a03d397d53747dc13275fef1b356de557214f", + "0xa1faa3dcb931dd91507f3f12a17c43f6627fa2bc5c71fbdd27548e091eaaaba262477949cd51290e81196bffb954a492", + "0xb060a16079dca1d28a1fb33cbc26f368630ee042d980ce305230005d5b9ab533a7a695281ab76e9214458303932d8bbc", + "0xb303783196a858fe45d67e0520c30576da605fd69964449c20009fbd5099cf1de52a32d326d7c3b864de07440195ef40", + "0xaa550a4c20d1003d137ffd8fbdc1196d09ad53cfa0e202302093a80fa3bbc4c9aff83f34f2151785cc1ce5f30255693b", + "0xa7f8585f45566a351058e10c6f1ff4a7ba24811f1482a47202f581525615ca770da93f2f58878788b45b92cb446ef4ec", + "0x8206f63a9a5b59bd68e64a843e68fcdf706f4c13bbfcdfa9928298e5b9251006ae0bbd80c715aa3c9957d2c0148b5059", + "0xac9490abe1241319658f1c2c645cfa01296f5d4106020c7894b7ba4a65cdd52f6c5401bd3b3cf1c9863e088cd8c9a16f", + "0x85dd6d9c80a1b58c24c4d2cb7590d33d2454f381f58e820979948e5831972360cde67bbd56e1860077ef5192fcacb904", + "0x8b0285944c676fe2519cb68da0973275fa29c0718d838d363ce46651b068d29f867cf9fe579ff8da0bb8b37d202bb23c", + "0x95147275da658d43a758b203b9ca1f1c1478853e9bf77b5218593142e2bd9c0bf46d2206ab64cef99295de6e9a268edc", + "0xb8efa187fdd3e1f46c15cd596e9567690c10e253b5beaa5be8074b6ea4e6d3d06e0f2b05323453239e419ae1e7128521", + "0x8340464f52c92e31806fd3e8e65f56e27194d1f6daa4a0f0b3831e8102aba16f88bb5a621633ddb7dd0342e1d2d12343", + "0x8615d87dcab85a78dc052f05a01e751176b756b5dc9985014347454ce5752f459dd6464e1c5aff36cb6c51b783fa2692", + "0x80c6e35c0d3defbe4d3968792724a23f0b8830dd2fac58663583a49339ea20f1812cc4140e3ee867c7e716177319bbbe", + "0xa7aa63dbfc201dde8f29bb6e23d7aa5020dd35bd18a0cc93c8a10c35d695913fe25b9e8cf9b5fd1899e9657b22bc8863", + "0x97c2a4ba80c4caba2e729a603d2faa0120915e3fe64cbb065f7ff33de5f877f1ec9461cf455e88ec9e9ded9393939dba", + "0xa54bd1419f0e2d2d87757870f37c476c7e3a13502f1ada82fd7394fd29f8a00c4986473d753034d0954a2550badbac0b", + "0x8d3e2bf900d0d2b9b46e6e2f37620f0cc90526dbbcfaad4e4a37ed53f39fdd23bd3a6f21aa7e800eaec937d9710dd6e3", + "0xa88d2b1c7802b2dc216c2b6532406c091bfb12f29121b9a82c1154470e250188413ddd3e79f7e009ea987a4c45b332e5", + "0x8c552c2101dfdc3f99c2da436115452e4d364eefe029b12946f05673c5ce1cfb48d39a579625849236dc6c8e7277dd30", + "0x8415c252d52a26a6400c3189c928a98559bf24162ecf3eef1d10e439269c31d854b0b4f6ec7a2430e3f11b5d77de78d6", + "0x8b38905bad93a8d42339dbdb5e510003c51fcaf05e04f88fd7083753353bc1c4c00a5dd4a67431cd4456d0669c7040e2", + "0xb1d0ed8862250d0f0d9ef9dcf0cd16d84313d1a795dc0c08e0b150dadf9ce73d32d735e04632b289cafa69a6ee75dc89", + "0x9434e18a5fb631b10edb02057f2d1fe16000ee55ada3c26a079c9fc3943e29d6de99e52829fe7b333e962270c712e51e", + "0xb1b9f3914007e6fca8ad3e7e848a1108988cb2318da36df24767d804e95d1272943fda948451135cc1b5052a3953b081", + "0x8c02947a76d7b6c0a700a83dfb971dc105bfe996e18c521445f036310914b349ab28e57571e36ae08d13a46fb01c2f43", + "0x893472fbc225f973a0ac6a0a0130b9cfb7ab6869dff80df71a62b1f6beb4afd069bbf35b4f327165bc31dff39e4fcaa4", + "0xa7c176c0903175f3540d62f9afee994d5d9bf37081e094644b22f017e94c515afefde7bb07f638342abef7de657f8848", + "0x860186c2b1d3b1e657729bc804275fb5f5ee89eaa60848fcabd3871289665ea9f0efc8a95792d884972bcfa2de96223b", + "0x865b38aea6386d0ac8f501a7d934e23d01dc50105324e354d4c4fa3cb1d4c29c26f4566df7b1a728e10cfaa9d24552e6", + "0xb4eea5548de6969dada658df604b5d9c49002e2258352838003e0fdf7b299d81fb025807a7f37cf5b547cebd7f2c1f93", + "0x8982de11ba68d63a649a3b296d4d56c71e3c3eec016db250d733ab7c3b9a620c09c5a5d0b64fd30d3bc03037ca4b17c9", + "0x84d8b8a10d67eda4716673167c360fc9b95717cf36ef1d5bc6f2ef5b9d2624f0e76c2a704d016adf03e775ea8e28d83a", + "0x834d03ebd51aff4d777714783e750b84c16cb6627f8311bd8ff17c3b97fc4a5bba57d6c8f6d74f195d3030bcb5f07612", + "0xaaf49e0def0c4d5f2c1e9c17b51e931d2f754b19e80070954980b6c160178349f6d3c8d4808801d362e77f41a0008918", + "0x8ef4115edec841854e89f2bbd11498dac7396bca35dda554290d3db1c459ffc17be671f4a46d29fa78cbd6064cc2da20", + "0x9641dc8a64f4acd38e343a3062787c48c312f1382f7e310ccea3e95e066ab6dc980f6ed90a633236a435e68bf6b3c625", + "0x8a84cfc2cbeb18a11dd6c2a0aebb3f6fd58a33bb4b26101e826add03748595022e816afac79a4e7c20b3805252839dca", + "0x9770782d729017659844421e1639ffcda66a2044df9e19769b90292df87dcb146b20c6b9141bb2302029d84a5310665d", + "0x98c7ec9696454868ac52799d1c098c15ec4e08b34884dda186ebfe87d32840b81fd3282295df141c91137faf4cc02da8", + "0xa3f6eb921247617292162dfc8eec5b830ddc294a0fb92f5b4828a541091ffdaff34c392c1d7168259d6204405d90ec72", + "0xb185f77a468f07a54222d968a95635234e74fc942485604909308a9028ed2753b15902b9134749f381f7cd6b89cc8c3d", + "0x867608a682d53bd691dbc92eeb460d1c300b362ca49c11a280f6768ccec217f1145f9d59fe50d994f715ce89d38a74e1", + "0xafaad630ad8827cd71aade80edf3d7aeb65a344878db12fa848759e6233f6fceca563aa437e506ea9e0f1e47b126d45b", + "0xa12afbc84e3441594aecf85d089423dd3bb8bb33a1a384ddf7cc14caa72284caaa56aa179c15e3140fd56bb532491a67", + "0x98757b0b5e5837ddc156a4a01ce78f33bb1fce51e0c1254ee9b6d3942268d0feb50b93edbf6aa88f9ea7b3c0309830d8", + "0x89573f4a4ae752e9f964e42bec77d28a41840c28e4bcdf86a98a131d0b85367b885077823a6f916972de6ac110821bd2", + "0xa17f2745052de5de9c059307308fc49f56cb5230e7a41cb7e14a61c9efa742ee14c41023ce90c7f2261adc71e31045f8", + "0x914b07c53a41c0d480083f41a61c10429ea42dafea9a0db93862d2269ff69c41db8b110b4768687b88089b5e095523cf", + "0xb380cc3e0d26370976fe891d24ea4eeb1b6be8cfce01f47fd68838a27190e644fd57b049d3aa0a9589370de20e276944", + "0x906385fdfad60feec79eb1c303e750c659ceb22d9c16a95faaae093daadd53e7aa039a45d57e20951d6e1ca0dc899ef2", + "0xb5211ceee31b194dba60b616bfd91536e71b9213a3aaaf5aaf9b2f4cbdeb05191861d78b97eec58e3c81abe4f0488c04", + "0x97878e9e38c2f69d697800e7a2f132fc4babaacf471c79c26a757f771606e55fe696ece68a3163a0ffeb2f72274cf214", + "0x959431c1f54c46500c05aaa9a2bc4230531dad97ae768fa92bb85436c0ecc6374cf20fb0ef82d122db116820a943b401", + "0xb69e5a1c6798f30d33e42cb8d124f025d2c77c993c4c7107a539aacddf44d8d4d2239e802ece32e60ee4dbfdce201bdb", + "0xa8b09e5e9f802ad273b2efa02bcbc3d4a65ac68510510b9400a08d75b47b31c6f61ffdb3704abf535a3d6d9362fc6244", + "0xa41ace7f1efa930564544af9aa7d42a9f50f8ba834badcaf64b0801aaed0f1616b295284e74ca00c29a1e10c3de68996", + "0xa8f2aa0bbbc19420a7c7cec3e8d4229129b4eb08fff814d959300cd7a017ddb6548c9a6efebad567d5a6fde679a6ac6a", + "0x9683da74490a2161252d671d0bc16eb07110f7af171a1080dc4d9e4684854336a44c022efe3074eb29958ae8a1a14ace", + "0x8ef44d78d10795050c161b36afa9ab2f2f004ccf50fdeef42fe9cdc72ebb15a09389ca72a00001cd6d9b1d7b3bb766c3", + "0xadca54f3b14fb18298098970b0267301b7312afb75894deea1b2afa3e85b7a3b4efac9971ab54c5cbecba2da9f18507e", + "0xac5d4528f06fdccfc1370d5c3d03ed982fed0861a93a3f6453aa64e99360b124926d1892faaf72d89459e663721dfa99", + "0x98aa1c801bd615b8cba728fa993021e181e0ad717ba01c0290e7355694155407083eb53cb70819c4775da39d33224db7", + "0x8b3aea4c7c2bfe1020de3261ec085d79c7bf8a7903b825d2c70ebbb84af197bcc54e3653c5373a2045c3021526b63b66", + "0xa29f3de4cb3d99afff1daf7d431b38a33a9804fedc41626618928ed059df6f6fe9f298a046b594ffee951ed4d4e1400f", + "0x803fd346be540c5242667c18ee41b26bc812456ab13ff117196ed69b90ee608c8cb6554396b64066a546ec87a71ed6a9", + "0xa9c18d81ffd029c0339c72c499bb51685392253b996b6eabd8b76f05c6191ed8444a1397d63b9923743661a319517f7e", + "0xa048d5c390d08f07161faac71c5994baf152c883b205f3bb10d3501709d6516ae54d491b486303a11b751857a31f0052", + "0x9156fb4803e40e28d8d57d928481a8de4373687288da44fe88c5676a8ae013ed1fcc09d56a31140bf74e7f767253810e", + "0x98e289c725b18e0085afdfaf2acbc674dae7b0a2ecc2537a7d0b87e20eb785404ab05973a787f0495d2adb3e5565c09b", + "0x8a7237b249325bd67cdc1f9fb278710069033c304afbf270b7ea24dbc10c8eabe559a484d3edc733c77b4384932deb41", + "0x9056f2e5b02e5c2e04a69fa1323bbf1859d143761268d18e74632e43800a2a9c76fd681e924a19bc141de0e128d3e462", + "0xb9f2bf9e4e7263014296a82b9ecbb05d3f1efa4b2e675e3b38d3eace59da06a89c859256e1b77847886d6aa15f98f649", + "0x83b22949cca19030289bbf7cd2a0d8b84e1d468e78bc85271a6753241b89122627632723bc293cf904a5eb2b5dc6c3ae", + "0xa919aaf35dd0116168d2ee845122026416bec9633df113fbd913d8db5996221e234f98470d029a8ff182825b59fda20a", + "0x91726901f49d32b41afa15219073842278f60dcee223640903d871e318a1c2b541136b7b38a7b2ab7d31e4242fc29674", + "0x942b77666545bc9a858d36cfe857ab1a787c9528f4a0b87918a06bf510793264dcafd12ae6bd3ee300179dab7f40aed0", + "0x80adc1f2f9c47a96d416e44fcba41628abc0fae1f88f6a26aea4648419ab726f7fcc2187c7d5145e3d8f5a75c03937f4", + "0x8041e0f66ba9dcee01e336dd4d16ae5e4e1618512fc147cc8230003aa2940848162dc2187d4130bf550dc1f3559849d4", + "0x999e8adc51bab54386af1c5e8822986ad1b7ecaf1f8a4c2baa5bb2fe9d10710e49545c5a8bd89ed0e61a3d73a908e5ef", + "0x89272ffd39b6e9f99fafdd58bd9dc00f66f26a1d36b38a1ac6215e3546d966739eecda7fc236335479207cef95cce484", + "0xb8e0b7532af13f15dc04a0eb4ea8abd67e58f1b1c6ad2e70c0ffa04a5c18ec2018b5d7f4be2f9f86db5e0b3986f639d9", + "0xb96bd11b0f6ead4abd5fe1e4c6e995da7583b901afd01cc05e87d04663fb997997d6d39dd9fb067c62cb1b1cbb67516f", + "0x94ab08914088b973e8dbd5685decb95f3bf9e7e4700d50a05dbf5aaac9aea4be2c10c83096c02252e9238ceea1351d05", + "0xa188de419b062af21275d976494c131ba18d2b2ead8bdbfa38a777832448e64d4d9725c6a1d530ffb6513f18d5b68d9d", + "0x8f73c8c118fa25c76a4ec5611351953c491452743056a819c8c82ba4737a37d88da0b55f837e7239a5f46d2c05a1bbba", + "0x894a44769e0be1c26648b0d89c4c9f46dbdeb3a71b90c493093bee372bb9f2d3f319850fd886d51f4f58db0de5641742", + "0x87d239923b0db024a8d9b0281111d47b0761d81c50652268b074efa3ea70d793e30f874a91ce33a4acecd0cf38c01951", + "0xb1b48b75a97f9fc2dc9530dc69f6268829dd0ddd574516e7eb1b9f5c3a90058889a7bcf3d378738e6d4b02f5fbfa44db", + "0x83e3ee9526ffcb60c6e75b75550fc017912ec0daf96d0a0d5f58c1b229cce90c684ac7c3e17fb998def8e7e2e155d750", + "0xb9b7bba579e474b0abdc7775ff5f84c9f117c6ca17788cf5a5f01b2c35a14aa39036031c8d799fec2cfb371d9f7471fd", + "0x90d7faf4891fbc368a32f575dfb69f13e37161ab4f63a7139be103285a49490c2851a907f8d36e09e7d1a190dddbc6cd", + "0x968c8b9affe18fc34a4e21f0d8c5518341c566099e6b45b8721c9912bab3693c9cc343406fe90279692a1eef2a3f7311", + "0x8735baaf4704207550f77df73fb701d9a63329993a8cb355ccc0d80daf950145f37e9b4b22be2aba29898e974f9fd552", + "0x90f52b2dccf525b9191d836b205ffe966d9a94f6c5800f8f51f51f6c822619e5abdf1257ee523597858032d2e21014ec", + "0x831209f8f5257bb3eb452d3ee643d5f063299f8e4bfea91b47fc27453ac49fd0ba3cf9d493c24f2ca10d3c06d7c51cd6", + "0xa5a4db4571f69b0f60fb3e63af37c3c2f99b2add4fc0e5baf1a22de24f456e6146c8dc66a2ecaafeb71dce970083cd68", + "0xb63da69108fad437e48bd5c4fc6f7a06c4274afc904b77e3993db4575d3275fce6cffa1246de1346c10a617074b57c07", + "0xa449448d4156b6b701b1fa6e0fe334d7d5dd758432a0f91d785b4d45fb8a78e29d42631bc22aaa4ea26f8669e531fed7", + "0xaabe43de1350b6831ef03b0eef52c49ffb0ccd6189cce6f87f97c57a510ac0440806700ce2902e2e0b7a57b851405845", + "0x91015f144fe12d5d0b0808c61fa03efe0249058e1829bb18770242f5fb3811e4c8b57ff9cb43deccfc70552e4993892f", + "0x8e9c570811ce44133ce3e0a208053acb2493ef18aade57c319276ad532578a60d939ed0bde92f98b0e6a8d8aabd60111", + "0x8b21839b5dc1c9a38515c1076b45cedec245d1c185c0faac1d3d317f71f1bfebba57c2559bcdb413d9d7f0a2b07f3563", + "0x90413bbd162be1b711e9355d83769e6aac52fdfa74802d628ff009325aa174c68f5329ddd552ef93e8fdcb9b03b34af3", + "0x8b6b02e3f9dd1031ebd3df9a30432a3c86e64306062ef00a6d1243620d0cb66dc76f8d0d412eceff877ff8768c2696ce", + "0x9894b41d9fc715f8f6addace65451f41dc5ce7b983dd8cb33757b4d7259bef12f144e0077d0b662aa847d5a45f33c563", + "0xa353a9740f6188d73aa4175a6c5f97898a05ed7aae9d2a365f15b91dfa7c28b921fdef0a32d90b6fb82718b33d3ddb8d", + "0x984eab8faed87c403c9979f2d2340fb090cc26d00cb4092aeb187c3f4ee1df3f57cb8363f7764073188790b16dfc464b", + "0xa5c5ae0ba435fb7f3ddd5ad962358da326239ff236fc3b51bd22e88296236b109951cee1b98f444302badc58d1b5bfbe", + "0x880be1006b0156f2788813432f450f613d235f41aba52a6000d2ad310408ad73d86b79f6081aef1e8c51010d404ba670", + "0x937da751aae68f865c7a33fa38d718f20e2a1c65cb18c8e08f8441f0cdc77662789d2793794dd0a427cad30cd0b33f42", + "0x9496fde66c834ff86f205897db12bbf9a9bb78d9ba8b5fb539cd0a2c927cc6b4120c017b0a652750b45edbe5f650e5dd", + "0x97a6f409ffeb593e149307a14bc47befb632412d70565c5f13d6b7d032acd2e3ed0f7b6af701b387f11d69ee4a8094d7", + "0x97ed94934263dc0260f4f7513745ed3483cdddb9adb85dc33193c3a8b4d52affaf1ded23b59c34651afbffe80d40dc36", + "0xb2b26378d44f916bcf999db218b9892e06de8075f205c7dafd6d37a252185c2d1b58e2e809c717963d25627e31f068e4", + "0xb8f9fa1fb45fb19a45223f7be06c37d3a3501dd227c3e15999d1c34b605f888123026590697d0ae24d6c421df8112520", + "0x997aa71e3b2e8c780f6855e94453c682bee1356b5ce804619ef14834475511105b1e4d01470fe4e2215dc72182d9909c", + "0xac2cb2a7cf55aaf990cfada0218453853047e813d3f51f5a623d09f4714da79de6592671358a5edf938a67f905b6cb5b", + "0x8d8340d0c3081cd30d34f3ff6191e1ff6ad7994b4ebac19e5936f1157ca84e1813228b7605ee226366d6bab1e2bf62a2", + "0x9693b17669086003cb46c75fed26ea83914a54901a145e18c799a777db1df9c9ca6b2ea3ee91e7b0ab848dc89cf77f19", + "0xa6b6b2a6cd8c4922d78c8ba379373b375d66ac6ea04b830a23d5a496cf714a9439d81c865da92d52600aa4e2e43afcf1", + "0x89cb665020abc3f5e11a03c7ba5ec9d890fa9ed2630f1443a8e45a28c32786ed980b5343ffffaea60eeff5b313bc0d66", + "0xb37b989106594221bc6cf33a1a83c3e65ecdef279e90333a9e105b8139dc28384bb2277edd4b77c9e59d15e6afe074c5", + "0x98ce5aee5918d18b2326b30c1ba41669cce20bc7a1d1b585363305fbdea66055164a7ac398ca0f0e670291a3061022eb", + "0xb57f472d5f34beb4cf430d7c0f8ac5bd1c0621a284633ed36e6f7804bc2b7847f54b469c7ea163a436510d9e3b32f97e", + "0xae673a6579dbf0504c8fd0c8fc0252d2f7ae8da615a06f4d215c2f8a8f516201f24e5cc42967630c252905e5dbbd6377", + "0x97c1501835a31091a5a83f0546e01c85ee847a0ca52fb3cc0653f6a826e13d25ddc623a5dea139108f7270a1fd7043ea", + "0x9376ee667f3834f6c0da4324fdcca5c04712e0649877ee19da79a2d23be24640c38758fce562470ce2134ca34148ffe3", + "0x818af89c40379a10074cfaba6d5968ecf667f1a68a7edaa18e8977ccb34e0829f237c5634fbd079e7f22928b277f1096", + "0xb8e0af0be0a252b28df25d4a509f31878bcddf702af0e5553393c3dfd4a1f1247ad8dc2668bc8dedc9b41f6ad8e71b15", + "0x811667ffb60bc4316e44bd04573503f5b4dc44d1ec824393a699c950e5fa085b146537ddd6a08a3fede7700396a0df7d", + "0xad834cbf850b2f61ce799c4a0f8ab0c57039d4e1113933c50b0c00175171aadee84894d1376cf325bfd434c3deb44315", + "0xa8b7dfcdb40373ba4d55e751ccfb9070554434df9e359fc165284ee3dc35db6fb6055657ecf5a9e9b7b8e2e1abea4375", + "0xb56a5b9fd41c9d3f65532aa58bf71a38fcf07782e1ae0084dc537862fa02e6d66658b19d6f71c39cd5dbfac418da1837", + "0xa935af5ed224b9533b41a7e79f872f6851591da9e9d906050ccd1b2c772a1d6d010c5fc7160c4f8cd7d3aa14c3bcdc26", + "0xa81e580fc98692567b28323fc746f70c3139d989fb6aabf3529504d42d0620f05327e3385c2bd5faea010d60dd5c8bdf", + "0xa8b352054cdcde8ddb24989329a249b71498a5593a13edad1e913c795dcad3d24789abca9c7ed1d57efcc9e3156da479", + "0xb0de8a2bd7f93284b2bc700e442f52ada16a22ad8d86329591547411c23fff0333b2ab0c9edf82bf7903ebf69916eed1", + "0x843e9781b653d1a427f3534b2e86add49d308ca247546f9fcf565f9e08df921e4d969e1b8ed83f3f849e98c0f63e39be", + "0x84a4098c5dca9f73e827d44025473096101affd7193c40a0307e3215e850e753e9a08e6e74a442d57626ff26df77faac", + "0xb463eaaa2f3315b511c22a97fad353014d840a6a95fe0d457d0677e63e571407d7f5268f8775381a5e7adc3b4163eb88", + "0xad0417edaa16cfddc288eef4173aa7057ca4f81e815541ac588ef5f24b98d56fed6845deb6ae1a9740a28bb1cd8780a7", + "0x9271963b8fb2288a96e07eac13c0543ec41abdc6d978bd7c44ae08251ea49994412b542c77c8208cd71fd8e7852d4a70", + "0x8b68b6db9044d8bafc155d69e0daba95cd59d6afebb085791e999afed4f33a2479c633d31d534ff767b8cd433d591a23", + "0xa6a06a0e433e385437d9996ce823abda9848754aa9cdd25ec8701af35c9ec15df999825669bbc2e17cedb597a96e8eeb", + "0x94d414bff8b6b8597634b77a77d1060db8e1af0d0ddfb737a9bf1c66c8430e93a425510af2464bce4a7b29bc66cf325b", + "0xb6514049562af1c6fb7d0e8df6987b020f0b7a6e721f4862e36b1ba0e19af19414ede04b346be22d348b50875803d1bf", + "0xa42c7fb34f2fbee8aaccd1d86672d0acdf4e6bb083ff0456512d7e1e43be041cc0924322fcd986e6e1bce5d5ecce6f92", + "0x867cbdd169a52440ae0a75d33a28c7d00aa92b4b65aaac5e62aa53a8fc367c08ab8828cc8fa18b6e7d1f908d158e3382", + "0xa6fe0b768fff3e4a6153e59a7b7508eb2ee8165eaf5274d41ac2812bd4563c4ca2b132f0e27ea2f1c98759cc3589b61c", + "0xb3eb1dba43d10b9e17ffec8def053fc96f9883bacb49330a089a0ca5b9ab0182e8b5111ad4aa55c1ce1b6f4afa5c70a3", + "0xa1531351098bdfcda566ff4d811301c0305626c77f954a38420c490e7c684f517eb1a4e4bd2c3904a10bac889cba314a", + "0x92278d106ad2f27eacdb86bdb1faa0a07a93765bb79dcff191873c52253af83480114b2299ffe5324f9c31d0abbdbbd1", + "0x8900ba95a90c447fb6fa1f528af3d7a378aec25feb0620516b6b97e54b328fc31af42e46a8ad5e6e3029d83a6f2bbe5f", + "0x86053d481179c1ac910d5e7b9a5de82794b442f20e854583512ce1f9c3f09e71d1bf97d6700fe776debfe1527ab97a82", + "0xa32a60de492fc4340336416bccbd2591b5e414fca0aead82281212e24490acc01747537b3da783684e27aeb987245cc8", + "0x9820fe8e0338f21797143f368177e3669a1f3894b40ae9fa3b353125f7c8e85cc424dcf89878f2c7667f65db3b1e4165", + "0x934d64711b4348ac5e1395cc6a3215e5643b540f591380d254165486b0ec2a1d0d21c7d2c6310f9e0eed3d08ecf4b57c", + "0xb9fd32d589432eddcb66dc30ad78981360915854cc44b2afeb826b5d48a08e377dc91be66f5bf1e783d1a8bb320f7ccb", + "0x98c972cf01efff4fc2e485b47572e2d8dde22461d127ef401b71a111b0603203971e3cde40912643affd7341cd27e57a", + "0x8db6c1620760063edabd376f4399b6e1355462e04f5c81cdcb3989fdc00f9a466bc85ed899e886c89c149adad69edbad", + "0xad7b7fda0aa6e2aa66a27235ac5cc680aa04b85dce329fc4be84f75c9c961120a3d9e446aa44539aaac8ea203eecb4eb", + "0x8ccb01eaf41d816ce69ebd57754859e263530915e775c4e7d9dac37b2457a9099b9ae9b4c6cb09eb5ff246e3c9320c59", + "0xb895b83b5f7ca46e02697dbaa6157df6c7571864c83e504a8c77d965bc2ba97bf9353a71c56a020df64498bd40e30b21", + "0x8018c07a81c522fbc25f2cb14f2321c61b98bd8962ed8eb7d5823dbe5d1958a5ec2fb5622fd0868e991bcb6cae016ea1", + "0x95b16364e94d01b3664812264d7185032722a4afc23bdd33bc16ae87ee61816c741657c37138d9312cebfb5fcfbb3b2d", + "0x94a709209990a8b09bfb4b9581ab471aae3a29526eae861108b28edb84aab6d28f1d7a25dddd8150b70af34bee4ca2e4", + "0xae06c80839c5a13269b984ff4d8a5938c6f4d8d647b1b1daa8cf7f6145340b76a286cd615ec251a65501e6290162da50", + "0x875cbd0694eeb90d3567da9dc7f570d97b02bd9cf17bfa011efdd48f1d580608a3213bff4006603b8b4079fa66bded10", + "0xb27f88c455f025e1cd902097d6a224d76bdf9c9195adee30bef4a0b0411fff980787285896e1943a62271d0aca531446", + "0x8024880cde783cdb2b863e3dd856be92bacc5b2a1347e96e039fe34279ce528560d2df7d4d1624a4595dbafb40529697", + "0x8883d02c2a5c0e026d941c785128d4ac6f7a9de625ea735b7d6ff27a5ba10fa4d6370d450d99a855d919f40d64f86afc", + "0xa1beb985c45fdc30ac536f1c385b40b6113ef6fabc2f76d255490fe529468847a776efa674ba8fed72180f07d3f701f1", + "0xab83bd9b007561695210e3276fde72e507456ba277ad4c348a2aec7a6e9ebdc2277cb4bd0bca73bd79bd2240a1fc4456", + "0x8db27f516153812149854fd6bb1250e843a3ae1c9637df818b08bd016a769d0497ab6087fe3b2fd4080882713607bf46", + "0xb3891dde4e00d60386aeff161b4a0fbc30bb31ee7918ce5fc0b49aac3238a000ced192c9c4c08d90de3a0ba973d7cfd6", + "0x90a2049a15c02e59024a7a1cb0adea97501c60b1c7442fbbe560054c3d69264e69627ac57b7d9be01bef498bb2a60198", + "0x87df67a4bd72444b5faa4f3b067204c4927c869dd3b29ad192d859589a9b2c1d6d35ed68310081e140add254a9463092", + "0x8f80986a8dc8a0d6408ebbcb4f234e76413c11cb0d66067f9436bb232373100f20a4fded60f08dec3525315abfaa8523", + "0xb061e10beb12ba3683688a4ae3a91600d14878ef78a308d01b93e4918efc666450e3f7b0e56283468e218934231df98c", + "0x86b9e55f3783d62e381659d3e06699d788b88aab1ff99848db328a83c97d223f602201bf2127c5ecf419752fed0a224d", + "0x858d878e29925c87243e010020007f96fa33264e89c8693af12857b362aee3fac2244057e159651c476ebe1dfbd67bcb", + "0x8fd47cdef87d7a569ffce806d2c2dad100692d6c53e5f5dfc6e274f897dccadcee30fc6c6e61373961bbc1f3ecbfa698", + "0x892f2822daf3df3a759bef03168c1cb07408df62e024747a788e94d2da325f880bb9c6e136c7f6643f45b021c6ccb654", + "0x8714e37ac24f5a198f219e7c88a92172fc3db129e044e914663ac708d8101851e7c53fce79d32d0e6da74f2ccd1d30ff", + "0xae95e1dbba8b9e2c8dfbe1c202e9ccfd04fa396470035a699b902fbd86d5e6a31732a7c8cae00b9a4f6e51c8d560c7c3", + "0xb0cd058e77498e860fa20c5f8d9bd09bb249add1badf84ba8d1bd49e704b9b4bcd67a5c3d211840a2c8fefab3fea639b", + "0xb78e468d3a7da0dd481f333ae56534e2ef97587be2e259a458e25aa37952aed1cc5f835640f812d8052f5bada8f57b12", + "0x835de7965c6b26e7ad1b92eb6f0261d1f376fa12d61eb618d9b342b597c9c117a5a8f6a36269aeea88072b4641e6b5bf", + "0xb4d0eb99136b3643468c9c48a20fad62785a60fbdd3c054efac4bd1fa7979b4c9ca6c2c0b18069c0912bea2f19832790", + "0xa00c47315dc0700a850966836a95f3cebfde04dd094bde0742dee77b89a05b5ad655921f86fafd1e902938ff34d4c58d", + "0xab13fa0afaa92229a71ee91efae6d1b15f14b6eacefffb7401d41d0d6db24e24a8dbe8ee19b4680ecb69d2a0cb4e84e7", + "0xaa56c0fb18401210062dbc653df8e3732aa8921a1280e9737e99b26a0100a13a9cba8ad0317a69bba16193362ee0f030", + "0x8b410324a6406b345df0fa25f541ac20b7313fa55832752f70cf4c79f43b0bd3d5b4cdc447e6ba7bca08d0edffa8e29c", + "0x893362241ae412d9e5df46506407595c58ffbd7fb1fdaf0694c3432470599291238997abe118bf7737e56a4f5c9dc292", + "0x921618194a756be81cb49d6357cb392b32cc62d96c8ffb7e16d9659a0f226a0436bd378da7b835054dbe0de2c6372ef2", + "0x94a2904f10994928ff5367b777e1430047736fbece33442cf452018bfdeae62e84cd75cf80f8468285e347d504c94111", + "0xb4b81545b767f380bfe10e0fea9c3cc62ca8db40b43c83ffb245259378731298e3eb6c3bdc3a16932f88f5d8a86edc4d", + "0x936203c2453ff01c6fc635e4d54320d69e60047d805daae3b75633c2259108497b778f011e5a057249f11b2b888ea76c", + "0xb90bf6378d29339443c3f2008b1e2b5f0345f86e393027f14a295e583bf6e6c2b10f54b6dcc42079ff0d356c405b03bb", + "0x916913f550d327de2d8d6c7723dcef2e3869efaf95fd963d95c8980b97748c61ad8e2e629cead8577266d93fe39203bd", + "0xa033c6f3d5ecbabeb83eb363e54e5faa7ed2d7f4fb771b161762c4f003eac4e1afb236806b784baf2222cad54e2d3cd9", + "0xab289d4a5771147e6c29ff9ac2bf65d70081ea6c6af2d9b728c3c144574a31b5fd8632af57c18c389aa2cd994938bb0b", + "0x9488da2019ff13e290eeac132b491df58b5b7b23c2898ff1a67bffd7e9c9464c39bc8177a57950fd28589e3d9ff9c6c4", + "0xa5abe42b2e0891851440fb2aa6c1d8a86b571bce8b80c8e9e2692e5cb6d45a1b2f055c9fc4c74a7cd292871604129ea9", + "0x90bfef698e83c2ba4dc9304aa01edd274169a978b7154bca518daef394f55857d0d1922ebef3d91fc5ecb3b895d9e0ec", + "0x92328f1372b6406ec80786041b6d57018b8507e3881a08727aadfecfdfcfb0824394cbb1150117ac5da5d71b89e895ae", + "0x9719751c5f7a65ae2bed8aff7b4b8c34539ff011b259b7ff54f63f9d987b3fbdce5c99534ed561aadaf07bb6e939e208", + "0xa151816774aa9379fccec21cf212429a1c68cf91b055cbb9d931f461a8d5616c693331a11ac5c6fcfbd17d84ee0b44e4", + "0xa72977b1285618a45943ad00f33f37102e2885eccd2f76785254eeca495068fb1d8d49865343e9e8313c6c2c3b2024da", + "0xa6f5ad2e023a1585d90625c9f7094f0e8851c79f0eede8ec582ee8e063407cc5b8298e5fdc4c786e4fbbcecaf33e787e", + "0x82901e008febcea0c0a14ae21d985a397630e18ee6e346f4a449f23be228e8f338df567d30211a11180b94fbc5204bec", + "0xb9b57fdb8d14d1be87a25f89553b3966eb7869e0519ffdf4cc4d51f4cec90d68f7b81cdc0450e04207276e9c63ace721", + "0xa06eabcf43585a001448f3dc30411f3d5b74fd0a695c81eda9981842ba2bb0081d3f5a8360aa18b6d43ef13ea78b293d", + "0x926fe48a7e8f07559b7237beff9504476dd97b5b4d67acd01a3633358a6ba4c7abed5c87683a11209aa2ee759888e00e", + "0xa716cd3a84a963e2a5a46145b6ef4ebce705de52bf2945c374152a1e41c228a9c4eae0b6d1e222c1eea8b9c13c002177", + "0x8a9b5985df6fb32cdb06ba1591a977545444478f2fe985ed1b10de61c630f0a4693c2185d63f0dc0256b208072c43b17", + "0xa8eab26ae0ebcdf96a59fad1dc2d5e83b94abb2ea1774b607023f9d9e0fe065853b1e2242e794f989a80a47f550c0bd9", + "0x84adbf38164cd04f3d770a7f4b8eae7a5d25b4a803fb63c02b95b71b33e454319c44e07a760d22bf5f58e7e372d09a16", + "0x90f443a3ba1b9129a0bee400b5b29d42e50bb2aa56b0022bbfc3c6f8d69db40299871ec7c1b68421cc89e1af6b13a39a", + "0x81c5a94b379eb98c494a8d0067c748ba47e87a2ada0105202ed7651eb4e5111a0cd8569b06ae68d392c4fd74a37833d2", + "0x8f92324b14a1549ee0b186073a26691088e41556d33b54258fc6e0b000e9624156db4e97861a0ec22960e6c47ca8a1dd", + "0x8b021cd0fffe055068cc460aec3cc455952e2ac32be5fa060e0d1b6cf30ed15381618f801249e893b1b9f10dd82077b0", + "0xb3e9f0dcb3d6f0b138f589fa54dfb01f849890ab97016372d004aac55103f363a64bc0e606ddf75430f1534a30fc522d", + "0x8fdfe64af891db89b25daa859864d479cb7599486bd6f36e593f8f2f839f942261ffc3eed5001a93fde44cbcdc24c583", + "0xa9e4554373c5073e135874e2bacbee69c65308eb0785532fec6a37834e8d0b437b77a2f11cc63c87d7183b82cd9b6bc9", + "0xb4c47daca723ad7193ac5098cad4dcab654186ec5ea5c0fd014a3ac39726be954565a901694ba211820c011fa1c59e18", + "0x8835427e86cdceb4c11cbea331ed724e4e78af15e3bab5be54f6b926bf66b5d99bcc40dbc456d86342c9fa83a033c2d5", + "0x8ea84590a400cedba047c2661378921a42f5ca0421da58c1bcb37bc686a2aed98afab3fa5e6ba3a51029390ef3cdf4d4", + "0xb48551170fc479d69fffb00fae4fba301e92e37cae08f596db6f6489c3b7020edc074f9e8d7465b84e9dcef1b6b3aecc", + "0xa6f318b1eaab00836a330710e88bfe400395b3081485f6a212e3cba9463f6fe7864ba4f71e57a411ecdf2bcb4d189f96", + "0x848d5137a39999141a79f4bdf91150796ba36352d8525821bf3bd6e070b352792d79147341b8254dd60fa8c36e9e2618", + "0xa8526f8904b1eac4ae2a25534aa91e8031e9aac7b8f58d8f49897e920c36c0232f4a30aa6eed305deb0f7793c115b267", + "0xb8b6a727c44c37a8388383e959d195d1d0e51a657d4ba360633d219d43c5df645383e2406c25f1d418e72b862c3a6e9b", + "0x92e64adf65b42c978f36dd03ab22ba983bfbb61944efccdb45b337ceb486beda99818bf20d32a545503c4572bb0a4983", + "0x9653bb83df66260a0bd059cd4244ef7c661b089e403d26ba777d2090783ff31f963f5d3a9c125b1ad1a1d19134f3fc8d", + "0xa74e72355e71ae5eb36dc75191643500ca3e67f18833ee981010e7e7e60a68e1b01b05901eff05014b9ef29aa4829f45", + "0x8b2139a5da14524cf6acc593144db23db424b95b8c7041d8f6c7a14a6725dda1cd09c42bb3ae26a5a3650affaa742800", + "0xa60ddff4300ca44a7c7a00a1f98441ad1438e07c30275bc46551cee1b681926d2c825cc8f90399ee5f36bb9fbd07d3dd", + "0xa04e5e9958867a5acc15fdea0d88951cfebd37c657102f6ba1dcdaa5e46cf1c823ad0d98718e88e436f260b770599102", + "0x95e977abeb70d46fe8d7584204770f14c856a77680607304ce58077550152733758e7a8b98b11b378540542b1175fecd", + "0x8c9ec93ed35a25ce00d61609e92d567459a45e39922ccd1c64ab512e292787125bd4164c00af4cf89fd3cf9deddcd8bb", + "0x819819ad0338250d9c89aceda9e217df12ac54e940c77fb8420575caa3fa78930689d0377ba88f16d38179a807135dc6", + "0x8baafb379d4150ac382b14a64788d819146480d7a1dccd3deef6889686ded375900f5df069843ef14d754ad3d7540401", + "0xab827236996bb79b447714c6993af941c5ae66248df4d9a6f3650d44b853badb5c0cb67804210e07a7b9d66ca43092f6", + "0x927656c3eac8d2eb575e3daeb77f9605771170c325bee6aeade10c083d42bd8dcbf3bcc3d929ea437001c7cf9a95e2da", + "0xaf22b212d5ee44fd4197966b9690487c38a119cd6536cfb8c181f38a94610dd9e057f95774047a446504dd96dd11e326", + "0xa44bd94b9e01e3ba36340f2ac2201ecb477495d4f1fb6726a6b439302deabb5a35d237c6a6aeb7e3b0a65649f8656716", + "0xaf367aeeae3bba14fbdb05bcc1a521000dd9d37f5c34ae56fb306d3dfda201d0329a8b6e89d98e15825cb3c6bfdb1194", + "0xabcc4fbdea43e50ded9e2fb01464f4e87fb136e960141e8d39214f92794cfab5634f22cd40b18d8c0e501f2307aad23e", + "0x920786cbd674348b9853689915dfcab02cce2a4596d117962bce36aadddf4bdd143891e22f2c8015517039a64e8aede3", + "0x8cde63b9bd57cb3ef743f1f3e8250669eed739e5fbd68c500a3cc0c12f93862a69aebcdbc69dd8f476c2eb307f572a53", + "0xb967e65a5f1cd8d5d570f5e87e7e186fba51b9504f8e466392a76d8a971fb91fd9b7565bcc1647f50d7d15e48b93bc95", + "0x8d5a87b25fedf5edd57d870304bfd9081dc78c3e3e3b38b997260a92edac7feccdaf24feb51822d2edc223b70bb4ed5f", + "0xb6cd5d340a57f8ec73723c4f3ecd6601620dc8137a3e75a5d3c578bc79a9cae86b379950c644dee2ff99dad780d025c1", + "0xb6f0a8e754b7f52a85a2a2e6512cfd017f7fb0418d19bb318308951c4e242d3c65bbcb9748da9cbc91a738f9ca577332", + "0xa89dcf7d410bccec385400dd96b1cc6af89026a431d0f531aa992cbd7bc8bfd7c5f360bcb665bda1d72efa17bb982551", + "0x97788e7522427a46c4b6258d15623ef7a565712812fa80d001e1de8dc1791392702f3fa3cce5a8cd1c5755625a0ad10a", + "0xb5338fb5e137ff625b27c5148298f27ce8f493e2527c5d0facaa49f29cae34580d0d6c3c1074a2e46cd8db3f56004ea9", + "0x8962f006d7b1095dd0dd132ffe7e87e328510c95ad893cf3b2ab21c177c5cf2c27f47d8856f87e9762c547be009d25c0", + "0x87fee9ce9c26aa476e67e0791a809e0a06a8a98facf3faea730d438d3e516cdf75d645fa75c906e4e44ab9237a22c016", + "0xb75ab972e1a1214bab0b38cc3e973d44bb233acda5b4291f5e110b6fb78fdcab93dc63f01168debd898e165f615be1f7", + "0xb5a0fb52bca279d3853761a94b206acaf313df33ae6303d9b71edae90b66fc507adbc60fb11e758888736c81d5d80c0a", + "0x849b8f0005010e684701cd3a4e59e8c89e5fec59af6d2de5b6332cde03b865ea84f07f0b80ec3404380b0e148fbd2c24", + "0x96e2b0b6fe78408f9208f809f5c40398100b2dac202c8c5c33c2189560dea868270a598c419871a5a2b67783354f6014", + "0xb234b81f996142d0df2c719760bf996544820a03195a6dc0ff6a72543692f5a369bf63d1f0b477ef2fe7b3234e41f685", + "0xb85e39bcf40da1a12a535740176f4de749a93824079deb5fdaa004f3282fdefaf5275e3418c88c419bd42a3dd2ed2b3b", + "0xa27279304b89a18a4e2b443246f2368fb8b15f46a34533179b6bd2ef683f6e98e222b7a32880b39b8fac1afa90133803", + "0x8923c22cf15c9c1964213d725b337ece9ea854775a06f75f232c4859c7142a3942f418354e33066298aedfba3cb27e62", + "0xb109f714311fb9bc431ef57911e2cad6a3949455b9f23255cd7edea35be629e07f845fe53e2b12a32305ee2f4f264f27", + "0xb51e82ae5c7d48050e405897d0053e9ea4b2714d002e88f78c9a307cd50b9c6b3ee7cb86f86527be9d964b01895fab20", + "0x90db256931c7f98bcf3bffff4d496739185e7a20f329ee7bffd4e0850a37739948ec745285703967f4ca50ec370cf68b", + "0xa0485ac0445d88dafac56bfba2563b020cfc370f54c1606c89d12cfd8a4d1336d2ba50306e476155a6f5b0e0a1f2d092", + "0xa00754c3462e74bda928da855bbf90f9077db395e32f03cce9b2955546d900b72330d247b7d607b65e130f5b0d883de0", + "0x8547d56727c3ad8b5c8ce622ed9ad86fe8cd78e6e4848c9845914b5063b17330bd10b46d8d3f18f83ca09ecb28d1afb2", + "0x95b937b2a979bce0e159ac75c7d5d659be8599c92305e73e942aab414793364a3ec28c7c1c8491a5750ba84a29828d8d", + "0xb011e150f0294e45a0f4c69409999d0c2e602449dbd67ab95e8258466687cd733a0329083a31b03722f4e2580ddc95e9", + "0x924651a733ad5e5d9adadad3ea6a6babb8e455c8d5f2cb5bdc83fa422e7752592190ccedaa827b866861e73506a6968e", + "0xa4d5180122f8e31503ae027e54da50f72f5cfb910a6f7309bd882b5cd666f454672591f1f20e461e182a47d03b47052a", + "0xab19ae659c4f73ea3d21895269dbec583c7029955a36469124ebe295027010faab56c4a475973497f28e9a77c03b8fd0", + "0xae7ea1a803d0f439e91494f8f35fc1167dae23834c0c699ffe65d3da8b09f8df5a53195a99ca7b8558242279e69578fa", + "0xb9d63cf0e30f9800101b43b980bcd2f229758e74b21ad5354866b4e684791c08a184330dc316228a0d67fe0210f2bc4d", + "0x8c41629744391ddb96dcbbf9cd99b13d36e57d65962e0aeb92ebccf1c4cc769626feb3ec0363def08eceb102b3dd4ad6", + "0xb2848ff24faf9e667a8c19d050a93896e9e75b86595f7b762c7c74ccdfb9db126ae094961fee7f5d1192776c1ac1a524", + "0xaf013bc29206743ce934d5887b8d0fb3667c89bda465d2321835a3618513fba6a459dd7566268220ffce7e0c97e22b2c", + "0x8bb799e36db1132da8e8b028ea8487dd3266b4628c56dfae4ea275f3c47c78e3d7445ab8d0aaee4cbf42148b3a148175", + "0xae2b81fd47c038b5195a52ab8431f0d3cab4cf24c4237252d955aad2156adc16dda9d3270157e0bfe5a44022e5c051ef", + "0x8e0129213b1698d2ec6df132356805a8633ba79e672e586dfef664ffccca71834253ba14f296da962651fcba2c002622", + "0xa1ae30b500ae77cd9bbb803d737b4a5991cc780618ac22b5cc179efd8fe10afb8c135457f2e7b86ded485ea12eae70e5", + "0x8a39723077b7c0df6e3bf6548afa3910c214ee275951fbe5155a39473be98099626ea14d844630a6fa90292b9594665d", + "0xa628386c79b61aa7314b01d9814aeec20c2a66e3deda322a39957e7135c2e52b1da486d1b9cd61c87afb22c1d10f6462", + "0x97867f469b01249820aadd9a54e12d4fdadd4555f2d530450e1f8f6d2dae57360578e2c2c8ba41e3b5950df596537a98", + "0x97f192d0457c217affa5a24267dd16cb4c01de8fefde9df4884e1906d2f22e73382dcee6c7d910bf6430bb03f4a4f1e1", + "0x86d5b5739de8442dc74d0d8dc78e49210fe11bf8c6ff0f0faecbc47b64812d6b28c8afddf6d9c0212f1988451d6ccb1c", + "0x8ff3312ce9693cd4a9f4b8e75bd805f65b0790ee43fd9e075fe4cebc87185bdf161335049819f22530f54fed2779a5b9", + "0x8dc41d85548bee5d51941d55752a500bde3c5a8f3b362da4eec307a963968e26605048a111c9166d448b8dddf6f53892", + "0x996bdfd004b534151e309ac925fa5ee7801c9da4f6b4c43e156d1158b134535a2a3956e1255e0dd72ac2af6bddaebcaf", + "0xaead652704b788bf4983c8f725c644c327a6e9f6683215f5c826c09f82fd2e40631791f51d14e6aded91fdc018d45501", + "0x991ffab58a82b98ed8fc7b00c3faca153589fe09cebf6a137ad506387a1ca4dba475b0e4a1b9bdad829f1422facaec39", + "0x9652e6c4ae084221d6bad855ec0bc11b5f855c6efba67f644e0902ab790a98861cecc6ce047c68273c3aa7eeb2f4c7d9", + "0xb88b816507aaeea6dc92b861eabdc96988b74d7883f20a4b30ba249158acaff3c50d261742fc9ad2e9eba888a8d59065", + "0xacd028a51e16c07a10d2073b9d03070457ac5f1246365295a1359d015c460b92b4861125fabe6f114de8197045df408d", + "0x806d3cd9d02d41c49179fe7dac5b05dcfc9a205a283135d4f008d0771c58e6f963d7ad0f6798606edda718eb5c7ff3ed", + "0xb9b71f1657a6b206fc40159a941e127f252a7b324dea864ecd804f48c0ed86da9778a925fb65491204a92bc2a26fef32", + "0x80ed67bd0e74350c875abedc0e07fd42ce7cb926f0f3fb1949c6ac73f2300b5a14a5c6f6ff8aed99d5ea5029bb8e7ae6", + "0x9875f67a7a473714e4dd75ee0c763ddf88101532d9680724b3848fef69e218b04a96b90f88e0f4409aa40b9a21507ecc", + "0xb4a2bb1b421e5243e5e7576a0672dc19f9f70315a03f6411c19f76616ffbb70fc5dc0e57fd4ab85e24ea2261b7ce38ab", + "0x879723002ce43e6c75ba2246f51436efe3376242beff987d025c3c4476495af32d52a54fad5d9ec329a442b93bcff1ce", + "0xa4121efbefd9c3eb143619afa52a916f199c75024908047763b29466cdfc837c2fcc894aca63044c33c41c777e529b5b", + "0x895f637b497a9766714a3d9e3c275a1f0c9ddab105bf4c8b7e663f36cd79492022415bb4938c1a4849bda73106ace77c", + "0xb119acb8b161ce4384a924645a248a656a831af526cd337d97e08405415b9dd22060849c76b88a4785eb5e7214961759", + "0x802e712f4c0a17009c4be6c1e5ba2ca3b82adcb68793ec81f4489b7985babd8a3873d544de63d5e5de0cb4dc5048c030", + "0xab111051e4651b910c68ecfdc33f2d99e7bf4182df68cedbdbbcac219a543e04d93ecb2763fe32b40c095c7ca193c331", + "0x855c73ef6afc6bcaab4c1e6388519fd5cbb682f91995bebd558167715db454f38012291beccea8186a3fb7045c685b67", + "0xa29d02ec6d9baf84c19dfd0eb378307703bfafc0744b73335550f3cd1b647275e70215f02d1f4ab82a5df4d4e12dd938", + "0x91510a45b8a50cac982d2db8faf8318352418c3f1c59bc6bc95eab0089d5d3a3a215533c415380e50b7928b9d388ff89", + "0x8286e7a2751ca4e23ea7a15851ad96d2cadf5b47f39f43165dde40d38ddb33f63a07bc00600c22e41d68a66fd8a0fa51", + "0xa413d4e619b63799dd0f42ac57e99628d338b676d52aec2bb0d1bb39155ad9344b50cdfe1fe643ff041f1bc9e2cec833", + "0x85524e5bb43ae58784d7e0966a664717289e541c8fcaff651541718d79a718f040a70aa8daf735f6635dabfc85c00663", + "0x97f0d48a4028ff4266faf1c6997b6ad27404daa50ca4420c00b90f0b3e2d82ef8134d0a04108a74955e61e8dfeac082c", + "0x8df6145c6cc39034c2f7331d488b8a411931c8faa25d99c5432831292637fd983d4f6b1a6f55522b4a42a462d63c6845", + "0x98c2060f67a916991b391e67fcf23e5f305112807fe95bdddb8ce6c4084126557e4c5f003afb32e30bc6808b30d4b526", + "0x8964246b3c2b8f7312f0a99647c38ef41daf70d2b99b112412356e680185da6810ab8ee0855ad7409d334173bcc4438f", + "0xb56c2c416a7069c14bdb3f2e208c5a6ad5aac1cbe5b1faf99dc89c7141d0259d1c6250be9d9195500c4a41182ad2ec3d", + "0xb7864583a4cae3b1083dcdcff7f123d24a69920a57d6594d0b7219e31bf0e236682442b6499a1f6795cfeb4f5f236695", + "0xa064f94139bf1b70d476bde97099631b1284aa6b4d87f16bfc65c075e58b2f1b3c2d057605259f806e545674a1169881", + "0x80d1bc4acf14c0f487cd57c5d6157b7f38917e93cb660f1c25e474fcdcac3c3dfda50f6bcccfd6676bae25c4b6b5014e", + "0x8ad9a4976c4e3e282843518149fcf5d454240740f4b91466f6310b7216d23d70b9b47c42870293252f29f092f330967a", + "0x914197593d2d99d784c704cad7ecd3f0b9f55dce03fc928d13e1a1034566c4de754f1c2a5ade047b0956415fe40399ec", + "0x8d77f5e29c572ec3c0ca39cbae2072ba4102403265b3d8c347a00386da9c0b8688d6e3280c96037c300d57b3545f3773", + "0xabfdf79d935fd4f06a04938d6580a8cbf9735f0d498f49677f26e73d3b34b7075d525afcb4f14ef1632cb375bef7dd55", + "0xa97a8c446e3edc86efac7bda5e2e5d0158c909552a3bf86151df20ece63b8d18b608f477286fb1c7f05605ab7e6a7c2c", + "0x8618d946c7fd62486551c35486fa466bdfcdc63c941e4cff5a01fbbe566b7ea9dc763cbe73e2acae063060b619a212a9", + "0x8d03ee468070936004b06acf64b868963f721f37faa09887f8a82c155ad5c5732572a6855b531db58af03b1afe034a18", + "0x8d3247f75966ea63935ef6049f7c889c1651374adb446f49499fc9191dbcde7ea33cbc1f1e2d3d1756b6e69870404643", + "0xafc853c3a3facb4ba0267512b8242327cd88007cef3bf549184ee891b5ddc8c27267bae7700758ad5bc32753ebf55dae", + "0x80df863eaea289de5a2101f2288046fdbfaa64f2cf1d6419a0e0eb8c93e3880d3a3fdf4940f7524ea1514eef77fb514e", + "0x8434b5888c2b51d12d57da6fb7392fff29393c2e3bfee8e3f9d395e23ddc016f10ebe3e3182d9584fddbd93a6effcefc", + "0xb78cbb4c9e80e3808c8f006dc3148a59a9cace55bcbb20dd27597557f931e5df7eb3efd18d880fe63466636701a8925e", + "0xacb140e44098414ae513b6ef38480e4f6180c6d5f9d1ca40ae7fbadb8b046829f79c97fe2cc663cbccd5ccf3994180c6", + "0x936cb8dc959e1fc574f6bb31f28b756499532ebb79b2c97ff58b720d1cd50dc24b1c17d3beb853ba76cb8334106ce807", + "0xadda2116d9fab2c214ec10c0b75f7f1d75e0dd01e9c3e295a0a126af0ea2c66373d977f0aefdda2e569c0a25f4921d0e", + "0x89a5cefb80c92dcad7653b1545f11701d6312aef392986835d048f39d5bc062cabc8a9501c5439c2b922efc5f04954d0", + "0xb9acb52747ce7f759b9cdc781f54938968c7eeacb27c1a080474e59394a55ae1d5734caf22d80289d3392aab76441e89", + "0x8564f72ce60f15a4225f1a223d757ebd19300e341fd9c1fe5a8ece8776c69c601938fa2d5c21b0935bd2bb593293272b", + "0xa5567d7b277c4ebf80e09c7e200c20d6cb27acbaa118c66ef71cbccb33ee3ddce0e0f57b77277ae1db9c66ed6e2d8f30", + "0xb82e9c2d8df1cdd3b2417bf316d53e9f3cb58473c4cb5383f521ef53e0af961ef916e4f6557a6d8b4655ec01415231cd", + "0xaa816dfd2814c8a25bd2cbaf66303ee49784df471bac4b3188074ea30816f00f425234454d40d8ad8035aa925d74da36", + "0x9919f384df20faaa2d226b521cab207dd2b62420d25ebbda28c9b2ca76a2a52203b2ad7844c1a25f5c75f005c5a83149", + "0xb24a6aa35c2d0f87e36598b36224c64427cd69642b6f9c1bd478a62c70f8ee69f85028648f6603b4f04fb21355f2afb1", + "0x892e044bdb1276b455eac2204be105e1821f987c2570494b1f32aa09506caba7ed343cd09b1bc126fed5e0fda3d0eaad", + "0xaf0e01a3ad954dc048de18bc46bb1c4971db2467e839698e4dd05cd1adcb9261013fe9fd0cafb946c0b586f6aad86d4e", + "0xac152f0a9ace425378daf02510eb7923ff1ed2c0f8d1deb918e4efb63655de1ba58c96438e9aa23abdf2431dc771370d", + "0xad8c7419c097709347e2394195924e09617b47ac5c7a84aeb9deab8975f22155de0f70cf20d8a976551b14e3a2683a2b", + "0x808f14f67ae801536fb70a5898ab86e50ad35340cffd0648daed2f2c4564c9ad538034b2a179a6a8bfa27e9d93b4cbe0", + "0x80a74ab7ce4769db93cfa695a166db95f0a9c47885ff826ad5d93310f36d6b18b5351c67c858b9837b925e85a1995b63", + "0x95b88c3cdd64401c345828f4e4754b1a88b4875a14c08a668b90acd499b3b858842669ecd73a46c5d9f1de32ec1a0120", + "0x8ddbd770b7b18a5917eb43926fa05004e819f1d1ead05b915269e4a86b53e0633a90559007e59f6705a3769e2126ac56", + "0xab6db5fc220754f19948bef98844e6e38dd623565d1695e1198040c228ac4fd863c1f168cac1d036bbfb718d9d8dd036", + "0x97bef628e977c069e60c395a17740e0e1bc1828f5607ae7f30ce5a0c95f02b53af2ad062700a75212e462aa22c3c5465", + "0xb68d465e04fd17ca98501e61eccb0ce30401855e98046e0c1debba71c2153d6a7a704aa36a6f12454696e78e87181cdc", + "0xa79cfdd048f4181e005bd0fbac0a8424495474956b58ce858d2b700fb0f931c406282bd33bfa25c8991bc528d12a69c1", + "0x843f55fa0a6a0969daf2b48080738f30b269b2e7ec123a799e5b203c0b3b4b956dc95d095bc6550b0013918cdff8a225", + "0xb683cdf2823036827e5b454bfe04af9bec1850d25a7a7a44aee7696b6ff0468b7ed6885a41dde2b8f3ecc4aec880c3d2", + "0x8b500796e82acdc89778e0c0f230f744fb05f762000fee877bcf57e8fb703d212dbc2374887bdc2e7b7a273d83a85798", + "0xac35a8ee87bafecb1a87f15abc7ccf4109aab4ac91d357821e417f9b1474d196c38cc41cd13667f68d1ffab5e79a6e92", + "0xb6e517739390cfed5b395d33b14bce7cd7aaece57fe79a7eb3cbf150dc10765c3ea9fef7976a21a2243687e6eea38ef6", + "0xb53901eeee26692273365b789f2a60afc9b5f0df229c6d21b07016cf4c0e7985beec748aeca52262f68084393ab038e1", + "0xac4804f33d8ba2b4854ca3537bd8bf2dda72d4e94ff7ecaaf9bd3b7f098343d74d765471ef80072ae34f860b052cbfb1", + "0x8c6a30a93f1dde18039bbdd1ef294552bf79856e20bce863e4b8dd72d906be3ff22468ff3610e06b5a7d1745dde7ead9", + "0x88f0607fa3b7cefe20a02115572b16fc3222be86bb19e592c86c48afbe7e0dd523492b0c29a3bceb9a20f5538bc3134c", + "0xa660b801bbddad725975ddf9a8f606f76ecef831f954be224d6178c368e1c72d346f00c4a4c95c289b62d36f2af323cf", + "0xa75b9a6aea9542b698938dcd6cc2f6fe0c43e29f64b2f54aeb05d35fac73d41aa7fd750af4fa9333644aab8db90775b9", + "0x83e1b7129d963d1cd076c3baa5fe422148e939273db173e4d59d1858a7d841eacac7fe817d15ab8f8a493bf46c2045e6", + "0x9060a2e9c24de11f9c70e039b5ffe9e6d32f1ae39f3dda263610df2265d917679e689898e4a8bd84ad34613dca5e3761", + "0xb42fc8b863a2af15e04d1fe6693c09b46007c0b8298973fb4762b45b4590ad7fe0aa758918b2fe5ed1ed0359754fd955", + "0x83e6de7860fb256ecf7b47506a5e557d0fb0aefe57fb513c7dee2bd9604712d08ca26adca7ba9a54b712372a7c585a26", + "0x90586e9cbbf71475ecd3e7b5753b286804dcce61e165502a82b960099e79272de8b7494b8877b54ae838eb5d0f71af2f", + "0xb2e4b0d21208f73b7b75e08df80cde20c4578e117d37092a490af82354e2afd3a7dbab46fa2d12fcb731cdaece69c2ba", + "0xa010961239bb8809fc7fb4aa08fa30d33a130f9f417ee9ea60f587dcc5ef4e1b7abcdcbf8e848ecdcb7972ef6af46e78", + "0x8f511fd58d1e3403a5eefdc0a4ba6b8af848c7efddbf9575ee84449facde05ae9a24aa41a5725416467f6fbd11369c52", + "0xb24ebbd2d4482eb618cea1ac4fbfd9ed8c46c0988a27259300a7ce5ce1bb256aeca0357828cbbc4cf0dfafbf586040e1", + "0xb3ea29e9cca55250e9b7b9bd854edae40f0f0cc65fe478cd468795d1288cc20d7b34ced33bd1356f1f54a4291faa877d", + "0x8a8b20f222d9e65bbde33638033972e7d44c6a310b92a9d9c5273b324c4ad1a94f2a10cbce8300c34dbd9beb618c877d", + "0xb2436a9a647dc3f12c550e4ddc5b010e6f9cb3f3504742d377384b625fc38f5b71710a49fb73ffaf95b9856047c98201", + "0xa13f8b77c70621e421be94c7412454adc1937b9e09845c2853ef72cdbe500e5c1bf08e3c8b8d6b8eff4bce5b8dec9213", + "0xb25de8780c80d779e6c2e3c4e839a5a107d55b9cccc3ad7c575f9fe37ef44b35db4c1b58f6114a5f2f9ca11e1eb9c5fa", + "0x96ba6ad4358c7a645e5edb07d23836cbd35c47d9a66937d09486570e68da3c8f72a578bd2e14188d3acc17e563a652d7", + "0xa7f55989814051fda73f83b5f1a3d5385cd31dc34baf94b37c208b3eaca008ff696fd7f41e2ecffc2dd586de905bf613", + "0x882d0c7c81e58eb9560349f35c35e4498dcde7af7be8d7974b79d262304c26ab67ffa5ed287bb193d5f0ab46b4096015", + "0xa607158f0c1fd0377a8ee5e9715ac230abf97406c19b233d22f5911ebe716967cc10425546dc44e40c38bd6c2b4bca2e", + "0x87e8cde50e5d852d3f073a43d652f7186bac7354612517cfaecd4a1b942f06fef6f14546279c0dc0262e2997b835b2a4", + "0xa1c93acc6db9d5ee426fb4a0b846bb7a7b8d5915bec777a9fe6907246b0beafb8938941c8c79ed6082155f75dbc1e332", + "0xb1e4f61457b86f76cd93eafd7536f72baf239ce5a62bd5a8085a34e90576b1e118e25002d2de49b01d6e9a245ee7d3a2", + "0xa0435fe9a4bd1031ec5973a103ec9396b2ce9fd982f6d9ed780fa80ac06a6e47a0a6eb2daf52df1dc9292db622ee9fa3", + "0xb66d8e8a1717e4bfa42083b6ef4490e090a73168b2912f2111743e089027be0a4945a229ecf5d0b5eec11b23f0e11303", + "0x8eb764f26904eea4f4169be6e75beaa6a39e4eb524625a15a78befe3d8e3cc82692d9b135590c20ed460d6e4ba630ef7", + "0xb7e4aea6bb09829e53fe83e53f49a7a331a6d7bf76e0073d758577e6d6fbe63dab642b23657355cad48896ad8715119c", + "0x8f94207982373a99ffa282673f192aa98d0c4461fb77c31dc4549628bd9687a249f1b3c66b1840929341e42516c5c64a", + "0xa9c673cb247b13e17fa5e616f0399b7f5c7ad043e143e44ae68855a840870ab3d2aad737ebcf74c2cc9688d17ef3a794", + "0xb02635104dd28c02068985256975c0af783899eb996e37d021d9a35238deeea9e836760db21869be7b6c82aa687ded29", + "0xb33bc0966389710812b5f6698afa3e9c84839a1b85492ba11e6ded26695260abf66be6fb355d12d3a8524966f0f89e0f", + "0xa79c0dd09506951c33da3cbc23843fd02d641fc24c640a205e6e8150240372847312b9381fb03c5d301fe4dbee8d0da2", + "0xb74de6f3a2c502b5b658ebe8a9b7edd78afd036f5a2736aa06502863b6865d131b9e3542e72a86fa2e1d2db4927661ed", + "0x99e365def1452ff9fb4b9eccd36ff4154d128469ba5bd73e83ae457ab53977cf6fc04a5d05bdcde357ab539e34bd9fe0", + "0xb4f2bfb95abb47c67870aa6ca38ac8f3ae1b1a2bed064b1be7ff90865ea12e4930fcf66429c7ecd1183fae4a01539386", + "0xae4bde87f36b912e92398bf72e11d5389e93b2de1b277d7ed4b6fb5a9ab9f71a959ec3bcb734c11079440fe42b86fafd", + "0xb826459e568efdeeb66688482b67ef5020787275123fd3192f979b6175e3b0ed59e17cb734a0a052bf13f0afc7bd237c", + "0xa99dd735f4a7c85cb23dcc7f4835f9ab32026886909aaa95876b98029c37dc4d621726c872d3a9e50403443c958f4029", + "0x99083545034768010988bf8a9f34486c2cd9da27a1d10db3ab86eb69a1dd9c8ee723e7da4ef2aced63c1dbd53ccc52cb", + "0x8ac3209349f0142546c714ef7e9d1b094aab5469b8f080c0a37cb0362da5349e108760f272fbba770aa468e48d9a34c4", + "0xaf5f48ed74b21e3f2c1430192adb4b804dc873cd7e8f07130c556c30e7b78df0ef5a14b205368848fa9185e5a68dee0d", + "0xb8b741b65d68df89443523ba74203226f1e0d13bab073d183662d124e83e76cd318b2bfff09879c04d81b577ac895638", + "0x914abe4282d11176d4f2f08c6f15e6c2d0cde1ab4de00bbe888015c205f51929d97296a0a8d3ca5641f085a29ea89505", + "0x83ec306b2a9a6780efafe799df90b1aebdbff7d47921a136ea8a5648b9708a97231245a1082fea38e47ecafbbe000528", + "0x95d6b58d70b388dfcee4eda0c9805362ccfb60a87603add565b175b2c14ed92999dfdb0d3724ee3e5d30535f282641e9", + "0x97eeb4de607c8306e1d4e494f0d5db126d53fd04983ab5674ec5996b971899e734fa4011f2c889da21154ea1e76dbd2f", + "0x84ff21977fbd873ea06bec444d4ec9ff0e3902edc29dfa25f3bed269b3709e3116e99dc06cc3e77f53c53b736bf8fc29", + "0x8ecf483874a040a4a1c293af145094fedf203a5eb37c3e165857e108cce3e1210e0bfc0f26f4ae5e2194024929ba034d", + "0x97d9b92b2ef34609d69402167f81bce225ed3a95718a3b403f702b93e96a121a8f7f072d0ff47e8b25164e204d1576bf", + "0xab87c39cca1803b4e84b32e40ff30289e3cbbcfbe16a70f9e025643824752359be1f10c3e5398df402b6fec64d5a3537", + "0xaf84ca57e6944332884b5c84750afe0d5950015e127acec161853d55d48fd864c7da8d59cc5aba4ceceac650b813fcc0", + "0xb1d23d98edbe7089ce0a8432e0eb3b427c350fb4bb39eb2aca3c2bef68c432078cb9b4b2c4966255e00e734fa616638b", + "0x8e2b5252e0ea96d40835ebfb5693af49946509975682d68651396d6bb1463f09e75fd0afa04ccea49893b5b9c3e77e40", + "0x8db25e762f1d4a89a9a1cbc61c01698e775906bc88a921b2905735457a35df9ab84bae12e1b1b8dafadd50212f1acda1", + "0xb5f7cd163a801770a4034e2b837e00191b0ac63a2b91032ae9a99ec182d748798df48a14644935fabdbac9a43a26749a", + "0x998e7232e5906843d6272d4e04f3f00ca41a57e6dcc393c68b5b5899e6d3f23001913a24383ed00955d5ec823dbd3844", + "0xab2110a5174ae55ebb0a788f753597bd060ee8d6beafc5f7ce25046ea036dba939d67104bba91103d7838b50e36703d1", + "0xa211972a4f6a0303bec6c86f5c23c0d25ab4df0ba25876cbaad66ae010b5a00aa0c5daded85e4326261a17a563508a25", + "0xa49f53496a4041a01e07f2c2cf1e84e2ee726917bb103fd267451b9b7bb1331c0afde85a79a55409bfde27328b2a4745", + "0x934e915c67c7fc47adeabdde49f63f04644fe234672003be2aa0a2454dc8d9288f94293478936a450f2e3f249d395b5b", + "0xb6e69e9d6808ff7f60a01b7aea6781495d7a20f5b547852d3f0af727a7434209d3015a9dd04cbe3e272918e32e345508", + "0xb348d3462092b5c6fead7e515e09611438db8d69650876dd3b56226e303252bbeb9e9f3b888fb911445b0c87132a1d0e", + "0x8d6510334a905efe5a32001e167f1ba06f9bc4af7ffbf11b7f7bf3c0076b5cca373d8c47e98c1ba8755bb22632bfe0e7", + "0xa2d5200f20985dcd473d119ee97e1c0fafafa0f191185bfed9cac429cef8198d17665dac4f70342eea66e6e4a7370d58", + "0x8dd7eb6b1841b3f33425a158d33a172b79b2dc8a01378e4174e67a1a4c8f4b887f02c7c3a8f354ed9eac718155bcdf37", + "0xb16ca19388642f71afcd9f7007b490d82f83210ac1a989da9d4bf4c419de07af8c048cd301ec7e01b9d06abda7c169d5", + "0x93cb2d847d1a88de8c1c9d5b3c83efd0b7afb3682942bd2c8ab5ef35b33dc31a097a3e181daab8630d4e840b677216dc", + "0xa8b648c769e77a7b41c0c689fe2fba9bc585067e004bcb1732cb7b1618e97b317781c36c23a00680fc780b58c301a789", + "0x918c321100d57712866bdae84edf7e42df30a32853af257e0cb4da028842a43b49e775f3cecb85cd817269c728de7319", + "0xa7b0f6ce42e00c519e69b2c78fd9b75a2e7103e5892d3c1afd70c9b5b9e706180a4bf73dbb2d3eed52bfd521103ec5b3", + "0x90041994af3322b010891356afd8115340bd7fd7ba328716fbc4fe458236c8cad8c7564ae473d6091ec3a54bdab524c0", + "0xacb1ac83809573846231f9be2dc5f3e986cc36dd9574a620b1cced45bad0b11ea957ce8c6cbf964a0af916781c574f05", + "0xac54677dc002698fc4d454c7beb862ad085d0514f92576f3485a44c0cb47afb9db2c085058918a3508f9b3de0137d97c", + "0x8dea56e1bfa150e442f8484b2952b116781d08cfa3072d08657cc09b0217276efc4ab6f5fd726bfd826f6976ced8da29", + "0xa2b09e25baf01d4364b5205fa0c4dea84ef8fe03709113b034f88a0f0a502a81bf92c1d4641e2ac9f3a6f4203d3645ee", + "0xb95fe37aa351b4292691a9c2e547224c37ec2751a31ecce59810cb2ae0993da6fbe5efe0ab82f164462fa3764b6eb20f", + "0xa3498947e91a3a540e86940be664fc82f1e83ff41a0d95eb84b925e820602a41b7393c8b458bd4ebbe574a754586787a", + "0xaa2516d3620c832e5728fefdb1af0be30c871cbad4b166a7a4565af676e73bddc2f2f51acc603b3a022056daad2b330e", + "0xa9251b56467fb55f64c70729e2ec77a59d7eac79cc0b4b25ee405ac02aea46bf1cbc858bc773934a6d9bea57cb528185", + "0xae8c0a4ca7ba6bdca8764bac98df0581f00358db904e57867e6ffdf15542e55f7bad2dedac152ef88038b466ed901934", + "0xb0881e27e52cc6a57c4f3f278dffc7f63a9174b68bc867c16d8a151d9cc4d0aeb703d1074d1927faa9ffb43e10912c9a", + "0xb67138465d6654ded486d18e682f11a238d6a65d90f23d6b13eb6a1b7471efbac9ada6345dfb13e5432196d2a256829a", + "0x944c69a6f1126edd38f6eef60b8a5bd17147ab511e44e8e0a442e87244d8f35236ee0b8d3dac0631f8598f16486a5f74", + "0x995679dbe03dec775da26708cb9200dabcad983825f1ba601eb9395f9da350ca71e8af61dbff4c668fd0eebac7e4e356", + "0x89de362f02dc14de6995d43cdea3c854a0986c605ba5eb5dacf24e3a85983229bc99a2fcf50aba3df59f0fb20daffe29", + "0x84607f0e2d078df22d0866285614f5d78cf7697c94a7d1b5e02b770101ceecbfd53806b377b124a7320d9fed65000b97", + "0x93e3faab60050dac76ab44a29bcd521813e76ec8e4ae22712d77bb489bb49f98f9087acfd6a77016a09a42ddedab2d73", + "0xb7d64a7a35f21747b8e6a874be31ba770c0d13cbd41448411994e8cebb59591295a26bacbf74ee91e248a5b111aacca0", + "0x8dcad429a2b0d66b9eb8c1c3924d7a72979727db6a535526a3518bed2a9532d12aad1c5a778824ca4cb98e3e513f85f8", + "0x980882895faa347bd2fd1dda7b8ee7ed49e69843afe646f677b371eecc7a10e0f4e40bb55f28995a40080df471876816", + "0x89e8e7fb51df79971e2f7bf65783614abbb0d7f3f1b4a15d3f0d160deafa7ed1c446d9a5ae1a77160d4dd94ceed8af13", + "0x93fda8d350392e9c4d4ffe6534f7e7be53f32483d9319093e8436fbb8166a3c01085dc858373e65c7f4d014e0dc2bab7", + "0x897521a87b7ebf7152de5260c0875e3c7df1c53e734c672569219ee6f9bd196c5ecef159b6a1d3b7cd95e91b9b8803ff", + "0xb59affa408a0f7bd7930fa3b88750fd043ce672c10a3adeba95a12f23f0dda1793f761a86f7409ce1e6fd3b3b7195381", + "0xb4422ccc12f4fe99c530cda610053af9ffe635b633d52492fd81271d1f6f91b87171d572d5bd0e46ff63e221fb2fc4a5", + "0xa4542cdf3346ee0867c08d630c2aefc57442f1c05c0eba52d223bfdca5e9d0bb80775cff6ce2e28aa2730231fd7b1bb1", + "0xa7d297bb09118b914d286e5d1e87bdf13f7d174b988e38fb5427902e8e8c674072f36b19055a1070abcf357f8668f35b", + "0x9213b0ae24b7cb43ae95e25c09fead8bdbac55141694137d67eb5eab5e90a348a13d4d4d2cbc6436fc4f4f9f7334ced2", + "0x8aed71a0d116d832a372b42a0bb92a1980f3edf8189bdbaed7cde89fc0418b3ab21a04f5c6e1d3b8edf73f1f62bd6b15", + "0xa6c47d77d714c285c84c6b9458cbec5e3b191c0502dffd10ce049cf1ea27ddf868ef0cff13a2377289fa6c932b8e4f28", + "0x92f45622ec02483f2c1e07075a6695416d3768c8984856f284f40734346d56cb5b3322f20c2c9f0ef8e58ddc294a309a", + "0xaf6450d02b79ac9fc79f35655b58fd3619cd5d38c5317564b453f5f2d79d7a030bf767e399fe01b658a72fbd2cac2356", + "0xa3c01fed5240eb8a61ffa8ff4a120dbcebb53b8e19845949c77fb4f9b2c3dd52c7001df6219ad2f76c785a4ee0f64a2a", + "0xaf3136bfe8f774187bdf87555a1ac505322a956229a285d28bab1c88d4f4d12245af8dff35914a62e90e49f3dce6acb0", + "0xb20e21d28444fc96737958cd951858fda324b924b4d3d08932540fd4b87150f053db6985b96903906ce83dde0578cbb2", + "0xb7978101071268d1f485134b4dfd1e35f89b82c7d99ae91f58b6745f5e0273b7e06f3b23009033ecc3e41b2e9e85219b", + "0x9104b7d75245b784187175912cc0ad869e12f1983b98e052710fb33663224362bffd69ceed43e7d4ad7f998c0a699eb7", + "0xa7624cd71b92699ce3fde0e747976ee04ee820032ac45dd27d769edf3b3379a4b8db358e50c9d057c63b5a9b13d76bcd", + "0x9354a76f294005de8c59db10e638ae6e8c6d6b86a699d8da93143da8478d36116211c788d8285d8e01ea6647dfcaa1aa", + "0xb85935c04cae14af9848db5339ab6420122c041075ec1549314e3c9c5a610d9b794ea3617c50ca7af6b4aec8b06bc7dd", + "0xad6835a62311c84b30ce90e86c91c0f31c4a44bf0a1db65bf331b7cf530cca0488efaac009ab9ed14c1d487da9e88feb", + "0x80339f0245cc37a42bd14cd58d2a8d50c554364d3a8485d0520ea6d2c83db3597bf51a858b10c838bfc8b6bc35619638", + "0xb370420ac1a011f6d8f930511b788708ccf2fe23ca7b775b65faa5f5a15c112a4667ed6496ae452baf2204e9ce0dbf09", + "0x8ceab3dadca807a1c8de58ac5788313419c37bc89603692c7a4d96e2311b7fe9e813cc691a7e25a242828cdf98f8bbcd", + "0xac1526ebc6bd4ac92ee1b239f915e494d0279fbd065e4cab1f1b8a1663f67daa89560f6c99bbc3e63fa845520316d2e6", + "0x8240ab0bc36a29d43ec3059c7e6355ff39567e135f93b243145d3ada97fd1c970743819e0d58bd5171967daec144e7a1", + "0xa99743192a6f1967511b2d3038cc73edacb7e85f84b2926d8880d932d2fa12f5215592311a7548494b68a87ec70c93eb", + "0x8ffffc31c235997e59ab33c2f79f468399eb52b776fd7968f37a73e41949111957434f2c0a27645ab34c741eb627cd1f", + "0x8949d955309415d6d2cf6ee682ccd0427565142c1bfe43b17c38de05cd7185c48549a35b67665a0380f51aef10b62a8e", + "0x9614f727a9dac8ecd22b5b81b6e14d34f516db23a1a7d81771ddaa11f516ed04d4e78b78fda5dc9c276a55372f44c4d4", + "0xaa85d3ef157407bd8aa74032f66bc375fddaff90c612470b5ff5d93659f8c3523b2d1b6937b3cc4201c2aa339621180e", + "0x86f8fe8bf4c262dc6a04620a848e3844f5e39a2e1700c960f20ee66d4a559a90141ef4e5091d0f32acb1e915af1e0472", + "0xb3af2eb785b00588371beb3b49536b7919a3f2175d4817de5dcbf7fcc20c512852ef0f313327fd0589b10173f77b92e0", + "0x8388703c512eea59190351f3bd2cce83ff8bcb3c5aefc114cccf9e9b3f78200d8034c3ebe60448aaf6c912f0ff8f0cc4", + "0x95d0dbbbf08ec1ed3975fe7dd542be0a05156a2b3db5092825d918a849411ee536ed958201f74a5513e9743674d6658d", + "0x8d1a48802f1a2db247e633ddf61d3ef7a2c062c48dda59bf858916e04f56651a7d51e367d6535964ebf3ae6d2b21b421", + "0x971436871bfe868f25247145a55802945409b3150008535b372c949760d7949dd2fdb40d9b96ae7473bc8f6e9b83ecdb", + "0x8ca431728ac0f156763090828a7b6d860bf591e5b9dd3bb3b7f3ba0ca74191f9710ee55efd32db7d18eab5b479cee8a4", + "0x81e28f1a506e84c2b9aba1df720cb50e0b597b2c22f98acc34e710c934cc6f97dcaf33d589e845c2c1f6d8716d05ccac", + "0x8f43b11d3f00c41d16c9bc9bc0c44227c056bd77de4f1ca9a799418c5601e744f99066bef47da2d9088ae88eb259327c", + "0x8d330aa52744c08ef98cc5599eec8b9b4dd18aa01b803f1d1ca0e29b74f1aa2886ed0224390fc377af25852851fbee03", + "0xa06f5b203b67134c685039ec2bdbcc787353e2575ce73a415db24a517c0c31b59d1de89f12b97cbef0219fb6a1e90a20", + "0x9269a5f49bbb8fec1a387b5d105df88a027de615d5ca6afae20fe89b11746f8d23880db78dac238c955fc8bb3de18046", + "0xaf5074b3bc0656421c314547b45b5abd3045ca1b17f5e34ba39d8c1f7928a55d4ca5ea9c2ab59a55909b25255233e04e", + "0x8e7ee5d733c8e08f3fb7d85f0628de3de6835121672c65374905dc6d19e02fa2df14c13d5e9835dacd609a4df09abd26", + "0xa9b9aaf83d31e879dfb8e73a0708801b4dbdb5d7c8654b27d2c0f5797ebcacc8d00a82143e2060f0917c9d41f1a03de6", + "0x904872aa1c093cb00e1c8e369a3bdae6931c5b1ed705dd3bffba243dc4f42df3e7d7cf70303d513b34d2245743d765cf", + "0x8a4d6b3b1d6afe67383c66693f70b397e510be28e3d97dbc8ec543d699b6cbb0e72eb90a7f65e83cf9f7ef50fb18b128", + "0xa914de13916e6a0dc0e0fefecb3a443cca80d83276513b70c22c6e566a2d41acbd33a0e2836ee09abeffd3a4894e437e", + "0xb9c408f5f05934b0aefab301ba22f8254c5ebbf5405b6aa788f76e4b328c150b395f441e3566015a0deb3eca89afe9ff", + "0x8d32aa2c81b2a8b89f347c2e0b6567b2117ddbb778fda8a3f19004b7f5aa9dd814b9b3ad35f9223715d2447b2d12f159", + "0x8230e8b9c84cada1bf14ea6aa9ecdadd978d893cf5962fee6c7167ed21239210ea491987f2c8f2e8cfea8c140704ca28", + "0xa5d7b6285fea51c6f21d0976a7c3a97baa3d733a201bfaac0994db6c65611d91c5fc0ebc2a7724ee02b371e575573649", + "0xa54f00a9530f6930069f5e3a8b8b1d52ee1def0aad1763e3c609ec07f25410969b43d5943a94c235ed5eb207b33a402e", + "0xa8dc6e96399b81397734c61c3a8154e55a670fa25fa5854b3c66734cbb4ec0d8f6ba650ee3c71da3773ffc9e37abf8bd", + "0x8841fbfae1af4d400d49f74495f864804f043416c09c64705251d021b3ab7881f134a00b0241e61010617d04979d747d", + "0x95acea7ff4861cc969c1d8cc8775c5eae014ad6e2e0e2d0a911dd916c34ae69f53eef779cc24ff1eac18c2b478d3ba2b", + "0xa5dce74abcfb8c68031b47364bd9baf71a91db01e45514ab6216f5eb582ef8fe9b06aaa02f17be8b93392d9b19ab9c06", + "0x89e111169e4ae2f4016c07c574a3bdacd8d2f359561fbbdaa3474de9bc24ef8936784dfe6fe0e29a13cac85a3e622b61", + "0xa4c511af6bdf3892939aab651828259e4ef6ebecfdd503ecc14e61001575b313a89e209cb55a77ec19a64d29ada066ef", + "0x923c62156fbf3a44926ffb5dc71f7cef602dbe941a98c61f019a27a18a50c16b6135b6099fe04a2e1dc88a6cad989fb7", + "0xafb9191c541b61afa0ef14652e563cc5a557842ce2afea13e21507dde0ebbe6da5233af949c998c00865c79bb3d45ec8", + "0x8a1f0ad65cb2b225931f41dc53547d756111ecbf5bc57c5ee2cc1ffd61b126d0389d311ffe26cf06eaead95af09c5ca3", + "0x9040b20b5ac2e1a9d30abf7a4eea1ec2db8f3077cb2cfc8736b37222d8d3937f5d9f421167086dc5551e9f0bd2522d07", + "0xb6d888b8c6bd448dccaf99c3f690d47f802e134709ce102fb6f6fc68156943c0762be6f386338163e01eed2d1dd5f734", + "0xb94f0e27bbcda793e4a272603b3dcc739d3bf3207798df7319f8dc9d37cbd850e3724bdd30498c929debad971950223c", + "0x9769827767be9d7bacba1b687289e0794c6fe630d33c9b607da1f6a65e3f34cb8bd65327d9287c8c5f3c8b5f6d3d133e", + "0xaaac72c993aa2356c9a6a030950441de42b2d746bace29865382f0ef54835bc96958b2f00237d805ee6a69ca82117c1b", + "0xa2b1f027d80c1b0e79bfc7dd252e095b436fba23a97a1b2b16cdd39fd39a49e06a1ca9a1345c4dbb3d601ffa99f42bdc", + "0xb3fa0ad1478ca571e8aa230921f95d81aed7eca00275a51b33aadabd5cb9c530030691d1242a6ff24e2d4cfd72a47203", + "0xa43ed4368e78daad51b9bf1a685b1e1bfe05bed7340d4a00df718133f686690c99198b60031513328fc353c6825a5f2f", + "0x965e145711ecf998b01a18843cbb8db6b91ff46f668229281d4ca52236c4d40804ebc54276e9c168d2a2bfc299bcf397", + "0xae18e6efc6f54c1d9230210ac859c2f19180f31d2e37a94da2983a4264dbb58ad328ab3cbc6884ce4637c8c2390f7fc1", + "0x83a9200486d4d85f5671643b6daf3d0290b2e41520fb7ea7030e7e342d7789023da6a293a3984308b27eb55f879ad99d", + "0xb925fb6ca83479355a44abbcdf182bfac8a3c7cce6cfc7962be277ce34460eb837c561257569be3cb28023208dea80dd", + "0x9583dd991b62ae4bd5f379ccd3cec72cfae1c08137ddfbacc659a9641e7d5a82083de60005f74fc807bd2acd218d0789", + "0xae73bc32e9ff5926e1e06c07a3963080881b976c9875777f8e4cf96af91bf41bdbed4bd77e91253b8ec3c15b4a6d3977", + "0xb2a3ea90aa398717ba7d8c46743e4c487b63c5abb140555d8d20e5115df2f70d3c84a2cb9a5e0536b2d93d24f271b38d", + "0x91d119d3bf1d34cd839eb69c6de998b78482ab66bc93fa97e31fb9592f36cdfcd673f52366f8c8e8877e313b92d4a2ad", + "0xa1907e20120902cf68912cc3046f8806cabbd7673e80218814cb088e080dd93b5dccba395b13e0025f5755c183276c3a", + "0xb2e2011df72504065ec4c12cbc2137b95cfcd1355509671feb7b00dbf7f8d500476a49754cb7fb9219cb5cba7c8afe01", + "0xa48589fb7a74a3dfd782cb3503e6294a81dbb6adb412887569f9408e9079371edbd9822388e0b7ec8d3297ba270f53ef", + "0xa203909bfe196ac65ed3e6800d577b6ca5c8fe1d40f7f925a43852951e38883f2ffd250a9e16fab3ed3dc1249650247b", + "0x997ac293722a8b98f7e819f8e6c2d4c5bd1103b82d489d8b8aabeb905e95450b9b75bd61442cf68cc957212ec1c55617", + "0x9895a3de62395c33509b153b7820bd94fd2b011f0cac135fcf916482f1eda272ecc79f83a61837e99c3a3c4ab2c5c2a2", + "0x98c2ece4d49a64ec8e06407a0585081003bcef88af35210e22eab91169f8f0c044d611494b755e5bd915804b1d857747", + "0x8bc6dd083b36d076ddf0e0bb1bb87cfd059283ddabb3886f02eb7e27f1f0539b2819527b56b5c13436523c4603ac1d12", + "0x85ab8b7a696333c82dd5e179e12b2e127e67d911de609ff9a03cab95cbeedb1f364aa1f2b5e59353e4ba0d177f996151", + "0xa9478e214afa68c395aa2c7daf8ba1627feb71ad6d8bc7339734cdcdd5a42838e032736c28e6251c808d5a4875ef0d06", + "0x8c53f62cf06a35321c8af3871ee4459768d0745ebf48942b9f464206309f42fc7b2c50f196ae1e43b664f0e2e718a23a", + "0x8ba80662f6642d8866e832ec8082a4204ebc993fc304c4b794666856de0407620131a18dc053597bb40a3de0bf8aca22", + "0x8c8fac6b911785d1561a985580c03fb2ebc613ae33e486a92638aa7d4493374118d9a6d9d99121e29c68c3d67ee4e3f3", + "0x90f2c793eee07ad90157040b30558bb3b0164e8ddf856389d6742cf5bd1c712e4c6a8e5678da70a8e9e242ec7864117e", + "0x954abed8f6d58896b7f6438c9780236c1c83b02d60a29fa7361559e619e5bc9d67b3646ee39ffafe2b3019bb3357fb50", + "0xb79874f757a33085e1e751544de8fe3afbea92e0234f9c00254c2b36115a16ee46f085f22aa66e0c9177e5106f51b03b", + "0xaa148b287cf4f60c64f774282b421aae075f0eaa93a45aab4927750f47e2ef0b811d1846bbb15eeb2f293c80a7612e83", + "0xa588d8825e7b0168d45499dcff6faf0dfe1ba4f090fdc7c06d50344960c0121f10ad109b0b9d13b06ef22de5a04eef87", + "0x8f61ec93d14ebfa9c31731f9ef0fb8907505fedc79378e9a3f65c27bed4d74b41e129c97672ce5f567d897befbceec8c", + "0xa008218633f1da10efd01c155f7ed739faec902da6dc48e9f19ccbc8d32bb318d71806285cf2003de2c907bbdd4f8b22", + "0x88ad82c66f7085632d7e348d69da84200c53594553acf5432b50dd1e87f410c802dfea91be3cf804e3117ce13103f23e", + "0x8498dba17de0318af227a3f9ed86df37a5c33f9a538be9823f8dce4efc3579e8296cb3b7200cee7c5e0bfd9da23a4b69", + "0xb3c0342231dffe4c9bc7d9265597bc8cc4a82e2980ac6d1407108db5b00349dc91d5116fab51cf2802d58f05f653861d", + "0xb3f2730455f9bf5a058598bc60f47740117ba51f6a767e1134516a4e42338b513f377027acf8825da5c4d047a62984fd", + "0x816360914fbc9d8b865157bfab07aeb7b90bb5a7c5cd64847b1c3184a52266cd3f8f8f3ef99309ba2edc4622304bacc0", + "0x8fd21b2315b44a52d60b39ebc45970a47b9495f42b88217ae057bebcd3ea0e2476c0c3d13de7f72016ae12ae966a008d", + "0xb62014485bc217a0fe892ef1aef0e59604ad5a868face7a93f77a70ba3d7413443fbe7a44552a784d8eae1acb1d1c52b", + "0xa905822507e431b35f56724f6c8d2e93b0607ed7a4533073a99cce2b7c1c35367382447073a53036dfdb0d04978ccf2a", + "0x81672e39c2b31845142963351de3d9cd04c67c806fdfe77467867463dbbd8a9b0e2400ccc55016e57cbedb02d83a0544", + "0x90919c970ec668de8ec48a2a73bb75cb94f0f8380c79a7909fd8084df61ecd631476ddd474b27103c6817c8f3f260db9", + "0x8fbe37dfb04bf1d3029f8070fd988fc5e4b585e61eab6a8b66caf0ffef979d3ed6a662cd99468ce98ec802e985da5fad", + "0x950939aabb90b57a3d667f9820880eb0c4fee5c27fe211ce8ecd34663c21b5543c810b3676111d079ac98644c75ee0ae", + "0xb06201ec3c3cfdaf864a66af128effee8ec42d25f1e173c1edf9207979fa52c871757000c591d71a9b6cde40f5001a06", + "0xa79054e8febd0450c96ac7a5fd6bf419c4b17a5926f3bc23a8616f0cfbc2849d97470174cd1baa7c739b12615334b6b7", + "0x81c7391b2a1844ed26a84f054b5f03865b442b7a8d614cd44805b5705fe6a356ac182b66a3c8d415132e389efac5f6b2", + "0x825af1563d0fe53925ec9ac0df65d8211b333474e59359bf1bde8861eecd03f2ac74534d34b7e61031227c2fa7a74e1e", + "0xb60dd9bf036f1825295cd2014ef1f6d520cf729b4d6cee0b42cb871b60ae539b27c83aa3f96ee3d490ec27ce7e915115", + "0x89ca43d5b7f3622b42df7887572297a7f52d5204d85e2e1ac6e5d7aa7f8aaea5e3a07280477d910db025d17cd2e7373b", + "0xb93a2bc9b1b597f0e514fde76ce5bfb6e61eee39cbf1971ea6db38c3ecb055e7913ec8cd07fb0b0ffae3ca345883101c", + "0x8d45546bc30266b20c6c59fc4339eb633155aa58f115a8f976d13789eaae20a95b064fedead247c46665cc13ba856663", + "0xaa8eacfe00e8a4d9815de3f7619d9c420629ada6489933ca66a571bf6c044d08b391e0d9eec7d1cbebe8def1e7523f1e", + "0xb32fefc59a0d0319ccb1946b351ed70445d78d9fbb536fa710d3162b9659f10288f12d82b32ecc026d55f16cbad55441", + "0x99c7c45c34044c056b24e8f57123ba5e2c2c039e9f038a66899362840cffe021733e078866a8708504cdc35816cb335d", + "0x80def162c134540d5ec071b25ccc3eef4efe158be453af41a310b7916c49ec0ce06bb43dfee96b6d77339e11587de448", + "0xb5f2fa4f68f6a26bcb70d8eab62ad73509c08ee7aa622a14b3d16973ffff508ce6f1aff9ced77b8dcfef7319245cf2de", + "0xb4d0436019e779c789464716e1741c189e8945dab7f3072720bd9aa89882fa5b085a1755c48da21541f3cd70a41b0a71", + "0x931e798ef672e1472f4f84c727a101e70d77b3a9f0c0803a5220958d6bbeb8aeeb56c769ab472a3d6451249a13a3f56e", + "0x918c10a84de268aa8f1ba24b38fe55ff907be07b1e86b4a4adbf305c0d705c1cf5f65ce99e03e11676cedc89f1a4f331", + "0x8e55a8413b823715ccd92daee357cedd797e69a0e78b6fcdacb7318646b9903dfe05e5501f47b3c52e74055b9eb619a4", + "0x8b329bb63e6c985d7d072dff4680b3f8b1217ed20543277386bd30ec25240d9dc378837dcd5cf4fd9548658635f4c537", + "0x8c2be5386052b22986b33dbc63c5afacb6d0095495564ba4aa28fc8c880a3c78242fb083248d788ed928deb1e30a82c2", + "0x83a2b7bdfcbd25d6b059f27218e009ecb5ecc4da68ead885e00216411d8222062ca42f21c4d9cfa19c31522080af677b", + "0x9620334d2633e85646b2e2fc48dc6c3f09c64ef1706ed78a3bb6ce1f6b274a727364df71e97531dfdcb392f70f27f536", + "0xb6c84970ec04545121ec3b79376f4e45053c97e8bf2b11922cc2490a429c38735466097ecb81cc9d9692c74d2fb8abc8", + "0x8e55d707dcf265c5ae29a32c27ce66f200fddb724faa5bbf145ef42280ef645fa2f0cc3cfe2db8599b26c83b91e077df", + "0xb910b96b763966402bbebd68a32c15a225ec21e1357fa298478c5981a4310e556103fef0c73bd8903e11c4ed2c065647", + "0xa8fd933a0e9fe8c459809bd93b8ce153e2af55df94b61a1490736b19c89469954da8b72dbd072d798fc06fc3d7a3d60a", + "0x811b279c113828e114fd82c2070caa7eb089a46c8cabf865f9c77354a77ebebe0c4c6400dda0e66dd017cfc44d76851d", + "0x8ed03e91c331afb3ad6e42767e1b3e8d3a35fb831805ff1b5fd3e91878e04027ff5af1165a3ac295f1578faf2c83b581", + "0x95bf53683d64a0621bf1ca6ee17446783f6c535b7a54d6ea57723487a215759a54f886597a55dfdd560424e368ab2759", + "0xa9bea378768fb1d7ba365a16531c51fc1975f1c73caf2a0891da28509805fa84e2a8db7c6ccfbc620e9002317abf174c", + "0xb8308250891015deaf851c4e5a4cf4704d104f94064418488d7e3076d49f36240dcf6fdcf83f45fe8a1d97fb02e3db59", + "0xadcda6b63da21f4074f142f8e7f3a2274f624c733e3a4001054a1809711529c61356aa087f73aed877a58ccb41d38d12", + "0xb80e7869239ae26d1da2e6683f064d1dc93cf4a2b66e9439b3ad9b25324e969bf98014760d29e6b8de7ff152ef498d0f", + "0x8e9bf968911df3bb5e3a7655e9d8143e91ee87f14464d7ba9c86e1e31b03ab31b91eda121281b79cd974d9ed2657e33e", + "0x9007277e8335a43e6bc3c2f5f98c0ba7024a679b7156aeefe964f1a962e5ac82154ac39d1ffbad85a8f2440f3c1e354b", + "0x9422b9d670e997b7c919a429499f38e863c69c6a4d2bb28d85e36ae0895c620f68b71e39eba785e3d39a45be91507757", + "0x926094e01132938000d82dd9a571fef5ef104cd25b4015a25e3442af0329e585aaad5472f0e7a69899ba2d6f734b40aa", + "0x95552d8057f7e32c24d69e4d6c51c98403f198a20c5be8826254d19cab2f84d5758e2220cea7e38b7c8a7a23178fd564", + "0x8abcf8dcc8488bcc9ab23c51b9e7a0d91dfc7bebe88b7ed370ee68eceba643e939c5eae66a4aa5fe85120751780e351c", + "0xa91bf8198f029e6a4cf6f0cc39b629e9aeff1c77b8739e1d5c73d8c1d3fb5c8f6f23e27b435bf10b5b4ec1cf6a7249ed", + "0xb932d87ee3a4b81341511f90fe5aa36c571e8b914f25abcc33dd40ca67a3f6444fe9362c1434744e4af18d6e045c54a3", + "0xa8e960c2be9b1d805d387b3ebe2134d421a65f1fd4c1b4cccdce78f9926f139eea78e3afb449b3d6dd19b5d16ace48fe", + "0xa7e2f57cce509fe66707eaba9b4c042c1be93fd6034a9b51d1d30c45c4363eac79d54663d525c9873ab0eec0b1cc4ed3", + "0xaa162a31c2078f4b080199debf24494a8dfdfb9d8fc85b198a861b12a629c73128c55a883e4c2de3dfed6e0e1b83eeab", + "0xb5a4d075433eaf4115717a84b4dc37f843d44bba0bf820c92ecdedd5afb61be60f7708c8a151a678d9d5c0ae531bffb7", + "0xb56ab96f7a463c0079e05dc766f3a6a31cae5c5044947734ebe0a26e01367c6763cc8de6c2ee2f3b8218f05bef217474", + "0xb60792ac506b901065a8bc0180a86e028fe34b62ceae1ad640c759538ebf3a2ad9c8c927d662deed6f489ff3ff7813c4", + "0x8c8c2cdf075504d12d441a58542e1f8e4bdf92b3ee4775e836b2734c5ec1e3df919b931386417d04489a1dca806c87d2", + "0x8ed78e91e5c4a68894cefc2f7fa71f02e5e12d40f1bb74332139bc7be4d92c24e07d5ece0e82150ed474aa1337af4c18", + "0x87119c22ff8aa31150bde537d863cad661cc5159b12f084cc319224c533f0deb28526ed8568d00a1441e7d8bb4f05673", + "0x83a60ba5a9cccf22cebadf7318b706c9f29abd25db0e2fc1c802965351b53cbf316df72ee3e9b2d3ae7f3c4494cfdff1", + "0xb73b6a9fdd3e7463fbdaabc9a885b7c82201ad867d1bced1c2484300a01cbbb3f1e21afa95d4c7cbb6cb983416b63b90", + "0xb1d89ad16981ff9217708090d4017662d8838f21f3a3296cffe14590b533905fa06a20e40dd497bd291fa4dfd1bfc511", + "0x8abde560083e071a402e3c7bf31930f537f67d2a7bbc734a7480b1b760aa712ebd1cbcb65b00e11e384e980222fe14a9", + "0x89c731d8f31afea8bdc9c32527bdca257f2a840764d40f6e49403b8e75ae51017d505ea4fff91bf28b6f3a1bc65b8bbc", + "0x80e9ac8e077e86ad050ee73dfce268a69564ff1b8419e9c236d981fe7a5f0c2bc756e8603ec604b3b9e36da8fe10a49c", + "0xb4f1eea0f304898b1323c6382732e6f40e556bfc68af9ce73f6d54e92f5f23cc4f78eb3f43d578d81e7627fb40f092b3", + "0xa0e3a8d1348f8f153e08ac4839232d75d1d6e81b5de184ec4724f8213baf98d3fe739a96f6b39d79a053b628c3a09981", + "0xa6915ba0b52ffe4a381bbb8ff3791d9d3b848bf89b3bacbb2a7d2e5ae21f1353cdc304b3cb6e82416f7e604035c27d7e", + "0xb2c4c9cdfdd2fc9a340ba3ade9423344b9f429e8c7e20a8abbf26400376e312f3ae35d1c456be99dfb5c02fc8a36cbfa", + "0x9657d57ca0641825a0aa5687f3f87659d893f33aee819bafa5b1ca1db554811c1c844f971e278606e3a2f096defdc67c", + "0xa4ad24d0a557704ada24d8e27a15604bca28679e260b2c69ccc8e6cae5499866724b700605a90df7dfb35130756939b9", + "0xb18d9ea6682f73a1f99a9a4fc98c38fcda02c1a18e8c5fc080cf935a2ac877dc5223fca273dcde190b906178d0fd05bc", + "0x8ea5fefad0799c885f50ff10d94bd0af5b99b0a446cd1f367ae5ff529cc47e09f3018115f3c0ccac2fa05bb65b84945e", + "0x92450d52e6c7d13ebfcdf5674d6761bbae2fc5aabc865d35d031b588c383e0a64cf69a73dc93948632e2b98f74a5ed86", + "0xa356f171a98df4ec5a96d556eaccc6ad34b4238aafcf0e94ece27cdbb491749fc9692e78b84dfe80bdef2914079d34b5", + "0xb918703a4d3507d266414712ba8eb7ad17da07cc5f952b5c62ef130cc6ed1ae3bf01237fc8848c179725bdddd465b301", + "0xad2b0554570bfc9d97510cf59bc38e10ca54a93649c30ac9919bd0255e43bf525ab11b74f78a51ac0973cd0c5a5dcb54", + "0xa7ecaf4b631d179d32ac1632390d95196a0035e00da6c0e6e13b5c09ae44b15ae6c21538b5a31b73bc5f650ecd979b59", + "0xa37704eb4d728df2a367e59fcb6c26023136230e37f3b8a2f3ceeb1467f5cd30186fc0116f98b64a8146fd2c5903e8d9", + "0xb09373ce92314678299ae10ec1f93c702911beb4115c6b5ba6efbcab9c7afb599f59793912df70a98868bce6545a33dd", + "0xb52a878a1393094fd2b93f2d1eccabf2830ab10800ba4cc24dcc7849cd0978733263aef2fcb766a7cb575a7a99383db8", + "0x8dac097e006fda4fb9d6d7ae52adabd9448ebc8d5bd5b38ac0c4ed38ceb510763174f7adfb0b473c38e52147ccab4239", + "0x86b19c41efb949937d74a7875549ee5e997f9fdac7f7198085afda233cf74341a38d0ca3767c76cd35f875b89a35f78c", + "0x99f0d927e5ad25cd134f1c70b72631cc6b5cb4ddb86c0642b900464e33d971213a5239dddaf71f7a42f2d6d02a12dcc6", + "0x8355c38806c335d747d4e97f0083fb96585677da18b409a85175ec35dc3f74671817b34203eb18c2f729717ce083ede8", + "0xabb3603adb061a036eae0afa5f23d79c3b62442e0e3bcdeef896f88995585c1105cd3065410368456a4d36b5b0485a83", + "0x9051c5c0011784885187d04749f774b9b4f6bc594b0e4e18226de79dedc4d7aefa3529c3d2c728e180f96f3e204d578b", + "0x91888213e7d321d0bfac884edbd5cb756b280753bb5f8bc6acfc208f525757beca24bdf86fc68d3d8736ef176a960b49", + "0x91258bd7ce6e3b7516fe2f5391a368d826da299e0e99b1f82eaa44b62b110ab696adc92debab8ba098a52f38dfb3c5d8", + "0x96e3907340dffa9da3602d3b94bacff7e1bb8649edd3b9bbd06e1bc6781e78f91ababab12c0b9be7c66dfedc7001b66e", + "0x9513555688fcfb12ba63952ab36a67b36affdd71f7b843e8eb99ccbd45421698024608233efbdc905eaeb26b334b33af", + "0x9913ca9bcf11eeb408da02e4317c5ca0010fb2f4490b282ddb758001c08b438c3b35351a8cbe10b7fffc1293ccd22d4b", + "0x85dc2471860ebca88e5a2766161fdd77f926d2a34825d1134a30418f91a741759668e32fd1e37c415d07ab5824338e8a", + "0x8b128917e828a0b5eb6fa8ed72b52fae2dfaf74febee69a2e2f87e8df702f0c5bc0fb620c8d1d2a07f35a15ec9c0f5a8", + "0x964c39e7840c130b01bb481ae7bfc92682b0f124c9c383f9dbf3027f2249151925f4faf36905af476a54778d69da3f48", + "0x80671ece658cf850e522d46d25678f934ce6df043f25f8707235125765d40c2eaaf39eda6092f75039b22cb58bf2c29d", + "0xad4bb0e79fdaa340b1347a46b0f64e801c72a89770dda0a6e4bfd35f2df5146fce9934e4baecb1c2671077c771eb8089", + "0x80b3bd3adc6cf198fcd997f8867d2839a2eb28f57390352ec423b8a14cc1f2ab21c6e286505d6a21fb134dcd8d8f11cf", + "0xa26d46a6b8a75748895a1d599e7fd120d896340e79813167a400b2fe463452532a4cab419074663fe1d29fa716b76a33", + "0x82b1f3a8a1df29207d7ff020809113ab06080a7f0c631f76ad33f47cdfb6a567143144df97b4ed7f676d929195b04bba", + "0xad96633a3744648ff0a2e4491e8219c9c6ba6e655cb058c36320a8f72cd5f72c00bddf97083d07650ea9ddc005fc1ff4", + "0x91d0783788626c91662359dc3ff36a8bcc6831e3f4114f85c99910256b1d8f88a8612f53c7c417d55581dea486f38926", + "0x84edd9e87ff3d193ebb25f43474c33fe502a1e2100fd3f93fda6520f5e42214cc12e9f8045f99aa2423a0ee35e671854", + "0xb55e06a4b1fc3ff9a5520e0b7c8b5ac11b28385cce78d91ce93b82f1bd7f7afdd4195d0c13a76e80d0ed5a4f12325fa7", + "0xb0b15c7ddede2b81d9c835ecaa887650622e75d0d85f81b8bbec7ef24e9a31a9c9e3de1f382d8c76d878d1b01373f6c8", + "0xb1adb47c20f29784116b80f3670182d01b17612d5d91bd6502b0dcecdcf072541f582aafc5e7dd9a765cad52151684f4", + "0x8efd1018df9c9e9814a9c48f68c168551b999914a6719229f0c5bf0f20a288a2f5ba4a48ba966c5bffb0fbd346a4fcc6", + "0xb34ea2bd3269a4ddb2fbf2514401d2712fc46c22642f3557e3b9c7acbce9b454dcf789573ede9aa14f39605fdd03f8c4", + "0xa9e1428ce24eacfc460aec2e787c053327ba612f50d93510d58b2cb0f13291ca3d16358325ab3e86693fe686e4f526f7", + "0x91eac7361af4c66f725c153da665a3c55aca9ae73ead84ca2662cf736fe6a348a301be1954723206dda4a2120202954b", + "0xa6f02db89739c686407825fa7e84000ceedb9bd943e8a0908fef6f0d35dbc33c336072ba65e33e15ecfcd5714d01c2f0", + "0xa25666faa12e843a80365c0fef7d328a480c6e3cb7f224763c11d8cbabd0e7e91a5b647585ee905cc036afca14842bae", + "0xb4348576439cd2e48c01cb9cded7cc4a0ea364ab936dd679ddc7d58b48807e7fab070f2f1ea88595b11af4500849026a", + "0xa8c6c731e0d0464ef7e4fc1b049065eb4ce100c01e1a376365c636a0b23851022bf55805963bc15eb57434a837e81167", + "0xb0952937b154e3a4c206f96cd96c76ba37624956b0e4d43470bdd97b4af878326b589e3eaee82fc192437123096799a2", + "0x97d07ec31ecc9923192e48d37df2cf08750050fb452dcfbdb350fbc43e146bae3590c5b732b31ebfa1ce5d884ad5ad57", + "0xa69359aebbfe4cbc4d39d178150039fbf284cbc0edc68a6bd635ee3a1c76569a4a575c907fff691b2a4d82a384c2945f", + "0xb321c2c0f6b5902ee9056cce7404d858da9a573d27348c1a6bfea29b2746f2aee7abcb6192504e5a583b0caeaba117d7", + "0xa74e738aa6eb4eea58855ae6f422af22812fb388c83aacca5bd5fa4a88d4c01463174a229aea2830c348dd9ab9307854", + "0x94306a3b106bc1644346bc45c05cdc8287811d5c86cad691bde0c65d6a686eb9c0ce79ad91baa4547e5d058ae8bf7310", + "0xb64140fd77a07633e4ca8d60786452311dcdb8ce7095ba51dad8486f57c3bf4e69bced92603f71da992a48ad817ab275", + "0xaffe7f4310f1dc68e5e3cd640bedf864f51bfb46bb752063bfc18e95930021f784e509261ff9c560f53000c361b142d1", + "0xb0d2fee222c6f963ba3385547f921a48964da031d737892604f8f2677d4905dbf615046db57eae6c6dd756709ae6932a", + "0x81700c66aad7c2e51168e028b0fe086dea75d3b17d93a4dc1f47a6a0f025df0bae1c8c997901837ad859a84197e7bb00", + "0xaa4ac5fdd602f8b79cace18690e67bad557a93d00c0e295074185e8c6b4059a65495d9971685de2fc01d2171ac8b706a", + "0xa8becb3a64fdf35d65d2857898dcf8053b5057a73ab8c5bb5324af1a8015cff47efb85dc3eae7364cd5c850b7962bedf", + "0xb72ea09bd0b72f8cde3466f359ea69b194ede93dced534efba1b9ebc6f3bd53942fe2965e992e82edb6050cac4ed88dd", + "0x85bb8dd7eef023a251fb6f220af54687747f4c91983ff728163c4618ffac40ee6edc29a0aa6d455276bbe017f63757c2", + "0x85a485254a11b4c4a943d9ec509c0dd1cbfc0ff5273a00cf5c9f0babec973efb15348e5d9451b548293d778e3a2b62a5", + "0xb109f3ac809391e772b589c196b013db69a9b2b10ac3898feb70b986973731f30722b573cd0c9324158ec20416825385", + "0x8a4eb579a840d438bed008644f373ea9ba2f28470d50cf1d70af38ba0e17326c948527b1719dd1bd9ac656ebd5aedd10", + "0xa52e9d66ead5ee1e02ce6108e4ded790d8ec83164a0fa275ab1f89a32200726c8e988d66df131df9e62dd80203c13dce", + "0xb541cee9febf15d252475507e11d65c4b7819c26cf6d90352f5e8a8f5c63e254eddf22df0c35a7be5b244233e8e4ee5e", + "0x8153c297772adf4603c39349142f98cc15baeccaeae10c3230ee87d62255f6814d88d6ed208c368d2c02332426589748", + "0x970dc9782f1828474e9fab7dcdec19aa106725465a5844caed948eef5c9e48199c1b6bc1a637ed7864116927e84bc65a", + "0xa975a920624967f4ecc77ea5d9869c434caa64c330024194615a8d0640c5d4d4fb139ea11a0c73a5c6ae6dd3fbf0ab5d", + "0x811f0f9e0c12acfb4b9dca359eaef3bed18083bad96188befc036ad3143b121fff4777ca6dc70a835bbc4921bd25f5ff", + "0x82341c6ebdb97c8b72910da95c7eebccd1308b6a92999886aab552f0642882d5c7cc60931577d200efd6066530c998dd", + "0x860f7162c2f5fd1c0953c6ce75bd8c52eaa48032b914410681b8cc05e00b64130d1f96ec5a52df66a04c78a9f9f42981", + "0x8a578e674875571fe1a0459843495a5ee1d9fb6cd684b244feb9488f999a46f43363938cd0542879ea18ed14fba10a6e", + "0x8df217aba4da6781f0f5139aced472025523ed6e17e504511c04b677ca8197488e237d8bb5dff7b6b3898cd5a6393dd5", + "0xb2c9230ad35d7b471d3aee6f771517cf3145ad26200bd6fe9c7cf28120e2945fed402e212d2330a692f97bb9ac4dcf12", + "0xb78b89e29e8b782603b222cc8724eeb83b2d9d56bc02f59a3c899ab76429dc721358b07dcdaf422f59520b7e7ab4fb55", + "0x82682a5617843c4ac8d4efb4c3ce715c76c1da2c3bab1ede387db503f3489c1bfdfc07d9231d96f955df84fd225bc81b", + "0xb0f53725cc610e78b8e8a4e6823a2ffe44dd15a9a5bc8151ab7a3787ddd97e1d7f2f0e6efd2876e5f96417157143e3bf", + "0x92c5a93233085e2b244519078770c7192af62f3562113abc8902f9d72591eacf52bd15ce78653ab9170d5067606287f8", + "0xa43ef97dcd9b6ad288846bf31fccf78df72f94bc7ad768baf5bf0d5dfa27bd74ffcc6b6c6ed1d1f09e09be3afa5eaedf", + "0x817d43bd684a261fb30f709f7926cc4e1a31fd3a1a5e7e53ba4d664856827b340d7867e23d55617ab3514c8a26a7040d", + "0xa599e22d3286b32fafaaf79bd5b0c5b72f6bf266ec68948478f055391336d756b58f9afea0167b961fd94234989f0f02", + "0xb70db7d8e8356df2e2070f8d658e560081442f3f3b95e20f4bf30106835d76161101163659d5d12cc0f335fb042dc66e", + "0xb8f725b70c957aa3cd6b4bef0d9647393f7c9e0b7343e92439372f0e9aa3ceddd0cb9c30be331742b87c53f2eb030593", + "0xb2fb5e7762f26036e7e966f4454f886758804d1f4c2da17f3d13b0b67ca337f1fd89fd3cc798b07da6e05e8582c9537b", + "0xa377f944dccc300921e238ed67989872338137fe57f04cb5a913c787842e08b8a1adcfb4d2200abdc911fc1c766a7092", + "0xb82e98a606071c2a33f2ad44e7ace6d9471d5434500de8307b5d4e0083e3a5cbc67f0609ca8055f0ea0ee7501b9ed916", + "0x8e58f9a04d33a41ace4944615041662dc35057e645f63e127cf0d70f96ac307d33a62ce98f164d6eed8536c1a747dcbe", + "0xb5b11388071ffbf57ac47fc195736613b964ebb91cc8e2c17b32646f91d64ea506282b881897fca96c317364d3290de2", + "0xa40ee9b7551133856cfb3904837f9949a9558e59a418898affb78adf1500fd6ef6328fc4422161909aea2c79ad08c14b", + "0x81f9eb4ef28aacdb43e11dfc9aa92ba990be4d3c14b484fa677edad3a3fbfeaa859a7f9322b5e95818240d7326215abf", + "0x84939b2b6bc859437d1a7a8d6ec9a357c6b716c4b4cc22abc274af872655940cfc72c99f5d0283d90e05191fcdb1c232", + "0xb78a5b74a90a805410b6225fb9576d6d73752520f25cc3fd1edf8ea9f6559d3080f9acaa2246809b6a66879cd2ae446b", + "0x8d0a92baa88bf38dce5385ccf15d345b28e2e5d0a2d469e689353d80eaed8e8408933816d70ad752f226c59a0d5b5f0c", + "0xa7e15f8a8c1655b7b346c9488cff278c793505379b781b31b273b4bf09b3bdfca1c8ab2334746075d636b2e05859f215", + "0xb70daf14f2adce03c7b92d6aa181f0c507a80a37493d8dd12419d5ed5f943a98099fefb46ac827d6e4efb9b8233c99d6", + "0x8c2480814661744d116fba7355bc6b1914975e44cf0e976d50b6a20092bb1c636b7b44ed3fe8d63b5555ffc89fa759d6", + "0xa6059528a4fed36abb74ab992b22a4f9bf1d05c5de2bfe6837b9af1adfed98bc37ed7481b5a99675d432743021fcfdb3", + "0xb7e19f1b25bc159e5a769811e773c3a8ffe8be8ac77ed0b711540915e5c6e7bafdb407cf9b85c551f67fd621ce8142a5", + "0xa2f66d4f7d16ed3e7ef5fc90b42676c61a98ff18bd26ccce91de03b6a0130c1db17a6bc57be135e410a76d2255b15813", + "0xa139c916927dc3d3fb83598da9217ca64f0ae127215332e9a7ed82be923b89a801c44580d5617297175f9dafb1c4eaf3", + "0xaf08e1e1b04ec95366a12d99c80a9a9ac40ac984a575dd0230cdf4eb346a7686da55ef0a276f3356f814af31f9cbf1aa", + "0x98840aefe287369221c0721cd7c1b15b1d670c3cbbfda191cdb5434bcad757e59c30ec82b2d8c75947405888d44da435", + "0xb7c61c8d42daf2e278a12d8f6eed76090b71c82275f8b33504aba75d95103840e8acd083e97a5a5aa79897876a68940d", + "0xa0264048d2a2061d32eee4f661957ff351e78436bf49ef973c059612874ce9c91970869d011dc13a5b7c754476880a68", + "0x897199a4d8db8aa2db5d9be3d4f4312e41fa0739eb06c62e2e046c4b9be829a447e5d47227e2d96195d3b7b66eb59da6", + "0xb512a9082881f5dc90b02f8bc4f38b133348c2e933813852f6a8e7d8c270c9ce68a5524af7d1d3123e53b2d02a53d465", + "0x80b332469254a96f53c95ec79bb5a8bb1c387d40e58b73d72f84384c696ba0d3c81d6ac90be2979c364c44294e90432e", + "0xab680c2e547ea5cbf95bf813020beb461d50ee4341dea944eb48f6a8584d35682d20186e3b190b849a1ba25625a7f499", + "0x9070581993a0531d6be372d370c2e4ab2ee53f30e04a75ae61ea0fc2c320914506c4d2d4b4487c1f8fa88356fc45c895", + "0x8424303dad6b4051ab633ad27ee51783b2ead61c5a6dae1eb3ed72fc1f36e2a9b1f315504a4bd90f9664091f2f403d4c", + "0x82225611eee626556553b9316dab4043aff241a81826a33aebd9864a91e299b765ba1fb43eea2c2047e6b75b6d7fe3de", + "0x8a3fb221c616ad55c352dd5e0c09ee892022013d6965aef40d4f277a42e9fa01226fe973cb99aaf6ffe4f4f348fb54d1", + "0xb07c07679aa51713e8a7d7bc304dc15ed5664b66bd371877023f3b110b3927e09e259ef22895c4001421a69c6c013cc6", + "0x83556c76bdac0dd8db6da231b863c335be076e7299802eebc259e0818c369f933a4a4b18e2df8ca07e82f60767b462e0", + "0xa516f659b7915d2f7cd0f0f5ea2491b15f0c84dcb191e7671b28adf7cf14a56d42cfc0da94b3c269b45c535f6eeded49", + "0x80d7cc6f26066f753041b17ff1bd27f6d4b5603a43729d33d596e21a67356db84ca9710158089def425f6afaf3207f9e", + "0xb802a47f9009dbd48851209ea1e2739020e717f0ae80671d9f97a0e43de923273f66b7fcc136a064c8467372a5b02d28", + "0xac92fec1864a8a911633f377df87aab56713876316d48240fefeee49ab97f7406c22e70f4938b5912c5c4e766146b7a5", + "0x89224225b9835d04428b0a74edbff53dee2be285ddd1e5a3a8c37307c0500578155f0c4052e4bc8be04c56862fac099d", + "0xb1d3c8492fbf22ea60732745edd3b0163ba5a20d1a3315e3773f2540ee38cf308d42ec72cbb3e3dcea457d1d132c3904", + "0x8bd00e38ec30ee6c44a0e5b222f1f737c9ed2a4bb9225f1741d6334df966318c8a0fd2fbb109557fe8c9479694b8d8dc", + "0xa930ce5454efc0b247dc148aff869963fc5c240241d5590415cbd36634801a04d3873d93635911bb9c0c42ecb005cc63", + "0xb83d4f80e9e0fa47b42175df74935ba8aad2e559b80e84478ab1685bc3eb65d51b93e5738d5ca968cc055ca0c552a03c", + "0xb3ae21258f98051f13af3878b8103bc541fe6f20b1c3f8fb4689ddb8800b3c25cca9b55f0a4104bdf15dc4d5844abb8c", + "0x831ef8684c1cd446c58c59d0152aeade5cc305bca6aa296b92162615f052ba280fe289edd62fda6d9f0667c186445f52", + "0x97bf9659b14f133885916733b7d4ac7e215495953caba970fa259f7bf6b79e661090ec8d79e1c9ce8dfb17e8552f93af", + "0x84d5a89cc2332baaaf3d19627a65f4b107f8dd9228a1434b327732f59883bb54fb8ce60d6acd026ed4b0e94e545d1c33", + "0x8e66cb743f95ca5486400b0d89d02e20b98044be1e3a12983ff9fe086179e5a0ebf4dcd5098703191552e9aa660a6de5", + "0x87b4cfb35bacec805f8148786788db84eb8f4bcecdd0570ecb592c705450ce1a90b6d183d37ef58780ede3995be67497", + "0xa72a4fece5478011973afa543f6d8a8ea06a64b241cf7d8bd81fa3740ac2a4cf10e5120abcc1c1101f94da89507a40ca", + "0x89dc6001a96adcd2679916f43dd19ea00508c8d5dd6b0090eab7982fd2f3571b62f3029588a0649e73f49124525407ea", + "0x8ca75edf1259599e873530eff6151c822a4018e71a340534219ef8641cb6683215891df41d4e3c0ca2560e57a7aa913e", + "0x9282d32f868e5ee6f7fc229dda5b94b603476de30cec0a44a30edf396b52dc0ebd472b8f726d4b67d76179fecc1666a1", + "0xafa24704223707db89690bcf9761f07a093f6009ca9fc945e0a8801fc29f9f51292bf95243e466fe736088af36c55ca6", + "0xb51332508ddd9a2610edd2b0ad120272ca342e96c28baae37a2c4f07e689303a46c237712d07e446b1d67c75aa8ce32f", + "0x9219249f3799dfa4eb4770ee323f821e559e7406bb11b1f1889286221b22c8b40ccacbd9ac50ea3fa9ed754860bc24f0", + "0x993515270c128ede64fe6f06755259105d0ec74947b7eb05924a375fa5c6d14822f3d7d41dd04fa5df8aa2aa205a1dec", + "0xa83be4c2511bae430034ab15b194ac719d7b7041f9c0e321317f513a97db39e97b9ee1df92a1962f265b7a3e98cdd753", + "0x8ac7feaecd26f7b99fda3ed0b8a08bd6dd33ed5ba687c913ec0ffc64bbbefcda6f265072add4d944f2005634601ce68b", + "0xb4e3ac6b09299db9e1a469f3a0b2d8d724ee47a417a517bebc4c2ac3efc5cde086b57b9aa4efccdef2bcf8f456d973f6", + "0x9262a24a84fb7b2a84d700f98dcf3fefab8b47293778c20bfc356860cb84e0bf102bae9facd9986d92d1762e0a955836", + "0x97be2041c42bd25e5eb519279163b0857f8bef627492c27b1182f8bf0033769246be5886422cbd2409c08a2615352465", + "0xb0b87d059a00e3effa2e5e4925da913b245785f2932ac3ed364ad19a064d3561b8aa6afea22c951316074f0df179af36", + "0x891644b7b3321b06a2a40cd96c2b8b29d81cde5b48546483fdda439000982a9cbf1f6333fb6c089d39da6492cdfaefe9", + "0x8da9149b7f4783a24240b7b9c7e6df4abf8d699d3834e31ee591489bf4744141ab199c173db64397c1f9bd5f9c862ca1", + "0x8ad7f9fb2742654aa2964fd468e7645436cefd1308b064fd63fdf0d3adb4caf6cfe5426354f6cc284f208b03d6b2d918", + "0x8435e4668f7aeb027100d21e4e0b6ee22b401d21966a3736b95610de86c7e2f2c9ee5d0f901353675eee5ff458dad69e", + "0x9010895f045538bd11b47bb8996f27198c8d6cffd3220569e6b7407f68f35c47d1efdbcecbf9b5e241c3c2879a4f6936", + "0x92a9aa443b5ee7bf13b6f43f2d8d8db7f6f33fd4073a606ec5772421a55f464831419726130dd97829a7d4bfeb1ab078", + "0x843f3266560be6dcbe0258c3c7d7e332330e10630c069892954290288eda301e247f479505a8a1bf7e59c99ccafd104f", + "0x915bd1dad808f8a568725bd243f80b5476a2999d0ef60ea3ef6e754155bc4121b2b879d01570725b510c5a3f09cd83ef", + "0x97250d781815b1825be192714884630e9f564b9bd737d55b8ac79ab48d0fb3ca53bd21ead7b2fa82a05f24083f25645d", + "0x81e2d52333391ff2faab39611689a62d6ead77039e8703f4e012d53eea17a4d46f2e3342e44b6edbe73a542b461bda45", + "0x89c9f9fd5f638156b018831c1bb70c91215f4a2f5a73c84b1208bdf6ad652a55df7213336ce12bd910a0e1a726474f95", + "0x92bd02984d090ea7e2f3eb7d36d1e7b9d731b6b047e3cdd4af7cc4ee177415fea7a145205e484b366d84191f06af85c9", + "0x85a86fc61d5d916ccbb219db52953e1495230aaaca63237e9165276405f07ad9644e253ae394f1ccdd231944e7143313", + "0xa2ca5b3fbc9f3530f88c0ed7071ec3d89b272174c366eedb5d15d2b648c65d23c0faa4e92c776357e7c6883a0084d03c", + "0xad171f5badcc99c8ffc9d8b707d792046f86cd0aa478e0e2fbb32fe095f96cd134ca548d1f7713057694dc6b26465315", + "0x96bd15d57da9980870fbadc98c68db76824407dff2700c45b859bb70d98374d4a4ba99e3ed0b0c17f480fe08f16c6b8a", + "0x8300bac69ca088c3ff35749b437215e9e35a16393e9dc094f520516ba57a485def7029d30adfc72bca36eeb285c19301", + "0x8a09e20be64f346668fcc7b07fee9c0ea8094c935cbf4f3a4cdbb613d4b936c1edb9256b7c884efb72393d97c0da00e1", + "0xb1f85827ee6f041f93ab174d847a55710824fa131c9ade9561168c3962a25c617475ebc4105eba6e738961a754442bc8", + "0xa131558f92e215969f41b6a57d1e2f424149eea531723821dd4cf8c54325cbe66b002de2c8287de6b41ab4b5c35f060a", + "0x81ba492b8956f73557f361a856c6c884ebb300d828287d5699e22e0cfa75c8e77a61616551d0be5178263898c461d6f7", + "0xb2608f44d3c22fac8e13cb59e4ade8b9a98c4eb1ec0959ea400c97eb937ae3f66837e91917057148befade8389af2f6a", + "0xa6ff0323b5a18a4becb2cc6b376086b47cb2baffbfd1b0f2229ef2286fb4a34c5cd83a5faed5def7bbad519fcab8a856", + "0x857d879cb9eff22501d883071382832730704bfcc5cd5b07cdce7ab8dc41c565a1eb0e7e4befce8e0e03a4975d3f11ef", + "0xa2879a20c0360c516811c490289be7dfbf7dbd41d2f172c9239f99e3d091957e0446854f9d0f753d90384a80feb6fa56", + "0x83518624f33f19f87096a47d7b8e5f2d019b927e935a9021823fac6564c4f2328dcb172e25bb052748191e75ac682bd0", + "0x817ec79132faa4e2950665712b2c503d7fb542aa57b7b36e324f77cda79f8b77bde12314e2df65c5b5296a6bca9bb0b4", + "0xb2abf8fb7c3690816fa133d5b4aa509cd5a6e3257cfeb7513d1408b12371c4d58c44d123ac07360be0d0dd378e5bcf99", + "0xa9fe1e4fb1574c1affac5560939face1af6657f5d6abce08d32fc9d98ef03186dbb2dbb9fd1decd6d8f4e4687afecce9", + "0x89b2f41e51f33c3ca3e44b692e8a6681eb42a7f90b81c9e0a0bc538341df9e2039ee61f26d2ebe9e68df5ed1bccf8cdf", + "0x8b35aa7b1d9e2135b35a1d801f6c9f47c08a80e48603f3850b425f64e7fb9860d1adda04f92a1ba22d00dd0a26e781ca", + "0x960574978cadedbd4cd9f764bee92f94e08b7af65403de36b21bffc9424bcee845b3b028af2e9e545dd77cf1e69a6a7d", + "0x840aa0f34b5b6c39471f54d9e85f1eb946468c4fc01963a9027cd7864df01f73c2e864f1f07aeed4b1b1af72808dfa07", + "0x834464a84a11200e3c60f816044c254a7d9baed64aed45a17325cef7fd62338e0a26da78d199d30ac3411714dc813223", + "0xb4ac6fe2f5059546f4ad9a361426ead33237b6b9030b129bf0122085c85fe4ccb33cf90f5a7f23c5b708a5ac64b487f6", + "0xa12aa9035464795f2a67f3eaba478d5ebc838ed9e997c7dfa241e1ed60a94b367d3f969ccf0ef02028c35215698b309f", + "0xac8d926492ec2bb68c6d8aa9bce49085d3d266f3d5f1f924032b87c42b44e41da7c047eeb01e4618f9d0f123dcaa537d", + "0xa5142425825d813ed8ce1849d81aa40b11f1cc3daa89a9f798dd83065c74820b4da6122b3308f528b074531df66e1a5e", + "0x87ff55c9f5aae079e7bf24084dd9c6b3bc260727d942d79cbe8dc13341d98525b4ece3ed8169994b56a387642f09134a", + "0x88e680f148ef2ecdcfed33b61f9e0224790fddc9069bd6999e9bede1791e761637c0fd60b52990b6c93e6e5429e483ce", + "0x94bc20bf5aac6e9f1060d02eacd06c42aeac9a1c5635b15a83985dfb03938ddb4999a822e865635201489c7f75601b29", + "0x849221cab7599f25f0b114df092bd5e8c2430503ae959bef1543a101de0790a78245db6a145e26f40b5f9bcf533219a3", + "0x88b6f2c2e7a7954fad11009d839ce50780921f80292320868d481e38d26aecd80fa607e82219a99532d88cf33b39f562", + "0xb0d82947dc23c0b88b86c321b582c15decdb825ed909a731b42d46bc895009515a3dc646c98dbec7d71b0722df82392e", + "0xa2cfb9f7c1a76c8073363c1c3bebe5dc29fa76533caea41046c51ea9bbdc693a121b957cd96be5b6da18704d1865cff7", + "0x8f0ffab9a83355a22683a9d998d1c1089449eb308711eaad4265f05927ec6d0d1ca39217082a0b372e02234e78dbaaad", + "0xab024661e2b2937ad374c8cf2e3669f1dc55558a3a881e9ec4d461f27e0fa92e2bc88230f038bfb051cf2145ca747a07", + "0xb98d9b9ec9eefa56d38cca959ce1aee7b6d4b41a8dbbd34b3f50c0a5f97f84ed2502ded1ce8cdb5895872360d4ba6d61", + "0x851244158b3184a62d2c98d148e2b1102cf0d5500906bbc2deda95acc5e3bc4b4a3344febbb31ce05a56dfee86a74913", + "0x860d9e2cb886bd3620b5d7499d14b415532482569bd45fd76e3e8052d78a73ae4b2b41f139f9cfb136564108cd93c0f3", + "0x8305a052a0fb2bcd41f3aca075c5f7f233bd8f861451d03f3a6e6e31f7d08dd89fe1eb4dd7b238a78b12ddceaad9768c", + "0xadb703e4778c7e14fb83541ab00b5fc344108243ec6827c5d9b302ee68321aa569da1718424e6a57979ab7536d5eb43b", + "0xb1a754b87b9e21aeb86217ec5b4fadb7535344567f1bd15e88ec12a833fed68e26bfbe03b7709ce24ba6c925ea0a0e07", + "0x8c1e2f6bf820e1653f3b8213e9d959d8649196223c2aab57b7ebda094f4919f88d883bcc6a0cd0be335f26f5a2a9c962", + "0xa082deb9865fe8668e91db0e4fd7fb50fb3fdae3e7bf1217ce0aa6f286a624624cf936d762bb2b6c3fead6826694f846", + "0xa10540ca05fbcccdd0a2a66aabab3b36e9bb525794cbae68bc3dace6116f58942218e9d5e9af10d67b5f6fb6c774fdd4", + "0xb81d22c4ab0ccaf447cc5fc2ff3bd21746617e6773bf43257c0d80331be2e8437b88c9c45309ee46402b38d3d4911caf", + "0x84c7c6e924713cab3b149f641dabf63ad5abbc17c1d8ee7802a6630507aa1137f7e034ba1d12ec13f1e31efbab79bf13", + "0x8773b9d236e5fcfa8c32e471b555264692006bf9a869a3c327aed33da22dfbf5780ecea7158904d4d6ac4acfe9789388", + "0xa4c2c1bb7290eb7af2013f7dde78282148593f066b09faf42e61a3fcf81297caa5a00fdbf6b93609c8c5782a0f25341a", + "0xa7bfa6e3f273da3dcfac7cb9906bbe9fa4fc2872b184d79813ee273e6cc4d7f37f46164362707a1976f5b6a2c5d7ed1a", + "0x8b71502019e4263fcda354a0fd10aaa7da47f4abb7a0c715c7b017e9eea14f2b64009b29b467394668c7ca995adedf82", + "0xad7460fba7deccc3f9a7d204233de47ce30ffa55e1e164975cdf06480a6108720bc397b93ca8c959df77d44a1e1f05f4", + "0xa5b8df96ccb7b078a3918e74b1b10da21df982538d2c9313f5129b2797c8a6db9ff8707241ff72d3e9d5983397321736", + "0xaa6cfa6386660c01879656da6c4e72497690708bae6c5cd1d088f443cb5bbbe75561d6eec256a72b9728377eb83ef973", + "0xb9699ce7c5c878e44114ab7a598646c6c7616b8e08a9ef8ec291189ef9945c1a538d2abf1ce3b0da0f8eecb303b81b43", + "0xb8d0fd1d278f53c455de92ec4357885fc6648dc5f276930263da7dc885b4a9628a2113e28b66b1e64fd08189427c614f", + "0x84ad8d262f6ef5d93e82ff6f4af995148eedf6d8e079124daee9b99f506e2968922eac2c7d4aea741fceb7733f20b2d2", + "0xab5e30ab54641e3a44450118b8235554e0fcfffdfbe1430ceb3f7ef33325725741995fbbbb0c16f0875aef0f1e0c98ec", + "0x80e2cf8bf386ebda46045852751611f2af80eca2e910d9ec5f6e2c7376611534604ceafa639272b3d503b02bd66525a6", + "0xaaac69af8fbb87da1c1b7c1b9e59942887ae839a91f0c1d191c40fe8163d7f1dbe984e4fd33619c73e63abfa7058f1e3", + "0xa6194224ad838ab86e84dc80e9b8abb121ae6c3c7fddc476463d81f14168131e429a9757e18219b3896a667edda2c751", + "0xb68f36aa57aedc7d65752b74761e49127afa65466005a42556230dd608ecc8f5efdb2ce90bb445a8466e1fc780eea8c3", + "0x886c3fa235d6977822846b3d6eccb77f1e2cd8ba3dc04780666cf070cae208b7513dc4525d19a3fb6385cb55f5048e2a", + "0xa9801273ef850b99eb28f3dee84ba4c4017c95398730c447efe8c1146b0719f252709d3397ce60509e05da74ed0f373f", + "0xa58c2a5dd13e08ffa26a6c5e5eb18bd8f761ab64a711e928e6101512401ef2b1c41f67ba6d0823e16e89395d6b03ebb7", + "0x91318b564ec8b2d8c347ca827d4d3a060272aec585e1acd693b2bafa750565c72fec6a52c73bb3ae964fdaa479700532", + "0xa058db5d76f329c7e6873e80c7b6a088974522390ccaf171896066f0476742fd87a12fe9606c20d80920786a88d42cec", + "0x9838e07f9ed8b3fbca701be0ef32a3f90752bbe325aca4eaea5150d99eb2243332745c9e544fd1bb17e7e917202edab9", + "0x85a9ae7dd354f36e73baa5ecf8465d03f0c53b24caf510036b3e796e4764a2bc17f0373013af5b9f1b8973226eb58cd1", + "0x896a4ff4508d069a7da6ef7bed66e1080991daee8b227f3c959b4f47feaf75fd1b9e03d0917b247c2db11e105395d685", + "0xa36d9a6a037bf498dfc0e535f2034e6cd433c7b52e520469811eb2e9f04499a6ce40257d2905300df7d81f38d1bba075", + "0x97aac3c5492aca879b4c06db1834b30b8850a244d29296046a84c637d9580c8521ab4752ef814c96f255a139660d7639", + "0x8552bf592a84ab4b356d01643c90347377ebf1f2b38a8c2e55a3f34537b8c7dcbd62e6776d6c2114f2bc2d4344d1567c", + "0x84474ad163db8e590943ccd1dc50b4f444beb8275919b33f53d42cba89831e9d42ce2de52b26f4412e2a0676ce913277", + "0x900799dfaf5eafeb297c7b4f892438bf2a65ce04034d66f8e5cc3836e4eaffe782fba4f4455a0fcab49102a240d1780e", + "0x817176415e35ad4a204b9fd5771bae6cc270f6ff050996cec89efbe461b2940ae5dd3c6c7d7e31b1da5285b207efed27", + "0x965e5791c927d47569bc54ec9b4c5305788aecd87a26e402aabeaeccc03480df46f0586ca2e2a9918885cd03332af166", + "0xb96d9ada4b5a04a94807d71726bd557de94fbd44042d7dba40560eebe8658d1da49eba54499360619f3b2c38e8b5ed6a", + "0xa07b6d641a43e02e7868f30db4dd5069a2f221b4f122ce9b11eac04abadc4f25f3207f1d2d86c7935b1a3d9992ea9814", + "0x8250d4d8ccac846a4b1a9fa392d9279b5bf2283c8b95d8164c3c0d199fec8849eab85755f2a2a99d584a0407742e3200", + "0x8324cf49f56fc14162f9a9ebda1ebda0388d09d8688f1938aef7dbf9505fc119069efc552f68cc7cd9213f96fda2c6de", + "0xa98e6f1e85268dccbe3bf4e92c9f455c58dcb53de1dba3b78589adf2e50e79f8e245f956e0d098eb46f5d3746826c6dd", + "0xb103ec12f266b4153d67b54d8fc079357ee342cbe5008adc3e0689a7f788534c4601e60e939731f49e4a1e24fd589f82", + "0xb2d7681e866420413cc98eae67614d383943e3762d5742cb3c57e26157633c20880eea1209feaf68402d5d33dd699708", + "0x99fed0ae4112ec9ed74baac70d202a885aa51cb555a3886b49016744dd4017640dd5dd564998c4d842a9f38f3e004e68", + "0x95c35401314467219c8bfb1ccd1f1eae6ef4fa9e48fbea14f70d5315e67b16c46cd03554471840e4a5030b077d2a3856", + "0x8d029380e0c294400d6b8673a23aed43697cb6460fc1bcf217aca3b47cf240886644ed09521d6a05f6abf56f99722d84", + "0x8ef54d1dc0b84575d3a01ecba8a249739edfd25513714dd4d1941fbde99dbbc392f7eb9fb96690d7052609af23aa57f7", + "0xb8ad2b7af4812417aa8de8f33a26547f84bb84f39501d4b7c484cc8bb54c7e166c849b95240fbe459a4719a6e3bf1651", + "0x9858545de898721d19930d8b360cacc5ce262c8e004867a050f849f7a2f2aba968c28d51f24a9af56aaba23a9ded4349", + "0x94ea5043b70df1db63f9b66b4f9d8082776f721b559f27d37b45e0a84faf47f948d7c4532dfd854a4bac49fb2ec8e69e", + "0xa2fd88d7b15e3c2778f6c74470d0f9e1a1f979a4d58bd205361eacadab9973d585a6508e685e640b272d6f8a448eae05", + "0x88defd6bccd55db8ca84e3c8d0fc55a3456b41788f1e209d0aec19c9c70febebf3ae32cacaa1dbbf796d7ddea4b17995", + "0x88b8cde2449d5ee7de2ee2f32e845d27e171a51ef64f1d3d8a5fd7dbb9f898ea70eb7f6410cddfd7b7ae70ea8073cc2e", + "0x8e044fff6ec557824866ac76301b6d93ed19b7177aa6baa95046330f5d69b572b59200e3653cf2f2b559455e782e8960", + "0xb5446b4d6741c824885790d2d26258729dc0ba2f469c85a47d38886d933b785a4f38a951d37f3ef4bd5091c03fa3a071", + "0x956c8afa8056e9a71ab2e8be5241ddbb3a8b3cff2110cb0e7389493d9fa45e6c4b769ebef540a952db6dcd8bd55baf64", + "0x925950cae25615246e29d594ebf34fa7d52f78a9867338648158f2131e6eb4dc17e18f9db8a5fdd76d017b3a9798b3a7", + "0xa17ea4b43211ba990270c21562690b3ef154a46c3d669c4674c80bd424cdfa95d8850c8e882b8d06504f929cba3d93af", + "0xb315ec723973a138508afc387ef651fd8a8804f93975fc36c2eeb796a304eeb1508518d8703e666a74d14318253f526f", + "0xa995742d7433b3f230e622de23cb2d81cac76de54831491cc29768eb4a56da60a5cbd573e1da81fddc359b489a98f85c", + "0xadb2e89f0d15294d7118fc06d4fdbd9c51d3ecbcc23c69797e5b8197eea0d6cd1240910cf22fcab4ef1e2dc2dd99da91", + "0xb5ec9f9fcd0b5d176b643df989bb4c4c1c167112373d662fb414875662d1a93160dc0b5cdf540e8a30e5fcbe6cfbbd49", + "0xb1291b53f90aed275df8b540c74a1f9c6f582e16c5df9f5393a453a3e95624ab7552e93d6e2999784e164046e92ef219", + "0x8bc7b7b1a584a12d5ae63d0bbe4dc1b63c9df9c89bdd1095ff4b8e7c822bf8c1994c92310a3644033c7c9689f4b7d2b0", + "0xad7fc45506a10ca48f991714ecc055cea376c0cbe667f3b40ee8dad8446218835439ae59bccc474cf47b053748ceba6d", + "0xb134756828a5f5725c0b95109e09ca450e3834b127163a0aeeb544e63cc0cdcdf66f8ed98c331c7c98758f46af369a84", + "0x94535bf1636be0974b112fcec480ed8eafc529933f3065c40e417e608e43a392206cfde8bb5a87b720263446c90de663", + "0xa4df4f6efbc3701000fb072e5cbed2754b9ef5618386c51ff12f95d281d1b700fea81fc1365f4afc66a7c83bd0228fbf", + "0xb0336b3552b721087c7e2194976a9119aee13ebed9f1c3c494353707fffde52d004a712965f460062ec9443620716302", + "0x99a39d1d1ee4283b75fa8c1fa42b6a3836b734be48bdd48050f9b05e48db6354fef509623c6ec8d447d630a9b3352b77", + "0x8e3dc3583d40956f9e784e8bbd0b5e65671d2ff2a7c387b20fcb7da9b969f2d122aaf7f054d450dc611737604548c03a", + "0xb5068ec5b7bcb5d8583d51cb25345990f50d1f7b82fe535a6a6b17756355885047916f466ea3ab09eef5516bbf2dda90", + "0xa8284ec1eb1d21e693f31a6c074199ee85d8a8da2167bffab5fe240defa2773971c8437e358a18f7e58d1e2954f57f6f", + "0xaa7415639d29081acbaac3e9c6b059d68e8702db3f430b86bb6e220d476fa74841c875e9d471c8a5423c58b6fee3cb54", + "0x8afcfe6f65fa6e07c2cb3e1756c0ef2c589830be96edd50c3c248e3b17f51a4b08ba92ef7eed7991d81667ddfbf2bf7f", + "0x83b9c8dec8ca8f9b85f0e36c08c5523cfeafb15a544398e6f93b48b5fc4b15a0bd05c0f176a9c2469664acab8dffb0a8", + "0x82a128a89ea46b9debe5c903b950c0ab30cd7570b979ca911500b5c2cca5c4ee6b2c2fa414b5f28e367f4671ffce60f4", + "0xb79fd0ccd2629a361cd6f9307c02ecd4d1f07e4ee03ce4b542997e055b07a026cbc0ba05fe3da309efc58db2e401a8fe", + "0xb190751141093823b4b5324cc26c4f3258552f7893241201f2fca1ae9b1a1d4d4964a9abdde8642cf308ded61ce5ef09", + "0x935fd48b95aa6f9eada0cf9a25a573f0ffe039888b3410788c41d173747bf384c0ec40371bb4383ddcc7d9f2db3d386b", + "0xb9affe100d878491ff345636ffd874ce1f27852a92417694afce4163e6a80c78b2f28d78102fd06c3283ef273ad37642", + "0xa877670276d49ec1d16c9f1671e43ade11c0c1a1413755f6b92be9ad56bc283e4bd2ad860367c675d5b32ff567301fc4", + "0x8c660d16464878590761bd1990fd0fc30766e7e49e97b82ec24346937856f43990e45aa8ad37283cb83fa16080d4a818", + "0xae1412087da5a88f3ccc45b1483096aeb4dcf4f519ff3dbe613f63712f484bdd8b2c98a152a9db54cf1a239ae808f075", + "0xad83cead97a9c3d26a141604268f8a627a100c3db7e5eefaf55a1787ddc1dd5ffc7544e4947784cb73b90d1729003c8f", + "0x97c3140ce435512a509e6ff3150da385fdf9e0883a5dc7cb83d616ec8d0a0014e4e0fa57a4d12c7997cd84e07d49a303", + "0xa353773ff68f1615454555bf658eabdcca40a9c7bced8537ea6fa8d54764fd1f032889e910d2a2a342835513352e2d2e", + "0x89e8df0c17a36ffe08149c2ef8b27306d04cdf437135aaeba697abc65e3c8e91bcf1817919a8a826acdbbe7dce79a18a", + "0x9928c2da15ac6cb20b15859c22508cfcd452c5643cd22eb84abf5f0a1a694fdefcd8fc329c9b40babc52630743d6b65a", + "0x99d837b556f8d13108eef6c26333a183f59383b39958dd807b10590c3d37f62ade6c4a320ca2e70567e0218b0ad5807d", + "0x9272da080e4aa18720b634640b01bf1fe506c7c8a89dee8759a53e2ca5cdbbd4a4f3aca54924c46b935362cf1eca066e", + "0xb4d39752c882de1c1daf3854202c1d58c2bcf35c882006eb640fe54a97be2655281cdb91c30d1a41c698617c2cf64b01", + "0x8bf827f4a7d47e07374d338a3d8b5c2cc3183015b5a474b64b6086fcf0cdcf4852046c9e34d7917d69caa65a9f80346c", + "0x901bffc7db9c9416e06f593a76d14f6d9e5dea1c5f9557bd8c93b9e70aa4782bab3518775c2a5b285739323579f7cf0a", + "0xaf7e204388568627ca23e517bcf95112ca8afd4c6056b7f2c77c4da4b838c48791191565fd38398587761c8047d11c47", + "0xab2576b5366e6bd88b347703f9549da7947520d4e9de95d7e49966d98249406ed9270fe69347c7752dad47e42c4ea2f4", + "0xb12e3b228b761dedd99d02928105494ded6d4fea3026d73d65ebffa2e85e2cd75b6d091135d418dd95ac102c22b5ee31", + "0xa20b4a752685d5e31ee7e2353c8a1b9a5265f12bb775004d282a3ecd9deda44831bac1ac5151646428b66909b2a423f5", + "0x91a1d4bc0062a86cc6786a96fd3eb4436d8a4a187b7cbba02190d1cd6ed3c3797d9ae7d6ddc413f1c94a21f62bd04ef5", + "0x977f18da1a5df5cfdd0276f583cfba2b2a0fc6139520664e20068f8dfdde33e29d179abfd722f142448f4677aa47be6c", + "0xabc3ece90f0f7b1d80fd917de27ab0d88cca584ef959da520825e54cb5a71336b15f8b348532d08d47a6fa600527ef25", + "0x888d36a2c7cc13a1c1aa338a183a74a1f57713e76cb825f9837f43279ce4741999b76a16928147537bcc20f2e0195b0f", + "0xaf3f5dfdc2dcfe19de893f385f39f550cb1dab67c2e97f1d5fa735e5ec96d6680066803e8a0eb010dd4399f654195513", + "0xa0fb4e08ff56530a940a86c28830956eb6dec2f020f7faaea7566faf0a4fafe0cffe01480e87763ec22f201be51a6451", + "0x92343c5b107910b203c64a79c93d354f7ee5b7d1e62e56732386776e275285561cb887019cc00d3fdbe3b5d54460bec1", + "0xacfe7df83c4624188a1011ad88c1e1490d31a8a8c8016b40aebcdd7590d9c0793e80d2d7ce6a7048876621c252a06a5e", + "0xa7da001dc1e33e0e129c192d469d2bd6e5d2982eb38f3ba78bae0670690c8e70f40e8114a57bd0718c870ca5dd25b648", + "0xa903de5ff97dc83628290d781e206ef9d7c6b6d00cadc5bacffb31dc8935623ab96ade616413cb196a50f533e63641d6", + "0x8f9658d42ad14a60bbf7263f6bd516cfee6b37b91a8f53715d69f718a090ad92484061c2cef999816760a78552fae45b", + "0x8c15b72b3d5fcb9ffd377fd67d9dfbdd706593fba9629002639973db12aac987bd1db70250ded31c88e19efff612cdb8", + "0x88a2a4034decd854fb557960194ff3404e239953818a8a891bf72a0b26a8e570a65c4a630884de991ae7452b3234f31a", + "0xa09cae5c4c190537bf1dd75bd7bce56f7b799762af865bb9d1ee970f6a133c27cce0dd0f14a0e0516ceac41054e6998f", + "0x9760ebb1b40f9a97530c3b940d4ef772a225e5b63bf18283f8e302b9436c5209f6294980fd37058060e429fb7fdc3a56", + "0xadaa9400eb86d857dc591b25dbe3bc8f207b69e77b03cb5ee01f7e4b006b5c8f6ba2b51b5a45687479885708509363de", + "0x949efe6b00b3248846747a9ad4a934d6e4255994c2b540a59fbbde395fe96d69bb67908441cfadd8c8bbb561fe52da03", + "0xa19a45504b6b1dc3a0fe0e6a1384734a3dcd5a7cb8fb59eb70e49426c4fc44946547443d558e5719a04884ab3a2811ca", + "0x8934c9ee21e8d1435426fd0f64232a0670a7946ec524c054cd4f2cc8b1be9f89cc11002ca8aebae646a2050d91716b10", + "0xb1150ff8ffb34ffdcf7d603348c0aed61e5f90ee0a1b814079fc2a41325c75f2f9ee81542797ede3f947884266a772e0", + "0x86ce8cc7c1f92af68de2bca96ccb732f9b3374dad6657dfd523a95e8a931a0af2a80df74098514a06174406a40c16ba5", + "0x90faabb9ace9e13fd9584932846ab28a618f50958d2ce0d50310a50c3bc6b0da4338288e06e5fcbaa499f24a42c000d5", + "0xaf4a935c2d8df73332a16dc6da490075cf93365bd0e53e2374ef397514c30c250bcac569b6df443985cf3720a4534889", + "0xb7f948ee90f394789eb0644d9f5ad0b700c8e44e5e9ed0e49da4cc18483676d25740710b1c15a557965da635f425b62e", + "0xa917913091245beed6a997ff7043ecf60c4d655c4db0b1ef1c704fd9b0e1ea1335ce8b9f45d6e120f81805ce31555e30", + "0xa48099da8406399bfb1ba834f6f7d864111d0036969a5cb64089947a63dd9467d3857b605e9f57f5ad5f4ec915088d9b", + "0x9784c3f9be42eed354542b1446d734521f8e3f01cd9d495ae98f2e4a3a16767fe2ad909e0def5d9a6267f3fc6a172cd2", + "0x8d9afaa323847a3226ad7d7b60d87322ffcda2e4a8df89f58a076f7972d896588de685a2e155e243bcf9456b0a0d6d1f", + "0x994413faf0b843f4ec1842c706c45ea5f24351c68674a27887bc8b182eda756856e507a4e8bbfd937e2c4c581b629ee6", + "0xb3e72d9d1ddaa00c7d22f25462d6e9f2faf55e30d138dce8bb1517eb0b67132db758668aac26164fd934d732633bdea5", + "0x8e95875e338f714e9e293df104f0ad66833bbd7a49d53a4f7f5fd5b18a66a61aa0a0f65cc31d55e0c075e0d3e412cb90", + "0xb980091862b1a9f9334b428eae14bbf1cecb4849e3a5809773b0d071d609727270f6ad97f329eca896c178ce65883db9", + "0x915d7ae5ae780bdba27ba51a9788a8852a15355b569581d1f18f0d94bcdfed2c1ed5a4f58e049e9825cda11f92b2c2d4", + "0x83e581058edf9259d0b06128282327cacbb6afc939578223cbf93544599f799a8dce1fb21d52464f990a877086f42506", + "0x803612a38b6f6efb97941997e101ac1878e192456f8fbddb3359aa7f3023434ed8fa92e60ec8e7b4473b1948850e4311", + "0x864a1bf4ac046161617dde282e44ab3cc1843da01a09ca58aa00ed00eaea9351a07a9ec16d910819e7dcc28b8d2c8ada", + "0x922eb142845975d5f6f7dcfee6cac8c299b3730400e6bf82cc0bdd9888de21de9d9f1530640f702c003e1ed63b140cc7", + "0xa7db03c5be647dce1385ebc02f4825a654447fa8c4c8d4b22e635dbdd2b3ccdf219384e49a80cfb1e9e6182b6e4227ed", + "0xa167289ff0f0967bbab6479e4a8a6f508b001bbe0d16cad36ab4c105ad44f3f180e39a6694e6cd53bc300fe64dac1e8c", + "0xb7766431f6379ce62cba22ab938cdbb1b0c7903dfb43980a417e0ee96c10b86b447241e9dd4722fa716283061b847fb3", + "0x90cda18c5d66f5945c07c8c7dc453dee1370217ccb851bbea32578599aa669b4dd245dd8a9711b27c5df918eadf9746c", + "0xac690cd2af39932874385fbf73c22b5d0162f371c2d818ec8a83761e0a57d2db2fca1d757343e141e1a0348016d5fc44", + "0xabac820f170ae9daa820661f32a603ed81013c6130d1ca1659137d94835e1546c39a2be898b187108662cdcbb99d24fe", + "0xb2ea5a5950096772f2b210d9f562f1a4cfacc021c2e3801ac3a935f2120d537471307d27b13d538dcbf877a35ff79a2e", + "0xad94af4d0699cd49ba8ca3f15945bd09f3f7d20c3aa282a3113cdf89f943d7793e59468386b067e3c1d53425dfe84db4", + "0x83788367ec97cc4bbc18241cbed465b19baa76fab51759355d5618067009298c79d0a62a22e2a1e6dc63c7b90f21a4a5", + "0xa3e142d879096d90b1e0a778e726351fa71996466c39ee58a964e6b5a29855123d4a8af47e159027e8e6be0ca93d9955", + "0x860831f8d3edaabd41be5d4d79c94921625252aaec806251fb508e364e39fde8808d38b10d557e487603a1b274c9bc3a", + "0x88da39f334bd656a73c414ec17dda532059183664bbbac44eb4686c2601629ef8ff9da992c337a842e3885b684dd0032", + "0xb50addbdf7164e8303f33de5ce854d6f023d39c1c1984b214d9e5fb6f6001cd5bdda816f048a438ff3d696872672f805", + "0x999e58c4c69a912b84561cb09610e415b43832beeb95897eca8c403ef4754f4277754d492eef3673afd4362f50060fc9", + "0xb88ea0f60f8119c5a1fd9294796d387472dfad22442b29659713d1d88e7d854cb7cf5c9ef773627781188626bb2fb573", + "0xa068b3844e9dbcf74b54fd55904d56af754d8ce4c619fead7a07f9bfb9d02118db7c512ccec2489d2a84374ec1d1fb6d", + "0x871dee023768636003c799e6f6fd8d31315a4c0da7286345cd64264a016693b3485e0732be1bbd34dd5fa04dfa58a983", + "0x8021e8f508680df12e4a5a1bd49f2d7142df65158b0a7198ffa83abd16053a542fb93ffc33e5279020ba8c6a26feacf2", + "0xb5d3cd64df5bc965228b0bd4ce9e5797c409f7b64a172ba165e44a8e4b38e3d5fabc3e0b9a19afbfe427f887c40a315d", + "0xa54fdebbb594bafcefb1a03697711e0091c072e1cc24fb441fefd4e0a0518675a1d7b0966cb8294051d7ec0ac175d0cd", + "0x93922202337f72969d6d6e14a29c9c75e0420dfba712029941d1504b9f6f9761d706cbc0652cd09a1aa5d22aec766af1", + "0x9711ebf1c7c7426190d4afd5dd03b014a456bbd9d90ed101623866a280550df26a629dde400c03ee3699f7d827dc0bb9", + "0xb4d686d8bc5c1e822a50124c1cc23c6bc3a1577a3d0b8d4b70d1797418aaa763283c09e8a0d31ae6d4e6115f39e713c4", + "0xa533ea2ac683e4ba07e320501a5d82a1cfc4fa1d65451000c3043f0fdac0a765cc1125d6cc14fe69975f3b346be0fdde", + "0x94ee563134fe233a4a48cf1380df55ead2a8ec3bf58313c208659003fb615a71477e5c994dc4dcfb2a8c6f2d0cb27594", + "0x93e97d3f3f70664d0925be7aee3a358e95ae7da394220928ae48da7251e287a6dfbd3e04003a31fab771c874328ae005", + "0xb57440d34615e2e7b1f676f2a8e379e1d961209fe00a0cf6798f42b7c28dbd03172fce689305e5b83e54424bc3f4a47c", + "0x97644084c6f7b4162bc098bed781dd3af6e49e7661db510975528f1dea8154f3d87e979bcae90c3df3a7752eb0752889", + "0xa923b27b225b2a6dd5bdc2e3d295b101cac5b629a86c483577e073cea1c7d942c457d7ff66b42fcf33e26c510b180bc2", + "0x86698d3b3873ed3f8ab3269556f03ac8d53c6e2c47e5174ec5d14b3ed5c939750245441c00e2e9bb4d6f604179f255ef", + "0x87946826d3aa6c7d53435c78005509b178fdb9befc191c107aee0b48fbe4c88a54cebf1aae08c32c3df103c678bad0ca", + "0x860864896c32b5d4cb075176f4755ea87fea6b9cb541c255a83d56c0a4092f92396a3e2b357c71833979b23508865457", + "0xb78fa75d687349e28b4ddfe9e2d32bb6a3be13220b8f3ff1ded712088bd0643da9b72778bcca9e3b103b80097f48bdd0", + "0x8a188b940446598d1f0e8c6d81d3cada34c4c1ae0118ec7e0eacc70d1bced28ae34b99667d5793d9d315a414601c3b22", + "0x842ac6f7dc14191ab6dddffcbc7cb9effba42700a77584aa6a8e17a855cd444c5d138f9d61bf55f43c6ffbcc83f92bc9", + "0xb6742902c3d145a6af9738c01cf9880dd05c85f0d0ef7dbe93c06fdd6493333d218339ebc2a02be1895436a2f734a866", + "0x98bf18488483c627b7181b049d3e6f849fce1f15794de59dcde6e5a9b0d76fd484a46e48822a6a93001d3aa12f48bc6d", + "0x8769cac10bda8c53a1c19419ef073a5998f73dcf2ba1b849561615a17cbc0a49bfe3eb4ff8801dd36a22fa34b9a3a7e2", + "0xb45c084d58028fdfae792210fcd183abc4ffddeb4cf52ebf3f8a50e4c4eec2a2758f1241b0920bebcb24b757c778577c", + "0x85c1216eec8e1fbc1af9b36b93c5d073a81d5fba86a6daae38748ec1573eacc6bef209e76c87a6efbd7a3f80e11d4c3c", + "0xb8007e34bb3f927ec06a050b51e633d7eb9e9a44715d5b39712e69c36177a03cd68391090cc3293098e54f6cf65f6caf", + "0x8e85527b27c9152b1ba3fdd532a76a79064ab097570508f233e09978761dfe3012d537411b47d0e4b65265eb32cea2ae", + "0x899779f3c31a20b76068ec8d59d97a64d2249588ddfd69dcbaac6bfaee8ce0ff3c5afc4e17c934ae7cd041b760eb555d", + "0xa5dac3d8f5fbef018509612e25d179f60d2a62451c76426bf546e9666fcdc73263d34aa6fa7e2bfd4c9947bbf5095eff", + "0x896900eeef9be2b2e755128e7b1c436af6fb3984f1e66c444bc15fcf3959013b4902c381f0eab1247f878a6ebd1f4ee0", + "0x8cb17f4b0af2e9b2cbb56f46e6a5d6874ea0daf147aae77303020b4e592ddc92e0dd058def7da96258b3a68b223bf22d", + "0xa1b6d3f09a9fa7ecc021ab7c5396541895da6e9bf1f9a156c08fc6f2b815a57f18c337ccfe540b62d79e0d261facb2be", + "0xae70888811434ef93da60aeee44f113510069fd21161e5bb787295492eb8df85103794663fc9305f04adcbcf11ff0c5e", + "0xa84bbc8624100acfae080ba8cfb48fd4d0229a60b62d070bd08fade709efc6914dc232d3f7bed76a59204f9252321aad", + "0xaea47d54652abd8ca213cfc623c8e30780f37b095b59ac4795252a29c2b6bc703a5203acff8831314478b8ee8771d4d7", + "0x8dd438eb8be14935f759aa93021c2b24e1d588f7a162c42c90ec3a647b0ff857f60e24c0a8953eb7bb04e04be70f11ce", + "0x922b07b5469680a10e7532766e099896f4dc3d70c522d8add18f5f7765d4ddb840df109146607b51ceddd2189fa7b9c0", + "0x83ef6ebd0ae6c569d580093e8b0b78daa964760556272d202d343e824c38eccb424262e5b7809d3c586f9e2e9c5c5f22", + "0x97f98bd357db6e093e967fe180cf67ed09fa711580a5ad48f07cf095b2e8fabbe6319f97d1f15d62c0ec2227569d8dbf", + "0xa1953a4a22fe6c2beaf2a5e39666b0eb53018af6976e3a7aab5515550ff2efa89400605a43fb2c4ac1e51961dbd271d8", + "0xa5cbd67f4c0bc98e20aa74c09e6f5fb6f42c08e59aaa477b4b4e61434c8884bc14f17cf11faecf46dc4b6c055affbad2", + "0x87d96818f2c4f12fd7705cf4060a97bd28037c5ac0f0cc38f71189ec49361e438ce863e6617651977708094d5336d1da", + "0x85e7c2daae5fe59f8a1541c94df50402a671a17dbb8838113fa4b7aaff6114cf2bb5969410cf21e6a162857f2f7a83a8", + "0xa19575083e1731bb04bb4a49414e97aaadb36d883aa993d1f6847db50007315444814740e67e10177a14e0e074fd4c7d", + "0xa00ebfb5bcc3a6da835078189038a1e56b7dab6be74332b5ff7440e53b0f9e1eb9973effecbbf37000021fcf50c7c1ff", + "0x8969d7943abd3b1375fdfc7d6124dde82b0f7193068ed6ec83bcf908734daf3487a6a30f7b322e54a4818ae5f86d91c0", + "0xb959c8d210fa43af9b20d1fe0ea8c4921280eb4544ef6ea913309ff9d61c9327096707e84dc1662960519be8e7d080a4", + "0x9011d8ac651c42e0cb03931a9e960f58e02524c6b666047525e3b9097e9f35fb2b4b278efcce2bd5ad463c6d7fd56694", + "0x937e3b22ed0fcdbd9ea5a1b97b84bbe86b7f5b2de3866a930611112f2217f4ee7d9822c4ab1253823f77bceeae0c8e10", + "0x828997e5d121f4c305e018a0a0ba338bd6a34a7b4dc3c5ceab098ee57490311c130e2c045b9238a83908d07098d9fc32", + "0x8d114808eac0f2e1a942d80dad16756ec24f0276763cd6771acb6049472e05a9bb1d3bbd5957f092936b415d25c746b0", + "0xa063c5c26267ae12887387cbebbe51fd31bc604630b3a6e8e177e71d4f26263be89112cd12d139dd4c39f55f0e496be0", + "0xab1e1582c8d67196d10f969eeb44e6e16214f1316aa4a2a821f65ba5834326da6cba04373eabfd3b3072e79e5c9717e6", + "0xa17b1dbaa11d41457e71a9d45d032448091df7a006c1a7836557923ab1a8d7290ec92a7a02b7e2a29fcea8f8e374c096", + "0xa1ed7198da3591771c7c6802a1d547cf4fcd055ca9010756d2a89a49a3581dfe9886e02ee08c4a2f00b2688d0600509a", + "0xaf09aa60c0a185e19b3d99ffdc8c6196d8806169086c8ff577bf3801c8ab371e74165ba0f7329981e9252bfe965be617", + "0x98c04cc8bb26ffce187fa0051d068977c8f09303a08a575175072744e0a5fb61191b1769f663a426c30d405515329986", + "0xa542bf1c9c3262d488ea896f973d62923be982e572172e2461e0146190f2a531f62acd44a5e955a9f1e242b3e46d63ae", + "0xaef7b7f30efd50e4a66c87482386f39f095bff6108e68f74fd3bb92156c71c75757912b111060cdee46a6b3452eed657", + "0x8afe1e0ccd00079702f16ab364a23bbbd3da1889d07c4f8cb04fd994bf9353216360dbd364492932bfe20b8b69ae8028", + "0x9896c690999db3c08cd7b25efb1b912c3e0f976db98a3e830f086aef93222d06ce570a7b2babcd7c81d8f9955169669c", + "0xac7bcab6a281468907ef1ea8a6c1cd624159c88839131bef6aa0c22f331fc87ec6128a2c2a333fb79df549e4587e1a12", + "0x987935c08a30b099d19f96901315a2e60591baf898581c40bf5eddcda806ff24a4536e30ed1e6c0b128a83fc77b6e81d", + "0xa0a6945bbede3bb09a4a09ef27baa20619d3e15af5673b9350601bcebe952597c989870746cf75767ffb73b32c6c9c6f", + "0xb0f5590079f0a0302b08a0cc1b7a5f39cc6900c2a5cdc7baa333d8328a731b2df5dbb67e27a154d3c44ed1a795fc4adb", + "0xa7294bdeea210e528f277f3d50e89e6d79950494478998181ecb38de675020130256f2f2a075899170be964d478458b0", + "0x8ab3041b895a631869b439d5599a66facba919226ca9b39d915f19d59f9fc82393ea781377e9bd3bcc5a310e41376914", + "0x8da399b59151fd48b2579948bb82698e3c9804d70ec7d6f3cc7e82901f9f2de5ee850349a7d6f43e5e9ebd47bd78620f", + "0x80e8c32de83d1083916d768b11a982955614a345d26d85b457f2280ff6c52bb776958add7c1c8878f7d520d815b8e014", + "0x81bbec7bd99d2917d2dcd8a288722fb33ad5a4bf5416fba8609fa215fb80e0f873535349e7dc287f892aa56eb9e39c4a", + "0x9665796fe04c8519206fba58496bc84a8b9113e7ea8e152b65f7f732e88beea271dc97b1ea420dbc8257cc4b18a77463", + "0xa97e342aaaf693ddc87e02790278e4bb50117af4413cd703bdf3b7cad2d1facf31fde1303b43ab2e0265467474f97a8a", + "0x925549ebebed348886e37773b05cd8ad04906eca4536bfed951d1ee41b3d362ddc6e1a302c21ff3a2d1e70e95117922c", + "0x818fdf74d7903502101551bbf48d3c7819786b04b192d9e94362d2fcb85760d8b6f45165a5443aa5221bef400525ddb4", + "0xa9d29de7e8fd31b59f4a087168d062a478b1329cd3c81c31e56de4fb40de7a5be9a5269ef0be452c487443a0b097dd50", + "0xa85286ad573db4c9aa56221135da1e31d742e0f6ff01d6b159086d7258f78b08dad55ec8eb5c91ee9d3404b2eeb67e1e", + "0x92a79b37db5e777f9ebbebde24a95430a199e866e56597c7d0b0e7fb54c7b092c2f6cf61fb24470ddf250cf609898281", + "0x8d79f5ca67ed67d52c82949af342a9fc60fb793c47c76d84b4863c550796fcae2dd59e285897c6fb96fe31cee1efa62c", + "0x8ad2e0bda03415ab86324992bb62dfa3612d2d003765bcad1468087c27971d08bdbae5252681f0115a184f4885d444e4", + "0xa08815af979286538c31b4aa5ec805053790af1ca58a8c4341be51136d094a8a05e569d876a079033298ad355ccb7ca8", + "0xb96c2978d0165d619d08281d295e90df78bc2375d0afbc3142ebff9c2cd4b0f0aa97a9a0e3740bc4dce0ff8a9fac8252", + "0xb7752cd0e582f35ab0d0036ca9c0a9fe893a6ad325164d78d865a604a85d3d23729e0362553e8b8a3d51816beeaa30cf", + "0x99cef1fafc29e7adfe247c753c475ad4bda7a5f9558b79c86e8a65968ede67adb38dc30071925c9d66a13860027a6735", + "0xb9f6c65af178c791b6137d71980651fb09cb5b42f268999c728c6e129985a9c7d77b3dc3b50751bd29ec9ee0b3111dfc", + "0x8d73ae61fff5be883a281782698075c5650083f00399992688738856d76d159803be0059fbd9dec48f4f0432f0590bbb", + "0xa8a4a2865226de9bbf19e12c7e75318439fa6cf1cbf344d5e79a8f363439d3bc5bcf4df91b54581e7866e46db04eaf0d", + "0x894582aeff222e145f092ba15c60d3207340c38f2c6792ee2ab4d82d50fb544ae366c2985cc2b6c2f970bcc5f4b46385", + "0x956014ba2d20a056fd86cb8c7ceeab9a2c6f905dae24fc1c5278fa5b84335148ebdefec5dcde8eb9b084700724fc93d7", + "0xaf217fe2b654eff6d11a2a79fe0339a1d4cb3708b7be9f09d852158b5a44b4f9b04406d6d67c4f144fb6b69a41ae9d0f", + "0xa90752a784bc00df94d960e523f5596695d16a534fc806179e0f878fc0e82a91b25e758e91a165debd815dd1af5f1028", + "0xa697606fb32979549ad822b31df8eaaf50de4ead984439a0a33e955937d326519bb9f62c8243ad37f764655f8d32cc80", + "0xa3ad4a30922e45a3e665551e5611384f1c2d414f6fa806184b0c826af05f014dc872585e255543794ee41e43cdadd856", + "0xb29c255843a82ea74a013bac6c36a694646e61e6b9cefc4c130e2ee261e3bb5da3e0fe3ee7e6fbb009deed0530bc1c82", + "0x87e1cc7febefa829cf050aa2aea59385d1048f8617abba691f7ea9ef58eb90ad12eeb9c439af228b0e34897ba1cf1b47", + "0x994d3222f89e9c8c154362190be7167c8c2662f0cfa9d50eb4d8175b255ff0de09dc548ee312fc8226963c8c16f43e8b", + "0x8f1a980be640820f2d1e953264ca4c30330878971669852be3d5d6b41c488be1628b935388bfa2bd4de484acb0fe661d", + "0x854d90d0721579c8c88e147a4aa83553c960617b18075f8224b975562dccb30b0e02e81fa9df7070f356a0eeffc3b14f", + "0x8e156da9d4330a03e32a25a2f0b861fd3ea5c719fa4f834119baab6e5fa5236a9baaf0d44147bf0841418900037f6eac", + "0x96586fc49e53a6799242ddf617000db5a0ad20c6cb1686af2102623d64a71aaddb8e468b15fa6d100d0384e448548db4", + "0xb44d8d85c8df95d504f82d597f8c515866d4d4a326fa1b816dcc5bb0cc4ef1a52647aa5d2e84c62e194c01cae0885d21", + "0xb75c43e676a7efd199f8b32ae31f176ec667e714df355e9eecee97246f72af5bef9c5b04c11e7e90fc37bb9163f957ec", + "0xa49835ac0565a79f6a9078cf0443c5be20561a68b448289589721fded55188583f1d301925a34eea647f90a6e66c6774", + "0xb47c17ff6824a00b8f29df0adb7f06223208d062bd703b0f763c6eee4ae62d4217eef2da4f4dde33f0b469c2f2db9e42", + "0x957cf039cea6f6d41e368e2bd0cf77315938a0738f15ed9ca342f0a28658b763659ac1d1a85ecb362f13de12b77bb582", + "0x903a52f8d2439fa63f59e1e9aba864d87b0464ded63814474947112375236a6f84e8fa003cc4433c8208d80e05fbd1b0", + "0x8afd524209ff08d1eb6312b078f7afeb8e1155af649e930ab711dedda226dc2db6b0354aab9652eea7f433f90015bf7b", + "0xa95c3c9277b11bc8fe191773bf567641be57c0549913b973fb18740ff9cd7b3f7ce198fa4dc1086b2b8a446012459193", + "0x9455ce8163fce04aeff61e7808ef3aac4725e51404f0858fe5d39d7344f55dcc7871ca332aa5cb1a63a4399529e48907", + "0x809fa35b6958f94e781f2c584438b33f5ed528a6b492d08960cf22ecf63ea3aa1e2d29bc879e17296e0a6cc495439cb6", + "0xb0f50774de212dd33e5837f6b496556215c665437e657f674fc5117e5c07dadbd0d057e6ac4c42d50a8eb81edfebf315", + "0x844c65e263891d0b2fea7db6934cc4b7fb6bee2c1d0b9ab4c47f2eb3e9c5d7197dad828d38c54139123740151420280b", + "0xb13c78c9efcbb3b28eb3fe0b971380b7d5151c80948a99cd93c78b4c3ab0e86df6226a64d91e0a2ea4a1c0a46bc0404e", + "0x90300a541decad460c348b8f4257f7a29687b2362ebee8d92fd03cc0e85b285ccb0ab1cb2ff5e29c5cc5295e351017cd", + "0xac49b409ded770c6d74f6e70104c2cdc95b7b90609da0743c9923179e8e5201ead03becc0ab10d65b3d91a5be0d52371", + "0xa257b815bd8289dfdfc21af218aaba12ccfd84ebf77642cc4cf744d9b0174ca0b0d7ab2a545c2a314fd5f63c140f41ab", + "0xa34778d8446e4d74d8fe33de64b2694ef1e50bc140e252af6eff3ce7b57acf8b6577a02ba94b74a8ae32e5113cf0a29b", + "0xab9e935bcf0d8607e3d66f013d9bce7909962cb7a81174923db02dc89e485c2b1c33d6065bdc7bbbe0450b5c49fbe640", + "0x94d2c5c5c309c9eac04be4636f61bc47fd9579b47aded57cc6c736fefb8dfd8f8a5de32210f7baf2052d04c0219d3b4b", + "0xb8dda9046ae265214086355101be3460421f7cd0ed01bde9c1621da510941d42bc93cd8060fd73f374fb1b0a5f38d45e", + "0xa6674649dab5f92ab9fa811d9da1d342cf89ff6eff13ad49f4d81de45438e81a384098d3ae5ccce4c67bda5dbe246d95", + "0x8d619f7564677bacba29c346c4ef67c211f7a3a14c73433dd1a7692e16a7e2562f1d0532454af62fc04c2fd2bb1789b0", + "0xa2b93d2fd4c707f5908f624a0fc889e20164d3c61850af9125f47a1719757a6ce6375aa1910eafa4c1e8b6e20c312775", + "0xa07d5585447654d82817ef4d199984542328b238157976eb9a267f0bdb2229acc25aee510be68f65a312b68fdd9e0447", + "0x8ef55cf95e2b24d8ec88e4136399a7763bd1b73d5e90ea45e9845123e9d39a625cc336e9b67988374b8ebcbc75f2ed21", + "0xb62c1fc32e27c767c461411b02fe9aa44a86586e1427406f4ef0b346d077db91952abce79318b382ec75b7be23058cac", + "0xb252900345f5fa15a4b77fb6af6a2d04db16e878b7bd98005333f7f6e3c8e6e46cf38fc5d1b2bc399c5c2ff4af730dc6", + "0xa4ab5ac0cc15d3d17b1747c6e3133d586870eae0a0d9c8fa7fd990ebd4fbb62e9090557ca2792a6bc6271856aa3c9a05", + "0x8e706b3f2e902faee10b22742c6c33bea6f670a8937c243db96885143c1db5c979e33ab73a38359b52b8d668ccd092a9", + "0x8a6792190ee6c959d79f60c22980ca140c638d88d75660adaf9bcbe6dc4692ab5f01e0c460170f09f74d5e582e85ff1f", + "0x97ffeedfc94c98ec85ea937e064d7b290a326838e62cebd407facd1ab4f08d9c0c109d79af7cb6170fccfa6c8243c127", + "0xb79970b67c09453614ffd83a0c923c17f857c6ce3c87a356298f8351cab0def7ed83efd4f6638f48df67e07bef4ad9d8", + "0xb90f1931c7cf1822cc0a97401119910cdfd0482daf09a4d7612e4e05046295cfb4cc50d5214b31676bb1a1c9d15f9c7f", + "0x922921ad813c01fb5d12fa7fb7ed8e0b0abbf7b19affa190b36013c55b88fe3c7df0ae663c970eec7725ba37b95a7cb7", + "0xa124f33e7f28feabb4089a063a08d52b7395d24eecd06857a720439dd9414b7073bb86fbd0b04e7bfac62d3dc0fdb2f2", + "0xb252fe50bc6677c004550f240fe670974a33ffe7191ed7675da6ac36c780c2f8d02be7da5d92cbe2d0ce90147847f8b1", + "0xae5f8c9c56070f919f3df2d2284348fa4b2e39881f7bc42c9b2f5b7cb1ebeef8ecac000f37329bbe04cc1680cefc7f4e", + "0xb432a4575caf7337f11eecfcbd34a6705d0f82c216301725ceae2b3c9df20fa53d1ebef65513e305013d1e0c2df522b6", + "0xb7c016fbbc4614cdbb12db1c9ac41f9a45d5e5ce82594d568a30cd2c66c3cc9d91a2c959697b67c582a0913de661505d", + "0x8f6f3e5e0347dddc1b2a34ec0dbbbb7cafbf976f19c9c902efb5c1427d1bbd4b71abd9f3fba20dda75c35a39393c989f", + "0xb0042a1d33a1ee9fdf3fad2299b8d70c4f1862d8393b5ebe3ac2189a2c5a58bb826128cd7a39b70d524a6dd976097e26", + "0x85297c4e8ae8d9b44c3fe51aa926c77d55db766c2a9f91b659040de36e34c9a4fc6f44380f8d61704498f6fd52395a49", + "0x8c61a988b6a00fe5a277450f30bf6daa932e42a2eae844568e3babf8815e09311f3c352dae6eb2d57a98d16b7beb2d22", + "0x990be28aaecd932e7edb2a97b9be2789a3905cb88737b1c79881302585801c69a3dd5fb230808b39db1352fc06e0b4a8", + "0x82fd14bdb335aa46f022dfe0ed4d631911e6b6f5eefb10d11e9e2e02a7df55012ed8162249d10b58eb76ced5a7b06cda", + "0xac39cb058df764e161db9c39b185f09aa210bddbd66f681f1697ddbe6b305735612d5dd321d3ffbb4876771bdb321e2f", + "0x858a3f7e57ccb81387caf8e89f9b6039e9aadeab06886d8688fe6427151a59ab2e77e85ba850c67d099965426c97779a", + "0xb57fb9ea623cec432946819937c6bded0b5d03c8c67b52b44a4b67d34adfb055e6cabca67a48e4d859b4be45162c5083", + "0xb84d2990b563d6d7fe1f4c1894989db25b81745090b94b1fe2ef708ac3b2110ef93d647820b2a51fcf78e3f00fef5412", + "0x817d85b9f5e1521733d2b1fa6d4f4957ac445dc803f97fc495e20b819b14e651332f9e0573d684b854fd47824c53f0e8", + "0xb09e18e97e93a8523101af594422fb71afc5b8826002314269016fcc1b44002d91bcb7c90d923d460f0cc03bddfe9af1", + "0xb867cbede82102de7cf6cd0dae68506869576eaa66c3fc806e73585310602682fc912dc37adf5ff6f0f34a07831735b1", + "0xb1126255798368b692f2796a3470ed16e5ffdee2d8c9e0f7ee3d2e92950c3e6365c32895171c3494aff2a6d6356f7e25", + "0xb05f0a0996dec16335c770a5df3f0b08e20020c838c2caaa1d3a4a2490ede98552f5de349de2ce6e4c4a839731d80919", + "0x98c512bb91c8fa191120ddf5d63c88076581cf41e15eec3c168822f12b3dd0ce4d6df74a7e3093d3e35cad1cb3135421", + "0x84ce38fd97f7f90012c2c1e59a67bf9f465a7ccfb6f308bdd0446cc82b8a26ff7c30e5c7cc375011718cad1b31adaa9f", + "0x93139db52c9fb96dee97a0825f21e34c5d6d36838e1e42f4d12d01eacbe94426c85a811fe16ca78e89e08f1c27383d28", + "0x81454037b1e7a1765f67e4288b8742eebf6d864d9b0f508ab44fa3243168ce0ed30cb5f33dfcdb995cd2c2710ff97a6d", + "0x828deb2a26efb2ff1842f735e2cc27162360f619b6e3e27a85bedf384912d4726bb2759a3016937973092ece1bf90540", + "0x87e5a7d4e7bd301078f625d9a99b99e6e8e1207c9f8a679f8ebbbfb467bfa0b5f7ef4a4d577c7d2670efa88221153012", + "0xb9dc9d0ea48deee201e34379447bec789c8924aecd030eeb93db159af77eff230976ef60ea9f4b4a9e9e95c1f9f4284e", + "0xaa6528268d46bf0627d87d58e243d3ac34b863513c725908a2617e4c6a46ccb1d8c8334bd6dd0eea7ffebec44259dae5", + "0x8d26c9ce07293f6a32a664d31e6df9a7ace47e6c38001635918efd9872aceab62de7757b13b783d422eb67bd28ce7bbb", + "0xb0d3ca88d9829a7459b89b0dcbdb8bbb5180b00d750bd959bd110f53c2dd5d4db554b6005c4765fbe7ec5903669e5ebc", + "0xa94d1c72bf3b2dc6bfebc9dee40f6a89a516b252bd9f4fad96f156e3dbfc151a9b8a02324d764c7656d59230a18eb61f", + "0x88996e79171e30b16505638d8ecb25afd875e5f3cc3e29860937f2b5e751c66e78dc77f744a0cc454a8a655142a93ffb", + "0xaf4d94f342665fe7ecda318de6cf1bc1c40c37dd83d060fedaf827459728152b5f0e280286ff5e6a0012036f6715f53f", + "0x96beaa7a2d565ec14a4e5cb895d33624c69da56b75c8d06ac729cb6d0cb64470ed4f9b0387083cd827b1609c8cabde8c", + "0x96b773fa2fcb7377bf71a7e286f37f1f24ee42cba5b4f33903c4566e5e5bcc501ea360e3c8435749107c3de84e272d8e", + "0xa69ac6218454c3f40ad0beb48821a218fb0a4f33ebade986d2fffd9a3900d8cfa613bc71676c46cfeaa5f644d1f239a9", + "0x857f139c08fcc45370f448ce3e4915bcb30f23daa4134407fc6d78efac7d718b2cd89e9a743eec7bf2cc0eccf55eb907", + "0xadeeba36af137fd3c371a2adbefea614c3ae3a69f8755ce892d0dd7102fb60717f5245d30119c69c582804e7e56f1626", + "0xafa97ca3548b35aeda6bfed7fbb39af907ed82a09348004d5705b4bb000173270ce44eb5d181819088aa5a2f20a547a2", + "0x8423bd2d07073b0e87819b4e81997e4d3188b0a5592621a30981dc0a5a9d0578fde1638a364f015078a001afb00891c2", + "0xb92e9d4ec3966981ee574695d6e4865810b8e75313e48c1e4bc5eebae77eb28740e97ecc3e5c42040f9eb1ee4b13b0ea", + "0xb07b218321d54cecfcd2ed54a5fd588a6be8d7a5b6a66dff7facfe061222c40553e076e57cbdfa0bdb08e0a009c94ba5", + "0xa71e1ae4d6096eac9ea4c21f621c875423de7c620544e520fb6ec3cb41a78554aedd79493cbd2c2ba4f0387f902ddd2a", + "0x807cdac291246a02f60c8937532c8969e689b1cfe811f239bfdee0791e7aa0545e9686cfb9ed0c1df84748e5efa5e3da", + "0xa1faeb4504c057304d27d54fb3ec681462384a354a4f0b6c759d4fa313253a789250c6b0f44f751b0718592637438a19", + "0x996bcd3215182d49f1cd15a05e1e0a4bf57e264400bf14f7253c6611d2571de7130cce81fd28e0411e0a80e9054f4f98", + "0x89d15b38f14bcd46f4b2dcae82b0e7bf9a35e40bf57aa947e9c4a8f87a440b5cea95229708de08ca596762062c34aaa0", + "0x8d8ddcaf79374c750b8b0b3d196acb6bb921e51b4619876a29d09161ba82a42271066187211ef746f9f40a5ca17b75f7", + "0xa3dc7f70f3a6c7edc483e712770abbaa94bfa3174cfee872b2cc011b267e0ef9baa1ab49e4a6c6c30dbba0e0a1237117", + "0xaa9e958bbdcb192b19c43fc6fd34afcd754949fdada98e9f4848e8db0e23acb27d19dd073c951a8819000f2356aa22e1", + "0xa4714e45ec853eadfe5c3bee7f683b81f97857bbd7833192a48936dd1460aee68f700a21658658b74b737c4fecf90c7f", + "0xa1ecab4215c1892e4a8ff3405d710163875e5dfef8a8cb84f5cac4e317d89c7696e3f496ed1747ca6f52b304190f4ba1", + "0xb9b48943eca3686219575026d395b969e6ff8159dc5317005df090e79d26901984e40ae4b1af060ed3ff6f42e0417d76", + "0x9644b9f90a66edb0396abd8c00066886f978ebf56fc22081031fbc9ce371bf9b04aa5a4ef59e59319b3a05bb7fb88b43", + "0xb2bb14f1c055a78596488e4e2d4135a6470c1ee43961952160b8498f674a4d23040606e937c02c1fc23dbd47e9bd4633", + "0x8c61f2fce9a42b94a389c7e52d7d093fc011099d0f4914f6d6f05b631df7b88182826edf9bbb1225971a080ca5c0d15a", + "0xaa6a7b8499cc7d256043eacad18528d38bf3be970bea4c6d4cb886690280bdb373688ceba3e506471e1d9493dc76f3f4", + "0x8127703363b3b35b06762c2353d4de82b7b85bb860db1028d3640f46bdb78f2d104fa77ee3e0d9db83833d2b12a966f8", + "0xb7b01f5909f2c66ae0fab156be5d79954e3a304615e1fe55945049dd4bd95f973bb3821117eb54db7e9ed1ee9a527652", + "0x8be47ba5dfe212420649193490838670c40540e0ea24adbab18c4a66e7ac3dcf94f068dec2533b60e08c1f64e7533e54", + "0x905a6c7e24b86aa54a05c329a6b4616d335bb0b1f1e9987562eee0acf82ad302c7c44981a1dd6b24c6121ca12fb92996", + "0x86969ccfd91deed93b355a2c21319e3bb08cc652b741463bf68c626b7ba2afce3f7cc397f2fb74588c2893477c948ae2", + "0xb5a9d20eb12c331d0d300fd4b85b0ac0bb74573178a5fac8ec9dce5e95acba07fab444260355ece442a846737a2dcd1c", + "0xa13497c11df21b11fc1a63b0ffdcf7f432da4dc2c98f8d07d36da4fa68aceb57af2158088e5b05e334fe0f264aeb7a97", + "0x882e4597cc66498a45e86a2ed9ee24652da4699af00ad35f73b5e74fde6ac3cee70630962d5ddd86162d4aaf11bbc11c", + "0xb748858c2bafa4a14ce44af35195e9c52aa75e109719243bbe278095acbfd6a7ae7e084caf8dae6939039b5a4e8fd675", + "0x83a2e0524507e74f51fe976441108f8226ba1b3a33f4e16ec45c5661ce80cb1840a93d17122cb8ca9e0f80d14f69877d", + "0x846cd2946c93ee5f24243d9ebc69936b3a1a6d59f45fec6c79b1eddf15ce30a8e73ad03cf606ee66baea3d8ff115f70f", + "0x8d98d0a3a94f6efe158f8423c041b546416145c5c2254bfa157efea0d1c99fe58acc7df6424ef29f75960b18d664ea4e", + "0xa39fa47e4b79f54dbf59d0b1726f1e78bc219fcfc56ad238c84b4b610e7892ff1e65d537baf5118a32f5e2eb80d5ee0c", + "0x8c30969a4519131de5e30121c84c04f67b98c8ad109fa4710dd3149cae303d51778add3f258f0482f1c89c169824dffc", + "0xaf7f80d141ceb78b4762015de17fef49d7ff6202d292e9604deb508272ee7569f7fd5be3b2438da1dfecf0c26533ef86", + "0x97cf82f70128251944d79b8845506975405bd720e150d836205b048ff36ba8801eb74cdcc6425f28f6bc0acec0a81463", + "0x8c276c876eb88688957d1868bf3a1462375e608ff72b49870a5dac82cbf6584e00e3f36f236f732348a47502ccf9539d", + "0x964765f1a5c8a41d8025ddf56dc01b78424703d8a64a4e5539e477cb2445cb541c70127c561e717256d13f91a830ba83", + "0xa2aacd9e21b8c8efaf2319611addea1b9f41430aee42e7f2a640cc693aa395287cc8fdc2806b76b577d84fbd05378ead", + "0xab11eabbf5be4345a77323a3b75f9ee93b011fd2a9d0154e88183cafe47f82a7888666af16b40d3cb677c94bcc755ff7", + "0xa0bfe715a7af5a29b1b6148b8cbee585d2b49fa6ce59bcd173ea3bbc60d71a62f9da27ffcbbd5a6da75502112fe44d70", + "0x902e6cc38ee42245103d90b65028a471bc7a48b825599d361aa81d8c56e0fcf9fbe8d4c13802040d2cfb85b7e022eea1", + "0x8832e2b5014fdef4003bdbb87e3298fdbdbbe49673f6b66e2373f1cb2605f9c4af2cdf9bfd45d1993208681d29ee1c9d", + "0xa7d39d3fa1ec1e0c87730fa43d4900e91932d1cafb36c76b2934907becf7d15a1d84d7234591ad4c322b5a24673bba8d", + "0x836ed5f09d99624204aa3aa7ac601980fda223f3b4b96b4a8fb235c574a3545d518787c12f81bd5851987f2860d41886", + "0x94235e94445e6086f6e9331923262070a4c2ed930ec519eabb8a30133bd4fc6debb99185f4b668431fae1b485c5c81b7", + "0x9828ffe20b9405f117dac044159be2d3c6e2b50ecdd1651d6a73f7633e6e2a7ba3d783ae939973604446d3a1ef0fb20f", + "0x92f03dc365dfe9154743ca70e6dd2758f064e3286fc543cf8c50f68effdf7c554bd17b3507c6ff4127046d9bbb5522ef", + "0x91ed07df479d8eb3d31292a0e987672a7f3d45ecafe72935b7abbc3f23493605134ce573f309e226c9efe830b6868220", + "0x93bee582661e6d6cefeff29002afc2f36dd2c13dbf33f0574c35b290ddc426170a5f7f196369ad592efcd72cfb6f8fc0", + "0x89a51467d966f48fed15dea5a12dda54d0015f69e2169b5e34f44c7b5a5d4c282d6f138116a0cd06a8476980e420f8d8", + "0xb8ccebc14b6679ba2399370848864f15f63512fd6139df7359b7b93e82c1007fd85137ecb0597294b46643e1a9e7ab5e", + "0x841fa301567fc57b2cd09508ce75326684e12bfb8add671dc208f579b2500b93d5b641e9f59bba798ed4ed1259757f7d", + "0xb3cb45c15eb00b4ccb7013299f761cb8fefc17adf6db50e9ecb8abe927a3bc7f28e359e64693813e078e1dac800ad55b", + "0x96e55d3b9f445f5679e34fa5425b3e87cb221cfbdd07f8353868c7f7f4ba388ee3841cb9a1d638583bc20d03a9d071f2", + "0xa7dee9377de740270c5b57cf86699004ba8dc2766af56b388b5cb0814ec71bb99ecf43ee3d82a552733854ecc7def0fe", + "0xb129dfff23b3c1c95ddb214c4711961fcb129efe2b6557ec9e116ada909593d0d2eec2c628434493393c58c52aa86847", + "0xaed2670e201cb3e38a8be3c86735a4d76255e1e5a4c67b91df6ed262d09c8d10b0a3891da3e6ab934058cc9a7178931b", + "0xb20b8921ae52e5b3c94fa3a8b46489044174f7b897779e7763d6eb419e808d76705b7e7ba5131576f425aa81b6b0de53", + "0xa7e45bbc3ba1bc36617291ba7663806e247f1b57a89e31520c64a90cbf8d426cac2e2f381338baf78c8f92fdbbcb7026", + "0xa99e651e73a507e9e663e2364fcc193ec77e8afdc08c2bed6ad864e49b537ec31e9114ee72291a7657899f2033a849e2", + "0xaf966033636c2e9e8280d173f556fe07f8b6940bbcf6b2df7e2165c30bea66cced2596f6c17ca7c1aa0e614174953ba9", + "0xb69ca7a79e3d55ef21e0ebdc6f0c4bd17182d30cf6290cccca7d2551c91c12b966020d8e40e4ee4179488c9809c03ae4", + "0xb981cd36244e035fef043f70b1d7188d7cd045b4de0581c459fc5730e10eb7f3d5893b54cc4243849c0855e4e621167a", + "0xb20fea858a36921b35a3051ce787b73f70fdecd3fef283c15a2eb1bffb1dcba5991eee4a047ce4e87802da923fd9457b", + "0xb040e6f2e56dc1860274c263d4045837456f74b354a679f6b5ea70919835ebe5d32bf1f519e218730096c98ff396dc9d", + "0x8d2dd60e702c923a7204b530e7d6c193c6f93ca648c4f7bb38f4edbeb0aaed84184213afafb8db6aeb9197c24364276c", + "0x95dfa7348709e43d71285b28a0bfad3ca805b6ed4ae99753e9f736c79d58a35a3a50b42760ccdd03eda50f6e59494968", + "0xb8585632a13f18c139a411bb2f02df809591834d127cd1ff081e26d0abfe0e3fbb54abea26538b25a0dcb4d7e969590e", + "0xb46ba47858a29c6d523c9982660949567666daf2582b93393a4802a9e077eedbc0d49d454731696bc8e46ca50c7caa40", + "0x84b756b901b98a4404e58d70f39f6ccac877146c866732ae65e7e82727448d1550343bf7cdff1bfd4ee1ed73793db255", + "0x83e5be888eaf877a2c755897410865f64a6d1169a8ccf0336092f3932abab915e542ab75a35ffe016042340d581ee987", + "0x8cb274fc39285aed451a7def72cfbf73168ee10be02affe355a2bf87cf361a81ad284e9334cf00c5bf99a13d9f75e116", + "0x91ff6220924b94ae13f50eeac16a159232e4f16a73fbd5c22c0e185cd1998403904d36bad203baa82b85819ee4a8ac10", + "0x87f46e08e09aea2ab37b55fc300689d9b58ff3e72f1cffe023386035888f714fac4673c7c5193d3f3f3c568c640694f0", + "0x835d7d84ca7641e1b15095830114aa6072fe12260d2202456cafe2308c22651af9ffbcf6b7e56af97167dd0c4e2a4cf2", + "0x91202183f79794f114fd9e3b9bd05553c0e8985919965101a57d97ef666b028863e6cea9735af016dc1864f1542dee51", + "0x81ab2b02a9b0a490a74ae615ddd4fe560734c1bfdde6b8dd13303c1481ba0e8ab14473535a93cfe4e824a0ab29445f8c", + "0x8a32d73f4fc006551d4e2c61eec6130355ec9b8c39a65c24ec1edc00e80155ca83a8ef2455e892521a3d47634d82a987", + "0xaf70d7b8f13bc90193cc1cfb0c400c4224cf10f1887848aa93e6380f7087782fc41a159926ab53c53eb95c2383b1a849", + "0x989bf42f9d357c51774f1c7c0f7c0c46a8cb7398a74497141c32685be098e38b4230ffe833a6d880ec391a35b1a747b6", + "0x94cb6715ee95700020c630b8c19e35f231de970219bd7e6ba7ced01899197da473b6c45cacfab0d652ddaf547b4ea58c", + "0xb12e3331f1f7d7458393a785e22e9a5e1d1daea521b4e78c0ee8ca59b41ade1735a29820e18f6afb2f2c3c56fecc16b6", + "0xad4b7cf654349d136fb41fb0dd65b588199f68b462b05f5c4e5c2b468bfaa6c26329033e3c3f7873dc8ace89cf873ea5", + "0xa3279969e1ab596df0559ffc5ac7a6dc849680354e01c3f4fd34c6413a3f9f046f89c1e1be0b315d8b6dfab3d23d5c14", + "0xac74cc5562836ed89d09a9ae6a3644c936d64bdda9e77659d9982f1be29541b03ef2723236d5465e398373ea19a4ccc6", + "0x98138ebce1af531dd8b631b3e74c84f0c700355a2a9bde31e5e51bb10c8bbd766559c63f6041f4002568803fe08438e0", + "0x9006445da131349fe5714e0777a4f82a82da343612589a0c1596393e8b6894ce1cf42784f95ff67a8384ffe1f1a4ad76", + "0x88502a84a85e4ce54cfed297b5d355867cc770a8ffd0714a6f23b1ab320a9903c6e42809e034bb67dbf94c4fc0d9c790", + "0xaa8b4bf123d1a6ccaa44b86be8f980005f2a0a388a76cb111b0e85cd072ef64167fb0c097c7b23c4bca64c0260f6cce0", + "0xad49eb35dfea9feabb513a78dd1152ad7eba22fbb02a80cefc494a7037699c8df81202dfec12acc1b9e33ad680cb72d2", + "0x8694da730231b29afd5196371ddcb15b4dcc499574bdd063f4864ab80749833ea38ab8b0ca1629a367fe378e87a60a86", + "0x8eca7b488e810c479e7e32e24b8afcd837f7df183fe4f621a0336b53a9ed77603c84bdc365d8be68179a32b71a1deb7e", + "0x8875cd3e23c7e1af55af1b091025a08255743984186770bcd43f30b4a58d175cfdf1984bad97a15e08dac2da27198c3d", + "0xabdafcf58ec72997e494d4714645f40d09dcd0fbd0733e640eca44eeea67c25bb0c270299c459991f2fae59d13b4f4d5", + "0x8f040970141e61489284f3efd907705eae6ec757fe8e1d284eac123d313e9ac1e8dc14ae3f04d281e1effc49d5d2f51d", + "0xa7ff115f0d2dbf66c0e8770b3d05157b37357b9e33e9a447f0f3fa9da69ad04e371fd1e4848cfb9e8d05e3165bd969d8", + "0xa39b1a8c39d317fcc97bf6c396e6ed4a85640aeeadbf45166bd02bc3bdfb6266509159c03afd492e642384c635b824c0", + "0xa2e1b90f3dd2d0038eaa5be52127844ccf35d997143179d95ffd3749c0896398b130094d01eb1bb31ffe80ef34b42b48", + "0xa2bbe31f89b0c3c375ffaf63c8b7831860a921d5e388eb7907dbf61f2601ea40db86bb3952ecaa26a5eca4317a848ff9", + "0x87d885bb0f2ce04b40ce94d2557c15f1698dc652e938f9a2d69a73ccf4899e08eafa1a59a20cae92823795f5b94f04b9", + "0x8f7746370f8a24a2889d351f3e36b8a7d60e75e50e8f5abeea7dafc75441e95915721654e61ceac51bb6f112780d352c", + "0xa7272847526ed3d9e0d0fea1d8685b07b5b908971490bf8a46748c8b1783c629b8644feb5bac772ae615daae383d5e72", + "0x978c9aa2996d8bd6fda7e0393fa8b38747f8f99712427705c00f6e9a12c36f8d8b4cedb03fcb9867155cbddb5200e6e1", + "0xa4dec4a2354b2b32434c5bcdc380bf84580c6f9940f94dc0498a5bfe89c675a0921e66b807a3d859a6059a464cb2a9ac", + "0x99459ddecc7abce437f68722dae556d8ffaf8ed974f459e52e6d4a64f176caa4d42c2f2ec57e8a5b5f2034638e8acb0a", + "0x928c68c0c9213fe6258ab5bb0c693d97203d15da359784de7824dec143212da57d062a1fc70a79172cee31adc7aff382", + "0xaad3f318f1622ea87e12541dfd982d71629b8f1ded4c301f9f6b6af9432716ad057773c33bdaa6f15dc151b0ee4505ea", + "0x8eb8e978f149a983fd6ad01773f9aacf57bd0cc622d8a301e404184b37e610123dd081faeda571a0ab1f149a3960af10", + "0x851e7191d7b94bd422bcece5b92609fc1b1c8556229bc53e32963b2d2fd1cacd8ce5da9040b599eca6e610540f8a7987", + "0x9414157fe9d50e5a0b5a7397417681bcb3a651eec1cab63f2a88d5df68ab1fef6e4c1d7ba657cbaf241a7cb790297633", + "0xb5cb2dafdc5408959780754a58b2da55b2a9136672ebca42f34da4e329ddc89360e7218cde3efdbf784ddb390deacc57", + "0xac6b70f65503a8e94b773fda3e72615745824930114fe72b6d833484285462392617c1b2eea4a250fedbee88f503f3ba", + "0xb0829a5312f9ac6c06fddee2f835a3452fe994f6d42c9edfc390d7d5b3240ca544433b544cbbddd6516b38a6d5d7c21d", + "0x95f8e2c59905957e34d53be3d6fb85732f834e2cb9ab4c333fea2f502452a87ccd035fc9075d7c0bd8530bb0a0c96527", + "0xb93f279b7045f2d97c674495f6e69a3e352f32f43cc60300193b936c2850b2805c15457251f7e3f633f435cb2b60405c", + "0x915abf16cba1a0b655b92a8a70c03e7fb306b86f3bbfb66967ca63e64c003b59c7a5953675efa4fa0bce9bed536b6700", + "0xac2047f50a319d09df1ec44d71afdcec5ac3bd2765dc98aba347734aa780863545df9f6d71214d443e3f37edc0dae45a", + "0xad49c74ddb24c8a26b14ec08bc807313c77c5967fbb36237f55994d7511bbac8d7e7b9b8ec53eb1b3b066989f078dbd9", + "0x961483105f605e959213fe9e8a52b76dac62d7efd2319ec71fc4e92d68fbe44cd2f65d7adefb2eb64d591b91648b8085", + "0xb67fcafc97d8df2b3075bbff7b3d7471dbf1f3048f309e55d5e2c5bcbc7a73aebcb0697859be9f387cbc7ce98041e154", + "0x8da70ac16468cab6066992389cb37c79ff5e0babbe67d76878aef9408b9597a3dc2eb5de87428bc761a0d78957b0eb28", + "0xaec0ce89770d299b631f15ae12f94b1e1014ac57d38fcf037c2c7712d770d074affa06e97c60691bad8733874b6ad2ed", + "0x8b702c85fa4c915a09fc86507f44d7aeda0993b77af87780d70cc98d580c6e996b64b7c16cdb4dd4562cb0f75da36ee7", + "0xaaeb43aa472aac2253e211fd1066c3a5422ea041cef20168702d0618a1a742a44f7fb30a76677640fea1a24e7fae1996", + "0xa8820e92825d6e02b9b4ad5ebc86161d3244cddd3d244333ba1576b6ae10948145b68d9e926bf6b7a2c25dab4cf43f3e", + "0x8ffdae28a1f1d15d7ffa473628a66ee9a739073f59ba781248286b39cb8f7255f66d62337064246713cbb5017e615174", + "0xadfc5dd142b7911326d8424881d5d92006f3b17de4cce91674d6ea37f00fbb266c791ac13f6c7a0f61d04f2a952e6a04", + "0x87f98982444bf661f539bec73a10256f079a4baa88a1cea0351ae3de929e1c500485b2d1b5d933063cd7d9123d5050e4", + "0x8f217ba4dd404c5ee384f0c9a126686db001ff0344c01c82174c5e5ef89d1a241b146008c534b13a0da6c8afe7450fbb", + "0xafc85476dddaf1cbb4ba8b22186789f3818c7964f9f613e55010278800cd95422702248bdf9c73760702ef24854795ec", + "0xa59e0f6ac2ccdfbd01f002008034390c0ea78716f5e0de4e474e3558755705c9c7afb6e3c5c4370e7bbc85958a9c7a63", + "0x97c0695c58d792ec31d9b86d3b2fc1382f0855057b24d5f6a54c41f76f9e2f52882cadc89a8b2f121530e7f1393faa95", + "0x8e49112de0b2649c08a96cf737af68fa8055f1af594846a2d0534c94df6f926f200405edaa6e6ac9db7e380707a2571d", + "0x99a1bd83a7ac5f8d77ddf044c80ebfc5745b998714696d67b94d185c97e9d6db989bacac646d9def463127a8b2febc00", + "0xaba80725f9f9f7abe10760eca73ba427ca8df864a157122eb9af828a05b0199de3add02019a297750bdab5380e505c58", + "0xae18f62573275c1eb268f74c5e54e8958547f9e7d1d36a05b084eb53e5704fafe2200b8aff95cc7e9af5be2391c42b7c", + "0x908b8031d09d22b2aefeaa876a998e0a97c7a1070aad9e9c97836cc5aa6d2d5ef94230e1222074837b5e21b4e6490f01", + "0xb3132282e8b41ca6789ec5c43c1fecf3a65b8eefbc2f3d10f746a843b9ba4ce6db664678e75e424f7b11a00c1440de15", + "0xa1eb49440cc106ebc09cf198c93e8070271eb5a936d31c04858a2b311a037350100c7957d5545c9653f396aa968b91f4", + "0x81df6ad1bdd5eee4cc2f94318467b8602d15cc1be2b48b09ade12cc46ee05cbaaf77a20397e5015030b1f1db5dd9dac0", + "0x87236c68a2a93c8442d15d7f1d1dc01d1fd123439c183e1d843f4ddd2bcf638c128f66f1ef9b710e5d1f64a52726007a", + "0x84f2e7f85563bb2f61b10a712c7605d63f79af5be0dba056814fd3efebc20e9c53227c56577b72c68d185571b775eff6", + "0xa36d4ae06688ece2927aeb2c7f058a3cd2aa1de1601282d4e688e1d76ef20728b892928deda2314eba41675eba3912f1", + "0xb8326dcbcdcfce017b263c456c47692fb476c4225c95981666fff0b7d4522fc23b7f12273f0f47cf0442662124e6648f", + "0x84c66463ab277cda2cc7007d0509269e89cdd41c5e0d3773a92615f0fc5da63811186b05d7a11088048a5d4834a7e0df", + "0xb20d3571d970712ef4699b0e7034fd269c361f53e1572e2ea2676b4245e992d43b8b5931a801439a44d977a988cc360b", + "0x94dba6007e6d4998ca1eb84aa8e2a7e9f5c164b9d80df2825f2208ce5640a05aacac2e4f08918268990f43ae1ccab69a", + "0xa1c25f0b3ef9d1982153207570d9ce8d692e1b6963b509958dc4d9bcd80074bb221c46804a6d9a29e76149cc7787c282", + "0x8857748fcdab1199fc96084323a81d3bd8b5a7f0b1abc5bc3b5252a19268344e2e7d2d086c90fc9b5fa4b92feedb93a4", + "0x8b9c1d841447354b6c086549e4d1d435ab64c13933488c34bc30f0f6eb36c5c5b838b7b6bb018542247edd1ada091045", + "0x8f5b655416da0e719a204fc567e93792c301acb4374cf7bbabc6ce51dbeaaadfd75c2db0e16ce073ab8e91fd3d7ea9d4", + "0x90f2846b19be46a75c5cd0cafefcf9192e6fd80c479e8d6320c4b8d8d7d96703c9e77ff31a67afa9858e6b7bde1f7cce", + "0xa53e383947fd98aa1a55ac956214b46b20a52758461e8ba41341a23a835ebb713038bf048edb1202bbfd0b56a96bf292", + "0x9542d7debbcfb9cda6fa279c699a7b655c03b9a9b456a5d3cfc41a826c94eafa43e01155a29e39ff0bcd965f4c0c512d", + "0xa43792864ec5fc549f7afc02622454afc0e425c310c4039ba615067243ebb26a4c7ebfd19bd4d57ff412a4bb2a7958a0", + "0xb85123950e30c048465bf32365d24a5d4b21fffc6183cdbf71643a07b87463989b72dd9a6a47f134856f704909a6b38f", + "0x944ea689aec1376f855c0bc9c51378ad06ff758a2c075b95a60b535b88b36eca0be11e4edb5152e98cb2137d6e749f27", + "0xa6bef52cda22325e4c62d323e2a0e3fa91c5552fcfce951edfd52ad6f652bfdcc2341f1cd349e6b5d447924dc569bfe2", + "0xb56bff8ffe981bfcb30791836da10b87f2ccbe17ed969e7f7a650af07d27ae0223805b1264d985148208483be50578a6", + "0x8b209cac898dd580c82d854a553e2517497ad1a4cd198e1360b8b50639b380aee70ee4b87625d9b2278228ff644cd25c", + "0x877cce233fec74c7158b3c5bf108365e98238418b8a71f058f1aca44a0fd3a1021e3e9025bd11fe244d9fe0f5034ce7f", + "0xb1b871aeedb03d6f6accc99816b89f5958178738d8d8cd9717527d04363c80fdb5f6848122ae19fdbc450cfa11e753c8", + "0x858aca51b9e5b0a724e88688d5124eb24c9faf01a3d465e74d31de6da315f311143f22f60201ea09f62c92f61f09d889", + "0x8521d409615dfc8c8289e00f6aaa6297c2c4e1439b25952afd76aac641b81c70b9cef07cd58c1c0198382bddd2bd8544", + "0x88647c3e41666b88acca42505f1f5da226937e0522b538fe0cebb724e9a99730ca2522989e94a96cac94109aef675c0f", + "0xb417fdaf719caf38854e89ce52031b30ce61a632e6c3135adec9002280e022d82ab0ea4ac5ebdb21f1f0169e4c37bcda", + "0x9367a6feb5e23ea2eab8ddd5e7bdf32b4d2419fad1c71a1ed327b77362d8942dad971a1c2e6f7073885149cdf0a0c339", + "0xa71c5c08d50c57d094d6a4f02e97d3799bada92f238ffc07bd223bbe8379507b7310d20b28f5bbbf331e5e153515e491", + "0x9630a9a3bcb044b51299c4d3d3388a4ff47308dd27be3229601985478c0f6b55faa7e20815d8694f910611396a9d0d45", + "0xb0bfaf56a5aa59b48960aa7c1617e832e65c823523fb2a5cd44ba606800501cf873e8db1d0dda64065285743dc40786e" + ] + } + \ No newline at end of file diff --git a/etc/kzg_tests/kzg_test_0.json b/etc/kzg_tests/kzg_test_0.json index 4f621dbd5b5..e348c5c1391 100644 --- a/etc/kzg_tests/kzg_test_0.json +++ b/etc/kzg_tests/kzg_test_0.json @@ -1,11 +1,11 @@ { "pubdata": "00000005000100550000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a42efd743e554bf21985b562e6b1f3ee3a2ed72f4dd98d76a68a1146cc9a21a86000102290000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800acda5158c3dbcac23211672d2cc9c3359fc98a11a515a328ff84730ce388e0b29000103170000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800a034d6369f58fa6f6577da618b1402ae4035b815c468a5e5e120833f35064d7d60001035b0000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800aab90d8e21f8f6be792eaceaeaf2a7e262b8cd8b1a950cef7856d3c00d3e0fe240001036c000000000000000000000000000000000000800800000000000000000000000011f943b2c77b743ab90f4a0ae7d5a4e7fca3e102e0c3af29edc7fd00e8d0a61d41ed085b5999bd76d0ec57c8b794117edb48006600000005000000386c0960f9e67050e6b7ae575837febf738d9dd205bdd96129000000000000000000000000000000000000000000000000001da2dea1775200000000386c0960f9a255d58fcc01e78bd7f30db1c5d736a19d6de5d5000000000000000000000000000000000000000000000000018df33ae339d000000000386c0960f94f1b62090fc5498593cf8803898feecd5109b2d1000000000000000000000000000000000000000000000000001d9dedfce0a600000000386c0960f9988bf802a450b1a23b01a16361041b8cc4c0096c000000000000000000000000000000000000000000000000001bdd15e065b0000000004c11a2ccc170716ffaffcb4579f8226130d4a8625904162263a0b86991c6218b36c1d19d4a2e9eb0ce3606eb4800000000000000000000000000000000000000000000000000000000138ce2000000000001008d34040102f2e6ed1059ff0ad70d4e11336e3e5ad30e827e008cc2173fcbd003105e10deef0001000117285a242b48c751232df502f6448f1dbf4a1d9132f1cccfce399608c8b90b3a0a1f96e79f02ef0c7d92a6ba1968507b07a357809bf9eaf6ccf0fda94f00010013eff990900684eac2c81359f38c1b0a834d011273ae30310f9c7807464a1db77812daebf491cddd7c2c4af8b712a218f35b8f3ceeba86aad8ee402526c200010000939c0f641c18abe55b3a876a26f1720e4903c3f12e25b8b6214942db9069af66d7b664990e3f84e4633afb9c21a8da0ef39901d9bc286fad7e19d3e6690901c02aa7bf71858e06cbaedda3277e925e055d21c73be1309a36203fe4727785b409018a07091e19392f970a79e422657f4765f3c6498b0e174b862d050c05dcaf5bc50901ffa6d75a531a1505992e4c1ff4ae286f3c5336d1464bc9b25d9178749c5a0fc70901a9729e5ec3b68a9346d3dffbbb2027b1b0f40417a4e59e60fad413467c1e90a40901b4e5bfca3d03904333c9db34f701ee88c866ecab38b47bb219ecac0861ec961b0901adc5ed37ef2f96fcf6b4c8ae77d5dc254da413dcce18fbabba941fbbaeeb46c809024dfdf044fd553fd9ba2ef4251f008ee4cf873fe70182d1b2f75f28c91d282c06a1996a719fbc67f35a4344f73890c1172eb194a88cfb6b291ade6a03a87fceb351b6ccd7a8ba72fd46817f800389c924d23232fcc6a118cd1fc2a93f3a384b0535afd162716154269523f7345e0bc56795149c3dbd12ad80b8d16c271a08ce2873c63cd21f8b28275563390881110a3ecc00415f285ab6f8e3d9ba138242a46510c44a0c83a350067a6ee880f6fdcfb01ee4391e32b4789740000b73f38daa02eca7cdd85642f68cd8cf51fa015d796fc2dbcd1aebabf654bea441016b288c64f0c000bab081a7b6f92a4ec1f02eb005520b7673af201c4ebe79e761538585717fafbb39b59ec022d606f068ebf6717faab388c9c53c18fabe7838c5608820c5d2430989d90b92dd26451e4102c68af0bb1400006f4753c45e67f5311ae7255bf8889f7fe7e58b6af06d9806e5194a1c5c66d05139054ec8fb4b6000bd906f224650fc26515436b3c25a87d68addb31c6a5373f7e00f754d39119486391e3e8744f910003c67eee680524913ae37ae69f0baa481d0e4e6d3484a307479eb229bc30f479e391be3888d7ca00075aa7f75697d3feb547969a0d55f8731fead1e14041729ebd1d392848e7cb2af3914ae1318ecd9020f2f4ddce402fdc9ee7b3c86ecd111dbb325d01422bf470db82108a3abd1e3b34101192d1069581b941d50c402518ad6fdbed21958ed6c5724923454fdd2495cde5abc4bf4516ef98c3923b46bf7fe2000f6d7022ebe58dc19e751106f2cb98fd24bd6e14d8073a53d3f8e11b45c5df48b00a99e289160656884525d83a63124c30e63f37032d635435d92d49995a8f8b408dd140b448cfff621010bc3dd28788ddd82f2bfc323f8b837afc1ac6c5c1580b2091462157e0771f69f064d0d7bf52f7ebb7e91c66e35d4914a9dba6c7e3cd75ce6200914183241104a8b011521fc34fb04dc72026ec296cd803af9bb39e7dd5bf873ba5d191a524bc07d6ca5418464758476f726a9d98e7a81bdf17ac4ec7badc550129a1151b03c194c4b4034b276b9d891a6f4775fe20e1e5cc98babd8744c81e7daa3000b49c7e5c28abda1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e01e96050ca4793360ad636d62a6d89ed1dd50d100393a25b769f51148d33e9c80901df92d744c1917c79c8c38fa95bb485b984c521a4253c1ac6c12035ee61226f5c417bf8114d29f36913853abff5b4c974f781edf65caff6e8293912904b86c909f9559cbfd685c0ba6e491dfafba0f1bd4300000231b5c9c8cae149bd749c383d5bebd9ee775377beb035eb84377eff29f5edac291b6103f419ce028a771a813617dc177b50fd2f2d4ea489a7f9c2b6dfbd7cb0608ff6bb949911d83cc543063aef4cc63829a471bd77f68576941d08cfd681e84f80d3e1645920171f09019ad2dc29fffa2ee724cd419095cff0605b7df10d65420c3f20d7522ab9fb81be2165a6de4ee706aedeba038f6e38ad43723329856ac986583787b60bc1f54a7f570a91b33269294c912982def982794434499fa4ce83d8a32f8629d2c1abf127af5e85f34909aaeb23a7a5450a60ce1493c3bc690643f16943df5367f77aa54a54bc8a8200c68674c041892fd6f77453341b524740e2f87d0a3df7f0ed575478a6b9041b04f0d563c8544007d64a89d51131d5adef571aa36d21bb0f9917c463b5c9906d07f248619a83b48509c798407bc4da757ab7035dcc0901a0703adc7ccba7cd1054340b8b59b73e6b8b455833b8cf427b7beee4a0f02c09a12a9096df9ef41ce9cac50cfaacf1151071f975ad45cc7125fba34a20bffab916ff36625d666f049583117e53406ad65493808667a1d3d91634cf4c04ad1b76ce2c06f7385a897f54d3bb11626357265a0e408c00504dcf29352cc80c19ea774e4a6f1cbe01933d6dbe0901567e3d3f853b2bf658b34a086e56c374fb85eb4c313829401d431924d7465d4aa180115c708e12edd42e504c1cd52aea96c547c05cbe9a44851e30b39b56297fdf090f6bf257d6c5bab3479854a280ba419fb6d5daa180115c708e12edd42e504c1cd52aea96c547c05c76a06ae72e8a8f120cf6b43317b34dba4b119b37e8d01ca2b28c514b97d2887e090171503ac05f8ca52d7cdb786cae95ae5062c8a97dac126ed9272dc7e30eb806c80901fd2e18833a48b67bbaaa3c77c79cbccee2f71b4ce0a92b5e2423c707cce4533aa180115c708e12edd42e504c1cd52aea96c547c05c8bc265e1dc0dcb7c9ecc7cbf5f7c1843c5da43bf586c40fa9560774c5eb1ff080901e8bb18c16a016ed06541ccb16b38473c9357af9322a2ac573175b7b1f9ec07cf090107ca4196285a78fd294c7947fbd5febe8b6ae006c9d658e31b60017ff3f97ae9090166df2a30dddf70b6f44a42de4833a3680b9c5ca958accae9dbf7f0b1600947f40901281c95c77398a8b558c513bea568f8be9be22fa8f1a6d5645573de661f2ee6a0a1c2fd44a8497e2fac310f4fc8418908125546f32efa28383624da04595bf930920bb58bc4b15b5de94ac42056027c1daba69332e0313f2a01718652997cd9436f8f814343cb15afa1919b850b03c4a0d28149ec068207f3c551c6c2090136d8384f8f88b18de18e3ae63b1057cf0772abe2067b98b68446b10ff458fa2e89010000000000000000000000000000000041e13027c1b52df1bd9803cf1545bf4ab94a16d168d9104f09d8766103d550bb0a01bf35d33c89f5e664ae2b92a66a939eb013ac1de6515a57ffea70d56fcf6b706619d057eab78b3a25d00ef7f39c4967eb220327371363098ab55ae8ac283be6cace684d200a01966f1152c6a8a2f9a663c24ed9440e728138744090cde391c63e8e1786df53102106db12ccc6511c9c36ac5967ccae5da01cd21ee0445c43211dd1198302ae036d5e3b2cc60a013abc0472eb8a8849953715f91ecd85ec47ef839e466dc143cd2d32c6b61349410a01a0dc9b0d01fe770f0cbed8572f05d38c58e5551d15c16d5608fc302b7ad49e0a2102a5692aad0f28864b4e3691a85974872a6ce40e6eab98b56b6d3b8236786a0da0292531210f3753091014a4ce05520dbaf7a2654d893c76a471863e356ea366e825fd296753bad41b1962c6ceeb0388076118d3a1e6e25ee9084ef2e74cfaecf782cf4003319c0f335f96911d19b0978b507111c55737118180a4607b2e9f115ff1c10ceb656a32a6f4cfbb21c8c6e0472101726199c58545f9a610de3b4061e87c21f85dd19449ca4aaca2dd868172c540728497bf311d9e0171863e7f0ea5f165f28a75168a2e392f1c22732864565c491a136cfa70189eba027acea12fbef53b81aad68c4727f3329869ee704609ee749f7a7407fb1ba20d656da3c5ff74892871546e61dda8da470c0b99caf78854120901688a021fdf7d14582bf5bd2eb5c93cf86f21171c52b86ca334776c7be06633e9a14aa5cc5f01876266b9a0abca2a77fb4af9425cc3c0f84c80c45a8236856be149391bf75bc23441e7e25070407a08efd97811e33da165d8e9461f9018596fe0ab94fa050ffb3bca242fef613fb876ab1c59ee2b84cb39b85d0df611e9380de6df4f5da1f8f02a925c8d490c944fd8e64880228050aac29f405aaa380863f232d74b43ef4408dd111745f3a9d46bda7ec362ed97a144ef12d4b87c5646869b28e6b62e8aca975afdfa753b08a8b2b9aaf55d8853d07c452777fc4c529029633816d926fdd31689a2ae29680171861aef4adc1342aa75eca6cd65fbec28e32540eeb9cc63c12a4e7fd74288094cc1e10901e9aa2c34ba3c83030e0d8f90d17ac623eb912fbf8cfbee93413bbf7329d959b00a013fec76ab6733aeb76b088570a0023b4fdcb8d0c828e9dcc8f81bb0e75645e6d419f2662152b7f4b7dfc66f12b9afe0f70362b0a6c5b42e041c3e4e9bed9df52f3dacadd60a012f93b53ae541da4ffad8c2e72ea9d77c1860404254cd8cdf8a5bff8708bf99de0a01e63866cab2b4c30eecb868b0dc9f50372b1f79ad7c93e37fb5a0ff411f5cf0c50a0123783ae730d29ee74f13dadbe6201b3063acccbadb0b768d5c80e8ce06a50d7409017282df9bdedfab9ea9fae6c127d63bb89e4c5e2bc6243b231ccdd2a835b1a8ac19a7e215f14e64c035ed9a1f45aa7f9decad368ac1292a3835f448e952b348ed2324b84d21027e577b5763f3ac147822e73df0eb878313e7e55df3db4405eb1db3746083c12f19b9d10a015f06be9c9642a6321a48bd6eb51fb69e85767218915fb4ef3e1ad12115ef907419121c1b961e6a90ac18d287abbe6645e314566d6068483ada0ecc53c1bad6918d130c5009018beba255936bf7debacdf5ae874cf4b74789861b8386733eff99d087b394c6a20a01df4b1208f951cd68e9169a4820678631882ce39999e2b20d20bc94b0f6273ae60a01dd845bf2c9bc9886ac2286d0dd8c08b0e7b227570809e3229895e49f65a298064902bbc099d5fb6d81289a8e412e9c64e1d0237b95f8899e9314631b7abf0fad93881ba7e447abfaadfc0920cc1d27e9ee7f5678cdad1e1140c4d852ca0c64f04346089c0809b48771cc695f090876af4949a5dda017af2fde7eb64989734c48bd449a895b7d22c7e20f4e85b27b0901d1b4ad97ce6833314f1374ed5de8210ccec6ac500552c49b35c486056d5c52580a016a975864c94755cc754e06fc62e04462f62979fbc2df237884199fdef76b8cf7096e352fcea326988173e6d09589571f5522c74e25834abe3e70b4ddddef84c6a603096e5ac400e164e56f8210320bc96798e6e0b5fec0470bca0041c760d46057277ed7210134d6f4e47a623cc0243610a628b008fe34865b98e100fe9c64dbb6aab3df82edfae169210134d6f442dc4493dd70032707de9f746062785a10d98a1fe54541e04a2c3fba6a25770f3904325b0881a86b033ed80ea5f81caf6ea810c94a038363a914e2bfd4bf89397f140896043438f549344692099866068fc7efbc7ca398ad874cfc7be2cfbcf493af177a976e278b076487fa4c23906040af191a524bd08b413cba0ad1f7ae3cdf10fa1a5a78fb0f763e8b958af889d1cc65742a81956906f17c2a1f17621892641e82adf64a6735ab0d469b6222445a27a0509b7334974617b086da6556919cb32bc86d310150969bfade2922350e35eea1b624bc0860fc6d1a88ef8949f6d193932a74f1cdadc3b17ded0901b91f047425ec49fcd708d173677a6a5c4294172167d6b9d3082d475119697f680901de1770af232be79daffa32d59cb27e047f3230375cbb6c6f359115ad2113d99c090101a485d8779c9a044e5957d15aa43aa8206a29204e97e578f6235eb52e23afc23103600171864a9d2c5b32b59cec41409eaccb473a7c1b6816ed36a719b35fa372f988da2d20d4a138f784e67869bbf5aaad5d664dcd05d7a47a9885d224de36f00d582d2a3defab0029281b54c6b681af3517a007ce32b98b6b01a7517f6a4e06b86e198796198f82561983b0e61ebc8b86a629f04ad9d09e9a785c984231c98d0eb041c971d9591415c9488a1690396681007c669c526d4b341486bedb9c3b8635c26b27602f7f0df7a6a0d653a140caac8c39571a923ca04ee1965836020f5cdc7d95a8ec1546ff2b8c7bec15af2af26384f5c96cfe387c870d310c40f9ef7267cee79a8cd93df1aa7d9f40c4e4ae2b7d1d4740f1e5e1ba1e977201cc6af3b0810a01b7b4e11ddfeeef52ca0c336858792be12d31db6c53b00d24a6776f4f08d08b7d392386f26fc100007ef3af95e82367c7180371ab903da968240e8720165f2d6d113d4e10f8d00279413ae5b783aac200009712281cec3fe27aec63dccb979a34e7d86e37e3b3da429e23697846a2ca958e0a011d3984ca7ed5c262e1067856cb7191d87bb7d1e8acf0230d4a600d07ca22bad2418ac7230489e80000c454190d333fcbedadfa7051049955993572cbd63cf42e68aa77b717d073c8a40901fb77b81a76104598d9ffda1152005f97e9820700085c91c332280307da83eae900810972423f7d915b94ae6a76e50f4327fb1e8b9d0e80c318ab05fd0819e639b4fd05e860183b1015058ae32bcb7719855ec7aa4d7200910ee810344e3cf034f9315af3107a4000f006789c75571d41a9aacb4465f684309aa3d0597b2c75366cde06e60bbbedf969012c000002ee00000000000000b9ef0eb0e2d93d6d27b065c20e022506f10a469215692dc4fab8347ccf84682b0061706500000000000000000000000000000000000000000000000000000000063e47078faf6c734bfe7e188b586ade665b4e478038a57f99fccd918751aa2b69006170650000000000000000000000000000000000000000000000000000000006dcbe7fcd0d4a4b51538f54650f1686c598455da5d3d4caf3857d4c6c8c8cce4609011235fc129aa7c102d35b04dc78a7d91183ec8dcebe12c0e5364660bff015328519033ba9f6c2a13297570dce587d6c1fc75835bf680950683a2c355761d8a473af1f2a9f090101acc07e9cf7f84857070a7a1f6320eb97b3e5415aa19cb3dcb262893651b0971903c55efe2aa6546051344415d9136c36d7224b5de88d5f50081448ac9b71fdb50ac10da1149173b9c112466d7bba1f647e2cdcdd6ff184e4275d59e3ff3f1f2321277c45d8ff9326dfa34100857af52b1e5c91a8768b04538139d4793ad35846718f9892a36e8b925b2b8e01b97a36abb0deeeb6503f11c3be5753c9d069dd7fd681798028313bdf09a144e8d30c05e5a2219d5f7e17e7b87e60f6c1353e9a3cd0481a52950a63256e2e403fd76b17c7229e295ecdfc3db33f44b869b3ada16dd28c2c5b91dd63b4d4e78ecac7139878371768686724262c779b02e44e6909c79dda2440adfd1f4e3da630f1b18562762c34594175b37816b749b66b0ca5180a81cdded691fa9475dd73710a0f98169e0077e37dd5bae3a8316c9c220a01fd9ffe9dfd6d0978af66e263e8dc7277c8e21b6a802c63a315f9922d8d43e3a6a10d5328bdfba313310c9d224c25772b6fa751b9d40213977d8228758a54d817457dad5de4b806b939a352c83bbde7f0a36e32e5243107b9017186586ff4762b92786831ba36ed9120db1a885d01d0d763980956b200644c7d26e1230901bce25afb1bddc81d393a7d30c196e5cf3753a0e876d4184457a9806266d3e436290a9d9896c78e9c6203892a9d5862e8511d457c70c7f63f5ba7637eedbb0f4ab76ed8ce64bf290f98114c0f326b8c018ec3ba88d28b7e146a1e3631b33af636c11a656bbe24dc43cbfe2cc429e84fb60e3bff1427493f2900dd9f0aed1df7c1510fa629ad473d2e32bddcbbfafa717a889311ef465c121784579443da935b76be97d7d06fd561934765db9344fea3ec4409d0b31b390d22f86191843d6e37d777cc8e8a5edec34e69d8cd7512f38c4cd1e90d4aab6a46c3433fb68d4b392c8850ad006bf0b94d78ea6081d51ce7b39f9aa65e254f9adb05243550fc4c377edc24663b6d78e10342a9706aaac244d001368b000000000000000000006a89e8b51815f5e8fd9e659eec56c8366856d20501bf14e46707331fc77ff92516e12cb25b0c3a0bf18a9d2882caa41fdfe4eb2119a2459da249b6bc6e3f23d4e12d1ba35abbfb0e961961328a4b2101c9c38047d89ddae6658dfc2fa241515f7b12b8ca79c357bdf4ec4aa0c2c2d6721ffcaf41107d4ec3af4257850cb66c12d0f834afc9b5f4ac808e7d80773c7d420dcdaee1fdd0f2d62e55a40209011b30b332b3d0c14d4041d58ea84b247009dcea5973fc8a3cacc21f7aa99dbcbaa1037119632437119bcd9a6b18ed9ea9ebccfbab7287cbb29a78f07e708e996654f2294c3da7277f0fadd03990d835b3838becdf9f4901f9e8e7ffc272bce3672a4b4cb989f3df5fde6f1604adf28cce47f315c72cf18f697884170e5fd57ae1034712a12495b627ab792d400000000000000000000000000012926a5b6731e66599d907c4913385770f91b103e1b072e98d12483a688f4b19309140090185ba802574057d16e01335eedc59ede451c146aa72c0ae54e419d23a671e5225a15039543c3b1e342da8ba16ea9c7dba464f74edf637dd4224f9cd1eedf6c115dfae7363382984a8772162a8a210da403f22c009203136d80171863947f55b48c65591d2d2fb62ee6858c2ada93941ed7895f9841e9851201a321993090a369ddb839ca0979e7c8c6d7cac3ebda8de4bd7055bbb218b511620d4d17bd55a09090eb9872b456aeeadd7a743ad65a50fe854d7b558990d88caaa2a8ab09b07049d09012afb31d0ff976e745a1ba27500820d92d6fca5b13db5ff96b13f51905046a4d6a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e7d4ebc6b7d65c7d59842ad93ee1a54e63c5a0df0e01a692bb464e57f6bdbffb30901ee19685744894fdc7f1f2f607e43fa01753c2204690dee07620a2900bffa7fc3312ff8017186165abc764a218ac3636196d9cf8d989974df3f0aa8b4fc13a2252810e20caa0d35312ff9017186226275857c0de7cc3bf2c0006472738b883e0829a6e5637f90a80ba4ddcfa0973f09016248f1313c0bcd995cb8c908eca722a4cdcd3c5f48a6c6db02fe2cb03a3a81e9a165477af971c552412773320c4c567228176872b3328334eab1e5acaedcc39e3f8e5dc1d57e1d9822c549b057678f25cce7fa5fefa17163d25153fe1b2f6f994e0f5fb2d47a84df264f26e63210489eeb2f2a274f2a82f8c61aaac5dd3ba8244d1b90fd32f45fee5310090151810e421c5111fda876cece5c9056080dd972a726a1e4428ab391a8618337020a0181399ee467cf03c8cd376963f8607f6e276a92dd89b19201f2137b4179f5bfaf210171861360ba191ef16d883d699184a191dbf55c7408c1b2f7bcfa70bb1a0a9d4c2de2094101b9eafba6c4c718db591fe422c98b3d9eaab1212c4217d10b7bfa96619c2a30c94f02c3931346ad190736b0fab0139776905c15dbdeeba04817991ad158e3cb31861b82a709ff11224f2415190738f5088b1bc394fb62a4a22daf0dfc14900023e60ec6d4cd59dc14959dd0a57f0d9e1907383578bbe26d685cdd03317abea7e600424a52b0593c10dea4270f7bc57f80bb8825097be8fbcb15cacd4bad0b7e6ab7091480ff8a8e566b9f33f13a09377d12e50a69c3190739b50ff653f4135296911a4f49f84aca85a6c002906ef30b7ee66193a515d32bbf51190765a2fa57d4d6e2f5ae8d1802033116982745fd5e1c51a08b0fe48b1277fac114a4d81909b5bcfe5ac6a61e70b02e52f8be996f9e3e7909aaa27a95efdfa5b528c8c433cf5dba1909130cb5d61b3701314843fc1f3cf26e69dfe568683bf5300908bdaa41da1deba8a5e9111f2dc5150b02810c8f02faceef1a14eaeb104c0864a565534f17a5152ef9eb82dd72116c06808f9ca701e7b88decec88ea71710cde44a2b0496fb2ca008a17da43138b1a3911054f269485e4113f0bc54e4ed3962928dea4ed30dc6e6acb1d28f318a696286a31610a01e98bcf7c91021dec06def30d4da8391f52e36ee64adfabfaebb0f4e31a7d01f7111f24432c1c9a293bb476887074caee2e22a5bc98b2858d6b9412dc667d6d0df38acea1d948da7ba45ba8d119a64e5498b247feaebd8b739b8f0070e47f6cb2d361a6ae2e89f0aaf5de3a5b29947bc280675ceb680c6ec2311af0017186401cd861d51220a7f456584ea2fb9f6001d2ea4c0aff83f825deb6c6de173afeed3904325b0881a86bac268ec7a39f04bd59bfeebad1668b7be705b8e278da30a00a393b6eb780edda79c097ce7bc90715b34b9f10000000001e61955552a75fd44eb3bc8a520617e7626f867c9784b0934d33df13fb0248fb79c097ce7bc90715b34b9f10000000009175577d243744580e4d3eba6d001ae4a52ecf41915633aaefaec812c0b255bc0a016da4f25e21ea9a9da707266a06a38385e4f45a7521d930bf7ac684d28dfc860e090131a49c135824a04a04360f4ecbc6867c746f5ccc530ccb0102622dd71f56c56109013e4006101e0fde5109283e76e0abb0a6496f75a63c979ef7bfe90c55a20c8c8831047cae0f1089b2c416fc546ac82f94a49374c48a6ed2011ad43b0c71cecd92f8990edb9a2db4090175505f6b9b08556a1e16c1c50dbb8c161c3abac8f3f50613e08d71037e0ec6d74170f5f9d3e35fef0d2fba6acb46454534d4fcf1d2027bd50dc1ff77ea016718c670d3def0da26a2a44170f5f9d3e35fef0d0ebfaff93008adcb69843ec9881d6b2e2bcccc3aa4b30bee9ade9a0221fcddc60a011cacced5b6f672ebeeb7e99dd69158424e69b24fa9075218dc525b51fa4c99d029d1adada9f99f1e7b9405b6770849049e59e363dedfa1a73f467405a64edd954f4f0709e6880901d6bc4f049abf9c4b0c663c1f137c302ded9772d4f923840246a2b5c0db47177e0901257acae0efe704629e1552412a67ef32106bf2191fb3dfef4bfeb844d40cc503090117391cd68366e6f2eefeec472aea267d5ed97727327927739f800b924f5d0f5d09016669faf6484b99ccf6b8de37b06ba36ced8277d91d45ddb18926ceb91bad8c700901ad8ec34ec3708e06a44070e9f8f0697fd925fc70d8115fd03b2767c5b02562260901940fea0027879592e27dbd46f7ce4c6c799e2f04415645566c340c0d318ffdbf09013b1d910ca21f4561e426cd233ad98c9a2925154a77cebf3bc5d6847a3d91075b090167b6c29087dac56105580e5f677e349bb179da137ece1d2430fd75ebdc1b22d509010b32db0729a5182cb3ad4f86f2328502c7db024a3656a057b33153f096e6b74f09014835b724a8d30ad18af48320980d1ff38ddc9b3fbdee2a6ac7f9211d9b05631f0901b10ef22029d3990a5edc1775a038412559a0b8194d37476656809d5c84f387eb09016278d477fe67124d3d3aeb8c2f5d726e6cd285bd543a5f827d33c759335b55100901a70ebe30bcfec080f540e96cd54c2b49c7aa18bf7b771b6168582113804bae300901dee3974538ddc7a0866fe26c52a389cc4c96767e5c09d3917ea04bb3395f7c2109014a4d16024ab61163e4442862311bd0fe61b720678d02e03e095437404b4b03e75979861e6a2dad8a248b8c0ea6150af75e4e48b97c1882bcea43aca1b01662ba932e546fe7d5ade1b949871e090190869960b5bd7dcfcf9447b302cd99aee59d882710ef2a0a1299920f7f7c685d09015d6c16992385cb5d833df31f4090ee6825b2c8701f92ce0477b63ce12b75b862005261657374726f0000000000000000000000000000000000000000000000000e46f3883d5c3a2477bda1bbfb8924fc5ecd14869c2d2fc38500a2faba696c14c000a8f6616edf999f5ce01f1fe1b894a726336cb13115a59043494944a072f579a4d1e7217d66d3d43fab8faba493feb42965e80cad570bb29988aab46c3b6153cb00c89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6f47586930205713a6a363a9d06c15d0db51436ec49fd51b8de8900ae32c2b96c096f0d5c261ad9aff66480c7b22a49e9c185589b67131e8e1099d86a3536086637cfa17816a972b63d0679c935879cfaeb6453c7c1c8c9e853ece842d12de2a0d1b7dfde9c9617fba97871e6a3cdc0a9f60f66e0c6c0f1a17816a972b63d0679c935879cfaeb6453c7c1c8c902e961595aeb5c304f2849d4c1a759413a26d8c473fe769319a18e319ace9d3a09026e708a3dc48ed3b38f705bae99f8fef0f0c4881cc5e96537f32f6d703106b50c09016fe4a5488c3854e373bdba93eb4552bfb427e6951995bd65b2c3a55b156d23b6090292e278a79d3343959e9f5c390277e32d556e615e476cf0a108f9b4524688ac47a156abb6a3f25dccdada106191053b1cc54c196deec8507d19a898613091d6415824a6244a7ba6212ee76a9d0a7c6c904a82f3e01b09015aaf9b799076012479363653434fa93b89f2822dd6150e4b56377b207f26fbbc0901f826346b5d717de99d1774a11e6b897315c60845807efda369ac20905b3f64e009012ed7a51071d0844752958bd1d67971666340bab5f8fd15c2d471a0fde4506147a17816a972b63d0679c935879cfaeb6453c7c1c8c9677f8ff1a98b7c11868d0408a7f9ba3d523562b858d34affa57ace4e74caf269a17816a972b63d0679c935879cfaeb6453c7c1c8c9d7219df5808c4bc0854d28b38fb26bbded52e00a9ba02dd85ef8285e6d0c6971a17816a972b63d0679c935879cfaeb6453c7c1c8c91749e7427159f18bb6e298b10b3679b956f41187a25bbcdc4b9b0daee8e3444c00697066733a2f2f516d556a6554533668747756766b51766d6463556372786165f0682fef72a02e4f48fea058e5bd83e1c82630d0db2348003a7514d343b80a61006f665178793452326e636d566f37476f436a666d482f30000000000000000000b589cd787e4d0d1d47e6b6dc38a21581d7a2d99c0a2a61a4db2b0b836149ff04090123f933b221f2747e4f696debdecc366a1de91271d188a260a8215ef3092186cd0901460aedc9249b63a4a2971178bafff352020838fa1fb066b099ddef723a32d3e509012cfec83d80457e553b6c58f546dd5015923eb928e9e020bc002703a6c47129b50901ae2f0a3b41bb84ac766d32c6615da315c2323727e715c6ca7eaf356d3da269c109013295ce215f546349bf345f5f7f8406a76b4a37c24167ba851c5cf449de84b6a03904a4a455de4348ba4bd574f6eaa9f4908c97ddd69ae4939bbbcc78db3a6d2589821800363d06ba21042aa1e8dac60805d1eb0ec310bbb4aa02e9c61feaf4a8879215462a9719f06e271c8d04210182219e1d25a204efca6d46244cce7ad7d2ef46033c6ba0583cf38098dbec0b21040fdd2165a6de4dc6ebcd94d5b43f27e0ec3962ac378a92c79cab9df11395fa083c1d3277c3be9c5922c2c22b62ce831b53bc81395387a23aea94411ae8d026836e206a43364996812a9d53eba32a5b22729ca729227610346e5dbad9b528bf307acda1e21df661b94eef1a5405710aadaf463ecfc73ee1496e0901f10404afee7818eb073f32117a11d500a20c73c046a0e27b52f453bf11beaa46a1a47fd53ccec8fe0ec67794aea9e3cd392a49b88e2109690fd4953c3057fb56444aeba5a904b21a5215cf37c4af87636f187b2b38a178bfec5e4693aee12dedff44f40e5ccce66ddb1c7b9fca3d919f48037bd36a73eee0c506d169bc80a4875fac3ffa2e9d38c491db0901cbac5c7603ae0a7ff05beac2bc7946663fcf627d46749c9a61436fae633ac0520901df0ee468c7b9b9c10d8b28697256da3a2a13433ca96e9d30f22ad3495553b1d2a144ef12d4b87c5646869b28e6b62e8aca975afdfaa29734b9b4680e31e370be9fc36c9b54e6523c48935f7740c3108bc03319ecad296c01718640d645e474f86fe66f2c63f0857e0aff27fb4ce12f94d4fcf320ef56a21720d163090190b19c1f41dddb2f54d53ad0d8f961ec9a866c37b50141da2932ef7f3eedf69f59524d10dbc0a39e7cea39c8626163e80cc225e64719f6c5b9404107acd41f117f495f1157516b47e17a4b8b2165a6de2b483b68e50ca45c31cb92e1d43b79be414335d8e3ae2d72889153d9bd4fdf0b6a31048c2739500077c1fab877047b94ce5b6df69d1a164a0f1164ef29985f833c0b27a6a64747ca2165a6de2b8c838f415041162cdf3cbc028978669046f32675466b835a337dd17b26c742400901313603fbaafd9b9dc2ee76867de15c515ba8a3ddac50b606c0dfc9ef3e9bdb860a014be94257e76c4c0957240e07b32bf0a494b4e72b28ff32e6c51b5660e705ff99313b890171863f8296538c0df71d959117b23991ab81cbf8793b09a2818127cfcfa4826adb86e609015b05d98d465ff9fed32b201bcff0fbf6a2406f6c98dade1505a29b0be6d96630a17163d25153fe1b2f6f994e0f5fb2d47a84df264f0c66ab9e09010b2107ae09010019933f090108afd9f609010806212009010133ae7409010a1ecea20901068018cd09010c64307509010669606409010b2a8fa809010601f0e5090107b21d038901000000000000000000000000000000000677b0eb09010c41cf7909010b8e7b8009020c2c70740901095a7281090109fde82c0901056783de090100579c9a090106bfc71209010c377173090104f1c34c09010077ee580901007444c9090200e76a4a090100564914090106b5d97909010019a3de0901036d2629090208086c30090100041aab09020c67e2ee09020766c88a09030c6805f7093704faaceb090200462b3609010ba8f6710901058faec509010b533a5a09010b6f0909090109f8fa190901056d73660901073f475b0901072886a6090101b8cf1009010264c0440901000290b409020c6709578901000000000000000000000000000000010c09638309010bfeba32090101309dd909010a0b6b9d09010c6808ea09320638faec090106106b0c09010a3b7c1d0901056d5fe9090105ddeaff09010071973209010a17304c0901019ca8c809020b61f03b090100676af40928001478ee09010bd9a6fe09020005e4d3090100327de70901008c6dcb0901004dcf1609010b07c96009020669c2f5090106706ac809010bdbbe9809010561870b0902003bae2609020c68079e0901034021c009010660d93d0901066f19390901032648dd09010aed18af09020a400f7e09030115cc6f090105d6ead3090100e5558109010660ef780901031ded4909010c67fddd09010520bbea09010c67de0c0902086ab54c09010589a7860901070e5651090106eb4b2f090109f9d2270903006593160901001109cd090109efaa8709030b209e2a090203189bd109010c67df880901000a2b32090105fd971c090202009826090100445cd0090109cd4b3a090701c197c909010b4076e1090100053ca909010c6807a009350bd9a3d4090109f07b6e090104d18eb709020491c84209010ba9972c09010b2b2f0509010ad6dcd2090100414751090202ea1dd1090107582da309010c67e4750901074faf5409010b4085a509010bda074b0901029b6ff909010b4bc7a209010b0033660901002a5be50903015e042409010b55111609010775e475090105b091920902002bf77a09010b8f00c709010289e0f509010b39f2b60901060b2d8c0901001d996c090205fcd07f09010046488189010000000000000000000000000000000006aa50d5090107cbf6970901000d9d7209020bd9be60090104e9bb72090106103a1e09010c67db19090302a8b08f0901032bfecc090109cd026a09010c54a109090109c2026209010c22df910902001831a1090205d2c8d50902002689ca0901091fb83c09020567809609010bdde3c709010c677e4609020017b82009010b2ab89909020bcff27209010173ca720901000fa0e2090101ad82dd09010bb3da6a090205a70bb509010b85934209010272cdba0901000e553909010ba8ff2e09010c680481090103fdd1b809020c526e49090107a89cdf09010b096577090109f9c5a409010829ef7b0901002556e6090100079f640901035440a4090107b21d06090205e37a1509010a16ca5c090205f310ae09010ae53901090101af593509010978121d090104eb6451090104f7d30a09060bee7558090100001fa30906060fe9e3090109daec820901023cd82409010010500f090100dc86c10901000f844b09020aff4bb109010afc8d38090100107676090106c0b79e0901089c8bd20901057da16109030a1625f009020233cff309010c614251090103e73810090109d4f6ab0901051778c409010b409e5909010610117c09010389a099090201d1637509010329bc3c090105554ea009010055bdda09020035758e09020c59cfd9090109765dcf09010b77065509010304597e09010693d5ff0902060f661209010c096e9e0901074cc6920901041362c609010c5efeec09010684f20309010bc4c98d09010bc4ebb80901056789be0901031fe67009030b5b499309010a0f25fb090106c0bdf809010ad6158c0901001d5ebe09010b258a7c0902003b5382090103266c4609010b8566d60901099c928e090109f4640f09010ae5292c09010005acd009010860ce950901070e64fc09010033df33090200c29fd20905002745410901065e5d7e09010008644509010bf29a71090300d25ae8090201a1100b09010ae0313d09010a6bd8f409010019f998090109e092b6090106b441fd09010326a3130901005b30060902000003f00901064f91be090101e5a8b2090200001fa4090309a108fa09020c6143f90902049bdf030901002f54ff09010be5f3cf09010643c35a0901009894240902063fcff80902087713c309020b7e71680901001bbbd709010babfa4109010bd0d3a5090109a178db09010017e472090208f489a9090105ce03f8090106eba5b5090100782698090100657ec7090109d42ca6090105e80d1609010b8d46f109010b185fb9090100014ed609010401a1ea090102bf6e1109010848de0e090102f7ea4c09020000f821090105d9f3040901018116d109020ab7244f090109eaed9a09010554bf0b09010c680484091a02a1a2970903012b60e609010a293b5c09010c67d77709020c67f3920903009d1c46090a031392fe0901000429de090107f0739509020c6808ed0931025b4ca309020babde7109010bcff83f090105677ed109010009588509010c67ed1009020a69dc670901036517b009010c67de1209020bd007bb0901088ae94b09060b197ff009010577ab5d0901006b80db090205677ed209010bc7af2509010b500dfa0901018b7176090a0b0f7e6f09010401387209030961737509010c677e490901003ade5f0901000bfe3b0902000b78130901065d17b70901003e69fc09010644dfe30901079dfad70902086ac190090106339b8309010c22f90d090104ec10ea090101c9dfd309010b8d5da709010a2a8e080901003bcb22090400111b3a09010201bd1509010445f9f909040bdb22f6090109310235090103f4df31090105e81baa09010a22e6aa090101af525b09020c1522d4090201f129b30901054756db09010b6f9eaf090100fb09e609020c644564090105678be709010a0502ef09010182b94f09010a6cb63909010c51c6bb0901021f4d3109020c2258a50901008abfcf09010124ab40090109eb2a2f090204ebff3609020b106d04090103a75f4c090109ff727f09010b2b256109010b61acce09010339be860901001fb231090105073d650901090adb6f090109a4f89009010b55e934090105e73d080901005ea21b090109f5f78b0901008b4e4509010567820b0901070e69cc09010c6809ff092f0b8f6b4609020b32ace109010207a1f8090104b4d5ac0902001eb0a2090100146b92090600f0a9c709020c6807a709360c15164e09020000b20f0901003575a5092503fcee1e09010a4127e4090100c6a402090205b0a97f09010064f1a4090205678dc909010069334a09020b955573090109fe7a6909010b2a989c09010687a8e7090107a09c9409010a81c1d509010a5a33bf09010c66bb1209010a32db290901003515870901055f03770901019cd93c090101571730090105678f7d090109cdb2160901000923c8090100e7171f09010030f41609010b17c7d90901054dd2df0905048d7abc090101538ff7090103ff66e709010938ea8309010000002f4201e5111d61f778000c515cc13278fc6fa250000b20d5853902c5a0525826eb00198ea73a01f04119e726ab07dbf5d1323eaf68e46f0008061fa53927c1250c1e32fe0133961d32287da4bef1000a1ecb9b3a06b5ec39cf3965067fea23323b13b95877000c617784322a4cf9fd2d0006625924322a9a3acf63000770e63e3ab017421402cff90b2648ac322811cbdfd90005bb81993a16345d84fd7ba006771350322811cbdfd9000c41cf8c322f58aca323000b8e6e9132d4e04b3c360007649f72391ef1b2e7fe60000c2c69cf3a0743da7c0b1c4708181dd232285e5fd7920009fde3c73914fcc59bb696ff056747893226fde45ecf00005797e4322a18d8824e0006bfae4732356b3cedf3000c376c6d322811cbdfd90004f0967732db65bc758c000073e7b6322f67162a2e0000743752329f7f3d0eb5cb00e75fc533216ac8e375c000561d0932f640e036610006b469933255aa0fed21000019a12d322f67162a2e00036d11ce3a0ec9c052e1baca0800f85c3278a1f544e2000003f9f9324df4f65319000c67df913251da5cb3af000b24ff1939354a6ba7a180020766b1ce3271823e01ea000c68011e3a343b838e24f88903a766c73a01435982a96300052e733531e35fa931a0000046273a322830402975000ba8d5df322f57dc0560000117fee83a0ec0fd33aa32000b44e366322a6c38eeab000b69876a32270b2fcbaa0009a5ad6b323c2d72f73b000556cf6a3a3830032768a0000bb23f913112309ce54000073a596532357a7712c10007287b3c328dd089866400085e6193312d79883d200001b8cbef3229770747e8000a419af53942af372e6f20010264acf732bc926e31bb0000028a8d324bf72208b0000c67077b3a03761b910ee9000c08b8b83917642f7a93e4bd0bfeb0de32c4e6e72ce00000b2c027316d23ad5f800001308cce39124b95997c0aea0957158f32285e5fd7920000903f65390793f3c34e50030c6806043a2f7a8b284b0d220638f2e0323b12d6d9110005d03aba3b37b810daa23fdc0a3b71f539019fdbc389019c056d601332bd2efc5b7f0005dc81003226e74eb8450000af040e390728a1bf38f000007195003b257c71d9d67eae0a16e2143a14f68cc320a078019c89ca3b9a6e7f18365f3902d458a031062f3f95a0000b1d051f32277d0a778400006765e13a26080a264e369000043a133a1b1e27620155000bd9a58732a7db68ec68000005d782322a4c295f6a000032762a322933aba83b00008c61a2322bc5115f26000c67d1c93a1eb22be53345000014300c3a07448a4b8298000b06031e39065bc1c2d7315e05d2adbc32270b2fcbaa0006604aae32b1fee9a95c000bd4cb403234cf082c5e000b951344315af3107a40000561873c33e7dc91cd9228003b993c324dc4ca1fa4000c6800363299e1cdd54f00033f6a0e3a056594fec7584a0b951582312d79883d20000646b60d3a06bb6eb3f15c15066f0be832356e4fb5f70002daf38c3a07231c46551a4a0aed136e3a0643f444b194a50a3fb741326aaf505b940000cdf3843a07cc564ee727180594fcb13a0139dcf5e45bdb0b2850a632b1912dfe130000e522fb326b804190e200065937073a0820accf6a500002b4820c3a2bd23a842363160c67fde23aa03a8b22428f5505209e92322e72af2b4d000c0b3a2e391572c8c51ff82e086a9b313a523ef0b8932d00058884be3a1772f6cb55239806c64f943226e74eb8450006d5dc133a063eae9072467b0c60b8d93903e28a86bcb55901665829390e3b276187c40009f9d0de3941b4e2f9cd009e00658ca03251b4632f30000c5268c73247fc441bc0000010fa7b322a6c38eeab0009d9f5e832715f4b59ad000246170c393822042b7380000ad0d95032f745047b660002da86213a052f09f7852cee0c06e26f3a1710a4c929f0940000214d412b85e64d385c77b30009694f32297636aa250005fd944a32b1d618f7a300020083183a08adfb6136a4b2003c28ac322a2f8bf63d0009cd3d6d3a0101033d331c0001bfacb0323744c4db25000b3f3b9c323d37e08f8e00000532c6322f67162a2e000c6800383a32558ca5c52da10bd9983332b2aa765d240009d628a0322d910c4ed200041209b03249a81d9a880000001cf609020491c5e1323efe56dded000b94ee213902f5d84a4647480ad6a75232fa28e81f6b2f003f05e13a02164b8d282d0002ea1de13236a0e12586000678bd583a04b4106596d6ce0c0e701b3a3cd5042bf7fb20074748003a0d0393910a8a450b9bb088312385416c274a0b40549b3901a305729a68dc0bd9f8c63a02fb5d0e94eb76029b6d39323df73d9e49000b2daa043a13d3fc726a7b3f0af9e1273235e3ae6988000029fa563a02e02b74baa996015dd46f32fa29b8bd2e2f0b5506b63a2421dfc3d1f5eb075444923a037a2968c32800056d1af032e702fbc5e0000055ca393917968e9bddd0080001fea83228203566e4000b8ef68e322f57dc0560000288da51322810fb4216000b39f2c1322701a401500003b7a7853a0d39d8902fa80000066915324dad8d947e0005ba36213a21fb6c3f63a66905c643581102d106aa20eb32407fe232bc0007cb5f9b32c46d7b5a6100000d9aff324da9c2063b000bd9a3e232278e0f90ff000405f1f139037803638fd62f04e946b03a01df501fc3960005d038d13b30f58adea393940c08153e32e5bf87528b7402a7fb26322770127cf70002dc122c3154536ec440f409ccf4583908d0533492945d0c526ac03a01b09b3908ad0009c1f0063934320e8087ff610c1b5e6732f8cf62d450000017e9004101633f21bfaab53405d2c72d32993ddafd1740002678f932271d64e0f800091ba0e4324753be443a000567478e3226fde45ecf000bdddebe3235ada42c9700034a6a64410122129a8a42fe000c1ad0a93946b350891e1386000b1a62410dca9095f543bb890700171f316d23ad5f80000b2ab8a532d9bae8b7d8fe0bcfaee7322f57dc0560000173c42c322f57dc056000000f87383a4763879fd9270001ad5872322a6b6850e8000b31a6333261c4c82ee20005a709c532d114f29e1f00062bb81f32323f7f4bc3000272cc643a04142a767bc011000e503a32356a6c5030000ba8faf6322f58aca323000c68031332ce2977ddb70003e179023a01ea112ef75f5e0c5245b231651e854f700007a7e510327e36e2e51e000badd1c5312d79883d20000b0948c6390e232b7f90b18009f9c0cd3901c981369935a8081d25853a02db4480c5136700250cda328b033b890c000007995632cb246690640002695eb43903ca5465a9e85207ac1aa83a02748344f70b0005e31241322811cbdfd9000a16ba0a324db2e87ca40005f24566322fa33a0b65000a3f3374322add966f10000b8f8651312d79883d200001add144322a5c3421fb000918ccfc3952be7de57809690420d23532270e12e4a60004f7d31d3a01e3662d9197400bee5edb32942c4198ba0000001fa5421fb4f598aec9fbc305d034883b365663bb27bda109dadcc339023b57fab9abc8023b72b7322810fb42160000104d7f322a5b6384380000dc837b32356a6c50300006316c8839237dda214e6008000f702d411c85284fd99258aa0c680a013a1ca575c01115000aff423f3913d173da3cb9ee0afc54c5390a1dd6054868b0001076af322a5b6384380006c0a59e322add966f100007f36510322811cbdfd9000559058d3a0105044d7b72be09e8400c3148c2739500000a15e993390adb2d23d4f1c90053bb7a3229606bab7d000c5dd2f5390496452197357c03e732933231bf70bdc70009d4d8633911a601d552c7be0516fe1e3b2a4015f26990c60b4081df3a47fd952fef7c2f05d036aa3b34c1a6c9bb52fd037490e132b4faaac71f000134ba45322c199bd1750002dbe764328cd77d63f5f105552739322f58aca323000024b54e3a12c21704b811000000f5d1324db205fd3e000c59c9583a23f10a92d0d7000c6803153a2223f0aad3b31f06648fde4102fac121da0b06510b76f9c23a1bd716e4db0900030430af322a5b6384380005d030ba3b2e3fba4a4bd9e30c096cf132356a6c50300006b079ee32270498fbef00041358f5322830402975000c5efd2639dd8b4acbc77a1805be472632270b715c550000002a3b39c060f02190c8000bc4c5d232942b70faf7000bc49f86322810fb421600056749353226fde45ecf00003921e44102ac9ba10837c000031fb92f32718ce7e674000b5b327c3a01a5b28f1525000a0f1880326c95ac800d0006c09a98322add966f10000ad48e973a0d0f9cbaa2203a095834d5411f2178e1a8ab7001001d574f32356a6c5030000b257bc13912ed745f2db6c6003b539b31940307c2800002dbc10f3a03f7f77b2d9cff0b85453e32fa29b8bd2e3b0992c0663b1d0f4231a8990009f462983297ff1385f2000ae4da1a390468b4d98d051c0000745f3229460a76b00008115b7b3a47d8712a5b7f0007014da33226e74eb8450002d9a53e310a1443614f4005413e8f31246139ca80000025e081324df425b5560000c2964632b33c07301000002728623274f1bc97b80006293bac32270b2fcbaa00000861c0322a4cf9fd2d000bf24cd1327160dab3900000c2f2c63a12b83a3fdf3b0001a10d4d39d88c554f4c22000adfd56839042a69f4f3fba00a64d62a322a5c3421fb0000196c88322e90a053930009dc4dea3a0f35b653d0b87406b43e2532357a7712c10002db8b1d3a052baa2d561de20a4c1bcb312d79883d2000005b2e2539333fab2c9c7c6c0000028e328401ab13430005b3148f3a0ce50f476c3e260c355294390a9f639fe0e00101e5a2bf324daf8242520000001e0b41019cef1dba180e34028ed6a039018a0c4092045c099996f53a037afa87bdd0ce0c5dd4fb390333d8242113d502b6623b3232e663e7c300002f4d7f32a857c9b986000be5f07e322be432833f00051223573235b6418bc900009894523a01191a09bdfa00063fbd9f3a012e2a4d79260008771082391179237adc68440b7e6ca93269d57a4088000c515cd039153b43d630197b001ad4053228210604a7000b94459d3229561b2f22000bd0c4be32b911de96b000096b03c632277d0a7784000017e2893273362bc8ad000a4b3fbb312d79883d200004461c2231f5904616e000070017223901ce692d85d0ef08f47ffe322a08981ad40005cc9a453a054440fd31100006eb2c8b3a23d6a64b3bd30000781b5b3a0bdb2f3e28709b00657a0d322967cd231a0009d4263c322f67162a2e0005e7fbfe3a45aeba54a0a7000b85f152322b176c3a44000b1856dd3a21c930528009ac00014c3d4107f67b64c9c589c50401050032abab044e560002bf5a793a0b2f4987b940000820a29032270498fbef0002f7e7c439226a8e88a3cc460000f5e03a2402e3036eac0005d9ce71322ced9fcec700017fe73f411a60757d070cf2000ab2c07232356b3cedf30009eaec2c3902a8c3eef4bdf10536bab93b0bb897ffdea5290c6802073a18b53e98fae366011911c73269bcd814a600011eabad322810fb4216000a291784390398664f09f3a70bfefcb63a02ba5971f628d600b1e4593910bb4b0ad579260c67ee413a023175f84aaf00009d197a3a0985cb050e8a7602c0dea33242a4c825f3000003ff353229770747e8000b1fffae3a04ccd605d8bb0007f05a5b3a0149cead855e000c6803193a2e8727771b48ff0a6de00d312d79883d200001f8aefb326ac4fd8cd7000babb53239bea2a1819f49e20bcfaeef322f57dc056000056745ac3226fde45ecf000009413d322a5b638438000c0e77ca3a3e9c85ae3d7ea606f90fb43118a5981233000a5caff431766e2fc0f63402ce87dc3a14ae70a14d97000c01a96d39122116f028465a0bcfaef2322f57dc056000088ae0f032dc59a05317000b19584b3a172396df85cd780544f49932270b2fcbaa00006b60b33a012db205b6b800056745ad3227b12bf263000b5d01403a075ec9e69360a30b4fface32372b4625be0000f97b5f4207212ca7732656000b0f10aa3905907cb88de7b40400b0ad3271e1f57a1900095fdb52323513db4e6a000c1afa8f393f9808a3ac5731003ada48322f57dc05600000004065422a566631615bb5b800004440324c2a9c9ef300000b6e9c322c91ef7fa50004f62d423944d0e9914ca00406589ac2324a872ada7400003bec053a044295fed86f030644d56432356a6c503000079d46e43b09e6cb6ea4eff2086aa23c3a2af736c9560500063336033a08ba03e4cd19000c22a54d322811cbdfd90003b30853322d858bd6a40001c9c26a322a5b638438000b8d5454322a4cf9fd2d000a2a713532b5f4a848f00000204dbe32912d43f9cc0009e8ae443148c27395000009e8e55c3148c273950000001113e9322b8da1817900018197123a04d45bf4dc3ccc06da451e31020a1f6a7900034a9b4d3a098577d4ae7c000bdb20ed39a5c06a979d684101572437410140500ad528f01f02a835dc322966fc85570003f3970d3241127f3e350005e804de323b2b84f0b5000a22632a3a070aeb2b01585705e8cc8a391930514375200001add14c324df5c6f0dc000c15185432495f5531120001f11b9342018e78b1397ed9000a60083439012d908be563250545776439277c14d8cc4f7c0b358554390843669f6bb4e100fb054b324bfe9b57d10006e346b04104dca0ca6af1c8c50567493a3226fde45ecf000891af2732285f3075550001828d41322fbe7dbf9800092dea034103810f6985c940000a66ea4f32b4e297a855000c517d543259f4be52f500020717fc3a0cc93f03899a000c672eca3358e0ba35b3000c2258b5322811cbdfd90000131b163a06bdd7efdb2a0008127dca313691d6afc0000124a56e322ac972a1cf0009eb1fb43a0159195a41640003b356533266b5a26a77000b103ee939064fe25927e76f039acc16322701a401500006107c5b310345b9830c0009fed9d7323a40f7389b000b61a0ae322beadb349d0002be170b39083b2ffef84aeb0ba7419d3a0e35fa931a0000001f7926329d5411b6b40004a3dbe83b1e7053e20c7ba508feed23324ba179dcbe15099d6cf53a01e664745bc5020b55d8d0323c28f4989a00059174363b072f2bcf9e07bb005e825832285f3075550009f5e22432c17732f229000057c1e2323ba81b62bc000bf6e3fc312d79883d2000056747933226fde45ecf0007016e073226e74eb845000c6804913a2ca0e536ab5d910b8f6b563a039bbf383c98dd0b32ab86322beadb349d000207a211322f7720ecbf0004b4a830390149c21822556400011e7732357a7712c1000013e14732dccdbd29320000eda10c392ea24f4ea033780c68020b3a3348659e826a4a0c14ddc033ed1b17a818340000721f3229596991f000003558e23a04c43bf509890003da1243391069d0b428cac30a410b2139027cae0e8d70d5000dbfc53a05b7b60044e80005aefea23226e74eb84500006145fa32bb77a26489000567493c3226fde45ecf0000233c193904bb4ee9020ecf0c51976739012f0b2ba3a0000b90564932dc877e70890009fe54073902114e1a1519300b2a91993a0104ae509d09000687a60e32d41d81fd4800078f11223251b4632f30000c67d1d73a1e66a2ba70a8000c5268cd3a13a79dca1b67000a78f227390b3c83fe966f7c0a59c3d0322685433432000c66bb1d3ab9fb739325a5000a326b7132730570882000003499fc32ac97e6125400055d1385322f67e6c7f100019ccdb439d88c554f4c2200015704ba322a6b6850e80005674b133226fde45ecf0009cd90283902f25cac4379e4000913ab327db8ecc83c0000e6ba96322a6c38eeab00002ff8bd3ac38f22a3e60a0c0b17a27e3901af152105307305488c9c32f1e2a3064500048d38093a025f94052c290000c52e4a32b433aab01c0003b031e93b0ba92c6de0f24c093898c9323b9b11868c000597bbcf42397f022f767c7a7c0000002489010000000000000000000000000000004d070a5197895200000000000000000000000000000054070a5bd9006d6ddd63ddd4a2157b38227c662e6d7952854772e2f3579dfb6bbe6a81973055070a5bda000709fab9fd95a8a0c200e329921b1b8d6800f788144e4daa7e50acde6057fc94070a5bdb008ffe7c315ac533335a182ac2b299acffe92810b4d5a6f3392b44c18bbac8e384070a5bdc0000f66c0a665811bd0cc14d319339151f8f59ef9ce4205ce2da326a8fbcde8512070a5bdd009fed2925bae3fdcc8e876587ae7d84a49bb7b05a241c01ca8c641ccb28e27fa1070a5bde0056a07be9babf358e6939609d16bdaaf25d0d7d5ece9e955b7e61e0fcbbc512a3070a5bdf0009900c19f7270a23399e2a1cd7a18623ba071b7d024853be75ac912159ebf289070a5be000bd852a8b80acd256fd209287595c4a4b487c82d16bac6a306b9ade6148f8ffcc070a5be1009982bf903474e958933dada56128d7003252a71340d03bd2a93baa1f47f7f4cb070a5be200377be92ff2e22a80607b9682548b57db6a1ff7b4e853f81d79b1e06a8464fc97070a5be30061bd1f1b93743d45db854d7f211309f3eff323ee728152b1b97d956f2c4d3823070a5be4009290725faece0b8804c81b21f62a92b06acf54e28ffe8bdf870aa2ddb7e09130070a5be500697b1c38d6b9582d41b8adf4a41a0ff6c20e15bc81c3899db7a61cc594f448f6070a5be6002efa65cb2ac822400156a605ab9a435e1d3d278e825efa3f2435cfdf652bedf5070a5be700c162bcb089f06c0cfc7f00e2e4863e2badd3e086db45acf08b852b4e5916208f070a5be800d8839e92cd3f6b32e5db6dc273e928e88c3fa42e6aaf46d0798640745bda4712070a5be90074e96903c0088ba0a33ba5f1f3b0df345dcbf84d5a1ab344b56961964430218f070a5bea000f4ffcffbdcf3ede64895966ff0004b664165bbe0c5ac5877fa9a2004cf4e991070a5beb00f9226300947636f58fbbfcc0b2ea48fe6b8926a42fad01ad8bf17222532377b3070a5bec00144e5d780f5e8e63ab026594b2b646aaf4331c29c2aa3a98a8b2a2232586bbf9070a5bed0042c638e91fae55af2f7162c90be63d81e7d2a8d0c9c9b0e188566b1ef0f6d801070a5bee00f856242dda26db04d3bde02025e471aad0ddd5e990d3e0d56f0e963503c03ac4070a5bef005b5ecbc123ea027d3fd8fe859b92ea983a6bb09d02926cbced73163d353188b6070a5bf000c3574ca2d0b213f6580d8f2a4db53f9cf00cf62bc1cbf37bb5ee4aee314f7fb5070a5bf100baa903bbb707977a5dd902a116c217f00a5f5a3ebb4054c9b5912274d5d1e3b4070a5bf20013c90febf653fb0348d9699ddd7d8947d59ddb1bbc32035985a47cbb24a2be60070a5d68007ac4b937f9565187f243c181707b57a59fd1f5f39987b15b33419a63ca72da01070a5d690072d1ade4dba274d2e1ad9455a658036f58bb8e6949f61b8e20420ec2e9d61ec2070a5d6a007188ebb23df5cdde059cc951110a7f73d528063c1605776c43b0eb5770d32928070a5d6b007c0fdbe358890e7bbabd96af73caed7804a97cba21783a050b88674cbb567a65070a5d6c006b4c52b358482aecc9d32e881bc54015fdf330b2c8e9dc2eec54074d684dd39d070a5d6d00b94b9d12fd4bcb411a316ffe858dd56ac6911d118663cc99fb84eafdf7095937070a5d6e00f1c1ccb97fc759e38fa46bed43b4f3be2f317cc73ede6e3143f23eb853e06b7e070a5d6f00e13d13242407f1de4f35d773c34319ff16b3689e44ceed365f6cd63680c3d030070a5d70008c29eb8041bc65d83ab58c2da3211baf91181436a3b63841ad747622faad981f070a5d710090303b47416508494b02ef5bc09d8c5ebd82aeb714ab5dbdb5d3ec2daa8ee5a9070a5d720031cc2923a8c7151887f9ba4ecf0200e239f34e1069e9f965997ddf0cb53b5d22070a5d7300f91229b9061141167361f7434fd4b72bf0d3e96e780c07a772f229e8b92ebf3a070a5d74006b4df17ac3c6cf19bd6c9629fbf2da722dc1170911a1773e6e7893135064f1c9070a5d750097ca97d150a2073e39dc94f8b0d9a9a6f88420fb532854aca77603f1675f37eb070a5d76008582c2e971c1b4a19f2f3fd9c3f4a89e36894a60abae8c4c8b2522027cb15338070a5d7700dcb00fc263f4cc921eee1c92673d6eea3d0b2ef62973104e5e8578ff34684204070a5d78009246e2bfeaa6057a6094f47c3fb865dae8b3c37a14580fcd3b1077175be4052d070a5d79003365ee5d0809baa3b40b430e00295269ac70b3d8a7cf9a7e1495ab27bf27b3c4070a5d7a00c458c29d92e8a8f8794f6feb4cec8fa54472c8b3c3a3a3a3a25ff76f657a08c1070a5d7b00ee18964a3e32fa71b872c951d43e130de1401309ce478cc0b5de678fbaac113e070a5d7c00c90a52fbf38019fafbac330dc28cea28f37ff93d139af7db00f9437ad1c0b042070a5d7d00fafa57de19eba9f28dd376ca2a6536fd93e85c7d833340801e060b5d68959def070a5d7e007069c6eb8fb74dc61c32f9a7a4ee845ea4d2ffd3e64d411e3bd60b72cead5e37070a5d7f00022beaa918accdae2feec5f9237a2ee83d4b82f265ce10a24d772774a1a42400070a5d800062a78e575d55449a5c44085e8d183504e8423d19c22de694a52e50bc5bb1b082070a5d81008cbd7b1bf67f3d8bec0a0414099c3121ec834fc71571065f15eae86df2650ffa070a5f4600d4850de787c7f43b65848bd2704a33411ddaac19bbe343c76f36fbb226c09f7c070a5f47008bd4f9a36128af6473be2cc7f3e6185df45d207b9eb375c4b3896769bb7d9395070a5f4800f8f2044fea300a28e9baf449e9908308b7cf41cc3c94207c7c2cddbd80694a21070a5f490095956db16a70150ea5cc2dce87bcb0bd142a8de3ab43b76e1be7d05b6be6ea09070a5f4a00023c43e4072d5232341c2f8f7105118e040f75b94e8d8514d1897c0d4cf8f374070a5f4b00cb2355cd0e3da87b2fca7f1e10bf45ea7ff04b6823728cfbf3ef28ed50b1b9ea070a5f4c00d0766acdca630024fd9e93dc0faff11e4088f53382b9ab594a3e0216fcf8dcf6070a5f4d00d4af8767239c07c84c2d913447ffbbdd2eb208a6442e2b73b1479ef8052f1c10070a5f4e001031fc14a65bffde9d99bd4217249e0702e3c1292a363dfef4d0df3c87f646c9070a519800040dfcda364264a10250a8351d85760e5f1c792e1b9db6bc5bd1de2942992163070a51990010a917a1b1b18c06b4185c56a71d7324185a40157e4946c2a220c1b8cc6b8125070a519a009143965d07019d59398f22ebc20bd7ec5ec20ce33528047b5f786329a4d37a16070a519b006c01d762f30c93b4c3013d4ecf8a9949439a474ccfe9fa2ff1355ca2abf0a303070a519c00d96f7c034e15beac5793b085f44ef0651af9a93a000a7a4b76b41b951836d264070a519d002b08d63b52cfb758f53ec40ed6b8336fec91385f9314120a481870e9ecb29ea4070a519e0082c62bde8e27cb11b1830685f112856273ecee17840f761b3c1f8d999d49d6ca070a519f00e18edf2dbd13501903870e36b56b5a567aab1cd0cef198c4fba92c2c834c4641070a51a000ec127887571a1cbed8589954e486bafced260a12cc4d64270eedbebc8bb3ad5a070a51a100007808b24cfac2044ffcedf329826092efb7dad9071a3386e34667a8c6e207a9070a51a200ecc041d8572ec21390650cd1cac935a8de9b47e24097071cd8d867f1cbe5db6f070a51a300584739c60fe19e4be6127ae4241430e63758e1b8dd181be3ec1127561e5deeaf070a51a400561f4aaa956190fe717f30152dea97e9a79ccd8f8c5b2641e36bc5abf578303a070a51a50083dd8255250064311b6cdc7447bb2fe2af5734fd9a740e2f7bd7c8ece9a85ad3070a51a600b6a3cc5e298d2d526ba7d457f291f82e1bc23374e50dcd30e89039febcddf767070a51a70008508bc8161c992ddf482fdb73912e60937b8b8276e7befbdd4be54eb506398c070a51a800bbeabe7a3667da4b51a8b94b8ed9a3fcbdbd5b26bde1d58060fe49dfabc0fafa070a5bf7004a280ec902ab384c80401403f27f293f9fb9b64f3bf0312ffb380ba16b32fb25070a5bf8006d20d1f212370912efa1d590db2e560c18886f5c2d74444b3782ff5b0ad86960070a5bf900e35b3c32ee3db94bb7360466f310a021147325bef615b7ebfd4b244046dddee4070a5bfa001e0dbc9f581223db8c0bc92de7823a7c60f3f4c87062364a4f359461f49578e4070a51b489520000000000000000000000000000005404cd9b8b194faed20b243cd9d10b00a0dba8c0fbbba183fffffffffffffffffffffffff95aa3ba0c094696d112972607071247ed9ddf00000000000000000000000006f50b180a44533df10180ffffffffffffffffffffffff8346000000000000c05cdff5d0a500000a44a69449fd6824ad9b95702b410a44a695b10248edd51289e8a7cca89bb648ee14afe9383b6137a30055ca673903bbd58314d3350055ca683913dab918c8fcd300ae069b095b00ae069c29214b5a810600b1fc8b1902388200b33c1c11aa8b00b1e78621014b1f0d0a3f8c060b130c6808fa2102556bc106e2e8ac71060eba4d771d5f2580c4f55af0d806dfe728aa240000000000000023899629915b43fae0e5eb9edb06dfeb88a29854d091fffffffffffffffffffffffff8446d0306dfe72941049f5e4e0000018806e2e8ad1109990c6786d379435fd717081259938d77160532a9ed0c6786d4990682c5a4e34ebeb12fb14d5983e8634a22c20a0c36b9b4792cca63e4bacf5b5cd10324d2a8ac2b0c36b9b5990477339d209eab7ccbf87b6165a05c39e4150602831e4f4202fb6929df376a5102831e504102fbe64019dd65350b8e7d874904e6167b4922d798500bd2b8504918650127cc3dc800000c6807c14a1b1ae4d6e2ef5000000be4a3da4902b5e3af16b18800000b8220b7030afcb38b4a04e6167b4922d7985009e8ae590901022d52a01af3d745022d52a119f419330775cf5e4155fbafdc33c988000a21c72842d1f3c1295de116ad0000015639711dee449a58b305c673c01924259a000f0f3d490193f24bd6d41100000ba74de54901040ac1d852a1a41f0000215041e9251466e89f46320c1608bd03000021c64101c477b9126962cf077630254140ea3a16c0959bba009dc7e9030c6803331303050bc7f393427672bb4157efc3a90a38ff6d291b6103f4190a38ff72f106e1000000000000000855b5b3b66a0000000000000000000000005b8d7f0a3900fd99a05183cfcfaddf218bfb3cdd50c9259c7c08100a3900fe614b8f82b2fea145776931c3580c5ea8a2030c02aebb81c86d6ea56a1115b76e77ff60a3bd7b2f0b98862d893c0000000000000000000000000000000004e468a05103830e756d6e90c1f6840a60470f4921aa81897338b5df6b04c7e4bf5203830e756d6e90c1f68401b401364a21aa81897338b5df6b000f7641490193f24bd6d4110000000f76423a16148d3144922e041f12ecf101810000000000000000000000007cb9ffffffffffffffecf0504b95f11604258eaf5909cdc071e8a2b2a49315ac04258eb0a13b0f43acedbe1a5c683f1d1926ba5391134fa7e00153fa441a2ceb660153fa4539041533775289600153fa46110100015408bc3138682b16a000015408bd5105207a0234ee0d634c000155a137390846e94ae9209502d98b76096b02d98b772914e31dae59039809cc298c39e3218a03980c01292a115dbd4202d9a56e11d83c0542e1f3494efbcb440149940000084b25ca0305c64e50310156768521d40c23b1e742023b4af5ee4800000052ea914a4ef98ffa61d1d121d404cc8e927102a44d95485a4cad0f075164febf04cc81968903feaed71e34638bc44dfb75189dec1a4604c272d4aa0f000000000000000ecec162a8f52c310118b096c304c272d5aa4639526cd70000000000000000000000008c1859f204c272d6410109a3b00000005804cc8e93190186a004cc819731024c57b536340c2cf5c281017c1d7b9875cea9b016f67a025c06d20c2cf5c3992dd01d70de3fd1996b3392218d84b5c6b5506f0c2cf5c481017471f7d38aaa339b93033f17148a8e0c2cf5c5992d26fc22f757aa27d0f6ecadb03b20fff250bd05918767095205918768290fa9a8ac5b05a4deda31058160c9fc6305ae0b3a3102da016d8e4f0597bbf12a04cbcd780d0c680a272a0aa6d5da510c680a28290fa9a8ac5b0b3dc6c70b01072b4fa5211e3a627f0803977d13074a00d1e36022030176dd00d1e3614902b247fa7757ee000009a4f8df090103f40694090103f40695419f325f4a4e0a91d903f40696420b9163762a3984a703f406971117d703f5ca7e5918babe0c3f8264355d065f03f5ca7f5901cd18a7d5250e029941030b81673a09010c680909a2974dfe99c61e93bc863fc8091f8c6948f693b58e03cfea0509020c54a13f030000928a1913ec630000928b3a01d02222f7ee1f0000928c09620000939829900127da480000939949045f1622cf1cb4925c02cef47819a71b5b02cef72d39086727102ac37109c0754f090106534d6a8902cb15f25e1bd992a6be8194dc6fc75d310652ee338937000000000000000000000000000000000c6807dc425aa86fd5c7f81c5c0b2910b641b432ebf0af45b1420c4b625842b432ebf0af45b1420ac1147841eb586625c40c51cc07782a0142eb586625c40c51cc005502ae19766e41005502af3a0ad21d9f971e8d005502b0096c005506dc299139616b28005506dd49046e64158b4d62942c085da0520901085e61ef090100001f3e22138ce20007a8a0941902bb740c43d98f03003b544a21047eaa720c5480a1030b1216cf0b010b2b03d421016d63950775e4de191f5c36074fafaf198a956c06b5d9d91a21a32409e1e459110fc201af5d8e03029b178f194349820c5ec3d8030bac5edf0304cd9c331950755d03d46f17210f91b3590544110e0309a8606522015d537b029ae042210d9d2f72000f851e0305f312ea81ffffffffffffffffffffffffff9da130086ab5a221037bfcd300f1d782194c4b400046083422037bfcd30b0b04e9030b46da6c1a1afa8a0a6742bc22017b46330935bbc6030000219f2137b6a3a401b7ada42202686ee80c6022162101c9c38004c2732f211bdeacda0acb35850305942c2b0300274627194c3af209cd02c81a65f3be001994a919124c0703ff7866211a4fba0a00aceddf1a4c4b4004c7e4ea210f4327ed0a293ba51a2c88020b0ae8c01a75512b07cbf31503036e1acb220129bdd20153fa591a2ceb6602f7eb110300f0aa8f220214a5730102ee0d03025b4ddc0307cebd8d03008ff8922239a47ca60092d30f221dcd6500084bb4c6030687a92f030c67de5919976e6d000092a91913ec6309fde86f030a854f3729010becb92609f83ffd123cb109e1e2c0210301632b000021d11939565500fa05281a74a37b086b56641997a63c00199762220177c8d70a32db7e1a4349820ae031ae1a32442d0c643349030a3bc80019e287c5044b21fa0304b4d64b03088b1ed203034a043a1a53e83a09c179bd21018722430017918721030c4d520b258ace030b7e946d19404db30ac22e420306378d32030c61447913016902bf6eac1974a37b0b2076f01927192409eaf0c22120daf6fd0c680a361a1529de09e0930719a1d339086ac1f02101d42d5d076870660306706b42030c51c6f4194c4b400300f28d1917110a0c67e4af2102985e8609dafc861a1cf36b0ba6b530030018327f0309f9d264030a3bcdc41a170b070548bba821381fe6750728854a2106b5eb9908570d4f03017d0e2a030548b65519121b9c0597c0602286b4dbd405150aac03059ffcc6030339bf551a64a225058a22ed19fdd40100008330190e5aa80c2b4d42030c61447d0bf2007fc4fc030c67dfe219f8c2680c4956af190da9e809eaede21a22e0810b2107fe1a2387070c644247210b4aa8ee08e7907c190f42400829f019191895ec0c680a38220f54816e00e556a52184eb185400c2a10b220d9d2f7207750b59030c67d7d419e3a89400fbefa829012aadcac000a64da7030bf926de03005b4161030a22e712194876e303b209da0a010b90c1be0305fd9627220423714f0389a14119c93f77000040a62901b38092c8060b2df31a09c6490719cb2a0301f71ead0309f1890203056d7414210265b37404b8be370303cda4d821017b463301bb1af9030c67ee6f1a09c6490c558922030542e2442256e6e06c0c1e31270305fcd106210171f8530a09848d21030be47c05d483fd1ab4b3790bed89a21a0f424003bd2b6a19c966870400b3d20307711d662106916061007867af210423714f0b770726210129bdd202a8ec65030c23d02c0303a7fd1421037248d80ae580131a365cd807582e02192ceb66080621c5030b6353d31a0933fa0ba997881a2778340b14abe3030087fd6f2202a5692a0687ac4c2a010becb926002538d4030b209e8b030c38c9e10300147a2a210125a6100bd0d3f1030601f16219f0e4250c5e3ab31a64a2250c6803622102a5692a09f5f7f522138ce2000ba3650021012657db0b6f9f091a61dcbc04083fe21ab85abd079e007e21370b6ea00a69dcd21a0933fa0c680a3c030c680a3d030b9555fb1a2ffcfb0583c73d19a3f3980c67d4e61b08f6910c5b016d2109404e43098895ac03005b096503072296d01a3ca16d0aed19351a4c4b400c680920030007a0372a012aadcac0010e020719277834095fa58203080631ee03099761c11917f6de057dee3d0304c25216220f20476b09d445bc0300b1e84c2101542d7f0ada781d03005502ec19766e41002a6e1711d5c50ad615fa198b00e40c408f11030b60bd1c030b5511b521015d537b0693d68a212050fd28005483bd192fbf8f0572d34e1aaee69a090adbde03000024ee220201652e03420afc1938173909f9c6061a1735df0c6445fd1332bb0c4d126d03074fcb7b2102fbd5750c59d5082101876df40a15d24c1923cdd20bc86bf0210b4022e101a437d60a0109a10adf19204a9502cef4d01104900c680a400305865b30222791efee03798fec2101dfd52d0b33ecad03023a9b01030b54f6cd19d4b5300a2a8e9221012c9fdd01bba05b22032dab8c03fa370921083faf3f0bf8ff1703054757bf0303971d731953e83a09dd5306d1026cfffffffffffeaa06cbc6293affffffffffffaca8f0a9d0b309dd5308b9019945ca261fffffffffffffffffffdf6d885ca3d3875a09ec7a50b120fd2ed5c663fffffffffffffffffd5fe2ef583868390c44f30bb1014c03a6c93dffffffffffffffffffe59395970c4a2409e7ef9ab90176fc97a9905cffffffffffffffffe22811d7b48ed4fc0c4d079b030548b67542c9e3d2c58796218d056816ea59037bd927138600d49b4d90054da50d09270bcfaf66030a46e7f709010a4c1c3509010c5bd888090109dd531342209277a35c2c78a60b9aea8741209277a35c2c78a600fbefbcc99c000000000888a7d3486ee8fc000000000022acbedefb5f5e00fbefbd090100fbefbec21b12dafbfdd0c316fffffffffffffef05a67c16a75940000010863a35316a253dbddd58131cd890c451d92ba08a4df4daa4772ffffffffffffffffa925507d569c417e0c2e5ba34b2c0084229a1569df370c5ad8644b0ad5346741605a9e9e0c2e5badc20208bd18cfd592ddffffffffffffffeb8fad8f6a3a87d0bf088a0e048189944a67fd8887d4068d29134fc834980888d993890cffffffffffffffffffffede8081952df0c5d6a5e930db4fce241dd331254b45955e759b9906c9303d46f36c96100000000001de9d0a296be1400000000000716c5b3a2c19a03d46f38c201698cbb5c309527fffffffffffffff1d706c6154911e07f0c59b2efba1a61815fe4c121fffffffffffffffef77fefeff0aa5724042b6310c2014443fe6005c4b2fffffffffffffff34cd852b7ebecc0bc0c3c7a4faa14c2b90b47ffffffffffffffffffff2fd9791c6c700c5f9f89ba0ae726d98d041bffffffffffffffff92af5393f35e5c3d00906feb1903cd60009027a141053b66e17d45c8c7008ff8c42239a84a060c60fd6b29056986fc3e0c60fd6c29109c5d155b001a667129109c5d155b022d7a9a29056986fc3e04c2642a69029cd0dc9601befc844e95506604c25506891a99f2e294e69eec28fa1a6b7c16767aa104c2524fc1010000010000000000000000fcb116aeffa3332d33f00b0a04c25250aa7433e70f1b0000000000000000000000000000000006ff262b4162ebbefa000020c504c2642b11072404c255073148c27394fff2010f3865030ba64f0709010bb2404f090101053fb3030a64e88f030c68093e030a15fd4e19219c8d07af16c303029b17cb1a42fbfa0c68065a1a06a0980b93a5fd030c68093f0304cd9fb31ac47e710a0352ab1b0c4033060647131a4c4b400c680a59030c68025a1993c4db089ab9a3030b72b260191557fb0c675c0f29010bfbaba90574fbde1a4fc54f029b1a471acb2d600c67e71a030b4cedcd19b8848c0a854f6d2a010bfbaba9086b56cd1a97971d0a629a691942fbfa09f46490191ed0a907209e531a5b8d7f0b40a2c7030a38ffd6195b8d7f0b0966290309f70c441b155dc209cdb28a1a26f6c80ac4d56919debe710c68025b1a06a0980b0b3aed1a4d8e300b0374da1a2ec1ec0548b6ac1a121c1b0c680383198006490a6782ca1a01d3e80a74b18d130c16058bcb9111519008ce49311176c70589dffd210326ced0058bcb9311cf840a46cf031ac96a80022d539f215b6684f709f66f8b1b155dc20c526ed4191e65060b437916030b3cbdef19f8c4c00871fb5b1990b19f0c680a5c0303a7fd3922036a2d9b0903f15e1a93c4db081258dc030b17f0ff1a43236f08cddc0a22026ab6f00a0395bb1a12d6c40a4684f91a20807006dfec2219bb6a710c649e170309851e40030c680a5e030a3e1f4e2102c677480a0f266c1a23d3540bf2a29f030a41b3ba1b0c40330c67fd060305865b6f2127939b3707ab051c030c6806663357f30ffacdaf09e1e3004a02bbc099d5fb6d81280bc3a2e5030a4453cf41c05cdff5d0a500000c680667030bf2a48303005483f3192fbf8f005483f41a2fbf8d005483f511010f0054953531023d3340b4fa00549536310236c03d4e720c50989e0a080b243d32030c23c025090804b56839c2d6dd7ab17898f622ffffffffffffffff2fe802be26151a7504b5683aca02a36f4789fa589414fffffffffffffffadebcacb20b1ca37004cd9cb28952ffffffffffffffffab92170ec0b4ed7e04d06768190364bc0c5f584e0304b56840c99897a77f8874d8e4a400000000000000004f0f3a878a5763b104b56841d105e853ffcd7b1bd168c2000000000000000637c4cedc5e64372e04b56842895a00000000000005e853ffcd7b1bd168c204ccbf0331367f0f4bfb9d04b56849c904fbb05e29a93b2adf00000000000000017bdabc4ad2329b4e04b5684ac90fa55fc849c633e2170000000000000009617f4a280cc9c31b04b5684b89970000000000000001f4abf90938c67c4304d0f752190331710c09470709020c680a6a030c6808193b4139ff1553628200d0e46c3903fa9a0613d57700d1e3c34902cd764c1a0ed7dc560c68081b030c5e8ed2030c680a6d3b4139ff1553628205876e804119d3a06ac81297150748c19e390fea68184f55de0afdf701110f0f0bdbbf2609010c5fc9b8098c0c34d7b909030bd65d4609010b8f018c09a00c41d03109c80ba8fff709910bcff8da09010bbb02fd09a00bcff8dd095a0c160cfd09010c160cfe09c80b859b3d09040ba8f73809a50c22a7d009f90bdbbf2909640b4ba04e09020c2adcc209780bd65d4b09960ba8f73a09010c22fb4b09010c22a7d709010bc564d311012d0b859b3f098c0bdde48509010c5fc9ba09010c41d03709010c2adccf09010c3f69dc09780c34d7c509dc0bcff30909010b4ba05009d20bd00885095a0bcff30a095a0bbb030309010bd9f60609640b8f019409030bdde48809780b72178909010c22fb5309a00c3f69de09010bd9f60b09020bd0088809010b72178a09cd0bc564d709010ba90003090101b402314a21aa81897338b5df6b01b40232390d74cd588d20000c680822030903f17e1a91ae9e0c68094e313086afcfb4f50903f18259045b800d5c97ce6b72ff2d0903f183410f87ac9ab7364f710651176c390c4611e277011400bc17a53907b7a66cca943300bc17a641265ab3c59e3f772100bc0e576964988e2f9ca76382faf3a116e900bc0e584903eb051ef2a61f90a200b1e8a121014b1f0d00bc149a6964988e2f9ca76382faf3a116e90c68095159015c76b8474f383b7749e808e0734169fe412349a007b6375cbbe79c4300bc14a1590182b58557823d4bdad23500bc14a241312772e8ee420f780a3f945639011648c153fbfb0c68082559049f6505903d636cf816d20a3f8ca40b1300bc17ab694e7ca90becece971fd4fdc2b1d065117724902706925fa818562160c68095319191c050c6809542102556bc100b1e54f3910786ceaf8a97f0a3f8ca6590d32a56f7537d7531ed9f9004c69d14101192d1069581b94004c69d209330bf1cd0b09010bf6e4a809010c09473741bfc0251dd96f547a04d01b80c95a0000000000000000000000000000000000000000000000000575ababd1027100000000000000000000000000000000003a6925fc60e0cb057f68a4413b5870af75813c370b243d48b12f47d6f93de7d412d100000000006c8de48162dbfebe057fca93d1027100000000000000000000000000000000000000000000000004d01b83c9530000000000000000000000000000000000000000000000000c5f5872a9438b05bb3e6e93dd000000000021ed231b1b090ac40c67f860a90301b8236a6237e80000000003867715cb273eb69e0c67c289b10c1127813160048abb000000000667b65640bdebec310c23c0455103c530c2b6a7500687aa0575a294c95300000000000000000000000000000000000808ad477f33fb05f3ce5fc99500000000000000000000000000000000000bbcd5e2e44dff0575a3a1c95a00000000000000000000000000000000396e5a6e245acc860b4cee0db111ce59aaf96c4721660000000001a672584024dfb12f0019fb5f1106910019fb601106670b8e452049056bc75e2d631000000b7c17ab4a056bc75e2d631000000a5bbc6603054bb4ede9440000000000000000000000003d74fffffffffffffff69b8ecd66ab61054e942d5901bbcf019b03df3c7f5ef7054e942ea10a6b3d75f2eefc6aa202326efd8f51d74b6abe8c00002156412b85e64d385c77b302db8c563905bb61e44c980004b58913421a67835a763b5b6403d46f524201698cbb5c30952801e36ec70309a4f954391fd7ab9a6e37eb0046088439514dc947af5000000021a342051164cdb739473101b7aea939380d19109f100004c273d34202874b1e2668585904079c00391aa4cb2630f102036e1b56391b0028e44b00000153fb38390415337752896002f689273904bd39622592f2009038bf41053b66e17d45c8c7002f56bc4102b42e2f31b30b910574fc0d39072d8e0e5b01ac029b1abf391292226e1c5da00a21c7ed390b74c7f337512c000092dc3a01d02222f7ee1f00fa0594390aa87bee538000001997f13922482f38a444ea09dd535039019945ca26200001af997c030a38fff6390855b5b3b66a000b7e8cd83a05d7359402c0000300f3143a0217907aa9c46402db89a7410591d35e956cb2000548bc4542051803f39d8e974200ad94b403004b24863af5a61df9971b9404b2453f0302009a06390880740a6b53b200009e8e39017ecd4caaa38408ce4959312d694efcb4000155a23b3102183722066e0589e0193a491f01fe8f8e0705d043e9410b1db9419116800000fbf00e421b12dafbfdd0c31705fd992e3a03e28a86bcb5590597185f392e7a36d85e9d05054bb4f93a0964713299549f0c680524420570a9ec4ff40000041f14093a130fafb46a0eea0087fdc3393db799f395cba60978133103097545af41015c2a7b13fd00000000215731343ab826e82908cddc4839382f51fa27dfab000871f0411b12dafbfdd0c317010e033b3a03947134637b48000024f131122f43d0889706dfec2d3a1100df58f432a904c252ae4101601cdf0989b552005503383a0ad21d9f971e8d0054f28a31689786263000000024f2392ebbb29f84fa31072eabf33a243dbe4b2ae6a30a3e1f9a3a4079d386312e3102cef7e3293abb90b98001bba0d3394f9c26095777f203fa37b83abf35527b40a1e200ae0745490452103a5bf1b02e7f00ae074f095b00bc0f2d490452103a5bf1b02e7f0368c5df0901000040fe422a566631615bb5b8022d53e21af3d7450313f97a1a1e6506000040ff421f8503008a9ac636022d53e319f4193301b4028f4a21aa81897338b5df6b03940b233a12c6b337e1696b022d5696215a90d0ca0313f97b411b2e51a2b6e9dc56000f107d490193f24bd6d411000003940b24490121ca814a8dfd200002649cc51176240283205e4202fb6929df376a51000041002901645ec4560052ebc34a4ef98ffa61d1d121d40283205f4102fbe64019dd653503940b2549076b9d4ab2674d200002649cc611762401b402904a21aa81897338b5df6b01b40291390d74cd588d200000d1e4784902cd764c1a0ed7dc56002fc8fc4270f5f9d3e35fef0d0b835c84410142001cdc61ef77028320604102fbe64019dd65350052ebc42156e6e06c0b835c85410142001cdc61ef77000f77863a16148d3144922e022d53e6215b6684f70394b1ec22047eaa720030075f31144b3e47de000394b1ed490649d2c967d95000000052ebc54a4ef98ffa61d1d121d4000041012901b38092c800d1e4794902b247fa7757ee0000000f7787490193f24bd6d411000000d1e47a22030176dd0b835c86320f30e478b53502649cc73a11d560af29644a003007604270f5f9d3e35fef0d08d99f3919aee69a01aea5494207a8c34d91966e190c527b021140000b835c89320f30e478b5350b835c8a410142001cdc61ef77029b1adee9b2000000000000001292226e1c5d9fffffffffffffffffffffff34d2a002a03ab89910317b59202b2d6e21d33d0732911ead5ea68a02a03ab96107a49cf3be6f948543b4ccc60542e2b6421cb6f85fd2e7522305439e7c7972986ad9ec2171280133565bc1183405439e7e39aad11b19a6df110197db7a030300f320c9d80000000000002671bf58283800000000001ec0b7646c9f9b0300f322ba0217907aa9c463ffffffffffffffffeb0565f44b7d60000304746fba01d6319aea5c25ffffffffffffffffed94ee172678145809f94876b234709d919f80fffffffffffffffffdf222e716e36a6d0c512557b20cee422dc8bdffffffffffffffffff7e54f60e21e13d0030076631144b3e47de00003007674270f5f9d3e35fef0d0052ebc74a4ef98ffa61d1d121d40052ebc82156e6e06c00233b0e6903ba8b37847ef8c3ffc592bcb30019a07189019b7e6885e057cfd94de9a8455396707900198dc6a9030000000000000002f6e8d8c462d415303fb8cb4f001997f7aa072f4327ff0000000000000000000000000000000000198dc741071f5d130000025c00233b0f1133030019a0723116017a24a3e70446096c09010453eede09010589e04fc101fffffbfffffffffffffffc46bc87d924c806938931d1d40589e051610378b0bd195189daed0d205a0589e05211231c0ac46ae3b901c3d46bb287adcef6cd04830000006aac0d08000023570ac46ae4b901c0f8f4becece38ae623e3f0000006a030c1c0000231f0c00e4a23906d70b1e467ff10bf3e4ac3916d589b158c07c010e0342c9a7000000000000490c067e0d4700000000000a24b91278d9a9010e0344ba03947134637b47ffffffffffffffffdc1a47e1fef8c0000229c717ba03947134637b47ffffffffffffffffdc1a47e1fef8c00003971e0cc9c6000000000001fc8ccc254b6700000000001548988fb4860303971e0ec275b37816b749b66affffffffffffffffb3afd9060c1a60000bd60722c201c89324ecbf867bfffffffffffffffffed7f934dae423db03a3cc8fc2322b1eaac33cc0cfffffffffffffffffdf78fc98ec308bfa03c5d197c241bfc647074d6f20ffffffffffffffffd55ee3384505b02c01bba0fbe943000000000000004f9c26095777f1fffffffffffffffffffffcd25474021967c5990613ad4cd34479a71cf4baa64d89aa86b6ea11021967c66102e2b4482a1b2ee4eb879bf8038dbb085103e8523f4cf16f1ed2dd0b625d544a0649d2c967d950000003971e2e4275b37816b749b66b0c67dee11305f003940b8649076b9d4ab2674d20000c67edc25103e8523f4cf16f1ed2dd0c67e2224a0121ca814a8dfd20000b3335bc030548bc6daa160000000000000015fe6b958a1def7b2cf821ff360548c0a861042836d62935a138f80f16550548c0aa11795d0548bc6f3a01152fa1b7813a0548bc70a937b364758d0e8b5f112f00000000273e350000000d08d000b56b0a0fd0cafba3ad4f70e7d61fc008d000b683ee58ddd1b8c2f74c59836726c83e71df08d000b7000100035ecc00000000000000000c69eedb60a6ee1c1836839a00000a2e57af1808c13d946bf79ddf75276a1261d2e8a4010308c13d958a58f4196928a34ef1e38bf9eb6e563960a908c13d9600010064a2c900000000000000013ccd5ffdf7f0100da967dad4000132804b730c09055b19720223674047a2a8812fc88d18197409055b1a8a544052657586fb99171be9ecfa6ba5eeff09055b1b0001006b52a80000000000000001498433241b4acccd421a55860001470d47ecae08e377ed7201d1dcd6d55189793a0ee38e0ec608e377ee8a4885c9fc86ada7510bef25bf71909cfd3508e377ef0001007a995f00000000000000015503947fe177358efb0cb881000176413e64a6090324767201e00c46e709866855c283a59175090324778a4aa365bf20a7829253d7578b234b063f6b09032478000100776396000000000000000153d079eca60d3516f8003da200016c518e770208b722047201b3e0ce972f08a410243fda658d08b722058a4416ffa7197831ba6277e542ecea53978308b722060001007f46ff00000000000000015883aee435fa37cc54002db9000184b7a9f43a08e3886a7201d0385e2708b91b559228c33a9b08e3886b8a485fbde0216f13213f417922fee6b9d68708e3886c0001007acf02000000000000000155f77a5323ed060f907a6318000176e312076308bb0e1f72021c48d97beb9eeadbad85fcec3408bb0e208a534efab3eddd71418465305ccb9ceea7dd08bb0e210001006c582300000000000000014c0467b830910343bd1c33f100014a307ee20e0969582a720225910be4fb3f4c8c90bba311ca0969582b8a5489cf1ee3eb5b7f2dab62b0361a6423d70969582c0001006b1766000000000000000148fecd25bc194a292d88d184000146576fdc5402db89f8410591d35e956cb20002db89f91a24665e02db89fa094802db8c965105fb1c190a119235e19002db8c97292715d230a902db8c984119092b04800c5cf00a6db00609010a6de0d709010aa19645030313f9b01a1e65060313f9b1411b2e51a2b6e9dc560000410431011321bd066c000041052901645ec45600004106421f8503008a9ac63600004107310174f70cbeee001a672829109c5d155b09a2bbf70303f40749419f325f4a4e0a91d90045800f39cccbbc3146ce8f0776079a429fff2b067f516068077603f30308086d3e09f108086d3f09eb08086d406a7996fa92b74084cfbc0180000008086d41f10835000010ec000000f0ffffffffffffff1452f91da725adde013a80000008086d42692e8af4824003cf2d4fcc00000008086d43f1173600002a78000000f10000000000000024f02b92d0e798e0114f40000008d02cf9096e08d02cfa292554ab87ef09093f3811414a09096aaa1113960903f1c21a91ae9e0c680873030bc36da2030c0bcf6a0a010c680996030bc36da403034a0510391719c7cf8f2a0408056dc803005484943a0d22f86191843d078be0f4a205d500a31e181944dac576d7972bbb392118112d04b5893e421a2aed139a1a95d80c67f8a0c904da8c9cf14366ebf8fffffffffffffffffff429dd2cc03f540c23c0a8d10553ccb59180a60ba9e700000000000000000005ab45276bb00904ccd0ccc151b1e495bd8db569000000000000000000000000000000000c67c2cfc908d4a393227c5018f2ffffffffffffffffe5dad340290462b60c67e53a22dbab80ad0591735a09760591735b29280593239805ba423c2101ca15e405ba70301129320597c1083209b6307c9ef40c6806d71b1beb8c08cddc7722026ab6f008cddc7839382f51fa27dfab08cddc79093308cdde5231116faa2d3eba08cdde5351019551bbe22fa1be472c08ce49ab210132320508ce49ac397510d063daac210a854fb3c93600000000002a21baf2469b0a0000000000021560470250760a854fb5caf3baacc5ef4619951effffffffffffff0c52eb6bea66efa0000aed1a22ca056050d42eed289e11fffffffffffffffa9ffbf025b034674e0c5e5208c2164927047cf102a3ffffffffffffffffe9b817330b3535660afaec0fca03760813504663a0cafffffffffffffffc8a29584733bc29b60a854fb9caeace0ab76b959c539effffffffffffff153f0e0c4a77c9d999034a051ad10456fffffffffffb1e59cdfadb8c00000000000566bd9b48d92d034a051cc14c5daf3ddfd8afffffffffffffffffffb3afd83bf3f024640366358eb9349d903cb1fbb7ffffffffffffffffffcb6bc2115c695f03686a39c102aabbc81b6feccbfffffffffffffffffd55bd2c5c15dc930356e057c14957ae340c0a9462ffffffffffffffffb6b55025dc36c2f2034a0524b926a7b17bac3315ffffffffffffffffffd95f27aa471b7e076d04484a01f9e8e7ffc272bce30458953c090103d01fd809010a6c2ff10901097c00680901054140020901052e746509010548532c090103bb90c00901070018080901056c5a8d090104cda0511a0bce710c5f58d9d103919a5f7f294feaedd3ffffffffffffffffffffffffffe19f250b8eab2b09010b9516e709010394b2b222047eaa720394b2b3490649d2c967d950000005865bd0222791efee05865bd12127939b3705865bd20933058bc6fe310bd3b219ac7b058bc6ff310ce03235a917058bcc2a292e761055cd00afaeac09090087fe09c10100000f000000000000000ed816fc6e728422594141ea35008825f9810b6f402e8d0e272e8fb5d3bd03b809d60852cbbeb91faeea7320a15c982557889e0000018f8a41950000844f04d0eac819b4ad700b4cee5cd9015f85daf9d2acb27b5c9b00000000000000000000000000b4ad700bc3a9e90303fa3823e9b6ffffffffffffff40caad84bf5e1e00000000000000000000083faf3f03fa55849910a46349a418ab5b0a0224d1e45227f5c8b91703fa55856107dc4d22178d82fa15c449ac0ba762f2090106bb6a91790e6ea4e5039aa3aae12cb7bb080d0106ba30c589b700000000000000000000000000000000036e1bd8c980ffffffffffffa430d578ee330000000000048a400bccaae0036e1bdab91b0028e44afffffffffffffffffffef134a81ab02db3b40c3496a6b124c297188c93fffffffffffffffffe8f536e0937ec42038aff47b913c2ffdfc4550bffffffffffffffff39ce58e97e69b119036e1bdfb90466e443e5afa6ffffffffffffffffd3da3152f4db9069074b456fb902b18229886eb5ffffffffffffffffe4fcca7033b085ee09e8e64809010c6809b709010b8f6f2f09020b9514db090202649d383a11d560af29644a02649d391176240c5ff8cc03028320874102fbe64019dd6535000021684101b9eafba6c4c7180000216f41e9251466e89f46320000217031343ab826e82900002171096b000021d4599d0409205c3e4991d20274000021d5510889add24f258c858ff1000021d631047aedee1eba000024f4212e1850350c556aac4101b9eafba6c4c7180c556aad3101d0af4b8c110c556ab009010c556ab13929c7d10b73563f00fa0672f108f2000000000000000aa87bee537fffffffffffffffffffffffff8b5c8500fa08af99d082926bbdd876495e4d2fb6317dec698f960a00fa08b061623e58cc4f9e902575730d0a03940c773a12c6b337e1696b03940c78490121ca814a8dfd20000bcfa5c9030b1eaeee122d1a0b17c8fa120c8f0a739ef712762402db8a611a24665e0a445449127cba02649d4e117624054bb595113d75078d41db1167af041f1455117cba0c6809bc030ab89d8712105b06c715ac03072eac8011f06a0bcfa280030a7db2bb0305876ee90b720a3e1fdec96700000000000c0435e82b4c5300000000000265646355344d0a3e1fe0ba4079d386312e30fffffffffffffffd79d5c1e1172380000a3e28f4ba37135f7bd40e4bfffffffffffffffdd80ac5edac06bcfc0a47afa7ba078f75e3ec7266ffffffffffffffffb43b2f1620112bc00c3f0b9faa1ecf3267d2fffffffffffffffffffecb3c045ca24c0a528342ba01d6df573e45abffffffffffffffffed9101a146aef4fa0a46cf6809010a4b40d409010c32a294090100ae07a6094700ae07a72911ad41501500b2155a3115220ce302d900b33dd531065703ddb40d00b1e60e3910786ceaf8a97f065117b1390c4611e2770114005b121f030b82a0e009060b7194b509010bcf6882090108b8450709020c07007e09010a6c4f1a09260a5ad61f0901059188b4e95200000000000000000000000000000000000000000000000000000000059188b5e9460000000000000000000000000000000000000000000000000000000005917581e95a0000000000000000000000000000000000000000000000000000000005917585e9760000000000000000000000000000000000000000000000000000000004f2809c4902117006df65270000049e222b3b14473ca46fac5e06c5b9240a0109fd90710309fd90720309fd90730309fd9075030c67ef2a12485009f421e91158ba0c6783500309e1e370210301632b09e1e3714a02bbc099d5fb6d812809e1e37211017209e1e4f829a6e77c559009e1e4f9519a2c2bda491472f295bc09e1e4fa191f8645004608fe22037bfcd3004608ff39514dc947af50000046090009280054801e3102ed2c26c7c80054801f49443c9c50dcbd675c200b835cea410142001cdc61ef770ba5d886030458957a0901052e74bf090103d020310901097c00e409010700185909010a6c303309010548538709010541404d0901000024fae957000000000000002ebbb29f84fa30fffffffffffffffffffffdfe9ad2000026759907e0e6c231b1c5abd756e3cb1f008c1d3f0645000026766103c0b69ad26b7f2f4913e62f00bcf87f0300ae083603002fc9584270f5f9d3e35fef0d0a21c87df1013b000000000000000b74c7f337512bffffffffffff2e0c3ed6a21ee9530a29749d71112bed02928d501af17b6c3597300a29749e8916927103ab543f0b242e7af7ee27264563029b18e8e94effffffffffffffffffffffbd0406000000000000000000000043498202b27be3794ee242faabd1e8658d4bde25c2d48102b27be4794f1dc83b5b375b1fdf53dd62f6fcfd022d576c29d71734a637022d576d215a90d0ca01aea60e4207a8c34d91966e19022d576e3101035c52116f022d7bb829056986fc3e0c5569380304cc98db6939c2c91aa2d5a9b4bf3f4d5c2004c7e178a96d000000000000000000000002e7cc2b9e42ae0f5304c7e638b10ef70093cc33ffffffffffffffffffffffcc245218d904c7e179421453716ffffffbd004cc98dc1903e83c057005b6a265fb552603d446648c1c202229b94f4bc564cdd4057005b77a0235312ac1af335d27a8ac6c8daabf0574bc0ca1387308e6a4b8eef0007353243e832c19a9a544b00574bc0d712e457710d1a7940319e8f5c7ebee057e18c3a13a83aaea30b52b770e72fb39550265b01f34687a057e18c471365c41a707e69641f4fb8b67750c09a2310b71047cc88526c5259f4fcd6d78fcfd08a6213a69dba95cbdace21dd664ba87d30e086b5809999796e90000000000000000000000000000000009a2310c11099908a6213b1101d603f407a7420b9163762a3984a7078d420f410b9163762a3984a70bf2a7450300bc4e240902000021b22137b6a3a4000021b342051164cdb7394731000021b40948000021da3901033b2e7650dd000021db511796012d3ab7bfa14b19000021dc2102dcb2ee09ea37f2030590b470c90100000000000000000000000000000000000000000000000005d04b102105ac35dd05d056503904a42ab2449f7605d04489410b1db9419116800001f466f30300ff318b03026e527b094f026e527c000004a77024a7e000000000008583b00000000000000000000000003bd209222105876f404119d3a06ac812971505876f410b7205876f4211184506420aa349345346dea2241209ad06420aa4198ba5050748c2a9593d93c0053d3ed733008f5a05876f4409010c242a70410e2715c359ff41840c1672bc420211426309d2f7d00b206baa410211426309d2f7d00c35718403072ecb739105593d58e3fc248eb7e4793283971984f2fc072eceab6972ba271dcc5da04324dea3123f072e9af5a90800000000000000000000000436225502d4b96091072eacd3a172a50ddb00000000000000000000000000000000072e9af642014b3169ffffffac072ecb743104322092fe90072eceac095900001d5dc202c90edcfffffffffba6e944ffffffffffffffffffffffa500001d5e5a053d71ffffffffff1628b80003ca1ab20f6600000000000001f9ffffffffffffffffffffffae0003ca1b4a81000000000000001503a7fe72e934fffffffffffffffffffffc95d26500000000000000000000037248d803b9330279350407badbb2daa07a29d924a0382f03b933037934fbf893929cf7679fd8fcb61df57309e8418509010c680b1f0901064160b5424563918244f4000006416bde424563918244f40000062baeec414563918244f4000004eb76400a010c519e2b1a0494510c52df89030c519e2c030c5973b8030c66990d1238740c519e2e0a010c519e2f030bbc8f632a03976cec230c5e0217030b2002f509010574fd36e94d00000000000000072d8e0e5b01abffffffffffffffffffffffb03ab105752c659906e86ea21b569a723471ac9a2a2e25674ac5e205752c6661035a49b78f46345a266966e807712d2e190f424007712d2f4a01f9e8e7ffc272bce307af4b71410b9163762a3984a70872e8451990b19f07af4b72326eb7f3ec9be0078d42321167af07711e8b3a92fa674c665b28078d42333a0fc0c6843deddf0872e8473a0ced5c4f71eb1207711e8c2106821e2101b72c92a9380d19109f0ffffffffffffffffffffffffd9791180ba6849609010badd37509010b01b8484904e6167b4922d798500afacf5c31048c273950000c680b244107dcad3d7bcb91cc0b97e0f46202af45109a024eb79eff9cf40b8e83d86102af45109a024eb79eff9cf40c680b27030c680b2809010b97e0f63225f9791ce2ed0c680b29091d0bdcf9ed190d59a80b8e83d93125f9791ce2ed09b685b13202499633c34809b42bdc29265627c61409a8729e2942a2fd6d8209a9a4353202412140cd8609a9a437298778adbc3709a861b822015f4fd409a861b922015d537b09a861ba095109b685b229845e3d01ab09a4fa08391fd7ab9a6e37eb09a4fa09391fd7ab9a6e37eb09a4fa0a095b09a4fb7c095109a4fa0c095b09a861bb1901fc59090b8eb80307b23db809010b8e905e09010b8f887e0901", "expected_outputs": { - "versioned_hash": "0x01a70111f6ade45fdff137f00119dd45284d80e1af6bdad336419c07cec93f41", "kzg_commitment": "b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0", - "opening_point": "0x00000000000000000000000000000000b65574fcce3da68c6d7199110f1b5358", - "opening_value": "0x2e9ea79020c009e69d1d480ea0726dec69f43ab688f08c7852270dccbc7456c4", + "opening_point": "00000000000000000000000000000000b65574fcce3da68c6d7199110f1b5358", + "opening_value": "2e9ea79020c009e69d1d480ea0726dec69f43ab688f08c7852270dccbc7456c4", "opening_proof": "ac2355d9a024ee3d77b8577c299b5384adcea34c205231bebb08ffa9fb5e33f2327f11ecde4fe46e0aaadce36b31c87d", + "versioned_hash": "01a70111f6ade45fdff137f00119dd45284d80e1af6bdad336419c07cec93f41", "blob_proof": "a370bebe32974312600170a180d02aa0f44394b96221f95af357e696fdbc11ef917fe3b643ffc62c98d333385ab25b43", "pubdata_commitment": "b65574fcce3da68c6d7199110f1b53582e9ea79020c009e69d1d480ea0726dec69f43ab688f08c7852270dccbc7456c4b3155be333f11f4ac0655292d3f7baf6b7c50fe15f2ae7509d8ad93a98c32adb82899f72b32fbcf77898a3e4a082c4b0ac2355d9a024ee3d77b8577c299b5384adcea34c205231bebb08ffa9fb5e33f2327f11ecde4fe46e0aaadce36b31c87d" } From f21210f0296f1bfa708e29e11c564edfeb718f76 Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 26 Jan 2024 16:54:35 -0500 Subject: [PATCH 11/35] migrated to harness for kzg --- Cargo.lock | 8 ++-- core/lib/types/Cargo.toml | 3 +- core/lib/types/src/kzg.rs | 86 +++++++++++++++++++++++++++++++++++++-- 3 files changed, 88 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 8212ff040c2..52bec63fbc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1328,7 +1328,7 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3#29410da0f9d4ffb771771a50c7feb78b8560b1a3" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" dependencies = [ "crossbeam 0.8.2", "derivative", @@ -8752,10 +8752,10 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3#29410da0f9d4ffb771771a50c7feb78b8560b1a3" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" dependencies = [ "bincode", - "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3)", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", "codegen 0.2.0", "crossbeam 0.8.2", "curl", @@ -9486,7 +9486,7 @@ dependencies = [ "zk_evm 1.4.1", "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=29410da0f9d4ffb771771a50c7feb78b8560b1a3)", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", "zksync_basic_types", "zksync_config", "zksync_consensus_roles", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index faee32e623b..f6f7b9cdf67 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -25,8 +25,7 @@ zk_evm_1_4_0 = { package = "zk_evm", git = "https://github.com/matter-labs/era-z zk_evm = { git = "https://github.com/matter-labs/era-zk_evm.git", tag = "v1.3.3-rc2" } zksync_consensus_roles = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5727a3e0b22470bb90092388f9125bcb366df613" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "29410da0f9d4ffb771771a50c7feb78b8560b1a3" } -# zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", path = "/Users/kolodnyz/Documents/projects/era-zkevm_test_harness" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } anyhow = "1.0.75" chrono = { version = "0.4", features = ["serde"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index c95ae1138eb..ac5c560a9b9 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -38,7 +38,7 @@ pub struct KzgInfo { pub kzg_commitment: [u8; 48], /// Point used by the point evaluation precompile pub opening_point: [u8; 32], - /// Value retrieved by evaluation the kzg commitment at the `opening_point` + /// Value retrieved by evaluation the kzg commitment at the `opening_point` pub opening_value: [u8; 32], /// Proof that opening the kzg commitment at the opening point yields the opening value pub opening_proof: [u8; 48], @@ -246,10 +246,20 @@ impl KzgInfo { #[cfg(test)] mod tests { + use super::KzgInfo; use serde::{Deserialize, Serialize}; use serde_with::serde_as; - - use super::KzgInfo; + use zkevm_circuits::boojum::pairing::bls12_381::{Fr, FrRepr}; + use zkevm_circuits::eip_4844::{bitreverse, fft}; + use zkevm_test_harness::ff::PrimeField; + use zkevm_test_harness_1_4_1::boojum::pairing::{bls12_381::G1Compressed, EncodedPoint}; + use zkevm_test_harness_1_4_1::kzg::verify_kzg_proof; + use zkevm_test_harness_1_4_1::{ + kzg::verify_proof_poly, + zkevm_circuits::eip_4844::{ + ethereum_4844_data_into_zksync_pubdata, zksync_pubdata_into_monomial_form_poly, + }, + }; #[serde_as] #[derive(Debug, Serialize, Deserialize)] @@ -278,6 +288,21 @@ mod tests { expected_outputs: ExpectedOutputs, } + fn u8_repr_to_fr(bytes: &[u8]) -> Fr { + assert_eq!(bytes.len(), 32); + let mut ret = [0u64; 4]; + + for i in 0..ret.len() { + let mut repr = [0u8; 8]; + let end = 32 - (8 * i); + let beg = 32 - (8 * (i + 1)); + repr.copy_from_slice(&bytes[beg..end]); + ret[i] = u64::from_be_bytes(repr); + } + + Fr::from_repr(FrRepr(ret)).unwrap() + } + #[test] fn kzg_test() { let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); @@ -287,6 +312,7 @@ mod tests { let kzg_info = KzgInfo::new(kzg_test.pubdata); + // Verify all the fields were correctly computed assert_eq!( hex::encode(kzg_info.kzg_commitment), hex::encode(kzg_test.expected_outputs.kzg_commitment) @@ -311,5 +337,59 @@ mod tests { hex::encode(kzg_info.blob_proof), hex::encode(kzg_test.expected_outputs.blob_proof) ); + + // Verify data we need for blob commitment on L1 returns the correct data + assert_eq!( + hex::encode(kzg_info.to_pubdata_commitment()), + hex::encode(kzg_test.expected_outputs.pubdata_commitment) + ); + + // Verify that the blob, commitment, and proofs are all valid + let blob = ethereum_4844_data_into_zksync_pubdata(&kzg_info.blob); + let mut poly = zksync_pubdata_into_monomial_form_poly(&blob); + fft(&mut poly); + bitreverse(&mut poly); + + let mut commitment = G1Compressed::empty(); + let v = commitment.as_mut(); + v.copy_from_slice(&kzg_info.kzg_commitment); + let commitment = commitment.into_affine().unwrap(); + + let mut blob_proof = G1Compressed::empty(); + let v = blob_proof.as_mut(); + v.copy_from_slice(&kzg_info.blob_proof); + let blob_proof = blob_proof.into_affine().unwrap(); + + let valid_blob_proof = verify_proof_poly(&poly, &commitment, &blob_proof); + assert!(valid_blob_proof); + + let opening_point = u8_repr_to_fr(&kzg_info.opening_point); + let opening_value = u8_repr_to_fr(&kzg_info.opening_value); + + let mut opening_proof = G1Compressed::empty(); + let v = opening_proof.as_mut(); + v.copy_from_slice(&kzg_info.opening_proof); + let opening_proof = opening_proof.into_affine().unwrap(); + + let valid_opening_proof = + verify_kzg_proof(&commitment, &opening_point, &opening_value, &opening_proof); + assert!(valid_opening_proof); + } + + #[test] + fn bytes_test() { + let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); + let path = std::path::Path::new(&zksync_home).join("etc/kzg_tests/kzg_test_0.json"); + let contents = std::fs::read_to_string(path).unwrap(); + let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); + + let kzg_info = KzgInfo::new(kzg_test.pubdata); + + let encoded_info = kzg_info.to_bytes(); + assert_eq!(KzgInfo::SERIALIZED_SIZE, encoded_info.len()); + + let decoded_kzg_info = KzgInfo::from_slice(&encoded_info); + + assert_eq!(kzg_info, decoded_kzg_info); } } From 93f5975e1012cb4e980b4eda2e5276476252bf3c Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 26 Jan 2024 16:54:53 -0500 Subject: [PATCH 12/35] lint --- core/lib/types/src/kzg.rs | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index ac5c560a9b9..c30f363a920 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -246,21 +246,23 @@ impl KzgInfo { #[cfg(test)] mod tests { - use super::KzgInfo; use serde::{Deserialize, Serialize}; use serde_with::serde_as; - use zkevm_circuits::boojum::pairing::bls12_381::{Fr, FrRepr}; - use zkevm_circuits::eip_4844::{bitreverse, fft}; + use zkevm_circuits::{ + boojum::pairing::bls12_381::{Fr, FrRepr}, + eip_4844::{bitreverse, fft}, + }; use zkevm_test_harness::ff::PrimeField; - use zkevm_test_harness_1_4_1::boojum::pairing::{bls12_381::G1Compressed, EncodedPoint}; - use zkevm_test_harness_1_4_1::kzg::verify_kzg_proof; use zkevm_test_harness_1_4_1::{ - kzg::verify_proof_poly, + boojum::pairing::{bls12_381::G1Compressed, EncodedPoint}, + kzg::{verify_kzg_proof, verify_proof_poly}, zkevm_circuits::eip_4844::{ ethereum_4844_data_into_zksync_pubdata, zksync_pubdata_into_monomial_form_poly, }, }; + use super::KzgInfo; + #[serde_as] #[derive(Debug, Serialize, Deserialize)] struct ExpectedOutputs { From dc45b7259e81e94ead6cfac48113d7eff09a3f50 Mon Sep 17 00:00:00 2001 From: koloz Date: Fri, 26 Jan 2024 17:06:39 -0500 Subject: [PATCH 13/35] spellcheck fixes --- core/lib/types/src/kzg.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index c30f363a920..e5dcab5194b 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -28,8 +28,8 @@ const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; const VERSIONED_HASH_VERSION_KZG: u8 = 0x01; /// All the info needed for both the network transaction and by our L1 contracts. As part of the network transaction we need to encode -/// the sidecar which contains the: blob, kzg commitment, and the blob proof. The transaction payload will utilize the versioned hash. -/// The info needed for `commitBatches` is the kzg commitment, opening point, opening value, and opening proof. +/// the sidecar which contains the: blob, `kzg` commitment, and the blob proof. The transaction payload will utilize the versioned hash. +/// The info needed for `commitBatches` is the `kzg` commitment, opening point, opening value, and opening proof. #[derive(Debug, PartialEq, Eq, Clone)] pub struct KzgInfo { /// 4844 Compatible blob containing pubdata @@ -38,13 +38,13 @@ pub struct KzgInfo { pub kzg_commitment: [u8; 48], /// Point used by the point evaluation precompile pub opening_point: [u8; 32], - /// Value retrieved by evaluation the kzg commitment at the `opening_point` + /// Value retrieved by evaluation the `kzg` commitment at the `opening_point` pub opening_value: [u8; 32], - /// Proof that opening the kzg commitment at the opening point yields the opening value + /// Proof that opening the `kzg` commitment at the opening point yields the opening value pub opening_proof: [u8; 48], - /// Hash of the kzg commitment where the first byte has been substituted for `VERSIONED_HASH_VERSION_KZG` + /// Hash of the `kzg` commitment where the first byte has been substituted for `VERSIONED_HASH_VERSION_KZG` pub versioned_hash: [u8; 32], - /// Proof that the blob and kzg commitment represent the same data. + /// Proof that the blob and `kzg` commitment represent the same data. pub blob_proof: [u8; 48], } @@ -190,7 +190,7 @@ impl KzgInfo { let linear_hash: [u8; 32] = Keccak256::digest(zksync_blob).into(); - // We need to convert pubdata into poly form and apply fft/bitreverse transformations + // We need to convert pubdata into poly form and apply `fft/bitreverse` transformations let mut poly = zksync_pubdata_into_monomial_form_poly(&zksync_blob); fft(&mut poly); bitreverse(&mut poly); From 10d34a2391fbc5a401611c2d113e807695d82138 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 10:31:20 -0500 Subject: [PATCH 14/35] fixed tests --- core/lib/types/src/kzg.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index e5dcab5194b..abac47f4d3d 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -250,15 +250,15 @@ mod tests { use serde_with::serde_as; use zkevm_circuits::{ boojum::pairing::bls12_381::{Fr, FrRepr}, - eip_4844::{bitreverse, fft}, + eip_4844::{ + bitreverse, ethereum_4844_data_into_zksync_pubdata, fft, + zksync_pubdata_into_monomial_form_poly, + }, }; use zkevm_test_harness::ff::PrimeField; use zkevm_test_harness_1_4_1::{ boojum::pairing::{bls12_381::G1Compressed, EncodedPoint}, kzg::{verify_kzg_proof, verify_proof_poly}, - zkevm_circuits::eip_4844::{ - ethereum_4844_data_into_zksync_pubdata, zksync_pubdata_into_monomial_form_poly, - }, }; use super::KzgInfo; From 070a9d02c268a0b152b02ae961592ac4ac351d37 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 10:41:39 -0500 Subject: [PATCH 15/35] bump shlex version --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 52bec63fbc9..cf39c2e9b69 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6556,9 +6556,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" From 6703798e36d9a307cd0e900501a48ac15b1b3838 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 10:54:40 -0500 Subject: [PATCH 16/35] lint fix --- core/lib/types/src/kzg.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index abac47f4d3d..a7b81375419 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -63,7 +63,7 @@ fn commitment_to_versioned_hash(kzg_commitment: G1Affine) -> [u8; 32] { /// this point by hashing together the linear hash and versioned hash and only taking the last 16 bytes fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u128 { let evaluation_point = &Keccak256::digest( - &linear_hash + linear_hash .iter() .chain(&versioned_hash) .map(|x| *x) @@ -294,12 +294,12 @@ mod tests { assert_eq!(bytes.len(), 32); let mut ret = [0u64; 4]; - for i in 0..ret.len() { + for (i, item) in ret.iter_mut().enumerate() { let mut repr = [0u8; 8]; let end = 32 - (8 * i); let beg = 32 - (8 * (i + 1)); repr.copy_from_slice(&bytes[beg..end]); - ret[i] = u64::from_be_bytes(repr); + *item = u64::from_be_bytes(repr); } Fr::from_repr(FrRepr(ret)).unwrap() From 891f1e09efc2de2dfee870494b4385023573de73 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 11:10:41 -0500 Subject: [PATCH 17/35] swap closure for fn --- core/lib/types/src/kzg.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index a7b81375419..21026207edb 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -66,7 +66,7 @@ fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u12 linear_hash .iter() .chain(&versioned_hash) - .map(|x| *x) + .copied() .collect::>(), )[16..]; From 6829bef1bff9ab19959290ea20752e6e4eb85960 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 12:26:24 -0500 Subject: [PATCH 18/35] update prover cargo lock --- prover/Cargo.lock | 550 +++++++++++++++++++++++++++++----------------- 1 file changed, 350 insertions(+), 200 deletions(-) diff --git a/prover/Cargo.lock b/prover/Cargo.lock index 4e5b5bc1763..e57b8085962 100644 --- a/prover/Cargo.lock +++ b/prover/Cargo.lock @@ -97,12 +97,54 @@ dependencies = [ "winapi", ] +[[package]] +name = "anstream" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + [[package]] name = "anstyle" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +[[package]] +name = "anstyle-parse" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + [[package]] name = "anyhow" version = "1.0.79" @@ -174,7 +216,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -185,7 +227,7 @@ version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -261,9 +303,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.6" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c79fed4cdb43e993fcdadc7e58a09fd0e3e649c4436fa11da71c9f1f3ee7feb9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -357,7 +399,7 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "regex", "rustc-hash", @@ -367,11 +409,11 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.69.1" +version = "0.69.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2" +checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cexpr", "clang-sys", "lazy_static", @@ -379,7 +421,7 @@ dependencies = [ "log", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "regex", "rustc-hash", @@ -414,9 +456,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" dependencies = [ "serde", ] @@ -575,7 +617,7 @@ dependencies = [ [[package]] name = "boojum-cuda" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum-cuda?branch=main#9df96d38a608b1aa78cd824d54112cd17b0d2537" +source = "git+https://github.com/matter-labs/era-boojum-cuda?branch=main#97bdb63e71b5f5269c7d95a7b968125c024bff3b" dependencies = [ "boojum", "cmake", @@ -602,8 +644,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7aadb5b6ccbd078890f6d7003694e33816e6b784358f18e15e7e6d9f065a57cd" dependencies = [ "once_cell", - "proc-macro-crate 3.0.0", - "proc-macro2 1.0.76", + "proc-macro-crate 3.1.0", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", "syn_derive", @@ -638,7 +680,7 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -748,9 +790,9 @@ checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", @@ -758,14 +800,14 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] name = "ciborium" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", @@ -774,15 +816,15 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", @@ -813,7 +855,21 @@ dependencies = [ "serde", "snark_wrapper", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", +] + +[[package]] +name = "circuit_definitions" +version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" +dependencies = [ + "crossbeam 0.8.4", + "derivative", + "seq-macro", + "serde", + "snark_wrapper", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] [[package]] @@ -852,18 +908,18 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.14" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33e92c5c1a78c62968ec57dbc2440366a2d6e5a23faf829970ff1585dc6b18e2" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ "clap_builder", ] [[package]] name = "clap_builder" -version = "4.4.14" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4323769dc8a61e2c39ad7dc26f6f2800524691a44d74fe3d1071a5c24db6370" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ "anstyle", "clap_lex", @@ -909,6 +965,12 @@ dependencies = [ "indexmap 1.9.3", ] +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "combine" version = "4.6.6" @@ -951,7 +1013,7 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "unicode-xid 0.2.4", ] @@ -1035,7 +1097,7 @@ dependencies = [ "anes", "cast", "ciborium", - "clap 4.4.14", + "clap 4.4.18", "criterion-plot", "is-terminal", "itertools 0.10.5", @@ -1246,7 +1308,7 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-boojum?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -1257,7 +1319,7 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-sync_vm.git?branch=v1.3.3#ed8ab8984cae05d00d9d62196753c8d40df47c7d" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "serde", "syn 1.0.109", @@ -1278,7 +1340,7 @@ name = "cudart" version = "0.1.0" source = "git+https://github.com/matter-labs/era-cuda?branch=main#59a4e62e5264d01e84f4ac9d85541bc3e661e9f0" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "criterion", "cudart-sys", "paste", @@ -1289,7 +1351,7 @@ name = "cudart-sys" version = "0.1.0" source = "git+https://github.com/matter-labs/era-cuda?branch=main#59a4e62e5264d01e84f4ac9d85541bc3e661e9f0" dependencies = [ - "bindgen 0.69.1", + "bindgen 0.69.2", "serde_json", ] @@ -1346,7 +1408,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -1369,7 +1431,7 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "strsim 0.10.0", "syn 1.0.109", @@ -1446,7 +1508,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -1458,7 +1520,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "rustc_version", "syn 1.0.109", @@ -1614,6 +1676,16 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" version = "0.9.3" @@ -1629,10 +1701,23 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.1" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +dependencies = [ + "log", +] + +[[package]] +name = "env_logger" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b3f3e67048839cb0d0781f445682a35113da7121f7c949db0e2be96a4fbece" +checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8" dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", "log", ] @@ -1779,7 +1864,7 @@ dependencies = [ "num-bigint 0.4.4", "num-integer", "num-traits", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "serde", "syn 1.0.109", @@ -2030,7 +2115,7 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -2113,7 +2198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1087f1fbd2dd3f58c17c7574ddd99cd61cbbbc2c4dc81114b8687209b196cb" dependencies = [ "async-trait", - "base64 0.21.6", + "base64 0.21.7", "google-cloud-metadata", "google-cloud-token", "home", @@ -2147,7 +2232,7 @@ checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" dependencies = [ "async-stream", "async-trait", - "base64 0.21.6", + "base64 0.21.7", "bytes", "futures-util", "google-cloud-auth", @@ -2203,9 +2288,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.22" +version = "0.3.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d6250322ef6e60f93f9a2162799302cd6f68f79f6e5d85c8c16f14d1d958178" +checksum = "bb2c4422095b67ee78da96fbb51a4cc413b3b25883c7717ff7ca1ab31022c9c9" dependencies = [ "bytes", "fnv", @@ -2213,7 +2298,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.1", "slab", "tokio", "tokio-util", @@ -2222,15 +2307,19 @@ dependencies = [ [[package]] name = "half" -version = "1.8.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +dependencies = [ + "cfg-if 1.0.0", + "crunchy", +] [[package]] name = "handlebars" -version = "5.0.0" +version = "5.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94eae21d01d20dabef65d8eda734d83df6e2dea8166788804be9bd6bc92448fa" +checksum = "c73166c591e67fb4bf9bc04011b4e35f12e89fe8d676193aa263df065955a379" dependencies = [ "log", "pest", @@ -2283,7 +2372,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "bytes", "headers-core", "http", @@ -2330,9 +2419,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" [[package]] name = "hex" @@ -2551,7 +2640,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -2568,9 +2657,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -2597,7 +2686,7 @@ version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.4", "rustix", "windows-sys 0.52.0", ] @@ -2646,9 +2735,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" dependencies = [ "wasm-bindgen", ] @@ -2674,7 +2763,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "pem", "ring 0.16.20", "serde", @@ -2710,9 +2799,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -2781,9 +2870,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.14" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050" +checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" dependencies = [ "cc", "libc", @@ -2806,22 +2895,22 @@ version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04e542a18c94a9b6fcc7adb090fa3ba6b79ee220a16404f325672729f32a66ff" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] [[package]] name = "linux-raw-sys" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "local-ip-address" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66357e687a569abca487dc399a9c9ac19beb3f13991ed49f00c144e02cbd42ab" +checksum = "612ed4ea9ce5acfb5d26339302528a5e1e59dfed95e9e11af3c083236ff1d15d" dependencies = [ "libc", "neli", @@ -2862,7 +2951,7 @@ checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ "beef", "fnv", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "regex-syntax 0.6.29", "syn 2.0.48", @@ -2949,7 +3038,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d4fa7ce7c4862db464a37b0b31d89bca874562f034bd7993895572783d02950" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "hyper", "indexmap 1.9.3", "ipnet", @@ -2967,7 +3056,7 @@ version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3005,7 +3094,7 @@ version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3090,7 +3179,7 @@ dependencies = [ "zk_evm 1.4.1", "zkevm_test_harness 1.3.3", "zkevm_test_harness 1.4.0", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_contracts", "zksync_state", "zksync_system_constants", @@ -3135,7 +3224,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c168194d373b1e134786274020dae7fc5513d565ea2ebb9bc9ff17ffb69106d4" dependencies = [ "either", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "serde", "syn 1.0.109", @@ -3147,7 +3236,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if 1.0.0", "libc", ] @@ -3282,7 +3371,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -3359,7 +3448,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.4", "libc", ] @@ -3379,7 +3468,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3413,11 +3502,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.62" +version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -3432,7 +3521,7 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3445,9 +3534,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.98" +version = "0.9.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" dependencies = [ "cc", "libc", @@ -3549,7 +3638,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ "proc-macro-crate 2.0.0", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -3642,7 +3731,7 @@ checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3665,25 +3754,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.1", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3733,9 +3822,9 @@ dependencies = [ [[package]] name = "pkg-config" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] name = "platforms" @@ -3795,7 +3884,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "syn 2.0.48", ] @@ -3833,9 +3922,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.0.0" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b2685dd208a3771337d8d386a89840f0f43cd68be8dae90a5f8c2384effc9cd" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ "toml_edit 0.21.0", ] @@ -3847,7 +3936,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", "version_check", @@ -3859,7 +3948,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "version_check", ] @@ -3881,9 +3970,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.76" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -3906,7 +3995,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3931,7 +4020,7 @@ checksum = "31b476131c3c86cb68032fdc5cb6d5a1045e3e42d96b69fa599fd77701e1f5bf" dependencies = [ "bit-set", "bit-vec", - "bitflags 2.4.1", + "bitflags 2.4.2", "lazy_static", "num-traits", "rand 0.8.5", @@ -3983,7 +4072,7 @@ checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", "itertools 0.11.0", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -3994,7 +4083,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "logos", "miette", "once_cell", @@ -4055,18 +4144,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] [[package]] name = "pulldown-cmark" -version = "0.9.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "memchr", "unicase", ] @@ -4123,7 +4212,7 @@ version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", ] [[package]] @@ -4210,9 +4299,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ "either", "rayon-core", @@ -4220,9 +4309,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque 0.8.5", "crossbeam-utils 0.8.19", @@ -4248,13 +4337,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -4269,9 +4358,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -4305,7 +4394,7 @@ version = "0.11.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37b1ae8d9ac08420c66222fb9096fc5de435c3c48542bc5336c51892cffafb41" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", @@ -4461,7 +4550,7 @@ version = "0.7.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -4551,11 +4640,11 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.28" +version = "0.38.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" +checksum = "322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", @@ -4580,7 +4669,7 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", ] [[package]] @@ -4851,9 +4940,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] @@ -4870,20 +4959,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.195" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.111" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" dependencies = [ "itoa", "ryu", @@ -4920,7 +5009,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ "darling", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -5031,9 +5120,9 @@ dependencies = [ [[package]] name = "shlex" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" @@ -5114,9 +5203,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.2" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" dependencies = [ "serde", ] @@ -5240,7 +5329,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.1.0", + "indexmap 2.2.1", "ipnetwork", "log", "memchr", @@ -5267,7 +5356,7 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "sqlx-core", "sqlx-macros-core", @@ -5286,7 +5375,7 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "serde", "serde_json", @@ -5308,9 +5397,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" dependencies = [ "atoi", - "base64 0.21.6", + "base64 0.21.7", "bigdecimal", - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", "bytes", "chrono", @@ -5353,9 +5442,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" dependencies = [ "atoi", - "base64 0.21.6", + "base64 0.21.7", "bigdecimal", - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", "chrono", "crc", @@ -5468,7 +5557,7 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 1.0.109", ] @@ -5489,7 +5578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "rustversion", "syn 1.0.109", @@ -5497,9 +5586,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" [[package]] name = "syn" @@ -5518,7 +5607,7 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "unicode-ident", ] @@ -5529,7 +5618,7 @@ version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "unicode-ident", ] @@ -5541,7 +5630,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -5630,7 +5719,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6159ab4116165c99fc88cce31f99fa2c9dbe08d3691cb38da02fc3b45f357d2b" dependencies = [ - "env_logger 0.10.1", + "env_logger 0.10.2", "test-log-macros", ] @@ -5640,7 +5729,7 @@ version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -5669,7 +5758,7 @@ version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -5790,7 +5879,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -5863,7 +5952,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.1", "toml_datetime", "winnow", ] @@ -5874,7 +5963,7 @@ version = "0.20.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.1", "toml_datetime", "winnow", ] @@ -5885,7 +5974,7 @@ version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.1", "toml_datetime", "winnow", ] @@ -5914,7 +6003,7 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -6034,9 +6123,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.14" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -6111,7 +6200,7 @@ version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" dependencies = [ - "base64 0.21.6", + "base64 0.21.7", "log", "native-tls", "once_cell", @@ -6136,11 +6225,17 @@ version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "serde", ] @@ -6200,7 +6295,7 @@ name = "vise-macros" version = "0.1.0" source = "git+https://github.com/matter-labs/vise.git?rev=1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1#1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -6224,7 +6319,7 @@ dependencies = [ "tracing", "vlog", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_config", "zksync_env_config", "zksync_prover_fri_types", @@ -6278,9 +6373,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -6288,14 +6383,14 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", "wasm-bindgen-shared", @@ -6303,9 +6398,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.39" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -6315,9 +6410,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" dependencies = [ "quote 1.0.35", "wasm-bindgen-macro-support", @@ -6325,11 +6420,11 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", "wasm-bindgen-backend", @@ -6338,9 +6433,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.89" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" [[package]] name = "wasm-streams" @@ -6357,9 +6452,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.66" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" dependencies = [ "js-sys", "wasm-bindgen", @@ -6372,7 +6467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" dependencies = [ "arrayvec 0.7.4", - "base64 0.21.6", + "base64 0.21.7", "bytes", "derive_more", "ethabi", @@ -6594,9 +6689,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.33" +version = "0.5.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7520bbdec7211caa7c4e682eb1fbe07abe20cee6756b6e00f537c82c11816aa" +checksum = "1931d78a9c73861da0134f453bb1f790ce49b2e30eba8410b4b79bac72b46a2d" dependencies = [ "memchr", ] @@ -6635,7 +6730,7 @@ version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -6655,7 +6750,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "quote 1.0.35", "syn 2.0.48", ] @@ -6823,7 +6918,28 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#70234e99c2492740226b9f40091e7fccc7ef28e9" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#873fe0fcf0bb8df6be0ae1938ce8469d6bf63ebd" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum?branch=main)", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d#a92f73b5a471eefc98a10ceaa8eab4566ae6519d" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -6857,7 +6973,7 @@ name = "zkevm_opcode_defs" version = "1.3.2" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#dffacadeccdfdbff4bc124d44c595c4a6eae5013" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", "ethereum-types", "k256 0.11.6", @@ -6871,7 +6987,7 @@ name = "zkevm_opcode_defs" version = "1.4.1" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types", "k256 0.13.3", @@ -6890,7 +7006,7 @@ dependencies = [ "codegen 0.2.0", "crossbeam 0.8.4", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", "hex", "num-bigint 0.4.4", "num-integer", @@ -6917,7 +7033,7 @@ dependencies = [ "codegen 0.2.0", "crossbeam 0.8.4", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", "hex", "rand 0.4.6", "rayon", @@ -6941,7 +7057,36 @@ dependencies = [ "crossbeam 0.8.4", "curl", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", + "hex", + "lazy_static", + "rand 0.4.6", + "rayon", + "reqwest", + "rescue_poseidon 0.4.1 (git+https://github.com/matter-labs/rescue-poseidon.git?branch=poseidon2)", + "serde", + "serde_json", + "smallvec", + "snark_wrapper", + "structopt", + "test-log", + "tracing", + "walkdir", + "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", +] + +[[package]] +name = "zkevm_test_harness" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" +dependencies = [ + "bincode", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", + "codegen 0.2.0", + "crossbeam 0.8.4", + "curl", + "derivative", + "env_logger 0.11.1", "hex", "lazy_static", "rand 0.4.6", @@ -7191,7 +7336,7 @@ dependencies = [ "vk_setup_data_generator_server_fri", "vlog", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_config", "zksync_dal", "zksync_env_config", @@ -7228,7 +7373,7 @@ dependencies = [ "anyhow", "heck 0.4.1", "prettyplease", - "proc-macro2 1.0.76", + "proc-macro2 1.0.78", "prost-build", "prost-reflect", "protox", @@ -7256,7 +7401,7 @@ dependencies = [ "vise", "vk_setup_data_generator_server_fri", "vlog", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_config", "zksync_dal", "zksync_env_config", @@ -7379,6 +7524,7 @@ dependencies = [ "chrono", "codegen 0.1.0", "hex", + "nom", "num 0.4.1", "num_enum", "once_cell", @@ -7388,9 +7534,13 @@ dependencies = [ "serde", "serde_json", "serde_with", + "sha2 0.10.8", + "sha3 0.10.8", "strum", "thiserror", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", "zksync_basic_types", "zksync_config", "zksync_contracts", @@ -7446,7 +7596,7 @@ dependencies = [ "vk_setup_data_generator_server_fri", "vlog", "zk_evm 1.4.1", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "zksync_config", "zksync_dal", "zksync_env_config", From 5dc9ffa1a9ff0fede673bfda662407e1e55fd5b0 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 12:49:41 -0500 Subject: [PATCH 19/35] use nom for byte parsing --- Cargo.lock | 25 ++++++++++++------------ core/lib/types/Cargo.toml | 4 +++- core/lib/types/src/kzg.rs | 40 ++++++++++++++++++++++----------------- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c01b01c353b..1778d9e7703 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1206,35 +1206,34 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" dependencies = [ "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", - "zk_evm 1.4.0", - "zkevm_circuits 1.4.0", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" dependencies = [ "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", + "zk_evm 1.4.0", + "zkevm_circuits 1.4.0", ] [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" dependencies = [ "crossbeam 0.8.4", "derivative", @@ -8235,15 +8234,14 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" dependencies = [ "bincode", - "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "circuit_definitions 0.1.0", "codegen 0.2.0", "crossbeam 0.8.4", "curl", "derivative", - "env_logger 0.11.1", + "env_logger 0.9.3", "hex", "lazy_static", "rand 0.4.6", @@ -8264,10 +8262,10 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" dependencies = [ "bincode", - "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "codegen 0.2.0", "crossbeam 0.8.4", "curl", @@ -9041,6 +9039,7 @@ dependencies = [ "chrono", "codegen 0.1.0", "hex", + "nom", "num 0.4.1", "num_enum", "once_cell", @@ -9057,7 +9056,7 @@ dependencies = [ "tokio", "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", + "zkevm_test_harness 1.4.1", "zksync_basic_types", "zksync_config", "zksync_contracts", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index bff3f29abdb..59a59c70025 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -21,7 +21,8 @@ zksync_config = { path = "../config" } codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5b3d383d7a65b0fbe2a771fecf4313f5083be9ae" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } +# zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", path = "/Users/kolodnyz/Documents/projects/era-zkevm_test_harness" } zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } anyhow = "1.0.75" @@ -39,6 +40,7 @@ hex = "0.4" prost = "0.12.1" sha2 = "0.10.8" sha3 = "0.10.8" +nom = "7.1.3" # Crypto stuff secp256k1 = { version = "0.27", features = ["recovery", "global-context"] } diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 712fda7fe04..2b6ce1761ad 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -1,5 +1,6 @@ use std::convert::TryInto; +use nom::bytes::streaming::take; use sha2::Sha256; use sha3::{Digest, Keccak256}; use zkevm_circuits::{ @@ -95,37 +96,42 @@ impl KzgInfo { pub fn from_slice(data: &[u8]) -> Self { assert_eq!(data.len(), Self::SERIALIZED_SIZE); - let mut ptr = 0; - + let (data, blob_bytes) = + take::(EIP_4844_BYTES_PER_BLOB)(data).expect("Missing data - blob"); let mut blob = [0u8; EIP_4844_BYTES_PER_BLOB]; - blob.copy_from_slice(&data[ptr..ptr + EIP_4844_BYTES_PER_BLOB]); - ptr += EIP_4844_BYTES_PER_BLOB; + blob.copy_from_slice(blob_bytes); + let (data, kzg_bytes) = + take::(48)(data).expect("Missing data - kzg commitment"); let mut kzg_commitment = [0u8; 48]; - kzg_commitment.copy_from_slice(&data[ptr..ptr + 48]); - ptr += 48; + kzg_commitment.copy_from_slice(kzg_bytes); + let (data, opening_point_bytes) = + take::(32)(data).expect("Missing data - opening point"); let mut opening_point = [0u8; 32]; - opening_point.copy_from_slice(&data[ptr..ptr + 32]); - ptr += 32; + opening_point.copy_from_slice(opening_point_bytes); + let (data, opening_value_bytes) = + take::(32)(data).expect("Missing data - opening value"); let mut opening_value = [0u8; 32]; - opening_value.copy_from_slice(&data[ptr..ptr + 32]); - ptr += 32; + opening_value.copy_from_slice(opening_value_bytes); + let (data, opening_proof_bytes) = + take::(48)(data).expect("Missing data - opening proof"); let mut opening_proof = [0u8; 48]; - opening_proof.copy_from_slice(&data[ptr..ptr + 48]); - ptr += 48; + opening_proof.copy_from_slice(opening_proof_bytes); + let (data, versioned_hash_bytes) = + take::(32)(data).expect("Missing data - versioned hash"); let mut versioned_hash = [0u8; 32]; - versioned_hash.copy_from_slice(&data[ptr..ptr + 32]); - ptr += 32; + versioned_hash.copy_from_slice(versioned_hash_bytes); + let (data, blob_proof_bytes) = + take::(48)(data).expect("Missing data - blob proof"); let mut blob_proof = [0u8; 48]; - blob_proof.copy_from_slice(&data[ptr..ptr + 48]); - ptr += 48; + blob_proof.copy_from_slice(blob_proof_bytes); - assert_eq!(ptr, Self::SERIALIZED_SIZE); + assert_eq!(data.len(), 0); Self { blob, From 6ee4dd923ad19ec4cb2269a6995793860b80fbc3 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 13:12:33 -0500 Subject: [PATCH 20/35] removed local dependency --- Cargo.lock | 26 ++++++++++++++------------ core/lib/types/Cargo.toml | 3 +-- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1778d9e7703..3bb54e01176 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1206,34 +1206,35 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" dependencies = [ "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", + "zk_evm 1.4.0", + "zkevm_circuits 1.4.0", ] [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" dependencies = [ "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", - "zk_evm 1.4.0", - "zkevm_circuits 1.4.0", + "zk_evm 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" dependencies = [ "crossbeam 0.8.4", "derivative", @@ -8234,14 +8235,15 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" dependencies = [ "bincode", - "circuit_definitions 0.1.0", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "codegen 0.2.0", "crossbeam 0.8.4", "curl", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", "hex", "lazy_static", "rand 0.4.6", @@ -8262,15 +8264,15 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" dependencies = [ "bincode", - "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", "codegen 0.2.0", "crossbeam 0.8.4", "curl", "derivative", - "env_logger 0.11.1", + "env_logger 0.9.3", "hex", "lazy_static", "rand 0.4.6", @@ -9056,7 +9058,7 @@ dependencies = [ "tokio", "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1", + "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", "zksync_basic_types", "zksync_config", "zksync_contracts", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 59a59c70025..83e6eb91c51 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -21,8 +21,7 @@ zksync_config = { path = "../config" } codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5b3d383d7a65b0fbe2a771fecf4313f5083be9ae" } -# zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", path = "/Users/kolodnyz/Documents/projects/era-zkevm_test_harness" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } anyhow = "1.0.75" From d364a9f254e7e6e50c807093ea94ca1266045503 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 13:38:58 -0500 Subject: [PATCH 21/35] remove unused trusted setup file --- trusted_setup.txt | 4163 --------------------------------------------- 1 file changed, 4163 deletions(-) delete mode 100644 trusted_setup.txt diff --git a/trusted_setup.txt b/trusted_setup.txt deleted file mode 100644 index e4db7d1dd98..00000000000 --- a/trusted_setup.txt +++ /dev/null @@ -1,4163 +0,0 @@ -4096 -65 -a0413c0dcafec6dbc9f47d66785cf1e8c981044f7d13cfe3e4fcbb71b5408dfde6312493cb3c1d30516cb3ca88c03654 -8b997fb25730d661918371bb41f2a6e899cac23f04fc5365800b75433c0a953250e15e7a98fb5ca5cc56a8cd34c20c57 -83302852db89424d5699f3f157e79e91dc1380f8d5895c5a772bb4ea3a5928e7c26c07db6775203ce33e62a114adaa99 -a759c48b7e4a685e735c01e5aa6ef9c248705001f470f9ad856cd87806983e917a8742a3bd5ee27db8d76080269b7c83 -967f8dc45ebc3be14c8705f43249a30ff48e96205fb02ae28daeab47b72eb3f45df0625928582aa1eb4368381c33e127 -a418eb1e9fb84cb32b370610f56f3cb470706a40ac5a47c411c464299c45c91f25b63ae3fcd623172aa0f273c0526c13 -8f44e3f0387293bc7931e978165abbaed08f53acd72a0a23ac85f6da0091196b886233bcee5b4a194db02f3d5a9b3f78 -97173434b336be73c89412a6d70d416e170ea355bf1956c32d464090b107c090ef2d4e1a467a5632fbc332eeb679bf2d -a24052ad8d55ad04bc5d951f78e14213435681594110fd18173482609d5019105b8045182d53ffce4fc29fc8810516c1 -b950768136b260277590b5bec3f56bbc2f7a8bc383d44ce8600e85bf8cf19f479898bcc999d96dfbd2001ede01d94949 -92ab8077871037bd3b57b95cbb9fb10eb11efde9191690dcac655356986fd02841d8fdb25396faa0feadfe3f50baf56d -a79b096dff98038ac30f91112dd14b78f8ad428268af36d20c292e2b3b6d9ed4fb28480bb04e465071cc67d05786b6d1 -b9ff71461328f370ce68bf591aa7fb13027044f42a575517f3319e2be4aa4843fa281e756d0aa5645428d6dfa857cef2 -8d765808c00b3543ff182e2d159c38ae174b12d1314da88ea08e13bd9d1c37184cb515e6bf6420531b5d41767987d7ce -b8c9a837d20c3b53e6f578e4a257bb7ef8fc43178614ec2a154915b267ad2be135981d01ed2ee1b5fbd9d9bb27f0800a -a9773d92cf23f65f98ef68f6cf95c72b53d0683af2f9bf886bb9036e4a38184b1131b26fd24397910b494fbef856f3aa -b41ebe38962d112da4a01bf101cb248d808fbd50aaf749fc7c151cf332032eb3e3bdbd716db899724b734d392f26c412 -90fbb030167fb47dcc13d604a726c0339418567c1d287d1d87423fa0cb92eec3455fbb46bcbe2e697144a2d3972142e4 -b11d298bd167464b35fb923520d14832bd9ed50ed841bf6d7618424fd6f3699190af21759e351b89142d355952149da1 -8bc36066f69dc89f7c4d1e58d67497675050c6aa002244cebd9fc957ec5e364c46bab4735ea3db02b73b3ca43c96e019 -ab7ab92c5d4d773068e485aa5831941ebd63db7118674ca38089635f3b4186833af2455a6fb9ed2b745df53b3ce96727 -af191ca3089892cb943cd97cf11a51f38e38bd9be50844a4e8da99f27e305e876f9ed4ab0628e8ae3939066b7d34a15f -a3204c1747feabc2c11339a542195e7cb6628fd3964f846e71e2e3f2d6bb379a5e51700682ea1844eba12756adb13216 -903a29883846b7c50c15968b20e30c471aeac07b872c40a4d19eb1a42da18b649d5bbfde4b4cf6225d215a461b0deb6d -8e6e9c15ffbf1e16e5865a5fef7ed751dc81957a9757b535cb38b649e1098cda25d42381dc4f776778573cdf90c3e6e0 -a8f6dd26100b512a8c96c52e00715c4b2cb9ac457f17aed8ffe1cf1ea524068fe5a1ddf218149845fc1417b789ecfc98 -a5b0ffc819451ea639cfd1c18cbc9365cc79368d3b2e736c0ae54eba2f0801e6eb0ee14a5f373f4a70ca463bdb696c09 -879f91ccd56a1b9736fbfd20d8747354da743fb121f0e308a0d298ff0d9344431890e41da66b5009af3f442c636b4f43 -81bf3a2d9755e206b515a508ac4d1109bf933c282a46a4ae4a1b4cb4a94e1d23642fad6bd452428845afa155742ade7e -8de778d4742f945df40004964e165592f9c6b1946263adcdd5a88b00244bda46c7bb49098c8eb6b3d97a0dd46148a8ca -b7a57b21d13121907ee28c5c1f80ee2e3e83a3135a8101e933cf57171209a96173ff5037f5af606e9fd6d066de6ed693 -b0877d1963fd9200414a38753dffd9f23a10eb3198912790d7eddbc9f6b477019d52ddd4ebdcb9f60818db076938a5a9 -88da2d7a6611bc16adc55fc1c377480c828aba4496c645e3efe0e1a67f333c05a0307f7f1d2df8ac013602c655c6e209 -95719eb02e8a9dede1a888c656a778b1c69b7716fbe3d1538fe8afd4a1bc972183c7d32aa7d6073376f7701df80116d8 -8e8a1ca971f2444b35af3376e85dccda3abb8e8e11d095d0a4c37628dfe5d3e043a377c3de68289ef142e4308e9941a0 -b720caaff02f6d798ac84c4f527203e823ff685869e3943c979e388e1c34c3f77f5c242c6daa7e3b30e511aab917b866 -86040d55809afeec10e315d1ad950d269d37cfee8c144cd8dd4126459e3b15a53b3e68df5981df3c2346d23c7b4baaf4 -82d8cabf13ab853db0377504f0aec00dba3a5cd3119787e8ad378ddf2c40b022ecfc67c642b7acc8c1e3dd03ab50993e -b8d873927936719d2484cd03a6687d65697e17dcf4f0d5aed6f5e4750f52ef2133d4645894e7ebfc4ef6ce6788d404c8 -b1235594dbb15b674a419ff2b2deb644ad2a93791ca05af402823f87114483d6aa1689b7a9bea0f547ad12fe270e4344 -a53fda86571b0651f5affb74312551a082fffc0385cfd24c1d779985b72a5b1cf7c78b42b4f7e51e77055f8e5e915b00 -b579adcfd9c6ef916a5a999e77a0cb21d378c4ea67e13b7c58709d5da23a56c2e54218691fc4ac39a4a3d74f88cc31f7 -ab79e584011713e8a2f583e483a91a0c2a40771b77d91475825b5acbea82db4262132901cb3e4a108c46d7c9ee217a4e -a0fe58ea9eb982d7654c8aaf9366230578fc1362f6faae0594f8b9e659bcb405dff4aac0c7888bbe07f614ecf0d800a6 -867e50e74281f28ecd4925560e2e7a6f8911b135557b688254623acce0dbc41e23ac3e706a184a45d54c586edc416eb0 -89f81b61adda20ea9d0b387a36d0ab073dc7c7cbff518501962038be19867042f11fcc7ff78096e5d3b68c6d8dc04d9b -a58ee91bb556d43cf01f1398c5811f76dc0f11efdd569eed9ef178b3b0715e122060ec8f945b4dbf6eebfa2b90af6fa6 -ac460be540f4c840def2eef19fc754a9af34608d107cbadb53334cf194cc91138d53b9538fcd0ec970b5d4aa455b224a -b09b91f929de52c09d48ca0893be6eb44e2f5210a6c394689dc1f7729d4be4e11d0474b178e80cea8c2ac0d081f0e811 -8d37a442a76b06a02a4e64c2504aea72c8b9b020ab7bcc94580fe2b9603c7c50d7b1e9d70d2a7daea19c68667e8f8c31 -a9838d4c4e3f3a0075a952cf7dd623307ec633fcc81a7cf9e52e66c31780de33dbb3d74c320dc7f0a4b72f7a49949515 -a44766b6251af458fe4f5f9ed1e02950f35703520b8656f09fc42d9a2d38a700c11a7c8a0436ac2e5e9f053d0bb8ff91 -ad78d9481c840f5202546bea0d13c776826feb8b1b7c72e83d99a947622f0bf38a4208551c4c41beb1270d7792075457 -b619ffa8733b470039451e224b777845021e8dc1125f247a4ff2476cc774657d0ff9c5279da841fc1236047de9d81c60 -af760b0a30a1d6af3bc5cd6686f396bd41779aeeb6e0d70a09349bd5da17ca2e7965afc5c8ec22744198fbe3f02fb331 -a0cc209abdb768b589fcb7b376b6e1cac07743288c95a1cf1a0354b47f0cf91fca78a75c1fcafa6f5926d6c379116608 -864add673c89c41c754eeb3cd8dcff5cdde1d739fce65c30e474a082bb5d813cba6412e61154ce88fdb6c12c5d9be35b -b091443b0ce279327dc37cb484e9a5b69b257a714ce21895d67539172f95ffa326903747b64a3649e99aea7bb10d03f7 -a8c452b8c4ca8e0a61942a8e08e28f17fb0ef4c5b018b4e6d1a64038280afa2bf1169202f05f14af24a06ca72f448ccd -a23c24721d18bc48d5dcf70effcbef89a7ae24e67158d70ae1d8169ee75d9a051d34b14e9cf06488bac324fe58549f26 -92a730e30eb5f3231feb85f6720489dbb1afd42c43f05a1610c6b3c67bb949ec8fde507e924498f4ffc646f7b07d9123 -8dbe5abf4031ec9ba6bb06d1a47dd1121fb9e03b652804069250967fd5e9577d0039e233441b7f837a7c9d67ba18c28e -aa456bcfef6a21bb88181482b279df260297b3778e84594ebddbdf337e85d9e3d46ca1d0b516622fb0b103df8ec519b7 -a3b31ae621bd210a2b767e0e6f22eb28fe3c4943498a7e91753225426168b9a26da0e02f1dc5264da53a5ad240d9f51b -aa8d66857127e6e71874ce2202923385a7d2818b84cb73a6c42d71afe70972a70c6bdd2aad1a6e8c5e4ca728382a8ea8 -ac7e8e7a82f439127a5e40558d90d17990f8229852d21c13d753c2e97facf077cf59582b603984c3dd3faebd80aff4f5 -93a8bcf4159f455d1baa73d2ef2450dcd4100420de84169bbe28b8b7a5d1746273f870091a87a057e834f754f34204b1 -89d0ebb287c3613cdcae7f5acc43f17f09c0213fc40c074660120b755d664109ffb9902ed981ede79e018ddb0c845698 -a87ccbfad431406aadbee878d9cf7d91b13649d5f7e19938b7dfd32645a43b114eef64ff3a13201398bd9b0337832e5a -833c51d0d0048f70c3eefb4e70e4ff66d0809c41838e8d2c21c288dd3ae9d9dfaf26d1742bf4976dab83a2b381677011 -8bcd6b1c3b02fffead432e8b1680bad0a1ac5a712d4225e220690ee18df3e7406e2769e1f309e2e803b850bc96f0e768 -b61e3dbd88aaf4ff1401521781e2eea9ef8b66d1fac5387c83b1da9e65c2aa2a56c262dea9eceeb4ad86c90211672db0 -866d3090db944ecf190dd0651abf67659caafd31ae861bab9992c1e3915cb0952da7c561cc7e203560a610f48fae633b -a5e8971543c14274a8dc892b0be188c1b4fbc75c692ed29f166e0ea80874bc5520c2791342b7c1d2fb5dd454b03b8a5b -8f2f9fc50471bae9ea87487ebd1bc8576ef844cc42d606af5c4c0969670fdf2189afd643e4de3145864e7773d215f37f -b1bb0f2527db6d51f42b9224383c0f96048bbc03d469bf01fe1383173ef8b1cc9455d9dd8ba04d46057f46949bfc92b5 -aa7c99d906b4d7922296cfe2520473fc50137c03d68b7865c5bfb8adbc316b1034310ec4b5670c47295f4a80fb8d61e9 -a5d1da4d6aba555919df44cbaa8ff79378a1c9e2cfdfbf9d39c63a4a00f284c5a5724e28ecbc2d9dba27fe4ee5018bd5 -a8db53224f70af4d991b9aae4ffe92d2aa5b618ad9137784b55843e9f16cefbfd25ada355d308e9bbf55f6d2f7976fb3 -b6536c4232bb20e22af1a8bb12de76d5fec2ad9a3b48af1f38fa67e0f8504ef60f305a73d19385095bb6a9603fe29889 -87f7e371a1817a63d6838a8cf4ab3a8473d19ce0d4f40fd013c03d5ddd5f4985df2956531cc9f187928ef54c68f4f9a9 -ae13530b1dbc5e4dced9d909ea61286ec09e25c12f37a1ed2f309b0eb99863d236c3b25ed3484acc8c076ad2fa8cd430 -98928d850247c6f7606190e687d5c94a627550198dbdbea0161ef9515eacdb1a0f195cae3bb293112179082daccf8b35 -918528bb8e6a055ad4db6230d3a405e9e55866da15c4721f5ddd1f1f37962d4904aad7a419218fe6d906fe191a991806 -b71e31a06afe065773dd3f4a6e9ef81c3292e27a3b7fdfdd452d03e05af3b6dd654c355f7516b2a93553360c6681a73a -8870b83ab78a98820866f91ac643af9f3ff792a2b7fda34185a9456a63abdce42bfe8ad4dc67f08a6392f250d4062df4 -91eea1b668e52f7a7a5087fabf1cab803b0316f78d9fff469fbfde2162f660c250e4336a9eea4cb0450bd30ac067bc8b -8b74990946de7b72a92147ceac1bd9d55999a8b576e8df68639e40ed5dc2062cfcd727903133de482b6dca19d0aaed82 -8ebad537fece090ebbab662bdf2618e21ca30cf6329c50935e8346d1217dcbe3c1fe1ea28efca369c6003ce0a94703c1 -a8640479556fb59ebd1c40c5f368fbd960932fdbb782665e4a0e24e2bdb598fc0164ce8c0726d7759cfc59e60a62e182 -a9a52a6bf98ee4d749f6d38be2c60a6d54b64d5cbe4e67266633dc096cf28c97fe998596707d31968cbe2064b72256bf -847953c48a4ce6032780e9b39d0ed4384e0be202c2bbe2dfda3910f5d87aa5cd3c2ffbfcfae4dddce16d6ab657599b95 -b6f6e1485d3ec2a06abaecd23028b200b2e4a0096c16144d07403e1720ff8f9ba9d919016b5eb8dc5103880a7a77a1d3 -98dfc2065b1622f596dbe27131ea60bef7a193b12922cecb27f8c571404f483014f8014572e86ae2e341ab738e4887ef -acb0d205566bacc87bbe2e25d10793f63f7a1f27fd9e58f4f653ceae3ffeba511eaf658e068fad289eeb28f9edbeb35b -ae4411ed5b263673cee894c11fe4abc72a4bf642d94022a5c0f3369380fcdfc1c21e277f2902972252503f91ada3029a -ac4a7a27ba390a75d0a247d93d4a8ef1f0485f8d373a4af4e1139369ec274b91b3464d9738eeaceb19cd6f509e2f8262 -87379c3bf231fdafcf6472a79e9e55a938d851d4dd662ab6e0d95fd47a478ed99e2ad1e6e39be3c0fc4f6d996a7dd833 -81316904b035a8bcc2041199a789a2e6879486ba9fddcba0a82c745cc8dd8374a39e523b91792170cd30be7aa3005b85 -b8206809c6cd027ed019f472581b45f7e12288f89047928ba32b4856b6560ad30395830d71e5e30c556f6f182b1fe690 -88d76c028f534a62e019b4a52967bb8642ede6becfa3807be68fdd36d366fc84a4ac8dc176e80a68bc59eb62caf5dff9 -8c3b8be685b0f8aad131ee7544d0e12f223f08a6f8edaf464b385ac644e0ddc9eff7cc7cb5c1b50ab5d71ea0f41d2213 -8d91410e004f76c50fdc05784157b4d839cb5090022c629c7c97a5e0c3536eeafee17a527b54b1165c3cd81774bb54ce -b25c2863bc28ec5281ce800ddf91a7e1a53f4c6d5da1e6c86ef4616e93bcf55ed49e297216d01379f5c6e7b3c1e46728 -865f7b09ac3ca03f20be90c48f6975dd2588838c2536c7a3532a6aa5187ed0b709cd03d91ff4048061c10d0aa72b69ce -b3f7477c90c11596eb4f8bbf34adbcb832638c4ff3cdd090d4d477ee50472ac9ddaf5be9ad7eca3f148960d362bbd098 -8db35fd53fca04faecd1c76a8227160b3ab46ac1af070f2492445a19d8ff7c25bbaef6c9fa0c8c088444561e9f7e4eb2 -a478b6e9d058a2e01d2fc053b739092e113c23a6a2770a16afbef044a3709a9e32f425ace9ba7981325f02667c3f9609 -98caa6bd38916c08cf221722a675a4f7577f33452623de801d2b3429595f988090907a7e99960fff7c076d6d8e877b31 -b79aaaacefc49c3038a14d2ac468cfec8c2161e88bdae91798d63552cdbe39e0e02f9225717436b9b8a40a022c633c6e -845a31006c680ee6a0cc41d3dc6c0c95d833fcf426f2e7c573fa15b2c4c641fbd6fe5ebb0e23720cc3467d6ee1d80dc4 -a1bc287e272cf8b74dbf6405b3a5190883195806aa351f1dc8e525aa342283f0a35ff687e3b434324dedee74946dd185 -a4fd2dc8db75d3783a020856e2b3aa266dc6926e84f5c491ef739a3bddd46dc8e9e0fc1177937839ef1b18d062ffbb9e -acbf0d3c697f57c202bb8c5dc4f3fc341b8fc509a455d44bd86acc67cad2a04495d5537bcd3e98680185e8aa286f2587 -a5caf423a917352e1b8e844f5968a6da4fdeae467d10c6f4bbd82b5eea46a660b82d2f5440d3641c717b2c3c9ed0be52 -8a39d763c08b926599ab1233219c49c825368fad14d9afc7c0c039224d37c00d8743293fd21645bf0b91eaf579a99867 -b2b53a496def0ba06e80b28f36530fbe0fb5d70a601a2f10722e59abee529369c1ae8fd0f2db9184dd4a2519bb832d94 -a73980fcef053f1b60ebbb5d78ba6332a475e0b96a0c724741a3abf3b59dd344772527f07203cf4c9cb5155ebed81fa0 -a070d20acce42518ece322c9db096f16aed620303a39d8d5735a0df6e70fbeceb940e8d9f5cc38f3314b2240394ec47b -a50cf591f522f19ca337b73089557f75929d9f645f3e57d4f241e14cdd1ea3fb48d84bcf05e4f0377afbb789fbdb5d20 -82a5ffce451096aca8eeb0cd2ae9d83db3ed76da3f531a80d9a70a346359bf05d74863ce6a7c848522b526156a5e20cd -88e0e84d358cbb93755a906f329db1537c3894845f32b9b0b691c29cbb455373d9452fadd1e77e20a623f6eaf624de6f -aa07ac7b84a6d6838826e0b9e350d8ec75e398a52e9824e6b0da6ae4010e5943fec4f00239e96433f291fef9d1d1e609 -ac8887bf39366034bc63f6cc5db0c26fd27307cbc3d6cce47894a8a019c22dd51322fb5096edc018227edfafc053a8f6 -b7d26c26c5b33f77422191dca94977588ab1d4b9ce7d0e19c4a3b4cd1c25211b78c328dbf81e755e78cd7d1d622ad23e -99a676d5af49f0ba44047009298d8474cabf2d5bca1a76ba21eff7ee3c4691a102fdefea27bc948ccad8894a658abd02 -b0d09a91909ab3620c183bdf1d53d43d39eb750dc7a722c661c3de3a1a5d383ad221f71bae374f8a71867505958a3f76 -84681a883de8e4b93d68ac10e91899c2bbb815ce2de74bb48a11a6113b2a3f4df8aceabda1f5f67bc5aacac8c9da7221 -9470259957780fa9b43521fab3644f555f5343281c72582b56d2efd11991d897b3b481cafa48681c5aeb80c9663b68f7 -ab1b29f7ece686e6fa968a4815da1d64f3579fed3bc92e1f3e51cd13a3c076b6cf695ed269d373300a62463dc98a4234 -8ab415bfcd5f1061f7687597024c96dd9c7cb4942b5989379a7a3b5742f7d394337886317659cbeacaf030234a24f972 -b9b524aad924f9acc63d002d617488f31b0016e0f0548f050cada285ce7491b74a125621638f19e9c96eabb091d945be -8c4c373e79415061837dd0def4f28a2d5d74d21cb13a76c9049ad678ca40228405ab0c3941df49249847ecdefc1a5b78 -a8edf4710b5ab2929d3db6c1c0e3e242261bbaa8bcec56908ddadd7d2dad2dca9d6eb9de630b960b122ebeea41040421 -8d66bb3b50b9df8f373163629f9221b3d4b6980a05ea81dc3741bfe9519cf3ebba7ab98e98390bae475e8ede5821bd5c -8d3c21bae7f0cfb97c56952bb22084b58e7bb718890935b73103f33adf5e4d99cd262f929c6eeab96209814f0dbae50a -a5c66cfab3d9ebf733c4af24bebc97070e7989fe3c73e79ac85fb0e4d40ae44fb571e0fad4ad72560e13ed453900d14f -9362e6b50b43dbefbc3254471372297b5dcce809cd3b60bf74a1268ab68bdb50e46e462cbd78f0d6c056330e982846af -854630d08e3f0243d570cc2e856234cb4c1a158d9c1883bf028a76525aaa34be897fe918d5f6da9764a3735fa9ebd24a -8c7d246985469ff252c3f4df6c7c9196fc79f05c1c66a609d84725c78001d0837c7a7049394ba5cf7e863e2d58af8417 -ae050271e01b528925302e71903f785b782f7bf4e4e7a7f537140219bc352dc7540c657ed03d3a297ad36798ecdb98cd -8d2ae9179fcf2b0c69850554580b52c1f4a5bd865af5f3028f222f4acad9c1ad69a8ef6c7dc7b03715ee5c506b74325e -b8ef8de6ce6369a8851cd36db0ccf00a85077e816c14c4e601f533330af9e3acf0743a95d28962ed8bfcfc2520ef3cfe -a6ecad6fdfb851b40356a8b1060f38235407a0f2706e7b8bb4a13465ca3f81d4f5b99466ac2565c60af15f022d26732e -819ff14cdea3ab89d98e133cd2d0379361e2e2c67ad94eeddcdb9232efd509f51d12f4f03ebd4dd953bd262a886281f7 -8561cd0f7a6dbcddd83fcd7f472d7dbcba95b2d4fb98276f48fccf69f76d284e626d7e41314b633352df8e6333fd52a1 -b42557ccce32d9a894d538c48712cb3e212d06ac05cd5e0527ccd2db1078ee6ae399bf6a601ffdab1f5913d35fc0b20c -89b4008d767aad3c6f93c349d3b956e28307311a5b1cec237e8d74bb0dee7e972c24f347fd56afd915a2342bd7bc32f0 -877487384b207e53f5492f4e36c832c2227f92d1bb60542cfeb35e025a4a7afc2b885fae2528b33b40ab09510398f83e -8c411050b63c9053dd0cd81dacb48753c3d7f162028098e024d17cd6348482703a69df31ad6256e3d25a8bbf7783de39 -a8506b54a88d17ac10fb1b0d1fe4aa40eae7553a064863d7f6b52ccc4236dd4b82d01dca6ba87da9a239e3069ba879fb -b1a24caef9df64750c1350789bb8d8a0db0f39474a1c74ea9ba064b1516db6923f00af8d57c632d58844fb8786c3d47a -959d6e255f212b0708c58a2f75cb1fe932248c9d93424612c1b8d1e640149656059737e4db2139afd5556bcdacf3eda2 -84525af21a8d78748680b6535bbc9dc2f0cf9a1d1740d12f382f6ecb2e73811d6c1da2ad9956070b1a617c61fcff9fe5 -b74417d84597a485d0a8e1be07bf78f17ebb2e7b3521b748f73935b9afbbd82f34b710fb7749e7d4ab55b0c7f9de127d -a4a9aecb19a6bab167af96d8b9d9aa5308eab19e6bfb78f5a580f9bf89bdf250a7b52a09b75f715d651cb73febd08e84 -9777b30be2c5ffe7d29cc2803a562a32fb43b59d8c3f05a707ab60ec05b28293716230a7d264d7cd9dd358fc031cc13e -95dce7a3d4f23ac0050c510999f5fbf8042f771e8f8f94192e17bcbfa213470802ebdbe33a876cb621cf42e275cbfc8b -b0b963ebcbbee847ab8ae740478544350b3ac7e86887e4dfb2299ee5096247cd2b03c1de74c774d9bde94ae2ee2dcd59 -a4ab20bafa316030264e13f7ef5891a2c3b29ab62e1668fcb5881f50a9acac6adbe3d706c07e62f2539715db768f6c43 -901478a297669d608e406fe4989be75264b6c8be12169aa9e0ad5234f459ca377f78484ffd2099a2fe2db5e457826427 -88c76e5c250810c057004a03408b85cd918e0c8903dc55a0dd8bb9b4fc2b25c87f9b8cf5943eb19fbbe99d36490050c5 -91607322bbad4a4f03fc0012d0821eff5f8c516fda45d1ec1133bface6f858bf04b25547be24159cab931a7aa08344d4 -843203e07fce3c6c81f84bc6dc5fb5e9d1c50c8811ace522dc66e8658433a0ef9784c947e6a62c11bf705307ef05212e -91dd8813a5d6dddcda7b0f87f672b83198cd0959d8311b2b26fb1fae745185c01f796fbd03aad9db9b58482483fdadd8 -8d15911aacf76c8bcd7136e958febd6963104addcd751ce5c06b6c37213f9c4fb0ffd4e0d12c8e40c36d658999724bfd -8a36c5732d3f1b497ebe9250610605ee62a78eaa9e1a45f329d09aaa1061131cf1d9df00f3a7d0fe8ad614a1ff9caaae -a407d06affae03660881ce20dab5e2d2d6cddc23cd09b95502a9181c465e57597841144cb34d22889902aff23a76d049 -b5fd856d0578620a7e25674d9503be7d97a2222900e1b4738c1d81ff6483b144e19e46802e91161e246271f90270e6cf -91b7708869cdb5a7317f88c0312d103f8ce90be14fb4f219c2e074045a2a83636fdc3e69e862049fc7c1ef000e832541 -b64719cc5480709d1dae958f1d3082b32a43376da446c8f9f64cb02a301effc9c34d9102051733315a8179aed94d53cc -94347a9542ff9d18f7d9eaa2f4d9b832d0e535fe49d52aa2de08aa8192400eddabdb6444a2a78883e27c779eed7fdf5a -840ef44a733ff1376466698cd26f82cf56bb44811e196340467f932efa3ae1ef9958a0701b3b032f50fd9c1d2aed9ab5 -90ab3f6f67688888a31ffc2a882bb37adab32d1a4b278951a21646f90d03385fc976715fc639a785d015751171016f10 -b56f35d164c24b557dbcbc8a4bfa681ec916f8741ffcb27fb389c164f4e3ed2be325210ef5bdaeae7a172ca9599ab442 -a7921a5a80d7cf6ae81ba9ee05e0579b18c20cd2852762c89d6496aa4c8ca9d1ca2434a67b2c16d333ea8e382cdab1e3 -a506bcfbd7e7e5a92f68a1bd87d07ad5fe3b97aeee40af2bf2cae4efcd77fff03f872732c5b7883aa6584bee65d6f8cb -a8c46cff58931a1ce9cbe1501e1da90b174cddd6d50f3dfdfb759d1d4ad4673c0a8feed6c1f24c7af32865a7d6c984e5 -b45686265a83bff69e312c5149db7bb70ac3ec790dc92e392b54d9c85a656e2bf58596ce269f014a906eafc97461aa5f -8d4009a75ccb2f29f54a5f16684b93202c570d7a56ec1a8b20173269c5f7115894f210c26b41e8d54d4072de2d1c75d0 -aef8810af4fc676bf84a0d57b189760ddc3375c64e982539107422e3de2580b89bd27aa6da44e827b56db1b5555e4ee8 -888f0e1e4a34f48eb9a18ef4de334c27564d72f2cf8073e3d46d881853ac1424d79e88d8ddb251914890588937c8f711 -b64b0aa7b3a8f6e0d4b3499fe54e751b8c3e946377c0d5a6dbb677be23736b86a7e8a6be022411601dd75012012c3555 -8d57776f519f0dd912ea14f79fbab53a30624e102f9575c0bad08d2dc754e6be54f39b11278c290977d9b9c7c0e1e0ad -a018fc00d532ceb2e4de908a15606db9b6e0665dd77190e2338da7c87a1713e6b9b61554e7c1462f0f6d4934b960b15c -8c932be83ace46f65c78e145b384f58e41546dc0395270c1397874d88626fdeda395c8a289d602b4c312fe98c1311856 -89174838e21639d6bdd91a0621f04dc056907b88e305dd66e46a08f6d65f731dea72ae87ca5e3042d609e8de8de9aa26 -b7b7f508bb74f7a827ac8189daa855598ff1d96fa3a02394891fd105d8f0816224cd50ac4bf2ed1cf469ace516c48184 -b31877ad682583283baadd68dc1bebd83f5748b165aadd7fe9ef61a343773b88bcd3a022f36d6c92f339b7bfd72820a9 -b79d77260b25daf9126dab7a193df2d7d30542786fa1733ffaf6261734770275d3ca8bae1d9915d1181a78510b3439db -91894fb94cd4c1dd2ceaf9c53a7020c5799ba1217cf2d251ea5bc91ed26e1159dd758e98282ebe35a0395ef9f1ed15a0 -ab59895cdafd33934ceedfc3f0d5d89880482cba6c99a6db93245f9e41987efd76e0640e80aef31782c9a8c7a83fccec -aa22ea63654315e033e09d4d4432331904a6fc5fb1732557987846e3c564668ca67c60a324b4af01663a23af11a9ce4b -b53ba3ef342601467e1f71aa280e100fbabbd38518fa0193e0099505036ee517c1ac78e96e9baeb549bb6879bb698fb0 -943fd69fd656f37487cca3605dc7e5a215fddd811caf228595ec428751fc1de484a0cb84c667fe4d7c35599bfa0e5e34 -9353128b5ebe0dddc555093cf3e5942754f938173541033e8788d7331fafc56f68d9f97b4131e37963ab7f1c8946f5f1 -a76cd3c566691f65cfb86453b5b31dbaf3cab8f84fe1f795dd1e570784b9b01bdd5f0b3c1e233942b1b5838290e00598 -983d84b2e53ffa4ae7f3ba29ef2345247ea2377686b74a10479a0ef105ecf90427bf53b74c96dfa346d0f842b6ffb25b -92e0fe9063306894a2c6970c001781cff416c87e87cb5fbac927a3192655c3da4063e6fa93539f6ff58efac6adcc5514 -b00a81f03c2b8703acd4e2e4c21e06973aba696415d0ea1a648ace2b0ea19b242fede10e4f9d7dcd61c546ab878bc8f9 -b0d08d880f3b456a10bf65cff983f754f545c840c413aea90ce7101a66eb0a0b9b1549d6c4d57725315828607963f15a -90cb64d03534f913b411375cce88a9e8b1329ce67a9f89ca5df8a22b8c1c97707fec727dbcbb9737f20c4cf751359277 -8327c2d42590dfcdb78477fc18dcf71608686ad66c49bce64d7ee874668be7e1c17cc1042a754bbc77c9daf50b2dae07 -8532171ea13aa7e37178e51a6c775da469d2e26ec854eb16e60f3307db4acec110d2155832c202e9ba525fc99174e3b0 -83ca44b15393d021de2a511fa5511c5bd4e0ac7d67259dce5a5328f38a3cce9c3a269405959a2486016bc27bb140f9ff -b1d36e8ca812be545505c8214943b36cabee48112cf0de369957afa796d37f86bf7249d9f36e8e990f26f1076f292b13 -9803abf45be5271e2f3164c328d449efc4b8fc92dfc1225d38e09630909fe92e90a5c77618daa5f592d23fc3ad667094 -b268ad68c7bf432a01039cd889afae815c3e120f57930d463aece10af4fd330b5bd7d8869ef1bcf6b2e78e4229922edc -a4c91a0d6f16b1553264592b4cbbbf3ca5da32ab053ffbdd3dbb1aed1afb650fb6e0dc5274f71a51d7160856477228db -ad89d043c2f0f17806277ffdf3ecf007448e93968663f8a0b674254f36170447b7527d5906035e5e56f4146b89b5af56 -8b6964f757a72a22a642e4d69102951897e20c21449184e44717bd0681d75f7c5bfa5ee5397f6e53febf85a1810d6ed1 -b08f5cdaabec910856920cd6e836c830b863eb578423edf0b32529488f71fe8257d90aed4a127448204df498b6815d79 -af26bb3358be9d280d39b21d831bb53145c4527a642446073fee5a86215c4c89ff49a3877a7a549486262f6f57a0f476 -b4010b37ec4d7c2af20800e272539200a6b623ae4636ecbd0e619484f4ab9240d02bc5541ace3a3fb955dc0a3d774212 -82752ab52bdcc3cc2fc405cb05a2e694d3df4a3a68f2179ec0652536d067b43660b96f85f573f26fbd664a9ef899f650 -96d392dde067473a81faf2d1fea55b6429126b88b160e39b4210d31d0a82833ffd3a80e07d24d495aea2d96be7251547 -a76d8236d6671204d440c33ac5b8deb71fa389f6563d80e73be8b043ec77d4c9b06f9a586117c7f957f4af0331cbc871 -b6c90961f68b5e385d85c9830ec765d22a425f506904c4d506b87d8944c2b2c09615e740ed351df0f9321a7b93979cae -a6ec5ea80c7558403485b3b1869cdc63bde239bafdf936d9b62a37031628402a36a2cfa5cfbb8e26ac922cb0a209b3ba -8c3195bbdbf9bc0fc95fa7e3d7f739353c947f7767d1e3cb24d8c8602d8ea0a1790ac30b815be2a2ba26caa5227891e2 -a7f8a63d809f1155722c57f375ea00412b00147776ae4444f342550279ef4415450d6f400000a326bf11fea6c77bf941 -97fa404df48433a00c85793440e89bb1af44c7267588ae937a1f5d53e01e1c4d4fc8e4a6d517f3978bfdd6c2dfde012f -a984a0a3836de3d8d909c4629a2636aacb85393f6f214a2ef68860081e9db05ad608024762db0dc35e895dc00e2d4cdd -9526cf088ab90335add1db4d3a4ac631b58cbfbe88fa0845a877d33247d1cfeb85994522e1eb8f8874651bfb1df03e2a -ac83443fd0afe99ad49de9bf8230158c118e2814c9c89db5ac951c240d6c2ce45e7677221279d9e97848ec466b99aafe -aeeefdbaba612e971697798ceaf63b247949dc823a0ad771ae5b988a5e882b338a98d3d0796230f49d533ec5ba411b39 -ae3f248b5a7b0f92b7820a6c5ae21e5bd8f4265d4f6e21a22512079b8ee9be06393fd3133ce8ebac0faf23f4f8517e36 -a64a831b908eee784b8388b45447d2885ec0551b26b0c2b15e5f417d0a12c79e867fb7bd3d008d0af98b44336f8ec1ad -b242238cd8362b6e440ba21806905714dd55172db25ec7195f3fc4937b2aba146d5cbf3cf691a1384b4752dc3b54d627 -819f97f337eea1ffb2a678cc25f556f1aab751c6b048993a1d430fe1a3ddd8bb411c152e12ca60ec6e057c190cd1db9a -b9d7d187407380df54ee9fef224c54eec1bfabf17dc8abf60765b7951f538f59aa26fffd5846cfe05546c35f59b573f4 -aa6e3c14efa6a5962812e3f94f8ce673a433f4a82d07a67577285ea0eaa07f8be7115853122d12d6d4e1fdf64c504be1 -82268bee9c1662d3ddb5fb785abfae6fb8b774190f30267f1d47091d2cd4b3874db4372625aa36c32f27b0eee986269b -b236459565b7b966166c4a35b2fa71030b40321821b8e96879d95f0e83a0baf33fa25721f30af4a631df209e25b96061 -8708d752632d2435d2d5b1db4ad1fa2558d776a013655f88e9a3556d86b71976e7dfe5b8834fdec97682cd94560d0d0d -ae1424a68ae2dbfb0f01211f11773732a50510b5585c1fb005cb892b2c6a58f4a55490b5c5b4483c6fce40e9d3236a52 -b3f5f722af9dddb07293c871ce97abbccba0093ca98c8d74b1318fa21396fc1b45b69c15084f63d728f9908442024506 -9606f3ce5e63886853ca476dc0949e7f1051889d529365c0cb0296fdc02abd088f0f0318ecd2cf36740a3634132d36f6 -b11a833a49fa138db46b25ff8cdda665295226595bc212c0931b4931d0a55c99da972c12b4ef753f7e37c6332356e350 -afede34e7dab0a9e074bc19a7daddb27df65735581ca24ad70c891c98b1349fcebbcf3ba6b32c2617fe06a5818dabc2d -97993d456e459e66322d01f8eb13918979761c3e8590910453944bdff90b24091bb018ac6499792515c9923be289f99f -977e3e967eff19290a192cd11df3667d511b398fb3ac9a5114a0f3707e25a0edcb56105648b1b85a8b7519fc529fc6f6 -b873a7c88bf58731fe1bf61ff6828bf114cf5228f254083304a4570e854e83748fc98683ddba62d978fff7909f2c5c47 -ad4b2691f6f19da1d123aaa23cca3e876247ed9a4ab23c599afdbc0d3aa49776442a7ceaa996ac550d0313d9b9a36cee -b9210713c78e19685608c6475bfa974b57ac276808a443f8b280945c5d5f9c39da43effa294bfb1a6c6f7b6b9f85bf6c -a65152f376113e61a0e468759de38d742caa260291b4753391ee408dea55927af08a4d4a9918600a3bdf1df462dffe76 -8bf8c27ad5140dde7f3d2280fd4cc6b29ab76537e8d7aa7011a9d2796ee3e56e9a60c27b5c2da6c5e14fc866301dc195 -92fde8effc9f61393a2771155812b863cff2a0c5423d7d40aa04d621d396b44af94ddd376c28e7d2f53c930aea947484 -97a01d1dd9ee30553ce676011aea97fa93d55038ada95f0057d2362ae9437f3ed13de8290e2ff21e3167dd7ba10b9c3f -89affffaa63cb2df3490f76f0d1e1d6ca35c221dd34057176ba739fa18d492355e6d2a5a5ad93a136d3b1fed0bb8aa19 -928b8e255a77e1f0495c86d3c63b83677b4561a5fcbbe5d3210f1e0fc947496e426d6bf3b49394a5df796c9f25673fc4 -842a0af91799c9b533e79ee081efe2a634cac6c584c2f054fb7d1db67dde90ae36de36cbf712ec9cd1a0c7ee79e151ea -a65b946cf637e090baf2107c9a42f354b390e7316beb8913638130dbc67c918926eb87bec3b1fe92ef72bc77a170fa3b -aafc0f19bfd71ab5ae4a8510c7861458b70ad062a44107b1b1dbacbfa44ba3217028c2824bd7058e2fa32455f624040b -95269dc787653814e0be899c95dba8cfa384f575a25e671c0806fd80816ad6797dc819d30ae06e1d0ed9cb01c3950d47 -a1e760f7fa5775a1b2964b719ff961a92083c5c617f637fc46e0c9c20ab233f8686f7f38c3cb27d825c54dd95e93a59b -ac3b8a7c2317ea967f229eddc3e23e279427f665c4705c7532ed33443f1243d33453c1088f57088d2ab1e3df690a9cc9 -b787beeddfbfe36dd51ec4efd9cf83e59e84d354c3353cc9c447be53ae53d366ed1c59b686e52a92f002142c8652bfe0 -b7a64198300cb6716aa7ac6b25621f8bdec46ad5c07a27e165b3f774cdf65bcfdbf31e9bae0c16b44de4b00ada7a4244 -b8ae9f1452909e0c412c7a7fe075027691ea8df1347f65a5507bc8848f1d2c833d69748076db1129e5b4fb912f65c86c -9682e41872456b9fa67def89e71f06d362d6c8ca85c9c48536615bc401442711e1c9803f10ab7f8ab5feaec0f9df20a6 -88889ff4e271dc1c7e21989cc39f73cde2f0475acd98078281591ff6c944fadeb9954e72334319050205d745d4df73df -8f79b5b8159e7fd0d93b0645f3c416464f39aec353b57d99ecf24f96272df8a068ad67a6c90c78d82c63b40bb73989bb -838c01a009a3d8558a3f0bdd5e22de21af71ca1aefc8423c91dc577d50920e9516880e87dce3e6d086e11cd45c9052d9 -b97f1c6eee8a78f137c840667cc288256e39294268a3009419298a04a1d0087c9c9077b33c917c65caf76637702dda8a -972284ce72f96a61c899260203dfa06fc3268981732bef74060641c1a5068ead723e3399431c247ca034b0dae861e8df -945a8d52d6d3db6663dbd3110c6587f9e9c44132045eeffba15621576d178315cb52870fa5861669f84f0bee646183fe -a0a547b5f0967b1c3e5ec6c6a9a99f0578521489180dfdfbb5561f4d166baac43a2f06f950f645ce991664e167537eed -a0592cda5cdddf1340033a745fd13a6eff2021f2e26587116c61c60edead067e0f217bc2bef4172a3c9839b0b978ab35 -b9c223b65a3281587fa44ec829e609154b32f801fd1de6950e01eafb07a8324243b960d5735288d0f89f0078b2c42b5b -99ebfc3b8f9f98249f4d37a0023149ed85edd7a5abe062c8fb30c8c84555258b998bdcdd1d400bc0fa2a4aaa8b224466 -955b68526e6cb3937b26843270f4e60f9c6c8ece2fa9308fe3e23afa433309c068c66a4bc16ee2cf04220f095e9afce4 -b766caeafcc00378135ae53397f8a67ed586f5e30795462c4a35853de6681b1f17401a1c40958de32b197c083b7279c1 -921bf87cad947c2c33fa596d819423c10337a76fe5a63813c0a9dc78a728207ae7b339407a402fc4d0f7cba3af6da6fc -a74ba1f3bc3e6c025db411308f49b347ec91da1c916bda9da61e510ec8d71d25e0ac0f124811b7860e5204f93099af27 -a29b4d144e0bf17a7e8353f2824cef0ce85621396babe8a0b873ca1e8a5f8d508b87866cf86da348470649fceefd735c -a8040e12ffc3480dd83a349d06741d1572ef91932c46f5cf03aee8454254156ee95786fd013d5654725e674c920cec32 -8c4cf34ca60afd33923f219ffed054f90cd3f253ffeb2204a3b61b0183417e366c16c07fae860e362b0f2bfe3e1a1d35 -8195eede4ddb1c950459df6c396b2e99d83059f282b420acc34220cadeed16ab65c856f2c52568d86d3c682818ed7b37 -91fff19e54c15932260aa990c7fcb3c3c3da94845cc5aa8740ef56cf9f58d19b4c3c55596f8d6c877f9f4d22921d93aa -a3e0bf7e5d02a80b75cf75f2db7e66cb625250c45436e3c136d86297d652590ec97c2311bafe407ad357c79ab29d107b -81917ff87e5ed2ae4656b481a63ced9e6e5ff653b8aa6b7986911b8bc1ee5b8ef4f4d7882c3f250f2238e141b227e510 -915fdbe5e7de09c66c0416ae14a8750db9412e11dc576cf6158755fdcaf67abdbf0fa79b554cac4fe91c4ec245be073f -8df27eafb5c3996ba4dc5773c1a45ca77e626b52e454dc1c4058aa94c2067c18332280630cc3d364821ee53bf2b8c130 -934f8a17c5cbb827d7868f5c8ca00cb027728a841000a16a3428ab16aa28733f16b52f58c9c4fbf75ccc45df72d9c4df -b83f4da811f9183c25de8958bc73b504cf790e0f357cbe74ef696efa7aca97ad3b7ead1faf76e9f982c65b6a4d888fc2 -87188213c8b5c268dc2b6da413f0501c95749e953791b727450af3e43714149c115b596b33b63a2f006a1a271b87efd0 -83e9e888ab9c3e30761de635d9aabd31248cdd92f7675fc43e4b21fd96a03ec1dc4ad2ec94fec857ffb52683ac98e360 -b4b9a1823fe2d983dc4ec4e3aaea297e581c3fc5ab4b4af5fa1370caa37af2d1cc7fc6bfc5e7da60ad8fdce27dfe4b24 -856388bc78aef465dbcdd1f559252e028c9e9a2225c37d645c138e78f008f764124522705822a61326a6d1c79781e189 -a6431b36db93c3b47353ba22e7c9592c9cdfb9cbdd052ecf2cc3793f5b60c1e89bc96e6bae117bfd047f2308da00dd2f -b619972d48e7e4291542dcde08f7a9cdc883c892986ded2f23ccb216e245cd8d9ad1d285347b0f9d7611d63bf4cee2bc -8845cca6ff8595955f37440232f8e61d5351500bd016dfadd182b9d39544db77a62f4e0102ff74dd4173ae2c181d24ef -b2f5f7fa26dcd3b6550879520172db2d64ee6aaa213cbef1a12befbce03f0973a22eb4e5d7b977f466ac2bf8323dcedd -858b7f7e2d44bdf5235841164aa8b4f3d33934e8cb122794d90e0c1cac726417b220529e4f896d7b77902ab0ccd35b3a -80b0408a092dae2b287a5e32ea1ad52b78b10e9c12f49282976cd738f5d834e03d1ad59b09c5ccaccc39818b87d06092 -b996b0a9c6a2d14d984edcd6ab56bc941674102980d65b3ad9733455f49473d3f587c8cbf661228a7e125ddbe07e3198 -90224fcebb36865293bd63af786e0c5ade6b67c4938d77eb0cbae730d514fdd0fe2d6632788e858afd29d46310cf86df -b71351fdfff7168b0a5ec48397ecc27ac36657a8033d9981e97002dcca0303e3715ce6dd3f39423bc8ef286fa2e9e669 -ae2a3f078b89fb753ce4ed87e0c1a58bb19b4f0cfb6586dedb9fcab99d097d659a489fb40e14651741e1375cfc4b6c5f -8ef476b118e0b868caed297c161f4231bbeb863cdfa5e2eaa0fc6b6669425ce7af50dc374abceac154c287de50c22307 -92e46ab472c56cfc6458955270d3c72b7bde563bb32f7d4ab4d959db6f885764a3d864e1aa19802fefaa5e16b0cb0b54 -96a3f68323d1c94e73d5938a18a377af31b782f56212de3f489d22bc289cf24793a95b37f1d6776edf88114b5c1fa695 -962cc068cfce6faaa27213c4e43e44eeff0dfbb6d25b814e82c7da981fb81d7d91868fa2344f05fb552362f98cfd4a72 -895d4e4c4ad670abf66d43d59675b1add7afad7438ada8f42a0360c704cee2060f9ac15b4d27e9b9d0996bb801276fe3 -b3ad18d7ece71f89f2ef749b853c45dc56bf1c796250024b39a1e91ed11ca32713864049c9aaaea60cde309b47486bbf -8f05404e0c0258fdbae50e97ccb9b72ee17e0bd2400d9102c0dad981dac8c4c71585f03e9b5d50086d0a2d3334cb55d1 -8bd877e9d4591d02c63c6f9fc9976c109de2d0d2df2bfa5f6a3232bab5b0b8b46e255679520480c2d7a318545efa1245 -8d4c16b5d98957c9da13d3f36c46f176e64e5be879f22be3179a2c0e624fe4758a82bf8c8027410002f973a3b84cd55a -86e2a8dea86427b424fa8eada881bdff896907084a495546e66556cbdf070b78ba312bf441eb1be6a80006d25d5097a3 -8608b0c117fd8652fdab0495b08fadbeba95d9c37068e570de6fddfef1ba4a1773b42ac2be212836141d1bdcdef11a17 -a13d6febf5fb993ae76cae08423ca28da8b818d6ef0fde32976a4db57839cd45b085026b28ee5795f10a9a8e3098c683 -8e261967fa6de96f00bc94a199d7f72896a6ad8a7bbb1d6187cca8fad824e522880e20f766620f4f7e191c53321d70f9 -8b8e8972ac0218d7e3d922c734302803878ad508ca19f5f012bc047babd8a5c5a53deb5fe7c15a4c00fd6d1cb9b1dbd0 -b5616b233fb3574a2717d125a434a2682ff68546dccf116dd8a3b750a096982f185614b9fb6c7678107ff40a451f56fa -aa6adf9b0c3334b0d0663f583a4914523b2ac2e7adffdb026ab9109295ff6af003ef8357026dbcf789896d2afded8d73 -acb72df56a0b65496cd534448ed4f62950bb1e11e50873b6ed349c088ee364441821294ce0f7c61bd7d38105bea3b442 -abae12df83e01ec947249fedd0115dc501d2b03ff7232092979eda531dbbca29ace1d46923427c7dde4c17bdf3fd7708 -820b4fc2b63a9fda7964acf5caf19a2fc4965007cb6d6b511fcafcb1f71c3f673a1c0791d3f86e3a9a1eb6955b191cc0 -af277259d78c6b0f4f030a10c53577555df5e83319ddbad91afbd7c30bc58e7671c56d00d66ec3ab5ef56470cd910cee -ad4a861c59f1f5ca1beedd488fb3d131dea924fffd8e038741a1a7371fad7370ca5cf80dc01f177fbb9576713bb9a5b3 -b67a5162982ce6a55ccfb2f177b1ec26b110043cf18abd6a6c451cf140b5af2d634591eb4f28ad92177d8c7e5cd0a5e8 -96176d0a83816330187798072d449cbfccff682561e668faf6b1220c9a6535b32a6e4f852e8abb00f79abb87493df16b -b0afe6e7cb672e18f0206e4423f51f8bd0017bf464c4b186d46332c5a5847647f89ff7fa4801a41c1b0b42f6135bcc92 -8fc5e7a95ef20c1278c645892811f6fe3f15c431ebc998a32ec0da44e7213ea934ed2be65239f3f49b8ec471e9914160 -b7793e41adda6c82ba1f2a31f656f6205f65bf8a3d50d836ee631bc7ce77c153345a2d0fc5c60edf8b37457c3729c4ec -a504dd7e4d6b2f4379f22cc867c65535079c75ccc575955f961677fa63ecb9f74026fa2f60c9fb6323c1699259e5e9c8 -ab899d00ae693649cc1afdf30fb80d728973d2177c006e428bf61c7be01e183866614e05410041bc82cb14a33330e69c -8a3bd8b0b1be570b65c4432a0f6dc42f48a2000e30ab089cf781d38f4090467b54f79c0d472fcbf18ef6a00df69cc6f3 -b4d7028f7f76a96a3d7803fca7f507ae11a77c5346e9cdfccb120a833a59bda1f4264e425aa588e7a16f8e7638061d84 -b9c7511a76ea5fb105de905d44b02edb17008335766ee357ed386b7b3cf19640a98b38785cb14603c1192bee5886c9b6 -8563afb12e53aed71ac7103ab8602bfa8371ae095207cb0d59e8fd389b6ad1aff0641147e53cb6a7ca16c7f37c9c5e6b -8e108be614604e09974a9ed90960c28c4ea330a3d9a0cb4af6dd6f193f84ab282b243ecdf549b3131036bebc8905690c -b794d127fbedb9c5b58e31822361706ffac55ce023fbfe55716c3c48c2fd2f2c7660a67346864dfe588812d369cb50b6 -b797a3442fc3b44f41baefd30346f9ac7f96e770d010d53c146ce74ce424c10fb62758b7e108b8abfdc5fafd89d745cb -993bb71e031e8096442e6205625e1bfddfe6dd6a83a81f3e2f84fafa9e5082ab4cad80a099f21eff2e81c83457c725c3 -8711ab833fc03e37acf2e1e74cfd9133b101ff4144fe30260654398ae48912ab46549d552eb9d15d2ea57760d35ac62e -b21321fd2a12083863a1576c5930e1aecb330391ef83326d9d92e1f6f0d066d1394519284ddab55b2cb77417d4b0292f -877d98f731ffe3ee94b0b5b72d127630fa8a96f6ca4f913d2aa581f67732df6709493693053b3e22b0181632ac6c1e3b -ae391c12e0eb8c145103c62ea64f41345973311c3bf7281fa6bf9b7faafac87bcf0998e5649b9ef81e288c369c827e07 -b83a2842f36998890492ab1cd5a088d9423d192681b9a3a90ec518d4c541bce63e6c5f4df0f734f31fbfdd87785a2463 -a21b6a790011396e1569ec5b2a423857b9bec16f543e63af28024e116c1ea24a3b96e8e4c75c6537c3e4611fd265e896 -b4251a9c4aab3a495da7a42e684ba4860dbcf940ad1da4b6d5ec46050cbe8dab0ab9ae6b63b5879de97b905723a41576 -8222f70aebfe6ac037f8543a08498f4cadb3edaac00336fc00437eb09f2cba758f6c38e887cc634b4d5b7112b6334836 -86f05038e060594c46b5d94621a1d9620aa8ba59a6995baf448734e21f58e23c1ea2993d3002ad5250d6edd5ba59b34f -a7c0c749baef811ab31b973c39ceb1d94750e2bc559c90dc5eeb20d8bb6b78586a2b363c599ba2107d6be65cd435f24e -861d46a5d70b38d6c1cd72817a2813803d9f34c00320c8b62f8b9deb67f5b5687bc0b37c16d28fd017367b92e05da9ca -b3365d3dab639bffbe38e35383686a435c8c88b397b717cd4aeced2772ea1053ceb670f811f883f4e02975e5f1c4ac58 -a5750285f61ab8f64cd771f6466e2c0395e01b692fd878f2ef2d5c78bdd8212a73a3b1dfa5e4c8d9e1afda7c84857d3b -835a10809ccf939bc46cf950a33b36d71be418774f51861f1cd98a016ade30f289114a88225a2c11e771b8b346cbe6ef -a4f59473a037077181a0a62f1856ec271028546ca9452b45cedfcb229d0f4d1aabfc13062b07e536cc8a0d4b113156a2 -95cd14802180b224d44a73cc1ed599d6c4ca62ddcaa503513ccdc80aaa8be050cc98bd4b4f3b639549beb4587ac6caf9 -973b731992a3e69996253d7f36dd7a0af1982b5ed21624b77a7965d69e9a377b010d6dabf88a8a97eec2a476259859cc -af8a1655d6f9c78c8eb9a95051aa3baaf9c811adf0ae8c944a8d3fcba87b15f61021f3baf6996fa0aa51c81b3cb69de1 -835aad5c56872d2a2d6c252507b85dd742bf9b8c211ccb6b25b52d15c07245b6d89b2a40f722aeb5083a47cca159c947 -abf4e970b02bef8a102df983e22e97e2541dd3650b46e26be9ee394a3ea8b577019331857241d3d12b41d4eacd29a3ac -a13c32449dbedf158721c13db9539ae076a6ce5aeaf68491e90e6ad4e20e20d1cdcc4a89ed9fd49cb8c0dd50c17633c1 -8c8f78f88b7e22dd7e9150ab1c000f10c28e696e21d85d6469a6fe315254740f32e73d81ab1f3c1cf8f544c86df506e8 -b4b77f2acfe945abf81f2605f906c10b88fb4d28628487fb4feb3a09f17f28e9780445dfcee4878349d4c6387a9d17d4 -8d255c235f3812c6ecc646f855fa3832be5cb4dbb9c9e544989fafdf3f69f05bfd370732eaf954012f0044aa013fc9c6 -b982efd3f34b47df37c910148ac56a84e8116647bea24145a49e34e0a6c0176e3284d838dae6230cb40d0be91c078b85 -983f365aa09bd85df2a6a2ad8e4318996b1e27d02090755391d4486144e40d80b1fbfe1c798d626db92f52e33aa634da -95fd1981271f3ea3a41d654cf497e6696730d9ff7369f26bc4d7d15c7adb4823dd0c42e4a005a810af12d234065e5390 -a9f5219bd4b913c186ef30c02f995a08f0f6f1462614ea5f236964e02bdaa33db9d9b816c4aee5829947840a9a07ba60 -9210e6ceb05c09b46fd09d036287ca33c45124ab86315e5d6911ff89054f1101faaa3e83d123b7805056d388bcec6664 -8ed9cbf69c6ff3a5c62dd9fe0d7264578c0f826a29e614bc2fb4d621d90c8c9992438accdd7a614b1dca5d1bb73dc315 -85cf2a8cca93e00da459e3cecd22c342d697eee13c74d5851634844fc215f60053cf84b0e03c327cb395f48d1c71a8a4 -8818a18e9a2ec90a271b784400c1903089ffb0e0b40bc5abbbe12fbebe0f731f91959d98c5519ef1694543e31e2016d4 -8dabc130f296fa7a82870bf9a8405aaf542b222ed9276bba9bd3c3555a0f473acb97d655ee7280baff766a827a8993f0 -ac7952b84b0dc60c4d858f034093b4d322c35959605a3dad2b806af9813a4680cb038c6d7f4485b4d6b2ff502aaeca25 -ad65cb6d57b48a2602568d2ec8010baed0eb440eec7638c5ec8f02687d764e9de5b5d42ad5582934e592b48471c22d26 -a02ab8bd4c3d114ea23aebdd880952f9495912817da8c0c08eabc4e6755439899d635034413d51134c72a6320f807f1c -8319567764b8295402ec1ebef4c2930a138480b37e6d7d01c8b4c9cd1f2fc3f6e9a44ae6e380a0c469b25b06db23305f -afec53b2301dc0caa8034cd9daef78c48905e6068d692ca23d589b84a6fa9ddc2ed24a39480597e19cb3e83eec213b3f -ac0b4ffdb5ae08e586a9cdb98f9fe56f4712af3a97065e89e274feacfb52b53c839565aee93c4cfaaccfe51432c4fab0 -8972cbf07a738549205b1094c5987818124144bf187bc0a85287c94fdb22ce038c0f11df1aa16ec5992e91b44d1af793 -b7267aa6f9e3de864179b7da30319f1d4cb2a3560f2ea980254775963f1523b44c680f917095879bebfa3dc2b603efcf -80f68f4bfc337952e29504ee5149f15093824ea7ab02507efd1317a670f6cbc3611201848560312e3e52e9d9af72eccf -8897fee93ce8fc1e1122e46b6d640bba309384dbd92e46e185e6364aa8210ebf5f9ee7e5e604b6ffba99aa80a10dd7d0 -b58ea6c02f2360be60595223d692e82ee64874fda41a9f75930f7d28586f89be34b1083e03bbc1575bbfdda2d30db1ea -85a523a33d903280d70ac5938770453a58293480170c84926457ac2df45c10d5ff34322ab130ef4a38c916e70d81af53 -a2cbf045e1bed38937492c1f2f93a5ba41875f1f262291914bc1fc40c60bd0740fb3fea428faf6da38b7c180fe8ac109 -8c09328770ed8eb17afc6ac7ddd87bb476de18ed63cab80027234a605806895959990c47bd10d259d7f3e2ecb50074c9 -b4b9e19edb4a33bde8b7289956568a5b6b6557404e0a34584b5721fe6f564821091013fbb158e2858c6d398293bb4b59 -8a47377df61733a2aa5a0e945fce00267f8e950f37e109d4487d92d878fb8b573317bb382d902de515b544e9e233458d -b5804c9d97efeff5ca94f3689b8088c62422d92a1506fd1d8d3b1b30e8a866ad0d6dad4abfa051dfc4471250cac4c5d9 -9084a6ee8ec22d4881e9dcc8a9eb3c2513523d8bc141942370fd191ad2601bf9537a0b1e84316f3209b3d8a54368051e -85447eea2fa26656a649f8519fa67279183044791d61cf8563d0783d46d747d96af31d0a93507bbb2242666aa87d3720 -97566a84481027b60116c751aec552adfff2d9038e68d48c4db9811fb0cbfdb3f1d91fc176a0b0d988a765f8a020bce1 -ae87e5c1b9e86c49a23dceda4ecfd1dcf08567f1db8e5b6ec752ebd45433c11e7da4988573cdaebbb6f4135814fc059e -abee05cf9abdbc52897ac1ce9ed157f5466ed6c383d6497de28616238d60409e5e92619e528af8b62cc552bf09970dc2 -ae6d31cd7bf9599e5ee0828bab00ceb4856d829bba967278a73706b5f388465367aa8a6c7da24b5e5f1fdd3256ef8e63 -ac33e7b1ee47e1ee4af472e37ab9e9175260e506a4e5ce449788075da1b53c44cb035f3792d1eea2aa24b1f688cc6ed3 -80f65b205666b0e089bb62152251c48c380a831e5f277f11f3ef4f0d52533f0851c1b612267042802f019ec900dc0e8f -858520ad7aa1c9fed738e3b583c84168f2927837ad0e1d326afe9935c26e9b473d7f8c382e82ef1fe37d2b39bb40a1ee -b842dd4af8befe00a97c2d0f0c33c93974761e2cb9e5ab8331b25170318ddd5e4bdbc02d8f90cbfdd5f348f4f371c1f7 -8bf2cb79bc783cb57088aae7363320cbeaabd078ffdec9d41bc74ff49e0043d0dad0086a30e5112b689fd2f5a606365d -982eb03bbe563e8850847cd37e6a3306d298ab08c4d63ab6334e6b8c1fa13fce80cf2693b09714c7621d74261a0ff306 -b143edb113dec9f1e5105d4a93fbe502b859e587640d3db2f628c09a17060e6aec9e900e2c8c411cda99bc301ff96625 -af472d9befa750dcebc5428fe1a024f18ec1c07bca0f95643ce6b5f4189892a910285afb03fd7ed7068fbe614e80d33c -a97e3bc57ede73ecd1bbf02de8f51b4e7c1a067da68a3cd719f4ba26a0156cbf1cef2169fd35a18c5a4cced50d475998 -a862253c937cf3d75d7183e5f5be6a4385d526aeda5171c1c60a8381fea79f88f5f52a4fab244ecc70765d5765e6dfd5 -90cb776f8e5a108f1719df4a355bebb04bf023349356382cae55991b31720f0fd03206b895fa10c56c98f52453be8778 -a7614e8d0769dccd520ea4b46f7646e12489951efaef5176bc889e9eb65f6e31758df136b5bf1e9107e68472fa9b46ec -ac3a9b80a3254c42e5ed3a090a0dd7aee2352f480de96ad187027a3bb6c791eddfc3074b6ffd74eea825188f107cda4d -82a01d0168238ef04180d4b6e0a0e39024c02c2d75b065017c2928039e154d093e1af4503f4d1f3d8a948917abb5d09f -8fab000a2b0eef851a483aec8d2dd85fe60504794411a2f73ed82e116960547ac58766cb73df71aea71079302630258d -872451a35c6db61c63e9b8bb9f16b217f985c20be4451c14282c814adb29d7fb13f201367c664435c7f1d4d9375d7a58 -887d9ff54cc96b35d562df4a537ff972d7c4b3fd91ab06354969a4cfede0b9fc68bbffb61d0dbf1a58948dc701e54f5a -8cb5c2a6bd956875d88f41ae24574434f1308514d44057b55c9c70f13a3366ed054150eed0955a38fda3f757be73d55f -89ad0163cad93e24129d63f8e38422b7674632a8d0a9016ee8636184cab177659a676c4ee7efba3abe1a68807c656d60 -b9ec01c7cab6d00359b5a0b4a1573467d09476e05ca51a9227cd16b589a9943d161eef62dcc73f0de2ec504d81f4d252 -8031d17635d39dfe9705c485d2c94830b6fc9bc67b91300d9d2591b51e36a782e77ab5904662effa9382d9cca201f525 -8be5a5f6bc8d680e5092d6f9a6585acbaaaa2ddc671da560dcf5cfa4472f4f184b9597b5b539438accd40dda885687cc -b1fc0f052fae038a2e3de3b3a96b0a1024b009de8457b8b3adb2d315ae68a89af905720108a30038e5ab8d0d97087785 -8b8bdc77bd3a6bc7ca5492b6f8c614852c39a70d6c8a74916eaca0aeb4533b11898b8820a4c2620a97bf35e275480029 -af35f4dc538d4ad5cdf710caa38fd1eb496c3fa890a047b6a659619c5ad3054158371d1e88e0894428282eed9f47f76b -8166454a7089cc07758ad78724654f4e7a1a13e305bbf88ddb86f1a4b2904c4fc8ab872d7da364cdd6a6c0365239e2ad -ab287c7d3addce74ce40491871c768abe01daaa0833481276ff2e56926b38a7c6d2681ffe837d2cc323045ad1a4414f9 -b90317f4505793094d89365beb35537f55a6b5618904236258dd04ca61f21476837624a2f45fef8168acf732cab65579 -98ae5ea27448e236b6657ab5ef7b1cccb5372f92ab25f5fa651fbac97d08353a1dae1b280b1cd42b17d2c6a70a63ab9d -adcf54e752d32cbaa6cb98fbca48d8cd087b1db1d131d465705a0d8042c8393c8f4d26b59006eb50129b21e6240f0c06 -b591a3e4db18a7345fa935a8dd7994bbac5cc270b8ebd84c8304c44484c7a74afb45471fdbe4ab22156a30fae1149b40 -806b53ac049a42f1dcc1d6335505371da0bf27c614f441b03bbf2e356be7b2fb4eed7117eabcce9e427a542eaa2bf7d8 -800482e7a772d49210b81c4a907f5ce97f270b959e745621ee293cf8c71e8989363d61f66a98f2d16914439544ca84c7 -99de9eafdad3617445312341644f2bb888680ff01ce95ca9276b1d2e5ef83fa02dab5e948ebf66c17df0752f1bd37b70 -961ee30810aa4c93ae157fbe9009b8e443c082192bd36a73a6764ff9b2ad8b0948fe9a73344556e01399dd77badb4257 -ae0a361067c52efbe56c8adf982c00432cd478929459fc7f74052c8ee9531cd031fe1335418fde53f7c2ef34254eb7ac -a3503d16b6b27eb20c1b177bcf90d13706169220523a6271b85b2ce35a9a2b9c5bed088540031c0a4ebfdae3a4c6ab04 -909420122c3e723289ca4e7b81c2df5aff312972a2203f4c45821b176e7c862bf9cac7f7df3adf1d59278f02694d06e7 -989f42380ae904b982f85d0c6186c1aef5d6bcba29bcfbb658e811b587eb2749c65c6e4a8cc6409c229a107499a4f5d7 -8037a6337195c8e26a27ea4ef218c6e7d79a9720aaab43932d343192abc2320fe72955f5e431c109093bda074103330a -b312e168663842099b88445e940249cc508f080ab0c94331f672e7760258dbd86be5267e4cf25ea25facb80bff82a7e9 -aaa3ff8639496864fcdbfdda1ac97edc4f08e3c9288b768f6c8073038c9fbbf7e1c4bea169b4d45c31935cdf0680d45e -97dbd3df37f0b481a311dfc5f40e59227720f367912200d71908ef6650f32cc985cb05b981e3eea38958f7e48d10a15d -a89d49d1e267bb452d6cb621b9a90826fe55e9b489c0427b94442d02a16f390eed758e209991687f73f6b5a032321f42 -9530dea4e0e19d6496f536f2e75cf7d814d65fde567055eb20db48fd8d20d501cd2a22fb506db566b94c9ee10f413d43 -81a7009b9e67f1965fa7da6a57591c307de91bf0cd35ab4348dc4a98a4961e096d004d7e7ad318000011dc4342c1b809 -83440a9402b766045d7aca61a58bba2aa29cac1cf718199e472ba086f5d48093d9dda4d135292ba51d049a23964eceae -a06c9ce5e802df14f6b064a3d1a0735d429b452f0e2e276042800b0a4f16df988fd94cf3945921d5dd3802ab2636f867 -b1359e358b89936dee9e678a187aad3e9ab14ac40e96a0a68f70ee2583cdcf467ae03bef4215e92893f4e12f902adec8 -835304f8619188b4d14674d803103d5a3fa594d48e96d9699e653115dd05fdc2dda6ba3641cf7ad53994d448da155f02 -8327cba5a9ff0d3f5cd0ae55e77167448926d5fcf76550c0ad978092a14122723090c51c415e88e42a2b62eb07cc3981 -b373dcdaea85f85ce9978b1426a7ef4945f65f2d3467a9f1cc551a99766aac95df4a09e2251d3f89ca8c9d1a7cfd7b0e -ab1422dc41af2a227b973a6fd124dfcb2367e2a11a21faa1d381d404f51b7257e5bc82e9cf20cd7fe37d7ae761a2ab37 -a93774a03519d2f20fdf2ef46547b0a5b77c137d6a3434b48d56a2cbef9e77120d1b85d0092cf8842909213826699477 -8eb967a495a38130ea28711580b7e61bcd1d051cd9e4f2dbf62f1380bd86e0d60e978d72f6f31e909eb97b3b9a2b867c -ae8213378da1287ba1fe4242e1acaec19b877b6fe872400013c6eac1084b8d03156792fa3020201725b08228a1e80f49 -b143daf6893d674d607772b3b02d8ac48f294237e2f2c87963c0d4e26d9227d94a2a13512457c3d5883544bbc259f0ef -b343bd2aca8973888e42542218924e2dda2e938fd1150d06878af76f777546213912b7c7a34a0f94186817d80ffa185c -b188ebc6a8c3007001aa347ae72cc0b15d09bc6c19a80e386ee4b334734ec0cc2fe8b493c2422f38d1e6d133cc3db6fe -b795f6a8b9b826aaeee18ccd6baf6c5adeeec85f95eb5b6d19450085ec7217e95a2d9e221d77f583b297d0872073ba0e -b1c7dbd998ad32ae57bfa95deafa147024afd57389e98992c36b6e52df915d3d5a39db585141ec2423173e85d212fed8 -812bcdeb9fe5f12d0e1df9964798056e1f1c3de3b17b6bd2919b6356c4b86d8e763c01933efbe0224c86a96d5198a4be -b19ebeda61c23d255cbf472ef0b8a441f4c55b70f0d8ed47078c248b1d3c7c62e076b43b95c00a958ec8b16d5a7cb0d7 -b02adc9aaa20e0368a989c2af14ff48b67233d28ebee44ff3418bb0473592e6b681af1cc45450bd4b175df9051df63d9 -8d87f0714acee522eb58cec00360e762adc411901dba46adc9227124fa70ee679f9a47e91a6306d6030dd4eb8de2f3c1 -8be54cec21e74bcc71de29dc621444263737db15f16d0bb13670f64e42f818154e04b484593d19ef95f2ee17e4b3fe21 -ab8e20546c1db38d31493b5d5f535758afb17e459645c1b70813b1cf7d242fd5d1f4354a7c929e8f7259f6a25302e351 -89f035a1ed8a1e302ac893349ba8ddf967580fcb6e73d44af09e3929cde445e97ff60c87dafe489e2c0ab9c9986cfa00 -8b2b0851a795c19191a692af55f7e72ad2474efdc5401bc3733cfdd910e34c918aaebe69d5ea951bdddf3c01cabbfc67 -a4edb52c2b51495ccd1ee6450fc14b7b3ede8b3d106808929d02fb31475bacb403e112ba9c818d2857651e508b3a7dd1 -9569341fded45d19f00bcf3cbf3f20eb2b4d82ef92aba3c8abd95866398438a2387437e580d8b646f17cf6fde8c5af23 -aa4b671c6d20f72f2f18a939a6ff21cc37e0084b44b4a717f1be859a80b39fb1be026b3205adec2a66a608ec2bcd578f -94902e980de23c4de394ad8aec91b46f888d18f045753541492bfbb92c59d3daa8de37ae755a6853744af8472ba7b72b -af651ef1b2a0d30a7884557edfad95b6b5d445a7561caebdc46a485aedd25932c62c0798465c340a76f6feaa196dd712 -b7b669b8e5a763452128846dd46b530dca4893ace5cc5881c7ddcd3d45969d7e73fbebdb0e78aa81686e5f7b22ec5759 -82507fd4ebe9fa656a7f2e084d64a1fa6777a2b0bc106d686e2d9d2edafc58997e58cb6bfd0453b2bf415704aa82ae62 -b40bce2b42b88678400ecd52955bbdadd15f8b9e1b3751a1a3375dc0efb5ca3ee258cf201e1140b3c09ad41217d1d49e -b0210d0cbb3fbf3b8cdb39e862f036b0ff941cd838e7aaf3a8354e24246e64778d22f3de34572e6b2a580614fb6425be -876693cba4301b251523c7d034108831df3ce133d8be5a514e7a2ca494c268ca0556fa2ad8310a1d92a16b55bcd99ea9 -8660281406d22a4950f5ef050bf71dd3090edb16eff27fa29ef600cdea628315e2054211ed2cc6eaf8f2a1771ef689fd -a610e7e41e41ab66955b809ba4ade0330b8e9057d8efc9144753caed81995edeb1a42a53f93ce93540feca1fae708dac -a49e2c176a350251daef1218efaccc07a1e06203386ede59c136699d25ca5cb2ac1b800c25b28dd05678f14e78e51891 -83e0915aa2b09359604566080d411874af8c993beba97d4547782fdbe1a68e59324b800ff1f07b8db30c71adcbd102a8 -a19e84e3541fb6498e9bb8a099c495cbfcad113330e0262a7e4c6544495bb8a754b2208d0c2d895c93463558013a5a32 -87f2bd49859a364912023aca7b19a592c60214b8d6239e2be887ae80b69ebdeb59742bdebcfa73a586ab23b2c945586c -b8e8fdddae934a14b57bc274b8dcd0d45ebb95ddbaabef4454e0f6ce7d3a5a61c86181929546b3d60c447a15134d08e1 -87e0c31dcb736ea4604727e92dc1d9a3cf00adcff79df3546e02108355260f3dd171531c3c0f57be78d8b28058fcc8c0 -9617d74e8f808a4165a8ac2e30878c349e1c3d40972006f0787b31ea62d248c2d9f3fc3da83181c6e57e95feedfd0e8c -8949e2cee582a2f8db86e89785a6e46bc1565c2d8627d5b6bf43ba71ffadfab7e3c5710f88dcb5fb2fc6edf6f4fae216 -ad3fa7b0edceb83118972a2935a09f409d09a8db3869f30be3a76f67aa9fb379cabb3a3aff805ba023a331cad7d7eb64 -8c95718a4112512c4efbd496be38bf3ca6cdcaad8a0d128f32a3f9aae57f3a57bdf295a3b372a8c549fda8f4707cffed -88f3261d1e28a58b2dee3fcc799777ad1c0eb68b3560f9b4410d134672d9533532a91ea7be28a041784872632d3c9d80 -b47472a41d72dd2e8b72f5c4f8ad626737dde3717f63d6bc776639ab299e564cbad0a2ad5452a07f02ff49a359c437e5 -9896d21dc2e8aad87b76d6df1654f10cd7bceed4884159d50a818bea391f8e473e01e14684814c7780235f28e69dca6e -82d47c332bbd31bbe83b5eb44a23da76d4a7a06c45d7f80f395035822bc27f62f59281d5174e6f8e77cc9b5c3193d6f0 -95c74cd46206e7f70c9766117c34c0ec45c2b0f927a15ea167901a160e1530d8522943c29b61e03568aa0f9c55926c53 -a89d7757825ae73a6e81829ff788ea7b3d7409857b378ebccd7df73fdbe62c8d9073741cf038314971b39af6c29c9030 -8c1cd212d0b010905d560688cfc036ae6535bc334fa8b812519d810b7e7dcf1bb7c5f43deaa40f097158358987324a7f -b86993c383c015ed8d847c6b795164114dd3e9efd25143f509da318bfba89389ea72a420699e339423afd68b6512fafb -8d06bd379c6d87c6ed841d8c6e9d2d0de21653a073725ff74be1934301cc3a79b81ef6dd0aad4e7a9dc6eac9b73019bc -81af4d2d87219985b9b1202d724fe39ef988f14fef07dfe3c3b11714e90ffba2a97250838e8535eb63f107abfe645e96 -8c5e0af6330a8becb787e4b502f34f528ef5756e298a77dc0c7467433454347f3a2e0bd2641fbc2a45b95e231c6e1c02 -8e2a8f0f04562820dc8e7da681d5cad9fe2e85dd11c785fb6fba6786c57a857e0b3bd838fb849b0376c34ce1665e4837 -a39be8269449bfdfc61b1f62077033649f18dae9bef7c6163b9314ca8923691fb832f42776f0160b9e8abd4d143aa4e1 -8c154e665706355e1cc98e0a4cabf294ab019545ba9c4c399d666e6ec5c869ca9e1faf8fb06cd9c0a5c2f51a7d51b70a -a046a7d4de879d3ebd4284f08f24398e9e3bf006cd4e25b5c67273ade248689c69affff92ae810c07941e4904296a563 -afd94c1cb48758e5917804df03fb38a6da0e48cd9b6262413ea13b26973f9e266690a1b7d9d24bbaf7e82718e0e594b0 -859e21080310c8d6a38e12e2ac9f90a156578cdeb4bb2e324700e97d9a5511cd6045dc39d1d0de3f94aeed043a24119d -a219fb0303c379d0ab50893264919f598e753aac9065e1f23ef2949abc992577ab43c636a1d2c089203ec9ddb941e27d -b0fdb639d449588a2ca730afcba59334e7c387342d56defdfb7ef79c493f7fd0e5277eff18e7203e756c7bdda5803047 -87f9c3b7ed01f54368aca6dbcf2f6e06bff96e183c4b2c65f8baa23b377988863a0a125d5cdd41a072da8462ced4c070 -99ef7a5d5ac2f1c567160e1f8c95f2f38d41881850f30c461a205f7b1b9fb181277311333839b13fb3ae203447e17727 -aeaca9b1c2afd24e443326cc68de67b4d9cedb22ad7b501a799d30d39c85bb2ea910d4672673e39e154d699e12d9b3dc -a11675a1721a4ba24dd3d0e4c3c33a6edf4cd1b9f6b471070b4386c61f77452266eae6e3f566a40cfc885eada9a29f23 -b228334445e37b9b49cb4f2cc56b454575e92173ddb01370a553bba665adadd52df353ad74470d512561c2c3473c7bb9 -a18177087c996572d76f81178d18ed1ceebc8362a396348ce289f1d8bd708b9e99539be6fccd4acb1112381cfc5749b4 -8e7b8bf460f0d3c99abb19803b9e43422e91507a1c0c22b29ee8b2c52d1a384da4b87c292e28eff040db5be7b1f8641f -b03d038d813e29688b6e6f444eb56fec3abba64c3d6f890a6bcf2e916507091cdb2b9d2c7484617be6b26552ed1c56cb -a1c88ccd30e934adfc5494b72655f8afe1865a84196abfb376968f22ddc07761210b6a9fb7638f1413d1b4073d430290 -961b714faebf172ad2dbc11902461e286e4f24a99a939152a53406117767682a571057044decbeb3d3feef81f4488497 -a03dc4059b46effdd786a0a03cc17cfee8585683faa35bb07936ded3fa3f3a097f518c0b8e2db92fd700149db1937789 -adf60180c99ca574191cbcc23e8d025b2f931f98ca7dfcebfc380226239b6329347100fcb8b0fcb12db108c6ad101c07 -805d4f5ef24d46911cbf942f62cb84b0346e5e712284f82b0db223db26d51aabf43204755eb19519b00e665c7719fcaa -8dea7243e9c139662a7fe3526c6c601eee72fd8847c54c8e1f2ad93ef7f9e1826b170afe58817dac212427164a88e87f -a2ba42356606d651b077983de1ad643650997bb2babb188c9a3b27245bb65d2036e46667c37d4ce02cb1be5ae8547abe -af2ae50b392bdc013db2d12ce2544883472d72424fc767d3f5cb0ca2d973fc7d1f425880101e61970e1a988d0670c81b -98e6bec0568d3939b31d00eb1040e9b8b2a35db46ddf4369bdaee41bbb63cc84423d29ee510a170fb5b0e2df434ba589 -822ff3cd12fbef4f508f3ca813c04a2e0b9b799c99848e5ad3563265979e753ee61a48f6adc2984a850f1b46c1a43d35 -891e8b8b92a394f36653d55725ef514bd2e2a46840a0a2975c76c2a935577f85289026aaa74384da0afe26775cbddfb9 -b2a3131a5d2fe7c8967047aa66e4524babae941d90552171cc109527f345f42aa0df06dcbb2fa01b33d0043917bbed69 -80c869469900431f3eeefafdbe07b8afd8cee7739e659e6d0109b397cacff85a88247698f87dc4e2fe39a592f250ac64 -9091594f488b38f9d2bb5df49fd8b4f8829d9c2f11a197dd1431ed5abbc5c954bbde3387088f9ee3a5a834beb7619bce -b472e241e6956146cca57b97a8a204668d050423b4e76f857bad5b47f43b203a04c8391ba9d9c3e95093c071f9d376a1 -b7dd2de0284844392f7dfb56fe7ca3ede41e27519753ffc579a0a8d2d65ceb8108d06b6b0d4c3c1a2588951297bd1a1e -902116ce70d0a079ac190321c1f48701318c05f8e69ee09694754885d33a835a849cafe56f499a2f49f6cda413ddf9a7 -b18105cc736787fafaf7c3c11c448bce9466e683159dff52723b7951dff429565e466e4841d982e3aaa9ee2066838666 -97ab9911f3f659691762d568ae0b7faa1047b0aed1009c319fa79d15d0db8db9f808fc385dc9a68fa388c10224985379 -b2a2cba65f5b927e64d2904ba412e2bac1cf18c9c3eda9c72fb70262497ecf505b640827e2afebecf10eebbcf48ccd3e -b36a3fd677baa0d3ef0dac4f1548ff50a1730286b8c99d276a0a45d576e17b39b3cbadd2fe55e003796d370d4be43ce3 -a5dfec96ca3c272566e89dc453a458909247e3895d3e44831528130bc47cc9d0a0dac78dd3cad680a4351d399d241967 -8029382113909af6340959c3e61db27392531d62d90f92370a432aec3eb1e4c36ae1d4ef2ba8ec6edb4d7320c7a453f6 -971d85121ea108e6769d54f9c51299b0381ece8b51d46d49c89f65bedc123bab4d5a8bc14d6f67f4f680077529cbae4c -98ff6afc01d0bec80a278f25912e1b1ebff80117adae72e31d5b9fa4d9624db4ba2065b444df49b489b0607c45e26c4c -8fa29be10fb3ab30ce25920fec0187e6e91e458947009dabb869aade7136c8ba23602682b71e390c251f3743164cbdaa -b3345c89eb1653418fe3940cf3e56a9a9c66526389b98f45ca02dd62bfb37baa69a4baaa7132d7320695f8ea6ad1fd94 -b72c7f5541c9ac6b60a7ec9f5415e7fb14da03f7164ea529952a29399f3a071576608dbbcc0d45994f21f92ddbeb1e19 -aa3450bb155a5f9043d0ef95f546a2e6ade167280bfb75c9f09c6f9cdb1fffb7ce8181436161a538433afa3681c7a141 -92a18fecaded7854b349f441e7102b638ababa75b1b0281dd0bded6541abe7aa37d96693595be0b01fe0a2e2133d50f9 -980756ddf9d2253cfe6c94960b516c94889d09e612810935150892627d2ecee9a2517e04968eea295d0106850c04ca44 -ae68c6ccc454318cdd92f32b11d89116a3b8350207a36d22a0f626718cad671d960090e054c0c77ac3162ae180ecfd4b -99f31f66eaaa551749ad91d48a0d4e3ff4d82ef0e8b28f3184c54e852422ba1bdafd53b1e753f3a070f3b55f3c23b6a2 -a44eaeaa6589206069e9c0a45ff9fc51c68da38d4edff1d15529b7932e6f403d12b9387019c44a1488a5d5f27782a51f -b80b5d54d4b344840e45b79e621bd77a3f83fb4ce6d8796b7d6915107b3f3c34d2e7d95bdafd120f285669e5acf2437a -b36c069ec085a612b5908314d6b84c00a83031780261d1c77a0384c406867c9847d5b0845deddfa512cc04a8df2046fb -b09dbe501583220f640d201acea7ee3e39bf9eda8b91aa07b5c50b7641d86d71acb619b38d27835ce97c3759787f08e9 -87403d46a2bf63170fff0b857acacf42ee801afe9ccba8e5b4aea967b68eac73a499a65ca46906c2eb4c8f27bc739faa -82b93669f42a0a2aa5e250ffe6097269da06a9c02fcd1801abbad415a7729a64f830754bafc702e64600ba47671c2208 -8e3a3029be7edb8dd3ab1f8216664c8dc50d395f603736061d802cef77627db7b859ef287ed850382c13b4d22d6a2d80 -968e9ec7194ff424409d182ce0259acd950c384c163c04463bc8700a40b79beba6146d22b7fa7016875a249b7b31c602 -8b42c984bbe4996e0c20862059167c6bdc5164b1ffcd928f29512664459212d263e89f0f0e30eed4e672ffa5ed0b01b5 -96bac54062110dada905363211133f1f15dc7e4fd80a4c6e4a83bc9a0bcbbaba11cd2c7a13debcf0985e1a954c1da66b -a16dc8a653d67a7cd7ae90b2fffac0bf1ca587005430fe5ba9403edd70ca33e38ba5661d2ed6e9d2864400d997626a62 -a68ab11a570a27853c8d67e491591dcba746bfbee08a2e75ae0790399130d027ed387f41ef1d7de8df38b472df309161 -92532b74886874447c0300d07eda9bbe4b41ed25349a3da2e072a93fe32c89d280f740d8ff70d5816793d7f2b97373cc -88e35711b471e89218fd5f4d0eadea8a29405af1cd81974427bc4a5fb26ed60798daaf94f726c96e779b403a2cd82820 -b5c72aa4147c19f8c4f3a0a62d32315b0f4606e0a7025edc5445571eaf4daff64f4b7a585464821574dd50dbe1b49d08 -9305d9b4095258e79744338683fd93f9e657367b3ab32d78080e51d54eec331edbc224fad5093ebf8ee4bd4286757eb8 -b2a17abb3f6a05bcb14dc7b98321fa8b46d299626c73d7c6eb12140bf4c3f8e1795250870947af817834f033c88a59d6 -b3477004837dbd8ba594e4296f960fc91ab3f13551458445e6c232eb04b326da803c4d93e2e8dcd268b4413305ff84da -924b4b2ebaafdcfdfedb2829a8bf46cd32e1407d8d725a5bd28bdc821f1bafb3614f030ea4352c671076a63494275a3f -8b81b9ef6125c82a9bece6fdcb9888a767ac16e70527753428cc87c56a1236e437da8be4f7ecfe57b9296dc3ae7ba807 -906e19ec8b8edd58bdf9ae05610a86e4ea2282b1bbc1e8b00b7021d093194e0837d74cf27ac9916bdb8ec308b00da3da -b41c5185869071760ac786078a57a2ab4e2af60a890037ac0c0c28d6826f15c2cf028fddd42a9b6de632c3d550bfbc14 -a646e5dec1b713ae9dfdf7bdc6cd474d5731a320403c7dfcfd666ffc9ae0cff4b5a79530e8df3f4aa9cb80568cb138e9 -b0efad22827e562bd3c3e925acbd0d9425d19057868608d78c2209a531cccd0f2c43dc5673acf9822247428ffa2bb821 -a94c19468d14b6f99002fc52ac06bbe59e5c472e4a0cdb225144a62f8870b3f10593749df7a2de0bd3c9476ce682e148 -803864a91162f0273d49271dafaab632d93d494d1af935aefa522768af058fce52165018512e8d6774976d52bd797e22 -a08711c2f7d45c68fb340ac23597332e1bcaec9198f72967b9921204b9d48a7843561ff318f87908c05a44fc35e3cc9d -91c3cad94a11a3197ae4f9461faab91a669e0dddb0371d3cab3ed9aeb1267badc797d8375181130e461eadd05099b2a2 -81bdaaf48aae4f7b480fc13f1e7f4dd3023a41439ba231760409ce9292c11128ab2b0bdbbf28b98af4f97b3551f363af -8d60f9df9fd303f625af90e8272c4ecb95bb94e6efc5da17b8ab663ee3b3f673e9f6420d890ccc94acf4d2cae7a860d8 -a7b75901520c06e9495ab983f70b61483504c7ff2a0980c51115d11e0744683ce022d76e3e09f4e99e698cbd21432a0d -82956072df0586562fda7e7738226f694e1c73518dd86e0799d2e820d7f79233667192c9236dcb27637e4c65ef19d493 -a586beb9b6ffd06ad200957490803a7cd8c9bf76e782734e0f55e04a3dc38949de75dc607822ec405736c576cf83bca3 -a179a30d00def9b34a7e85607a447eea0401e32ab5abeee1a281f2acd1cf6ec81a178020666f641d9492b1bdf66f05a3 -83e129705c538787ed8e0fdc1275e6466a3f4ee21a1e6abedd239393b1df72244723b92f9d9d9339a0cab6ebf28f5a16 -811bd8d1e3722b64cd2f5b431167e7f91456e8bba2cc669d3fbbce7d553e29c3c19f629fcedd2498bc26d33a24891d17 -a243c030c858f1f60cccd26b45b024698cc6d9d9e6198c1ed4964a235d9f8d0baf9cde10c8e63dfaa47f8e74e51a6e85 -ab839eb82e23ca52663281f863b55b0a3d6d4425c33ffb4eeb1d7979488ab068bf99e2a60e82cea4dc42c56c26cbfebe -8b896f9bb21d49343e67aec6ad175b58c0c81a3ca73d44d113ae4354a0065d98eb1a5cafedaf232a2bb9cdc62152f309 -af6230340cc0b66f5bf845540ed4fc3e7d6077f361d60762e488d57834c3e7eb7eacc1b0ed73a7d134f174a01410e50c -88975e1b1af678d1b5179f72300a30900736af580dd748fd9461ef7afccc91ccd9bed33f9da55c8711a7635b800e831f -a97486bb9047391661718a54b8dd5a5e363964e495eae6c692730264478c927cf3e66dd3602413189a3699fbeae26e15 -a5973c161ab38732885d1d2785fd74bf156ba34881980cba27fe239caef06b24a533ffe6dbbbeca5e6566682cc00300a -a24776e9a840afda0003fa73b415d5bd6ecd9b5c2cc842b643ee51b8c6087f4eead4d0bfbd987eb174c489a7b952ff2a -a8a6ee06e3af053b705a12b59777267c546f33ba8a0f49493af8e6df4e15cf8dd2d4fb4daf7e84c6b5d3a7363118ff03 -a28e59ce6ad02c2ce725067c0123117e12ac5a52c8f5af13eec75f4a9efc4f696777db18a374fa33bcae82e0734ebd16 -86dfc3b78e841c708aff677baa8ee654c808e5d257158715097c1025d46ece94993efe12c9d188252ad98a1e0e331fec -a88d0275510f242eab11fdb0410ff6e1b9d7a3cbd3658333539815f1b450a84816e6613d15aa8a8eb15d87cdad4b27a2 -8440acea2931118a5b481268ff9f180ee4ede85d14a52c026adc882410825b8275caa44aff0b50c2b88d39f21b1a0696 -a7c3182eab25bd6785bacf12079d0afb0a9b165d6ed327814e2177148539f249eb9b5b2554538f54f3c882d37c0a8abe -85291fbe10538d7da38efdd55a7acebf03b1848428a2f664c3ce55367aece60039f4f320b1771c9c89a35941797f717c -a2c6414eeb1234728ab0de94aa98fc06433a58efa646ca3fcbd97dbfb8d98ae59f7ce6d528f669c8149e1e13266f69c9 -840c8462785591ee93aee2538d9f1ec44ba2ca61a569ab51d335ac873f5d48099ae8d7a7efa0725d9ff8f9475bfa4f56 -a7065a9d02fb3673acf7702a488fbc01aa69580964932f6f40b6c2d1c386b19e50b0e104fcac24ea26c4e723611d0238 -b72db6d141267438279e032c95e6106c2ccb3164b842ba857a2018f3a35f4b040da92680881eb17cd61d0920d5b8f006 -a8005d6c5960e090374747307ef0be2871a7a43fa4e76a16c35d2baab808e9777b496e9f57a4218b23390887c33a0b55 -8e152cea1e00a451ca47c20a1e8875873419700af15a5f38ee2268d3fbc974d4bd5f4be38008fa6f404dbdedd6e6e710 -a3391aed1fcd68761f06a7d1008ec62a09b1cb3d0203cd04e300a0c91adfed1812d8bc1e4a3fd7976dc0aae0e99f52f1 -967eb57bf2aa503ee0c6e67438098149eac305089c155f1762cf5e84e31f0fbf27c34a9af05621e34645c1ec96afaec8 -88af97ddc4937a95ec0dcd25e4173127260f91c8db2f6eac84afb789b363705fb3196235af631c70cafd09411d233589 -a32df75b3f2c921b8767638fd289bcfc61e08597170186637a7128ffedd52c798c434485ac2c7de07014f9e895c2c3d8 -b0a783832153650aa0d766a3a73ec208b6ce5caeb40b87177ffc035ab03c7705ecdd1090b6456a29f5fb7e90e2fa8930 -b59c8e803b4c3486777d15fc2311b97f9ded1602fa570c7b0200bada36a49ee9ef4d4c1474265af8e1c38a93eb66b18b -982f2c85f83e852022998ff91bafbb6ff093ef22cf9d5063e083a48b29175ccbd51b9c6557151409e439096300981a6c -939e3b5989fefebb9d272a954659a4eb125b98c9da6953f5e628d26266bd0525ec38304b8d56f08d65abc4d6da4a8dbb -8898212fe05bc8de7d18503cb84a1c1337cc2c09d1eeef2b475aa79185b7322bf1f8e065f1bf871c0c927dd19faf1f6d -94b0393a41cd00f724aee2d4bc72103d626a5aecb4b5486dd1ef8ac27528398edf56df9db5c3d238d8579af368afeb09 -96ac564450d998e7445dd2ea8e3fc7974d575508fa19e1c60c308d83b645864c029f2f6b7396d4ff4c1b24e92e3bac37 -8adf6638e18aff3eb3b47617da696eb6c4bdfbecbbc3c45d3d0ab0b12cbad00e462fdfbe0c35780d21aa973fc150285e -b53f94612f818571b5565bbb295e74bada9b5f9794b3b91125915e44d6ddcc4da25510eab718e251a09c99534d6042d9 -8b96462508d77ee083c376cd90807aebad8de96bca43983c84a4a6f196d5faf6619a2351f43bfeec101864c3bf255519 -aeadf34657083fc71df33bd44af73bf5281c9ca6d906b9c745536e1819ea90b56107c55e2178ebad08f3ba75b3f81c86 -9784ba29b2f0057b5af1d3ab2796d439b8753f1f749c73e791037461bdfc3f7097394283105b8ab01788ea5255a96710 -8756241bda159d4a33bf74faba0d4594d963c370fb6a18431f279b4a865b070b0547a6d1613cf45b8cfb5f9236bbf831 -b03ebfd6b71421dfd49a30460f9f57063eebfe31b9ceaa2a05c37c61522b35bdc09d7db3ad75c76c253c00ba282d3cd2 -b34e7e6341fa9d854b2d3153bdda0c4ae2b2f442ab7af6f99a0975d45725aa48e36ae5f7011edd249862e91f499687d4 -b462ee09dc3963a14354244313e3444de5cc37ea5ccfbf14cd9aca8027b59c4cb2a949bc30474497cab8123e768460e6 -aea753290e51e2f6a21a9a0ee67d3a2713f95c2a5c17fe41116c87d3aa77b1683761264d704df1ac34f8b873bc88ef7b -98430592afd414394f98ddfff9f280fcb1c322dbe3510f45e1e9c4bb8ee306b3e0cf0282c0ee73ebb8ba087d4d9e0858 -b95d3b5aaf54ffca11f4be8d57f76e14afdb20afc859dc7c7471e0b42031e8f3d461b726ecb979bdb2f353498dfe95ea -984d17f9b11a683132e0b5a9ee5945e3ff7054c2d5c716be73b29078db1d36f54c6e652fd2f52a19da313112e97ade07 -ab232f756b3fff3262be418a1af61a7e0c95ceebbc775389622a8e10610508cd6784ab7960441917a83cc191c58829ea -a28f41678d6e60de76b0e36ab10e4516e53e02e9c77d2b5af3cfeee3ce94cfa30c5797bd1daab20c98e1cad83ad0f633 -b55395fca84dd3ccc05dd480cb9b430bf8631ff06e24cb51d54519703d667268c2f8afcde4ba4ed16bece8cc7bc8c6e0 -8a8a5392a0e2ea3c7a8c51328fab11156004e84a9c63483b64e8f8ebf18a58b6ffa8fe8b9d95af0a2f655f601d096396 -ab480000fe194d23f08a7a9ec1c392334e9c687e06851f083845121ce502c06b54dda8c43092bcc1035df45cc752fe9b -b265644c29f628d1c7e8e25a5e845cabb21799371814730a41a363e1bda8a7be50fee7c3996a365b7fcba4642add10db -b8a915a3c685c2d4728f6931c4d29487cad764c5ce23c25e64b1a3259ac27235e41b23bfe7ae982921b4cb84463097df -8efa7338442a4b6318145a5440fc213b97869647eeae41b9aa3c0a27ee51285b73e3ae3b4a9423df255e6add58864aa9 -9106d65444f74d217f4187dfc8fcf3810b916d1e4275f94f6a86d1c4f3565b131fd6cde1fa708bc05fe183c49f14941a -948252dac8026bbbdb0a06b3c9d66ec4cf9532163bab68076fda1bd2357b69e4b514729c15aaa83b5618b1977bbc60c4 -ae6596ccfdf5cbbc5782efe3bb0b101bb132dbe1d568854ca24cacc0b2e0e9fabcb2ca7ab42aecec412efd15cf8cb7a2 -84a0b6c198ff64fd7958dfd1b40eac9638e8e0b2c4cd8cf5d8cdf80419baee76a05184bce6c5b635f6bf2d30055476a7 -8893118be4a055c2b3da593dbca51b1ae2ea2469911acfb27ee42faf3e6c3ad0693d3914c508c0b05b36a88c8b312b76 -b097479e967504deb6734785db7e60d1d8034d6ca5ba9552887e937f5e17bb413fccac2c1d1082154ed76609127860ad -a0294e6b9958f244d29943debf24b00b538b3da1116269b6e452bb12dc742226712fd1a15b9c88195afeb5d2415f505c -b3cc15f635080bc038f61b615f62b5b5c6f2870586191f59476e8368a73641d6ac2f7d0c1f54621982defdb318020230 -99856f49b9fe1604d917c94d09cc0ed753d13d015d30587a94e6631ffd964b214e607deb8a69a8b5e349a7edf4309206 -a8571e113ea22b4b4fce41a094da8c70de37830ae32e62c65c2fa5ad06a9bc29e884b945e73d448c72b176d6ecebfb58 -a9e9c6e52beb0013273c29844956b3ce291023678107cdc785f7b44eff5003462841ad8780761b86aefc6b734adde7cf -80a784b0b27edb51ef2bad3aee80e51778dcaa0f3f5d3dcb5dc5d4f4b2cf7ae35b08de6680ea9dac53f8438b92eb09ef -827b543e609ea328e97e373f70ad72d4915a2d1daae0c60d44ac637231070e164c43a2a58db80a64df1c624a042b38f9 -b449c65e8195202efdcb9bdb4e869a437313b118fef8b510cbbf8b79a4e99376adb749b37e9c20b51b31ed3310169e27 -8ea3028f4548a79a94c717e1ed28ad4d8725b8d6ab18b021063ce46f665c79da3c49440c6577319dab2d036b7e08f387 -897798431cfb17fe39f08f5f854005dc37b1c1ec1edba6c24bc8acb3b88838d0534a75475325a5ea98b326ad47dbad75 -89cf232e6303b0751561960fd4dea5754a28c594daf930326b4541274ffb03c7dd75938e411eb9a375006a70ce38097f -9727c6ae7f0840f0b6c8bfb3a1a5582ceee705e0b5c59b97def7a7a2283edd4d3f47b7971e902a3a2079e40b53ff69b8 -b76ed72b122c48679d221072efc0eeea063cb205cbf5f9ef0101fd10cb1075b8628166c83577cced654e1c001c7882f7 -ae908c42d208759da5ee9b405df85a6532ea35c6f0f6a1288d22870f59d98edc896841b8ac890a538e6c8d1e8b02d359 -809d12fe4039a0ec80dc9be6a89acaab7797e5f7f9b163378f52f9a75a1d73b2e9ae6e3dd49e32ced439783c1cabbef5 -a4149530b7f85d1098ba534d69548c6c612c416e8d35992fc1f64f4deeb41e09e49c6cf7aadbed7e846b91299358fe2d -a49342eacd1ec1148b8df1e253b1c015f603c39de11fa0a364ccb86ea32d69c34fd7aa6980a1fadcd8e785a57fa46f60 -87d43eff5a006dc4dddcf76cc96c656a1f3a68f19f124181feab86c6cc9a52cb9189cdbb423414defdd9bb0ca8ff1ddc -861367e87a9aa2f0f68296ba50aa5dbc5713008d260cc2c7e62d407c2063064749324c4e8156dc21b749656cfebce26b -b5303c2f72e84e170e66ae1b0fbd51b8c7a6f27476eaf5694b64e8737d5c84b51fe90100b256465a4c4156dd873cddb0 -b62849a4f891415d74f434cdc1d23c4a69074487659ca96e1762466b2b7a5d8525b056b891d0feea6fe6845cba8bc7fb -923dd9e0d6590a9307e8c4c23f13bae3306b580e297a937711a8b13e8de85e41a61462f25b7d352b682e8437bf2b4ab3 -9147379860cd713cd46c94b8cdf75125d36c37517fbecf81ace9680b98ce6291cd1c3e472f84249cc3b2b445e314b1b6 -a808a4f17ac21e3fb5cfef404e61fae3693ca3e688d375f99b6116779696059a146c27b06de3ac36da349b0649befd56 -87787e9322e1b75e66c1f0d9ea0915722a232770930c2d2a95e9478c4b950d15ab767e30cea128f9ed65893bfc2d0743 -9036a6ee2577223be105defe1081c48ea7319e112fff9110eb9f61110c319da25a6cea0464ce65e858635b079691ef1f -af5548c7c24e1088c23b57ee14d26c12a83484c9fd9296edf1012d8dcf88243f20039b43c8c548c265ef9a1ffe9c1c88 -a0fff520045e14065965fb8accd17e878d3fcaf9e0af2962c8954e50be6683d31fa0bf4816ab68f08630dbac6bfce52a -b4c1b249e079f6ae1781af1d97a60b15855f49864c50496c09c91fe1946266915b799f0406084d7783f5b1039116dd8b -8b0ffa5e7c498cb3879dddca34743b41eee8e2dea3d4317a6e961b58adb699ef0c92400c068d5228881a2b08121226bf -852ae8b19a1d80aa8ae5382e7ee5c8e7670ceb16640871c56b20b96b66b3b60e00015a3dde039446972e57b49a999ddd -a49942f04234a7d8492169da232cfff8051df86e8e1ba3db46aede02422c689c87dc1d99699c25f96cb763f5ca0983e5 -b04b597b7760cf5dcf411ef896d1661e6d5b0db3257ac2cf64b20b60c6cc18fa10523bb958a48d010b55bac7b02ab3b1 -a494591b51ea8285daecc194b5e5bd45ae35767d0246ac94fae204d674ee180c8e97ff15f71f28b7aeb175b8aea59710 -97d2624919e78406e7460730680dea8e71c8571cf988e11441aeea54512b95bd820e78562c99372d535d96f7e200d20d -ac693ddb00e48f76e667243b9b6a7008424043fb779e4f2252330285232c3fccac4da25cbd6d95fe9ad959ff305a91f6 -8d20ca0a71a64a3f702a0825bb46bd810d03bebfb227683680d474a52f965716ff99e19a165ebaf6567987f4f9ee3c94 -a5c516a438f916d1d68ca76996404792e0a66e97b7f18fc54c917bf10cf3211b62387932756e39e67e47b0bd6e88385a -b089614d830abc0afa435034cec7f851f2f095d479cacf1a3fb57272da826c499a52e7dcbc0eb85f4166fb94778e18e9 -a8dacc943765d930848288192f4c69e2461c4b9bc6e79e30eeef9a543318cf9ae9569d6986c65c5668a89d49993f8e07 -ab5a9361fa339eec8c621bdad0a58078983abd8942d4282b22835d7a3a47e132d42414b7c359694986f7db39386c2e19 -94230517fb57bd8eb26c6f64129b8b2abd0282323bf7b94b8bac7fab27b4ecc2c4290c294275e1a759de19f2216134f3 -b8f158ea5006bc3b90b285246625faaa6ac9b5f5030dc69701b12f3b79a53ec7e92eeb5a63bbd1f9509a0a3469ff3ffc -8b6944fd8cb8540957a91a142fdcda827762aa777a31e8810ca6d026e50370ee1636fc351724767e817ca38804ebe005 -82d1ee40fe1569c29644f79fa6c4033b7ed45cd2c3b343881f6eb0de2e79548fded4787fae19bed6ee76ed76ff9f2f11 -a8924c7035e99eaed244ca165607e7e568b6c8085510dcdbaf6ebdbed405af2e6c14ee27d94ffef10d30aa52a60bf66d -956f82a6c2ae044635e85812581e4866c5fa2f427b01942047d81f6d79a14192f66fbbe77c9ffeaef4e6147097fdd2b5 -b1100255a1bcf5e05b6aff1dfeb6e1d55b5d68d43a7457ba10cc76b61885f67f4d0d5179abda786e037ae95deb8eea45 -99510799025e3e5e8fbf06dedb14c060c6548ba2bda824f687d3999dc395e794b1fb6514b9013f3892b6cf65cb0d65aa -8f9091cebf5e9c809aab415942172258f894e66e625d7388a05289183f01b8d994d52e05a8e69f784fba41db9ea357f0 -a13d2eeb0776bdee9820ecb6693536720232848c51936bb4ef4fe65588d3f920d08a21907e1fdb881c1ad70b3725e726 -a68b8f18922d550284c5e5dc2dda771f24c21965a6a4d5e7a71678178f46df4d8a421497aad8fcb4c7e241aba26378a0 -8b7601f0a3c6ad27f03f2d23e785c81c1460d60100f91ea9d1cab978aa03b523150206c6d52ce7c7769c71d2c8228e9e -a8e02926430813caa851bb2b46de7f0420f0a64eb5f6b805401c11c9091d3b6d67d841b5674fa2b1dce0867714124cd8 -b7968ecba568b8193b3058400af02c183f0a6df995a744450b3f7e0af7a772454677c3857f99c140bbdb2a09e832e8e0 -8f20b1e9ba87d0a3f35309b985f3c18d2e8800f1ca7f0c52cadef773f1496b6070c936eea48c4a1cae83fd2524e9d233 -88aef260042db0d641a51f40639dbeeefa9e9811df30bee695f3791f88a2f84d318f04e8926b7f47bf25956cb9e3754f -9725345893b647e9ba4e6a29e12f96751f1ae25fcaec2173e9a259921a1a7edb7a47159b3c8767e44d9e2689f5aa0f72 -8c281e6f72752cb11e239e4df9341c45106eb7993c160e54423c2bffe10bc39d42624b45a1f673936ef2e1a02fc92f1a -90aba2f68bddb2fcce6c51430dacdfeec43ea8dc379660c99095df11017691ccf5faa27665cf4b9f0eea7728ae53c327 -b7022695c16521c5704f49b7ddbdbec9b5f57ce0ceebe537bc0ebb0906d8196cc855a9afeb8950a1710f6a654464d93f -8fe1b9dd3c6a258116415d36e08374e094b22f0afb104385a5da48be17123e86fb8327baacc4f0d9ebae923d55d99bb5 -817e85d8e3d19a4cbc1dec31597142c2daa4871bda89c2177fa719c00eda3344eb08b82eb92d4aa91a9eaacb3fc09783 -b59053e1081d2603f1ca0ba553804d6fa696e1fd996631db8f62087b26a40dfef02098b0326bb75f99ec83b9267ca738 -990a173d857d3ba81ff3789b931bfc9f5609cde0169b7f055fa3cb56451748d593d62d46ba33f80f9cafffe02b68dd14 -b0c538dbba4954b809ab26f9f94a3cf1dcb77ce289eaec1d19f556c0ae4be1fa03af4a9b7057837541c3cc0a80538736 -ac3ba42f5f44f9e1fc453ce49c4ab79d0e1d5c42d3b30b1e098f3ab3f414c4c262fa12fb2be249f52d4aaf3c5224beb9 -af47467eb152e59870e21f0d4da2f43e093daf40180ab01438030684b114d025326928eaab12c41b81a066d94fce8436 -98d1b58ba22e7289b1c45c79a24624f19b1d89e00f778eef327ec4856a9a897278e6f1a9a7e673844b31dde949153000 -97ccb15dfadc7c59dca08cfe0d22df2e52c684cf97de1d94bc00d7ba24e020025130b0a39c0f4d46e4fc872771ee7875 -b699e4ed9a000ff96ca296b2f09dce278832bc8ac96851ff3cff99ed3f6f752cfc0fea8571be28cd9b5a7ec36f1a08ee -b9f49f0edb7941cc296435ff0a912e3ad16848ee8765ab5f60a050b280d6ea585e5b34051b15f6b8934ef01ceb85f648 -ac3893df7b4ceab23c6b9054e48e8ba40d6e5beda8fbe90b814f992f52494186969b35d8c4cdc3c99890a222c9c09008 -a41293ad22fae81dea94467bc1488c3707f3d4765059173980be93995fa4fcc3c9340796e3eed0beeb0ba0d9bb4fa3aa -a0543e77acd2aeecde13d18d258aeb2c7397b77f17c35a1992e8666ea7abcd8a38ec6c2741bd929abba2f766138618cc -92e79b22bc40e69f6527c969500ca543899105837b6b1075fa1796755c723462059b3d1b028e0b3df2559fa440e09175 -a1fa1eac8f41a5197a6fb4aa1eae1a031c89f9c13ff9448338b222780cf9022e0b0925d930c37501a0ef7b2b00fdaf83 -b3cb29ff73229f0637335f28a08ad8c5f166066f27c6c175164d0f26766a927f843b987ee9b309ed71cbf0a65d483831 -84d4ab787f0ac00f104f4a734dc693d62d48c2aeb03913153da62c2ae2c27d11b1110dcef8980368dd84682ea2c1a308 -ab6a8e4bbc78d4a7b291ad3e9a8fe2d65f640524ba3181123b09d2d18a9e300e2509ccf7000fe47e75b65f3e992a2e7e -b7805ebe4f1a4df414003dc10bca805f2ab86ca75820012653e8f9b79c405196b0e2cab099f2ab953d67f0d60d31a0f9 -b12c582454148338ea605d22bd00a754109063e22617f1f8ac8ddf5502c22a181c50c216c3617b9852aa5f26af56b323 -86333ad9f898947e31ce747728dc8c887479e18d36ff3013f69ebef807d82c6981543b5c3788af93c4d912ba084d3cba -b514efa310dc4ad1258add138891e540d8c87142a881b5f46563cc58ecd1488e6d3a2fca54c0b72a929f3364ca8c333e -aa0a30f92843cf2f484066a783a1d75a7aa6f41f00b421d4baf20a6ac7886c468d0eea7ca8b17dd22f4f74631b62b640 -b3b7dc63baec9a752e8433c0cdee4d0f9bc41f66f2b8d132faf925eef9cf89aae756fc132c45910f057122462605dc10 -b9b8190dac5bfdeb59fd44f4da41a57e7f1e7d2c21faba9da91fa45cbeca06dcf299c9ae22f0c89ece11ac46352d619f -89f8cf36501ad8bdfeab863752a9090e3bfda57cf8fdeca2944864dc05925f501e252c048221bcc57136ab09a64b64b2 -b0cbfaf317f05f97be47fc9d69eda2dd82500e00d42612f271a1fe24626408c28881f171e855bd5bd67409f9847502b4 -a7c21a8fcede581bfd9847b6835eda62ba250bea81f1bb17372c800a19c732abe03064e64a2f865d974fb636cab4b859 -95f9df524ba7a4667351696c4176b505d8ea3659f5ff2701173064acc624af69a0fad4970963736383b979830cb32260 -856a74fe8b37a2e3afeac858c8632200485d438422a16ae3b29f359e470e8244995c63ad79c7e007ed063f178d0306fd -b37faa4d78fdc0bb9d403674dbea0176c2014a171c7be8527b54f7d1a32a76883d3422a3e7a5f5fcc5e9b31b57822eeb -8d37234d8594ec3fe75670b5c9cc1ec3537564d4739b2682a75b18b08401869a4264c0f264354219d8d896cded715db4 -b5289ee5737f0e0bde485d32096d23387d68dab8f01f47821ab4f06cc79a967afe7355e72dc0c751d96b2747b26f6255 -9085e1fdf9f813e9c3b8232d3c8863cd84ab30d45e8e0d3d6a0abd9ebc6fd70cdf749ff4d04390000e14c7d8c6655fc7 -93a388c83630331eca4da37ea4a97b3b453238af474817cc0a0727fd3138dcb4a22de38c04783ec829c22cb459cb4e8e -a5377116027c5d061dbe24c240b891c08cdd8cd3f0899e848d682c873aff5b8132c1e7cfe76d2e5ed97ee0eb1d42cb68 -a274c84b04338ed28d74683e2a7519c2591a3ce37c294d6f6e678f7d628be2db8eff253ede21823e2df7183e6552f622 -8bc201147a842453a50bec3ac97671397bc086d6dfc9377fa38c2124cdc286abda69b7324f47d64da094ae011d98d9d9 -9842d0c066c524592b76fbec5132bc628e5e1d21c424bec4555efca8619cc1fd8ea3161febcb8b9e8ab54702f4e815e2 -a19191b713a07efe85c266f839d14e25660ee74452e6c691cd9997d85ae4f732052d802d3deb018bdd847caa298a894b -a24f71fc0db504da4e287dd118a4a74301cbcd16033937ba2abc8417956fcb4ae19b8e63b931795544a978137eff51cb -a90eec4a6a3a4b8f9a5b93d978b5026fcf812fe65585b008d7e08c4aaf21195a1d0699f12fc16f79b6a18a369af45771 -8b551cf89737d7d06d9b3b9c4c1c73b41f2ea0af4540999c70b82dabff8580797cf0a3caf34c86c59a7069eb2e38f087 -b8d312e6c635e7a216a1cda075ae77ba3e1d2fd501dc31e83496e6e81ed5d9c7799f8e578869c2e0e256fb29f5de10a7 -8d144bdb8cae0b2cdb5b33d44bbc96984a5925202506a8cc65eb67ac904b466f5a7fe3e1cbf04aa785bbb7348c4bb73c -a101b3d58b7a98659244b88de0b478b3fb87dc5fc6031f6e689b99edf498abd43e151fd32bd4bbd240e0b3e59c440359 -907453abca7d8e7151a05cc3d506c988007692fe7401395dc93177d0d07d114ab6cca0cc658eb94c0223fe8658295cad -825329ffbe2147ddb68f63a0a67f32d7f309657b8e5d9ab5bb34b3730bfa2c77a23eaaadb05def7d9f94a9e08fdc1e96 -88ee923c95c1dac99ae7ed6067906d734d793c5dc5d26339c1bb3314abe201c5dccb33b9007351885eb2754e9a8ea06c -98bc9798543f5f1adc9f2cfcfa72331989420e9c3f6598c45269f0dc9b7c8607bbeaf03faa0aea2ddde2b8f17fdceff5 -8ee87877702a79aef923ab970db6fa81561b3c07d5bf1a072af0a7bad765b4cbaec910afe1a91703feacc7822fa38a94 -8060b9584aa294fe8adc2b22f67e988bc6da768eae91e429dcc43ddc53cfcc5d6753fdc1b420b268c7eb2fb50736a970 -b344a5524d80a2f051870c7001f74fcf348a70fcf78dbd20c6ff9ca85d81567d2318c8b8089f2c4f195d6aec9fc15fa6 -8f5a5d893e1936ed062149d20eb73d98b62b7f50ab5d93a6429c03656b36688d1c80cb5010e4977491e51fa0d7dd35d5 -86fa32ebbf97328c5f5f15564e1238297e289ec3219b9a741724e9f3ae8d5c15277008f555863a478b247ba5dc601d44 -9557e55377e279f4b6b5e0ffe01eca037cc13aac242d67dfcd0374a1e775c5ed5cb30c25fe21143fee54e3302d34a3ea -8cb6bcbc39372d23464a416ea7039f57ba8413cf3f00d9a7a5b356ab20dcb8ed11b3561f7bce372b8534d2870c7ee270 -b5d59075cb5abde5391f64b6c3b8b50adc6e1f654e2a580b6d6d6eff3f4fbdd8fffc92e06809c393f5c8eab37f774c4b -afcfb6903ef13e493a1f7308675582f15af0403b6553e8c37afb8b2808ad21b88b347dc139464367dc260df075fea1ad -810fbbe808375735dd22d5bc7fc3828dc49fdd22cc2d7661604e7ac9c4535c1df578780affb3b895a0831640a945bcad -8056b0c678803b416f924e09a6299a33cf9ad7da6fe1ad7accefe95c179e0077da36815fde3716711c394e2c5ea7127f -8b67403702d06979be19f1d6dc3ec73cc2e81254d6b7d0cc49cd4fdda8cd51ab0835c1d2d26fc0ecab5df90585c2f351 -87f97f9e6d4be07e8db250e5dd2bffdf1390665bc5709f2b631a6fa69a7fca958f19bd7cc617183da1f50ee63e9352b5 -ae151310985940471e6803fcf37600d7fa98830613e381e00dab943aec32c14162d51c4598e8847148148000d6e5af5c -81eb537b35b7602c45441cfc61b27fa9a30d3998fad35a064e05bc9479e9f10b62eba2b234b348219eea3cadcaac64bb -8a441434934180ab6f5bc541f86ebd06eadbee01f438836d797e930fa803a51510e005c9248cecc231a775b74d12b5e9 -81f3c250a27ba14d8496a5092b145629eb2c2e6a5298438670375363f57e2798207832c8027c3e9238ad94ecdadfc4df -a6217c311f2f3db02ceaa5b6096849fe92b6f4b6f1491535ef8525f6ccee6130bed2809e625073ecbaddd4a3eb3df186 -82d1c396f0388b942cf22b119d7ef1ad03d3dad49a74d9d01649ee284f377c8daddd095d596871669e16160299a210db -a40ddf7043c5d72a7246bd727b07f7fff1549f0e443d611de6f9976c37448b21664c5089c57f20105102d935ab82f27b -b6c03c1c97adf0c4bf4447ec71366c6c1bff401ba46236cd4a33d39291e7a1f0bb34bd078ba3a18d15c98993b153a279 -8a94f5f632068399c359c4b3a3653cb6df2b207379b3d0cdace51afdf70d6d5cce6b89a2b0fee66744eba86c98fb21c2 -b2f19e78ee85073f680c3bba1f07fd31b057c00b97040357d97855b54a0b5accb0d3b05b2a294568fcd6a4be6f266950 -a74632d13bbe2d64b51d7a9c3ae0a5a971c19f51cf7596a807cea053e6a0f3719700976d4e394b356c0329a2dced9aa2 -afef616d341a9bc94393b8dfba68ff0581436aa3a3adb7c26a1bbf2cf19fa877066191681f71f17f3cd6f9cf6bf70b5a -8ce96d93ae217408acf7eb0f9cbb9563363e5c7002e19bbe1e80760bc9d449daee2118f3878b955163ed664516b97294 -8414f79b496176bc8b8e25f8e4cfee28f4f1c2ddab099d63d2aca1b6403d26a571152fc3edb97794767a7c4686ad557c -b6c61d01fd8ce087ef9f079bf25bf10090db483dd4f88c4a786d31c1bdf52065651c1f5523f20c21e75cea17df69ab73 -a5790fd629be70545093631efadddc136661f63b65ec682609c38ef7d3d7fa4e56bdf94f06e263bc055b90cb1c6bcefe -b515a767e95704fb7597bca9e46f1753abacdc0e56e867ee3c6f4cd382643c2a28e65312c05ad040eaa3a8cbe7217a65 -8135806a02ead6aa92e9adb6fefb91349837ab73105aaa7be488ef966aa8dfaafdfa64bbae30fcbfa55dd135a036a863 -8f22435702716d76b1369750694540742d909d5e72b54d0878245fab7c269953b1c6f2b29c66f08d5e0263ca3a731771 -8e0f8a8e8753e077dac95848212aeffd51c23d9b6d611df8b102f654089401954413ecbedc6367561ca599512ae5dda7 -815a9084e3e2345f24c5fa559deec21ee1352fb60f4025c0779be65057f2d528a3d91593bd30d3a185f5ec53a9950676 -967e6555ccba395b2cc1605f8484c5112c7b263f41ce8439a99fd1c71c5ed14ad02684d6f636364199ca48afbbde13be -8cd0ccf17682950b34c796a41e2ea7dd5367aba5e80a907e01f4cdc611e4a411918215e5aebf4292f8b24765d73314a6 -a58bf1bbb377e4b3915df6f058a0f53b8fb8130fdec8c391f6bc82065694d0be59bb67ffb540e6c42cc8b380c6e36359 -92af3151d9e6bfb3383d85433e953c0160859f759b0988431ec5893542ba40288f65db43c78a904325ef8d324988f09d -8011bbb05705167afb47d4425065630f54cb86cd462095e83b81dfebf348f846e4d8fbcf1c13208f5de1931f81da40b9 -81c743c104fc3cb047885c9fa0fb9705c3a83ee24f690f539f4985509c3dafd507af3f6a2128276f45d5939ef70c167f -a2c9679b151c041aaf5efeac5a737a8f70d1631d931609fca16be1905682f35e291292874cb3b03f14994f98573c6f44 -a4949b86c4e5b1d5c82a337e5ce6b2718b1f7c215148c8bfb7e7c44ec86c5c9476048fc5c01f57cb0920876478c41ad6 -86c2495088bd1772152e527a1da0ef473f924ea9ab0e5b8077df859c28078f73c4e22e3a906b507fdf217c3c80808b5c -892e0a910dcf162bcea379763c3e2349349e4cda9402949255ac4a78dd5a47e0bf42f5bd0913951576b1d206dc1e536a -a7009b2c6b396138afe4754b7cc10dee557c51c7f1a357a11486b3253818531f781ea8107360c8d4c3b1cd96282353c0 -911763ef439c086065cc7b4e57484ed6d693ea44acee4b18c9fd998116da55fbe7dcb8d2a0f0f9b32132fca82d73dff6 -a722000b95a4a2d40bed81870793f15ba2af633f9892df507f2842e52452e02b5ea8dea6a043c2b2611d82376e33742a -9387ac49477bd719c2f92240d0bdfcf9767aad247ca93dc51e56106463206bc343a8ec855eb803471629a66fffb565d6 -92819a1fa48ab4902939bb72a0a4e6143c058ea42b42f9bc6cea5df45f49724e2530daf3fc4f097cceefa2a8b9db0076 -98eac7b04537653bc0f4941aae732e4b1f84bd276c992c64a219b8715eb1fb829b5cbd997d57feb15c7694c468f95f70 -b275e7ba848ce21bf7996e12dbeb8dadb5d0e4f1cb5a0248a4f8f9c9fe6c74e3c93f4b61edbcb0a51af5a141e1c14bc7 -97243189285aba4d49c53770c242f2faf5fd3914451da4931472e3290164f7663c726cf86020f8f181e568c72fd172d1 -839b0b3c25dd412bee3dc24653b873cc65454f8f16186bb707bcd58259c0b6765fa4c195403209179192a4455c95f3b8 -8689d1a870514568a074a38232e2ceb4d7df30fabeb76cff0aed5b42bf7f02baea12c5fadf69f4713464dbd52aafa55f -8958ae7b290f0b00d17c3e9fdb4dbf168432b457c7676829299dd428984aba892de1966fc106cfc58a772862ecce3976 -a422bc6bd68b8870cfa5bc4ce71781fd7f4368b564d7f1e0917f6013c8bbb5b240a257f89ecfdbecb40fe0f3aa31d310 -aa61f78130cebe09bc9a2c0a37f0dd57ed2d702962e37d38b1df7f17dc554b1d4b7a39a44182a452ce4c5eb31fa4cfcc -b7918bd114f37869bf1a459023386825821bfadce545201929d13ac3256d92a431e34f690a55d944f77d0b652cefeffc -819bba35fb6ace1510920d4dcff30aa682a3c9af9022e287751a6a6649b00c5402f14b6309f0aeef8fce312a0402915e -8b7c9ad446c6f63c11e1c24e24014bd570862b65d53684e107ba9ad381e81a2eaa96731b4b33536efd55e0f055071274 -8fe79b53f06d33386c0ec7d6d521183c13199498594a46d44a8a716932c3ec480c60be398650bbfa044fa791c4e99b65 -9558e10fb81250b9844c99648cf38fa05ec1e65d0ccbb18aa17f2d1f503144baf59d802c25be8cc0879fff82ed5034ad -b538a7b97fbd702ba84645ca0a63725be1e2891c784b1d599e54e3480e4670d0025526674ef5cf2f87dddf2290ba09f0 -92eafe2e869a3dd8519bbbceb630585c6eb21712b2f31e1b63067c0acb5f9bdbbcbdb612db4ea7f9cc4e7be83d31973f -b40d21390bb813ab7b70a010dff64c57178418c62685761784e37d327ba3cb9ef62df87ecb84277c325a637fe3709732 -b349e6fbf778c4af35fbed33130bd8a7216ed3ba0a79163ebb556e8eb8e1a7dad3456ddd700dad9d08d202491c51b939 -a8fdaedecb251f892b66c669e34137f2650509ade5d38fbe8a05d9b9184bb3b2d416186a3640429bd1f3e4b903c159dd -ac6167ebfee1dbab338eff7642f5e785fc21ef0b4ddd6660333fe398068cbd6c42585f62e81e4edbb72161ce852a1a4f -874b1fbf2ebe140c683bd7e4e0ab017afa5d4ad38055aaa83ee6bbef77dbc88a6ce8eb0dcc48f0155244af6f86f34c2d -903c58e57ddd9c446afab8256a6bb6c911121e6ccfb4f9b4ed3e2ed922a0e500a5cb7fa379d5285bc16e11dac90d1fda -8dae7a0cffa2fd166859cd1bf10ff82dd1932e488af377366b7efc0d5dec85f85fe5e8150ff86a79a39cefc29631733a -aa047857a47cc4dfc08585f28640420fcf105b881fd59a6cf7890a36516af0644d143b73f3515ab48faaa621168f8c31 -864508f7077c266cc0cb3f7f001cb6e27125ebfe79ab57a123a8195f2e27d3799ff98413e8483c533b46a816a3557f1f -8bcd45ab1f9cbab36937a27e724af819838f66dfeb15923f8113654ff877bd8667c54f6307aaf0c35027ca11b6229bfd -b21aa34da9ab0a48fcfdd291df224697ce0c1ebc0e9b022fdee8750a1a4b5ba421c419541ed5c98b461eecf363047471 -a9a18a2ab2fae14542dc336269fe612e9c1af6cf0c9ac933679a2f2cb77d3c304114f4d219ca66fe288adde30716775b -b5205989b92c58bdda71817f9a897e84100b5c4e708de1fced5c286f7a6f01ae96b1c8d845f3a320d77c8e2703c0e8b1 -a364059412bbcc17b8907d43ac8e5df90bc87fd1724b5f99832d0d24559fae6fa76a74cff1d1eac8cbac6ec80b44af20 -ae709f2c339886b31450834cf29a38b26eb3b0779bd77c9ac269a8a925d1d78ea3837876c654b61a8fe834b3b6940808 -8802581bba66e1952ac4dab36af371f66778958f4612901d95e5cac17f59165e6064371d02de8fb6fccf89c6dc8bd118 -a313252df653e29c672cbcfd2d4f775089cb77be1077381cf4dc9533790e88af6cedc8a119158e7da5bf6806ad9b91a1 -992a065b4152c7ef11515cd54ba9d191fda44032a01aed954acff3443377ee16680c7248d530b746b8c6dee2d634e68c -b627b683ee2b32c1ab4ccd27b9f6cce2fe097d96386fa0e5c182ad997c4c422ab8dfc03870cd830b8c774feb66537282 -b823cf8a9aee03dadd013eb9efe40a201b4b57ef67efaae9f99683005f5d1bf55e950bf4af0774f50859d743642d3fea -b8a7449ffac0a3f206677097baf7ce00ca07a4d2bd9b5356fbcb83f3649b0fda07cfebad220c1066afba89e5a52abf4b -b2dd1a2f986395bb4e3e960fbbe823dbb154f823284ebc9068502c19a7609790ec0073d08bfa63f71e30c7161b6ef966 -98e5236de4281245234f5d40a25b503505af140b503a035fc25a26159a9074ec81512b28f324c56ea2c9a5aa7ce90805 -89070847dc8bbf5bc4ed073aa2e2a1f699cf0c2ca226f185a0671cecc54e7d3e14cd475c7752314a7a8e7476829da4bc -a9402dc9117fdb39c4734c0688254f23aed3dce94f5f53f5b7ef2b4bf1b71a67f85ab1a38ec224a59691f3bee050aeb3 -957288f9866a4bf56a4204218ccc583f717d7ce45c01ea27142a7e245ad04a07f289cc044f8cf1f21d35e67e39299e9c -b2fb31ccb4e69113763d7247d0fc8edaae69b550c5c56aecacfd780c7217dc672f9fb7496edf4aba65dacf3361268e5b -b44a4526b2f1d6eb2aa8dba23bfa385ff7634572ab2afddd0546c3beb630fbfe85a32f42dd287a7fec069041411537f7 -8db5a6660c3ac7fd7a093573940f068ee79a82bc17312af900b51c8c439336bc86ca646c6b7ab13aaaa008a24ca508ab -8f9899a6d7e8eb4367beb5c060a1f8e94d8a21099033ae582118477265155ba9e72176a67f7f25d7bad75a152b56e21a -a67de0e91ade8d69a0e00c9ff33ee2909b8a609357095fa12319e6158570c232e5b6f4647522efb7345ce0052aa9d489 -82eb2414898e9c3023d57907a2b17de8e7eea5269029d05a94bfd7bf5685ac4a799110fbb375eb5e0e2bd16acf6458ae -94451fc7fea3c5a89ba701004a9693bab555cb622caf0896b678faba040409fdfd14a978979038b2a81e8f0abc4994d2 -ac879a5bb433998e289809a4a966bd02b4bf6a9c1cc276454e39c886efcf4fc68baebed575826bde577ab5aa71d735a9 -880c0f8f49c875dfd62b4ddedde0f5c8b19f5687e693717f7e5c031bc580e58e13ab497d48b4874130a18743c59fdce3 -b582af8d8ff0bf76f0a3934775e0b54c0e8fed893245d7d89cae65b03c8125b7237edc29dc45b4fe1a3fe6db45d280ee -89f337882ed3ae060aaee98efa20d79b6822bde9708c1c5fcee365d0ec9297f694cae37d38fd8e3d49717c1e86f078e7 -826d2c1faea54061848b484e288a5f4de0d221258178cf87f72e14baaa4acc21322f8c9eab5dde612ef497f2d2e1d60b -a5333d4f227543e9cd741ccf3b81db79f2f03ca9e649e40d6a6e8ff9073e06da83683566d3b3c8d7b258c62970fb24d1 -a28f08c473db06aaf4c043a2fae82b3c8cfaa160bce793a4c208e4e168fb1c65115ff8139dea06453c5963d95e922b94 -8162546135cc5e124e9683bdfaa45833c18553ff06a0861c887dc84a5b12ae8cd4697f6794c7ef6230492c32faba7014 -b23f0d05b74c08d6a7df1760792be83a761b36e3f8ae360f3c363fb196e2a9dd2de2e492e49d36561366e14daa77155c -b6f70d6c546722d3907c708d630dbe289771d2c8bf059c2e32b77f224696d750b4dda9b3a014debda38e7d02c9a77585 -83bf4c4a9f3ca022c631017e7a30ea205ba97f7f5927cba8fc8489a4646eac6712cb821c5668c9ffe94d69d524374a27 -b0371475425a8076d0dd5f733f55aabbe42d20a7c8ea7da352e736d4d35a327b2beb370dfcb05284e22cfd69c5f6c4cc -a0031ba7522c79211416c2cca3aa5450f96f8fee711552a30889910970ba13608646538781a2c08b834b140aadd7166f -99d273c80c7f2dc6045d4ed355d9fc6f74e93549d961f4a3b73cd38683f905934d359058cd1fc4da8083c7d75070487f -b0e4b0efa3237793e9dcce86d75aafe9879c5fa23f0d628649aef2130454dcf72578f9bf227b9d2b9e05617468e82588 -a5ab076fa2e1c5c51f3ae101afdd596ad9d106bba7882b359c43d8548b64f528af19afa76cd6f40da1e6c5fca4def3fa -8ce2299e570331d60f6a6eff1b271097cd5f1c0e1113fc69b89c6a0f685dabea3e5bc2ac6bd789aa492ab189f89be494 -91b829068874d911a310a5f9dee001021f97471307b5a3de9ec336870ec597413e1d92010ce320b619f38bed7c4f7910 -b14fe91f4b07bf33b046e9285b66cb07927f3a8da0af548ac2569b4c4fb1309d3ced76d733051a20814e90dd5b75ffd1 -abaab92ea6152d40f82940277c725aa768a631ee0b37f5961667f82fb990fc11e6d3a6a2752b0c6f94563ed9bb28265c -b7fe28543eca2a716859a76ab9092f135337e28109544f6bd2727728d0a7650428af5713171ea60bfc273d1c821d992c -8a4917b2ab749fc7343fc64bdf51b6c0698ff15d740cc7baf248c030475c097097d5a473bcc00d8c25817563fe0447b4 -aa96156d1379553256350a0a3250166add75948fb9cde62aa555a0a9dc0a9cb7f2f7b8428aff66097bf6bfedaf14bbe2 -ae4ffeb9bdc76830d3eca2b705f30c1bdede6412fa064260a21562c8850c7fb611ec62bc68479fe48f692833e6f66d8d -b96543caaba9d051600a14997765d49e4ab10b07c7a92cccf0c90b309e6da334fdd6d18c96806cbb67a7801024fbd3c7 -97b2b9ad76f19f500fcc94ca8e434176249f542ac66e5881a3dccd07354bdab6a2157018b19f8459437a68d8b86ba8e0 -a8d206f6c5a14c80005849474fde44b1e7bcf0b2d52068f5f97504c3c035b09e65e56d1cf4b5322791ae2c2fdbd61859 -936bad397ad577a70cf99bf9056584a61bd7f02d2d5a6cf219c05d770ae30a5cd902ba38366ce636067fc1dd10108d31 -a77e30195ee402b84f3882e2286bf5380c0ed374a112dbd11e16cef6b6b61ab209d4635e6f35cdaaa72c1a1981d5dabe -a46ba4d3947188590a43c180757886a453a0503f79cc435322d92490446f37419c7b999fdf868a023601078070e03346 -80d8d4c5542f223d48240b445d4d8cf6a75d120b060bc08c45e99a13028b809d910b534d2ac47fb7068930c54efd8da9 -803be9c68c91b42b68e1f55e58917a477a9a6265e679ca44ee30d3eb92453f8c89c64eafc04c970d6831edd33d066902 -b14b2b3d0dfe2bb57cee4cd72765b60ac33c1056580950be005790176543826c1d4fbd737f6cfeada6c735543244ab57 -a9e480188bba1b8fb7105ff12215706665fd35bf1117bacfb6ab6985f4dbc181229873b82e5e18323c2b8f5de03258e0 -a66a0f0779436a9a3999996d1e6d3000f22c2cac8e0b29cddef9636393c7f1457fb188a293b6c875b05d68d138a7cc4a -848397366300ab40c52d0dbbdafbafef6cd3dadf1503bb14b430f52bb9724188928ac26f6292a2412bc7d7aa620763c8 -95466cc1a78c9f33a9aaa3829a4c8a690af074916b56f43ae46a67a12bb537a5ac6dbe61590344a25b44e8512355a4a7 -8b5f7a959f818e3baf0887f140f4575cac093d0aece27e23b823cf421f34d6e4ff4bb8384426e33e8ec7b5eed51f6b5c -8d5e1368ec7e3c65640d216bcc5d076f3d9845924c734a34f3558ac0f16e40597c1a775a25bf38b187213fbdba17c93b -b4647c1b823516880f60d20c5cc38c7f80b363c19d191e8992226799718ee26b522a12ecb66556ed3d483aa4824f3326 -ac3abaea9cd283eb347efda4ed9086ea3acf495043e08d0d19945876329e8675224b685612a6badf8fd72fb6274902b1 -8eae1ce292d317aaa71bcf6e77e654914edd5090e2e1ebab78b18bb41b9b1bc2e697439f54a44c0c8aa0d436ebe6e1a9 -94dc7d1aec2c28eb43d93b111fa59aaa0d77d5a09501220bd411768c3e52208806abf973c6a452fd8292ff6490e0c9e2 -8fd8967f8e506fef27d17b435d6b86b232ec71c1036351f12e6fb8a2e12daf01d0ee04451fb944d0f1bf7fd20e714d02 -824e6865be55d43032f0fec65b3480ea89b0a2bf860872237a19a54bc186a85d2f8f9989cc837fbb325b7c72d9babe2c -8bd361f5adb27fd6f4e3f5de866e2befda6a8454efeb704aacc606f528c03f0faae888f60310e49440496abd84083ce2 -b098a3c49f2aaa28b6b3e85bc40ce6a9cdd02134ee522ae73771e667ad7629c8d82c393fba9f27f5416986af4c261438 -b385f5ca285ff2cfe64dcaa32dcde869c28996ed091542600a0b46f65f3f5a38428cca46029ede72b6cf43e12279e3d3 -8196b03d011e5be5288196ef7d47137d6f9237a635ab913acdf9c595fa521d9e2df722090ec7eb0203544ee88178fc5f -8ed1270211ef928db18e502271b7edf24d0bbd11d97f2786aee772d70c2029e28095cf8f650b0328cc8a4c38d045316d -a52ab60e28d69b333d597a445884d44fd2a7e1923dd60f763951e1e45f83e27a4dac745f3b9eff75977b3280e132c15d -91e9fe78cdac578f4a4687f71b800b35da54b824b1886dafec073a3c977ce7a25038a2f3a5b1e35c2c8c9d1a7312417c -a42832173f9d9491c7bd93b21497fbfa4121687cd4d2ab572e80753d7edcbb42cfa49f460026fbde52f420786751a138 -97b947126d84dcc70c97be3c04b3de3f239b1c4914342fa643b1a4bb8c4fe45c0fcb585700d13a7ed50784790c54bef9 -860e407d353eac070e2418ef6cb80b96fc5f6661d6333e634f6f306779651588037be4c2419562c89c61f9aa2c4947f5 -b2c9d93c3ba4e511b0560b55d3501bf28a510745fd666b3cb532db051e6a8617841ea2f071dda6c9f15619c7bfd2737f -8596f4d239aeeac78311207904d1bd863ef68e769629cc379db60e019aaf05a9d5cd31dc8e630b31e106a3a93e47cbc5 -8b26e14e2e136b65c5e9e5c2022cee8c255834ea427552f780a6ca130a6446102f2a6f334c3f9a0308c53df09e3dba7e -b54724354eb515a3c8bed0d0677ff1db94ac0a07043459b4358cb90e3e1aa38ac23f2caa3072cf9647275d7cd61d0e80 -b7ce9fe0e515e7a6b2d7ddcb92bc0196416ff04199326aea57996eef8c5b1548bd8569012210da317f7c0074691d01b7 -a1a13549c82c877253ddefa36a29ea6a23695ee401fdd48e65f6f61e5ebd956d5e0edeff99484e9075cb35071fec41e2 -838ba0c1e5bd1a6da05611ff1822b8622457ebd019cb065ece36a2d176bd2d889511328120b8a357e44569e7f640c1e6 -b916eccff2a95519400bbf76b5f576cbe53cf200410370a19d77734dc04c05b585cfe382e8864e67142d548cd3c4c2f4 -a610447cb7ca6eea53a6ff1f5fe562377dcb7f4aaa7300f755a4f5e8eba61e863c51dc2aa9a29b35525b550fbc32a0fe -9620e8f0f0ee9a4719aa9685eeb1049c5c77659ba6149ec4c158f999cfd09514794b23388879931fe26fea03fa471fd3 -a9dcf8b679e276583cf5b9360702a185470d09aea463dc474ee9c8aee91ef089dacb073e334e47fbc78ec5417c90465c -8c9adee8410bdd99e5b285744cee61e2593b6300ff31a8a83b0ec28da59475a5c6fb9346fe43aadea2e6c3dad2a8e30a -97d5afe9b3897d7b8bb628b7220cf02d8ee4e9d0b78f5000d500aaf4c1df9251aaaabfd1601626519f9d66f00a821d4e -8a382418157b601ce4c3501d3b8409ca98136a4ef6abcbf62885e16e215b76b035c94d149cc41ff92e42ccd7c43b9b3d -b64b8d11fb3b01abb2646ac99fdb9c02b804ce15d98f9fe0fbf1c9df8440c71417487feb6cdf51e3e81d37104b19e012 -849d7d044f9d8f0aab346a9374f0b3a5d14a9d1faa83dbacccbdc629ad1ef903a990940255564770537f8567521d17f0 -829dbb0c76b996c2a91b4cbbe93ba455ca0d5729755e5f0c92aaee37dff7f36fcdc06f33aca41f1b609c784127b67d88 -85a7c0069047b978422d264d831ab816435f63938015d2e977222b6b5746066c0071b7f89267027f8a975206ed25c1b0 -84b9fbc1cfb302df1acdcf3dc5d66fd1edfe7839f7a3b2fb3a0d5548656249dd556104d7c32b73967bccf0f5bdcf9e3b -972220ac5b807f53eac37dccfc2ad355d8b21ea6a9c9b011c09fe440ddcdf7513e0b43d7692c09ded80d7040e26aa28f -855885ed0b21350baeca890811f344c553cf9c21024649c722453138ba29193c6b02c4b4994cd414035486f923472e28 -841874783ae6d9d0e59daea03e96a01cbbe4ecaced91ae4f2c8386e0d87b3128e6d893c98d17c59e4de1098e1ad519dd -827e50fc9ce56f97a4c3f2f4cbaf0b22f1c3ce6f844ff0ef93a9c57a09b8bf91ebfbd2ba9c7f83c442920bffdaf288cc -a441f9136c7aa4c08d5b3534921b730e41ee91ab506313e1ba5f7c6f19fd2d2e1594e88c219834e92e6fb95356385aa7 -97d75b144471bf580099dd6842b823ec0e6c1fb86dd0da0db195e65524129ea8b6fd4a7a9bbf37146269e938a6956596 -a4b6fa87f09d5a29252efb2b3aaab6b3b6ea9fab343132a651630206254a25378e3e9d6c96c3d14c150d01817d375a8e -a31a671876d5d1e95fe2b8858dc69967231190880529d57d3cab7f9f4a2b9b458ac9ee5bdaa3289158141bf18f559efb -90bee6fff4338ba825974021b3b2a84e36d617e53857321f13d2b3d4a28954e6de3b3c0e629d61823d18a9763313b3bf -96b622a63153f393bb419bfcf88272ea8b3560dbd46b0aa07ada3a6223990d0abdd6c2adb356ef4be5641688c8d83941 -84c202adeaff9293698022bc0381adba2cd959f9a35a4e8472288fd68f96f6de8be9da314c526d88e291c96b1f3d6db9 -8ca01a143b8d13809e5a8024d03e6bc9492e22226073ef6e327edf1328ef4aff82d0bcccee92cb8e212831fa35fe1204 -b2f970dbad15bfbefb38903c9bcc043d1367055c55dc1100a850f5eb816a4252c8c194b3132c929105511e14ea10a67d -a5e36556472a95ad57eb90c3b6623671b03eafd842238f01a081997ffc6e2401f76e781d049bb4aa94d899313577a9cf -8d1057071051772f7c8bedce53a862af6fd530dd56ae6321eaf2b9fc6a68beff5ed745e1c429ad09d5a118650bfd420a -8aadc4f70ace4fcb8d93a78610779748dcffc36182d45b932c226dc90e48238ea5daa91f137c65ed532352c4c4d57416 -a2ea05ae37e673b4343232ae685ee14e6b88b867aef6dfac35db3589cbcd76f99540fed5c2641d5bb5a4a9f808e9bf0d -947f1abad982d65648ae4978e094332b4ecb90f482c9be5741d5d1cf5a28acf4680f1977bf6e49dd2174c37f11e01296 -a27b144f1565e4047ba0e3f4840ef19b5095d1e281eaa463c5358f932114cbd018aa6dcf97546465cf2946d014d8e6d6 -8574e1fc3acade47cd4539df578ce9205e745e161b91e59e4d088711a7ab5aa3b410d517d7304b92109924d9e2af8895 -a48ee6b86b88015d6f0d282c1ae01d2a5b9e8c7aa3d0c18b35943dceb1af580d08a65f54dc6903cde82fd0d73ce94722 -8875650cec543a7bf02ea4f2848a61d167a66c91ffaefe31a9e38dc8511c6a25bde431007eefe27a62af3655aca208dc -999b0a6e040372e61937bf0d68374e230346b654b5a0f591a59d33a4f95bdb2f3581db7c7ccb420cd7699ed709c50713 -878c9e56c7100c5e47bbe77dc8da5c5fe706cec94d37fa729633bca63cace7c40102eee780fcdabb655f5fa47a99600e -865006fb5b475ada5e935f27b96f9425fc2d5449a3c106aa366e55ebed3b4ee42adc3c3f0ac19fd129b40bc7d6bc4f63 -b7a7da847f1202e7bc1672553e68904715e84fd897d529243e3ecda59faa4e17ba99c649a802d53f6b8dfdd51f01fb74 -8b2fb4432c05653303d8c8436473682933a5cb604da10c118ecfcd2c8a0e3132e125afef562bdbcc3df936164e5ce4f2 -808d95762d33ddfa5d0ee3d7d9f327de21a994d681a5f372e2e3632963ea974da7f1f9e5bac8ccce24293509d1f54d27 -932946532e3c397990a1df0e94c90e1e45133e347a39b6714c695be21aeb2d309504cb6b1dde7228ff6f6353f73e1ca2 -9705e7c93f0cdfaa3fa96821f830fe53402ad0806036cd1b48adc2f022d8e781c1fbdab60215ce85c653203d98426da3 -aa180819531c3ec1feb829d789cb2092964c069974ae4faad60e04a6afcce5c3a59aec9f11291e6d110a788d22532bc6 -88f755097f7e25cb7dd3c449520c89b83ae9e119778efabb54fbd5c5714b6f37c5f9e0346c58c6ab09c1aef2483f895d -99fc03ab7810e94104c494f7e40b900f475fde65bdec853e60807ffd3f531d74de43335c3b2646b5b8c26804a7448898 -af2dea9683086bed1a179110efb227c9c00e76cd00a2015b089ccbcee46d1134aa18bda5d6cab6f82ae4c5cd2461ac21 -a500f87ba9744787fdbb8e750702a3fd229de6b8817594348dec9a723b3c4240ddfa066262d002844b9e38240ce55658 -924d0e45c780f5bc1c1f35d15dfc3da28036bdb59e4c5440606750ecc991b85be18bc9a240b6c983bc5430baa4c68287 -865b11e0157b8bf4c5f336024b016a0162fc093069d44ac494723f56648bc4ded13dfb3896e924959ea11c96321afefc -93672d8607d4143a8f7894f1dcca83fb84906dc8d6dd7dd063bb0049cfc20c1efd933e06ca7bd03ea4cb5a5037990bfe -826891efbdff0360446825a61cd1fa04326dd90dae8c33dfb1ed97b045e165766dd070bd7105560994d0b2044bdea418 -93c4a4a8bcbc8b190485cc3bc04175b7c0ed002c28c98a540919effd6ed908e540e6594f6db95cd65823017258fb3b1c -aeb2a0af2d2239fda9aa6b8234b019708e8f792834ff0dd9c487fa09d29800ddceddd6d7929faa9a3edcb9e1b3aa0d6b -87f11de7236d387863ec660d2b04db9ac08143a9a2c4dfff87727c95b4b1477e3bc473a91e5797313c58754905079643 -80dc1db20067a844fe8baceca77f80db171a5ca967acb24e2d480eae9ceb91a3343c31ad1c95b721f390829084f0eae6 -9825c31f1c18da0de3fa84399c8b40f8002c3cae211fb6a0623c76b097b4d39f5c50058f57a16362f7a575909d0a44a2 -a99fc8de0c38dbf7b9e946de83943a6b46a762167bafe2a603fb9b86f094da30d6de7ed55d639aafc91936923ee414b3 -ad594678b407db5d6ea2e90528121f84f2b96a4113a252a30d359a721429857c204c1c1c4ff71d8bb5768c833f82e80e -b33d985e847b54510b9b007e31053732c8a495e43be158bd2ffcea25c6765bcbc7ca815f7c60b36ad088b955dd6e9350 -815f8dfc6f90b3342ca3fbd968c67f324dae8f74245cbf8bc3bef10e9440c65d3a2151f951e8d18959ba01c1b50b0ec1 -94c608a362dd732a1abc56e338637c900d59013db8668e49398b3c7a0cae3f7e2f1d1bf94c0299eeafe6af7f76c88618 -8ebd8446b23e5adfcc393adc5c52fe172f030a73e63cd2d515245ca0dd02782ceed5bcdd9ccd9c1b4c5953dfac9c340c -820437f3f6f9ad0f5d7502815b221b83755eb8dc56cd92c29e9535eb0b48fb8d08c9e4fcc26945f9c8cca60d89c44710 -8910e4e8a56bf4be9cc3bbf0bf6b1182a2f48837a2ed3c2aaec7099bfd7f0c83e14e608876b17893a98021ff4ab2f20d -9633918fde348573eec15ce0ad53ac7e1823aac86429710a376ad661002ae6d049ded879383faaa139435122f64047c6 -a1f5e3fa558a9e89318ca87978492f0fb4f6e54a9735c1b8d2ecfb1d1c57194ded6e0dd82d077b2d54251f3bee1279e1 -b208e22d04896abfd515a95c429ff318e87ff81a5d534c8ac2c33c052d6ffb73ef1dccd39c0bbe0734b596c384014766 -986d5d7d2b5bde6d16336f378bd13d0e671ad23a8ec8a10b3fc09036faeeb069f60662138d7a6df3dfb8e0d36180f770 -a2d4e6c5f5569e9cef1cddb569515d4b6ace38c8aed594f06da7434ba6b24477392cc67ba867c2b079545ca0c625c457 -b5ac32b1d231957d91c8b7fc43115ce3c5c0d8c13ca633374402fa8000b6d9fb19499f9181844f0c10b47357f3f757ce -96b8bf2504b4d28fa34a4ec378e0e0b684890c5f44b7a6bb6e19d7b3db2ab27b1e2686389d1de9fbd981962833a313ea -953bfd7f6c3a0469ad432072b9679a25486f5f4828092401eff494cfb46656c958641a4e6d0d97d400bc59d92dba0030 -876ab3cea7484bbfd0db621ec085b9ac885d94ab55c4bb671168d82b92e609754b86aaf472c55df3d81421d768fd108a -885ff4e67d9ece646d02dd425aa5a087e485c3f280c3471b77532b0db6145b69b0fbefb18aa2e3fa5b64928b43a94e57 -b91931d93f806d0b0e6cc62a53c718c099526140f50f45d94b8bbb57d71e78647e06ee7b42aa5714aed9a5c05ac8533f -a0313eeadd39c720c9c27b3d671215331ab8d0a794e71e7e690f06bcd87722b531d6525060c358f35f5705dbb7109ccb -874c0944b7fedc6701e53344100612ddcb495351e29305c00ec40a7276ea5455465ffb7bded898886c1853139dfb1fc7 -8dc31701a01ee8137059ca1874a015130d3024823c0576aa9243e6942ec99d377e7715ed1444cd9b750a64b85dcaa3e5 -836d2a757405e922ec9a2dfdcf489a58bd48b5f9683dd46bf6047688f778c8dee9bc456de806f70464df0b25f3f3d238 -b30b0a1e454a503ea3e2efdec7483eaf20b0a5c3cefc42069e891952b35d4b2c955cf615f3066285ed8fafd9fcfbb8f6 -8e6d4044b55ab747e83ec8762ea86845f1785cc7be0279c075dadf08aca3ccc5a096c015bb3c3f738f647a4eadea3ba5 -ad7735d16ab03cbe09c029610aa625133a6daecfc990b297205b6da98eda8c136a7c50db90f426d35069708510d5ae9c -8d62d858bbb59ec3c8cc9acda002e08addab4d3ad143b3812098f3d9087a1b4a1bb255dcb1635da2402487d8d0249161 -805beec33238b832e8530645a3254aeef957e8f7ea24bcfc1054f8b9c69421145ebb8f9d893237e8a001c857fedfc77e -b1005644be4b085e3f5775aa9bd3e09a283e87ddada3082c04e7a62d303dcef3b8cf8f92944c200c7ae6bb6bdf63f832 -b4ba0e0790dc29063e577474ffe3b61f5ea2508169f5adc1e394934ebb473e356239413a17962bc3e5d3762d72cce8c2 -a157ba9169c9e3e6748d9f1dd67fbe08b9114ade4c5d8fc475f87a764fb7e6f1d21f66d7905cd730f28a1c2d8378682a -913e52b5c93989b5d15e0d91aa0f19f78d592bc28bcfdfddc885a9980c732b1f4debb8166a7c4083c42aeda93a702898 -90fbfc1567e7cd4e096a38433704d3f96a2de2f6ed3371515ccc30bc4dd0721a704487d25a97f3c3d7e4344472702d8d -89646043028ffee4b69d346907586fd12c2c0730f024acb1481abea478e61031966e72072ff1d5e65cb8c64a69ad4eb1 -b125a45e86117ee11d2fb42f680ab4a7894edd67ff927ae2c808920c66c3e55f6a9d4588eee906f33a05d592e5ec3c04 -aad47f5b41eae9be55fb4f67674ff1e4ae2482897676f964a4d2dcb6982252ee4ff56aac49578b23f72d1fced707525e -b9ddff8986145e33851b4de54d3e81faa3352e8385895f357734085a1616ef61c692d925fe62a5ed3be8ca49f5d66306 -b3cb0963387ed28c0c0adf7fe645f02606e6e1780a24d6cecef5b7c642499109974c81a7c2a198b19862eedcea2c2d8c -ac9c53c885457aaf5cb36c717a6f4077af701e0098eebd7aa600f5e4b14e6c1067255b3a0bc40e4a552025231be7de60 -8e1a8d823c4603f6648ec21d064101094f2a762a4ed37dd2f0a2d9aa97b2d850ce1e76f4a4b8cae58819b058180f7031 -b268b73bf7a179b6d22bd37e5e8cb514e9f5f8968c78e14e4f6d5700ca0d0ca5081d0344bb73b028970eebde3cb4124e -a7f57d71940f0edbd29ed8473d0149cae71d921dd15d1ff589774003e816b54b24de2620871108cec1ab9fa956ad6ce6 -8053e6416c8b120e2b999cc2fc420a6a55094c61ac7f2a6c6f0a2c108a320890e389af96cbe378936132363c0d551277 -b3823f4511125e5aa0f4269e991b435a0d6ceb523ebd91c04d7add5534e3df5fc951c504b4fd412a309fd3726b7f940b -ae6eb04674d04e982ca9a6add30370ab90e303c71486f43ed3efbe431af1b0e43e9d06c11c3412651f304c473e7dbf39 -96ab55e641ed2e677591f7379a3cd126449614181fce403e93e89b1645d82c4af524381ff986cae7f9cebe676878646d -b52423b4a8c37d3c3e2eca8f0ddbf7abe0938855f33a0af50f117fab26415fb0a3da5405908ec5fdc22a2c1f2ca64892 -82a69ce1ee92a09cc709d0e3cd22116c9f69d28ea507fe5901f5676000b5179b9abe4c1875d052b0dd42d39925e186bb -a84c8cb84b9d5cfb69a5414f0a5283a5f2e90739e9362a1e8c784b96381b59ac6c18723a4aa45988ee8ef5c1f45cc97d -afd7efce6b36813082eb98257aae22a4c1ae97d51cac7ea9c852d4a66d05ef2732116137d8432e3f117119725a817d24 -a0f5fe25af3ce021b706fcff05f3d825384a272284d04735574ce5fb256bf27100fad0b1f1ba0e54ae9dcbb9570ecad3 -8751786cb80e2e1ff819fc7fa31c2833d25086534eb12b373d31f826382430acfd87023d2a688c65b5e983927e146336 -8cf5c4b17fa4f3d35c78ce41e1dc86988fd1135cd5e6b2bb0c108ee13538d0d09ae7102609c6070f39f937b439b31e33 -a9108967a2fedd7c322711eca8159c533dd561bedcb181b646de98bf5c3079449478eab579731bee8d215ae8852c7e21 -b54c5171704f42a6f0f4e70767cdb3d96ffc4888c842eece343a01557da405961d53ffdc34d2f902ea25d3e1ed867cad -ae8d4b764a7a25330ba205bf77e9f46182cd60f94a336bbd96773cf8064e3d39caf04c310680943dc89ed1fbad2c6e0d -aa5150e911a8e1346868e1b71c5a01e2a4bb8632c195861fb6c3038a0e9b85f0e09b3822e9283654a4d7bb17db2fc5f4 -9685d3756ce9069bf8bb716cf7d5063ebfafe37e15b137fc8c3159633c4e006ff4887ddd0ae90360767a25c3f90cba7f -82155fd70f107ab3c8e414eadf226c797e07b65911508c76c554445422325e71af8c9a8e77fd52d94412a6fc29417cd3 -abfae52f53a4b6e00760468d973a267f29321997c3dbb5aee36dc1f20619551229c0c45b9d9749f410e7f531b73378e8 -81a76d921f8ef88e774fd985e786a4a330d779b93fad7def718c014685ca0247379e2e2a007ad63ee7f729cd9ed6ce1b -81947c84bc5e28e26e2e533af5ae8fe10407a7b77436dbf8f1d5b0bbe86fc659eae10f974659dc7c826c6dabd03e3a4b -92b8c07050d635b8dd4fd09df9054efe4edae6b86a63c292e73cc819a12a21dd7d104ce51fa56af6539dedf6dbe6f7b6 -b44c579e3881f32b32d20c82c207307eca08e44995dd2aac3b2692d2c8eb2a325626c80ac81c26eeb38c4137ff95add5 -97efab8941c90c30860926dea69a841f2dcd02980bf5413b9fd78d85904588bf0c1021798dbc16c8bbb32cce66c82621 -913363012528b50698e904de0588bf55c8ec5cf6f0367cfd42095c4468fcc64954fbf784508073e542fee242d0743867 -8ed203cf215148296454012bd10fddaf119203db1919a7b3d2cdc9f80e66729464fdfae42f1f2fc5af1ed53a42b40024 -ab84312db7b87d711e9a60824f4fe50e7a6190bf92e1628688dfcb38930fe87b2d53f9e14dd4de509b2216856d8d9188 -880726def069c160278b12d2258eac8fa63f729cd351a710d28b7e601c6712903c3ac1e7bbd0d21e4a15f13ca49db5aa -980699cd51bac6283959765f5174e543ed1e5f5584b5127980cbc2ef18d984ecabba45042c6773b447b8e694db066028 -aeb019cb80dc4cb4207430d0f2cd24c9888998b6f21d9bf286cc638449668d2eec0018a4cf3fe6448673cd6729335e2b -b29852f6aa6c60effdffe96ae88590c88abae732561d35cc19e82d3a51e26cb35ea00986193e07f90060756240f5346e -a0fa855adc5ba469f35800c48414b8921455950a5c0a49945d1ef6e8f2a1881f2e2dfae47de6417270a6bf49deeb091d -b6c7332e3b14813641e7272d4f69ecc7e09081df0037d6dab97ce13a9e58510f5c930d300633f208181d9205c5534001 -85a6c050f42fce560b5a8d54a11c3bbb8407abbadd859647a7b0c21c4b579ec65671098b74f10a16245dc779dff7838e -8f3eb34bb68759d53c6677de4de78a6c24dd32c8962a7fb355ed362572ef8253733e6b52bc21c9f92ecd875020a9b8de -a17dd44181e5dab4dbc128e1af93ec22624b57a448ca65d2d9e246797e4af7d079e09c6e0dfb62db3a9957ce92f098d5 -a56a1b854c3183082543a8685bb34cae1289f86cfa8123a579049dbd059e77982886bfeb61bf6e05b4b1fe4e620932e7 -aedae3033cb2fb7628cb4803435bdd7757370a86f808ae4cecb9a268ad0e875f308c048c80cbcac523de16b609683887 -9344905376aa3982b1179497fac5a1d74b14b7038fd15e3b002db4c11c8bfc7c39430db492cdaf58b9c47996c9901f28 -a3bfafdae011a19f030c749c3b071f83580dee97dd6f949e790366f95618ca9f828f1daaeabad6dcd664fcef81b6556d -81c03d8429129e7e04434dee2c529194ddb01b414feda3adee2271eb680f6c85ec872a55c9fa9d2096f517e13ed5abcc -98205ef3a72dff54c5a9c82d293c3e45d908946fa74bb749c3aabe1ab994ea93c269bcce1a266d2fe67a8f02133c5985 -85a70aeed09fda24412fadbafbbbf5ba1e00ac92885df329e147bfafa97b57629a3582115b780d8549d07d19b7867715 -b0fbe81c719f89a57d9ea3397705f898175808c5f75f8eb81c2193a0b555869ba7bd2e6bc54ee8a60cea11735e21c68c -b03a0bd160495ee626ff3a5c7d95bc79d7da7e5a96f6d10116600c8fa20bedd1132f5170f25a22371a34a2d763f2d6d0 -a90ab04091fbca9f433b885e6c1d60ab45f6f1daf4b35ec22b09909d493a6aab65ce41a6f30c98239cbca27022f61a8b -b66f92aa3bf2549f9b60b86f99a0bd19cbdd97036d4ae71ca4b83d669607f275260a497208f6476cde1931d9712c2402 -b08e1fdf20e6a9b0b4942f14fa339551c3175c1ffc5d0ab5b226b6e6a322e9eb0ba96adc5c8d59ca4259e2bdd04a7eb0 -a2812231e92c1ce74d4f5ac3ab6698520288db6a38398bb38a914ac9326519580af17ae3e27cde26607e698294022c81 -abfcbbcf1d3b9e84c02499003e490a1d5d9a2841a9e50c7babbef0b2dd20d7483371d4dc629ba07faf46db659459d296 -b0fe9f98c3da70927c23f2975a9dc4789194d81932d2ad0f3b00843dd9cbd7fb60747a1da8fe5a79f136a601becf279d -b130a6dba7645165348cb90f023713bed0eefbd90a976b313521c60a36d34f02032e69a2bdcf5361e343ed46911297ec -862f0cffe3020cea7a5fd4703353aa1eb1be335e3b712b29d079ff9f7090d1d8b12013011e1bdcbaa80c44641fd37c9f -8c6f11123b26633e1abb9ed857e0bce845b2b3df91cc7b013b2fc77b477eee445da0285fc6fc793e29d5912977f40916 -91381846126ea819d40f84d3005e9fb233dc80071d1f9bb07f102bf015f813f61e5884ffffb4f5cd333c1b1e38a05a58 -8add7d908de6e1775adbd39c29a391f06692b936518db1f8fde74eb4f533fc510673a59afb86e3a9b52ade96e3004c57 -8780e086a244a092206edcde625cafb87c9ab1f89cc3e0d378bc9ee776313836160960a82ec397bc3800c0a0ec3da283 -a6cb4cd9481e22870fdd757fae0785edf4635e7aacb18072fe8dc5876d0bab53fb99ce40964a7d3e8bcfff6f0ab1332f -af30ff47ecc5b543efba1ba4706921066ca8bb625f40e530fb668aea0551c7647a9d126e8aba282fbcce168c3e7e0130 -91b0bcf408ce3c11555dcb80c4410b5bc2386d3c05caec0b653352377efdcb6bab4827f2018671fc8e4a0e90d772acc1 -a9430b975ef138b6b2944c7baded8fe102d31da4cfe3bd3d8778bda79189c99d38176a19c848a19e2d1ee0bddd9a13c1 -aa5a4eef849d7c9d2f4b018bd01271c1dd83f771de860c4261f385d3bdcc130218495860a1de298f14b703ec32fa235f -b0ce79e7f9ae57abe4ff366146c3b9bfb38b0dee09c28c28f5981a5d234c6810ad4d582751948affb480d6ae1c8c31c4 -b75122748560f73d15c01a8907d36d06dc068e82ce22b84b322ac1f727034493572f7907dec34ebc3ddcc976f2f89ed7 -b0fc7836369a3e4411d34792d6bd5617c14f61d9bba023dda64e89dc5fb0f423244e9b48ee64869258931daa9753a56f -8956d7455ae9009d70c6e4a0bcd7610e55f37494cf9897a8f9e1b904cc8febc3fd2d642ebd09025cfff4609ad7e3bc52 -ad741efe9e472026aa49ae3d9914cb9c1a6f37a54f1a6fe6419bebd8c7d68dca105a751c7859f4389505ede40a0de786 -b52f418797d719f0d0d0ffb0846788b5cba5d0454a69a2925de4b0b80fa4dd7e8c445e5eac40afd92897ed28ca650566 -a0ab65fb9d42dd966cd93b1de01d7c822694669dd2b7a0c04d99cd0f3c3de795f387b9c92da11353412f33af5c950e9a -a0052f44a31e5741a331f7cac515a08b3325666d388880162d9a7b97598fde8b61f9ff35ff220df224eb5c4e40ef0567 -a0101cfdc94e42b2b976c0d89612a720e55d145a5ef6ef6f1f78cf6de084a49973d9b5d45915349c34ce712512191e3c -a0dd99fcf3f5cead5aaf08e82212df3a8bb543c407a4d6fab88dc5130c1769df3f147e934a46f291d6c1a55d92b86917 -a5939153f0d1931bbda5cf6bdf20562519ea55fbfa978d6dbc6828d298260c0da7a50c37c34f386e59431301a96c2232 -9568269f3f5257200f9ca44afe1174a5d3cf92950a7f553e50e279c239e156a9faaa2a67f288e3d5100b4142efe64856 -b746b0832866c23288e07f24991bbf687cad794e7b794d3d3b79367566ca617d38af586cdc8d6f4a85a34835be41d54f -a871ce28e39ab467706e32fec1669fda5a4abba2f8c209c6745df9f7a0fa36bbf1919cf14cb89ea26fa214c4c907ae03 -a08dacdd758e523cb8484f6bd070642c0c20e184abdf8e2a601f61507e93952d5b8b0c723c34fcbdd70a8485eec29db2 -85bdb78d501382bb95f1166b8d032941005661aefd17a5ac32df9a3a18e9df2fc5dc2c1f07075f9641af10353cecc0c9 -98d730c28f6fa692a389e97e368b58f4d95382fad8f0baa58e71a3d7baaea1988ead47b13742ce587456f083636fa98e -a557198c6f3d5382be9fb363feb02e2e243b0c3c61337b3f1801c4a0943f18e38ce1a1c36b5c289c8fa2aa9d58742bab -89174f79201742220ac689c403fc7b243eed4f8e3f2f8aba0bf183e6f5d4907cb55ade3e238e3623d9885f03155c4d2b -b891d600132a86709e06f3381158db300975f73ea4c1f7c100358e14e98c5fbe792a9af666b85c4e402707c3f2db321e -b9e5b2529ef1043278c939373fc0dbafe446def52ddd0a8edecd3e4b736de87e63e187df853c54c28d865de18a358bb6 -8589b2e9770340c64679062c5badb7bbef68f55476289b19511a158a9a721f197da03ece3309e059fc4468b15ac33aa3 -aad8c6cd01d785a881b446f06f1e9cd71bca74ba98674c2dcddc8af01c40aa7a6d469037498b5602e76e9c91a58d3dbd -abaccb1bd918a8465f1bf8dbe2c9ad4775c620b055550b949a399f30cf0d9eb909f3851f5b55e38f9e461e762f88f499 -ae62339d26db46e85f157c0151bd29916d5cc619bd4b832814b3fd2f00af8f38e7f0f09932ffe5bba692005dab2d9a74 -93a6ff30a5c0edf8058c89aba8c3259e0f1b1be1b80e67682de651e5346f7e1b4b4ac3d87cbaebf198cf779524aff6bf -8980a2b1d8f574af45b459193c952400b10a86122b71fca2acb75ee0dbd492e7e1ef5b959baf609a5172115e371f3177 -8c2f49f3666faee6940c75e8c7f6f8edc3f704cca7a858bbb7ee5e96bba3b0cf0993996f781ba6be3b0821ef4cb75039 -b14b9e348215b278696018330f63c38db100b0542cfc5be11dc33046e3bca6a13034c4ae40d9cef9ea8b34fef0910c4e -b59bc3d0a30d66c16e6a411cb641f348cb1135186d5f69fda8b0a0934a5a2e7f6199095ba319ec87d3fe8f1ec4a06368 -8874aca2a3767aa198e4c3fec2d9c62d496bc41ff71ce242e9e082b7f38cdf356089295f80a301a3cf1182bde5308c97 -b1820ebd61376d91232423fc20bf008b2ba37e761199f4ef0648ea2bd70282766799b4de814846d2f4d516d525c8daa7 -a6b202e5dedc16a4073e04a11af3a8509b23dfe5a1952f899adeb240e75c3f5bde0c424f811a81ea48d343591faffe46 -a69becee9c93734805523b92150a59a62eed4934f66056b645728740d42223f2925a1ad38359ba644da24d9414f4cdda -ad72f0f1305e37c7e6b48c272323ee883320994cb2e0d850905d6655fafc9f361389bcb9c66b3ff8d2051dbb58c8aa96 -b563600bd56fad7c8853af21c6a02a16ed9d8a8bbeea2c31731d63b976d83cb05b9779372d898233e8fd597a75424797 -b0abb78ce465bf7051f563c62e8be9c57a2cc997f47c82819300f36e301fefd908894bb2053a9d27ce2d0f8c46d88b5b -a071a85fb8274bac2202e0cb8e0e2028a5e138a82d6e0374d39ca1884a549c7c401312f00071b91f455c3a2afcfe0cda -b931c271513a0f267b9f41444a5650b1918100b8f1a64959c552aff4e2193cc1b9927906c6fa7b8a8c68ef13d79aaa52 -a6a1bb9c7d32cb0ca44d8b75af7e40479fbce67d216b48a2bb680d3f3a772003a49d3cd675fc64e9e0f8fabeb86d6d61 -b98d609858671543e1c3b8564162ad828808bb50ded261a9f8690ded5b665ed8368c58f947365ed6e84e5a12e27b423d -b3dca58cd69ec855e2701a1d66cad86717ff103ef862c490399c771ad28f675680f9500cb97be48de34bcdc1e4503ffd -b34867c6735d3c49865e246ddf6c3b33baf8e6f164db3406a64ebce4768cb46b0309635e11be985fee09ab7a31d81402 -acb966c554188c5b266624208f31fab250b3aa197adbdd14aee5ab27d7fb886eb4350985c553b20fdf66d5d332bfd3fe -943c36a18223d6c870d54c3b051ef08d802b85e9dd6de37a51c932f90191890656c06adfa883c87b906557ae32d09da0 -81bca7954d0b9b6c3d4528aadf83e4bc2ef9ea143d6209bc45ae9e7ae9787dbcd8333c41f12c0b6deee8dcb6805e826a -aba176b92256efb68f574e543479e5cf0376889fb48e3db4ebfb7cba91e4d9bcf19dcfec444c6622d9398f06de29e2b9 -b9f743691448053216f6ece7cd699871fff4217a1409ceb8ab7bdf3312d11696d62c74b0664ba0a631b1e0237a8a0361 -a383c2b6276fa9af346b21609326b53fb14fdf6f61676683076e80f375b603645f2051985706d0401e6fbed7eb0666b6 -a9ef2f63ec6d9beb8f3d04e36807d84bda87bdd6b351a3e4a9bf7edcb5618c46c1f58cfbf89e64b40f550915c6988447 -a141b2d7a82f5005eaea7ae7d112c6788b9b95121e5b70b7168d971812f3381de8b0082ac1f0a82c7d365922ebd2d26a -b1b76ef8120e66e1535c17038b75255a07849935d3128e3e99e56567b842fb1e8d56ef932d508d2fb18b82f7868fe1a9 -8e2e234684c81f21099f5c54f6bbe2dd01e3b172623836c77668a0c49ce1fe218786c3827e4d9ae2ea25c50a8924fb3c -a5caf5ff948bfd3c4ca3ffbdfcd91eec83214a6c6017235f309a0bbf7061d3b0b466307c00b44a1009cf575163898b43 -986415a82ca16ebb107b4c50b0c023c28714281db0bcdab589f6cb13d80e473a3034b7081b3c358e725833f6d845cb14 -b94836bf406ac2cbacb10e6df5bcdfcc9d9124ae1062767ca4e322d287fd5e353fdcebd0e52407cb3cd68571258a8900 -83c6d70a640b33087454a4788dfd9ef3ed00272da084a8d36be817296f71c086b23b576f98178ab8ca6a74f04524b46b -ad4115182ad784cfe11bcfc5ce21fd56229cc2ce77ac82746e91a2f0aa53ca6593a22efd2dc4ed8d00f84542643d9c58 -ab1434c5e5065da826d10c2a2dba0facccab0e52b506ce0ce42fbe47ced5a741797151d9ecc99dc7d6373cfa1779bbf6 -8a8b591d82358d55e6938f67ea87a89097ab5f5496f7260adb9f649abb289da12b498c5b2539c2f9614fb4e21b1f66b0 -964f355d603264bc1f44c64d6d64debca66f37dff39c971d9fc924f2bc68e6c187b48564a6dc82660a98b035f8addb5d -b66235eaaf47456bc1dc4bde454a028e2ce494ece6b713a94cd6bf27cf18c717fd0c57a5681caaa2ad73a473593cdd7a -9103e3bb74304186fa4e3e355a02da77da4aca9b7e702982fc2082af67127ebb23a455098313c88465bc9b7d26820dd5 -b6a42ff407c9dd132670cdb83cbad4b20871716e44133b59a932cd1c3f97c7ac8ff7f61acfaf8628372508d8dc8cad7c -883a9c21c16a167a4171b0f084565c13b6f28ba7c4977a0de69f0a25911f64099e7bbb4da8858f2e93068f4155d04e18 -8dbb3220abc6a43220adf0331e3903d3bfd1d5213aadfbd8dfcdf4b2864ce2e96a71f35ecfb7a07c3bbabf0372b50271 -b4ad08aee48e176bda390b7d9acf2f8d5eb008f30d20994707b757dc6a3974b2902d29cd9b4d85e032810ad25ac49e97 -865bb0f33f7636ec501bb634e5b65751c8a230ae1fa807a961a8289bbf9c7fe8c59e01fbc4c04f8d59b7f539cf79ddd5 -86a54d4c12ad1e3605b9f93d4a37082fd26e888d2329847d89afa7802e815f33f38185c5b7292293d788ad7d7da1df97 -b26c8615c5e47691c9ff3deca3021714662d236c4d8401c5d27b50152ce7e566266b9d512d14eb63e65bc1d38a16f914 -827639d5ce7db43ba40152c8a0eaad443af21dc92636cc8cc2b35f10647da7d475a1e408901cd220552fddad79db74df -a2b79a582191a85dbe22dc384c9ca3de345e69f6aa370aa6d3ff1e1c3de513e30b72df9555b15a46586bd27ea2854d9d -ae0d74644aba9a49521d3e9553813bcb9e18f0b43515e4c74366e503c52f47236be92dfbd99c7285b3248c267b1de5a0 -80fb0c116e0fd6822a04b9c25f456bdca704e2be7bdc5d141dbf5d1c5eeb0a2c4f5d80db583b03ef3e47517e4f9a1b10 -ac3a1fa3b4a2f30ea7e0a114cdc479eb51773573804c2a158d603ad9902ae8e39ffe95df09c0d871725a5d7f9ba71a57 -b56b2b0d601cba7f817fa76102c68c2e518c6f20ff693aad3ff2e07d6c4c76203753f7f91686b1801e8c4659e4d45c48 -89d50c1fc56e656fb9d3915964ebce703cb723fe411ab3c9eaa88ccc5d2b155a9b2e515363d9c600d3c0cee782c43f41 -b24207e61462f6230f3cd8ccf6828357d03e725769f7d1de35099ef9ee4dca57dbce699bb49ed994462bee17059d25ce -b886f17fcbcbfcd08ac07f04bb9543ef58510189decaccea4b4158c9174a067cb67d14b6be3c934e6e2a18c77efa9c9c -b9c050ad9cafd41c6e2e192b70d080076eed59ed38ea19a12bd92fa17b5d8947d58d5546aaf5e8e27e1d3b5481a6ce51 -aaf7a34d3267e3b1ddbc54c641e3922e89303f7c86ebebc7347ebca4cffad5b76117dac0cbae1a133053492799cd936f -a9ee604ada50adef82e29e893070649d2d4b7136cc24fa20e281ce1a07bd736bf0de7c420369676bcbcecff26fb6e900 -9855315a12a4b4cf80ab90b8bd13003223ba25206e52fd4fe6a409232fbed938f30120a3db23eab9c53f308bd8b9db81 -8cd488dd7a24f548a3cf03c54dec7ff61d0685cb0f6e5c46c2d728e3500d8c7bd6bba0156f4bf600466fda53e5b20444 -890ad4942ebac8f5b16c777701ab80c68f56fa542002b0786f8fea0fb073154369920ac3dbfc07ea598b82f4985b8ced -8de0cf9ddc84c9b92c59b9b044387597799246b30b9f4d7626fc12c51f6e423e08ee4cbfe9289984983c1f9521c3e19d -b474dfb5b5f4231d7775b3c3a8744956b3f0c7a871d835d7e4fd9cc895222c7b868d6c6ce250de568a65851151fac860 -86433b6135d9ed9b5ee8cb7a6c40e5c9d30a68774cec04988117302b8a02a11a71a1e03fd8e0264ef6611d219f103007 -80b9ed4adbe9538fb1ef69dd44ec0ec5b57cbfea820054d8d445b4261962624b4c70ac330480594bc5168184378379c3 -8b2e83562ccd23b7ad2d17f55b1ab7ef5fbef64b3a284e6725b800f3222b8bdf49937f4a873917ada9c4ddfb090938c2 -abe78cebc0f5a45d754140d1f685e387489acbfa46d297a8592aaa0d676a470654f417a4f7d666fc0b2508fab37d908e -a9c5f8ff1f8568e252b06d10e1558326db9901840e6b3c26bbd0cd5e850cb5fb3af3f117dbb0f282740276f6fd84126f -975f8dc4fb55032a5df3b42b96c8c0ffecb75456f01d4aef66f973cb7270d4eff32c71520ceefc1adcf38d77b6b80c67 -b043306ed2c3d8a5b9a056565afd8b5e354c8c4569fda66b0d797a50a3ce2c08cffbae9bbe292da69f39e89d5dc7911e -8d2afc36b1e44386ba350c14a6c1bb31ff6ea77128a0c5287584ac3584282d18516901ce402b4644a53db1ed8e7fa581 -8c294058bed53d7290325c363fe243f6ec4f4ea2343692f4bac8f0cb86f115c069ccb8334b53d2e42c067691ad110dba -b92157b926751aaf7ef82c1aa8c654907dccab6376187ee8b3e8c0c82811eae01242832de953faa13ebaff7da8698b3e -a780c4bdd9e4ba57254b09d745075cecab87feda78c88ffee489625c5a3cf96aa6b3c9503a374a37927d9b78de9bd22b -811f548ef3a2e6a654f7dcb28ac9378de9515ed61e5a428515d9594a83e80b35c60f96a5cf743e6fab0d3cb526149f49 -85a4dccf6d90ee8e094731eec53bd00b3887aec6bd81a0740efddf812fd35e3e4fe4f983afb49a8588691c202dabf942 -b152c2da6f2e01c8913079ae2b40a09b1f361a80f5408a0237a8131b429677c3157295e11b365b1b1841924b9efb922e -849b9efee8742502ffd981c4517c88ed33e4dd518a330802caff168abae3cd09956a5ee5eda15900243bc2e829016b74 -955a933f3c18ec0f1c0e38fa931e4427a5372c46a3906ebe95082bcf878c35246523c23f0266644ace1fa590ffa6d119 -911989e9f43e580c886656377c6f856cdd4ff1bd001b6db3bbd86e590a821d34a5c6688a29b8d90f28680e9fdf03ba69 -b73b8b4f1fd6049fb68d47cd96a18fcba3f716e0a1061aa5a2596302795354e0c39dea04d91d232aec86b0bf2ba10522 -90f87456d9156e6a1f029a833bf3c7dbed98ca2f2f147a8564922c25ae197a55f7ea9b2ee1f81bf7383197c4bad2e20c -903cba8b1e088574cb04a05ca1899ab00d8960580c884bd3c8a4c98d680c2ad11410f2b75739d6050f91d7208cac33a5 -9329987d42529c261bd15ecedd360be0ea8966e7838f32896522c965adfc4febf187db392bd441fb43bbd10c38fdf68b -8178ee93acf5353baa349285067b20e9bb41aa32d77b5aeb7384fe5220c1fe64a2461bd7a83142694fe673e8bbf61b7c -a06a8e53abcff271b1394bcc647440f81fb1c1a5f29c27a226e08f961c3353f4891620f2d59b9d1902bf2f5cc07a4553 -aaf5fe493b337810889e777980e6bbea6cac39ac66bc0875c680c4208807ac866e9fda9b5952aa1d04539b9f4a4bec57 -aa058abb1953eceac14ccfa7c0cc482a146e1232905dcecc86dd27f75575285f06bbae16a8c9fe8e35d8713717f5f19f -8f15dd732799c879ca46d2763453b359ff483ca33adb1d0e0a57262352e0476c235987dc3a8a243c74bc768f93d3014c -a61cc8263e9bc03cce985f1663b8a72928a607121005a301b28a278e9654727fd1b22bc8a949af73929c56d9d3d4a273 -98d6dc78502d19eb9f921225475a6ebcc7b44f01a2df6f55ccf6908d65b27af1891be2a37735f0315b6e0f1576c1f8d8 -8bd258b883f3b3793ec5be9472ad1ff3dc4b51bc5a58e9f944acfb927349ead8231a523cc2175c1f98e7e1e2b9f363b8 -aeacc2ecb6e807ad09bedd99654b097a6f39840e932873ace02eabd64ccfbb475abdcb62939a698abf17572d2034c51e -b8ccf78c08ccd8df59fd6eda2e01de328bc6d8a65824d6f1fc0537654e9bc6bf6f89c422dd3a295cce628749da85c864 -8f91fd8cb253ba2e71cc6f13da5e05f62c2c3b485c24f5d68397d04665673167fce1fc1aec6085c69e87e66ec555d3fd -a254baa10cb26d04136886073bb4c159af8a8532e3fd36b1e9c3a2e41b5b2b6a86c4ebc14dbe624ee07b7ccdaf59f9ab -94e3286fe5cd68c4c7b9a7d33ae3d714a7f265cf77cd0e9bc19fc51015b1d1c34ad7e3a5221c459e89f5a043ee84e3a9 -a279da8878af8d449a9539bec4b17cea94f0242911f66fab275b5143ab040825f78c89cb32a793930609415cfa3a1078 -ac846ceb89c9e5d43a2991c8443079dc32298cd63e370e64149cec98cf48a6351c09c856f2632fd2f2b3d685a18bbf8b -a847b27995c8a2e2454aaeb983879fb5d3a23105c33175839f7300b7e1e8ec3efd6450e9fa3f10323609dee7b98c6fd5 -a2f432d147d904d185ff4b2de8c6b82fbea278a2956bc406855b44c18041854c4f0ecccd472d1d0dff1d8aa8e281cb1d -94a48ad40326f95bd63dff4755f863a1b79e1df771a1173b17937f9baba57b39e651e7695be9f66a472f098b339364fc -a12a0ccd8f96e96e1bc6494341f7ebce959899341b3a084aa1aa87d1c0d489ac908552b7770b887bb47e7b8cbc3d8e66 -81a1f1681bda923bd274bfe0fbb9181d6d164fe738e54e25e8d4849193d311e2c4253614ed673c98af2c798f19a93468 -abf71106a05d501e84cc54610d349d7d5eae21a70bd0250f1bebbf412a130414d1c8dbe673ffdb80208fd72f1defa4d4 -96266dc2e0df18d8136d79f5b59e489978eee0e6b04926687fe389d4293c14f36f055c550657a8e27be4118b64254901 -8df5dcbefbfb4810ae3a413ca6b4bf08619ca53cd50eb1dde2a1c035efffc7b7ac7dff18d403253fd80104bd83dc029e -9610b87ff02e391a43324a7122736876d5b3af2a137d749c52f75d07b17f19900b151b7f439d564f4529e77aa057ad12 -a90a5572198b40fe2fcf47c422274ff36c9624df7db7a89c0eb47eb48a73a03c985f4ac5016161c76ca317f64339bce1 -98e5e61a6ab6462ba692124dba7794b6c6bde4249ab4fcc98c9edd631592d5bc2fb5e38466691a0970a38e48d87c2e43 -918cefb8f292f78d4db81462c633daf73b395e772f47b3a7d2cea598025b1d8c3ec0cbff46cdb23597e74929981cde40 -a98918a5dc7cf610fe55f725e4fd24ce581d594cb957bb9b4e888672e9c0137003e1041f83e3f1d7b9caab06462c87d4 -b92b74ac015262ca66c33f2d950221e19d940ba3bf4cf17845f961dc1729ae227aa9e1f2017829f2135b489064565c29 -a053ee339f359665feb178b4e7ee30a85df37debd17cacc5a27d6b3369d170b0114e67ad1712ed26d828f1df641bcd99 -8c3c8bad510b35da5ce5bd84b35c958797fbea024ad1c97091d2ff71d9b962e9222f65a9b776e5b3cc29c36e1063d2ee -af99dc7330fe7c37e850283eb47cc3257888e7c197cb0d102edf94439e1e02267b6a56306d246c326c4c79f9dc8c6986 -afecb2dc34d57a725efbd7eb93d61eb29dbe8409b668ab9ea040791f5b796d9be6d4fc10d7f627bf693452f330cf0435 -93334fedf19a3727a81a6b6f2459db859186227b96fe7a391263f69f1a0884e4235de64d29edebc7b99c44d19e7c7d7a -89579c51ac405ad7e9df13c904061670ce4b38372492764170e4d3d667ed52e5d15c7cd5c5991bbfa3a5e4e3fa16363e -9778f3e8639030f7ef1c344014f124e375acb8045bd13d8e97a92c5265c52de9d1ffebaa5bc3e1ad2719da0083222991 -88f77f34ee92b3d36791bdf3326532524a67d544297dcf1a47ff00b47c1b8219ff11e34034eab7d23b507caa2fd3c6b9 -a699c1e654e7c484431d81d90657892efeb4adcf72c43618e71ca7bd7c7a7ebbb1db7e06e75b75dc4c74efd306b5df3f -81d13153baebb2ef672b5bdb069d3cd669ce0be96b742c94e04038f689ff92a61376341366b286eee6bf3ae85156f694 -81efb17de94400fdacc1deec2550cbe3eecb27c7af99d8207e2f9be397e26be24a40446d2a09536bb5172c28959318d9 -989b21ebe9ceab02488992673dc071d4d5edec24bff0e17a4306c8cb4b3c83df53a2063d1827edd8ed16d6e837f0d222 -8d6005d6536825661b13c5fdce177cb37c04e8b109b7eb2b6d82ea1cb70efecf6a0022b64f84d753d165edc2bba784a3 -a32607360a71d5e34af2271211652d73d7756d393161f4cf0da000c2d66a84c6826e09e759bd787d4fd0305e2439d342 -aaad8d6f6e260db45d51b2da723be6fa832e76f5fbcb77a9a31e7f090dd38446d3b631b96230d78208cae408c288ac4e -abcfe425255fd3c5cffd3a818af7650190c957b6b07b632443f9e33e970a8a4c3bf79ac9b71f4d45f238a04d1c049857 -aeabf026d4c783adc4414b5923dbd0be4b039cc7201219f7260d321f55e9a5b166d7b5875af6129c034d0108fdc5d666 -af49e740c752d7b6f17048014851f437ffd17413c59797e5078eaaa36f73f0017c3e7da020310cfe7d3c85f94a99f203 -8854ca600d842566e3090040cd66bb0b3c46dae6962a13946f0024c4a8aca447e2ccf6f240045f1ceee799a88cb9210c -b6c03b93b1ab1b88ded8edfa1b487a1ed8bdce8535244dddb558ffb78f89b1c74058f80f4db2320ad060d0c2a9c351cc -b5bd7d17372faff4898a7517009b61a7c8f6f0e7ed4192c555db264618e3f6e57fb30a472d169fea01bf2bf0362a19a8 -96eb1d38319dc74afe7e7eb076fcd230d19983f645abd14a71e6103545c01301b31c47ae931e025f3ecc01fb3d2f31fa -b55a8d30d4403067def9b65e16f867299f8f64c9b391d0846d4780bc196569622e7e5b64ce799b5aefac8f965b2a7a7b -8356d199a991e5cbbff608752b6291731b6b6771aed292f8948b1f41c6543e4ab1bedc82dd26d10206c907c03508df06 -97f4137445c2d98b0d1d478049de952610ad698c91c9d0f0e7227d2aae690e9935e914ec4a2ea1fbf3fc1dddfeeacebb -af5621707e0938320b15ddfc87584ab325fbdfd85c30efea36f8f9bd0707d7ec12c344eff3ec21761189518d192df035 -8ac7817e71ea0825b292687928e349da7140285d035e1e1abff0c3704fa8453faaae343a441b7143a74ec56539687cc4 -8a5e0a9e4758449489df10f3386029ada828d1762e4fb0a8ffe6b79e5b6d5d713cb64ed95960e126398b0cdb89002bc9 -81324be4a71208bbb9bca74b77177f8f1abb9d3d5d9db195d1854651f2cf333cd618d35400da0f060f3e1b025124e4b2 -849971d9d095ae067525b3cbc4a7dfae81f739537ade6d6cec1b42fb692d923176197a8770907c58069754b8882822d6 -89f830825416802477cc81fdf11084885865ee6607aa15aa4eb28e351c569c49b8a1b9b5e95ddc04fa0ebafe20071313 -9240aeeaff37a91af55f860b9badd466e8243af9e8c96a7aa8cf348cd270685ab6301bc135b246dca9eda696f8b0e350 -acf74db78cc33138273127599eba35b0fb4e7b9a69fe02dae18fc6692d748ca332bd00b22afa8e654ed587aab11833f3 -b091e6d37b157b50d76bd297ad752220cd5c9390fac16dc838f8557aed6d9833fc920b61519df21265406216315e883f -a6446c429ebf1c7793c622250e23594c836b2fbcaf6c5b3d0995e1595a37f50ea643f3e549b0be8bbdadd69044d72ab9 -93e675353bd60e996bf1c914d5267eeaa8a52fc3077987ccc796710ef9becc6b7a00e3d82671a6bdfb8145ee3c80245a -a2f731e43251d04ed3364aa2f072d05355f299626f2d71a8a38b6f76cf08c544133f7d72dd0ab4162814b674b9fc7fa6 -97a8b791a5a8f6e1d0de192d78615d73d0c38f1e557e4e15d15adc663d649e655bc8da3bcc499ef70112eafe7fb45c7a -98cd624cbbd6c53a94469be4643c13130916b91143425bcb7d7028adbbfede38eff7a21092af43b12d4fab703c116359 -995783ce38fd5f6f9433027f122d4cf1e1ff3caf2d196ce591877f4a544ce9113ead60de2de1827eaff4dd31a20d79a8 -8cf251d6f5229183b7f3fe2f607a90b4e4b6f020fb4ba2459d28eb8872426e7be8761a93d5413640a661d73e34a5b81f -b9232d99620652a3aa7880cad0876f153ff881c4ed4c0c2e7b4ea81d5d42b70daf1a56b869d752c3743c6d4c947e6641 -849716f938f9d37250cccb1bf77f5f9fde53096cdfc6f2a25536a6187029a8f1331cdbed08909184b201f8d9f04b792f -80c7c4de098cbf9c6d17b14eba1805e433b5bc905f6096f8f63d34b94734f2e4ebf4bce8a177efd1186842a61204a062 -b790f410cf06b9b8daadceeb4fd5ff40a2deda820c8df2537e0a7554613ae3948e149504e3e79aa84889df50c8678eeb -813aab8bd000299cd37485b73cd7cba06e205f8efb87f1efc0bae8b70f6db2bc7702eb39510ad734854fb65515fe9d0f -94f0ab7388ac71cdb67f6b85dfd5945748afb2e5abb622f0b5ad104be1d4d0062b651f134ba22385c9e32c2dfdcccce1 -ab6223dca8bd6a4f969e21ccd9f8106fc5251d321f9e90cc42cea2424b3a9c4e5060a47eeef6b23c7976109b548498e8 -859c56b71343fce4d5c5b87814c47bf55d581c50fd1871a17e77b5e1742f5af639d0e94d19d909ec7dfe27919e954e0c -aae0d632b6191b8ad71b027791735f1578e1b89890b6c22e37de0e4a6074886126988fe8319ae228ac9ef3b3bcccb730 -8ca9f32a27a024c3d595ecfaf96b0461de57befa3b331ab71dc110ec3be5824fed783d9516597537683e77a11d334338 -a061df379fb3f4b24816c9f6cd8a94ecb89b4c6dc6cd81e4b8096fa9784b7f97ab3540259d1de9c02eb91d9945af4823 -998603102ac63001d63eb7347a4bb2bf4cf33b28079bb48a169076a65c20d511ccd3ef696d159e54cc8e772fb5d65d50 -94444d96d39450872ac69e44088c252c71f46be8333a608a475147752dbb99db0e36acfc5198f158509401959c12b709 -ac1b51b6c09fe055c1d7c9176eea9adc33f710818c83a1fbfa073c8dc3a7eb3513cbdd3f5960b7845e31e3e83181e6ba -803d530523fc9e1e0f11040d2412d02baef3f07eeb9b177fa9bfa396af42eea898a4276d56e1db998dc96ae47b644cb2 -85a3c9fc7638f5bf2c3e15ba8c2fa1ae87eb1ceb44c6598c67a2948667a9dfa41e61f66d535b4e7fda62f013a5a8b885 -a961cf5654c46a1a22c29baf7a4e77837a26b7f138f410e9d1883480ed5fa42411d522aba32040b577046c11f007388e -ad1154142344f494e3061ef45a34fab1aaacf5fdf7d1b26adbb5fbc3d795655fa743444e39d9a4119b4a4f82a6f30441 -b1d6c30771130c77806e7ab893b73d4deb590b2ff8f2f8b5e54c2040c1f3e060e2bd99afc668cf706a2df666a508bbf6 -a00361fd440f9decabd98d96c575cd251dc94c60611025095d1201ef2dedde51cb4de7c2ece47732e5ed9b3526c2012c -a85c5ab4d17d328bda5e6d839a9a6adcc92ff844ec25f84981e4f44a0e8419247c081530f8d9aa629c7eb4ca21affba6 -a4ddd3eab4527a2672cf9463db38bc29f61460e2a162f426b7852b7a7645fbd62084fd39a8e4d60e1958cce436dd8f57 -811648140080fe55b8618f4cf17f3c5a250adb0cd53d885f2ddba835d2b4433188e41fc0661faac88e4ff910b16278c0 -b85c7f1cfb0ed29addccf7546023a79249e8f15ac2d14a20accbfef4dd9dc11355d599815fa09d2b6b4e966e6ea8cff1 -a10b5d8c260b159043b020d5dd62b3467df2671afea6d480ca9087b7e60ed170c82b121819d088315902842d66c8fb45 -917e191df1bcf3f5715419c1e2191da6b8680543b1ba41fe84ed07ef570376e072c081beb67b375fca3565a2565bcabb -881fd967407390bfd7badc9ab494e8a287559a01eb07861f527207c127eadea626e9bcc5aa9cca2c5112fbac3b3f0e9c -959fd71149af82cc733619e0e5bf71760ca2650448c82984b3db74030d0e10f8ab1ce1609a6de6f470fe8b5bd90df5b3 -a3370898a1c5f33d15adb4238df9a6c945f18b9ada4ce2624fc32a844f9ece4c916a64e9442225b6592afa06d2e015f2 -817efb8a791435e4236f7d7b278181a5fa34587578c629dbc14fbf9a5c26772290611395eecd20222a4c58649fc256d8 -a04c9876acf2cfdc8ef96de4879742709270fa1d03fe4c8511fbef2d59eb0aaf0336fa2c7dfe41a651157377fa217813 -81e15875d7ea7f123e418edf14099f2e109d4f3a6ce0eb65f67fe9fb10d2f809a864a29f60ad3fc949f89e2596b21783 -b49f529975c09e436e6bc202fdc16e3fdcbe056db45178016ad6fdece9faad4446343e83aed096209690b21a6910724f -879e8eda589e1a279f7f49f6dd0580788c040d973748ec4942dbe51ea8fbd05983cc919b78f0c6b92ef3292ae29db875 -81a2b74b2118923f34139a102f3d95e7eee11c4c2929c2576dee200a5abfd364606158535a6c9e4178a6a83dbb65f3c4 -8913f281d8927f2b45fc815d0f7104631cb7f5f7278a316f1327d670d15868daadd2a64e3eb98e1f53fe7e300338cc80 -a6f815fba7ef9af7fbf45f93bc952e8b351f5de6568a27c7c47a00cb39a254c6b31753794f67940fc7d2e9cc581529f4 -b3722a15c66a0014ce4d082de118def8d39190c15678a472b846225585f3a83756ae1b255b2e3f86a26168878e4773b2 -817ae61ab3d0dd5b6e24846b5a5364b1a7dc2e77432d9fed587727520ae2f307264ea0948c91ad29f0aea3a11ff38624 -b3db467464415fcad36dc1de2d6ba7686772a577cc2619242ac040d6734881a45d3b40ed4588db124e4289cfeec4bbf6 -ad66a14f5a54ac69603b16e5f1529851183da77d3cc60867f10aea41339dd5e06a5257982e9e90a352cdd32750f42ee4 -adafa3681ef45d685555601a25a55cf23358319a17f61e2179e704f63df83a73bdd298d12cf6cef86db89bd17119e11d -a379dc44cb6dd3b9d378c07b2ec654fec7ca2f272de6ba895e3d00d20c9e4c5550498a843c8ac67e4221db2115bedc1c -b7bf81c267a78efc6b9e5a904574445a6487678d7ef70054e3e93ea6a23f966c2b68787f9164918e3b16d2175459ed92 -b41d66a13a4afafd5760062b77f79de7e6ab8ccacde9c6c5116a6d886912fb491dc027af435b1b44aacc6af7b3c887f2 -9904d23a7c1c1d2e4bab85d69f283eb0a8e26d46e8b7b30224438015c936729b2f0af7c7c54c03509bb0500acb42d8a4 -ae30d65e9e20c3bfd603994ae2b175ff691d51f3e24b2d058b3b8556d12ca4c75087809062dddd4aaac81c94d15d8a17 -9245162fab42ac01527424f6013310c3eb462982518debef6c127f46ba8a06c705d7dc9f0a41e796ba8d35d60ae6cc64 -87fab853638d7a29a20f3ba2b1a7919d023e9415bfa78ebb27973d8cbc7626f584dc5665d2e7ad71f1d760eba9700d88 -85aac46ecd330608e5272430970e6081ff02a571e8ea444f1e11785ea798769634a22a142d0237f67b75369d3c484a8a -938c85ab14894cc5dfce3d80456f189a2e98eddbc8828f4ff6b1df1dcb7b42b17ca2ff40226a8a1390a95d63dca698dd -a18ce1f846e3e3c4d846822f60271eecf0f5d7d9f986385ac53c5ace9589dc7c0188910448c19b91341a1ef556652fa9 -8611608a9d844f0e9d7584ad6ccf62a5087a64f764caf108db648a776b5390feb51e5120f0ef0e9e11301af3987dd7dc -8106333ba4b4de8d1ae43bc9735d3fea047392e88efd6a2fa6f7b924a18a7a265ca6123c3edc0f36307dd7fb7fe89257 -a91426fa500951ff1b051a248c050b7139ca30dde8768690432d597d2b3c4357b11a577be6b455a1c5d145264dcf81fc -b7f9f90e0e450f37b081297f7f651bad0496a8b9afd2a4cf4120a2671aaaa8536dce1af301258bfbfdb122afa44c5048 -84126da6435699b0c09fa4032dec73d1fca21d2d19f5214e8b0bea43267e9a8dd1fc44f8132d8315e734c8e2e04d7291 -aff064708103884cb4f1a3c1718b3fc40a238d35cf0a7dc24bdf9823693b407c70da50df585bf5bc4e9c07d1c2d203e8 -a8b40fc6533752983a5329c31d376c7a5c13ce6879cc7faee648200075d9cd273537001fb4c86e8576350eaac6ba60c2 -a02db682bdc117a84dcb9312eb28fcbde12d49f4ce915cc92c610bb6965ec3cc38290f8c5b5ec70afe153956692cda95 -86decd22b25d300508472c9ce75d3e465b737e7ce13bc0fcce32835e54646fe12322ba5bc457be18bfd926a1a6ca4a38 -a18666ef65b8c2904fd598791f5627207165315a85ee01d5fb0e6b2e10bdd9b00babc447da5bd63445e3337de33b9b89 -89bb0c06effadefdaf34ffe4b123e1678a90d4451ee856c863df1e752eef41fd984689ded8f0f878bf8916d5dd8e8024 -97cfcba08ebec05d0073992a66b1d7d6fb9d95871f2cdc36db301f78bf8069294d1c259efef5c93d20dc937eedae3a1a -ac2643b14ece79dcb2e289c96776a47e2bebd40dd6dc74fd035df5bb727b5596f40e3dd2d2202141e69b0993717ede09 -a5e6fd88a2f9174d9bd4c6a55d9c30974be414992f22aa852f552c7648f722ed8077acf5aba030abd47939bb451b2c60 -8ad40a612824a7994487731a40b311b7349038c841145865539c6ada75c56de6ac547a1c23df190e0caaafecddd80ccc -953a7cea1d857e09202c438c6108060961f195f88c32f0e012236d7a4b39d840c61b162ec86436e8c38567328bea0246 -80d8b47a46dae1868a7b8ccfe7029445bbe1009dad4a6c31f9ef081be32e8e1ac1178c3c8fb68d3e536c84990cc035b1 -81ecd99f22b3766ce0aca08a0a9191793f68c754fdec78b82a4c3bdc2db122bbb9ebfd02fc2dcc6e1567a7d42d0cc16a -b1dd0446bccc25846fb95d08c1c9cc52fb51c72c4c5d169ffde56ecfe800f108dc1106d65d5c5bd1087c656de3940b63 -b87547f0931e164e96de5c550ca5aa81273648fe34f6e193cd9d69cf729cb432e17aa02e25b1c27a8a0d20a3b795e94e -820a94e69a927e077082aae66f6b292cfbe4589d932edf9e68e268c9bd3d71ef76cf7d169dd445b93967c25db11f58f1 -b0d07ddf2595270c39adfa0c8cf2ab1322979b0546aa4d918f641be53cd97f36c879bb75d205e457c011aca3bbd9f731 -8700b876b35b4b10a8a9372c5230acecd39539c1bb87515640293ad4464a9e02929d7d6a6a11112e8a29564815ac0de4 -a61a601c5bb27dcb97e37c8e2b9ce479c6b192a5e04d9ed5e065833c5a1017ee5f237b77d1a17be5d48f8e7cc0bcacf6 -92fb88fe774c1ba1d4a08cae3c0e05467ad610e7a3f1d2423fd47751759235fe0a3036db4095bd6404716aa03820f484 -b274f140d77a3ce0796f5e09094b516537ccaf27ae1907099bff172e6368ba85e7c3ef8ea2a07457cac48ae334da95b3 -b2292d9181f16581a9a9142490b2bdcdfb218ca6315d1effc8592100d792eb89d5356996c890441f04f2b4a95763503e -8897e73f576d86bc354baa3bd96e553107c48cf5889dcc23c5ba68ab8bcd4e81f27767be2233fdfa13d39f885087e668 -a29eac6f0829791c728d71abc49569df95a4446ecbfc534b39f24f56c88fe70301838dfc1c19751e7f3c5c1b8c6af6a0 -9346dc3720adc5df500a8df27fd9c75ef38dc5c8f4e8ed66983304750e66d502c3c59b8e955be781b670a0afc70a2167 -9566d534e0e30a5c5f1428665590617e95fd05d45f573715f58157854ad596ece3a3cfec61356aee342308d623e029d5 -a464fb8bffe6bd65f71938c1715c6e296cc6d0311a83858e4e7eb5873b7f2cf0c584d2101e3407b85b64ca78b2ac93ce -b54088f7217987c87e9498a747569ac5b2f8afd5348f9c45bf3fd9fbf713a20f495f49c8572d087efe778ac7313ad6d3 -91fa9f5f8000fe050f5b224d90b59fcce13c77e903cbf98ded752e5b3db16adb2bc1f8c94be48b69f65f1f1ad81d6264 -92d04a5b0ac5d8c8e313709b432c9434ecd3e73231f01e9b4e7952b87df60cbfa97b5dedd2200bd033b4b9ea8ba45cc1 -a94b90ad3c3d6c4bbe169f8661a790c40645b40f0a9d1c7220f01cf7fc176e04d80bab0ced9323fcafb93643f12b2760 -94d86149b9c8443b46196f7e5a3738206dd6f3be7762df488bcbb9f9ee285a64c997ed875b7b16b26604fa59020a8199 -82efe4ae2c50a2d7645240c173a047f238536598c04a2c0b69c96e96bd18e075a99110f1206bc213f39edca42ba00cc1 -ab8667685f831bc14d4610f84a5da27b4ea5b133b4d991741a9e64dceb22cb64a3ce8f1b6e101d52af6296df7127c9ad -83ba433661c05dcc5d562f4a9a261c8110dac44b8d833ae1514b1fc60d8b4ee395b18804baea04cb10adb428faf713c3 -b5748f6f660cc5277f1211d2b8649493ed8a11085b871cd33a5aea630abd960a740f08c08be5f9c21574600ac9bf5737 -a5c8dd12af48fb710642ad65ebb97ca489e8206741807f7acfc334f8035d3c80593b1ff2090c9bb7bd138f0c48714ca8 -a2b382fd5744e3babf454b1d806cc8783efeb4761bc42b6914ea48a46a2eae835efbe0a18262b6bc034379e03cf1262b -b3145ffaf603f69f15a64936d32e3219eea5ed49fdfd2f5bf40ea0dfd974b36fb6ff12164d4c2282d892db4cf3ff3ce1 -87a316fb213f4c5e30c5e3face049db66be4f28821bd96034714ec23d3e97849d7b301930f90a4323c7ccf53de23050c -b9de09a919455070fed6220fc179c8b7a4c753062bcd27acf28f5b9947a659c0b364298daf7c85c4ca6fca7f945add1f -806fbd98d411b76979464c40ad88bc07a151628a27fcc1012ba1dfbaf5b5cc9d962fb9b3386008978a12515edce934bc -a15268877fae0d21610ae6a31061ed7c20814723385955fac09fdc9693a94c33dea11db98bb89fdfe68f933490f5c381 -8d633fb0c4da86b2e0b37d8fad5972d62bff2ac663c5ec815d095cd4b7e1fe66ebef2a2590995b57eaf941983c7ad7a4 -8139e5dd9cf405e8ef65f11164f0440827d98389ce1b418b0c9628be983a9ddd6cf4863036ccb1483b40b8a527acd9ed -88b15fa94a08eac291d2b94a2b30eb851ff24addf2cc30b678e72e32cfcb3424cf4b33aa395d741803f3e578ddf524de -b5eaf0c8506e101f1646bcf049ee38d99ea1c60169730da893fd6020fd00a289eb2f415947e44677af49e43454a7b1be -8489822ad0647a7e06aa2aa5595960811858ddd4542acca419dd2308a8c5477648f4dd969a6740bb78aa26db9bfcc555 -b1e9a7b9f3423c220330d45f69e45fa03d7671897cf077f913c252e3e99c7b1b1cf6d30caad65e4228d5d7b80eb86e5e -b28fe9629592b9e6a55a1406903be76250b1c50c65296c10c5e48c64b539fb08fe11f68cf462a6edcbba71b0cee3feb2 -a41acf96a02c96cd8744ff6577c244fc923810d17ade133587e4c223beb7b4d99fa56eae311a500d7151979267d0895c -880798938fe4ba70721be90e666dfb62fcab4f3556fdb7b0dc8ec5bc34f6b4513df965eae78527136eb391889fe2caf9 -98d4d89d358e0fb7e212498c73447d94a83c1b66e98fc81427ab13acddb17a20f52308983f3a5a8e0aaacec432359604 -81430b6d2998fc78ba937a1639c6020199c52da499f68109da227882dc26d005b73d54c5bdcac1a04e8356a8ca0f7017 -a8d906a4786455eb74613aba4ce1c963c60095ffb8658d368df9266fdd01e30269ce10bf984e7465f34b4fd83beba26a -af54167ac1f954d10131d44a8e0045df00d581dd9e93596a28d157543fbe5fb25d213806ed7fb3cba6b8f5b5423562db -8511e373a978a12d81266b9afbd55035d7bc736835cfa921903a92969eeba3624437d1346b55382e61415726ab84a448 -8cf43eea93508ae586fa9a0f1354a1e16af659782479c2040874a46317f9e8d572a23238efa318fdfb87cc63932602b7 -b0bdd3bacff077173d302e3a9678d1d37936188c7ecc34950185af6b462b7c679815176f3cce5db19aac8b282f2d60ad -a355e9b87f2f2672052f5d4d65b8c1c827d24d89b0d8594641fccfb69aef1b94009105f3242058bb31c8bf51caae5a41 -b8baa9e4b950b72ff6b88a6509e8ed1304bc6fd955748b2e59a523a1e0c5e99f52aec3da7fa9ff407a7adf259652466c -840bc3dbb300ea6f27d1d6dd861f15680bd098be5174f45d6b75b094d0635aced539fa03ddbccb453879de77fb5d1fe9 -b4bc7e7e30686303856472bae07e581a0c0bfc815657c479f9f5931cff208d5c12930d2fd1ff413ebd8424bcd7a9b571 -89b5d514155d7999408334a50822508b9d689add55d44a240ff2bdde2eee419d117031f85e924e2a2c1ca77db9b91eea -a8604b6196f87a04e1350302e8aa745bba8dc162115d22657b37a1d1a98cb14876ddf7f65840b5dbd77e80cd22b4256c -83cb7acdb9e03247515bb2ce0227486ccf803426717a14510f0d59d45e998b245797d356f10abca94f7a14e1a2f0d552 -aeb3266a9f16649210ab2df0e1908ac259f34ce1f01162c22b56cf1019096ee4ea5854c36e30bb2feb06c21a71e8a45c -89e72e86edf2aa032a0fc9acf4d876a40865fbb2c8f87cb7e4d88856295c4ac14583e874142fd0c314a49aba68c0aa3c -8c3576eba0583c2a7884976b4ed11fe1fda4f6c32f6385d96c47b0e776afa287503b397fa516a455b4b8c3afeedc76db -a31e5b633bda9ffa174654fee98b5d5930a691c3c42fcf55673d927dbc8d91c58c4e42e615353145431baa646e8bbb30 -89f2f3f7a8da1544f24682f41c68114a8f78c86bd36b066e27da13acb70f18d9f548773a16bd8e24789420e17183f137 -ada27fa4e90a086240c9164544d2528621a415a5497badb79f8019dc3dce4d12eb6b599597e47ec6ac39c81efda43520 -90dc1eb21bf21c0187f359566fc4bf5386abea52799306a0e5a1151c0817c5f5bc60c86e76b1929c092c0f3ff48cedd2 -b702a53ebcc17ae35d2e735a347d2c700e9cbef8eadbece33cac83df483b2054c126593e1f462cfc00a3ce9d737e2af5 -9891b06455ec925a6f8eafffba05af6a38cc5e193acaaf74ffbf199df912c5197106c5e06d72942bbb032ce277b6417f -8c0ee71eb01197b019275bcf96cae94e81d2cdc3115dbf2d8e3080074260318bc9303597e8f72b18f965ad601d31ec43 -8aaf580aaf75c1b7a5f99ccf60503506e62058ef43b28b02f79b8536a96be3f019c9f71caf327b4e6730134730d1bef5 -ae6f9fc21dd7dfa672b25a87eb0a41644f7609fab5026d5cedb6e43a06dbbfd6d6e30322a2598c8dedde88c52eaed626 -8159b953ffece5693edadb2e906ebf76ff080ee1ad22698950d2d3bfc36ac5ea78f58284b2ca180664452d55bd54716c -ab7647c32ca5e9856ac283a2f86768d68de75ceeba9e58b74c5324f8298319e52183739aba4340be901699d66ac9eb3f -a4d85a5701d89bcfaf1572db83258d86a1a0717603d6f24ac2963ffcf80f1265e5ab376a4529ca504f4396498791253c -816080c0cdbfe61b4d726c305747a9eb58ac26d9a35f501dd32ba43c098082d20faf3ccd41aad24600aa73bfa453dfac -84f3afac024f576b0fd9acc6f2349c2fcefc3f77dbe5a2d4964d14b861b88e9b1810334b908cf3427d9b67a8aee74b18 -94b390655557b1a09110018e9b5a14490681ade275bdc83510b6465a1218465260d9a7e2a6e4ec700f58c31dc3659962 -a8c66826b1c04a2dd4c682543242e7a57acae37278bd09888a3d17747c5b5fec43548101e6f46d703638337e2fd3277b -86e6f4608a00007fa533c36a5b054c5768ccafe41ad52521d772dcae4c8a4bcaff8f7609be30d8fab62c5988cbbb6830 -837da4cf09ae8aa0bceb16f8b3bfcc3b3367aecac9eed6b4b56d7b65f55981ef066490764fb4c108792623ecf8cad383 -941ff3011462f9b5bf97d8cbdb0b6f5d37a1b1295b622f5485b7d69f2cb2bcabc83630dae427f0259d0d9539a77d8424 -b99e5d6d82aa9cf7d5970e7f710f4039ac32c2077530e4c2779250c6b9b373bc380adb0a03b892b652f649720672fc8c -a791c78464b2d65a15440b699e1e30ebd08501d6f2720adbc8255d989a82fcded2f79819b5f8f201bed84a255211b141 -84af7ad4a0e31fcbb3276ab1ad6171429cf39adcf78dc03750dc5deaa46536d15591e26d53e953dfb31e1622bc0743ab -a833e62fe97e1086fae1d4917fbaf09c345feb6bf1975b5cb863d8b66e8d621c7989ab3dbecda36bc9eaffc5eaa6fa66 -b4ef79a46a2126f53e2ebe62770feb57fd94600be29459d70a77c5e9cc260fa892be06cd60f886bf48459e48eb50d063 -b43b8f61919ea380bf151c294e54d3a3ff98e20d1ee5efbfe38aa2b66fafbc6a49739793bd5cb1c809f8b30466277c3a -ab37735af2412d2550e62df9d8b3b5e6f467f20de3890bf56faf1abf2bf3bd1d98dc3fa0ad5e7ab3fce0fa20409eb392 -82416b74b1551d484250d85bb151fabb67e29cce93d516125533df585bc80779ab057ea6992801a3d7d5c6dcff87a018 -8145d0787f0e3b5325190ae10c1d6bee713e6765fb6a0e9214132c6f78f4582bb2771aaeae40d3dad4bafb56bf7e36d8 -b6935886349ecbdd5774e12196f4275c97ec8279fdf28ccf940f6a022ebb6de8e97d6d2173c3fe402cbe9643bed3883b -87ef9b4d3dc71ac86369f8ed17e0dd3b91d16d14ae694bc21a35b5ae37211b043d0e36d8ff07dcc513fb9e6481a1f37f -ae1d0ded32f7e6f1dc8fef495879c1d9e01826f449f903c1e5034aeeabc5479a9e323b162b688317d46d35a42d570d86 -a40d16497004db4104c6794e2f4428d75bdf70352685944f3fbe17526df333e46a4ca6de55a4a48c02ecf0bde8ba03c0 -8d45121efba8cc308a498e8ee39ea6fa5cae9fb2e4aab1c2ff9d448aa8494ccbec9a078f978a86fcd97b5d5e7be7522a -a8173865c64634ba4ac2fa432740f5c05056a9deaf6427cb9b4b8da94ca5ddbc8c0c5d3185a89b8b28878194de9cdfcd -b6ec06a74d690f6545f0f0efba236e63d1fdfba54639ca2617408e185177ece28901c457d02b849fd00f1a53ae319d0a -b69a12df293c014a40070e3e760169b6f3c627caf9e50b35a93f11ecf8df98b2bc481b410eecb7ab210bf213bbe944de -97e7dc121795a533d4224803e591eef3e9008bab16f12472210b73aaf77890cf6e3877e0139403a0d3003c12c8f45636 -acdfa6fdd4a5acb7738cc8768f7cba84dbb95c639399b291ae8e4e63df37d2d4096900a84d2f0606bf534a9ccaa4993f -86ee253f3a9446a33e4d1169719b7d513c6b50730988415382faaf751988c10a421020609f7bcdef91be136704b906e2 -aac9438382a856caf84c5a8a234282f71b5fc5f65219103b147e7e6cf565522285fbfd7417b513bdad8277a00f652ca1 -83f3799d8e5772527930f5dc071a2e0a65471618993ec8990a96ccdeee65270e490bda9d26bb877612475268711ffd80 -93f28a81ac8c0ec9450b9d762fae9c7f8feaace87a6ee6bd141ef1d2d0697ef1bbd159fe6e1de640dbdab2b0361fca8a -a0825c95ba69999b90eac3a31a3fd830ea4f4b2b7409bde5f202b61d741d6326852ce790f41de5cb0eccec7af4db30c1 -83924b0e66233edd603c3b813d698daa05751fc34367120e3cf384ea7432e256ccee4d4daf13858950549d75a377107d -956fd9fa58345277e06ba2ec72f49ed230b8d3d4ff658555c52d6cddeb84dd4e36f1a614f5242d5ca0192e8daf0543c2 -944869912476baae0b114cced4ff65c0e4c90136f73ece5656460626599051b78802df67d7201c55d52725a97f5f29fe -865cb25b64b4531fb6fe4814d7c8cd26b017a6c6b72232ff53defc18a80fe3b39511b23f9e4c6c7249d06e03b2282ed2 -81e09ff55214960775e1e7f2758b9a6c4e4cd39edf7ec1adfaad51c52141182b79fe2176b23ddc7df9fd153e5f82d668 -b31006896f02bc90641121083f43c3172b1039334501fbaf1672f7bf5d174ddd185f945adf1a9c6cf77be34c5501483d -88b92f6f42ae45e9f05b16e52852826e933efd0c68b0f2418ac90957fd018df661bc47c8d43c2a7d7bfcf669dab98c3c -92fc68f595853ee8683930751789b799f397135d002eda244fe63ecef2754e15849edde3ba2f0cc8b865c9777230b712 -99ca06a49c5cd0bb097c447793fcdd809869b216a34c66c78c7e41e8c22f05d09168d46b8b1f3390db9452d91bc96dea -b48b9490a5d65296802431852d548d81047bbefc74fa7dc1d4e2a2878faacdfcb365ae59209cb0ade01901a283cbd15d -aff0fdbef7c188b120a02bc9085d7b808e88f73973773fef54707bf2cd772cd066740b1b6f4127b5c349f657bd97e738 -966fd4463b4f43dd8ccba7ad50baa42292f9f8b2e70da23bb6780e14155d9346e275ef03ddaf79e47020dcf43f3738bd -9330c3e1fadd9e08ac85f4839121ae20bbeb0a5103d84fa5aadbd1213805bdcda67bf2fb75fc301349cbc851b5559d20 -993bb99867bd9041a71a55ad5d397755cfa7ab6a4618fc526179bfc10b7dc8b26e4372fe9a9b4a15d64f2b63c1052dda -a29b59bcfab51f9b3c490a3b96f0bf1934265c315349b236012adbd64a56d7f6941b2c8cc272b412044bc7731f71e1dc -a65c9cefe1fc35d089fe8580c2e7671ebefdb43014ac291528ff4deefd4883fd4df274af83711dad610dad0d615f9d65 -944c78c56fb227ae632805d448ca3884cd3d2a89181cead3d2b7835e63297e6d740aa79a112edb1d4727824991636df5 -a73d782da1db7e4e65d7b26717a76e16dd9fab4df65063310b8e917dc0bc24e0d6755df5546c58504d04d9e68c3b474a -af80f0b87811ae3124f68108b4ca1937009403f87928bbc53480e7c5408d072053ace5eeaf5a5aba814dab8a45502085 -88aaf1acfc6e2e19b8387c97da707cb171c69812fefdd4650468e9b2c627bd5ccfb459f4d8e56bdfd84b09ddf87e128f -92c97276ff6f72bab6e9423d02ad6dc127962dbce15a0dd1e4a393b4510c555df6aa27be0f697c0d847033a9ca8b8dfd -a0e07d43d96e2d85b6276b3c60aadb48f0aedf2de8c415756dc597249ea64d2093731d8735231dadc961e5682ac59479 -adc9e6718a8f9298957d1da3842a7751c5399bbdf56f8de6c1c4bc39428f4aee6f1ba6613d37bf46b9403345e9d6fc81 -951da434da4b20d949b509ceeba02e24da7ed2da964c2fcdf426ec787779c696b385822c7dbea4df3e4a35921f1e912c -a04cbce0d2b2e87bbf038c798a12ec828423ca6aca08dc8d481cf6466e3c9c73d4d4a7fa47df9a7e2e15aae9e9f67208 -8f855cca2e440d248121c0469de1f94c2a71b8ee2682bbad3a78243a9e03da31d1925e6760dbc48a1957e040fae9abe8 -b642e5b17c1df4a4e101772d73851180b3a92e9e8b26c918050f51e6dd3592f102d20b0a1e96f0e25752c292f4c903ff -a92454c300781f8ae1766dbbb50a96192da7d48ef4cbdd72dd8cbb44c6eb5913c112cc38e9144615fdc03684deb99420 -8b74f7e6c2304f8e780df4649ef8221795dfe85fdbdaa477a1542d135b75c8be45bf89adbbb6f3ddf54ca40f02e733e9 -85cf66292cbb30cec5fd835ab10c9fcb3aea95e093aebf123e9a83c26f322d76ebc89c4e914524f6c5f6ee7d74fc917d -ae0bfe0cdc97c09542a7431820015f2d16067b30dca56288013876025e81daa8c519e5e347268e19aa1a85fa1dc28793 -921322fc6a47dc091afa0ad6df18ed14cde38e48c6e71550aa513918b056044983aee402de21051235eecf4ce8040fbe -96c030381e97050a45a318d307dcb3c8377b79b4dd5daf6337cded114de26eb725c14171b9b8e1b3c08fe1f5ea6b49e0 -90c23b86b6111818c8baaf53a13eaee1c89203b50e7f9a994bf0edf851919b48edbac7ceef14ac9414cf70c486174a77 -8bf6c301240d2d1c8d84c71d33a6dfc6d9e8f1cfae66d4d0f7a256d98ae12b0bcebfa94a667735ee89f810bcd7170cff -a41a4ffbbea0e36874d65c009ee4c3feffff322f6fc0e30d26ee4dbc1f46040d05e25d9d0ecb378cef0d24a7c2c4b850 -a8d4cdd423986bb392a0a92c12a8bd4da3437eec6ef6af34cf5310944899287452a2eb92eb5386086d5063381189d10e -a81dd26ec057c4032a4ed7ad54d926165273ed51d09a1267b2e477535cf6966835a257c209e4e92d165d74fa75695fa3 -8d7f708c3ee8449515d94fc26b547303b53d8dd55f177bc3b25d3da2768accd9bc8e9f09546090ebb7f15c66e6c9c723 -839ba65cffcd24cfffa7ab3b21faabe3c66d4c06324f07b2729c92f15cad34e474b0f0ddb16cd652870b26a756b731d3 -87f1a3968afec354d92d77e2726b702847c6afcabb8438634f9c6f7766de4c1504317dc4fa9a4a735acdbf985e119564 -91a8a7fd6542f3e0673f07f510d850864b34ac087eb7eef8845a1d14b2b1b651cbdc27fa4049bdbf3fea54221c5c8549 -aef3cf5f5e3a2385ead115728d7059e622146c3457d266c612e778324b6e06fbfb8f98e076624d2f3ce1035d65389a07 -819915d6232e95ccd7693fdd78d00492299b1983bc8f96a08dcb50f9c0a813ed93ae53c0238345d5bea0beda2855a913 -8e9ba68ded0e94935131b392b28218315a185f63bf5e3c1a9a9dd470944509ca0ba8f6122265f8da851b5cc2abce68f1 -b28468e9b04ee9d69003399a3cf4457c9bf9d59f36ab6ceeb8e964672433d06b58beeea198fedc7edbaa1948577e9fa2 -a633005e2c9f2fd94c8bce2dd5bb708fe946b25f1ec561ae65e54e15cdd88dc339f1a083e01f0d39610c8fe24151aaf0 -841d0031e22723f9328dd993805abd13e0c99b0f59435d2426246996b08d00ce73ab906f66c4eab423473b409e972ce0 -85758d1b084263992070ec8943f33073a2d9b86a8606672550c17545507a5b3c88d87382b41916a87ee96ff55a7aa535 -8581b06b0fc41466ef94a76a1d9fb8ae0edca6d018063acf6a8ca5f4b02d76021902feba58972415691b4bdbc33ae3b4 -83539597ff5e327357ee62bc6bf8c0bcaec2f227c55c7c385a4806f0d37fb461f1690bad5066b8a5370950af32fafbef -aee3557290d2dc10827e4791d00e0259006911f3f3fce4179ed3c514b779160613eca70f720bff7804752715a1266ffa -b48d2f0c4e90fc307d5995464e3f611a9b0ef5fe426a289071f4168ed5cc4f8770c9332960c2ca5c8c427f40e6bb389f -847af8973b4e300bb06be69b71b96183fd1a0b9d51b91701bef6fcfde465068f1eb2b1503b07afda380f18d69de5c9e1 -a70a6a80ce407f07804c0051ac21dc24d794b387be94eb24e1db94b58a78e1bcfb48cd0006db8fc1f9bedaece7a44fbe -b40e942b8fa5336910ff0098347df716bff9d1fa236a1950c16eeb966b3bc1a50b8f7b0980469d42e75ae13ced53cead -b208fabaa742d7db3148515330eb7a3577487845abdb7bd9ed169d0e081db0a5816595c33d375e56aeac5b51e60e49d3 -b7c8194b30d3d6ef5ab66ec88ad7ebbc732a3b8a41731b153e6f63759a93f3f4a537eab9ad369705bd730184bdbbdc34 -9280096445fe7394d04aa1bc4620c8f9296e991cc4d6c131bd703cb1cc317510e6e5855ac763f4d958c5edfe7eebeed7 -abc2aa4616a521400af1a12440dc544e3c821313d0ab936c86af28468ef8bbe534837e364598396a81cf8d06274ed5a6 -b18ca8a3325adb0c8c18a666d4859535397a1c3fe08f95eebfac916a7a99bbd40b3c37b919e8a8ae91da38bc00fa56c0 -8a40c33109ecea2a8b3558565877082f79121a432c45ec2c5a5e0ec4d1c203a6788e6b69cb37f1fd5b8c9a661bc5476d -88c47301dd30998e903c84e0b0f2c9af2e1ce6b9f187dab03528d44f834dc991e4c86d0c474a2c63468cf4020a1e24a0 -920c832853e6ab4c851eecfa9c11d3acc7da37c823be7aa1ab15e14dfd8beb5d0b91d62a30cec94763bd8e4594b66600 -98e1addbe2a6b8edc7f12ecb9be81c3250aeeca54a1c6a7225772ca66549827c15f3950d01b8eb44aecb56fe0fff901a -8cfb0fa1068be0ec088402f5950c4679a2eb9218c729da67050b0d1b2d7079f3ddf4bf0f57d95fe2a8db04bc6bcdb20c -b70f381aafe336b024120453813aeab70baac85b9c4c0f86918797b6aee206e6ed93244a49950f3d8ec9f81f4ac15808 -a4c8edf4aa33b709a91e1062939512419711c1757084e46f8f4b7ed64f8e682f4e78b7135920c12f0eb0422fe9f87a6a -b4817e85fd0752d7ebb662d3a51a03367a84bac74ebddfba0e5af5e636a979500f72b148052d333b3dedf9edd2b4031b -a87430169c6195f5d3e314ff2d1c2f050e766fd5d2de88f5207d72dba4a7745bb86d0baca6e9ae156582d0d89e5838c7 -991b00f8b104566b63a12af4826b61ce7aa40f4e5b8fff3085e7a99815bdb4471b6214da1e480214fac83f86a0b93cc5 -b39966e3076482079de0678477df98578377a094054960ee518ef99504d6851f8bcd3203e8da5e1d4f6f96776e1fe6eb -a448846d9dc2ab7a0995fa44b8527e27f6b3b74c6e03e95edb64e6baa4f1b866103f0addb97c84bef1d72487b2e21796 -894bec21a453ae84b592286e696c35bc30e820e9c2fd3e63dd4fbe629e07df16439c891056070faa490155f255bf7187 -a9ec652a491b11f6a692064e955f3f3287e7d2764527e58938571469a1e29b5225b9415bd602a45074dfbfe9c131d6ca -b39d37822e6cbe28244b5f42ce467c65a23765bd16eb6447c5b3e942278069793763483dafd8c4dd864f8917aad357fe -88dba51133f2019cb266641c56101e3e5987d3b77647a2e608b5ff9113dfc5f85e2b7c365118723131fbc0c9ca833c9c -b566579d904b54ecf798018efcb824dccbebfc6753a0fd2128ac3b4bd3b038c2284a7c782b5ca6f310eb7ea4d26a3f0a -a97a55c0a492e53c047e7d6f9d5f3e86fb96f3dddc68389c0561515343b66b4bc02a9c0d5722dff1e3445308240b27f7 -a044028ab4bcb9e1a2b9b4ca4efbf04c5da9e4bf2fff0e8bd57aa1fc12a71e897999c25d9117413faf2f45395dee0f13 -a78dc461decbeaeed8ebd0909369b491a5e764d6a5645a7dac61d3140d7dc0062526f777b0eb866bff27608429ebbdde -b2c2a8991f94c39ca35fea59f01a92cb3393e0eccb2476dfbf57261d406a68bd34a6cff33ed80209991688c183609ef4 -84189eefb521aff730a4fd3fd5b10ddfd29f0d365664caef63bb015d07e689989e54c33c2141dd64427805d37a7e546e -85ac80bd734a52235da288ff042dea9a62e085928954e8eacd2c751013f61904ed110e5b3afe1ab770a7e6485efb7b5e -9183a560393dcb22d0d5063e71182020d0fbabb39e32493eeffeb808df084aa243eb397027f150b55a247d1ed0c8513e -81c940944df7ecc58d3c43c34996852c3c7915ed185d7654627f7af62abae7e0048dd444a6c09961756455000bd96d09 -aa8c34e164019743fd8284b84f06c3b449aae7996e892f419ee55d82ad548cb300fd651de329da0384243954c0ef6a60 -89a7b7bdfc7e300d06a14d463e573d6296d8e66197491900cc9ae49504c4809ff6e61b758579e9091c61085ba1237b83 -878d21809ba540f50bd11f4c4d9590fb6f3ab9de5692606e6e2ef4ed9d18520119e385be5e1f4b3f2e2b09c319f0e8fc -8eb248390193189cf0355365e630b782cd15751e672dc478b39d75dc681234dcd9309df0d11f4610dbb249c1e6be7ef9 -a1d7fb3aecb896df3a52d6bd0943838b13f1bd039c936d76d03de2044c371d48865694b6f532393b27fd10a4cf642061 -a34bca58a24979be442238cbb5ece5bee51ae8c0794dd3efb3983d4db713bc6f28a96e976ac3bd9a551d3ed9ba6b3e22 -817c608fc8cacdd178665320b5a7587ca21df8bdd761833c3018b967575d25e3951cf3d498a63619a3cd2ad4406f5f28 -86c95707db0495689afd0c2e39e97f445f7ca0edffad5c8b4cacd1421f2f3cc55049dfd504f728f91534e20383955582 -99c3b0bb15942c301137765d4e19502f65806f3b126dc01a5b7820c87e8979bce6a37289a8f6a4c1e4637227ad5bf3bf -8aa1518a80ea8b074505a9b3f96829f5d4afa55a30efe7b4de4e5dbf666897fdd2cf31728ca45921e21a78a80f0e0f10 -8d74f46361c79e15128ac399e958a91067ef4cec8983408775a87eca1eed5b7dcbf0ddf30e66f51780457413496c7f07 -a41cde4a786b55387458a1db95171aca4fd146507b81c4da1e6d6e495527c3ec83fc42fad1dfe3d92744084a664fd431 -8c352852c906fae99413a84ad11701f93f292fbf7bd14738814f4c4ceab32db02feb5eb70bc73898b0bc724a39d5d017 -a5993046e8f23b71ba87b7caa7ace2d9023fb48ce4c51838813174880d918e9b4d2b0dc21a2b9c6f612338c31a289df8 -83576d3324bf2d8afbfb6eaecdc5d767c8e22e7d25160414924f0645491df60541948a05e1f4202e612368e78675de8a -b43749b8df4b15bc9a3697e0f1c518e6b04114171739ef1a0c9c65185d8ec18e40e6954d125cbc14ebc652cf41ad3109 -b4eebd5d80a7327a040cafb9ccdb12b2dfe1aa86e6bc6d3ac8a57fadfb95a5b1a7332c66318ff72ba459f525668af056 -9198be7f1d413c5029b0e1c617bcbc082d21abe2c60ec8ce9b54ca1a85d3dba637b72fda39dae0c0ae40d047eab9f55a -8d96a0232832e24d45092653e781e7a9c9520766c3989e67bbe86b3a820c4bf621ea911e7cd5270a4bfea78b618411f6 -8d7160d0ea98161a2d14d46ef01dff72d566c330cd4fabd27654d300e1bc7644c68dc8eabf2a20a59bfe7ba276545f9b -abb60fce29dec7ba37e3056e412e0ec3e05538a1fc0e2c68877378c867605966108bc5742585ab6a405ce0c962b285b6 -8fabffa3ed792f05e414f5839386f6449fd9f7b41a47595c5d71074bd1bb3784cc7a1a7e1ad6b041b455035957e5b2dc -90ff017b4804c2d0533b72461436b10603ab13a55f86fd4ec11b06a70ef8166f958c110519ca1b4cc7beba440729fe2d -b340cfd120f6a4623e3a74cf8c32bfd7cd61a280b59dfd17b15ca8fae4d82f64a6f15fbde4c02f424debc72b7db5fe67 -871311c9c7220c932e738d59f0ecc67a34356d1429fe570ca503d340c9996cb5ee2cd188fad0e3bd16e4c468ec1dbebd -a772470262186e7b94239ba921b29f2412c148d6f97c4412e96d21e55f3be73f992f1ad53c71008f0558ec3f84e2b5a7 -b2a897dcb7ffd6257f3f2947ec966f2077d57d5191a88840b1d4f67effebe8c436641be85524d0a21be734c63ab5965d -a044f6eacc48a4a061fa149500d96b48cbf14853469aa4d045faf3dca973be1bd4b4ce01646d83e2f24f7c486d03205d -981af5dc2daa73f7fa9eae35a93d81eb6edba4a7f673b55d41f6ecd87a37685d31bb40ef4f1c469b3d72f2f18b925a17 -912d2597a07864de9020ac77083eff2f15ceb07600f15755aba61251e8ce3c905a758453b417f04d9c38db040954eb65 -9642b7f6f09394ba5e0805734ef6702c3eddf9eea187ba98c676d5bbaec0e360e3e51dc58433aaa1e2da6060c8659cb7 -8ab3836e0a8ac492d5e707d056310c4c8e0489ca85eb771bff35ba1d658360084e836a6f51bb990f9e3d2d9aeb18fbb5 -879e058e72b73bb1f4642c21ffdb90544b846868139c6511f299aafe59c2d0f0b944dffc7990491b7c4edcd6a9889250 -b9e60b737023f61479a4a8fd253ed0d2a944ea6ba0439bbc0a0d3abf09b0ad1f18d75555e4a50405470ae4990626f390 -b9c2535d362796dcd673640a9fa2ebdaec274e6f8b850b023153b0a7a30fffc87f96e0b72696f647ebe7ab63099a6963 -94aeff145386a087b0e91e68a84a5ede01f978f9dd9fe7bebca78941938469495dc30a96bba9508c0d017873aeea9610 -98b179f8a3d9f0d0a983c30682dd425a2ddc7803be59bd626c623c8951a5179117d1d2a68254c95c9952989877d0ee55 -889ecf5f0ee56938273f74eb3e9ecfb5617f04fb58e83fe4c0e4aef51615cf345bc56f3f61b17f6eed3249d4afd54451 -a0f2b2c39bcea4b50883e2587d16559e246248a66ecb4a4b7d9ab3b51fb39fe98d83765e087eee37a0f86b0ba4144c02 -b2a61e247ed595e8a3830f7973b07079cbda510f28ad8c78c220b26cb6acde4fbb5ee90c14a665f329168ee951b08cf0 -95bd0fcfb42f0d6d8a8e73d7458498a85bcddd2fb132fd7989265648d82ac2707d6d203fac045504977af4f0a2aca4b7 -843e5a537c298666e6cf50fcc044f13506499ef83c802e719ff2c90e85003c132024e04711be7234c04d4b0125512d5d -a46d1797c5959dcd3a5cfc857488f4d96f74277c3d13b98b133620192f79944abcb3a361d939a100187f1b0856eae875 -a1c7786736d6707a48515c38660615fcec67eb8a2598f46657855215f804fd72ab122d17f94fcffad8893f3be658dca7 -b23dc9e610abc7d8bd21d147e22509a0fa49db5be6ea7057b51aae38e31654b3aa044df05b94b718153361371ba2f622 -b00cc8f257d659c22d30e6d641f79166b1e752ea8606f558e4cad6fc01532e8319ea4ee12265ba4140ac45aa4613c004 -ac7019af65221b0cc736287b32d7f1a3561405715ba9a6a122342e04e51637ba911c41573de53e4781f2230fdcb2475f -81a630bc41b3da8b3eb4bf56cba10cd9f93153c3667f009dc332287baeb707d505fb537e6233c8e53d299ec0f013290c -a6b7aea5c545bb76df0f230548539db92bc26642572cb7dd3d5a30edca2b4c386f44fc8466f056b42de2a452b81aff5b -8271624ff736b7b238e43943c81de80a1612207d32036d820c11fc830c737972ccc9c60d3c2359922b06652311e3c994 -8a684106458cb6f4db478170b9ad595d4b54c18bf63b9058f095a2fa1b928c15101472c70c648873d5887880059ed402 -a5cc3c35228122f410184e4326cf61a37637206e589fcd245cb5d0cec91031f8f7586b80503070840fdfd8ce75d3c88b -9443fc631aed8866a7ed220890911057a1f56b0afe0ba15f0a0e295ab97f604b134b1ed9a4245e46ee5f9a93aa74f731 -984b6f7d79835dffde9558c6bb912d992ca1180a2361757bdba4a7b69dc74b056e303adc69fe67414495dd9c2dd91e64 -b15a5c8cba5de080224c274d31c68ed72d2a7126d347796569aef0c4e97ed084afe3da4d4b590b9dda1a07f0c2ff3dfb -991708fe9650a1f9a4e43938b91d45dc68c230e05ee999c95dbff3bf79b1c1b2bb0e7977de454237c355a73b8438b1d9 -b4f7edc7468b176a4a7c0273700c444fa95c726af6697028bed4f77eee887e3400f9c42ee15b782c0ca861c4c3b8c98a -8c60dcc16c51087eb477c13e837031d6c6a3dc2b8bf8cb43c23f48006bc7173151807e866ead2234b460c2de93b31956 -83ad63e9c910d1fc44bc114accfb0d4d333b7ebe032f73f62d25d3e172c029d5e34a1c9d547273bf6c0fead5c8801007 -85de73213cc236f00777560756bdbf2b16841ba4b55902cf2cad9742ecaf5d28209b012ceb41f337456dfeca93010cd7 -a7561f8827ccd75b6686ba5398bb8fc3083351c55a589b18984e186820af7e275af04bcd4c28e1dc11be1e8617a0610b -88c0a4febd4068850557f497ea888035c7fc9f404f6cc7794e7cc8722f048ad2f249e7dc62743e7a339eb7473ad3b0cd -932b22b1d3e6d5a6409c34980d176feb85ada1bf94332ef5c9fc4d42b907dabea608ceef9b5595ef3feee195151f18d8 -a2867bb3f5ab88fbdae3a16c9143ab8a8f4f476a2643c505bb9f37e5b1fd34d216cab2204c9a017a5a67b7ad2dda10e8 -b573d5f38e4e9e8a3a6fd82f0880dc049efa492a946d00283019bf1d5e5516464cf87039e80aef667cb86fdea5075904 -b948f1b5ab755f3f5f36af27d94f503b070696d793b1240c1bdfd2e8e56890d69e6904688b5f8ff5a4bdf5a6abfe195f -917eae95ebc4109a2e99ddd8fec7881d2f7aaa0e25fda44dec7ce37458c2ee832f1829db7d2dcfa4ca0f06381c7fe91d -95751d17ed00a3030bce909333799bb7f4ab641acf585807f355b51d6976dceee410798026a1a004ef4dcdff7ec0f5b8 -b9b7bd266f449a79bbfe075e429613e76c5a42ac61f01c8f0bbbd34669650682efe01ff9dbbc400a1e995616af6aa278 -ac1722d097ce9cd7617161f8ec8c23d68f1fb1c9ca533e2a8b4f78516c2fd8fb38f23f834e2b9a03bb06a9d655693ca9 -a7ad9e96ffd98db2ecdb6340c5d592614f3c159abfd832fe27ee9293519d213a578e6246aae51672ee353e3296858873 -989b8814d5de7937c4acafd000eec2b4cd58ba395d7b25f98cafd021e8efa37029b29ad8303a1f6867923f5852a220eb -a5bfe6282c771bc9e453e964042d44eff4098decacb89aecd3be662ea5b74506e1357ab26f3527110ba377711f3c9f41 -8900a7470b656639721d2abbb7b06af0ac4222ab85a1976386e2a62eb4b88bfb5b72cf7921ddb3cf3a395d7eeb192a2e -95a71b55cd1f35a438cf5e75f8ff11c5ec6a2ebf2e4dba172f50bfad7d6d5dca5de1b1afc541662c81c858f7604c1163 -82b5d62fea8db8d85c5bc3a76d68dedd25794cf14d4a7bc368938ffca9e09f7e598fdad2a5aac614e0e52f8112ae62b9 -997173f07c729202afcde3028fa7f52cefc90fda2d0c8ac2b58154a5073140683e54c49ed1f254481070d119ce0ce02a -aeffb91ccc7a72bbd6ffe0f9b99c9e66e67d59cec2e02440465e9636a613ab3017278cfa72ea8bc4aba9a8dc728cb367 -952743b06e8645894aeb6440fc7a5f62dd3acf96dab70a51e20176762c9751ea5f2ba0b9497ccf0114dc4892dc606031 -874c63baeddc56fbbca2ff6031f8634b745f6e34ea6791d7c439201aee8f08ef5ee75f7778700a647f3b21068513fce6 -85128fec9c750c1071edfb15586435cc2f317e3e9a175bb8a9697bcda1eb9375478cf25d01e7fed113483b28f625122d -85522c9576fd9763e32af8495ae3928ed7116fb70d4378448926bc9790e8a8d08f98cf47648d7da1b6e40d6a210c7924 -97d0f37a13cfb723b848099ca1c14d83e9aaf2f7aeb71829180e664b7968632a08f6a85f557d74b55afe6242f2a36e7c -abaa472d6ad61a5fccd1a57c01aa1bc081253f95abbcba7f73923f1f11c4e79b904263890eeb66926de3e2652f5d1c70 -b3c04945ba727a141e5e8aec2bf9aa3772b64d8fd0e2a2b07f3a91106a95cbcb249adcd074cbe498caf76fffac20d4ef -82c46781a3d730d9931bcabd7434a9171372dde57171b6180e5516d4e68db8b23495c8ac3ab96994c17ddb1cf249b9fb -a202d8b65613c42d01738ccd68ed8c2dbc021631f602d53f751966e04182743ebc8e0747d600b8a8676b1da9ae7f11ab -ae73e7256e9459db04667a899e0d3ea5255211fb486d084e6550b6dd64ca44af6c6b2d59d7aa152de9f96ce9b58d940d -b67d87b176a9722945ec7593777ee461809861c6cfd1b945dde9ee4ff009ca4f19cf88f4bbb5c80c9cbab2fe25b23ac8 -8f0b7a317a076758b0dac79959ee4a06c08b07d0f10538a4b53d3da2eda16e2af26922feb32c090330dc4d969cf69bd3 -90b36bf56adbd8c4b6cb32febc3a8d5f714370c2ac3305c10fa6d168dffb2a026804517215f9a2d4ec8310cdb6bb459b -aa80c19b0682ead69934bf18cf476291a0beddd8ef4ed75975d0a472e2ab5c70f119722a8574ae4973aceb733d312e57 -a3fc9abb12574e5c28dcb51750b4339b794b8e558675eef7d26126edf1de920c35e992333bcbffcbf6a5f5c0d383ce62 -a1573ff23ab972acdcd08818853b111fc757fdd35aa070186d3e11e56b172fb49d840bf297ac0dd222e072fc09f26a81 -98306f2be4caa92c2b4392212d0cbf430b409b19ff7d5b899986613bd0e762c909fc01999aa94be3bd529d67f0113d7f -8c1fc42482a0819074241746d17dc89c0304a2acdae8ed91b5009e9e3e70ff725ba063b4a3e68fdce05b74f5180c545e -a6c6113ebf72d8cf3163b2b8d7f3fa24303b13f55752522c660a98cd834d85d8c79214d900fa649499365e2e7641f77a -ab95eea424f8a2cfd9fb1c78bb724e5b1d71a0d0d1e4217c5d0f98b0d8bbd3f8400a2002abc0a0e4576d1f93f46fefad -823c5a4fd8cf4a75fdc71d5f2dd511b6c0f189b82affeacd2b7cfcad8ad1a5551227dcc9bfdb2e34b2097eaa00efbb51 -b97314dfff36d80c46b53d87a61b0e124dc94018a0bb680c32765b9a2d457f833a7c42bbc90b3b1520c33a182580398d -b17566ee3dcc6bb3b004afe4c0136dfe7dd27df9045ae896dca49fb36987501ae069eb745af81ba3fc19ff037e7b1406 -b0bdc0f55cfd98d331e3a0c4fbb776a131936c3c47c6bffdc3aaf7d8c9fa6803fbc122c2fefbb532e634228687d52174 -aa5d9e60cc9f0598559c28bb9bdd52aa46605ab4ffe3d192ba982398e72cec9a2a44c0d0d938ce69935693cabc0887ea -802b6459d2354fa1d56c592ac1346c428dadea6b6c0a87bf7d309bab55c94e1cf31dd98a7a86bd92a840dd51f218b91b -a526914efdc190381bf1a73dd33f392ecf01350b9d3f4ae96b1b1c3d1d064721c7d6eec5788162c933245a3943f5ee51 -b3b8fcf637d8d6628620a1a99dbe619eabb3e5c7ce930d6efd2197e261bf394b74d4e5c26b96c4b8009c7e523ccfd082 -8f7510c732502a93e095aba744535f3928f893f188adc5b16008385fb9e80f695d0435bfc5b91cdad4537e87e9d2551c -97b90beaa56aa936c3ca45698f79273a68dd3ccd0076eab48d2a4db01782665e63f33c25751c1f2e070f4d1a8525bf96 -b9fb798324b1d1283fdc3e48288e3861a5449b2ab5e884b34ebb8f740225324af86e4711da6b5cc8361c1db15466602f -b6d52b53cea98f1d1d4c9a759c25bf9d8a50b604b144e4912acbdbdc32aab8b9dbb10d64a29aa33a4f502121a6fb481c -9174ffff0f2930fc228f0e539f5cfd82c9368d26b074467f39c07a774367ff6cccb5039ac63f107677d77706cd431680 -a33b6250d4ac9e66ec51c063d1a6a31f253eb29bbaed12a0d67e2eccfffb0f3a52750fbf52a1c2aaba8c7692346426e7 -a97025fd5cbcebe8ef865afc39cd3ea707b89d4e765ec817fd021d6438e02fa51e3544b1fd45470c58007a08efac6edd -b32a78480edd9ff6ba2f1eec4088db5d6ceb2d62d7e59e904ecaef7bb4a2e983a4588e51692b3be76e6ffbc0b5f911a5 -b5ab590ef0bb77191f00495b33d11c53c65a819f7d0c1f9dc4a2caa147a69c77a4fff7366a602d743ee1f395ce934c1e -b3fb0842f9441fb1d0ee0293b6efbc70a8f58d12d6f769b12872db726b19e16f0f65efbc891cf27a28a248b0ef9c7e75 -9372ad12856fefb928ccb0d34e198df99e2f8973b07e9d417a3134d5f69e12e79ff572c4e03ccd65415d70639bc7c73e -aa8d6e83d09ce216bfe2009a6b07d0110d98cf305364d5529c170a23e693aabb768b2016befb5ada8dabdd92b4d012bb -a954a75791eeb0ce41c85200c3763a508ed8214b5945a42c79bfdcfb1ec4f86ad1dd7b2862474a368d4ac31911a2b718 -8e2081cfd1d062fe3ab4dab01f68062bac802795545fede9a188f6c9f802cb5f884e60dbe866710baadbf55dc77c11a4 -a2f06003b9713e7dd5929501ed485436b49d43de80ea5b15170763fd6346badf8da6de8261828913ee0dacd8ff23c0e1 -98eecc34b838e6ffd1931ca65eec27bcdb2fdcb61f33e7e5673a93028c5865e0d1bf6d3bec040c5e96f9bd08089a53a4 -88cc16019741b341060b95498747db4377100d2a5bf0a5f516f7dec71b62bcb6e779de2c269c946d39040e03b3ae12b7 -ad1135ccbc3019d5b2faf59a688eef2500697642be8cfbdf211a1ab59abcc1f24483e50d653b55ff1834675ac7b4978f -a946f05ed9972f71dfde0020bbb086020fa35b482cce8a4cc36dd94355b2d10497d7f2580541bb3e81b71ac8bba3c49f -a83aeed488f9a19d8cfd743aa9aa1982ab3723560b1cd337fc2f91ad82f07afa412b3993afb845f68d47e91ba4869840 -95eebe006bfc316810cb71da919e5d62c2cebb4ac99d8e8ef67be420302320465f8b69873470982de13a7c2e23516be9 -a55f8961295a11e91d1e5deadc0c06c15dacbfc67f04ccba1d069cba89d72aa3b3d64045579c3ea8991b150ac29366ae -b321991d12f6ac07a5de3c492841d1a27b0d3446082fbce93e7e1f9e8d8fe3b45d41253556261c21b70f5e189e1a7a6f -a0b0822f15f652ce7962a4f130104b97bf9529797c13d6bd8e24701c213cc37f18157bd07f3d0f3eae6b7cd1cb40401f -96e2fa4da378aa782cc2d5e6e465fc9e49b5c805ed01d560e9b98abb5c0de8b74a2e7bec3aa5e2887d25cccb12c66f0c -97e4ab610d414f9210ed6f35300285eb3ccff5b0b6a95ed33425100d7725e159708ea78704497624ca0a2dcabce3a2f9 -960a375b17bdb325761e01e88a3ea57026b2393e1d887b34b8fa5d2532928079ce88dc9fd06a728b26d2bb41b12b9032 -8328a1647398e832aadc05bd717487a2b6fcdaa0d4850d2c4da230c6a2ed44c3e78ec4837b6094f3813f1ee99414713f -aa283834ebd18e6c99229ce4b401eda83f01d904f250fedd4e24f1006f8fa0712a6a89a7296a9bf2ce8de30e28d1408e -b29e097f2caadae3e0f0ae3473c072b0cd0206cf6d2e9b22c1a5ad3e07d433e32bd09ed1f4e4276a2da4268633357b7f -9539c5cbba14538b2fe077ecf67694ef240da5249950baaabea0340718b882a966f66d97f08556b08a4320ceb2cc2629 -b4529f25e9b42ae8cf8338d2eface6ba5cd4b4d8da73af502d081388135c654c0b3afb3aa779ffc80b8c4c8f4425dd2b -95be0739c4330619fbe7ee2249c133c91d6c07eab846c18c5d6c85fc21ac5528c5d56dcb0145af68ed0c6a79f68f2ccd -ac0c83ea802227bfc23814a24655c9ff13f729619bcffdb487ccbbf029b8eaee709f8bddb98232ef33cd70e30e45ca47 -b503becb90acc93b1901e939059f93e671900ca52c6f64ae701d11ac891d3a050b505d89324ce267bc43ab8275da6ffe -98e3811b55b1bacb70aa409100abb1b870f67e6d059475d9f278c751b6e1e2e2d6f2e586c81a9fb6597fda06e7923274 -b0b0f61a44053fa6c715dbb0731e35d48dba257d134f851ee1b81fd49a5c51a90ebf5459ec6e489fce25da4f184fbdb1 -b1d2117fe811720bb997c7c93fe9e4260dc50fca8881b245b5e34f724aaf37ed970cdad4e8fcb68e05ac8cf55a274a53 -a10f502051968f14b02895393271776dee7a06db9de14effa0b3471825ba94c3f805302bdddac4d397d08456f620999d -a3dbad2ef060ae0bb7b02eaa4a13594f3f900450faa1854fc09620b01ac94ab896321dfb1157cf2374c27e5718e8026a -b550fdec503195ecb9e079dcdf0cad559d64d3c30818ef369b4907e813e689da316a74ad2422e391b4a8c2a2bef25fc0 -a25ba865e2ac8f28186cea497294c8649a201732ecb4620c4e77b8e887403119910423df061117e5f03fc5ba39042db1 -b3f88174e03fdb443dd6addd01303cf88a4369352520187c739fc5ae6b22fa99629c63c985b4383219dab6acc5f6f532 -97a7503248e31e81b10eb621ba8f5210c537ad11b539c96dfb7cf72b846c7fe81bd7532c5136095652a9618000b7f8d3 -a8bcdc1ce5aa8bfa683a2fc65c1e79de8ff5446695dcb8620f7350c26d2972a23da22889f9e2b1cacb3f688c6a2953dc -8458c111df2a37f5dd91a9bee6c6f4b79f4f161c93fe78075b24a35f9817da8dde71763218d627917a9f1f0c4709c1ed -ac5f061a0541152b876cbc10640f26f1cc923c9d4ae1b6621e4bb3bf2cec59bbf87363a4eb72fb0e5b6d4e1c269b52d5 -a9a25ca87006e8a9203cbb78a93f50a36694aa4aad468b8d80d3feff9194455ca559fcc63838128a0ab75ad78c07c13a -a450b85f5dfffa8b34dfd8bc985f921318efacf8857cf7948f93884ba09fb831482ee90a44224b1a41e859e19b74962f -8ed91e7f92f5c6d7a71708b6132f157ac226ecaf8662af7d7468a4fa25627302efe31e4620ad28719318923e3a59bf82 -ab524165fd4c71b1fd395467a14272bd2b568592deafa039d8492e9ef36c6d3f96927c95c72d410a768dc0b6d1fbbc9b -b662144505aa8432c75ffb8d10318526b6d5777ac7af9ebfad87d9b0866c364f7905a6352743bd8fd79ffd9d5dd4f3e6 -a48f1677550a5cd40663bb3ba8f84caaf8454f332d0ceb1d94dbea52d0412fe69c94997f7749929712fd3995298572f7 -8391cd6e2f6b0c242de1117a612be99776c3dc95cb800b187685ea5bf7e2722275eddb79fd7dfc8be8e389c4524cdf70 -875d3acb9af47833b72900bc0a2448999d638f153c5e97e8a14ec02d0c76f6264353a7e275e1f1a5855daced523d243b -91f1823657d30b59b2f627880a9a9cb530f5aca28a9fd217fe6f2f5133690dfe7ad5a897872e400512db2e788b3f7628 -ad3564332aa56cea84123fc7ca79ea70bb4fef2009fa131cb44e4b15e8613bd11ca1d83b9d9bf456e4b7fee9f2e8b017 -8c530b84001936d5ab366c84c0b105241a26d1fb163669f17c8f2e94776895c2870edf3e1bc8ccd04d5e65531471f695 -932d01fa174fdb0c366f1230cffde2571cc47485f37f23ba5a1825532190cc3b722aeb1f15aed62cf83ccae9403ba713 -88b28c20585aca50d10752e84b901b5c2d58efef5131479fbbe53de7bce2029e1423a494c0298e1497669bd55be97a5d -b914148ca717721144ebb3d3bf3fcea2cd44c30c5f7051b89d8001502f3856fef30ec167174d5b76265b55d70f8716b5 -81d0173821c6ddd2a068d70766d9103d1ee961c475156e0cbd67d54e668a796310474ef698c7ab55abe6f2cf76c14679 -8f28e8d78e2fe7fa66340c53718e0db4b84823c8cfb159c76eac032a62fb53da0a5d7e24ca656cf9d2a890cb2a216542 -8a26360335c73d1ab51cec3166c3cf23b9ea51e44a0ad631b0b0329ef55aaae555420348a544e18d5760969281759b61 -94f326a32ed287545b0515be9e08149eb0a565025074796d72387cc3a237e87979776410d78339e23ef3172ca43b2544 -a785d2961a2fa5e70bffa137858a92c48fe749fee91b02599a252b0cd50d311991a08efd7fa5e96b78d07e6e66ffe746 -94af9030b5ac792dd1ce517eaadcec1482206848bea4e09e55cc7f40fd64d4c2b3e9197027c5636b70d6122c51d2235d -9722869f7d1a3992850fe7be405ec93aa17dc4d35e9e257d2e469f46d2c5a59dbd504056c85ab83d541ad8c13e8bcd54 -b13c4088b61a06e2c03ac9813a75ff1f68ffdfee9df6a8f65095179a475e29cc49119cad2ce05862c3b1ac217f3aace9 -8c64d51774753623666b10ca1b0fe63ae42f82ed6aa26b81dc1d48c86937c5772eb1402624c52a154b86031854e1fb9f -b47e4df18002b7dac3fee945bf9c0503159e1b8aafcce2138818e140753011b6d09ef1b20894e08ba3006b093559061b -93cb5970076522c5a0483693f6a35ffd4ea2aa7aaf3730c4eccd6af6d1bebfc1122fc4c67d53898ae13eb6db647be7e2 -a68873ef80986795ea5ed1a597d1cd99ed978ec25e0abb57fdcc96e89ef0f50aeb779ff46e3dce21dc83ada3157a8498 -8cab67f50949cc8eee6710e27358aea373aae3c92849f8f0b5531c080a6300cdf2c2094fe6fecfef6148de0d28446919 -993e932bcb616dbaa7ad18a4439e0565211d31071ef1b85a0627db74a05d978c60d507695eaeea5c7bd9868a21d06923 -acdadff26e3132d9478a818ef770e9fa0d2b56c6f5f48bd3bd674436ccce9bdfc34db884a73a30c04c5f5e9764cb2218 -a0d3e64c9c71f84c0eef9d7a9cb4fa184224b969db5514d678e93e00f98b41595588ca802643ea225512a4a272f5f534 -91c9140c9e1ba6e330cb08f6b2ce4809cd0d5a0f0516f70032bf30e912b0ed684d07b413b326ab531ee7e5b4668c799b -87bc2ee7a0c21ba8334cd098e35cb703f9af57f35e091b8151b9b63c3a5b0f89bd7701dbd44f644ea475901fa6d9ef08 -9325ccbf64bf5d71b303e31ee85d486298f9802c5e55b2c3d75427097bf8f60fa2ab4fcaffa9b60bf922c3e24fbd4b19 -95d0506e898318f3dc8d28d16dfd9f0038b54798838b3c9be2a2ae3c2bf204eb496166353fc042220b0bd4f6673b9285 -811de529416331fe9c416726d45df9434c29dcd7e949045eb15740f47e97dde8f31489242200e19922cac2a8b7c6fd1f -ade632d04a4c8bbab6ca7df370b2213cb9225023e7973f0e29f4f5e52e8aeaabc65171306bbdd12a67b195dfbb96d48f -88b7f029e079b6ae956042c0ea75d53088c5d0efd750dd018adaeacf46be21bf990897c58578c491f41afd3978d08073 -91f477802de507ffd2be3f4319903119225b277ad24f74eb50f28b66c14d32fae53c7edb8c7590704741af7f7f3e3654 -809838b32bb4f4d0237e98108320d4b079ee16ed80c567e7548bd37e4d7915b1192880f4812ac0e00476d246aec1dbc8 -84183b5fc4a7997a8ae5afedb4d21dce69c480d5966b5cbdafd6dd10d29a9a6377f3b90ce44da0eb8b176ac3af0253bb -8508abbf6d3739a16b9165caf0f95afb3b3ac1b8c38d6d374cf0c91296e2c1809a99772492b539cda184510bce8a0271 -8722054e59bab2062e6419a6e45fc803af77fde912ef2cd23055ad0484963de65a816a2debe1693d93c18218d2b8e81a -8e895f80e485a7c4f56827bf53d34b956281cdc74856c21eb3b51f6288c01cc3d08565a11cc6f3e2604775885490e8c5 -afc92714771b7aa6e60f3aee12efd9c2595e9659797452f0c1e99519f67c8bc3ac567119c1ddfe82a3e961ee9defea9a -818ff0fd9cefd32db87b259e5fa32967201016fc02ef44116cdca3c63ce5e637756f60477a408709928444a8ad69c471 -8251e29af4c61ae806fc5d032347fb332a94d472038149225298389495139ce5678fae739d02dfe53a231598a992e728 -a0ea39574b26643f6f1f48f99f276a8a64b5481989cfb2936f9432a3f8ef5075abfe5c067dc5512143ce8bf933984097 -af67a73911b372bf04e57e21f289fc6c3dfac366c6a01409b6e76fea4769bdb07a6940e52e8d7d3078f235c6d2f632c6 -b5291484ef336024dd2b9b4cf4d3a6b751133a40656d0a0825bcc6d41c21b1c79cb50b0e8f4693f90c29c8f4358641f9 -8bc0d9754d70f2cb9c63f991902165a87c6535a763d5eece43143b5064ae0bcdce7c7a8f398f2c1c29167b2d5a3e6867 -8d7faff53579ec8f6c92f661c399614cc35276971752ce0623270f88be937c414eddcb0997e14724a783905a026c8883 -9310b5f6e675fdf60796f814dbaa5a6e7e9029a61c395761e330d9348a7efab992e4e115c8be3a43d08e90d21290c892 -b5eb4f3eb646038ad2a020f0a42202532d4932e766da82b2c1002bf9c9c2e5336b54c8c0ffcc0e02d19dde2e6a35b6cc -91dabfd30a66710f1f37a891136c9be1e23af4abf8cb751f512a40c022a35f8e0a4fb05b17ec36d4208de02d56f0d53a -b3ded14e82d62ac7a5a036122a62f00ff8308498f3feae57d861babaff5a6628d43f0a0c5fc903f10936bcf4e2758ceb -a88e8348fed2b26acca6784d19ef27c75963450d99651d11a950ea81d4b93acd2c43e0ecce100eaf7e78508263d5baf3 -b1f5bbf7c4756877b87bb42163ac570e08c6667c4528bf68b5976680e19beeff7c5effd17009b0718797077e2955457a -ad2e7b516243f915d4d1415326e98b1a7390ae88897d0b03b66c2d9bd8c3fba283d7e8fe44ed3333296a736454cef6d8 -8f82eae096d5b11f995de6724a9af895f5e1c58d593845ad16ce8fcae8507e0d8e2b2348a0f50a1f66a17fd6fac51a5c -890e4404d0657c6c1ee14e1aac132ecf7a568bb3e04137b85ac0f84f1d333bd94993e8750f88eee033a33fb00f85dcc7 -82ac7d3385e035115f1d39a99fc73e5919de44f5e6424579776d118d711c8120b8e5916372c6f27bed4cc64cac170b6c -85ee16d8901c272cfbbe966e724b7a891c1bd5e68efd5d863043ad8520fc409080af61fd726adc680b3f1186fe0ac8b8 -86dc564c9b545567483b43a38f24c41c6551a49cabeebb58ce86404662a12dbfafd0778d30d26e1c93ce222e547e3898 -a29f5b4522db26d88f5f95f18d459f8feefab02e380c2edb65aa0617a82a3c1a89474727a951cef5f15050bcf7b380fb -a1ce039c8f6cac53352899edb0e3a72c76da143564ad1a44858bd7ee88552e2fe6858d1593bbd74aeee5a6f8034b9b9d -97f10d77983f088286bd7ef3e7fdd8fa275a56bec19919adf33cf939a90c8f2967d2b1b6fc51195cb45ad561202a3ed7 -a25e2772e8c911aaf8712bdac1dd40ee061c84d3d224c466cfaae8e5c99604053f940cde259bd1c3b8b69595781dbfec -b31bb95a0388595149409c48781174c340960d59032ab2b47689911d03c68f77a2273576fbe0c2bf4553e330656058c7 -b8b2e9287ad803fb185a13f0d7456b397d4e3c8ad5078f57f49e8beb2e85f661356a3392dbd7bcf6a900baa5582b86a1 -a3d0893923455eb6e96cc414341cac33d2dbc88fba821ac672708cce131761d85a0e08286663a32828244febfcae6451 -82310cb42f647d99a136014a9f881eb0b9791efd2e01fc1841907ad3fc8a9654d3d1dab6689c3607214b4dc2aca01cee -874022d99c16f60c22de1b094532a0bc6d4de700ad01a31798fac1d5088b9a42ad02bef8a7339af7ed9c0d4f16b186ee -94981369e120265aed40910eebc37eded481e90f4596b8d57c3bec790ab7f929784bd33ddd05b7870aad6c02e869603b -a4f1f50e1e2a73f07095e0dd31cb45154f24968dae967e38962341c1241bcd473102fff1ff668b20c6547e9732d11701 -ae2328f3b0ad79fcda807e69a1b5278145225083f150f67511dafc97e079f860c3392675f1752ae7e864c056e592205b -875d8c971e593ca79552c43d55c8c73b17cd20c81ff2c2fed1eb19b1b91e4a3a83d32df150dbfd5db1092d0aebde1e1f -add2e80aa46aae95da73a11f130f4bda339db028e24c9b11e5316e75ba5e63bc991d2a1da172c7c8e8fee038baae3433 -b46dbe1cb3424002aa7de51e82f600852248e251465c440695d52538d3f36828ff46c90ed77fc1d11534fe3c487df8ef -a5e5045d28b4e83d0055863c30c056628c58d4657e6176fd0536f5933f723d60e851bb726d5bf3c546b8ce4ac4a57ef8 -91fec01e86dd1537e498fff7536ea3ca012058b145f29d9ada49370cd7b7193ac380e116989515df1b94b74a55c45df3 -a7428176d6918cd916a310bdc75483c72de660df48cac4e6e7478eef03205f1827ea55afc0df5d5fa7567d14bbea7fc9 -851d89bef45d9761fe5fdb62972209335193610015e16a675149519f9911373bac0919add226ef118d9f3669cfdf4734 -b74acf5c149d0042021cb2422ea022be4c4f72a77855f42393e71ffd12ebb3eec16bdf16f812159b67b79a9706e7156d -99f35dce64ec99aa595e7894b55ce7b5a435851b396e79036ffb249c28206087db4c85379df666c4d95857db02e21ff9 -b6b9a384f70db9e298415b8ab394ee625dafff04be2886476e59df8d052ca832d11ac68a9b93fba7ab055b7bc36948a4 -898ee4aefa923ffec9e79f2219c7389663eb11eb5b49014e04ed4a336399f6ea1691051d86991f4c46ca65bcd4fdf359 -b0f948217b0d65df7599a0ba4654a5e43c84db477936276e6f11c8981efc6eaf14c90d3650107ed4c09af4cc8ec11137 -aa6286e27ac54f73e63dbf6f41865dd94d24bc0cf732262fcaff67319d162bb43af909f6f8ee27b1971939cfbba08141 -8bca7cdf730cf56c7b2c8a2c4879d61361a6e1dba5a3681a1a16c17a56e168ace0e99cf0d15826a1f5e67e6b8a8a049a -a746d876e8b1ce225fcafca603b099b36504846961526589af977a88c60d31ba2cc56e66a3dec8a77b3f3531bf7524c9 -a11e2e1927e6704cdb8874c75e4f1842cef84d7d43d7a38e339e61dc8ba90e61bbb20dd3c12e0b11d2471d58eed245be -a36395e22bc1d1ba8b0459a235203177737397da5643ce54ded3459d0869ff6d8d89f50c73cb62394bf66a959cde9b90 -8b49f12ba2fdf9aca7e5f81d45c07d47f9302a2655610e7634d1e4bd16048381a45ef2c95a8dd5b0715e4b7cf42273af -91cffa2a17e64eb7f76bccbe4e87280ee1dd244e04a3c9eac12e15d2d04845d876eb24fe2ec6d6d266cce9efb281077f -a6b8afabf65f2dee01788114e33a2f3ce25376fb47a50b74da7c3c25ff1fdc8aa9f41307534abbf48acb6f7466068f69 -8d13db896ccfea403bd6441191995c1a65365cab7d0b97fbe9526da3f45a877bd1f4ef2edef160e8a56838cd1586330e -98c717de9e01bef8842c162a5e757fe8552d53269c84862f4d451e7c656ae6f2ae473767b04290b134773f63be6fdb9d -8c2036ace1920bd13cf018e82848c49eb511fad65fd0ff51f4e4b50cf3bfc294afb63cba682c16f52fb595a98fa84970 -a3520fdff05dbad9e12551b0896922e375f9e5589368bcb2cc303bde252743b74460cb5caf99629325d3620f13adc796 -8d4f83a5bfec05caf5910e0ce538ee9816ee18d0bd44c1d0da2a87715a23cd2733ad4d47552c6dc0eb397687d611dd19 -a7b39a0a6a02823452d376533f39d35029867b3c9a6ad6bca181f18c54132d675613a700f9db2440fb1b4fa13c8bf18a -80bcb114b2544b80f404a200fc36860ed5e1ad31fe551acd4661d09730c452831751baa9b19d7d311600d267086a70bc -90dcce03c6f88fc2b08f2b42771eedde90cc5330fe0336e46c1a7d1b5a6c1641e5fcc4e7b3d5db00bd8afca9ec66ed81 -aec15f40805065c98e2965b1ae12a6c9020cfdb094c2d0549acfc7ea2401a5fb48d3ea7d41133cf37c4e096e7ff53eb9 -80e129b735dba49fa627a615d6c273119acec8e219b2f2c4373a332b5f98d66cbbdd688dfbe72a8f8bfefaccc02c50c1 -a9b596da3bdfe23e6799ece5f7975bf7a1979a75f4f546deeaf8b34dfe3e0d623217cb4cf4ccd504cfa3625b88cd53f1 -abcbbb70b16f6e517c0ab4363ab76b46e4ff58576b5f8340e5c0e8cc0e02621b6e23d742d73b015822a238b17cfd7665 -a046937cc6ea6a2e1adae543353a9fe929c1ae4ad655be1cc051378482cf88b041e28b1e9a577e6ccff2d3570f55e200 -831279437282f315e65a60184ef158f0a3dddc15a648dc552bdc88b3e6fe8288d3cfe9f0031846d81350f5e7874b4b33 -993d7916fa213c6d66e7c4cafafc1eaec9a2a86981f91c31eb8a69c5df076c789cbf498a24c84e0ee77af95b42145026 -823907a3b6719f8d49b3a4b7c181bd9bb29fcf842d7c70660c4f351852a1e197ca46cf5e879b47fa55f616fa2b87ce5e -8d228244e26132b234930ee14c75d88df0943cdb9c276a8faf167d259b7efc1beec2a87c112a6c608ad1600a239e9aae -ab6e55766e5bfb0cf0764ed909a8473ab5047d3388b4f46faeba2d1425c4754c55c6daf6ad4751e634c618b53e549529 -ab0cab6860e55a84c5ad2948a7e0989e2b4b1fd637605634b118361497332df32d9549cb854b2327ca54f2bcb85eed8f -b086b349ae03ef34f4b25a57bcaa5d1b29bd94f9ebf87e22be475adfe475c51a1230c1ebe13506cb72c4186192451658 -8a0b49d8a254ca6d91500f449cbbfbb69bb516c6948ac06808c65595e46773e346f97a5ce0ef7e5a5e0de278af22709c -ac49de11edaaf04302c73c578cc0824bdd165c0d6321be1c421c1950e68e4f3589aa3995448c9699e93c6ebae8803e27 -884f02d841cb5d8f4c60d1402469216b114ab4e93550b5bc1431756e365c4f870a9853449285384a6fa49e12ce6dc654 -b75f3a28fa2cc8d36b49130cb7448a23d73a7311d0185ba803ad55c8219741d451c110f48b786e96c728bc525903a54f -80ae04dbd41f4a35e33f9de413b6ad518af0919e5a30cb0fa1b061b260420780bb674f828d37fd3b52b5a31673cbd803 -b9a8011eb5fcea766907029bf743b45262db3e49d24f84503687e838651ed11cb64c66281e20a0ae9f6aa51acc552263 -90bfdd75e2dc9cf013e22a5d55d2d2b8a754c96103a17524488e01206e67f8b6d52b1be8c4e3d5307d4fe06d0e51f54c -b4af353a19b06203a815ec43e79a88578cc678c46f5a954b85bc5c53b84059dddba731f3d463c23bfd5273885c7c56a4 -aa125e96d4553b64f7140e5453ff5d2330318b69d74d37d283e84c26ad672fa00e3f71e530eb7e28be1e94afb9c4612e -a18e060aee3d49cde2389b10888696436bb7949a79ca7d728be6456a356ea5541b55492b2138da90108bd1ce0e6f5524 -93e55f92bdbccc2de655d14b1526836ea2e52dba65eb3f87823dd458a4cb5079bf22ce6ef625cb6d6bfdd0995ab9a874 -89f5a683526b90c1c3ceebbb8dc824b21cff851ce3531b164f6626e326d98b27d3e1d50982e507d84a99b1e04e86a915 -83d1c38800361633a3f742b1cb2bfc528129496e80232611682ddbe403e92c2ac5373aea0bca93ecb5128b0b2b7a719e -8ecba560ac94905e19ce8d9c7af217bf0a145d8c8bd38e2db82f5e94cc3f2f26f55819176376b51f154b4aab22056059 -a7e2a4a002b60291924850642e703232994acb4cfb90f07c94d1e0ecd2257bb583443283c20fc6017c37e6bfe85b7366 -93ed7316fa50b528f1636fc6507683a672f4f4403e55e94663f91221cc198199595bd02eef43d609f451acc9d9b36a24 -a1220a8ebc5c50ceed76a74bc3b7e0aa77f6884c71b64b67c4310ac29ce5526cb8992d6abc13ef6c8413ce62486a6795 -b2f6eac5c869ad7f4a25161d3347093e2f70e66cd925032747e901189355022fab3038bca4d610d2f68feb7e719c110b -b703fa11a4d511ca01c7462979a94acb40b5d933759199af42670eb48f83df202fa0c943f6ab3b4e1cc54673ea3aab1e -b5422912afbfcb901f84791b04f1ddb3c3fbdc76d961ee2a00c5c320e06d3cc5b5909c3bb805df66c5f10c47a292b13d -ad0934368da823302e1ac08e3ede74b05dfdbfffca203e97ffb0282c226814b65c142e6e15ec1e754518f221f01b30f7 -a1dd302a02e37df15bf2f1147efe0e3c06933a5a767d2d030e1132f5c3ce6b98e216b6145eb39e1e2f74e76a83165b8d -a346aab07564432f802ae44738049a36f7ca4056df2d8f110dbe7fef4a3e047684dea609b2d03dc6bf917c9c2a47608f -b96c5f682a5f5d02123568e50f5d0d186e4b2c4c9b956ec7aabac1b3e4a766d78d19bd111adb5176b898e916e49be2aa -8a96676d56876fc85538db2e806e1cba20fd01aeb9fa3cb43ca6ca94a2c102639f65660db330e5d74a029bb72d6a0b39 -ab0048336bd5c3def1a4064eadd49e66480c1f2abb4df46e03afbd8a3342c2c9d74ee35d79f08f4768c1646681440984 -888427bdf76caec90814c57ee1c3210a97d107dd88f7256f14f883ad0f392334b82be11e36dd8bfec2b37935177c7831 -b622b282becf0094a1916fa658429a5292ba30fb48a4c8066ce1ddcefb71037948262a01c95bab6929ed3a76ba5db9fe -b5b9e005c1f456b6a368a3097634fb455723abe95433a186e8278dceb79d4ca2fbe21f8002e80027b3c531e5bf494629 -a3c6707117a1e48697ed41062897f55d8119403eea6c2ee88f60180f6526f45172664bfee96bf61d6ec0b7fbae6aa058 -b02a9567386a4fbbdb772d8a27057b0be210447348efe6feb935ceec81f361ed2c0c211e54787dc617cdffed6b4a6652 -a9b8364e40ef15c3b5902e5534998997b8493064fa2bea99600def58279bb0f64574c09ba11e9f6f669a8354dd79dc85 -9998a2e553a9aa9a206518fae2bc8b90329ee59ab23005b10972712389f2ec0ee746033c733092ffe43d73d33abbb8ef -843a4b34d9039bf79df96d79f2d15e8d755affb4d83d61872daf540b68c0a3888cf8fc00d5b8b247b38524bcb3b5a856 -84f7128920c1b0bb40eee95701d30e6fc3a83b7bb3709f16d97e72acbb6057004ee7ac8e8f575936ca9dcb7866ab45f7 -918d3e2222e10e05edb34728162a899ad5ada0aaa491aeb7c81572a9c0d506e31d5390e1803a91ff3bd8e2bb15d47f31 -9442d18e2489613a7d47bb1cb803c8d6f3259d088cd079460976d87f7905ee07dea8f371b2537f6e1d792d36d7e42723 -b491976970fe091995b2ed86d629126523ccf3e9daf8145302faca71b5a71a5da92e0e05b62d7139d3efac5c4e367584 -aa628006235dc77c14cef4c04a308d66b07ac92d377df3de1a2e6ecfe3144f2219ad6d7795e671e1cb37a3641910b940 -99d386adaea5d4981d7306feecac9a555b74ffdc218c907c5aa7ac04abaead0ec2a8237300d42a3fbc464673e417ceed -8f78e8b1556f9d739648ea3cab9606f8328b52877fe72f9305545a73b74d49884044ba9c1f1c6db7d9b7c7b7c661caba -8fb357ae49932d0babdf74fc7aa7464a65d3b6a2b3acf4f550b99601d3c0215900cfd67f2b6651ef94cfc323bac79fae -9906f2fa25c0290775aa001fb6198113d53804262454ae8b83ef371b5271bde189c0460a645829cb6c59f9ee3a55ce4d -8f4379b3ebb50e052325b27655ca6a82e6f00b87bf0d2b680d205dd2c7afdc9ff32a9047ae71a1cdf0d0ce6b9474d878 -a85534e88c2bd43c043792eaa75e50914b21741a566635e0e107ae857aed0412035f7576cf04488ade16fd3f35fdbb87 -b4ce93199966d3c23251ca7f28ec5af7efea1763d376b0385352ffb2e0a462ef95c69940950278cf0e3dafd638b7bd36 -b10cb3d0317dd570aa73129f4acf63c256816f007607c19b423fb42f65133ce21f2f517e0afb41a5378cccf893ae14d0 -a9b231c9f739f7f914e5d943ed9bff7eba9e2c333fbd7c34eb1648a362ee01a01af6e2f7c35c9fe962b11152cddf35de -99ff6a899e156732937fb81c0cced80ae13d2d44c40ba99ac183aa246103b31ec084594b1b7feb96da58f4be2dd5c0ed -8748d15d18b75ff2596f50d6a9c4ce82f61ecbcee123a6ceae0e43cab3012a29b6f83cf67b48c22f6f9d757c6caf76b2 -b88ab05e4248b7fb634cf640a4e6a945d13e331237410f7217d3d17e3e384ddd48897e7a91e4516f1b9cbd30f35f238b -8d826deaeeb84a3b2d2c04c2300ca592501f992810582d6ae993e0d52f6283a839dba66c6c72278cff5871802b71173b -b36fed027c2f05a5ef625ca00b0364b930901e9e4420975b111858d0941f60e205546474bb25d6bfa6928d37305ae95f -af2fcfc6b87967567e8b8a13a4ed914478185705724e56ce68fb2df6d1576a0cf34a61e880997a0d35dc2c3276ff7501 -ac351b919cd1fbf106feb8af2c67692bfcddc84762d18cea681cfa7470a5644839caace27efee5f38c87d3df306f4211 -8d6665fb1d4d8d1fa23bd9b8a86e043b8555663519caac214d1e3e3effbc6bee7f2bcf21e645f77de0ced279d69a8a8b -a9fc1c2061756b2a1a169c1b149f212ff7f0d2488acd1c5a0197eba793cffa593fc6d1d1b40718aa75ca3ec77eff10e1 -aff64f0fa009c7a6cf0b8d7a22ddb2c8170c3cb3eec082e60d5aadb00b0040443be8936d728d99581e33c22178c41c87 -82e0b181adc5e3b1c87ff8598447260e839d53debfae941ebea38265575546c3a74a14b4325a030833a62ff6c52d9365 -b7ad43cbb22f6f892c2a1548a41dc120ab1f4e1b8dea0cb6272dd9cb02054c542ecabc582f7e16de709d48f5166cae86 -985e0c61094281532c4afb788ecb2dfcba998e974b5d4257a22040a161883908cdd068fe80f8eb49b8953cfd11acf43a -ae46895c6d67ea6d469b6c9c07b9e5d295d9ae73b22e30da4ba2c973ba83a130d7eef39717ec9d0f36e81d56bf742671 -8600177ea1f7e7ef90514b38b219a37dedfc39cb83297e4c7a5b479817ef56479d48cf6314820960c751183f6edf8b0e -b9208ec1c1d7a1e99b59c62d3e4e61dfb706b0e940d09d3abfc3454c19749083260614d89cfd7e822596c3cdbcc6bb95 -a1e94042c796c2b48bc724352d2e9f3a22291d9a34705993357ddb6adabd76da6fc25dac200a8cb0b5bbd99ecddb7af6 -b29c3adedd0bcad8a930625bc4dfdc3552a9afd5ca6dd9c0d758f978068c7982b50b711aa0eb5b97f2b84ee784637835 -af0632a238bb1f413c7ea8e9b4c3d68f2827bd2e38cd56024391fba6446ac5d19a780d0cfd4a78fe497d537b766a591a -aaf6e7f7d54f8ef5e2e45dd59774ecbeecf8683aa70483b2a75be6a6071b5981bbaf1627512a65d212817acdfab2e428 -8c751496065da2e927cf492aa5ca9013b24f861d5e6c24b30bbf52ec5aaf1905f40f9a28175faef283dd4ed4f2182a09 -8952377d8e80a85cf67d6b45499f3bad5fd452ea7bcd99efc1b066c4720d8e5bff1214cea90fd1f972a7f0baac3d29be -a1946ee543d1a6e21f380453be4d446e4130950c5fc3d075794eb8260f6f52d0a795c1ff91d028a648dc1ce7d9ab6b47 -89f3fefe37af31e0c17533d2ca1ce0884cc1dc97c15cbfab9c331b8debd94781c9396abef4bb2f163d09277a08d6adf0 -a2753f1e6e1a154fb117100a5bd9052137add85961f8158830ac20541ab12227d83887d10acf7fd36dcaf7c2596d8d23 -814955b4198933ee11c3883863b06ff98c7eceb21fc3e09df5f916107827ccf3323141983e74b025f46ae00284c9513b -8cc5c6bb429073bfef47cae7b3bfccb0ffa076514d91a1862c6bda4d581e0df87db53cc6c130bf8a7826304960f5a34e -909f22c1f1cdc87f7be7439c831a73484a49acbf8f23d47087d7cf867c64ef61da3bde85dc57d705682b4c3fc710d36e -8048fee7f276fcd504aed91284f28e73693615e0eb3858fa44bcf79d7285a9001c373b3ef71d9a3054817ba293ebe28c -94400e5cf5d2700ca608c5fe35ce14623f71cc24959f2bc27ca3684092850f76b67fb1f07ca9e5b2ca3062cf8ad17bd4 -81c2ae7d4d1b17f8b6de6a0430acc0d58260993980fe48dc2129c4948269cdc74f9dbfbf9c26b19360823fd913083d48 -8c41fe765128e63f6889d6a979f6a4342300327c8b245a8cfe3ecfbcac1e09c3da30e2a1045b24b78efc6d6d50c8c6ac -a5dd4ae51ae48c8be4b218c312ade226cffce671cf121cb77810f6c0990768d6dd767badecb5c69921d5574d5e8433d3 -b7642e325f4ba97ae2a39c1c9d97b35aafd49d53dba36aed3f3cb0ca816480b3394079f46a48252d46596559c90f4d58 -ae87375b40f35519e7bd4b1b2f73cd0b329b0c2cb9d616629342a71c6c304338445eda069b78ea0fbe44087f3de91e09 -b08918cb6f736855e11d3daca1ddfbdd61c9589b203b5493143227bf48e2c77c2e8c94b0d1aa2fab2226e0eae83f2681 -ac36b84a4ac2ebd4d6591923a449c564e3be8a664c46092c09e875c2998eba16b5d32bfd0882fd3851762868e669f0b1 -a44800a3bb192066fa17a3f29029a23697240467053b5aa49b9839fb9b9b8b12bcdcbfc557f024b61f4f51a9aacdefcb -9064c688fec23441a274cdf2075e5a449caf5c7363cc5e8a5dc9747183d2e00a0c69f2e6b3f6a7057079c46014c93b3b -aa367b021469af9f5b764a79bb3afbe2d87fe1e51862221672d1a66f954b165778b7c27a705e0f93841fab4c8468344d -a1a8bfc593d4ab71f91640bc824de5c1380ab2591cfdafcbc78a14b32de3c0e15f9d1b461d85c504baa3d4232c16bb53 -97df48da1799430f528184d30b6baa90c2a2f88f34cdfb342d715339c5ebd6d019aa693cea7c4993daafc9849063a3aa -abd923831fbb427e06e0dd335253178a9e5791395c84d0ab1433c07c53c1209161097e9582fb8736f8a60bde62d8693e -84cd1a43f1a438b43dc60ffc775f646937c4f6871438163905a3cebf1115f814ccd38a6ccb134130bff226306e412f32 -91426065996b0743c5f689eb3ca68a9f7b9e4d01f6c5a2652b57fa9a03d8dc7cd4bdbdab0ca5a891fee1e97a7f00cf02 -a4bee50249db3df7fd75162b28f04e57c678ba142ce4d3def2bc17bcb29e4670284a45f218dad3969af466c62a903757 -83141ebcc94d4681404e8b67a12a46374fded6df92b506aff3490d875919631408b369823a08b271d006d5b93136f317 -a0ea1c8883d58d5a784da3d8c8a880061adea796d7505c1f903d07c287c5467f71e4563fc0faafbc15b5a5538b0a7559 -89d9d480574f201a87269d26fb114278ed2c446328df431dc3556e3500e80e4cd01fcac196a2459d8646361ebda840df -8bf302978973632dd464bec819bdb91304712a3ec859be071e662040620422c6e75eba6f864f764cffa2799272efec39 -922f666bc0fd58b6d7d815c0ae4f66d193d32fc8382c631037f59eeaeae9a8ca6c72d08e72944cf9e800b8d639094e77 -81ad8714f491cdff7fe4399f2eb20e32650cff2999dd45b9b3d996d54a4aba24cc6c451212e78c9e5550368a1a38fb3f -b58fcf4659d73edb73175bd9139d18254e94c3e32031b5d4b026f2ed37aa19dca17ec2eb54c14340231615277a9d347e -b365ac9c2bfe409b710928c646ea2fb15b28557e0f089d39878e365589b9d1c34baf5566d20bb28b33bb60fa133f6eff -8fcae1d75b53ab470be805f39630d204853ca1629a14158bac2f52632277d77458dec204ff84b7b2d77e641c2045be65 -a03efa6bebe84f4f958a56e2d76b5ba4f95dd9ed7eb479edc7cc5e646c8d4792e5b0dfc66cc86aa4b4afe2f7a4850760 -af1c823930a3638975fb0cc5c59651771b2719119c3cd08404fbd4ce77a74d708cefbe3c56ea08c48f5f10e6907f338f -8260c8299b17898032c761c325ac9cabb4c5b7e735de81eacf244f647a45fb385012f4f8df743128888c29aefcaaad16 -ab2f37a573c82e96a8d46198691cd694dfa860615625f477e41f91b879bc58a745784fccd8ffa13065834ffd150d881d -986c746c9b4249352d8e5c629e8d7d05e716b3c7aab5e529ca969dd1e984a14b5be41528baef4c85d2369a42d7209216 -b25e32da1a8adddf2a6080725818b75bc67240728ad1853d90738485d8924ea1e202df0a3034a60ffae6f965ec55cf63 -a266e627afcebcefea6b6b44cbc50f5c508f7187e87d047b0450871c2a030042c9e376f3ede0afcf9d1952f089582f71 -86c3bbca4c0300606071c0a80dbdec21ce1dd4d8d4309648151c420854032dff1241a1677d1cd5de4e4de4385efda986 -b9a21a1fe2d1f3273a8e4a9185abf2ff86448cc98bfa435e3d68306a2b8b4a6a3ea33a155be3cb62a2170a86f77679a5 -b117b1ea381adce87d8b342cba3a15d492ff2d644afa28f22424cb9cbc820d4f7693dfc1a4d1b3697046c300e1c9b4c8 -9004c425a2e68870d6c69b658c344e3aa3a86a8914ee08d72b2f95c2e2d8a4c7bb0c6e7e271460c0e637cec11117bf8e -86a18aa4783b9ebd9131580c8b17994825f27f4ac427b0929a1e0236907732a1c8139e98112c605488ee95f48bbefbfc -84042243b955286482ab6f0b5df4c2d73571ada00716d2f737ca05a0d2e88c6349e8ee9e67934cfee4a1775dbf7f4800 -92c2153a4733a62e4e1d5b60369f3c26777c7d01cd3c8679212660d572bd3bac9b8a8a64e1f10f7dbf5eaa7579c4e423 -918454b6bb8e44a2afa144695ba8d48ae08d0cdfef4ad078f67709eddf3bb31191e8b006f04e82ea45a54715ef4d5817 -acf0b54f6bf34cf6ed6c2b39cf43194a40d68de6bcf1e4b82c34c15a1343e9ac3737885e1a30b78d01fa3a5125463db8 -a7d60dbe4b6a7b054f7afe9ee5cbbfeca0d05dc619e6041fa2296b549322529faddb8a11e949562309aecefb842ac380 -91ffb53e6d7e5f11159eaf13e783d6dbdfdb1698ed1e6dbf3413c6ea23492bbb9e0932230a9e2caac8fe899a17682795 -b6e8d7be5076ee3565d5765a710c5ecf17921dd3cf555c375d01e958a365ae087d4a88da492a5fb81838b7b92bf01143 -a8c6b763de2d4b2ed42102ef64eccfef31e2fb2a8a2776241c82912fa50fc9f77f175b6d109a97ede331307c016a4b1a -99839f86cb700c297c58bc33e28d46b92931961548deac29ba8df91d3e11721b10ea956c8e16984f9e4acf1298a79b37 -8c2e2c338f25ea5c25756b7131cde0d9a2b35abf5d90781180a00fe4b8e64e62590dc63fe10a57fba3a31c76d784eb01 -9687d7df2f41319ca5469d91978fed0565a5f11f829ebadaa83db92b221755f76c6eacd7700735e75c91e257087512e3 -8795fdfb7ff8439c58b9bf58ed53873d2780d3939b902b9ddaaa4c99447224ced9206c3039a23c2c44bcc461e2bb637f -a803697b744d2d087f4e2307218d48fa88620cf25529db9ce71e2e3bbcc65bac5e8bb9be04777ef7bfb5ed1a5b8e6170 -80f3d3efbbb9346ddd413f0a8e36b269eb5d7ff6809d5525ff9a47c4bcab2c01b70018b117f6fe05253775612ff70c6b -9050e0e45bcc83930d4c505af35e5e4d7ca01cd8681cba92eb55821aececcebe32bb692ebe1a4daac4e7472975671067 -8d206812aac42742dbaf233e0c080b3d1b30943b54b60283515da005de05ea5caa90f91fedcfcba72e922f64d7040189 -a2d44faaeb2eff7915c83f32b13ca6f31a6847b1c1ce114ea240bac3595eded89f09b2313b7915ad882292e2b586d5b4 -961776c8576030c39f214ea6e0a3e8b3d32f023d2600958c098c95c8a4e374deeb2b9dc522adfbd6bda5949bdc09e2a2 -993fa7d8447407af0fbcd9e6d77f815fa5233ab00674efbcf74a1f51c37481445ae291cc7b76db7c178f9cb0e570e0fc -abd5b1c78e05f9d7c8cc99bdaef8b0b6a57f2daf0f02bf492bec48ea4a27a8f1e38b5854da96efff11973326ff980f92 -8f15af4764bc275e6ccb892b3a4362cacb4e175b1526a9a99944e692fe6ccb1b4fc19abf312bb2a089cb1f344d91a779 -a09b27ccd71855512aba1d0c30a79ffbe7f6707a55978f3ced50e674b511a79a446dbc6d7946add421ce111135a460af -94b2f98ce86a9271fbd4153e1fc37de48421fe3490fb3840c00f2d5a4d0ba8810c6a32880b002f6374b59e0a7952518b -8650ac644f93bbcb88a6a0f49fee2663297fd4bc6fd47b6a89b9d8038d32370438ab3a4775ec9b58cb10aea8a95ef7b6 -95e5c2f2e84eed88c6980bbba5a1c0bb375d5a628bff006f7516d45bb7d723da676add4fdd45956f312e7bab0f052644 -b3278a3fa377ac93af7cfc9453f8cb594aae04269bbc99d2e0e45472ff4b6a2f97a26c4c57bf675b9d86f5e77a5d55d1 -b4bcbe6eb666a206e2ea2f877912c1d3b5bdbd08a989fc4490eb06013e1a69ad1ba08bcdac048bf29192312be399077b -a76d70b78c99fffcbf9bb9886eab40f1ea4f99a309710b660b64cbf86057cbcb644d243f6e341711bb7ef0fedf0435a7 -b2093c1ee945dca7ac76ad5aed08eae23af31dd5a77c903fd7b6f051f4ab84425d33a03c3d45bf2907bc93c02d1f3ad8 -904b1f7534e053a265b22d20be859912b9c9ccb303af9a8d6f1d8f6ccdc5c53eb4a45a1762b880d8444d9be0cd55e7f9 -8f664a965d65bc730c9ef1ec7467be984d4b8eb46bd9b0d64e38e48f94e6e55dda19aeac82cbcf4e1473440e64c4ca18 -8bcee65c4cc7a7799353d07b114c718a2aae0cd10a3f22b7eead5185d159dafd64852cb63924bf87627d176228878bce -8c78f2e3675096fef7ebaa898d2615cd50d39ca3d8f02b9bdfb07e67da648ae4be3da64838dffc5935fd72962c4b96c7 -8c40afd3701629421fec1df1aac4e849384ef2e80472c0e28d36cb1327acdf2826f99b357f3d7afdbc58a6347fc40b3c -a197813b1c65a8ea5754ef782522a57d63433ef752215ecda1e7da76b0412ee619f58d904abd2e07e0c097048b6ae1dd -a670542629e4333884ad7410f9ea3bd6f988df4a8f8a424ca74b9add2312586900cf9ae8bd50411f9146e82626b4af56 -a19875cc07ab84e569d98b8b67fb1dbbdfb59093c7b748fae008c8904a6fd931a63ca8d03ab5fea9bc8d263568125a9b -b57e7f68e4eb1bd04aafa917b1db1bdab759a02aa8a9cdb1cba34ba8852b5890f655645c9b4e15d5f19bf37e9f2ffe9f -8abe4e2a4f6462b6c64b3f10e45db2a53c2b0d3c5d5443d3f00a453e193df771eda635b098b6c8604ace3557514027af -8459e4fb378189b22b870a6ef20183deb816cefbf66eca1dc7e86d36a2e011537db893729f500dc154f14ce24633ba47 -930851df4bc7913c0d8c0f7bd3b071a83668987ed7c397d3d042fdc0d9765945a39a3bae83da9c88cb6b686ed8aeeb26 -8078c9e5cd05e1a8c932f8a1d835f61a248b6e7133fcbb3de406bf4ffc0e584f6f9f95062740ba6008d98348886cf76b -addff62bb29430983fe578e3709b0949cdc0d47a13a29bc3f50371a2cb5c822ce53e2448cfaa01bcb6e0aa850d5a380e -9433add687b5a1e12066721789b1db2edf9b6558c3bdc0f452ba33b1da67426abe326e9a34d207bfb1c491c18811bde1 -822beda3389963428cccc4a2918fa9a8a51cf0919640350293af70821967108cded5997adae86b33cb917780b097f1ca -a7a9f52bda45e4148ed56dd176df7bd672e9b5ed18888ccdb405f47920fdb0844355f8565cefb17010b38324edd8315f -b35c3a872e18e607b2555c51f9696a17fa18da1f924d503b163b4ec9fe22ed0c110925275cb6c93ce2d013e88f173d6a -adf34b002b2b26ab84fc1bf94e05bd8616a1d06664799ab149363c56a6e0c807fdc473327d25632416e952ea327fcd95 -ae4a6b9d22a4a3183fac29e2551e1124a8ce4a561a9a2afa9b23032b58d444e6155bb2b48f85c7b6d70393274e230db7 -a2ea3be4fc17e9b7ce3110284038d46a09e88a247b6971167a7878d9dcf36925d613c382b400cfa4f37a3ebea3699897 -8e5863786b641ce3140fbfe37124d7ad3925472e924f814ebfc45959aaf3f61dc554a597610b5defaecc85b59a99b50f -aefde3193d0f700d0f515ab2aaa43e2ef1d7831c4f7859f48e52693d57f97fa9e520090f3ed700e1c966f4b76048e57f -841a50f772956622798e5cd208dc7534d4e39eddee30d8ce133383d66e5f267e389254a0cdae01b770ecd0a9ca421929 -8fbc2bfd28238c7d47d4c03b1b910946c0d94274a199575e5b23242619b1de3497784e646a92aa03e3e24123ae4fcaba -926999579c8eec1cc47d7330112586bdca20b4149c8b2d066f527c8b9f609e61ce27feb69db67eea382649c6905efcf9 -b09f31f305efcc65589adf5d3690a76cf339efd67cd43a4e3ced7b839507466e4be72dd91f04e89e4bbef629d46e68c0 -b917361f6b95f759642638e0b1d2b3a29c3bdef0b94faa30de562e6078c7e2d25976159df3edbacbf43614635c2640b4 -8e7e8a1253bbda0e134d62bfe003a2669d471b47bd2b5cde0ff60d385d8e62279d54022f5ac12053b1e2d3aaa6910b4c -b69671a3c64e0a99d90b0ed108ce1912ff8ed983e4bddd75a370e9babde25ee1f5efb59ec707edddd46793207a8b1fe7 -910b2f4ebd37b7ae94108922b233d0920b4aba0bd94202c70f1314418b548d11d8e9caa91f2cd95aff51b9432d122b7f -82f645c90dfb52d195c1020346287c43a80233d3538954548604d09fbab7421241cde8593dbc4acc4986e0ea39a27dd9 -8fee895f0a140d88104ce442fed3966f58ff9d275e7373483f6b4249d64a25fb5374bbdc6bce6b5ab0270c2847066f83 -84f5bd7aab27b2509397aeb86510dd5ac0a53f2c8f73799bf720f2f87a52277f8d6b0f77f17bc80739c6a7119b7eb062 -9903ceced81099d7e146e661bcf01cbaccab5ba54366b85e2177f07e2d8621e19d9c9c3eee14b9266de6b3f9b6ea75ae -b9c16ea2a07afa32dd6c7c06df0dec39bca2067a9339e45475c98917f47e2320f6f235da353fd5e15b477de97ddc68dd -9820a9bbf8b826bec61ebf886de2c4f404c1ebdc8bab82ee1fea816d9de29127ce1852448ff717a3fe8bbfe9e92012e5 -817224d9359f5da6f2158c2c7bf9165501424f063e67ba9859a07ab72ee2ee62eb00ca6da821cfa19065c3282ca72c74 -94b95c465e6cb00da400558a3c60cfec4b79b27e602ca67cbc91aead08de4b6872d8ea096b0dc06dca4525c8992b8547 -a2b539a5bccd43fa347ba9c15f249b417997c6a38c63517ca38394976baa08e20be384a360969ff54e7e721db536b3e5 -96caf707e34f62811ee8d32ccf28d8d6ec579bc33e424d0473529af5315c456fd026aa910c1fed70c91982d51df7d3ca -8a77b73e890b644c6a142bdbac59b22d6a676f3b63ddafb52d914bb9d395b8bf5aedcbcc90429337df431ebd758a07a6 -8857830a7351025617a08bc44caec28d2fae07ebf5ffc9f01d979ce2a53839a670e61ae2783e138313929129790a51a1 -aa3e420321ed6f0aa326d28d1a10f13facec6f605b6218a6eb9cbc074801f3467bf013a456d1415a5536f12599efa3d3 -824aed0951957b00ea2f3d423e30328a3527bf6714cf9abbae84cf27e58e5c35452ba89ccc011de7c68c75d6e021d8f1 -a2e87cc06bf202e953fb1081933d8b4445527dde20e38ed1a4f440144fd8fa464a2b73e068b140562e9045e0f4bd3144 -ae3b8f06ad97d7ae3a5e5ca839efff3e4824dc238c0c03fc1a8d2fc8aa546cdfd165b784a31bb4dec7c77e9305b99a4b -b30c3e12395b1fb8b776f3ec9f87c70e35763a7b2ddc68f0f60a4982a84017f27c891a98561c830038deb033698ed7fc -874e507757cd1177d0dff0b0c62ce90130324442a33da3b2c8ee09dbca5d543e3ecfe707e9f1361e7c7db641c72794bb -b53012dd10b5e7460b57c092eaa06d6502720df9edbbe3e3f61a9998a272bf5baaac4a5a732ad4efe35d6fac6feca744 -85e6509d711515534d394e6cacbed6c81da710074d16ef3f4950bf2f578d662a494d835674f79c4d6315bced4defc5f0 -b6132b2a34b0905dcadc6119fd215419a7971fe545e52f48b768006944b4a9d7db1a74b149e2951ea48c083b752d0804 -989867da6415036d19b4bacc926ce6f4df7a556f50a1ba5f3c48eea9cefbb1c09da81481c8009331ee83f0859185e164 -960a6c36542876174d3fbc1505413e29f053ed87b8d38fef3af180491c7eff25200b45dd5fe5d4d8e63c7e8c9c00f4c8 -9040b59bd739d9cc2e8f6e894683429e4e876a8106238689ff4c22770ae5fdae1f32d962b30301fa0634ee163b524f35 -af3fcd0a45fe9e8fe256dc7eab242ef7f582dd832d147444483c62787ac820fafc6ca55d639a73f76bfa5e7f5462ab8f -b934c799d0736953a73d91e761767fdb78454355c4b15c680ce08accb57ccf941b13a1236980001f9e6195801cffd692 -8871e8e741157c2c326b22cf09551e78da3c1ec0fc0543136f581f1550f8bab03b0a7b80525c1e99812cdbf3a9698f96 -a8a977f51473a91d178ee8cfa45ffef8d6fd93ab1d6e428f96a3c79816d9c6a93cd70f94d4deda0125fd6816e30f3bea -a7688b3b0a4fc1dd16e8ba6dc758d3cfe1b7cf401c31739484c7fa253cce0967df1b290769bcefc9d23d3e0cb19e6218 -8ae84322662a57c6d729e6ff9d2737698cc2da2daeb1f39e506618750ed23442a6740955f299e4a15dda6db3e534d2c6 -a04a961cdccfa4b7ef83ced17ab221d6a043b2c718a0d6cc8e6f798507a31f10bf70361f70a049bc8058303fa7f96864 -b463e39732a7d9daec8a456fb58e54b30a6e160aa522a18b9a9e836488cce3342bcbb2e1deab0f5e6ec0a8796d77197d -b1434a11c6750f14018a2d3bcf94390e2948f4f187e93bb22070ca3e5393d339dc328cbfc3e48815f51929465ffe7d81 -84ff81d73f3828340623d7e3345553610aa22a5432217ef0ebd193cbf4a24234b190c65ca0873c22d10ea7b63bd1fbed -b6fe2723f0c47757932c2ddde7a4f8434f665612f7b87b4009c2635d56b6e16b200859a8ade49276de0ef27a2b6c970a -9742884ed7cd52b4a4a068a43d3faa02551a424136c85a9313f7cb58ea54c04aa83b0728fd741d1fe39621e931e88f8f -b7d2d65ea4d1ad07a5dee39e40d6c03a61264a56b1585b4d76fc5b2a68d80a93a42a0181d432528582bf08d144c2d6a9 -88c0f66bada89f8a43e5a6ead2915088173d106c76f724f4a97b0f6758aed6ae5c37c373c6b92cdd4aea8f6261f3a374 -81f9c43582cb42db3900747eb49ec94edb2284999a499d1527f03315fd330e5a509afa3bff659853570e9886aab5b28b -821f9d27d6beb416abf9aa5c79afb65a50ed276dbda6060103bc808bcd34426b82da5f23e38e88a55e172f5c294b4d40 -8ba307b9e7cb63a6c4f3851b321aebfdb6af34a5a4c3bd949ff7d96603e59b27ff4dc4970715d35f7758260ff942c9e9 -b142eb6c5f846de33227d0bda61d445a7c33c98f0a8365fe6ab4c1fabdc130849be597ef734305894a424ea715372d08 -a732730ae4512e86a741c8e4c87fee8a05ee840fec0e23b2e037d58dba8dde8d10a9bc5191d34d00598941becbbe467f -adce6f7c30fd221f6b10a0413cc76435c4bb36c2d60bca821e5c67409fe9dbb2f4c36ef85eb3d734695e4be4827e9fd3 -a74f00e0f9b23aff7b2527ce69852f8906dab9d6abe62ecd497498ab21e57542e12af9918d4fd610bb09e10b0929c510 -a593b6b0ef26448ce4eb3ab07e84238fc020b3cb10d542ff4b16d4e2be1bcde3797e45c9cf753b8dc3b0ffdb63984232 -aed3913afccf1aa1ac0eb4980eb8426d0baccebd836d44651fd72af00d09fac488a870223c42aca3ceb39752070405ae -b2c44c66a5ea7fde626548ba4cef8c8710191343d3dadfd3bb653ce715c0e03056a5303a581d47dde66e70ea5a2d2779 -8e5029b2ccf5128a12327b5103f7532db599846e422531869560ceaff392236434d87159f597937dbf4054f810c114f4 -82beed1a2c4477e5eb39fc5b0e773b30cfec77ef2b1bf17eadaf60eb35b6d0dd9d8cf06315c48d3546badb3f21cd0cca -90077bd6cc0e4be5fff08e5d07a5a158d36cebd1d1363125bc4fae0866ffe825b26f933d4ee5427ba5cd0c33c19a7b06 -a7ec0d8f079970e8e34f0ef3a53d3e0e45428ddcef9cc776ead5e542ef06f3c86981644f61c5a637e4faf001fb8c6b3e -ae6d4add6d1a6f90b22792bc9d40723ee6850c27d0b97eefafd5b7fd98e424aa97868b5287cc41b4fbd7023bca6a322c -831aa917533d077da07c01417feaa1408846363ba2b8d22c6116bb858a95801547dd88b7d7fa1d2e3f0a02bdeb2e103d -96511b860b07c8a5ed773f36d4aa9d02fb5e7882753bf56303595bcb57e37ccc60288887eb83bef08c657ec261a021a2 -921d2a3e7e9790f74068623de327443666b634c8443aba80120a45bba450df920b2374d96df1ce3fb1b06dd06f8cf6e3 -aa74451d51fe82b4581ead8e506ec6cd881010f7e7dd51fc388eb9a557db5d3c6721f81c151d08ebd9c2591689fbc13e -a972bfbcf4033d5742d08716c927c442119bdae336bf5dff914523b285ccf31953da2733759aacaa246a9af9f698342c -ad1fcd0cae0e76840194ce4150cb8a56ebed728ec9272035f52a799d480dfc85840a4d52d994a18b6edb31e79be6e8ad -a2c69fe1d36f235215432dad48d75887a44c99dfa0d78149acc74087da215a44bdb5f04e6eef88ff7eff80a5a7decc77 -a94ab2af2b6ee1bc6e0d4e689ca45380d9fbd3c5a65b9bd249d266a4d4c07bf5d5f7ef2ae6000623aee64027892bf8fe -881ec1fc514e926cdc66480ac59e139148ff8a2a7895a49f0dff45910c90cdda97b66441a25f357d6dd2471cddd99bb3 -884e6d3b894a914c8cef946a76d5a0c8351843b2bffa2d1e56c6b5b99c84104381dd1320c451d551c0b966f4086e60f9 -817c6c10ce2677b9fc5223500322e2b880583254d0bb0d247d728f8716f5e05c9ff39f135854342a1afecd9fbdcf7c46 -aaf4a9cb686a14619aa1fc1ac285dd3843ac3dd99f2b2331c711ec87b03491c02f49101046f3c5c538dc9f8dba2a0ac2 -97ecea5ce53ca720b5d845227ae61d70269a2f53540089305c86af35f0898bfd57356e74a8a5e083fa6e1ea70080bd31 -a22d811e1a20a75feac0157c418a4bfe745ccb5d29466ffa854dca03e395b6c3504a734341746b2846d76583a780b32e -940cbaa0d2b2db94ae96b6b9cf2deefbfd059e3e5745de9aec4a25f0991b9721e5cd37ef71c631575d1a0c280b01cd5b -ae33cb4951191258a11044682de861bf8d92d90ce751b354932dd9f3913f542b6a0f8a4dc228b3cd9244ac32c4582832 -a580df5e58c4274fe0f52ac2da1837e32f5c9db92be16c170187db4c358f43e5cfdda7c5911dcc79d77a5764e32325f5 -81798178cb9d8affa424f8d3be67576ba94d108a28ccc01d330c51d5a63ca45bb8ca63a2f569b5c5fe1303cecd2d777f -89975b91b94c25c9c3660e4af4047a8bacf964783010820dbc91ff8281509379cb3b24c25080d5a01174dd9a049118d5 -a7327fcb3710ed3273b048650bde40a32732ef40a7e58cf7f2f400979c177944c8bc54117ba6c80d5d4260801dddab79 -92b475dc8cb5be4b90c482f122a51bcb3b6c70593817e7e2459c28ea54a7845c50272af38119406eaadb9bcb993368d0 -9645173e9ecefc4f2eae8363504f7c0b81d85f8949a9f8a6c01f2d49e0a0764f4eacecf3e94016dd407fc14494fce9f9 -9215fd8983d7de6ae94d35e6698226fc1454977ae58d42d294be9aad13ac821562ad37d5e7ee5cdfe6e87031d45cd197 -810360a1c9b88a9e36f520ab5a1eb8bed93f52deefbe1312a69225c0a08edb10f87cc43b794aced9c74220cefcc57e7d -ad7e810efd61ed4684aeda9ed8bb02fb9ae4b4b63fda8217d37012b94ff1b91c0087043bfa4e376f961fff030c729f3b -8b07c95c6a06db8738d10bb03ec11b89375c08e77f0cab7e672ce70b2685667ca19c7e1c8b092821d31108ea18dfd4c7 -968825d025ded899ff7c57245250535c732836f7565eab1ae23ee7e513201d413c16e1ba3f5166e7ac6cf74de8ceef4f -908243370c5788200703ade8164943ad5f8c458219186432e74dbc9904a701ea307fd9b94976c866e6c58595fd891c4b -959969d16680bc535cdc6339e6186355d0d6c0d53d7bbfb411641b9bf4b770fd5f575beef5deec5c4fa4d192d455c350 -ad177f4f826a961adeac76da40e2d930748effff731756c797eddc4e5aa23c91f070fb69b19221748130b0961e68a6bb -82f8462bcc25448ef7e0739425378e9bb8a05e283ce54aae9dbebaf7a3469f57833c9171672ad43a79778366c72a5e37 -a28fb275b1845706c2814d9638573e9bc32ff552ebaed761fe96fdbce70395891ca41c400ae438369264e31a2713b15f -8a9c613996b5e51dadb587a787253d6081ea446bf5c71096980bf6bd3c4b69905062a8e8a3792de2d2ece3b177a71089 -8d5aefef9f60cb27c1db2c649221204dda48bb9bf8bf48f965741da051340e8e4cab88b9d15c69f3f84f4c854709f48a -93ebf2ca6ad85ab6deace6de1a458706285b31877b1b4d7dcb9d126b63047efaf8c06d580115ec9acee30c8a7212fa55 -b3ee46ce189956ca298057fa8223b7fd1128cf52f39159a58bca03c71dd25161ac13f1472301f72aef3e1993fe1ab269 -a24d7a8d066504fc3f5027ccb13120e2f22896860e02c45b5eba1dbd512d6a17c28f39155ea581619f9d33db43a96f92 -ae9ceacbfe12137db2c1a271e1b34b8f92e4816bad1b3b9b6feecc34df0f8b3b0f7ed0133acdf59c537d43d33fc8d429 -83967e69bf2b361f86361bd705dce0e1ad26df06da6c52b48176fe8dfcbeb03c462c1a4c9e649eff8c654b18c876fdef -9148e6b814a7d779c19c31e33a068e97b597de1f8100513db3c581190513edc4d544801ce3dd2cf6b19e0cd6daedd28a -94ccdafc84920d320ed22de1e754adea072935d3c5f8c2d1378ebe53d140ea29853f056fb3fb1e375846061a038cc9bc -afb43348498c38b0fa5f971b8cdd3a62c844f0eb52bc33daf2f67850af0880fce84ecfb96201b308d9e6168a0d443ae3 -86d5736520a83538d4cd058cc4b4e84213ed00ebd6e7af79ae787adc17a92ba5359e28ba6c91936d967b4b28d24c3070 -b5210c1ff212c5b1e9ef9126e08fe120a41e386bb12c22266f7538c6d69c7fd8774f11c02b81fd4e88f9137b020801fe -b78cfd19f94d24e529d0f52e18ce6185cb238edc6bd43086270fd51dd99f664f43dd4c7d2fe506762fbd859028e13fcf -a6e7220598c554abdcc3fdc587b988617b32c7bb0f82c06205467dbedb58276cc07cae317a190f19d19078773f4c2bbb -b88862809487ee430368dccd85a5d72fa4d163ca4aad15c78800e19c1a95be2192719801e315d86cff7795e0544a77e4 -87ecb13a03921296f8c42ceb252d04716f10e09c93962239fcaa0a7fef93f19ab3f2680bc406170108bc583e9ff2e721 -a810cd473832b6581c36ec4cb403f2849357ba2d0b54df98ef3004b8a530c078032922a81d40158f5fb0043d56477f6e -a247b45dd85ca7fbb718b328f30a03f03c84aef2c583fbdc9fcc9eb8b52b34529e8c8f535505c10598b1b4dac3d7c647 -96ee0b91313c68bac4aa9e065ce9e1d77e51ca4cff31d6a438718c58264dee87674bd97fc5c6b8008be709521e4fd008 -837567ad073e42266951a9a54750919280a2ac835a73c158407c3a2b1904cf0d17b7195a393c71a18ad029cbd9cf79ee -a6a469c44b67ebf02196213e7a63ad0423aab9a6e54acc6fcbdbb915bc043586993454dc3cd9e4be8f27d67c1050879b -8712d380a843b08b7b294f1f06e2f11f4ad6bcc655fdde86a4d8bc739c23916f6fad2b902fe47d6212f03607907e9f0e -920adfb644b534789943cdae1bdd6e42828dda1696a440af2f54e6b97f4f97470a1c6ea9fa6a2705d8f04911d055acd1 -a161c73adf584a0061e963b062f59d90faac65c9b3a936b837a10d817f02fcabfa748824607be45a183dd40f991fe83f -874f4ecd408c76e625ea50bc59c53c2d930ee25baf4b4eca2440bfbffb3b8bc294db579caa7c68629f4d9ec24187c1ba -8bff18087f112be7f4aa654e85c71fef70eee8ae480f61d0383ff6f5ab1a0508f966183bb3fc4d6f29cb7ca234aa50d3 -b03b46a3ca3bc743a173cbc008f92ab1aedd7466b35a6d1ca11e894b9482ea9dc75f8d6db2ddd1add99bfbe7657518b7 -8b4f3691403c3a8ad9e097f02d130769628feddfa8c2b3dfe8cff64e2bed7d6e5d192c1e2ba0ac348b8585e94acd5fa1 -a0d9ca4a212301f97591bf65d5ef2b2664766b427c9dd342e23cb468426e6a56be66b1cb41fea1889ac5d11a8e3c50a5 -8c93ed74188ca23b3df29e5396974b9cc135c91fdefdea6c0df694c8116410e93509559af55533a3776ac11b228d69b1 -82dd331fb3f9e344ebdeeb557769b86a2cc8cc38f6c298d7572a33aea87c261afa9dbd898989139b9fc16bc1e880a099 -a65faedf326bcfd8ef98a51410c78b021d39206704e8291cd1f09e096a66b9b0486be65ff185ca224c45918ac337ddeb -a188b37d363ac072a766fd5d6fa27df07363feff1342217b19e3c37385e42ffde55e4be8355aceaa2f267b6d66b4ac41 -810fa3ba3e96d843e3bafd3f2995727f223d3567c8ba77d684c993ba1773c66551eb5009897c51b3fe9b37196984f5ec -87631537541852da323b4353af45a164f68b304d24c01183bf271782e11687f3fcf528394e1566c2a26cb527b3148e64 -b721cb2b37b3c477a48e3cc0044167d51ff568a5fd2fb606e5aec7a267000f1ddc07d3db919926ae12761a8e017c767c -904dfad4ba2cc1f6e60d1b708438a70b1743b400164cd981f13c064b8328d5973987d4fb9cf894068f29d3deaf624dfb -a70491538893552c20939fae6be2f07bfa84d97e2534a6bbcc0f1729246b831103505e9f60e97a8fa7d2e6c1c2384579 -8726cf1b26b41f443ff7485adcfddc39ace2e62f4d65dd0bb927d933e262b66f1a9b367ded5fbdd6f3b0932553ac1735 -ae8a11cfdf7aa54c08f80cb645e3339187ab3886babe9fae5239ba507bb3dd1c0d161ca474a2df081dcd3d63e8fe445e -92328719e97ce60e56110f30a00ac5d9c7a2baaf5f8d22355d53c1c77941e3a1fec7d1405e6fbf8959665fe2ba7a8cad -8d9d6255b65798d0018a8cccb0b6343efd41dc14ff2058d3eed9451ceaad681e4a0fa6af67b0a04318aa628024e5553d -b70209090055459296006742d946a513f0cba6d83a05249ee8e7a51052b29c0ca9722dc4af5f9816a1b7938a5dac7f79 -aab7b766b9bf91786dfa801fcef6d575dc6f12b77ecc662eb4498f0312e54d0de9ea820e61508fc8aeee5ab5db529349 -a8104b462337748b7f086a135d0c3f87f8e51b7165ca6611264b8fb639d9a2f519926cb311fa2055b5fadf03da70c678 -b0d2460747d5d8b30fc6c6bd0a87cb343ddb05d90a51b465e8f67d499cfc5e3a9e365da05ae233bbee792cdf90ec67d5 -aa55f5bf3815266b4a149f85ed18e451c93de9163575e3ec75dd610381cc0805bb0a4d7c4af5b1f94d10231255436d2c -8d4c6a1944ff94426151909eb5b99cfd92167b967dabe2bf3aa66bb3c26c449c13097de881b2cfc1bf052862c1ef7b03 -8862296162451b9b6b77f03bf32e6df71325e8d7485cf3335d66fd48b74c2a8334c241db8263033724f26269ad95b395 -901aa96deb26cda5d9321190ae6624d357a41729d72ef1abfd71bebf6139af6d690798daba53b7bc5923462115ff748a -96c195ec4992728a1eb38cdde42d89a7bce150db43adbc9e61e279ea839e538deec71326b618dd39c50d589f78fc0614 -b6ff8b8aa0837b99a1a8b46fb37f20ad4aecc6a98381b1308697829a59b8442ffc748637a88cb30c9b1f0f28a926c4f6 -8d807e3dca9e7bef277db1d2cfb372408dd587364e8048b304eff00eacde2c723bfc84be9b98553f83cba5c7b3cba248 -8800c96adb0195c4fc5b24511450dee503c32bf47044f5e2e25bd6651f514d79a2dd9b01cd8c09f3c9d3859338490f57 -89fe366096097e38ec28dd1148887112efa5306cc0c3da09562aafa56f4eb000bf46ff79bf0bdd270cbde6bf0e1c8957 -af409a90c2776e1e7e3760b2042507b8709e943424606e31e791d42f17873a2710797f5baaab4cc4a19998ef648556b0 -8d761863c9b6edbd232d35ab853d944f5c950c2b643f84a1a1327ebb947290800710ff01dcfa26dc8e9828481240e8b1 -90b95e9be1e55c463ed857c4e0617d6dc3674e99b6aa62ed33c8e79d6dfcf7d122f4f4cc2ee3e7c5a49170cb617d2e2e -b3ff381efefabc4db38cc4727432e0301949ae4f16f8d1dea9b4f4de611cf5a36d84290a0bef160dac4e1955e516b3b0 -a8a84564b56a9003adcadb3565dc512239fc79572762cda7b5901a255bc82656bb9c01212ad33d6bef4fbbce18dacc87 -90a081890364b222eef54bf0075417f85e340d2fec8b7375995f598aeb33f26b44143ebf56fca7d8b4ebb36b5747b0eb -ade6ee49e1293224ddf2d8ab7f14bb5be6bc6284f60fd5b3a1e0cf147b73cff57cf19763b8a36c5083badc79c606b103 -b2fa99806dd2fa3de09320b615a2570c416c9bcdb052e592b0aead748bbe407ec9475a3d932ae48b71c2627eb81986a6 -91f3b7b73c8ccc9392542711c45fe6f236057e6efad587d661ad5cb4d6e88265f86b807bb1151736b1009ab74fd7acb4 -8800e2a46af96696dfbdcbf2ca2918b3dcf28ad970170d2d1783b52b8d945a9167d052beeb55f56c126da7ffa7059baa -9862267a1311c385956b977c9aa08548c28d758d7ba82d43dbc3d0a0fd1b7a221d39e8399997fea9014ac509ff510ac4 -b7d24f78886fd3e2d283e18d9ad5a25c1a904e7d9b9104bf47da469d74f34162e27e531380dbbe0a9d051e6ffd51d6e7 -b0f445f9d143e28b9df36b0f2c052da87ee2ca374d9d0fbe2eff66ca6fe5fe0d2c1951b428d58f7314b7e74e45d445ea -b63fc4083eabb8437dafeb6a904120691dcb53ce2938b820bb553da0e1eecd476f72495aacb72600cf9cad18698fd3db -b9ffd8108eaebd582d665f8690fe8bb207fd85185e6dd9f0b355a09bac1bbff26e0fdb172bc0498df025414e88fe2eda -967ed453e1f1a4c5b7b6834cc9f75c13f6889edc0cc91dc445727e9f408487bbf05c337103f61397a10011dfbe25d61d -98ceb673aff36e1987d5521a3984a07079c3c6155974bb8b413e8ae1ce84095fe4f7862fba7aefa14753eb26f2a5805f -85f01d28603a8fdf6ce6a50cb5c44f8a36b95b91302e3f4cd95c108ce8f4d212e73aec1b8d936520d9226802a2bd9136 -88118e9703200ca07910345fbb789e7a8f92bd80bbc79f0a9e040e8767d33df39f6eded403a9b636eabf9101e588482a -90833a51eef1b10ed74e8f9bbd6197e29c5292e469c854eed10b0da663e2bceb92539710b1858bbb21887bd538d28d89 -b513b905ec19191167c6193067b5cfdf5a3d3828375360df1c7e2ced5815437dfd37f0c4c8f009d7fb29ff3c8793f560 -b1b6d405d2d18f9554b8a358cc7e2d78a3b34269737d561992c8de83392ac9a2857be4bf15de5a6c74e0c9d0f31f393c -b828bd3e452b797323b798186607849f85d1fb20c616833c0619360dfd6b3e3aa000fd09dafe4b62d74abc41072ff1a9 -8efde67d0cca56bb2c464731879c9ac46a52e75bac702a63200a5e192b4f81c641f855ca6747752b84fe469cb7113b6c -b2762ba1c89ac3c9a983c242e4d1c2610ff0528585ed5c0dfc8a2c0253551142af9b59f43158e8915a1da7cc26b9df67 -8a3f1157fb820d1497ef6b25cd70b7e16bb8b961b0063ad340d82a79ee76eb2359ca9e15e6d42987ed7f154f5eeaa2da -a75e29f29d38f09c879f971c11beb5368affa084313474a5ecafa2896180b9e47ea1995c2733ec46f421e395a1d9cffe -8e8c3dd3e7196ef0b4996b531ec79e4a1f211db5d5635e48ceb80ff7568b2ff587e845f97ee703bb23a60945ad64314a -8e7f32f4a3e3c584af5e3d406924a0aa34024c42eca74ef6cc2a358fd3c9efaf25f1c03aa1e66bb94b023a2ee2a1cace -ab7dce05d59c10a84feb524fcb62478906b3fa045135b23afbede3bb32e0c678d8ebe59feabccb5c8f3550ea76cae44b -b38bb4b44d827f6fd3bd34e31f9186c59e312dbfadd4a7a88e588da10146a78b1f8716c91ad8b806beb8da65cab80c4c -9490ce9442bbbd05438c7f5c4dea789f74a7e92b1886a730544b55ba377840740a3ae4f2f146ee73f47c9278b0e233bc -83c003fab22a7178eed1a668e0f65d4fe38ef3900044e9ec63070c23f2827d36a1e73e5c2b883ec6a2afe2450171b3b3 -9982f02405978ddc4fca9063ebbdb152f524c84e79398955e66fe51bc7c1660ec1afc3a86ec49f58d7b7dde03505731c -ab337bd83ccdd2322088ffa8d005f450ced6b35790f37ab4534313315ee84312adc25e99cce052863a8bedee991729ed -8312ce4bec94366d88f16127a17419ef64285cd5bf9e5eda010319b48085966ed1252ed2f5a9fd3e0259b91bb65f1827 -a60d5a6327c4041b0c00a1aa2f0af056520f83c9ce9d9ccd03a0bd4d9e6a1511f26a422ea86bd858a1f77438adf07e6c -b84a0a0b030bdad83cf5202aa9afe58c9820e52483ab41f835f8c582c129ee3f34aa096d11c1cd922eda02ea1196a882 -8077d105317f4a8a8f1aadeb05e0722bb55f11abcb490c36c0904401107eb3372875b0ac233144829e734f0c538d8c1d -9202503bd29a6ec198823a1e4e098f9cfe359ed51eb5174d1ca41368821bfeebcbd49debfd02952c41359d1c7c06d2b1 -abc28c155e09365cb77ffead8dc8f602335ef93b2f44e4ef767ce8fc8ef9dd707400f3a722e92776c2e0b40192c06354 -b0f6d1442533ca45c9399e0a63a11f85ff288d242cea6cb3b68c02e77bd7d158047cae2d25b3bcd9606f8f66d9b32855 -b01c3d56a0db84dc94575f4b6ee2de4beca3230e86bed63e2066beb22768b0a8efb08ebaf8ac3dedb5fe46708b084807 -8c8634b0432159f66feaabb165842d1c8ac378f79565b1b90c381aa8450eb4231c3dad11ec9317b9fc2b155c3a771e32 -8e67f623d69ecd430c9ee0888520b6038f13a2b6140525b056dc0951f0cfed2822e62cf11d952a483107c5c5acac4826 -9590bb1cba816dd6acd5ac5fba5142c0a19d53573e422c74005e0bcf34993a8138c83124cad35a3df65879dba6134edd -801cd96cde0749021a253027118d3ea135f3fcdbe895db08a6c145641f95ebd368dd6a1568d995e1d0084146aebe224a -848b5d196427f6fc1f762ee3d36e832b64a76ec1033cfedc8b985dea93932a7892b8ef1035c653fb9dcd9ab2d9a44ac8 -a1017eb83d5c4e2477e7bd2241b2b98c4951a3b391081cae7d75965cadc1acaec755cf350f1f3d29741b0828e36fedea -8d6d2785e30f3c29aad17bd677914a752f831e96d46caf54446d967cb2432be2c849e26f0d193a60bee161ea5c6fe90a -935c0ba4290d4595428e034b5c8001cbd400040d89ab00861108e8f8f4af4258e41f34a7e6b93b04bc253d3b9ffc13bf -aac02257146246998477921cef2e9892228590d323b839f3e64ea893b991b463bc2f47e1e5092ddb47e70b2f5bce7622 -b921fde9412970a5d4c9a908ae8ce65861d06c7679af577cf0ad0d5344c421166986bee471fd6a6cecb7d591f06ec985 -8ef4c37487b139d6756003060600bb6ebac7ea810b9c4364fc978e842f13ac196d1264fbe5af60d76ff6d9203d8e7d3f -94b65e14022b5cf6a9b95f94be5ace2711957c96f4211c3f7bb36206bd39cfbd0ea82186cab5ad0577a23214a5c86e9e -a31c166d2a2ca1d5a75a5920fef7532681f62191a50d8555fdaa63ba4581c3391cc94a536fc09aac89f64eafceec3f90 -919a8cc128de01e9e10f5d83b08b52293fdd41bde2b5ae070f3d95842d4a16e5331cf2f3d61c765570c8022403610fa4 -b23d6f8331eef100152d60483cfa14232a85ee712c8538c9b6417a5a7c5b353c2ac401390c6c215cb101f5cee6b5f43e -ab357160c08a18319510a571eafff154298ce1020de8e1dc6138a09fcb0fcbcdd8359f7e9386bda00b7b9cdea745ffdc -ab55079aea34afa5c0bd1124b9cdfe01f325b402fdfa017301bf87812eaa811ea5798c3aaf818074d420d1c782b10ada -ade616010dc5009e7fc4f8d8b00dc716686a5fa0a7816ad9e503e15839d3b909b69d9dd929b7575376434ffec0d2bea8 -863997b97ed46898a8a014599508fa3079f414b1f4a0c4fdc6d74ae8b444afa350f327f8bfc2a85d27f9e2d049c50135 -8d602ff596334efd4925549ed95f2aa762b0629189f0df6dbb162581657cf3ea6863cd2287b4d9c8ad52813d87fcd235 -b70f68c596dcdeed92ad5c6c348578b26862a51eb5364237b1221e840c47a8702f0fbc56eb520a22c0eed99795d3903e -9628088f8e0853cefadee305a8bf47fa990c50fa96a82511bbe6e5dc81ef4b794e7918a109070f92fc8384d77ace226f -97e26a46e068b605ce96007197ecd943c9a23881862f4797a12a3e96ba2b8d07806ad9e2a0646796b1889c6b7d75188c -b1edf467c068cc163e2d6413cc22b16751e78b3312fe47b7ea82b08a1206d64415b2c8f2a677fa89171e82cc49797150 -a44d15ef18745b251429703e3cab188420e2d974de07251501799b016617f9630643fcd06f895634d8ecdd579e1bf000 -abd126df3917ba48c618ee4dbdf87df506193462f792874439043fa1b844466f6f4e0ff2e42516e63b5b23c0892b2695 -a2a67f57c4aa3c2aa1eeddbfd5009a89c26c2ce8fa3c96a64626aba19514beb125f27df8559506f737de3eae0f1fc18f -a633e0132197e6038197304b296ab171f1d8e0d0f34dcf66fe9146ac385b0239232a8470b9205a4802ab432389f4836d -a914b3a28509a906c3821463b936455d58ff45dcbe158922f9efb2037f2eb0ce8e92532d29b5d5a3fcd0d23fa773f272 -a0e1412ce4505daf1a2e59ce4f0fc0e0023e335b50d2b204422f57cd65744cc7a8ed35d5ef131a42c70b27111d3115b7 -a2339e2f2b6072e88816224fdd612c04d64e7967a492b9f8829db15367f565745325d361fd0607b0def1be384d010d9e -a7309fc41203cb99382e8193a1dcf03ac190a7ce04835304eb7e341d78634e83ea47cb15b885601956736d04cdfcaa01 -81f3ccd6c7f5b39e4e873365f8c37b214e8ab122d04a606fbb7339dc3298c427e922ec7418002561d4106505b5c399ee -92c121cf914ca549130e352eb297872a63200e99b148d88fbc9506ad882bec9d0203d65f280fb5b0ba92e336b7f932e8 -a4b330cf3f064f5b131578626ad7043ce2a433b6f175feb0b52d36134a454ca219373fd30d5e5796410e005b69082e47 -86fe5774112403ad83f9c55d58317eeb17ad8e1176d9f2f69c2afb7ed83bc718ed4e0245ceab4b377f5f062dcd4c00e7 -809d152a7e2654c7fd175b57f7928365a521be92e1ed06c05188a95864ddb25f7cab4c71db7d61bbf4cae46f3a1d96ce -b82d663e55c2a5ada7e169e9b1a87bc1c0177baf1ec1c96559b4cb1c5214ce1ddf2ab8d345014cab6402f3774235cf5a -86580af86df1bd2c385adb8f9a079e925981b7184db66fc5fe5b14cddb82e7d836b06eaeef14924ac529487b23dae111 -b5f5f4c5c94944ecc804df6ab8687d64e27d988cbfeae1ba7394e0f6adbf778c5881ead7cd8082dd7d68542b9bb4ecd5 -a6016916146c2685c46e8fdd24186394e2d5496e77e08c0c6a709d4cd7dfa97f1efcef94922b89196819076a91ad37b5 -b778e7367ded3b6eab53d5fc257f7a87e8faf74a593900f2f517220add2125be3f6142022660d8181df8d164ad9441ce -8581b2d36abe6f553add4d24be761bec1b8efaa2929519114346615380b3c55b59e6ad86990e312f7e234d0203bdf59b -9917e74fd45c3f71a829ff5498a7f6b5599b48c098dda2339bf04352bfc7f368ccf1a407f5835901240e76452ae807d7 -afd196ce6f9335069138fd2e3d133134da253978b4ce373152c0f26affe77a336505787594022e610f8feb722f7cc1fb -a477491a1562e329764645e8f24d8e228e5ef28c9f74c6b5b3abc4b6a562c15ffb0f680d372aed04d9e1bf944dece7be -9767440d58c57d3077319d3a330e5322b9ba16981ec74a5a14d53462eab59ae7fd2b14025bfc63b268862094acb444e6 -80986d921be3513ef69264423f351a61cb48390c1be8673aee0f089076086aaebea7ebe268fd0aa7182695606116f679 -a9554c5c921c07b450ee04e34ec58e054ac1541b26ce2ce5a393367a97348ba0089f53db6660ad76b60278b66fd12e3e -95097e7d2999b3e84bf052c775581cf361325325f4a50192521d8f4693c830bed667d88f482dc1e3f833aa2bd22d2cbf -9014c91d0f85aefd28436b5228c12f6353c055a9326c7efbf5e071e089e2ee7c070fcbc84c5fafc336cbb8fa6fec1ca1 -90f57ba36ee1066b55d37384942d8b57ae00f3cf9a3c1d6a3dfee1d1af42d4b5fa9baeb0cd7e46687d1d6d090ddb931d -8e4b1db12fd760a17214c9e47f1fce6e43c0dbb4589a827a13ac61aaae93759345697bb438a00edab92e0b7b62414683 -8022a959a513cdc0e9c705e0fc04eafd05ff37c867ae0f31f6d01cddd5df86138a426cab2ff0ac8ff03a62e20f7e8f51 -914e9a38829834c7360443b8ed86137e6f936389488eccf05b4b4db7c9425611705076ecb3f27105d24b85c852be7511 -957fb10783e2bd0db1ba66b18e794df710bc3b2b05776be146fa5863c15b1ebdd39747b1a95d9564e1772cdfc4f37b8a -b6307028444daed8ed785ac9d0de76bc3fe23ff2cc7e48102553613bbfb5afe0ebe45e4212a27021c8eb870721e62a1f -8f76143597777d940b15a01b39c5e1b045464d146d9a30a6abe8b5d3907250e6c7f858ff2308f8591e8b0a7b3f3c568a -96163138ac0ce5fd00ae9a289648fd9300a0ca0f63a88481d703ecd281c06a52a3b5178e849e331f9c85ca4ba398f4cc -a63ef47c3e18245b0482596a09f488a716df3cbd0f9e5cfabed0d742843e65db8961c556f45f49762f3a6ac8b627b3ef -8cb595466552e7c4d42909f232d4063e0a663a8ef6f6c9b7ce3a0542b2459cde04e0e54c7623d404acb5b82775ac04f6 -b47fe69960eb45f399368807cff16d941a5a4ebad1f5ec46e3dc8a2e4d598a7e6114d8f0ca791e9720fd786070524e2b -89eb5ff83eea9df490e5beca1a1fbbbbcf7184a37e2c8c91ede7a1e654c81e8cd41eceece4042ea7918a4f4646b67fd6 -a84f5d155ed08b9054eecb15f689ba81e44589e6e7207a99790c598962837ca99ec12344105b16641ca91165672f7153 -a6cc8f25c2d5b2d2f220ec359e6a37a52b95fa6af6e173c65e7cd55299eff4aa9e6d9e6f2769e6459313f1f2aecb0fab -afcde944411f017a9f7979755294981e941cc41f03df5e10522ef7c7505e5f1babdd67b3bf5258e8623150062eb41d9b -8fab39f39c0f40182fcd996ade2012643fe7731808afbc53f9b26900b4d4d1f0f5312d9d40b3df8baa4739970a49c732 -ae193af9726da0ebe7df1f9ee1c4846a5b2a7621403baf8e66c66b60f523e719c30c6b4f897bb14b27d3ff3da8392eeb -8ac5adb82d852eba255764029f42e6da92dcdd0e224d387d1ef94174038db9709ac558d90d7e7c57ad4ce7f89bbfc38c -a2066b3458fdf678ee487a55dd5bfb74fde03b54620cb0e25412a89ee28ad0d685e309a51e3e4694be2fa6f1593a344c -88d031745dd0ae07d61a15b594be5d4b2e2a29e715d081649ad63605e3404b0c3a5353f0fd9fad9c05c18e93ce674fa1 -8283cfb0ef743a043f2b77ecaeba3005e2ca50435585b5dd24777ee6bce12332f85e21b446b536da38508807f0f07563 -b376de22d5f6b0af0b59f7d9764561f4244cf8ffe22890ecd3dcf2ff1832130c9b821e068c9d8773136f4796721e5963 -ae3afc50c764f406353965363840bf28ee85e7064eb9d5f0bb3c31c64ab10f48c853e942ee2c9b51bae59651eaa08c2f -948b204d103917461a01a6c57a88f2d66b476eae5b00be20ec8c747650e864bc8a83aee0aff59cb7584b7a3387e0ee48 -81ab098a082b07f896c5ffd1e4446cb7fb44804cbbf38d125208b233fc82f8ec9a6a8d8dd1c9a1162dc28ffeec0dde50 -a149c6f1312821ced2969268789a3151bdda213451760b397139a028da609c4134ac083169feb0ee423a0acafd10eceb -b0ac9e27a5dadaf523010f730b28f0ebac01f460d3bbbe277dc9d44218abb5686f4fac89ae462682fef9edbba663520a -8d0e0073cca273daaaa61b6fc54bfe5a009bc3e20ae820f6c93ba77b19eca517d457e948a2de5e77678e4241807157cb -ad61d3a2edf7c7533a04964b97499503fd8374ca64286dba80465e68fe932e96749b476f458c6fc57cb1a7ca85764d11 -90eb5e121ae46bc01a30881eaa556f46bd8457a4e80787cf634aab355082de34ac57d7f497446468225f7721e68e2a47 -8cdac557de7c42d1f3780e33dec1b81889f6352279be81c65566cdd4952d4c15d79e656cbd46035ab090b385e90245ef -82b67e61b88b84f4f4d4f65df37b3e3dcf8ec91ea1b5c008fdccd52da643adbe6468a1cfdb999e87d195afe2883a3b46 -8503b467e8f5d6048a4a9b78496c58493a462852cab54a70594ae3fd064cfd0deb4b8f336a262155d9fedcaa67d2f6fd -8db56c5ac763a57b6ce6832930c57117058e3e5a81532b7d19346346205e2ec614eb1a2ee836ef621de50a7bc9b7f040 -ad344699198f3c6e8c0a3470f92aaffc805b76266734414c298e10b5b3797ca53578de7ccb2f458f5e0448203f55282b -80602032c43c9e2a09154cc88b83238343b7a139f566d64cb482d87436b288a98f1ea244fd3bff8da3c398686a900c14 -a6385bd50ecd548cfb37174cdbb89e10025b5cadaf3cff164c95d7aef5a33e3d6a9bf0c681b9e11db9ef54ebeee2a0c1 -abf2d95f4aa34b0581eb9257a0cc8462b2213941a5deb8ba014283293e8b36613951b61261cc67bbd09526a54cbbff76 -a3d5de52f48df72c289ff713e445991f142390798cd42bd9d9dbefaee4af4f5faf09042d126b975cf6b98711c3072553 -8e627302ff3d686cff8872a1b7c2a57b35f45bf2fc9aa42b049d8b4d6996a662b8e7cbac6597f0cb79b0cc4e29fbf133 -8510702e101b39a1efbf4e504e6123540c34b5689645e70d0bac1ecc1baf47d86c05cef6c4317a4e99b4edaeb53f2d00 -aa173f0ecbcc6088f878f8726d317748c81ebf501bba461f163b55d66099b191ec7c55f7702f351a9c8eb42cfa3280e2 -b560a697eafab695bcef1416648a0a664a71e311ecbe5823ae903bd0ed2057b9d7574b9a86d3fe22aa3e6ddce38ea513 -8df6304a3d9cf40100f3f687575419c998cd77e5cc27d579cf4f8e98642de3609af384a0337d145dd7c5635172d26a71 -8105c7f3e4d30a29151849673853b457c1885c186c132d0a98e63096c3774bc9deb956cf957367e633d0913680bda307 -95373fc22c0917c3c2044ac688c4f29a63ed858a45c0d6d2d0fe97afd6f532dcb648670594290c1c89010ecc69259bef -8c2fae9bcadab341f49b55230310df93cac46be42d4caa0d42e45104148a91e527af1b4209c0d972448162aed28fab64 -b05a77baab70683f76209626eaefdda2d36a0b66c780a20142d23c55bd479ddd4ad95b24579384b6cf62c8eb4c92d021 -8e6bc6a7ea2755b4aaa19c1c1dee93811fcde514f03485fdc3252f0ab7f032c315614f6336e57cea25dcfb8fb6084eeb -b656a27d06aade55eadae2ad2a1059198918ea6cc3fd22c0ed881294d34d5ac7b5e4700cc24350e27d76646263b223aa -a296469f24f6f56da92d713afcd4dd606e7da1f79dc4e434593c53695847eefc81c7c446486c4b3b8c8d00c90c166f14 -87a326f57713ac2c9dffeb3af44b9f3c613a8f952676fc46343299122b47ee0f8d792abaa4b5db6451ced5dd153aabd0 -b689e554ba9293b9c1f6344a3c8fcb6951d9f9eac4a2e2df13de021aade7c186be27500e81388e5b8bcab4c80f220a31 -87ae0aa0aa48eac53d1ca5a7b93917de12db9e40ceabf8fdb40884ae771cfdf095411deef7c9f821af0b7070454a2608 -a71ffa7eae8ace94e6c3581d4cb2ad25d48cbd27edc9ec45baa2c8eb932a4773c3272b2ffaf077b40f76942a1f3af7f2 -94c218c91a9b73da6b7a495b3728f3028df8ad9133312fc0c03e8c5253b7ccb83ed14688fd4602e2fd41f29a0bc698bd -ae1e77b90ca33728af07a4c03fb2ef71cd92e2618e7bf8ed4d785ce90097fc4866c29999eb84a6cf1819d75285a03af2 -b7a5945b277dab9993cf761e838b0ac6eaa903d7111fca79f9fde3d4285af7a89bf6634a71909d095d7619d913972c9c -8c43b37be02f39b22029b20aca31bff661abce4471dca88aa3bddefd9c92304a088b2dfc8c4795acc301ca3160656af2 -b32e5d0fba024554bd5fe8a793ebe8003335ddd7f585876df2048dcf759a01285fecb53daae4950ba57f3a282a4d8495 -85ea7fd5e10c7b659df5289b2978b2c89e244f269e061b9a15fcab7983fc1962b63546e82d5731c97ec74b6804be63ef -96b89f39181141a7e32986ac02d7586088c5a9662cec39843f397f3178714d02f929af70630c12cbaba0268f8ba2d4fa -929ab1a2a009b1eb37a2817c89696a06426529ebe3f306c586ab717bd34c35a53eca2d7ddcdef36117872db660024af9 -a696dccf439e9ca41511e16bf3042d7ec0e2f86c099e4fc8879d778a5ea79e33aa7ce96b23dc4332b7ba26859d8e674d -a8fe69a678f9a194b8670a41e941f0460f6e2dbc60470ab4d6ae2679cc9c6ce2c3a39df2303bee486dbfde6844e6b31a -95f58f5c82de2f2a927ca99bf63c9fc02e9030c7e46d0bf6b67fe83a448d0ae1c99541b59caf0e1ccab8326231af09a5 -a57badb2c56ca2c45953bd569caf22968f76ed46b9bac389163d6fe22a715c83d5e94ae8759b0e6e8c2f27bff7748f3f -868726fd49963b24acb5333364dffea147e98f33aa19c7919dc9aca0fd26661cfaded74ede7418a5fadbe7f5ae67b67b -a8d8550dcc64d9f1dd7bcdab236c4122f2b65ea404bb483256d712c7518f08bb028ff8801f1da6aed6cbfc5c7062e33b -97e25a87dae23155809476232178538d4bc05d4ff0882916eb29ae515f2a62bfce73083466cc0010ca956aca200aeacc -b4ea26be3f4bd04aa82d7c4b0913b97bcdf5e88b76c57eb1a336cbd0a3eb29de751e1bc47c0e8258adec3f17426d0c71 -99ee555a4d9b3cf2eb420b2af8e3bc99046880536116d0ce7193464ac40685ef14e0e3c442f604e32f8338cb0ef92558 -8c64efa1da63cd08f319103c5c7a761221080e74227bbc58b8fb35d08aa42078810d7af3e60446cbaff160c319535648 -8d9fd88040076c28420e3395cbdfea402e4077a3808a97b7939d49ecbcf1418fe50a0460e1c1b22ac3f6e7771d65169a -ae3c19882d7a9875d439265a0c7003c8d410367627d21575a864b9cb4918de7dbdb58a364af40c5e045f3df40f95d337 -b4f7bfacab7b2cafe393f1322d6dcc6f21ffe69cd31edc8db18c06f1a2b512c27bd0618091fd207ba8df1808e9d45914 -94f134acd0007c623fb7934bcb65ef853313eb283a889a3ffa79a37a5c8f3665f3d5b4876bc66223610c21dc9b919d37 -aa15f74051171daacdc1f1093d3f8e2d13da2833624b80a934afec86fc02208b8f55d24b7d66076444e7633f46375c6a -a32d6bb47ef9c836d9d2371807bafbbbbb1ae719530c19d6013f1d1f813c49a60e4fa51d83693586cba3a840b23c0404 -b61b3599145ea8680011aa2366dc511a358b7d67672d5b0c5be6db03b0efb8ca5a8294cf220ea7409621f1664e00e631 -859cafc3ee90b7ececa1ed8ef2b2fc17567126ff10ca712d5ffdd16aa411a5a7d8d32c9cab1fbf63e87dce1c6e2f5f53 -a2fef1b0b2874387010e9ae425f3a9676d01a095d017493648bcdf3b31304b087ccddb5cf76abc4e1548b88919663b6b -939e18c73befc1ba2932a65ede34c70e4b91e74cc2129d57ace43ed2b3af2a9cc22a40fbf50d79a63681b6d98852866d -b3b4259d37b1b14aee5b676c9a0dd2d7f679ab95c120cb5f09f9fbf10b0a920cb613655ddb7b9e2ba5af4a221f31303c -997255fe51aaca6e5a9cb3359bcbf25b2bb9e30649bbd53a8a7c556df07e441c4e27328b38934f09c09d9500b5fabf66 -abb91be2a2d860fd662ed4f1c6edeefd4da8dc10e79251cf87f06029906e7f0be9b486462718f0525d5e049472692cb7 -b2398e593bf340a15f7801e1d1fbda69d93f2a32a889ec7c6ae5e8a37567ac3e5227213c1392ee86cfb3b56ec2787839 -8ddf10ccdd72922bed36829a36073a460c2118fc7a56ff9c1ac72581c799b15c762cb56cb78e3d118bb9f6a7e56cb25e -93e6bc0a4708d16387cacd44cf59363b994dc67d7ada7b6d6dbd831c606d975247541b42b2a309f814c1bfe205681fc6 -b93fc35c05998cffda2978e12e75812122831523041f10d52f810d34ff71944979054b04de0117e81ddf5b0b4b3e13c0 -92221631c44d60d68c6bc7b287509f37ee44cbe5fdb6935cee36b58b17c7325098f98f7910d2c3ca5dc885ad1d6dabc7 -a230124424a57fad3b1671f404a94d7c05f4c67b7a8fbacfccea28887b78d7c1ed40b92a58348e4d61328891cd2f6cee -a6a230edb8518a0f49d7231bc3e0bceb5c2ac427f045819f8584ba6f3ae3d63ed107a9a62aad543d7e1fcf1f20605706 -845be1fe94223c7f1f97d74c49d682472585d8f772762baad8a9d341d9c3015534cc83d102113c51a9dea2ab10d8d27b -b44262515e34f2db597c8128c7614d33858740310a49cdbdf9c8677c5343884b42c1292759f55b8b4abc4c86e4728033 -805592e4a3cd07c1844bc23783408310accfdb769cca882ad4d07d608e590a288b7370c2cb327f5336e72b7083a0e30f -95153e8b1140df34ee864f4ca601cb873cdd3efa634af0c4093fbaede36f51b55571ab271e6a133020cd34db8411241f -82878c1285cfa5ea1d32175c9401f3cc99f6bb224d622d3fd98cc7b0a27372f13f7ab463ce3a33ec96f9be38dbe2dfe3 -b7588748f55783077c27fc47d33e20c5c0f5a53fc0ac10194c003aa09b9f055d08ec971effa4b7f760553997a56967b3 -b36b4de6d1883b6951f59cfae381581f9c6352fcfcf1524fccdab1571a20f80441d9152dc6b48bcbbf00371337ca0bd5 -89c5523f2574e1c340a955cbed9c2f7b5fbceb260cb1133160dabb7d41c2f613ec3f6e74bbfab3c4a0a6f0626dbe068f -a52f58cc39f968a9813b1a8ddc4e83f4219e4dd82c7aa1dd083bea7edf967151d635aa9597457f879771759b876774e4 -8300a67c2e2e123f89704abfde095463045dbd97e20d4c1157bab35e9e1d3d18f1f4aaba9cbe6aa2d544e92578eaa1b6 -ac6a7f2918768eb6a43df9d3a8a04f8f72ee52f2e91c064c1c7d75cad1a3e83e5aba9fe55bb94f818099ac91ccf2e961 -8d64a2b0991cf164e29835c8ddef6069993a71ec2a7de8157bbfa2e00f6367be646ed74cbaf524f0e9fe13fb09fa15fd -8b2ffe5a545f9f680b49d0a9797a4a11700a2e2e348c34a7a985fc278f0f12def6e06710f40f9d48e4b7fbb71e072229 -8ab8f71cd337fa19178924e961958653abf7a598e3f022138b55c228440a2bac4176cea3aea393549c03cd38a13eb3fc -8419d28318c19ea4a179b7abb43669fe96347426ef3ac06b158d79c0acf777a09e8e770c2fb10e14b3a0421705990b23 -8bacdac310e1e49660359d0a7a17fe3d334eb820e61ae25e84cb52f863a2f74cbe89c2e9fc3283745d93a99b79132354 -b57ace3fa2b9f6b2db60c0d861ace7d7e657c5d35d992588aeed588c6ce3a80b6f0d49f8a26607f0b17167ab21b675e4 -83e265cde477f2ecc164f49ddc7fb255bb05ff6adc347408353b7336dc3a14fdedc86d5a7fb23f36b8423248a7a67ed1 -a60ada971f9f2d79d436de5d3d045f5ab05308cae3098acaf5521115134b2a40d664828bb89895840db7f7fb499edbc5 -a63eea12efd89b62d3952bf0542a73890b104dd1d7ff360d4755ebfa148fd62de668edac9eeb20507967ea37fb220202 -a0275767a270289adc991cc4571eff205b58ad6d3e93778ddbf95b75146d82517e8921bd0d0564e5b75fa0ccdab8e624 -b9b03fd3bf07201ba3a039176a965d736b4ef7912dd9e9bf69fe1b57c330a6aa170e5521fe8be62505f3af81b41d7806 -a95f640e26fb1106ced1729d6053e41a16e4896acac54992279ff873e5a969aad1dcfa10311e28b8f409ac1dab7f03bb -b144778921742418053cb3c70516c63162c187f00db2062193bb2c14031075dbe055d020cde761b26e8c58d0ea6df2c1 -8432fbb799e0435ef428d4fefc309a05dd589bce74d7a87faf659823e8c9ed51d3e42603d878e80f439a38be4321c2fa -b08ddef14e42d4fd5d8bf39feb7485848f0060d43b51ed5bdda39c05fe154fb111d29719ee61a23c392141358c0cfcff -8ae3c5329a5e025b86b5370e06f5e61177df4bda075856fade20a17bfef79c92f54ed495f310130021ba94fb7c33632b -92b6d3c9444100b4d7391febfc1dddaa224651677c3695c47a289a40d7a96d200b83b64e6d9df51f534564f272a2c6c6 -b432bc2a3f93d28b5e506d68527f1efeb2e2570f6be0794576e2a6ef9138926fdad8dd2eabfa979b79ab7266370e86bc -8bc315eacedbcfc462ece66a29662ca3dcd451f83de5c7626ef8712c196208fb3d8a0faf80b2e80384f0dd9772f61a23 -a72375b797283f0f4266dec188678e2b2c060dfed5880fc6bb0c996b06e91a5343ea2b695adaab0a6fd183b040b46b56 -a43445036fbaa414621918d6a897d3692fdae7b2961d87e2a03741360e45ebb19fcb1703d23f1e15bb1e2babcafc56ac -b9636b2ffe305e63a1a84bd44fb402442b1799bd5272638287aa87ca548649b23ce8ce7f67be077caed6aa2dbc454b78 -99a30bf0921d854c282b83d438a79f615424f28c2f99d26a05201c93d10378ab2cd94a792b571ddae5d4e0c0013f4006 -8648e3c2f93d70b392443be116b48a863e4b75991bab5db656a4ef3c1e7f645e8d536771dfe4e8d1ceda3be8d32978b0 -ab50dc9e6924c1d2e9d2e335b2d679fc7d1a7632e84964d3bac0c9fe57e85aa5906ec2e7b0399d98ddd022e9b19b5904 -ab729328d98d295f8f3272afaf5d8345ff54d58ff9884da14f17ecbdb7371857fdf2f3ef58080054e9874cc919b46224 -83fa5da7592bd451cad3ad7702b4006332b3aae23beab4c4cb887fa6348317d234bf62a359e665b28818e5410c278a09 -8bdbff566ae9d368f114858ef1f009439b3e9f4649f73efa946e678d6c781d52c69af195df0a68170f5f191b2eac286b -91245e59b4425fd4edb2a61d0d47c1ccc83d3ced8180de34887b9655b5dcda033d48cde0bdc3b7de846d246c053a02e8 -a2cb00721e68f1cad8933947456f07144dc69653f96ceed845bd577d599521ba99cdc02421118971d56d7603ed118cbf -af8cd66d303e808b22ec57860dd909ca64c27ec2c60e26ffecfdc1179d8762ffd2739d87b43959496e9fee4108df71df -9954136812dffcd5d3f167a500e7ab339c15cfc9b3398d83f64b0daa3dd5b9a851204f424a3493b4e326d3de81e50a62 -93252254d12511955f1aa464883ad0da793f84d900fea83e1df8bca0f2f4cf5b5f9acbaec06a24160d33f908ab5fea38 -997cb55c26996586ba436a95566bd535e9c22452ca5d2a0ded2bd175376557fa895f9f4def4519241ff386a063f2e526 -a12c78ad451e0ac911260ade2927a768b50cb4125343025d43474e7f465cdc446e9f52a84609c5e7e87ae6c9b3f56cda -a789d4ca55cbba327086563831b34487d63d0980ba8cf55197c016702ed6da9b102b1f0709ce3da3c53ff925793a3d73 -a5d76acbb76741ce85be0e655b99baa04f7f587347947c0a30d27f8a49ae78cce06e1cde770a8b618d3db402be1c0c4b -873c0366668c8faddb0eb7c86f485718d65f8c4734020f1a18efd5fa123d3ea8a990977fe13592cd01d17e60809cb5ff -b659b71fe70f37573ff7c5970cc095a1dc0da3973979778f80a71a347ef25ad5746b2b9608bad4ab9a4a53a4d7df42d7 -a34cbe05888e5e5f024a2db14cb6dcdc401a9cbd13d73d3c37b348f68688f87c24ca790030b8f84fef9e74b4eab5e412 -94ce8010f85875c045b0f014db93ef5ab9f1f6842e9a5743dce9e4cb872c94affd9e77c1f1d1ab8b8660b52345d9acb9 -adefa9b27a62edc0c5b019ddd3ebf45e4de846165256cf6329331def2e088c5232456d3de470fdce3fa758bfdd387512 -a6b83821ba7c1f83cc9e4529cf4903adb93b26108e3d1f20a753070db072ad5a3689643144bdd9c5ea06bb9a7a515cd0 -a3a9ddedc2a1b183eb1d52de26718151744db6050f86f3580790c51d09226bf05f15111691926151ecdbef683baa992c -a64bac89e7686932cdc5670d07f0b50830e69bfb8c93791c87c7ffa4913f8da881a9d8a8ce8c1a9ce5b6079358c54136 -a77b5a63452cb1320b61ab6c7c2ef9cfbcade5fd4727583751fb2bf3ea330b5ca67757ec1f517bf4d503ec924fe32fbd -8746fd8d8eb99639d8cd0ca34c0d9c3230ed5a312aab1d3d925953a17973ee5aeb66e68667e93caf9cb817c868ea8f3d -88a2462a26558fc1fbd6e31aa8abdc706190a17c27fdc4217ffd2297d1b1f3321016e5c4b2384c5454d5717dc732ed03 -b78893a97e93d730c8201af2e0d3b31cb923d38dc594ffa98a714e627c473d42ea82e0c4d2eeb06862ee22a9b2c54588 -920cc8b5f1297cf215a43f6fc843e379146b4229411c44c0231f6749793d40f07b9af7699fd5d21fd69400b97febe027 -a0f0eafce1e098a6b58c7ad8945e297cd93aaf10bc55e32e2e32503f02e59fc1d5776936577d77c0b1162cb93b88518b -98480ba0064e97a2e7a6c4769b4d8c2a322cfc9a3b2ca2e67e9317e2ce04c6e1108169a20bd97692e1cb1f1423b14908 -83dbbb2fda7e287288011764a00b8357753a6a44794cc8245a2275237f11affdc38977214e463ad67aec032f3dfa37e9 -86442fff37598ce2b12015ff19b01bb8a780b40ad353d143a0f30a06f6d23afd5c2b0a1253716c855dbf445cc5dd6865 -b8a4c60c5171189414887847b9ed9501bff4e4c107240f063e2d254820d2906b69ef70406c585918c4d24f1dd052142b -919f33a98e84015b2034b57b5ffe9340220926b2c6e45f86fd79ec879dbe06a148ae68b77b73bf7d01bd638a81165617 -95c13e78d89474a47fbc0664f6f806744b75dede95a479bbf844db4a7f4c3ae410ec721cb6ffcd9fa9c323da5740d5ae -ab7151acc41fffd8ec6e90387700bcd7e1cde291ea669567295bea1b9dd3f1df2e0f31f3588cd1a1c08af8120aca4921 -80e74c5c47414bd6eeef24b6793fb1fa2d8fb397467045fcff887c52476741d5bc4ff8b6d3387cb53ad285485630537f -a296ad23995268276aa351a7764d36df3a5a3cffd7dbeddbcea6b1f77adc112629fdeffa0918b3242b3ccd5e7587e946 -813d2506a28a2b01cb60f49d6bd5e63c9b056aa56946faf2f33bd4f28a8d947569cfead3ae53166fc65285740b210f86 -924b265385e1646287d8c09f6c855b094daaee74b9e64a0dddcf9ad88c6979f8280ba30c8597b911ef58ddb6c67e9fe3 -8d531513c70c2d3566039f7ca47cd2352fd2d55b25675a65250bdb8b06c3843db7b2d29c626eed6391c238fc651cf350 -82b338181b62fdc81ceb558a6843df767b6a6e3ceedc5485664b4ea2f555904b1a45fbb35f6cf5d96f27da10df82a325 -92e62faaedea83a37f314e1d3cb4faaa200178371d917938e59ac35090be1db4b4f4e0edb78b9c991de202efe4f313d8 -99d645e1b642c2dc065bac9aaa0621bc648c9a8351efb6891559c3a41ba737bd155fb32d7731950514e3ecf4d75980e4 -b34a13968b9e414172fb5d5ece9a39cf2eb656128c3f2f6cc7a9f0c69c6bae34f555ecc8f8837dc34b5e470e29055c78 -a2a0bb7f3a0b23a2cbc6585d59f87cd7e56b2bbcb0ae48f828685edd9f7af0f5edb4c8e9718a0aaf6ef04553ba71f3b7 -8e1a94bec053ed378e524b6685152d2b52d428266f2b6eadd4bcb7c4e162ed21ab3e1364879673442ee2162635b7a4d8 -9944adaff14a85eab81c73f38f386701713b52513c4d4b838d58d4ffa1d17260a6d056b02334850ea9a31677c4b078bd -a450067c7eceb0854b3eca3db6cf38669d72cb7143c3a68787833cbca44f02c0be9bfbe082896f8a57debb13deb2afb1 -8be4ad3ac9ef02f7df09254d569939757101ee2eda8586fefcd8c847adc1efe5bdcb963a0cafa17651befaafb376a531 -90f6de91ea50255f148ac435e08cf2ac00c772a466e38155bd7e8acf9197af55662c7b5227f88589b71abe9dcf7ba343 -86e5a24f0748b106dee2d4d54e14a3b0af45a96cbee69cac811a4196403ebbee17fd24946d7e7e1b962ac7f66dbaf610 -afdd96fbcda7aa73bf9eeb2292e036c25753d249caee3b9c013009cc22e10d3ec29e2aa6ddbb21c4e949b0c0bccaa7f4 -b5a4e7436d5473647c002120a2cb436b9b28e27ad4ebdd7c5f122b91597c507d256d0cbd889d65b3a908531936e53053 -b632414c3da704d80ac2f3e5e0e9f18a3637cdc2ebeb613c29300745582427138819c4e7b0bec3099c1b8739dac1807b -a28df1464d3372ce9f37ef1db33cc010f752156afae6f76949d98cd799c0cf225c20228ae86a4da592d65f0cffe3951b -898b93d0a31f7d3f11f253cb7a102db54b669fd150da302d8354d8e02b1739a47cb9bd88015f3baf12b00b879442464e -96fb88d89a12049091070cb0048a381902965e67a8493e3991eaabe5d3b7ff7eecd5c94493a93b174df3d9b2c9511755 -b899cb2176f59a5cfba3e3d346813da7a82b03417cad6342f19cc8f12f28985b03bf031e856a4743fd7ebe16324805b0 -a60e2d31bc48e0c0579db15516718a03b73f5138f15037491f4dae336c904e312eda82d50862f4debd1622bb0e56d866 -979fc8b987b5cef7d4f4b58b53a2c278bd25a5c0ea6f41c715142ea5ff224c707de38451b0ad3aa5e749aa219256650a -b2a75bff18e1a6b9cf2a4079572e41205741979f57e7631654a3c0fcec57c876c6df44733c9da3d863db8dff392b44a3 -b7a0f0e811222c91e3df98ff7f286b750bc3b20d2083966d713a84a2281744199e664879401e77470d44e5a90f3e5181 -82b74ba21c9d147fbc338730e8f1f8a6e7fc847c3110944eb17a48bea5e06eecded84595d485506d15a3e675fd0e5e62 -a7f44eef817d5556f0d1abcf420301217d23c69dd2988f44d91ea1f1a16c322263cbacd0f190b9ba22b0f141b9267b4f -aadb68164ede84fc1cb3334b3194d84ba868d5a88e4c9a27519eef4923bc4abf81aab8114449496c073c2a6a0eb24114 -b5378605fabe9a8c12a5dc55ef2b1de7f51aedb61960735c08767a565793cea1922a603a6983dc25f7cea738d0f7c40d -a97a4a5cd8d51302e5e670aee78fe6b5723f6cc892902bbb4f131e82ca1dfd5de820731e7e3367fb0c4c1922a02196e3 -8bdfeb15c29244d4a28896f2b2cb211243cd6a1984a3f5e3b0ebe5341c419beeab3304b390a009ffb47588018034b0ea -a9af3022727f2aa2fca3b096968e97edad3f08edcbd0dbca107b892ae8f746a9c0485e0d6eb5f267999b23a845923ed0 -8e7594034feef412f055590fbb15b6322dc4c6ab7a4baef4685bd13d71a83f7d682b5781bdfa0d1c659489ce9c2b8000 -84977ca6c865ebee021c58106c1a4ad0c745949ecc5332948002fd09bd9b890524878d0c29da96fd11207621136421fe -8687551a79158e56b2375a271136756313122132a6670fa51f99a1b5c229ed8eea1655a734abae13228b3ebfd2a825dd -a0227d6708979d99edfc10f7d9d3719fd3fc68b0d815a7185b60307e4c9146ad2f9be2b8b4f242e320d4288ceeb9504c -89f75583a16735f9dd8b7782a130437805b34280ccea8dac6ecaee4b83fe96947e7b53598b06fecfffdf57ffc12cc445 -a0056c3353227f6dd9cfc8e3399aa5a8f1d71edf25d3d64c982910f50786b1e395c508d3e3727ac360e3e040c64b5298 -b070e61a6d813626144b312ded1788a6d0c7cec650a762b2f8df6e4743941dd82a2511cd956a3f141fc81e15f4e092da -b4e6db232e028a1f989bb5fc13416711f42d389f63564d60851f009dcffac01acfd54efa307aa6d4c0f932892d4e62b0 -89b5991a67db90024ddd844e5e1a03ef9b943ad54194ae0a97df775dde1addf31561874f4e40fbc37a896630f3bbda58 -ad0e8442cb8c77d891df49cdb9efcf2b0d15ac93ec9be1ad5c3b3cca1f4647b675e79c075335c1f681d56f14dc250d76 -b5d55a6ae65bb34dd8306806cb49b5ccb1c83a282ee47085cf26c4e648e19a52d9c422f65c1cd7e03ca63e926c5e92ea -b749501347e5ec07e13a79f0cb112f1b6534393458b3678a77f02ca89dca973fa7b30e55f0b25d8b92b97f6cb0120056 -94144b4a3ffc5eec6ba35ce9c245c148b39372d19a928e236a60e27d7bc227d18a8cac9983851071935d8ffb64b3a34f -92bb4f9f85bc8c028a3391306603151c6896673135f8a7aefedd27acb322c04ef5dac982fc47b455d6740023e0dd3ea3 -b9633a4a101461a782fc2aa092e9dbe4e2ad00987578f18cd7cf0021a909951d60fe79654eb7897806795f93c8ff4d1c -809f0196753024821b48a016eca5dbb449a7c55750f25981bb7a4b4c0e0846c09b8f6128137905055fc43a3f0deb4a74 -a27dc9cdd1e78737a443570194a03d89285576d3d7f3a3cf15cc55b3013e42635d4723e2e8fe1d0b274428604b630db9 -861f60f0462e04cd84924c36a28163def63e777318d00884ab8cb64c8df1df0bce5900342163edb60449296484a6c5bf -b7bc23fb4e14af4c4704a944253e760adefeca8caee0882b6bbd572c84434042236f39ae07a8f21a560f486b15d82819 -b9a6eb492d6dd448654214bd01d6dc5ff12067a11537ab82023fc16167507ee25eed2c91693912f4155d1c07ed9650b3 -97678af29c68f9a5e213bf0fb85c265303714482cfc4c2c00b4a1e8a76ed08834ee6af52357b143a1ca590fb0265ea5a -8a15b499e9eca5b6cac3070b5409e8296778222018ad8b53a5d1f6b70ad9bb10c68a015d105c941ed657bf3499299e33 -b487fefede2e8091f2c7bfe85770db2edff1db83d4effe7f7d87bff5ab1ace35e9b823a71adfec6737fede8d67b3c467 -8b51b916402aa2c437fce3bcad6dad3be8301a1a7eab9d163085b322ffb6c62abf28637636fe6114573950117fc92898 -b06a2106d031a45a494adec0881cb2f82275dff9dcdd2bc16807e76f3bec28a6734edd3d54f0be8199799a78cd6228ad -af0a185391bbe2315eb97feac98ad6dd2e5d931d012c621abd6e404a31cc188b286fef14871762190acf086482b2b5e2 -8e78ee8206506dd06eb7729e32fceda3bebd8924a64e4d8621c72e36758fda3d0001af42443851d6c0aea58562870b43 -a1ba52a569f0461aaf90b49b92be976c0e73ec4a2c884752ee52ffb62dd137770c985123d405dfb5de70692db454b54a -8d51b692fa1543c51f6b62b9acb8625ed94b746ef96c944ca02859a4133a5629da2e2ce84e111a7af8d9a5b836401c64 -a7a20d45044cf6492e0531d0b8b26ffbae6232fa05a96ed7f06bdb64c2b0f5ca7ec59d5477038096a02579e633c7a3ff -84df867b98c53c1fcd4620fef133ee18849c78d3809d6aca0fb6f50ff993a053a455993f216c42ab6090fa5356b8d564 -a7227c439f14c48e2577d5713c97a5205feb69acb0b449152842e278fa71e8046adfab468089c8b2288af1fc51fa945b -855189b3a105670779997690876dfaa512b4a25a24931a912c2f0f1936971d2882fb4d9f0b3d9daba77eaf660e9d05d5 -b5696bd6706de51c502f40385f87f43040a5abf99df705d6aac74d88c913b8ecf7a99a63d7a37d9bdf3a941b9e432ff5 -ab997beb0d6df9c98d5b49864ef0b41a2a2f407e1687dfd6089959757ba30ed02228940b0e841afe6911990c74d536c4 -b36b65f85546ebfdbe98823d5555144f96b4ab39279facd19c0de3b8919f105ba0315a0784dce4344b1bc62d8bb4a5a3 -b8371f0e4450788720ac5e0f6cd3ecc5413d33895083b2c168d961ec2b5c3de411a4cc0712481cbe8df8c2fa1a7af006 -98325d8026b810a8b7a114171ae59a57e8bbc9848e7c3df992efc523621729fd8c9f52114ce01d7730541a1ada6f1df1 -8d0e76dbd37806259486cd9a31bc8b2306c2b95452dc395546a1042d1d17863ef7a74c636b782e214d3aa0e8d717f94a -a4e15ead76da0214d702c859fb4a8accdcdad75ed08b865842bd203391ec4cba2dcc916455e685f662923b96ee0c023f -8618190972086ebb0c4c1b4a6c94421a13f378bc961cc8267a301de7390c5e73c3333864b3b7696d81148f9d4843fd02 -85369d6cc7342e1aa15b59141517d8db8baaaeb7ab9670f3ba3905353948d575923d283b7e5a05b13a30e7baf1208a86 -87c51ef42233c24a6da901f28c9a075d9ba3c625687c387ad6757b72ca6b5a8885e6902a3082da7281611728b1e45f26 -aa6348a4f71927a3106ad0ea8b02fc8d8c65531e4ab0bd0a17243e66f35afe252e40ab8eef9f13ae55a72566ffdaff5c -96a3bc976e9d03765cc3fee275fa05b4a84c94fed6b767e23ca689394501e96f56f7a97cffddc579a6abff632bf153be -97dbf96c6176379fdb2b888be4e757b2bca54e74124bd068d3fa1dbd82a011bbeb75079da38e0cd22a761fe208ecad9b -b70cf0a1d14089a4129ec4e295313863a59da8c7e26bf74cc0e704ed7f0ee4d7760090d0ddf7728180f1bf2c5ac64955 -882d664714cc0ffe53cbc9bef21f23f3649824f423c4dbad1f893d22c4687ab29583688699efc4d5101aa08b0c3e267a -80ecb7cc963e677ccaddbe3320831dd6ee41209acf4ed41b16dc4817121a3d86a1aac9c4db3d8c08a55d28257088af32 -a25ba667d832b145f9ce18c3f9b1bd00737aa36db020e1b99752c8ef7d27c6c448982bd8d352e1b6df266b8d8358a8d5 -83734841c13dee12759d40bdd209b277e743b0d08cc0dd1e0b7afd2d65bfa640400eefcf6be4a52e463e5b3d885eeac6 -848d16505b04804afc773aebabb51b36fd8aacfbb0e09b36c0d5d57df3c0a3b92f33e7d5ad0a7006ec46ebb91df42b8c -909a8d793f599e33bb9f1dc4792a507a97169c87cd5c087310bc05f30afcd247470b4b56dec59894c0fb1d48d39bb54e -8e558a8559df84a1ba8b244ece667f858095c50bb33a5381e60fcc6ba586b69693566d8819b4246a27287f16846c1dfa -84d6b69729f5aaa000cd710c2352087592cfbdf20d5e1166977e195818e593fa1a50d1e04566be23163a2523dc1612f1 -9536d262b7a42125d89f4f32b407d737ba8d9242acfc99d965913ab3e043dcac9f7072a43708553562cac4cba841df30 -9598548923ca119d6a15fd10861596601dd1dedbcccca97bb208cdc1153cf82991ea8cc17686fbaa867921065265970c -b87f2d4af6d026e4d2836bc3d390a4a18e98a6e386282ce96744603bab74974272e97ac2da281afa21885e2cbb3a8001 -991ece62bf07d1a348dd22191868372904b9f8cf065ae7aa4e44fd24a53faf6d851842e35fb472895963aa1992894918 -a8c53dea4c665b30e51d22ca6bc1bc78aaf172b0a48e64a1d4b93439b053877ec26cb5221c55efd64fa841bbf7d5aff4 -93487ec939ed8e740f15335b58617c3f917f72d07b7a369befd479ae2554d04deb240d4a14394b26192efae4d2f4f35d -a44793ab4035443f8f2968a40e043b4555960193ffa3358d22112093aadfe2c136587e4139ffd46d91ed4107f61ea5e0 -b13fe033da5f0d227c75927d3dacb06dbaf3e1322f9d5c7c009de75cdcba5e308232838785ab69a70f0bedea755e003f -970a29b075faccd0700fe60d1f726bdebf82d2cc8252f4a84543ebd3b16f91be42a75c9719a39c4096139f0f31393d58 -a4c3eb1f7160f8216fc176fb244df53008ff32f2892363d85254002e66e2de21ccfe1f3b1047589abee50f29b9d507e3 -8c552885eab04ba40922a8f0c3c38c96089c95ff1405258d3f1efe8d179e39e1295cbf67677894c607ae986e4e6b1fb0 -b3671746fa7f848c4e2ae6946894defadd815230b906b419143523cc0597bc1d6c0a4c1e09d49b66b4a2c11cde3a4de3 -937a249a95813a5e2ef428e355efd202e15a37d73e56cfb7e57ea9f943f2ce5ca8026f2f1fd25bf164ba89d07077d858 -83646bdf6053a04aa9e2f112499769e5bd5d0d10f2e13db3ca89bd45c0b3b7a2d752b7d137fb3909f9c62b78166c9339 -b4eac4b91e763666696811b7ed45e97fd78310377ebea1674b58a2250973f80492ac35110ed1240cd9bb2d17493d708c -82db43a99bc6573e9d92a3fd6635dbbb249ac66ba53099c3c0c8c8080b121dd8243cd5c6e36ba0a4d2525bae57f5c89c -a64d6a264a681b49d134c655d5fc7756127f1ee7c93d328820f32bca68869f53115c0d27fef35fe71f7bc4fdaed97348 -8739b7a9e2b4bc1831e7f04517771bc7cde683a5e74e052542517f8375a2f64e53e0d5ac925ef722327e7bb195b4d1d9 -8f337cdd29918a2493515ebb5cf702bbe8ecb23b53c6d18920cc22f519e276ca9b991d3313e2d38ae17ae8bdfa4f8b7e -b0edeab9850e193a61f138ef2739fc42ceec98f25e7e8403bfd5fa34a7bc956b9d0898250d18a69fa4625a9b3d6129da -a9920f26fe0a6d51044e623665d998745c9eca5bce12051198b88a77d728c8238f97d4196f26e43b24f8841500b998d0 -86e655d61502b979eeeeb6f9a7e1d0074f936451d0a1b0d2fa4fb3225b439a3770767b649256fe481361f481a8dbc276 -84d3b32fa62096831cc3bf013488a9f3f481dfe293ae209ed19585a03f7db8d961a7a9dd0db82bd7f62d612707575d9c -81c827826ec9346995ffccf62a241e3b2d32f7357acd1b1f8f7a7dbc97022d3eb51b8a1230e23ce0b401d2e535e8cd78 -94a1e40c151191c5b055b21e86f32e69cbc751dcbdf759a48580951834b96a1eed75914c0d19a38aefd21fb6c8d43d0c -ab890222b44bc21b71f7c75e15b6c6e16bb03371acce4f8d4353ff3b8fcd42a14026589c5ed19555a3e15e4d18bfc3a3 -accb0be851e93c6c8cc64724cdb86887eea284194b10e7a43c90528ed97e9ec71ca69c6fac13899530593756dd49eab2 -b630220aa9e1829c233331413ee28c5efe94ea8ea08d0c6bfd781955078b43a4f92915257187d8526873e6c919c6a1de -add389a4d358c585f1274b73f6c3c45b58ef8df11f9d11221f620e241bf3579fba07427b288c0c682885a700cc1fa28d -a9fe6ca8bf2961a3386e8b8dcecc29c0567b5c0b3bcf3b0f9169f88e372b80151af883871fc5229815f94f43a6f5b2b0 -ad839ae003b92b37ea431fa35998b46a0afc3f9c0dd54c3b3bf7a262467b13ff3c323ada1c1ae02ac7716528bdf39e3e -9356d3fd0edcbbb65713c0f2a214394f831b26f792124b08c5f26e7f734b8711a87b7c4623408da6a091c9aef1f6af3c -896b25b083c35ac67f0af3784a6a82435b0e27433d4d74cd6d1eafe11e6827827799490fb1c77c11de25f0d75f14e047 -8bfa019391c9627e8e5f05c213db625f0f1e51ec68816455f876c7e55b8f17a4f13e5aae9e3fb9e1cf920b1402ee2b40 -8ba3a6faa6a860a8f3ce1e884aa8769ceded86380a86520ab177ab83043d380a4f535fe13884346c5e51bee68da6ab41 -a8292d0844084e4e3bb7af92b1989f841a46640288c5b220fecfad063ee94e86e13d3d08038ec2ac82f41c96a3bfe14d -8229bb030b2fc566e11fd33c7eab7a1bb7b49fed872ea1f815004f7398cb03b85ea14e310ec19e1f23e0bdaf60f8f76c -8cfbf869ade3ec551562ff7f63c2745cc3a1f4d4dc853a0cd42dd5f6fe54228f86195ea8fe217643b32e9f513f34a545 -ac52a3c8d3270ddfe1b5630159da9290a5ccf9ccbdef43b58fc0a191a6c03b8a5974cf6e2bbc7bd98d4a40a3581482d7 -ab13decb9e2669e33a7049b8eca3ca327c40dea15ad6e0e7fa63ed506db1d258bc36ac88b35f65cae0984e937eb6575d -b5e748eb1a7a1e274ff0cc56311c198f2c076fe4b7e73e5f80396fe85358549df906584e6bb2c8195b3e2be7736850a5 -b5cb911325d8f963c41f691a60c37831c7d3bbd92736efa33d1f77a22b3fde7f283127256c2f47e197571e6fe0b46149 -8a01dc6ed1b55f26427a014faa347130738b191a06b800e32042a46c13f60b49534520214359d68eb2e170c31e2b8672 -a72fa874866e19b2efb8e069328362bf7921ec375e3bcd6b1619384c3f7ee980f6cf686f3544e9374ff54b4d17a1629c -8db21092f7c5f110fba63650b119e82f4b42a997095d65f08f8237b02dd66fdf959f788df2c35124db1dbd330a235671 -8c65d50433d9954fe28a09fa7ba91a70a590fe7ba6b3060f5e4be0f6cef860b9897fa935fb4ebc42133524eb071dd169 -b4614058e8fa21138fc5e4592623e78b8982ed72aa35ee4391b164f00c68d277fa9f9eba2eeefc890b4e86eba5124591 -ab2ad3a1bce2fbd55ca6b7c23786171fe1440a97d99d6df4d80d07dd56ac2d7203c294b32fc9e10a6c259381a73f24a1 -812ae3315fdc18774a8da3713a4679e8ed10b9405edc548c00cacbe25a587d32040566676f135e4723c5dc25df5a22e9 -a464b75f95d01e5655b54730334f443c8ff27c3cb79ec7af4b2f9da3c2039c609908cd128572e1fd0552eb597e8cef8d -a0db3172e93ca5138fe419e1c49a1925140999f6eff7c593e5681951ee0ec1c7e454c851782cbd2b8c9bc90d466e90e0 -806db23ba7d00b87d544eed926b3443f5f9c60da6b41b1c489fba8f73593b6e3b46ebfcab671ee009396cd77d5e68aa1 -8bfdf2c0044cc80260994e1c0374588b6653947b178e8b312be5c2a05e05767e98ea15077278506aee7df4fee1aaf89e -827f6558c16841b5592ff089c9c31e31eb03097623524394813a2e4093ad2d3f8f845504e2af92195aaa8a1679d8d692 -925c4f8eab2531135cd71a4ec88e7035b5eea34ba9d799c5898856080256b4a15ed1a746e002552e2a86c9c157e22e83 -a9f9a368f0e0b24d00a35b325964c85b69533013f9c2cfad9708be5fb87ff455210f8cb8d2ce3ba58ca3f27495552899 -8ac0d3bebc1cae534024187e7c71f8927ba8fcc6a1926cb61c2b6c8f26bb7831019e635a376146c29872a506784a4aaa -97c577be2cbbfdb37ad754fae9df2ada5fc5889869efc7e18a13f8e502fbf3f4067a509efbd46fd990ab47ce9a70f5a8 -935e7d82bca19f16614aa43b4a3474e4d20d064e4bfdf1cea2909e5c9ab72cfe3e54dc50030e41ee84f3588cebc524e9 -941aafc08f7c0d94cebfbb1f0aad5202c02e6e37f2c12614f57e727efa275f3926348f567107ee6d8914dd71e6060271 -af0fbc1ba05b4b5b63399686df3619968be5d40073de0313cbf5f913d3d4b518d4c249cdd2176468ccaa36040a484f58 -a0c414f23f46ca6d69ce74c6f8a00c036cb0edd098af0c1a7d39c802b52cfb2d5dbdf93fb0295453d4646e2af7954d45 -909cf39e11b3875bb63b39687ae1b5d1f5a15445e39bf164a0b14691b4ddb39a8e4363f584ef42213616abc4785b5d66 -a92bac085d1194fbd1c88299f07a061d0bdd3f980b663e81e6254dbb288bf11478c0ee880e28e01560f12c5ccb3c0103 -841705cd5cd76b943e2b7c5e845b9dd3c8defe8ef67e93078d6d5e67ade33ad4b0fd413bc196f93b0a4073c855cd97d4 -8e7eb8364f384a9161e81d3f1d52ceca9b65536ae49cc35b48c3e2236322ba4ae9973e0840802d9fa4f4d82ea833544f -aed3ab927548bc8bec31467ba80689c71a168e34f50dcb6892f19a33a099f5aa6b3f9cb79f5c0699e837b9a8c7f27efe -b8fbf7696210a36e20edabd77839f4dfdf50d6d015cdf81d587f90284a9bcef7d2a1ff520728d7cc69a4843d6c20dedd -a9d533769ce6830211c884ae50a82a7bf259b44ac71f9fb11f0296fdb3981e6b4c1753fe744647b247ebc433a5a61436 -8b4bdf90d33360b7f428c71cde0a49fb733badba8c726876945f58c620ce7768ae0e98fc8c31fa59d8955a4823336bb1 -808d42238e440e6571c59e52a35ae32547d502dc24fd1759d8ea70a7231a95859baf30b490a4ba55fa2f3aaa11204597 -85594701f1d2fee6dc1956bc44c7b31db93bdeec2f3a7d622c1a08b26994760773e3d57521a44cfd7e407ac3fd430429 -a66de045ce7173043a6825e9dc440ac957e2efb6df0a337f4f8003eb0c719d873a52e6eba3cb0d69d977ca37d9187674 -87a1c6a1fdff993fa51efa5c3ba034c079c0928a7d599b906336af7c2dcab9721ceaf3108c646490af9dff9a754f54b3 -926424223e462ceb75aed7c22ade8a7911a903b7e5dd4bc49746ddce8657f4616325cd12667d4393ac52cdd866396d0e -b5dc96106593b42b30f06f0b0a1e0c1aafc70432e31807252d3674f0b1ea5e58eac8424879d655c9488d85a879a3e572 -997ca0987735cc716507cb0124b1d266d218b40c9d8e0ecbf26a1d65719c82a637ce7e8be4b4815d307df717bde7c72a -92994d3f57a569b7760324bb5ae4e8e14e1633d175dab06aa57b8e391540e05f662fdc08b8830f489a063f59b689a688 -a8087fcc6aa4642cb998bea11facfe87eb33b90a9aa428ab86a4124ad032fc7d2e57795311a54ec9f55cc120ebe42df1 -a9bd7d1de6c0706052ca0b362e2e70e8c8f70f1f026ea189b4f87a08ce810297ebfe781cc8004430776c54c1a05ae90c -856d33282e8a8e33a3d237fb0a0cbabaf77ba9edf2fa35a831fdafcadf620561846aa6cbb6bdc5e681118e1245834165 -9524a7aa8e97a31a6958439c5f3339b19370f03e86b89b1d02d87e4887309dbbe9a3a8d2befd3b7ed5143c8da7e0a8ad -824fdf433e090f8acbd258ac7429b21f36f9f3b337c6d0b71d1416a5c88a767883e255b2888b7c906dd2e9560c4af24c -88c7fee662ca7844f42ed5527996b35723abffd0d22d4ca203b9452c639a5066031207a5ae763dbc0865b3299d19b1ec -919dca5c5595082c221d5ab3a5bc230f45da7f6dec4eb389371e142c1b9c6a2c919074842479c2844b72c0d806170c0c -b939be8175715e55a684578d8be3ceff3087f60fa875fff48e52a6e6e9979c955efef8ff67cfa2b79499ea23778e33b0 -873b6db725e7397d11bc9bed9ac4468e36619135be686790a79bc6ed4249058f1387c9a802ea86499f692cf635851066 -aeae06db3ec47e9e5647323fa02fac44e06e59b885ad8506bf71b184ab3895510c82f78b6b22a5d978e8218e7f761e9f -b99c0a8359c72ab88448bae45d4bf98797a26bca48b0d4460cd6cf65a4e8c3dd823970ac3eb774ae5d0cea4e7fadf33e -8f10c8ec41cdfb986a1647463076a533e6b0eec08520c1562401b36bb063ac972aa6b28a0b6ce717254e35940b900e3c -a106d9be199636d7add43b942290269351578500d8245d4aae4c083954e4f27f64740a3138a66230391f2d0e6043a8de -a469997908244578e8909ff57cffc070f1dbd86f0098df3cfeb46b7a085cfecc93dc69ee7cad90ff1dc5a34d50fe580c -a4ef087bea9c20eb0afc0ee4caba7a9d29dfa872137828c721391273e402fb6714afc80c40e98bbd8276d3836bffa080 -b07a013f73cd5b98dae0d0f9c1c0f35bff8a9f019975c4e1499e9bee736ca6fcd504f9bc32df1655ff333062382cff04 -b0a77188673e87cc83348c4cc5db1eecf6b5184e236220c8eeed7585e4b928db849944a76ec60ef7708ef6dac02d5592 -b1284b37e59b529f0084c0dacf0af6c0b91fc0f387bf649a8c74819debf606f7b07fc3e572500016fb145ec2b24e9f17 -97b20b5b4d6b9129da185adfbf0d3d0b0faeba5b9715f10299e48ea0521709a8296a9264ce77c275a59c012b50b6519a -b9d37e946fae5e4d65c1fbfacc8a62e445a1c9d0f882e60cca649125af303b3b23af53c81d7bac544fb7fcfc7a314665 -8e5acaac379f4bb0127efbef26180f91ff60e4c525bc9b798fc50dfaf4fe8a5aa84f18f3d3cfb8baead7d1e0499af753 -b0c0b8ab1235bf1cda43d4152e71efc1a06c548edb964eb4afceb201c8af24240bf8ab5cae30a08604e77432b0a5faf0 -8cc28d75d5c8d062d649cbc218e31c4d327e067e6dbd737ec0a35c91db44fbbd0d40ec424f5ed79814add16947417572 -95ae6219e9fd47efaa9cb088753df06bc101405ba50a179d7c9f7c85679e182d3033f35b00dbba71fdcd186cd775c52e -b5d28fa09f186ebc5aa37453c9b4d9474a7997b8ae92748ecb940c14868792292ac7d10ade01e2f8069242b308cf97e5 -8c922a0faa14cc6b7221f302df3342f38fc8521ec6c653f2587890192732c6da289777a6cd310747ea7b7d104af95995 -b9ad5f660b65230de54de535d4c0fcae5bc6b59db21dea5500fdc12eea4470fb8ea003690fdd16d052523418d5e01e8c -a39a9dd41a0ff78c82979483731f1cd68d3921c3e9965869662c22e02dde3877802e180ba93f06e7346f96d9fa9261d2 -8b32875977ec372c583b24234c27ed73aef00cdff61eb3c3776e073afbdeade548de9497c32ec6d703ff8ad0a5cb7fe4 -9644cbe755a5642fe9d26cfecf170d3164f1848c2c2e271d5b6574a01755f3980b3fc870b98cf8528fef6ecef4210c16 -81ea9d1fdd9dd66d60f40ce0712764b99da9448ae0b300f8324e1c52f154e472a086dda840cb2e0b9813dc8ce8afd4b5 -906aaa4a7a7cdf01909c5cfbc7ded2abc4b869213cbf7c922d4171a4f2e637e56f17020b852ad339d83b8ac92f111666 -939b5f11acbdeff998f2a080393033c9b9d8d5c70912ea651c53815c572d36ee822a98d6dfffb2e339f29201264f2cf4 -aba4898bf1ccea9b9e2df1ff19001e05891581659c1cbbde7ee76c349c7fc7857261d9785823c9463a8aea3f40e86b38 -83ca1a56b8a0be4820bdb5a9346357c68f9772e43f0b887729a50d2eb2a326bbcede676c8bf2e51d7c89bbd8fdb778a6 -94e86e9fe6addfe2c3ee3a547267ed921f4230d877a85bb4442c2d9350c2fa9a9c54e6fe662de82d1a2407e4ab1691c2 -a0cc3bdef671a59d77c6984338b023fa2b431b32e9ed2abe80484d73edc6540979d6f10812ecc06d4d0c5d4eaca7183c -b5343413c1b5776b55ea3c7cdd1f3af1f6bd802ea95effe3f2b91a523817719d2ecc3f8d5f3cc2623ace7e35f99ca967 -92085d1ed0ed28d8cabe3e7ff1905ed52c7ceb1eac5503760c52fb5ee3a726aba7c90b483c032acc3f166b083d7ec370 -8ec679520455275cd957fca8122724d287db5df7d29f1702a322879b127bff215e5b71d9c191901465d19c86c8d8d404 -b65eb2c63d8a30332eb24ee8a0c70156fc89325ebbb38bacac7cf3f8636ad8a472d81ccca80423772abc00192d886d8a -a9fe1c060b974bee4d590f2873b28635b61bfcf614e61ff88b1be3eee4320f4874e21e8d666d8ac8c9aba672efc6ecae -b3fe2a9a389c006a831dea7e777062df84b5c2803f9574d7fbe10b7e1c125817986af8b6454d6be9d931a5ac94cfe963 -95418ad13b734b6f0d33822d9912c4c49b558f68d08c1b34a0127fcfa666bcae8e6fda8832d2c75bb9170794a20e4d7c -a9a7df761e7f18b79494bf429572140c8c6e9d456c4d4e336184f3f51525a65eb9582bea1e601bdb6ef8150b7ca736a5 -a0de03b1e75edf7998c8c1ac69b4a1544a6fa675a1941950297917366682e5644a4bda9cdeedfaf9473d7fccd9080b0c -a61838af8d95c95edf32663a68f007d95167bf6e41b0c784a30b22d8300cfdd5703bd6d16e86396638f6db6ae7e42a85 -8866d62084d905c145ff2d41025299d8b702ac1814a7dec4e277412c161bc9a62fed735536789cb43c88693c6b423882 -91da22c378c81497fe363e7f695c0268443abee50f8a6625b8a41e865638a643f07b157ee566de09ba09846934b4e2d7 -941d21dd57c9496aa68f0c0c05507405fdd413acb59bc668ce7e92e1936c68ec4b065c3c30123319884149e88228f0b2 -a77af9b094bc26966ddf2bf9e1520c898194a5ccb694915950dadc204facbe3066d3d89f50972642d76b14884cfbaa21 -8e76162932346869f4618bde744647f7ab52ab498ad654bdf2a4feeb986ac6e51370841e5acbb589e38b6e7142bb3049 -b60979ace17d6937ece72e4f015da4657a443dd01cebc7143ef11c09e42d4aa8855999a65a79e2ea0067f31c9fc2ab0f -b3e2ffdd5ee6fd110b982fd4fad4b93d0fca65478f986d086eeccb0804960bfaa1919afa743c2239973ea65091fe57d2 -8ce0ce05e7d7160d44574011da687454dbd3c8b8290aa671731b066e2c82f8cf2d63cb8e932d78c6122ec610e44660e6 -ab005dd8d297045c39e2f72fb1c48edb501ccf3575d3d04b9817b3afee3f0bb0f3f53f64bda37d1d9cde545aae999bae -95bd7edb4c4cd60e3cb8a72558845a3cce6bb7032ccdf33d5a49ebb6ddf203bc3c79e7b7e550735d2d75b04c8b2441e8 -889953ee256206284094e4735dbbb17975bafc7c3cb94c9fbfee4c3e653857bfd49e818f64a47567f721b98411a3b454 -b188423e707640ab0e75a061e0b62830cde8afab8e1ad3dae30db69ffae4e2fc005bababbdcbd7213b918ed4f70e0c14 -a97e0fafe011abd70d4f99a0b36638b3d6e7354284588f17a88970ed48f348f88392779e9a038c6cbc9208d998485072 -87db11014a91cb9b63e8dfaa82cdebca98272d89eb445ee1e3ff9dbaf2b3fad1a03b888cffc128e4fe208ed0dddece0f -aad2e40364edd905d66ea4ac9d51f9640d6fda9a54957d26ba233809851529b32c85660fa401dbee3679ec54fa6dd966 -863e99336ca6edf03a5a259e59a2d0f308206e8a2fb320cfc0be06057366df8e0f94b33a28f574092736b3c5ada84270 -b34bcc56a057589f34939a1adc51de4ff6a9f4fee9c7fa9aa131e28d0cf0759a0c871b640162acdfbf91f3f1b59a3703 -935dd28f2896092995c5eff1618e5b6efe7a40178888d7826da9b0503c2d6e68a28e7fac1a334e166d0205f0695ef614 -b842cd5f8f5de5ca6c68cb4a5c1d7b451984930eb4cc18fd0934d52fdc9c3d2d451b1c395594d73bc3451432bfba653f -9014537885ce2debad736bc1926b25fdab9f69b216bf024f589c49dc7e6478c71d595c3647c9f65ff980b14f4bb2283b -8e827ccca1dd4cd21707140d10703177d722be0bbe5cac578db26f1ef8ad2909103af3c601a53795435b27bf95d0c9ed -8a0b8ad4d466c09d4f1e9167410dbe2edc6e0e6229d4b3036d30f85eb6a333a18b1c968f6ca6d6889bb08fecde017ef4 -9241ee66c0191b06266332dc9161dede384c4bb4e116dbd0890f3c3790ec5566da4568243665c4725b718ac0f6b5c179 -aeb4d5fad81d2b505d47958a08262b6f1b1de9373c2c9ba6362594194dea3e002ab03b8cbb43f867be83065d3d370f19 -8781bc83bb73f7760628629fe19e4714b494dbed444c4e4e4729b7f6a8d12ee347841a199888794c2234f51fa26fc2b9 -b58864f0acd1c2afa29367e637cbde1968d18589245d9936c9a489c6c495f54f0113ecdcbe4680ac085dd3c397c4d0c3 -94a24284afaeead61e70f3e30f87248d76e9726759445ca18cdb9360586c60cc9f0ec1c397f9675083e0b56459784e2e -aed358853f2b54dcbddf865e1816c2e89be12e940e1abfa661e2ee63ffc24a8c8096be2072fa83556482c0d89e975124 -b95374e6b4fc0765708e370bc881e271abf2e35c08b056a03b847e089831ef4fe3124b9c5849d9c276eb2e35b3daf264 -b834cdbcfb24c8f84bfa4c552e7fadc0028a140952fd69ed13a516e1314a4cd35d4b954a77d51a1b93e1f5d657d0315d -8fb6d09d23bfa90e7443753d45a918d91d75d8e12ec7d016c0dfe94e5c592ba6aaf483d2f16108d190822d955ad9cdc3 -aa315cd3c60247a6ad4b04f26c5404c2713b95972843e4b87b5a36a89f201667d70f0adf20757ebe1de1b29ae27dda50 -a116862dca409db8beff5b1ccd6301cdd0c92ca29a3d6d20eb8b87f25965f42699ca66974dd1a355200157476b998f3b -b4c2f5fe173c4dc8311b60d04a65ce1be87f070ac42e13cd19c6559a2931c6ee104859cc2520edebbc66a13dc7d30693 -8d4a02bf99b2260c334e7d81775c5cf582b00b0c982ce7745e5a90624919028278f5e9b098573bad5515ce7fa92a80c8 -8543493bf564ce6d97bd23be9bff1aba08bd5821ca834f311a26c9139c92a48f0c2d9dfe645afa95fec07d675d1fd53b -9344239d13fde08f98cb48f1f87d34cf6abe8faecd0b682955382a975e6eed64e863fa19043290c0736261622e00045c -aa49d0518f343005ca72b9e6c7dcaa97225ce6bb8b908ebbe7b1a22884ff8bfb090890364e325a0d414ad180b8f161d1 -907d7fd3e009355ab326847c4a2431f688627faa698c13c03ffdd476ecf988678407f029b8543a475dcb3dafdf2e7a9c -845f1f10c6c5dad2adc7935f5cd2e2b32f169a99091d4f1b05babe7317b9b1cdce29b5e62f947dc621b9acbfe517a258 -8f3be8e3b380ea6cdf9e9c237f5e88fd5a357e5ded80ea1fc2019810814de82501273b4da38916881125b6fa0cfd4459 -b9c7f487c089bf1d20c822e579628db91ed9c82d6ca652983aa16d98b4270c4da19757f216a71b9c13ddee3e6e43705f -8ba2d8c88ad2b872db104ea8ddbb006ec2f3749fd0e19298a804bb3a5d94de19285cc7fb19fee58a66f7851d1a66c39f -9375ecd3ed16786fe161af5d5c908f56eeb467a144d3bbddfc767e90065b7c94fc53431adebecba2b6c9b5821184d36e -a49e069bfadb1e2e8bff6a4286872e2a9765d62f0eaa4fcb0e5af4bbbed8be3510fb19849125a40a8a81d1e33e81c3eb -9522cc66757b386aa6b88619525c8ce47a5c346d590bb3647d12f991e6c65c3ab3c0cfc28f0726b6756c892eae1672be -a9a0f1f51ff877406fa83a807aeb17b92a283879f447b8a2159653db577848cc451cbadd01f70441e351e9ed433c18bc -8ff7533dcff6be8714df573e33f82cf8e9f2bcaaa43e939c4759d52b754e502717950de4b4252fb904560fc31dce94a4 -959724671e265a28d67c29d95210e97b894b360da55e4cf16e6682e7912491ed8ca14bfaa4dce9c25a25b16af580494f -92566730c3002f4046c737032487d0833c971e775de59fe02d9835c9858e2e3bc37f157424a69764596c625c482a2219 -a84b47ceff13ed9c3e5e9cdf6739a66d3e7c2bd8a6ba318fefb1a9aecf653bb2981da6733ddb33c4b0a4523acc429d23 -b4ddf571317e44f859386d6140828a42cf94994e2f1dcbcc9777f4eebbfc64fc1e160b49379acc27c4672b8e41835c5d -8ab95c94072b853d1603fdd0a43b30db617d13c1d1255b99075198e1947bfa5f59aed2b1147548a1b5e986cd9173d15c -89511f2eab33894fd4b3753d24249f410ff7263052c1fef6166fc63a79816656b0d24c529e45ccce6be28de6e375d916 -a0866160ca63d4f2be1b4ea050dac6b59db554e2ebb4e5b592859d8df339b46fd7cb89aaed0951c3ee540aee982c238a -8fcc5cbba1b94970f5ff2eb1922322f5b0aa7d918d4b380c9e7abfd57afd8b247c346bff7b87af82efbce3052511cd1b -99aeb2a5e846b0a2874cca02c66ed40d5569eb65ab2495bc3f964a092e91e1517941f2688e79f8cca49cd3674c4e06dc -b7a096dc3bad5ca49bee94efd884aa3ff5615cf3825cf95fbe0ce132e35f46581d6482fa82666c7ef5f1643eaee8f1ca -94393b1da6eaac2ffd186b7725eca582f1ddc8cdd916004657f8a564a7c588175cb443fc6943b39029f5bbe0add3fad8 -884b85fe012ccbcd849cb68c3ad832d83b3ef1c40c3954ffdc97f103b1ed582c801e1a41d9950f6bddc1d11f19d5ec76 -b00061c00131eded8305a7ce76362163deb33596569afb46fe499a7c9d7a0734c084d336b38d168024c2bb42b58e7660 -a439153ac8e6ca037381e3240e7ba08d056c83d7090f16ed538df25901835e09e27de2073646e7d7f3c65056af6e4ce7 -830fc9ca099097d1f38b90e6843dc86f702be9d20bdacc3e52cae659dc41df5b8d2c970effa6f83a5229b0244a86fe22 -b81ea2ffaaff2bb00dd59a9ab825ba5eed4db0d8ac9c8ed1a632ce8f086328a1cddd045fbe1ace289083c1325881b7e7 -b51ea03c58daf2db32c99b9c4789b183365168cb5019c72c4cc91ac30b5fb7311d3db76e6fa41b7cd4a8c81e2f6cdc94 -a4170b2c6d09ca5beb08318730419b6f19215ce6c631c854116f904be3bc30dd85a80c946a8ab054d3e307afaa3f8fbc -897cc42ff28971ff54d2a55dd6b35cfb8610ac902f3c06e3a5cea0e0a257e870c471236a8e84709211c742a09c5601a6 -a18f2e98d389dace36641621488664ecbb422088ab03b74e67009b8b8acacaaa24fdcf42093935f355207d934adc52a8 -92adcfb678cc2ba19c866f3f2b988fdcb4610567f3ab436cc0cb9acaf5a88414848d71133ebdbec1983e38e6190f1b5f -a86d43c2ce01b366330d3b36b3ca85f000c3548b8297e48478da1ee7d70d8576d4650cba7852ed125c0d7cb6109aa7f3 -8ed31ceed9445437d7732dce78a762d72ff32a7636bfb3fd7974b7ae15db414d8184a1766915244355deb354fbc5803b -9268f70032584f416e92225d65af9ea18c466ebc7ae30952d56a4e36fd9ea811dde0a126da9220ba3c596ec54d8a335e -9433b99ee94f2d3fbdd63b163a2bdf440379334c52308bd24537f7defd807145a062ff255a50d119a7f29f4b85d250e3 -90ce664f5e4628a02278f5cf5060d1a34f123854634b1870906e5723ac9afd044d48289be283b267d45fcbf3f4656aaf -aaf21c4d59378bb835d42ae5c5e5ab7a3c8c36a59e75997989313197752b79a472d866a23683b329ea69b048b87fa13e -b83c0589b304cec9ede549fde54f8a7c2a468c6657da8c02169a6351605261202610b2055c639b9ed2d5b8c401fb8f56 -9370f326ea0f170c2c05fe2c5a49189f20aec93b6b18a5572a818cd4c2a6adb359e68975557b349fb54f065d572f4c92 -ac3232fa5ce6f03fca238bef1ce902432a90b8afce1c85457a6bee5571c033d4bceefafc863af04d4e85ac72a4d94d51 -80d9ea168ff821b22c30e93e4c7960ce3ad3c1e6deeebedd342a36d01bd942419b187e2f382dbfd8caa34cca08d06a48 -a387a3c61676fb3381eefa2a45d82625635a666e999aba30e3b037ec9e040f414f9e1ad9652abd3bcad63f95d85038db -a1b229fe32121e0b391b0f6e0180670b9dc89d79f7337de4c77ea7ad0073e9593846f06797c20e923092a08263204416 -92164a9d841a2b828cedf2511213268b698520f8d1285852186644e9a0c97512cafa4bfbe29af892c929ebccd102e998 -82ee2fa56308a67c7db4fd7ef539b5a9f26a1c2cc36da8c3206ba4b08258fbb3cec6fe5cdbd111433fb1ba2a1e275927 -8c77bfe9e191f190a49d46f05600603fa42345592539b82923388d72392404e0b29a493a15e75e8b068dddcd444c2928 -80b927f93ccf79dcf5c5b20bcf5a7d91d7a17bc0401bb7cc9b53a6797feac31026eb114257621f5a64a52876e4474cc1 -b6b68b6501c37804d4833d5a063dd108a46310b1400549074e3cac84acc6d88f73948b7ad48d686de89c1ec043ae8c1a -ab3da00f9bdc13e3f77624f58a3a18fc3728956f84b5b549d62f1033ae4b300538e53896e2d943f160618e05af265117 -b6830e87233b8eace65327fdc764159645b75d2fd4024bf8f313b2dd5f45617d7ecfb4a0b53ccafb5429815a9a1adde6 -b9251cfe32a6dc0440615aadcd98b6b1b46e3f4e44324e8f5142912b597ee3526bea2431e2b0282bb58f71be5b63f65e -af8d70711e81cdddfb39e67a1b76643292652584c1ce7ce4feb1641431ad596e75c9120e85f1a341e7a4da920a9cdd94 -98cd4e996594e89495c078bfd52a4586b932c50a449a7c8dfdd16043ca4cda94dafbaa8ad1b44249c99bbcc52152506e -b9fc6d1c24f48404a4a64fbe3e43342738797905db46e4132aee5f086aaa4c704918ad508aaefa455cfe1b36572e6242 -a365e871d30ba9291cedaba1be7b04e968905d003e9e1af7e3b55c5eb048818ae5b913514fb08b24fb4fbdccbb35d0b8 -93bf99510971ea9af9f1e364f1234c898380677c8e8de9b0dd24432760164e46c787bc9ec42a7ad450500706cf247b2d -b872f825a5b6e7b9c7a9ddfeded3516f0b1449acc9b4fd29fc6eba162051c17416a31e5be6d3563f424d28e65bab8b8f -b06b780e5a5e8eb4f4c9dc040f749cf9709c8a4c9ef15e925f442b696e41e5095db0778a6c73bcd329b265f2c6955c8b -848f1a981f5fc6cd9180cdddb8d032ad32cdfa614fc750d690dbae36cc0cd355cbf1574af9b3ffc8b878f1b2fafb9544 -a03f48cbff3e9e8a3a655578051a5ae37567433093ac500ed0021c6250a51b767afac9bdb194ee1e3eac38a08c0eaf45 -b5be78ce638ff8c4aa84352b536628231d3f7558c5be3bf010b28feac3022e64691fa672f358c8b663904aebe24a54ed -a9d4da70ff676fa55d1728ba6ab03b471fa38b08854d99e985d88c2d050102d8ccffbe1c90249a5607fa7520b15fe791 -8fe9f7092ffb0b69862c8e972fb1ecf54308c96d41354ed0569638bb0364f1749838d6d32051fff1599112978c6e229c -ae6083e95f37770ecae0df1e010456f165d96cfe9a7278c85c15cffd61034081ce5723e25e2bede719dc9341ec8ed481 -a260891891103089a7afbd9081ea116cfd596fd1015f5b65e10b0961eb37fab7d09c69b7ce4be8bf35e4131848fb3fe4 -8d729fa32f6eb9fd2f6a140bef34e8299a2f3111bffd0fe463aa8622c9d98bfd31a1df3f3e87cd5abc52a595f96b970e -a30ec6047ae4bc7da4daa7f4c28c93aedb1112cfe240e681d07e1a183782c9ff6783ac077c155af23c69643b712a533f -ac830726544bfe7b5467339e5114c1a75f2a2a8d89453ce86115e6a789387e23551cd64620ead6283dfa4538eb313d86 -8445c135b7a48068d8ed3e011c6d818cfe462b445095e2fbf940301e50ded23f272d799eea47683fc027430ce14613ef -95785411715c9ae9d8293ce16a693a2aa83e3cb1b4aa9f76333d0da2bf00c55f65e21e42e50e6c5772ce213dd7b4f7a0 -b273b024fa18b7568c0d1c4d2f0c4e79ec509dafac8c5951f14192d63ddbcf2d8a7512c1c1b615cc38fa3e336618e0c5 -a78b9d3ea4b6a90572eb27956f411f1d105fdb577ee2ffeec9f221da9b45db84bfe866af1f29597220c75e0c37a628d8 -a4be2bf058c36699c41513c4d667681ce161a437c09d81383244fc55e1c44e8b1363439d0cce90a3e44581fb31d49493 -b6eef13040f17dd4eba22aaf284d2f988a4a0c4605db44b8d2f4bf9567ac794550b543cc513c5f3e2820242dd704152e -87eb00489071fa95d008c5244b88e317a3454652dcb1c441213aa16b28cd3ecaa9b22fec0bdd483c1df71c37119100b1 -92d388acdcb49793afca329cd06e645544d2269234e8b0b27d2818c809c21726bc9cf725651b951e358a63c83dedee24 -ae27e219277a73030da27ab5603c72c8bd81b6224b7e488d7193806a41343dff2456132274991a4722fdb0ef265d04cd -97583e08ecb82bbc27c0c8476d710389fa9ffbead5c43001bd36c1b018f29faa98de778644883e51870b69c5ffb558b5 -90a799a8ce73387599babf6b7da12767c0591cadd36c20a7990e7c05ea1aa2b9645654ec65308ee008816623a2757a6a -a1b47841a0a2b06efd9ab8c111309cc5fc9e1d5896b3e42ed531f6057e5ade8977c29831ce08dbda40348386b1dcc06d -b92b8ef59bbddb50c9457691bc023d63dfcc54e0fd88bd5d27a09e0d98ac290fc90e6a8f6b88492043bf7c87fac8f3e4 -a9d6240b07d62e22ec8ab9b1f6007c975a77b7320f02504fc7c468b4ee9cfcfd945456ff0128bc0ef2174d9e09333f8d -8e96534c94693226dc32bca79a595ca6de503af635f802e86442c67e77564829756961d9b701187fe91318da515bf0e6 -b6ba290623cd8dd5c2f50931c0045d1cfb0c30877bc8fe58cbc3ff61ee8da100045a39153916efa1936f4aee0892b473 -b43baa7717fac02d4294f5b3bb5e58a65b3557747e3188b482410388daac7a9c177f762d943fd5dcf871273921213da8 -b9cf00f8fb5e2ef2b836659fece15e735060b2ea39b8e901d3dcbdcf612be8bf82d013833718c04cd46ffaa70b85f42e -8017d0c57419e414cbba504368723e751ef990cc6f05dad7b3c2de6360adc774ad95512875ab8337d110bf39a42026fa -ae7401048b838c0dcd4b26bb6c56d79d51964a0daba780970b6c97daee4ea45854ea0ac0e4139b3fe60dac189f84df65 -887b237b0cd0f816b749b21db0b40072f9145f7896c36916296973f9e6990ede110f14e5976c906d08987c9836cca57f -a88c3d5770148aee59930561ca1223aceb2c832fb5417e188dca935905301fc4c6c2c9270bc1dff7add490a125eb81c6 -b6cf9b02c0cd91895ad209e38c54039523f137b5848b9d3ad33ae43af6c20c98434952db375fe378de7866f2d0e8b18a -84ef3d322ff580c8ad584b1fe4fe346c60866eb6a56e982ba2cf3b021ecb1fdb75ecc6c29747adda86d9264430b3f816 -a0561c27224baf0927ad144cb71e31e54a064c598373fcf0d66aebf98ab7af1d8e2f343f77baefff69a6da750a219e11 -aa5cc43f5b8162b016f5e1b61214c0c9d15b1078911c650b75e6cdfb49b85ee04c6739f5b1687d15908444f691f732de -ad4ac099b935589c7b8fdfdf3db332b7b82bb948e13a5beb121ebd7db81a87d278024a1434bcf0115c54ca5109585c3d -8a00466abf3f109a1dcd19e643b603d3af23d42794ef8ca2514dd507ecea44a031ac6dbc18bd02f99701168b25c1791e -b00b5900dfad79645f8bee4e5adc7b84eb22e5b1e67df77ccb505b7fc044a6c08a8ea5faca662414eb945f874f884cea -950e204e5f17112250b22ea6bb8423baf522fc0af494366f18fe0f949f51d6e6812074a80875cf1ed9c8e7420058d541 -91e5cbf8bb1a1d50c81608c9727b414d0dd2fb467ebc92f100882a3772e54f94979cfdf8e373fdef7c7fcdd60fec9e00 -a093f6a857b8caaff80599c2e89c962b415ecbaa70d8fd973155fa976a284c6b29a855f5f7a3521134d00d2972755188 -b4d55a3551b00da54cc010f80d99ddd2544bde9219a3173dfaadf3848edc7e4056ab532fb75ac26f5f7141e724267663 -a03ea050fc9b011d1b04041b5765d6f6453a93a1819cd9bd6328637d0b428f08526466912895dcc2e3008ee58822e9a7 -99b12b3665e473d01bc6985844f8994fb65cb15745024fb7af518398c4a37ff215da8f054e8fdf3286984ae36a73ca5e -9972c7e7a7fb12e15f78d55abcaf322c11249cd44a08f62c95288f34f66b51f146302bce750ff4d591707075d9123bd2 -a64b4a6d72354e596d87cda213c4fc2814009461570ccb27d455bbe131f8d948421a71925425b546d8cf63d5458cd64b -91c215c73b195795ede2228b7ed1f6e37892e0c6b0f4a0b5a16c57aa1100c84df9239054a173b6110d6c2b7f4bf1ce52 -88807198910ec1303480f76a3683870246a995e36adaeadc29c22f0bdba8152fe705bd070b75de657b04934f7d0ccf80 -b37c0026c7b32eb02cacac5b55cb5fe784b8e48b2945c64d3037af83ece556a117f0ff053a5968c2f5fa230e291c1238 -94c768384ce212bc2387e91ce8b45e4ff120987e42472888a317abc9dcdf3563b62e7a61c8e98d7cdcbe272167d91fc6 -a10c2564936e967a390cb14ef6e8f8b04ea9ece5214a38837eda09e79e0c7970b1f83adf017c10efd6faa8b7ffa2c567 -a5085eed3a95f9d4b1269182ea1e0d719b7809bf5009096557a0674bde4201b0ddc1f0f16a908fc468846b3721748ce3 -87468eb620b79a0a455a259a6b4dfbc297d0d53336537b771254dd956b145dc816b195b7002647ea218552e345818a3f -ace2b77ffb87366af0a9cb5d27d6fc4a14323dbbf1643f5f3c4559306330d86461bb008894054394cbfaefeaa0bc2745 -b27f56e840a54fbd793f0b7a7631aa4cee64b5947e4382b2dfb5eb1790270288884c2a19afebe5dc0c6ef335d4531c1c -876e438633931f7f895062ee16c4b9d10428875f7bc79a8e156a64d379a77a2c45bf5430c5ab94330f03da352f1e9006 -a2512a252587d200d2092b44c914df54e04ff8bcef36bf631f84bde0cf5a732e3dc7f00f662842cfd74b0b0f7f24180e -827f1bc8f54a35b7a4bd8154f79bcc055e45faed2e74adf7cf21cca95df44d96899e847bd70ead6bb27b9c0ed97bbd8b -a0c92cf5a9ed843714f3aea9fe7b880f622d0b4a3bf66de291d1b745279accf6ba35097849691370f41732ba64b5966b -a63f5c1e222775658421c487b1256b52626c6f79cb55a9b7deb2352622cedffb08502042d622eb3b02c97f9c09f9c957 -8cc093d52651e65fb390e186db6cc4de559176af4624d1c44cb9b0e836832419dacac7b8db0627b96288977b738d785d -aa7b6a17dfcec146134562d32a12f7bd7fe9522e300859202a02939e69dbd345ed7ff164a184296268f9984f9312e8fc -8ac76721f0d2b679f023d06cbd28c85ae5f4b43c614867ccee88651d4101d4fd352dbdb65bf36bfc3ebc0109e4b0c6f9 -8d350f7c05fc0dcd9a1170748846fb1f5d39453e4cb31e6d1457bed287d96fc393b2ecc53793ca729906a33e59c6834a -b9913510dfc5056d7ec5309f0b631d1ec53e3a776412ada9aefdaf033c90da9a49fdde6719e7c76340e86599b1f0eec2 -94955626bf4ce87612c5cfffcf73bf1c46a4c11a736602b9ba066328dc52ad6d51e6d4f53453d4ed55a51e0aad810271 -b0fcab384fd4016b2f1e53f1aafd160ae3b1a8865cd6c155d7073ecc1664e05b1d8bca1def39c158c7086c4e1103345e -827de3f03edfbde08570b72de6662c8bfa499b066a0a27ebad9b481c273097d17a5a0a67f01553da5392ec3f149b2a78 -ab7940384c25e9027c55c40df20bd2a0d479a165ced9b1046958353cd69015eeb1e44ed2fd64e407805ba42df10fc7bf -8ad456f6ff8cd58bd57567d931f923d0c99141978511b17e03cab7390a72b9f62498b2893e1b05c7c22dd274e9a31919 -ac75399e999effe564672db426faa17a839e57c5ef735985c70cd559a377adec23928382767b55ed5a52f7b11b54b756 -b17f975a00b817299ac7af5f2024ea820351805df58b43724393bfb3920a8cd747a3bbd4b8286e795521489db3657168 -a2bed800a6d95501674d9ee866e7314063407231491d794f8cf57d5be020452729c1c7cefd8c50dc1540181f5caab248 -9743f5473171271ffdd3cc59a3ae50545901a7b45cd4bc3570db487865f3b73c0595bebabbfe79268809ee1862e86e4a -b7eab77c2d4687b60d9d7b04e842b3880c7940140012583898d39fcc22d9b9b0a9be2c2e3788b3e6f30319b39c338f09 -8e2b8f797a436a1b661140e9569dcf3e1eea0a77c7ff2bc4ff0f3e49af04ed2de95e255df8765f1d0927fb456a9926b1 -8aefea201d4a1f4ff98ffce94e540bb313f2d4dfe7e9db484a41f13fc316ed02b282e1acc9bc6f56cad2dc2e393a44c9 -b950c17c0e5ca6607d182144aa7556bb0efe24c68f06d79d6413a973b493bfdf04fd147a4f1ab03033a32004cc3ea66f -b7b8dcbb179a07165f2dc6aa829fad09f582a71b05c3e3ea0396bf9e6fe73076f47035c031c2101e8e38e0d597eadd30 -a9d77ed89c77ec1bf8335d08d41c3c94dcca9fd1c54f22837b4e54506b212aa38d7440126c80648ab7723ff18e65ed72 -a819d6dfd4aef70e52b8402fe5d135f8082d40eb7d3bb5c4d7997395b621e2bb10682a1bad2c9caa33dd818550fc3ec6 -8f6ee34128fac8bbf13ce2d68b2bb363eb4fd65b297075f88e1446ddeac242500eeb4ef0735e105882ff5ba8c44c139b -b4440e48255c1644bcecf3a1e9958f1ec4901cb5b1122ee5b56ffd02cad1c29c4266999dbb85aa2605c1b125490074d4 -a43304a067bede5f347775d5811cf65a6380a8d552a652a0063580b5c5ef12a0867a39c7912fa219e184f4538eba1251 -a891ad67a790089ffc9f6d53e6a3d63d3556f5f693e0cd8a7d0131db06fd4520e719cfcc3934f0a8f62a95f90840f1d4 -aea6df8e9bb871081aa0fc5a9bafb00be7d54012c5baf653791907d5042a326aeee966fd9012a582cc16695f5baf7042 -8ffa2660dc52ed1cd4eff67d6a84a8404f358a5f713d04328922269bee1e75e9d49afeec0c8ad751620f22352a438e25 -87ec6108e2d63b06abed350f8b363b7489d642486f879a6c3aa90e5b0f335efc2ff2834eef9353951a42136f8e6a1b32 -865619436076c2760d9e87ddc905023c6de0a8d56eef12c98a98c87837f2ca3f27fd26a2ad752252dbcbe2b9f1d5a032 -980437dce55964293cb315c650c5586ffd97e7a944a83f6618af31c9d92c37b53ca7a21bb5bc557c151b9a9e217e7098 -95d128fc369df4ad8316b72aea0ca363cbc7b0620d6d7bb18f7076a8717a6a46956ff140948b0cc4f6d2ce33b5c10054 -8c7212d4a67b9ec70ebbca04358ad2d36494618d2859609163526d7b3acc2fc935ca98519380f55e6550f70a9bc76862 -893a2968819401bf355e85eee0f0ed0406a6d4a7d7f172d0017420f71e00bb0ba984f6020999a3cdf874d3cd8ebcd371 -9103c1af82dece25d87274e89ea0acd7e68c2921c4af3d8d7c82ab0ed9990a5811231b5b06113e7fa43a6bd492b4564f -99cfd87a94eab7d35466caa4ed7d7bb45e5c932b2ec094258fb14bf205659f83c209b83b2f2c9ccb175974b2a33e7746 -874b6b93e4ee61be3f00c32dd84c897ccd6855c4b6251eb0953b4023634490ed17753cd3223472873cbc6095b2945075 -84a32c0dc4ea60d33aac3e03e70d6d639cc9c4cc435c539eff915017be3b7bdaba33349562a87746291ebe9bc5671f24 -a7057b24208928ad67914e653f5ac1792c417f413d9176ba635502c3f9c688f7e2ee81800d7e3dc0a340c464da2fd9c5 -a03fb9ed8286aacfa69fbd5d953bec591c2ae4153400983d5dbb6cd9ea37fff46ca9e5cceb9d117f73e9992a6c055ad2 -863b2de04e89936c9a4a2b40380f42f20aefbae18d03750fd816c658aee9c4a03df7b12121f795c85d01f415baaeaa59 -8526eb9bd31790fe8292360d7a4c3eed23be23dd6b8b8f01d2309dbfdc0cfd33ad1568ddd7f8a610f3f85a9dfafc6a92 -b46ab8c5091a493d6d4d60490c40aa27950574a338ea5bbc045be3a114af87bdcb160a8c80435a9b7ad815f3cb56a3f3 -aeadc47b41a8d8b4176629557646202f868b1d728b2dda58a347d937e7ffc8303f20d26d6c00b34c851b8aeec547885d -aebb19fc424d72c1f1822aa7adc744cd0ef7e55727186f8df8771c784925058c248406ebeeaf3c1a9ee005a26e9a10c6 -8ff96e81c1a4a2ab1b4476c21018fae0a67e92129ee36120cae8699f2d7e57e891f5c624902cb1b845b944926a605cc3 -8251b8d2c43fadcaa049a9e7aff838dae4fb32884018d58d46403ac5f3beb5c518bfd45f03b8abb710369186075eb71c -a8b2a64f865f51a5e5e86a66455c093407933d9d255d6b61e1fd81ffafc9538d73caaf342338a66ba8ee166372a3d105 -aad915f31c6ba7fdc04e2aaac62e84ef434b7ee76a325f07dc430d12c84081999720181067b87d792efd0117d7ee1eab -a13db3bb60389883fd41d565c54fb5180d9c47ce2fe7a169ae96e01d17495f7f4fa928d7e556e7c74319c4c25d653eb2 -a4491b0198459b3f552855d680a59214eb74e6a4d6c5fa3b309887dc50ebea2ecf6d26c040550f7dc478b452481466fb -8f017f13d4b1e3f0c087843582b52d5f8d13240912254d826dd11f8703a99a2f3166dfbdfdffd9a3492979d77524276b -96c3d5dcd032660d50d7cd9db2914f117240a63439966162b10c8f1f3cf74bc83b0f15451a43b31dbd85e4a7ce0e4bb1 -b479ec4bb79573d32e0ec93b92bdd7ec8c26ddb5a2d3865e7d4209d119fd3499eaac527615ffac78c440e60ef3867ae0 -b2c49c4a33aa94b52b6410b599e81ff15490aafa7e43c8031c865a84e4676354a9c81eb4e7b8be6825fdcefd1e317d44 -906dc51d6a90c089b6704b47592805578a6eed106608eeb276832f127e1b8e858b72e448edcbefb497d152447e0e68ff -b0e81c63b764d7dfbe3f3fddc9905aef50f3633e5d6a4af6b340495124abedcff5700dfd1577bbbed7b6bf97d02719cb -9304c64701e3b4ed6d146e48a881f7d83a17f58357cca0c073b2bb593afd2d94f6e2a7a1ec511d0a67ad6ff4c3be5937 -b6fdbd12ba05aa598d80b83f70a15ef90e5cba7e6e75fa038540ee741b644cd1f408a6cecfd2a891ef8d902de586c6b5 -b80557871a6521b1b3c74a1ba083ae055b575df607f1f7b04c867ba8c8c181ea68f8d90be6031f4d25002cca27c44da2 -aa7285b8e9712e06b091f64163f1266926a36607f9d624af9996856ed2aaf03a580cb22ce407d1ade436c28b44ca173f -8148d72b975238b51e6ea389e5486940d22641b48637d7dfadfa603a605bfc6d74a016480023945d0b85935e396aea5d -8a014933a6aea2684b5762af43dcf4bdbb633cd0428d42d71167a2b6fc563ece5e618bff22f1db2ddb69b845b9a2db19 -990d91740041db770d0e0eb9d9d97d826f09fd354b91c41e0716c29f8420e0e8aac0d575231efba12fe831091ec38d5a -9454d0d32e7e308ddec57cf2522fb1b67a2706e33fb3895e9e1f18284129ab4f4c0b7e51af25681d248d7832c05eb698 -a5bd434e75bac105cb3e329665a35bce6a12f71dd90c15165777d64d4c13a82bceedb9b48e762bd24034e0fc9fbe45f4 -b09e3b95e41800d4dc29c6ffdaab2cd611a0050347f6414f154a47ee20ee59bf8cf7181454169d479ebce1eb5c777c46 -b193e341d6a047d15eea33766d656d807b89393665a783a316e9ba10518e5515c8e0ade3d6e15641d917a8a172a5a635 -ade435ec0671b3621dde69e07ead596014f6e1daa1152707a8c18877a8b067bde2895dd47444ffa69db2bbef1f1d8816 -a7fd3d6d87522dfc56fb47aef9ce781a1597c56a8bbfd796baba907afdc872f753d732bfda1d3402aee6c4e0c189f52d -a298cb4f4218d0464b2fab393e512bbc477c3225aa449743299b2c3572f065bc3a42d07e29546167ed9e1b6b3b3a3af3 -a9ee57540e1fd9c27f4f0430d194b91401d0c642456c18527127d1f95e2dba41c2c86d1990432eb38a692fda058fafde -81d6c1a5f93c04e6d8e5a7e0678c1fc89a1c47a5c920bcd36180125c49fcf7c114866b90e90a165823560b19898a7c16 -a4b7a1ec9e93c899b9fd9aaf264c50e42c36c0788d68296a471f7a3447af4dbc81e4fa96070139941564083ec5b5b5a1 -b3364e327d381f46940c0e11e29f9d994efc6978bf37a32586636c0070b03e4e23d00650c1440f448809e1018ef9f6d8 -8056e0913a60155348300e3a62e28b5e30629a90f7dd4fe11289097076708110a1d70f7855601782a3cdc5bdb1ca9626 -b4980fd3ea17bac0ba9ee1c470b17e575bb52e83ebdd7d40c93f4f87bebeaff1c8a679f9d3d09d635f068d37d5bd28bd -905a9299e7e1853648e398901dfcd437aa575c826551f83520df62984f5679cb5f0ea86aa45ed3e18b67ddc0dfafe809 -ab99553bf31a84f2e0264eb34a08e13d8d15e2484aa9352354becf9a15999c76cc568d68274b70a65e49703fc23540d0 -a43681597bc574d2dae8964c9a8dc1a07613d7a1272bdcb818d98c85d44e16d744250c33f3b5e4d552d97396b55e601f -a54e5a31716fccb50245898c99865644405b8dc920ded7a11f3d19bdc255996054b268e16f2e40273f11480e7145f41e -8134f3ad5ef2ad4ba12a8a4e4d8508d91394d2bcdc38b7c8c8c0b0a820357ac9f79d286c65220f471eb1adca1d98fc68 -94e2f755e60471578ab2c1adb9e9cea28d4eec9b0e92e0140770bca7002c365fcabfe1e5fb4fe6cfe79a0413712aa3ef -ad48f8d0ce7eb3cc6e2a3086ad96f562e5bed98a360721492ae2e74dc158586e77ec8c35d5fd5927376301b7741bad2b -8614f0630bdd7fbad3a31f55afd9789f1c605dc85e7dc67e2edfd77f5105f878bb79beded6e9f0b109e38ea7da67e8d5 -9804c284c4c5e77dabb73f655b12181534ca877c3e1e134aa3f47c23b7ec92277db34d2b0a5d38d2b69e5d1c3008a3e3 -a51b99c3088e473afdaa9e0a9f7e75a373530d3b04e44e1148da0726b95e9f5f0c7e571b2da000310817c36f84b19f7f -ac4ff909933b3b76c726b0a382157cdc74ab851a1ac6cef76953c6444441804cc43abb883363f416592e8f6cfbc4550b -ae7d915eb9fc928b65a29d6edbc75682d08584d0014f7bcf17d59118421ae07d26a02137d1e4de6938bcd1ab8ef48fad -852f7e453b1af89b754df6d11a40d5d41ea057376e8ecacd705aacd2f917457f4a093d6b9a8801837fa0f62986ad7149 -92c6bf5ada5d0c3d4dd8058483de36c215fa98edab9d75242f3eff9db07c734ad67337da6f0eefe23a487bf75a600dee -a2b42c09d0db615853763552a48d2e704542bbd786aae016eb58acbf6c0226c844f5fb31e428cb6450b9db855f8f2a6f -880cc07968266dbfdcfbc21815cd69e0eddfee239167ac693fb0413912d816f2578a74f7716eecd6deefa68c6eccd394 -b885b3ace736cd373e8098bf75ba66fa1c6943ca1bc4408cd98ac7074775c4478594f91154b8a743d9c697e1b29f5840 -a51ce78de512bd87bfa0835de819941dffbf18bec23221b61d8096fc9436af64e0693c335b54e7bfc763f287bdca2db6 -a3c76166a3bdb9b06ef696e57603b58871bc72883ee9d45171a30fe6e1d50e30bc9c51b4a0f5a7270e19a77b89733850 -acefc5c6f8a1e7c24d7b41e0fc7f6f3dc0ede6cf3115ffb9a6e54b1d954cbca9bda8ad7a084be9be245a1b8e9770d141 -b420ed079941842510e31cfad117fa11fb6b4f97dfbc6298cb840f27ebaceba23eeaf3f513bcffbf5e4aae946310182d -95c3bb5ef26c5ed2f035aa5d389c6b3c15a6705b9818a3fefaed28922158b35642b2e8e5a1a620fdad07e75ad4b43af4 -825149f9081ecf07a2a4e3e8b5d21bade86c1a882475d51c55ee909330b70c5a2ac63771c8600c6f38df716af61a3ea1 -873b935aae16d9f08adbc25353cee18af2f1b8d5f26dec6538d6bbddc515f2217ed7d235dcfea59ae61b428798b28637 -9294150843a2bedcedb3bb74c43eb28e759cf9499582c5430bccefb574a8ddd4f11f9929257ff4c153990f9970a2558f -b619563a811cc531da07f4f04e5c4c6423010ff9f8ed7e6ec9449162e3d501b269fb1c564c09c0429431879b0f45df02 -91b509b87eb09f007d839627514658c7341bc76d468920fe8a740a8cb96a7e7e631e0ea584a7e3dc1172266f641d0f5c -8b8aceace9a7b9b4317f1f01308c3904d7663856946afbcea141a1c615e21ccad06b71217413e832166e9dd915fbe098 -87b3b36e725833ea0b0f54753c3728c0dbc87c52d44d705ffc709f2d2394414c652d3283bab28dcce09799504996cee0 -b2670aad5691cbf308e4a6a77a075c4422e6cbe86fdba24e9f84a313e90b0696afb6a067eebb42ba2d10340d6a2f6e51 -876784a9aff3d54faa89b2bacd3ff5862f70195d0b2edc58e8d1068b3c9074c0da1cfa23671fe12f35e33b8a329c0ccd -8b48b9e758e8a8eae182f5cbec96f67d20cca6d3eee80a2d09208eb1d5d872e09ef23d0df8ebbb9b01c7449d0e3e3650 -b79303453100654c04a487bdcadc9e3578bc80930c489a7069a52e8ca1dba36c492c8c899ce025f8364599899baa287d -961b35a6111da54ece6494f24dacd5ea46181f55775b5f03df0e370c34a5046ac2b4082925855325bb42bc2a2c98381d -a31feb1be3f5a0247a1f7d487987eb622e34fca817832904c6ee3ee60277e5847945a6f6ea1ac24542c72e47bdf647df -a12a2aa3e7327e457e1aae30e9612715dd2cfed32892c1cd6dcda4e9a18203af8a44afb46d03b2eed89f6b9c5a2c0c23 -a08265a838e69a2ca2f80fead6ccf16f6366415b920c0b22ee359bcd8d4464ecf156f400a16a7918d52e6d733dd64211 -b723d6344e938d801cca1a00032af200e541d4471fd6cbd38fb9130daa83f6a1dffbbe7e67fc20f9577f884acd7594b2 -a6733d83ec78ba98e72ddd1e7ff79b7adb0e559e256760d0c590a986e742445e8cdf560d44b29439c26d87edd0b07c8c -a61c2c27d3f7b9ff4695a17afedf63818d4bfba390507e1f4d0d806ce8778d9418784430ce3d4199fd3bdbc2504d2af3 -8332f3b63a6dc985376e8b1b25eeae68be6160fbe40053ba7bcf6f073204f682da72321786e422d3482fd60c9e5aa034 -a280f44877583fbb6b860d500b1a3f572e3ee833ec8f06476b3d8002058e25964062feaa1e5bec1536d734a5cfa09145 -a4026a52d277fcea512440d2204f53047718ebfcae7b48ac57ea7f6bfbc5de9d7304db9a9a6cbb273612281049ddaec5 -95cdf69c831ab2fad6c2535ede9c07e663d2ddccc936b64e0843d2df2a7b1c31f1759c3c20f1e7a57b1c8f0dbb21b540 -95c96cec88806469c277ab567863c5209027cecc06c7012358e5f555689c0d9a5ffb219a464f086b45817e8536b86d2f -afe38d4684132a0f03d806a4c8df556bf589b25271fbc6fe2e1ed16de7962b341c5003755da758d0959d2e6499b06c68 -a9b77784fda64987f97c3a23c5e8f61b918be0f7c59ba285084116d60465c4a2aaafc8857eb16823282cc83143eb9126 -a830f05881ad3ce532a55685877f529d32a5dbe56cea57ffad52c4128ee0fad0eeaf0da4362b55075e77eda7babe70e5 -992b3ad190d6578033c13ed5abfee4ef49cbc492babb90061e3c51ee4b5790cdd4c8fc1abff1fa2c00183b6b64f0bbbe -b1015424d9364aeff75de191652dc66484fdbec3e98199a9eb9671ec57bec6a13ff4b38446e28e4d8aedb58dd619cd90 -a745304604075d60c9db36cada4063ac7558e7ec2835d7da8485e58d8422e817457b8da069f56511b02601289fbb8981 -a5ba4330bc5cb3dbe0486ddf995632a7260a46180a08f42ae51a2e47778142132463cc9f10021a9ad36986108fefa1a9 -b419e9fd4babcaf8180d5479db188bb3da232ae77a1c4ed65687c306e6262f8083070a9ac32220cddb3af2ec73114092 -a49e23dc5f3468f3bf3a0bb7e4a114a788b951ff6f23a3396ae9e12cbff0abd1240878a3d1892105413dbc38818e807c -b7ecc7b4831f650202987e85b86bc0053f40d983f252e9832ef503aea81c51221ce93279da4aa7466c026b2d2070e55d -96a8c35cb87f84fa84dcd6399cc2a0fd79cc9158ef4bdde4bae31a129616c8a9f2576cd19baa3f497ca34060979aed7d -8681b2c00aa62c2b519f664a95dcb8faef601a3b961bb4ce5d85a75030f40965e2983871d41ea394aee934e859581548 -85c229a07efa54a713d0790963a392400f55fbb1a43995a535dc6c929f20d6a65cf4efb434e0ad1cb61f689b8011a3bc -90856f7f3444e5ad44651c28e24cc085a5db4d2ffe79aa53228c26718cf53a6e44615f3c5cda5aa752d5f762c4623c66 -978999b7d8aa3f28a04076f74d11c41ef9c89fdfe514936c4238e0f13c38ec97e51a5c078ebc6409e517bfe7ccb42630 -a099914dd7ed934d8e0d363a648e9038eb7c1ec03fa04dbcaa40f7721c618c3ef947afef7a16b4d7ac8c12aa46637f03 -ab2a104fed3c83d16f2cda06878fa5f30c8c9411de71bfb67fd2fc9aa454dcbcf3d299d72f8cc12e919466a50fcf7426 -a4471d111db4418f56915689482f6144efc4664cfb0311727f36c864648d35734351becc48875df96f4abd3cfcf820f9 -83be11727cd30ea94ccc8fa31b09b81c9d6a9a5d3a4686af9da99587332fe78c1f94282f9755854bafd6033549afec91 -88020ff971dc1a01a9e993cd50a5d2131ffdcbb990c1a6aaa54b20d8f23f9546a70918ea57a21530dcc440c1509c24ad -ae24547623465e87905eaffa1fa5d52bb7c453a8dbd89614fa8819a2abcedaf455c2345099b7324ae36eb0ad7c8ef977 -b59b0c60997de1ee00b7c388bc7101d136c9803bf5437b1d589ba57c213f4f835a3e4125b54738e78abbc21b000f2016 -a584c434dfe194546526691b68fa968c831c31da42303a1d735d960901c74011d522246f37f299555416b8cf25c5a548 -80408ce3724f4837d4d52376d255e10f69eb8558399ae5ca6c11b78b98fe67d4b93157d2b9b639f1b5b64198bfe87713 -abb941e8d406c2606e0ddc35c113604fdd9d249eacc51cb64e2991e551b8639ce44d288cc92afa7a1e7fc599cfc84b22 -b223173f560cacb1c21dba0f1713839e348ad02cbfdef0626748604c86f89e0f4c919ed40b583343795bdd519ba952c8 -af1c70512ec3a19d98b8a1fc3ff7f7f5048a27d17d438d43f561974bbdd116fcd5d5c21040f3447af3f0266848d47a15 -8a44809568ebe50405bede19b4d2607199159b26a1b33e03d180e6840c5cf59d991a4fb150d111443235d75ecad085b7 -b06207cdca46b125a27b3221b5b50cf27af4c527dd7c80e2dbcebbb09778a96df3af67e50f07725239ce3583dad60660 -993352d9278814ec89b26a11c4a7c4941bf8f0e6781ae79559d14749ee5def672259792db4587f85f0100c7bb812f933 -9180b8a718b971fd27bc82c8582d19c4b4f012453e8c0ffeeeffe745581fc6c07875ab28be3af3fa3896d19f0c89ac5b -8b8e1263eb48d0fe304032dd5ea1f30e73f0121265f7458ba9054d3626894e8a5fef665340abd2ede9653045c2665938 -99a2beee4a10b7941c24b2092192faf52b819afd033e4a2de050fd6c7f56d364d0cf5f99764c3357cf32399e60fc5d74 -946a4aad7f8647ea60bee2c5fcdeb6f9a58fb2cfca70c4d10e458027a04846e13798c66506151be3df9454b1e417893f -a672a88847652d260b5472d6908d1d57e200f1e492d30dd1cecc441cdfc9b76e016d9bab560efd4d7f3c30801de884a9 -9414e1959c156cde1eb24e628395744db75fc24b9df4595350aaad0bc38e0246c9b4148f6443ef68b8e253a4a6bcf11c -9316e9e4ec5fab4f80d6540df0e3a4774db52f1d759d2e5b5bcd3d7b53597bb007eb1887cb7dc61f62497d51ffc8d996 -902d6d77bb49492c7a00bc4b70277bc28c8bf9888f4307bb017ac75a962decdedf3a4e2cf6c1ea9f9ba551f4610cbbd7 -b07025a18b0e32dd5e12ec6a85781aa3554329ea12c4cd0d3b2c22e43d777ef6f89876dd90a9c8fb097ddf61cf18adc5 -b355a849ad3227caa4476759137e813505ec523cbc2d4105bc7148a4630f9e81918d110479a2d5f5e4cd9ccec9d9d3e3 -b49532cfdf02ee760109881ad030b89c48ee3bb7f219ccafc13c93aead754d29bdafe345be54c482e9d5672bd4505080 -9477802410e263e4f938d57fa8f2a6cac7754c5d38505b73ee35ea3f057aad958cb9722ba6b7b3cfc4524e9ca93f9cdc -9148ea83b4436339580f3dbc9ba51509e9ab13c03063587a57e125432dd0915f5d2a8f456a68f8fff57d5f08c8f34d6e -b00b6b5392b1930b54352c02b1b3b4f6186d20bf21698689bbfc7d13e86538a4397b90e9d5c93fd2054640c4dbe52a4f -926a9702500441243cd446e7cbf15dde16400259726794694b1d9a40263a9fc9e12f7bcbf12a27cb9aaba9e2d5848ddc -a0c6155f42686cbe7684a1dc327100962e13bafcf3db97971fc116d9f5c0c8355377e3d70979cdbd58fd3ea52440901c -a277f899f99edb8791889d0817ea6a96c24a61acfda3ad8c3379e7c62b9d4facc4b965020b588651672fd261a77f1bfc -8f528cebb866b501f91afa50e995234bef5bf20bff13005de99cb51eaac7b4f0bf38580cfd0470de40f577ead5d9ba0f -963fc03a44e9d502cc1d23250efef44d299befd03b898d07ce63ca607bb474b5cf7c965a7b9b0f32198b04a8393821f7 -ab087438d0a51078c378bf4a93bd48ef933ff0f1fa68d02d4460820df564e6642a663b5e50a5fe509527d55cb510ae04 -b0592e1f2c54746bb076be0fa480e1c4bebc4225e1236bcda3b299aa3853e3afb401233bdbcfc4a007b0523a720fbf62 -851613517966de76c1c55a94dc4595f299398a9808f2d2f0a84330ba657ab1f357701d0895f658c18a44cb00547f6f57 -a2fe9a1dd251e72b0fe4db27be508bb55208f8f1616b13d8be288363ec722826b1a1fd729fc561c3369bf13950bf1fd6 -b896cb2bc2d0c77739853bc59b0f89b2e008ba1f701c9cbe3bef035f499e1baee8f0ff1e794854a48c320586a2dfc81a -a1b60f98e5e5106785a9b81a85423452ee9ef980fa7fa8464f4366e73f89c50435a0c37b2906052b8e58e212ebd366cf -a853b0ebd9609656636df2e6acd5d8839c0fda56f7bf9288a943b06f0b67901a32b95e016ca8bc99bd7b5eab31347e72 -b290fa4c1346963bd5225235e6bdf7c542174dab4c908ab483d1745b9b3a6015525e398e1761c90e4b49968d05e30eea -b0f65a33ad18f154f1351f07879a183ad62e5144ad9f3241c2d06533dad09cbb2253949daff1bb02d24d16a3569f7ef0 -a00db59b8d4218faf5aeafcd39231027324408f208ec1f54d55a1c41228b463b88304d909d16b718cfc784213917b71e -b8d695dd33dc2c3bc73d98248c535b2770ad7fa31aa726f0aa4b3299efb0295ba9b4a51c71d314a4a1bd5872307534d1 -b848057cca2ca837ee49c42b88422303e58ea7d2fc76535260eb5bd609255e430514e927cc188324faa8e657396d63ec -92677836061364685c2aaf0313fa32322746074ed5666fd5f142a7e8f87135f45cd10e78a17557a4067a51dfde890371 -a854b22c9056a3a24ab164a53e5c5cf388616c33e67d8ebb4590cb16b2e7d88b54b1393c93760d154208b5ca822dc68f -86fff174920388bfab841118fb076b2b0cdec3fdb6c3d9a476262f82689fb0ed3f1897f7be9dbf0932bb14d346815c63 -99661cf4c94a74e182752bcc4b98a8c2218a8f2765642025048e12e88ba776f14f7be73a2d79bd21a61def757f47f904 -8a8893144d771dca28760cba0f950a5d634195fd401ec8cf1145146286caffb0b1a6ba0c4c1828d0a5480ce49073c64c -938a59ae761359ee2688571e7b7d54692848eb5dde57ffc572b473001ea199786886f8c6346a226209484afb61d2e526 -923f68a6aa6616714cf077cf548aeb845bfdd78f2f6851d8148cba9e33a374017f2f3da186c39b82d14785a093313222 -ac923a93d7da7013e73ce8b4a2b14b8fd0cc93dc29d5de941a70285bdd19be4740fedfe0c56b046689252a3696e9c5bc -b49b32c76d4ec1a2c68d4989285a920a805993bc6fcce6dacd3d2ddae73373050a5c44ba8422a3781050682fa0ef6ba2 -8a367941c07c3bdca5712524a1411bad7945c7c48ffc7103b1d4dff2c25751b0624219d1ccde8c3f70c465f954be5445 -b838f029df455efb6c530d0e370bbbf7d87d61a9aea3d2fe5474c5fe0a39cf235ceecf9693c5c6c5820b1ba8f820bd31 -a8983b7c715eaac7f13a001d2abc462dfc1559dab4a6b554119c271aa8fe00ffcf6b6949a1121f324d6d26cb877bcbae -a2afb24ad95a6f14a6796315fbe0d8d7700d08f0cfaf7a2abe841f5f18d4fecf094406cbd54da7232a159f9c5b6e805e -87e8e95ad2d62f947b2766ff405a23f7a8afba14e7f718a691d95369c79955cdebe24c54662553c60a3f55e6322c0f6f -87c2cbcecb754e0cc96128e707e5c5005c9de07ffd899efa3437cadc23362f5a1d3fcdd30a1f5bdc72af3fb594398c2a -91afd6ee04f0496dc633db88b9370d41c428b04fd991002502da2e9a0ef051bcd7b760e860829a44fbe5539fa65f8525 -8c50e5d1a24515a9dd624fe08b12223a75ca55196f769f24748686315329b337efadca1c63f88bee0ac292dd0a587440 -8a07e8f912a38d94309f317c32068e87f68f51bdfa082d96026f5f5f8a2211621f8a3856dda8069386bf15fb2d28c18f -94ad1dbe341c44eeaf4dc133eed47d8dbfe752575e836c075745770a6679ff1f0e7883b6aa917462993a7f469d74cab5 -8745f8bd86c2bb30efa7efb7725489f2654f3e1ac4ea95bd7ad0f3cfa223055d06c187a16192d9d7bdaea7b050c6a324 -900d149c8d79418cda5955974c450a70845e02e5a4ecbcc584a3ca64d237df73987c303e3eeb79da1af83bf62d9e579f -8f652ab565f677fb1a7ba03b08004e3cda06b86c6f1b0b9ab932e0834acf1370abb2914c15b0d08327b5504e5990681c -9103097d088be1f75ab9d3da879106c2f597e2cc91ec31e73430647bdd5c33bcfd771530d5521e7e14df6acda44f38a6 -b0fec7791cfb0f96e60601e1aeced9a92446b61fedab832539d1d1037558612d78419efa87ff5f6b7aab8fd697d4d9de -b9d2945bdb188b98958854ba287eb0480ef614199c4235ce5f15fc670b8c5ffe8eeb120c09c53ea8a543a022e6a321ac -a9461bb7d5490973ebaa51afc0bb4a5e42acdccb80e2f939e88b77ac28a98870e103e1042899750f8667a8cc9123bae9 -a37fdf11d4bcb2aed74b9f460a30aa34afea93386fa4cdb690f0a71bc58f0b8df60bec56e7a24f225978b862626fa00e -a214420e183e03d531cf91661466ea2187d84b6e814b8b20b3730a9400a7d25cf23181bb85589ebc982cec414f5c2923 -ad09a45a698a6beb3e0915f540ef16e9af7087f53328972532d6b5dfe98ce4020555ece65c6cbad8bd6be8a4dfefe6fd -ab6742800b02728c92d806976764cb027413d6f86edd08ad8bb5922a2969ee9836878cd39db70db0bd9a2646862acc4f -974ca9305bd5ea1dc1755dff3b63e8bfe9f744321046c1395659bcea2a987b528e64d5aa96ac7b015650b2253b37888d -84eee9d6bce039c52c2ebc4fccc0ad70e20c82f47c558098da4be2f386a493cbc76adc795b5488c8d11b6518c2c4fab8 -875d7bda46efcb63944e1ccf760a20144df3b00d53282b781e95f12bfc8f8316dfe6492c2efbf796f1150e36e436e9df -b68a2208e0c587b5c31b5f6cb32d3e6058a9642e2d9855da4f85566e1412db528475892060bb932c55b3a80877ad7b4a -ba006368ecab5febb6ab348644d9b63de202293085ed468df8bc24d992ae8ce468470aa37f36a73630c789fb9c819b30 -90a196035150846cd2b482c7b17027471372a8ce7d914c4d82b6ea7fa705d8ed5817bd42d63886242585baf7d1397a1c -a223b4c85e0daa8434b015fd9170b5561fe676664b67064974a1e9325066ecf88fc81f97ab5011c59fad28cedd04b240 -82e8ec43139cf15c6bbeed484b62e06cded8a39b5ce0389e4cbe9c9e9c02f2f0275d8d8d4e8dfec8f69a191bef220408 -81a3fc07a7b68d92c6ee4b6d28f5653ee9ec85f7e2ee1c51c075c1b130a8c5097dc661cf10c5aff1c7114b1a6a19f11a -8ed2ef8331546d98819a5dd0e6c9f8cb2630d0847671314a28f277faf68da080b53891dd75c82cbcf7788b255490785d -acecabf84a6f9bbed6b2fc2e7e4b48f02ef2f15e597538a73aea8f98addc6badda15e4695a67ecdb505c1554e8f345ec -b8f51019b2aa575f8476e03dcadf86cc8391f007e5f922c2a36b2daa63f5a503646a468990cd5c65148d323942193051 -aaa595a84b403ec65729bc1c8055a94f874bf9adddc6c507b3e1f24f79d3ad359595a672b93aab3394db4e2d4a7d8970 -895144c55fcbd0f64d7dd69e6855cfb956e02b5658eadf0f026a70703f3643037268fdd673b0d21b288578a83c6338dd -a2e92ae6d0d237d1274259a8f99d4ea4912a299816350b876fba5ebc60b714490e198a916e1c38c6e020a792496fa23c -a45795fda3b5bb0ad1d3c628f6add5b2a4473a1414c1a232e80e70d1cfffd7f8a8d9861f8df2946999d7dbb56bf60113 -b6659bf7f6f2fef61c39923e8c23b8c70e9c903028d8f62516d16755cd3fba2fe41c285aa9432dc75ab08f8a1d8a81fc -a735609a6bc5bfd85e58234fc439ff1f58f1ff1dd966c5921d8b649e21f006bf2b8642ad8a75063c159aaf6935789293 -a3c622eb387c9d15e7bda2e3e84d007cb13a6d50d655c3f2f289758e49d3b37b9a35e4535d3cc53d8efd51f407281f19 -8afe147b53ad99220f5ef9d763bfc91f9c20caecbcf823564236fb0e6ede49414c57d71eec4772c8715cc65a81af0047 -b5f0203233cf71913951e9c9c4e10d9243e3e4a1f2cb235bf3f42009120ba96e04aa414c9938ea8873b63148478927e8 -93c52493361b458d196172d7ba982a90a4f79f03aa8008edc322950de3ce6acf4c3977807a2ffa9e924047e02072b229 -b9e72b805c8ac56503f4a86c82720afbd5c73654408a22a2ac0b2e5caccdfb0e20b59807433a6233bc97ae58cf14c70a -af0475779b5cee278cca14c82da2a9f9c8ef222eb885e8c50cca2315fea420de6e04146590ed0dd5a29c0e0812964df5 -b430ccab85690db02c2d0eb610f3197884ca12bc5f23c51e282bf3a6aa7e4a79222c3d8761454caf55d6c01a327595f9 -830032937418b26ee6da9b5206f3e24dc76acd98589e37937e963a8333e5430abd6ce3dd93ef4b8997bd41440eed75d6 -8820a6d73180f3fe255199f3f175c5eb770461ad5cfdde2fb11508041ed19b8c4ce66ad6ecebf7d7e836cc2318df47ca -aef1393e7d97278e77bbf52ef6e1c1d5db721ccf75fe753cf47a881fa034ca61eaa5098ee5a344c156d2b14ff9e284ad -8a4a26c07218948c1196c45d927ef4d2c42ade5e29fe7a91eaebe34a29900072ce5194cf28d51f746f4c4c649daf4396 -84011dc150b7177abdcb715efbd8c201f9cb39c36e6069af5c50a096021768ba40cef45b659c70915af209f904ede3b6 -b1bd90675411389bb66910b21a4bbb50edce5330850c5ab0b682393950124252766fc81f5ecfc72fb7184387238c402e -8dfdcd30583b696d2c7744655f79809f451a60c9ad5bf1226dc078b19f4585d7b3ef7fa9d54e1ac09520d95cbfd20928 -b351b4dc6d98f75b8e5a48eb7c6f6e4b78451991c9ba630e5a1b9874c15ac450cd409c1a024713bf2cf82dc400e025ef -a462b8bc97ac668b97b28b3ae24b9f5de60e098d7b23ecb600d2194cd35827fb79f77c3e50d358f5bd72ee83fef18fa0 -a183753265c5f7890270821880cce5f9b2965b115ba783c6dba9769536f57a04465d7da5049c7cf8b3fcf48146173c18 -a8a771b81ed0d09e0da4d79f990e58eabcd2be3a2680419502dd592783fe52f657fe55125b385c41d0ba3b9b9cf54a83 -a71ec577db46011689d073245e3b1c3222a9b1fe6aa5b83629adec5733dd48617ebea91346f0dd0e6cdaa86e4931b168 -a334b8b244f0d598a02da6ae0f918a7857a54dce928376c4c85df15f3b0f2ba3ac321296b8b7c9dd47d770daf16c8f8c -a29037f8ef925c417c90c4df4f9fb27fb977d04e2b3dd5e8547d33e92ab72e7a00f5461de21e28835319eae5db145eb7 -b91054108ae78b00e3298d667b913ebc44d8f26e531eae78a8fe26fdfb60271c97efb2dee5f47ef5a3c15c8228138927 -926c13efbe90604f6244be9315a34f72a1f8d1aab7572df431998949c378cddbf2fe393502c930fff614ff06ae98a0ce -995c758fd5600e6537089b1baa4fbe0376ab274ff3e82a17768b40df6f91c2e443411de9cafa1e65ea88fb8b87d504f4 -9245ba307a7a90847da75fca8d77ec03fdfc812c871e7a2529c56a0a79a6de16084258e7a9ac4ae8a3756f394336e21c -99e0cfa2bb57a7e624231317044c15e52196ecce020db567c8e8cb960354a0be9862ee0c128c60b44777e65ac315e59f -ad4f6b3d27bbbb744126601053c3dc98c07ff0eb0b38a898bd80dce778372846d67e5ab8fb34fb3ad0ef3f235d77ba7f -a0f12cae3722bbbca2e539eb9cc7614632a2aefe51410430070a12b5bc5314ecec5857b7ff8f41e9980cac23064f7c56 -b487f1bc59485848c98222fd3bc36c8c9bb3d2912e2911f4ceca32c840a7921477f9b1fe00877e05c96c75d3eecae061 -a6033db53925654e18ecb3ce715715c36165d7035db9397087ac3a0585e587998a53973d011ac6d48af439493029cee6 -a6b4d09cd01c70a3311fd131d3710ccf97bde3e7b80efd5a8c0eaeffeb48cca0f951ced905290267b115b06d46f2693b -a9dff1df0a8f4f218a98b6f818a693fb0d611fed0fc3143537cbd6578d479af13a653a8155e535548a2a0628ae24fa58 -a58e469f65d366b519f9a394cacb7edaddac214463b7b6d62c2dbc1316e11c6c5184ce45c16de2d77f990dcdd8b55430 -989e71734f8119103586dc9a3c5f5033ddc815a21018b34c1f876cdfc112efa868d5751bf6419323e4e59fa6a03ece1c -a2da00e05036c884369e04cf55f3de7d659cd5fa3f849092b2519dd263694efe0f051953d9d94b7e121f0aee8b6174d7 -968f3c029f57ee31c4e1adea89a7f92e28483af9a74f30fbdb995dc2d40e8e657dff8f8d340d4a92bf65f54440f2859f -932778df6f60ac1639c1453ef0cbd2bf67592759dcccb3e96dcc743ff01679e4c7dd0ef2b0833dda548d32cb4eba49e2 -a805a31139f8e0d6dae1ac87d454b23a3dc9fc653d4ca18d4f8ebab30fc189c16e73981c2cb7dd6f8c30454a5208109d -a9ba0991296caa2aaa4a1ceacfb205544c2a2ec97088eace1d84ee5e2767656a172f75d2f0c4e16a3640a0e0dec316e0 -b1e49055c968dced47ec95ae934cf45023836d180702e20e2df57e0f62fb85d7ac60d657ba3ae13b8560b67210449459 -a94e1da570a38809c71e37571066acabff7bf5632737c9ab6e4a32856924bf6211139ab3cedbf083850ff2d0e0c0fcfc -88ef1bb322000c5a5515b310c838c9af4c1cdbb32eab1c83ac3b2283191cd40e9573747d663763a28dad0d64adc13840 -a987ce205f923100df0fbd5a85f22c9b99b9b9cbe6ddfa8dfda1b8fe95b4f71ff01d6c5b64ca02eb24edb2b255a14ef0 -84fe8221a9e95d9178359918a108de4763ebfa7a6487facb9c963406882a08a9a93f492f8e77cf9e7ea41ae079c45993 -aa1cf3dc7c5dcfa15bbbc811a4bb6dbac4fba4f97fb1ed344ab60264d7051f6eef19ea9773441d89929ee942ed089319 -8f6a7d610d59d9f54689bbe6a41f92d9f6096cde919c1ab94c3c7fcecf0851423bc191e5612349e10f855121c0570f56 -b5af1fa7894428a53ea520f260f3dc3726da245026b6d5d240625380bfb9c7c186df0204bb604efac5e613a70af5106e -a5bce6055ff812e72ce105f147147c7d48d7a2313884dd1f488b1240ee320f13e8a33f5441953a8e7a3209f65b673ce1 -b9b55b4a1422677d95821e1d042ab81bbf0bf087496504021ec2e17e238c2ca6b44fb3b635a5c9eac0871a724b8d47c3 -941c38e533ce4a673a3830845b56786585e5fe49c427f2e5c279fc6db08530c8f91db3e6c7822ec6bb4f956940052d18 -a38e191d66c625f975313c7007bbe7431b5a06ed2da1290a7d5d0f2ec73770d476efd07b8e632de64597d47df175cbb0 -94ba76b667abf055621db4c4145d18743a368d951565632ed4e743dd50dd3333507c0c34f286a5c5fdbf38191a2255cd -a5ca38c60be5602f2bfa6e00c687ac96ac36d517145018ddbee6f12eb0faa63dd57909b9eeed26085fe5ac44e55d10ab -b00fea3b825e60c1ed1c5deb4b551aa65a340e5af36b17d5262c9cd2c508711e4dc50dc2521a2c16c7c901902266e64a -971b86fc4033485e235ccb0997a236206ba25c6859075edbcdf3c943116a5030b7f75ebca9753d863a522ba21a215a90 -b3b31f52370de246ee215400975b674f6da39b2f32514fe6bd54e747752eedca22bb840493b44a67df42a3639c5f901f -affbbfac9c1ba7cbfa1839d2ae271dd6149869b75790bf103230637da41857fc326ef3552ff31c15bda0694080198143 -a95d42aa7ef1962520845aa3688f2752d291926f7b0d73ea2ee24f0612c03b43f2b0fe3c9a9a99620ffc8d487b981bc2 -914a266065caf64985e8c5b1cb2e3f4e3fe94d7d085a1881b1fefa435afef4e1b39a98551d096a62e4f5cc1a7f0fdc2e -81a0b4a96e2b75bc1bf2dbd165d58d55cfd259000a35504d1ffb18bc346a3e6f07602c683723864ffb980f840836fd8d -91c1556631cddd4c00b65b67962b39e4a33429029d311c8acf73a18600e362304fb68bccb56fde40f49e95b7829e0b87 -8befbacc19e57f7c885d1b7a6028359eb3d80792fe13b92a8400df21ce48deb0bb60f2ddb50e3d74f39f85d7eab23adc -92f9458d674df6e990789690ec9ca73dacb67fc9255b58c417c555a8cc1208ace56e8e538f86ba0f3615573a0fbac00d -b4b1b3062512d6ae7417850c08c13f707d5838e43d48eb98dd4621baf62eee9e82348f80fe9b888a12874bfa538771f8 -a13c4a3ac642ede37d9c883f5319e748d2b938f708c9d779714108a449b343f7b71a6e3ef4080fee125b416762920273 -af44983d5fc8cceee0551ef934e6e653f2d3efa385e5c8a27a272463a6f333e290378cc307c2b664eb923c78994e706e -a389fd6c59fe2b4031cc244e22d3991e541bd203dd5b5e73a6159e72df1ab41d49994961500dcde7989e945213184778 -8d2141e4a17836c548de9598d7b298b03f0e6c73b7364979a411c464e0628e21cff6ac3d6decdba5d1c4909eff479761 -980b22ef53b7bdf188a3f14bc51b0dbfdf9c758826daa3cbc1e3986022406a8aa9a6a79e400567120b88c67faa35ce5f -a28882f0a055f96df3711de5d0aa69473e71245f4f3e9aa944e9d1fb166e02caa50832e46da6d3a03b4801735fd01b29 -8db106a37d7b88f5d995c126abb563934dd8de516af48e85695d02b1aea07f79217e3cdd03c6f5ca57421830186c772b -b5a7e50da0559a675c472f7dfaee456caab6695ab7870541b2be8c2b118c63752427184aad81f0e1afc61aef1f28c46f -9962118780e20fe291d10b64f28d09442a8e1b5cffd0f3dd68d980d0614050a626c616b44e9807fbee7accecae00686a -b38ddf33745e8d2ad6a991aefaf656a33c5f8cbe5d5b6b6fd03bd962153d8fd0e01b5f8f96d80ae53ab28d593ab1d4e7 -857dc12c0544ff2c0c703761d901aba636415dee45618aba2e3454ff9cbc634a85c8b05565e88520ff9be2d097c8b2b1 -a80d465c3f8cc63af6d74a6a5086b626c1cb4a8c0fee425964c3bd203d9d7094e299f81ce96d58afc20c8c9a029d9dae -89e1c8fbde8563763be483123a3ed702efac189c6d8ab4d16c85e74bbaf856048cc42d5d6e138633a38572ba5ec3f594 -893a594cf495535f6d216508f8d03c317dcf03446668cba688da90f52d0111ac83d76ad09bf5ea47056846585ee5c791 -aadbd8be0ae452f7f9450c7d2957598a20cbf10139a4023a78b4438172d62b18b0de39754dd2f8862dbd50a3a0815e53 -ae7d39670ecca3eb6db2095da2517a581b0e8853bdfef619b1fad9aacd443e7e6a40f18209fadd44038a55085c5fe8b2 -866ef241520eacb6331593cfcb206f7409d2f33d04542e6e52cba5447934e02d44c471f6c9a45963f9307e9809ab91d9 -b1a09911ad3864678f7be79a9c3c3eb5c84a0a45f8dcb52c67148f43439aeaaa9fd3ed3471276b7e588b49d6ebe3033a -add07b7f0dbb34049cd8feeb3c18da5944bf706871cfd9f14ff72f6c59ad217ebb1f0258b13b167851929387e4e34cfe -ae048892d5c328eefbdd4fba67d95901e3c14d974bfc0a1fc68155ca9f0d59e61d7ba17c6c9948b120cf35fd26e6fee9 -9185b4f3b7da0ddb4e0d0f09b8a9e0d6943a4611e43f13c3e2a767ed8592d31e0ba3ebe1914026a3627680274291f6e5 -a9c022d4e37b0802284ce3b7ee9258628ab4044f0db4de53d1c3efba9de19d15d65cc5e608dbe149c21c2af47d0b07b5 -b24dbd5852f8f24921a4e27013b6c3fa8885b973266cb839b9c388efad95821d5d746348179dcc07542bd0d0aefad1ce -b5fb4f279300876a539a27a441348764908bc0051ebd66dc51739807305e73db3d2f6f0f294ffb91b508ab150eaf8527 -ace50841e718265b290c3483ed4b0fdd1175338c5f1f7530ae9a0e75d5f80216f4de37536adcbc8d8c95982e88808cd0 -b19cadcde0f63bd1a9c24bd9c2806f53c14c0b9735bf351601498408ba503ddbd2037c891041cbba47f58b8c483f3b21 -b6061e63558d312eb891b97b39aa552fa218568d79ee26fe6dd5b864aea9e3216d8f2e2f3b093503be274766dac41426 -89730fdb2876ab6f0fe780d695f6e12090259027e789b819956d786e977518057e5d1d7f5ab24a3ae3d5d4c97773bd2b -b6fa841e81f9f2cad0163a02a63ae96dc341f7ae803b616efc6e1da2fbea551c1b96b11ad02c4afbdf6d0cc9f23da172 -8fb66187182629c861ddb6896d7ed3caf2ad050c3dba8ab8eb0d7a2c924c3d44c48d1a148f9e33fb1f061b86972f8d21 -86022ac339c1f84a7fa9e05358c1a5b316b4fc0b83dbe9c8c7225dc514f709d66490b539359b084ce776e301024345fa -b50b9c321468da950f01480bb62b6edafd42f83c0001d6e97f2bd523a1c49a0e8574fb66380ea28d23a7c4d54784f9f0 -a31c05f7032f30d1dac06678be64d0250a071fd655e557400e4a7f4c152be4d5c7aa32529baf3e5be7c4bd49820054f6 -b95ac0848cd322684772119f5b682d90a66bbf9dac411d9d86d2c34844bbd944dbaf8e47aa41380455abd51687931a78 -ae4a6a5ce9553b65a05f7935e61e496a4a0f6fd8203367a2c627394c9ce1e280750297b74cdc48fd1d9a31e93f97bef4 -a22daf35f6e9b05e52e0b07f7bd1dbbebd2c263033fb0e1b2c804e2d964e2f11bc0ece6aca6af079dd3a9939c9c80674 -902150e0cb1f16b9b59690db35281e28998ce275acb313900da8b2d8dfd29fa1795f8ca3ff820c31d0697de29df347c1 -b17b5104a5dc665cdd7d47e476153d715eb78c6e5199303e4b5445c21a7fa7cf85fe7cfd08d7570f4e84e579b005428c -a03f49b81c15433f121680aa02d734bb9e363af2156654a62bcb5b2ba2218398ccb0ff61104ea5d7df5b16ea18623b1e -802101abd5d3c88876e75a27ffc2f9ddcce75e6b24f23dba03e5201281a7bd5cc7530b6a003be92d225093ca17d3c3bb -a4d183f63c1b4521a6b52226fc19106158fc8ea402461a5cccdaa35fee93669df6a8661f45c1750cd01308149b7bf08e -8d17c22e0c8403b69736364d460b3014775c591032604413d20a5096a94d4030d7c50b9fe3240e31d0311efcf9816a47 -947225acfcce5992eab96276f668c3cbe5f298b90a59f2bb213be9997d8850919e8f496f182689b5cbd54084a7332482 -8df6f4ed216fc8d1905e06163ba1c90d336ab991a18564b0169623eb39b84e627fa267397da15d3ed754d1f3423bff07 -83480007a88f1a36dea464c32b849a3a999316044f12281e2e1c25f07d495f9b1710b4ba0d88e9560e72433addd50bc2 -b3019d6e591cf5b33eb972e49e06c6d0a82a73a75d78d383dd6f6a4269838289e6e07c245f54fed67f5c9bb0fd5e1c5f -92e8ce05e94927a9fb02debadb99cf30a26172b2705003a2c0c47b3d8002bf1060edb0f6a5750aad827c98a656b19199 -ac2aff801448dbbfc13cca7d603fd9c69e82100d997faf11f465323b97255504f10c0c77401e4d1890339d8b224f5803 -b0453d9903d08f508ee27e577445dc098baed6cde0ac984b42e0f0efed62760bd58d5816cf1e109d204607b7b175e30c -ae68dc4ba5067e825d46d2c7c67f1009ceb49d68e8d3e4c57f4bcd299eb2de3575d42ea45e8722f8f28497a6e14a1cfe -b22486c2f5b51d72335ce819bbafb7fa25eb1c28a378a658f13f9fc79cd20083a7e573248d911231b45a5cf23b561ca7 -89d1201d1dbd6921867341471488b4d2fd0fc773ae1d4d074c78ae2eb779a59b64c00452c2a0255826fca6b3d03be2b1 -a2998977c91c7a53dc6104f5bc0a5b675e5350f835e2f0af69825db8af4aeb68435bdbcc795f3dd1f55e1dd50bc0507f -b0be4937a925b3c05056ed621910d535ccabf5ab99fd3b9335080b0e51d9607d0fd36cb5781ff340018f6acfca4a9736 -aea145a0f6e0ba9df8e52e84bb9c9de2c2dc822f70d2724029b153eb68ee9c17de7d35063dcd6a39c37c59fdd12138f7 -91cb4545d7165ee8ffbc74c874baceca11fdebbc7387908d1a25877ca3c57f2c5def424dab24148826832f1e880bede0 -b3b579cb77573f19c571ad5eeeb21f65548d7dff9d298b8d7418c11f3e8cd3727c5b467f013cb87d6861cfaceee0d2e3 -b98a1eeec2b19fecc8378c876d73645aa52fb99e4819903735b2c7a885b242787a30d1269a04bfb8573d72d9bbc5f0f0 -940c1f01ed362bd588b950c27f8cc1d52276c71bb153d47f07ec85b038c11d9a8424b7904f424423e714454d5e80d1cd -aa343a8ecf09ce11599b8cf22f7279cf80f06dbf9f6d62cb05308dbbb39c46fd0a4a1240b032665fbb488a767379b91b -87c3ac72084aca5974599d3232e11d416348719e08443acaba2b328923af945031f86432e170dcdd103774ec92e988c9 -91d6486eb5e61d2b9a9e742c20ec974a47627c6096b3da56209c2b4e4757f007e793ebb63b2b246857c9839b64dc0233 -aebcd3257d295747dd6fc4ff910d839dd80c51c173ae59b8b2ec937747c2072fa85e3017f9060aa509af88dfc7529481 -b3075ba6668ca04eff19efbfa3356b92f0ab12632dcda99cf8c655f35b7928c304218e0f9799d68ef9f809a1492ff7db -93ba7468bb325639ec2abd4d55179c69fd04eaaf39fc5340709227bbaa4ad0a54ea8b480a1a3c8d44684e3be0f8d1980 -a6aef86c8c0d92839f38544d91b767c582568b391071228ff5a5a6b859c87bf4f81a7d926094a4ada1993ddbd677a920 -91dcd6d14207aa569194aa224d1e5037b999b69ade52843315ca61ba26abe9a76412c9e88259bc5cf5d7b95b97d9c3bc -b3b483d31c88f78d49bd065893bc1e3d2aa637e27dedb46d9a7d60be7660ce7a10aaaa7deead362284a52e6d14021178 -8e5730070acf8371461ef301cc4523e8e672aa0e3d945d438a0e0aa6bdf8cb9c685dcf38df429037b0c8aff3955c6f5b -b8c6d769890a8ee18dc4f9e917993315877c97549549b34785a92543cbeec96a08ae3a28d6e809c4aacd69de356c0012 -95ca86cd384eaceaa7c077c5615736ca31f36824bd6451a16142a1edc129fa42b50724aeed7c738f08d7b157f78b569e -94df609c6d71e8eee7ab74226e371ccc77e01738fe0ef1a6424435b4570fe1e5d15797b66ed0f64eb88d4a3a37631f0e -89057b9783212add6a0690d6bb99097b182738deff2bd9e147d7fd7d6c8eacb4c219923633e6309ad993c24572289901 -83a0f9f5f265c5a0e54defa87128240235e24498f20965009fef664f505a360b6fb4020f2742565dfc7746eb185bcec0 -91170da5306128931349bc3ed50d7df0e48a68b8cc8420975170723ac79d8773e4fa13c5f14dc6e3fafcad78379050b1 -b7178484d1b55f7e56a4cc250b6b2ec6040437d96bdfddfa7b35ed27435860f3855c2eb86c636f2911b012eb83b00db8 -ac0b00c4322d1e4208e09cd977b4e54d221133ff09551f75b32b0b55d0e2be80941dda26257b0e288c162e63c7e9cf68 -9690ed9e7e53ed37ff362930e4096b878b12234c332fd19d5d064824084245952eda9f979e0098110d6963e468cf513e -b6fa547bb0bb83e5c5be0ed462a8783fba119041c136a250045c09d0d2af330c604331e7de960df976ff76d67f8000cd -814603907c21463bcf4e59cfb43066dfe1a50344ae04ef03c87c0f61b30836c3f4dea0851d6fa358c620045b7f9214c8 -9495639e3939fad2a3df00a88603a5a180f3c3a0fe4d424c35060e2043e0921788003689887b1ed5be424d9a89bb18bb -aba4c02d8d57f2c92d5bc765885849e9ff8393d6554f5e5f3e907e5bfac041193a0d8716d7861104a4295d5a03c36b03 -8ead0b56c1ca49723f94a998ba113b9058059321da72d9e395a667e6a63d5a9dac0f5717cec343f021695e8ced1f72af -b43037f7e3852c34ed918c5854cd74e9d5799eeddfe457d4f93bb494801a064735e326a76e1f5e50a339844a2f4a8ec9 -99db8422bb7302199eb0ff3c3d08821f8c32f53a600c5b6fb43e41205d96adae72be5b460773d1280ad1acb806af9be8 -8a9be08eae0086c0f020838925984df345c5512ff32e37120b644512b1d9d4fecf0fd30639ca90fc6cf334a86770d536 -81b43614f1c28aa3713a309a88a782fb2bdfc4261dd52ddc204687791a40cf5fd6a263a8179388596582cccf0162efc2 -a9f3a8b76912deb61d966c75daf5ddb868702ebec91bd4033471c8e533183df548742a81a2671de5be63a502d827437d -902e2415077f063e638207dc7e14109652e42ab47caccd6204e2870115791c9defac5425fd360b37ac0f7bd8fe7011f8 -aa18e4fdc1381b59c18503ae6f6f2d6943445bd00dd7d4a2ad7e5adad7027f2263832690be30d456e6d772ad76f22350 -a348b40ba3ba7d81c5d4631f038186ebd5e5f314f1ea737259151b07c3cc8cf0c6ed4201e71bcc1c22fefda81a20cde6 -aa1306f7ac1acbfc47dc6f7a0cb6d03786cec8c8dc8060388ccda777bca24bdc634d03e53512c23dba79709ff64f8620 -818ccfe46e700567b7f3eb400e5a35f6a5e39b3db3aa8bc07f58ace35d9ae5a242faf8dbccd08d9a9175bbce15612155 -b7e3da2282b65dc8333592bb345a473f03bd6df69170055fec60222de9897184536bf22b9388b08160321144d0940279 -a4d976be0f0568f4e57de1460a1729129252b44c552a69fceec44e5b97c96c711763360d11f9e5bf6d86b4976bf40d69 -85d185f0397c24c2b875b09b6328a23b87982b84ee880f2677a22ff4c9a1ba9f0fea000bb3f7f66375a00d98ebafce17 -b4ccbb8c3a2606bd9b87ce022704663af71d418351575f3b350d294f4efc68c26f9a2ce49ff81e6ff29c3b63d746294e -93ffd3265fddb63724dfde261d1f9e22f15ecf39df28e4d89e9fea03221e8e88b5dd9b77628bacaa783c6f91802d47cc -b1fd0f8d7a01378e693da98d03a2d2fda6b099d03454b6f2b1fa6472ff6bb092751ce6290059826b74ac0361eab00e1e -a89f440c71c561641589796994dd2769616b9088766e983c873fae0716b95c386c8483ab8a4f367b6a68b72b7456dd32 -af4fe92b01d42d03dd5d1e7fa55e96d4bbcb7bf7d4c8c197acd16b3e0f3455807199f683dcd263d74547ef9c244b35cc -a8227f6e0a344dfe76bfbe7a1861be32c4f4bed587ccce09f9ce2cf481b2dda8ae4f566154bc663d15f962f2d41761bd -a7b361663f7495939ed7f518ba45ea9ff576c4e628995b7aea026480c17a71d63fc2c922319f0502eb7ef8f14a406882 -8ddcf382a9f39f75777160967c07012cfa89e67b19714a7191f0c68eaf263935e5504e1104aaabd0899348c972a8d3c6 -98c95b9f6f5c91f805fb185eedd06c6fc4457d37dd248d0be45a6a168a70031715165ea20606245cbdf8815dc0ac697f -805b44f96e001e5909834f70c09be3efcd3b43632bcac5b6b66b6d227a03a758e4b1768ce2a723045681a1d34562aaeb -b0e81b07cdc45b3dca60882676d9badb99f25c461b7efe56e3043b80100bb62d29e1873ae25eb83087273160ece72a55 -b0c53f0abe78ee86c7b78c82ae1f7c070bb0b9c45c563a8b3baa2c515d482d7507bb80771e60b38ac13f78b8af92b4a9 -a7838ef6696a9e4d2e5dfd581f6c8d6a700467e8fd4e85adabb5f7a56f514785dd4ab64f6f1b48366f7d94728359441b -88c76f7700a1d23c30366a1d8612a796da57b2500f97f88fdf2d76b045a9d24e7426a8ffa2f4e86d3046937a841dad58 -ad8964baf98c1f02e088d1d9fcb3af6b1dfa44cdfe0ed2eae684e7187c33d3a3c28c38e8f4e015f9c04d451ed6f85ff6 -90e9d00a098317ececaa9574da91fc149eda5b772dedb3e5a39636da6603aa007804fa86358550cfeff9be5a2cb7845e -a56ff4ddd73d9a6f5ab23bb77efa25977917df63571b269f6a999e1ad6681a88387fcc4ca3b26d57badf91b236503a29 -97ad839a6302c410a47e245df84c01fb9c4dfef86751af3f9340e86ff8fc3cd52fa5ff0b9a0bd1d9f453e02ca80658a6 -a4c8c44cbffa804129e123474854645107d1f0f463c45c30fd168848ebea94880f7c0c5a45183e9eb837f346270bdb35 -a72e53d0a1586d736e86427a93569f52edd2f42b01e78aee7e1961c2b63522423877ae3ac1227a2cf1e69f8e1ff15bc3 -8559f88a7ef13b4f09ac82ae458bbae6ab25671cfbf52dae7eac7280d6565dd3f0c3286aec1a56a8a16dc3b61d78ce47 -8221503f4cdbed550876c5dc118a3f2f17800c04e8be000266633c83777b039a432d576f3a36c8a01e8fd18289ebc10b -99bfbe5f3e46d4d898a578ba86ed26de7ed23914bd3bcdf3c791c0bcd49398a52419077354a5ab75cea63b6c871c6e96 -aa134416d8ff46f2acd866c1074af67566cfcf4e8be8d97329dfa0f603e1ff208488831ce5948ac8d75bfcba058ddcaa -b02609d65ebfe1fe8e52f21224a022ea4b5ea8c1bd6e7b9792eed8975fc387cdf9e3b419b8dd5bcce80703ab3a12a45f -a4f14798508698fa3852e5cac42a9db9797ecee7672a54988aa74037d334819aa7b2ac7b14efea6b81c509134a6b7ad2 -884f01afecbcb987cb3e7c489c43155c416ed41340f61ecb651d8cba884fb9274f6d9e7e4a46dd220253ae561614e44c -a05523c9e71dce1fe5307cc71bd721feb3e1a0f57a7d17c7d1c9fb080d44527b7dbaa1f817b1af1c0b4322e37bc4bb1e -8560aec176a4242b39f39433dd5a02d554248c9e49d3179530815f5031fee78ba9c71a35ceeb2b9d1f04c3617c13d8f0 -996aefd402748d8472477cae76d5a2b92e3f092fc834d5222ae50194dd884c9fb8b6ed8e5ccf8f6ed483ddbb4e80c747 -8fd09900320000cbabc40e16893e2fcf08815d288ec19345ad7b6bb22f7d78a52b6575a3ca1ca2f8bc252d2eafc928ec -939e51f73022bc5dc6862a0adf8fb8a3246b7bfb9943cbb4b27c73743926cc20f615a036c7e5b90c80840e7f1bfee0e7 -a0a6258700cadbb9e241f50766573bf9bdb7ad380b1079dc3afb4054363d838e177b869cad000314186936e40359b1f2 -972699a4131c8ed27a2d0e2104d54a65a7ff1c450ad9da3a325c662ab26869c21b0a84d0700b98c8b5f6ce3b746873d7 -a454c7fe870cb8aa6491eafbfb5f7872d6e696033f92e4991d057b59d70671f2acdabef533e229878b60c7fff8f748b1 -a167969477214201f09c79027b10221e4707662e0c0fde81a0f628249f2f8a859ce3d30a7dcc03b8ecca8f7828ad85c7 -8ff6b7265175beb8a63e1dbf18c9153fb2578c207c781282374f51b40d57a84fd2ef2ea2b9c6df4a54646788a62fd17f -a3d7ebeccde69d73d8b3e76af0da1a30884bb59729503ff0fb0c3bccf9221651b974a6e72ea33b7956fc3ae758226495 -b71ef144c9a98ce5935620cb86c1590bd4f48e5a2815d25c0cdb008fde628cf628c31450d3d4f67abbfeb16178a74cfd -b5e0a16d115134f4e2503990e3f2035ed66b9ccf767063fe6747870d97d73b10bc76ed668550cb82eedc9a2ca6f75524 -b30ffaaf94ee8cbc42aa2c413175b68afdb207dbf351fb20be3852cb7961b635c22838da97eaf43b103aff37e9e725cc -98aa7d52284f6c1f22e272fbddd8c8698cf8f5fbb702d5de96452141fafb559622815981e50b87a72c2b1190f59a7deb -81fbacda3905cfaf7780bb4850730c44166ed26a7c8d07197a5d4dcd969c09e94a0461638431476c16397dd7bdc449f9 -95e47021c1726eac2e5853f570d6225332c6e48e04c9738690d53e07c6b979283ebae31e2af1fc9c9b3e59f87e5195b1 -ac024a661ba568426bb8fce21780406537f518075c066276197300841e811860696f7588188bc01d90bace7bc73d56e3 -a4ebcaf668a888dd404988ab978594dee193dad2d0aec5cdc0ccaf4ec9a7a8228aa663db1da8ddc52ec8472178e40c32 -a20421b8eaf2199d93b083f2aff37fb662670bd18689d046ae976d1db1fedd2c2ff897985ecc6277b396db7da68bcb27 -8bc33d4b40197fd4d49d1de47489d10b90d9b346828f53a82256f3e9212b0cbc6930b895e879da9cec9fedf026aadb3e -aaafdd1bec8b757f55a0433eddc0a39f818591954fd4e982003437fcceb317423ad7ee74dbf17a2960380e7067a6b4e2 -aad34277ebaed81a6ec154d16736866f95832803af28aa5625bf0461a71d02b1faba02d9d9e002be51c8356425a56867 -976e9c8b150d08706079945bd0e84ab09a648ecc6f64ded9eb5329e57213149ae409ae93e8fbd8eda5b5c69f5212b883 -8097fae1653247d2aed4111533bc378171d6b2c6d09cbc7baa9b52f188d150d645941f46d19f7f5e27b7f073c1ebd079 -83905f93b250d3184eaba8ea7d727c4464b6bdb027e5cbe4f597d8b9dc741dcbea709630bd4fd59ce24023bec32fc0f3 -8095030b7045cff28f34271386e4752f9a9a0312f8df75de4f424366d78534be2b8e1720a19cb1f9a2d21105d790a225 -a7b7b73a6ae2ed1009c49960374b0790f93c74ee03b917642f33420498c188a169724945a975e5adec0a1e83e07fb1b2 -856a41c54df393b6660b7f6354572a4e71c8bfca9cabaffb3d4ef2632c015e7ee2bc10056f3eccb3dbed1ad17d939178 -a8f7a55cf04b38cd4e330394ee6589da3a07dc9673f74804fdf67b364e0b233f14aec42e783200a2e4666f7c5ff62490 -82c529f4e543c6bca60016dc93232c115b359eaee2798a9cf669a654b800aafe6ab4ba58ea8b9cdda2b371c8d62fa845 -8caab020c1baddce77a6794113ef1dfeafc5f5000f48e97f4351b588bf02f1f208101745463c480d37f588d5887e6d8c -8fa91b3cc400f48b77b6fd77f3b3fbfb3f10cdff408e1fd22d38f77e087b7683adad258804409ba099f1235b4b4d6fea -8aa02787663d6be9a35677d9d8188b725d5fcd770e61b11b64e3def8808ea5c71c0a9afd7f6630c48634546088fcd8e2 -b5635b7b972e195cab878b97dea62237c7f77eb57298538582a330b1082f6207a359f2923864630136d8b1f27c41b9aa -8257bb14583551a65975946980c714ecd6e5b629672bb950b9caacd886fbd22704bc9e3ba7d30778adab65dc74f0203a -ab5fe1cd12634bfa4e5c60d946e2005cbd38f1063ec9a5668994a2463c02449a0a185ef331bd86b68b6e23a8780cb3ba -a7d3487da56cda93570cc70215d438204f6a2709bfb5fda6c5df1e77e2efc80f4235c787e57fbf2c74aaff8cbb510a14 -b61cff7b4c49d010e133319fb828eb900f8a7e55114fc86b39c261a339c74f630e1a7d7e1350244ada566a0ff3d46c4b -8d4d1d55d321d278db7a85522ccceca09510374ca81d4d73e3bb5249ace7674b73900c35a531ec4fa6448fabf7ad00dc -966492248aee24f0f56c8cfca3c8ec6ba3b19abb69ae642041d4c3be8523d22c65c4dafcab4c58989ccc4e0bd2f77919 -b20c320a90cb220b86e1af651cdc1e21315cd215da69f6787e28157172f93fc8285dcd59b039c626ed8ca4633cba1a47 -aae9e6b22f018ceb5c0950210bb8182cb8cb61014b7e14581a09d36ebd1bbfebdb2b82afb7fdb0cf75e58a293d9c456d -875547fb67951ad37b02466b79f0c9b985ccbc500cfb431b17823457dc79fb9597ec42cd9f198e15523fcd88652e63a4 -92afce49773cb2e20fb21e4f86f18e0959ebb9c33361547ddb30454ee8e36b1e234019cbdca0e964cb292f7f77df6b90 -8af85343dfe1821464c76ba11c216cbef697b5afc69c4d821342e55afdac047081ec2e3f7b09fc14b518d9a23b78c003 -b7de4a1648fd63f3a918096ea669502af5357438e69dac77cb8102b6e6c15c76e033cfaa80dafc806e535ede5c1a20aa -ac80e9b545e8bd762951d96c9ce87f629d01ffcde07efc2ef7879ca011f1d0d8a745abf26c9d452541008871304fac00 -a4cf0f7ed724e481368016c38ea5816698a5f68eb21af4d3c422d2ba55f96a33e427c2aa40de1b56a7cfac7f7cf43ab0 -899b0a678bb2db2cae1b44e75a661284844ebcdd87abf308fedeb2e4dbe5c5920c07db4db7284a7af806a2382e8b111a -af0588a2a4afce2b1b13c1230816f59e8264177e774e4a341b289a101dcf6af813638fed14fb4d09cb45f35d5d032609 -a4b8df79e2be76e9f5fc5845f06fe745a724cf37c82fcdb72719b77bdebea3c0e763f37909373e3a94480cc5e875cba0 -83e42c46d88930c8f386b19fd999288f142d325e2ebc86a74907d6d77112cb0d449bc511c95422cc810574031a8cbba9 -b5e39534070de1e5f6e27efbdd3dc917d966c2a9b8cf2d893f964256e95e954330f2442027dc148c776d63a95bcde955 -958607569dc28c075e658cd4ae3927055c6bc456eef6212a6fea8205e48ed8777a8064f584cda38fe5639c371e2e7fba -812adf409fa63575113662966f5078a903212ffb65c9b0bbe62da0f13a133443a7062cb8fd70f5e5dd5559a32c26d2c8 -a679f673e5ce6a3cce7fa31f22ee3785e96bcb55e5a776e2dd3467bef7440e3555d1a9b87cb215e86ee9ed13a090344b -afedbb34508b159eb25eb2248d7fe328f86ef8c7d84c62d5b5607d74aae27cc2cc45ee148eb22153b09898a835c58df4 -b75505d4f6b67d31e665cfaf5e4acdb5838ae069166b7fbcd48937c0608a59e40a25302fcc1873d2e81c1782808c70f0 -b62515d539ec21a155d94fc00ea3c6b7e5f6636937bce18ed5b618c12257fb82571886287fd5d1da495296c663ebc512 -ab8e1a9446bbdd588d1690243b1549d230e6149c28f59662b66a8391a138d37ab594df38e7720fae53217e5c3573b5be -b31e8abf4212e03c3287bb2c0a153065a7290a16764a0bac8f112a72e632185a654bb4e88fdd6053e6c7515d9719fadb -b55165477fe15b6abd2d0f4fddaa9c411710dcc4dd712daba3d30e303c9a3ee5415c256f9dc917ecf18c725b4dbab059 -a0939d4f57cacaae549b78e87cc234de4ff6a35dc0d9cd5d7410abc30ebcd34c135e008651c756e5a9d2ca79c40ef42b -8cf10e50769f3443340844aad4d56ec790850fed5a41fcbd739abac4c3015f0a085a038fbe7fae9f5ad899cce5069f6b -924055e804d82a99ea4bb160041ea4dc14b568abf379010bc1922fde5d664718c31d103b8b807e3a1ae809390e708c73 -8ec0f9d26f71b0f2e60a179e4fd1778452e2ffb129d50815e5d7c7cb9415fa69ae5890578086e8ef6bfde35ad2a74661 -98c7f12b15ec4426b59f737f73bf5faea4572340f4550b7590dfb7f7ffedb2372e3e555977c63946d579544c53210ad0 -8a935f7a955c78f69d66f18eee0092e5e833fa621781c9581058e219af4d7ceee48b84e472e159dda6199715fb2f9acf -b78d4219f95a2dbfaa7d0c8a610c57c358754f4f43c2af312ab0fe8f10a5f0177e475332fb8fd23604e474fc2abeb051 -8d086a14803392b7318c28f1039a17e3cfdcece8abcaca3657ec3d0ac330842098a85c0212f889fabb296dfb133ce9aa -a53249f417aac82f2c2a50c244ce21d3e08a5e5a8bd33bec2a5ab0d6cd17793e34a17edfa3690899244ce201e2fb9986 -8619b0264f9182867a1425be514dc4f1ababc1093138a728a28bd7e4ecc99b9faaff68c23792264bc6e4dce5f52a5c52 -8c171edbbbde551ec19e31b2091eb6956107dd9b1f853e1df23bff3c10a3469ac77a58335eee2b79112502e8e163f3de -a9d19ec40f0ca07c238e9337c6d6a319190bdba2db76fb63902f3fb459aeeb50a1ac30db5b25ee1b4201f3ca7164a7f4 -b9c6ec14b1581a03520b8d2c1fbbc31fb8ceaef2c0f1a0d0080b6b96e18442f1734bea7ef7b635d787c691de4765d469 -8cb437beb4cfa013096f40ccc169a713dc17afee6daa229a398e45fd5c0645a9ad2795c3f0cd439531a7151945d7064d -a6e8740cc509126e146775157c2eb278003e5bb6c48465c160ed27888ca803fa12eee1f6a8dd7f444f571664ed87fdc1 -b75c1fecc85b2732e96b3f23aefb491dbd0206a21d682aee0225838dc057d7ed3b576176353e8e90ae55663f79e986e4 -ad8d249b0aea9597b08358bce6c77c1fd552ef3fbc197d6a1cfe44e5e6f89b628b12a6fb04d5dcfcbacc51f46e4ae7bb -b998b2269932cbd58d04b8e898d373ac4bb1a62e8567484f4f83e224061bc0f212459f1daae95abdbc63816ae6486a55 -827988ef6c1101cddc96b98f4a30365ff08eea2471dd949d2c0a9b35c3bbfa8c07054ad1f4c88c8fbf829b20bb5a9a4f -8692e638dd60babf7d9f2f2d2ce58e0ac689e1326d88311416357298c6a2bffbfebf55d5253563e7b3fbbf5072264146 -a685d75b91aea04dbc14ab3c1b1588e6de96dae414c8e37b8388766029631b28dd860688079b12d09cd27f2c5af11adf -b57eced93eec3371c56679c259b34ac0992286be4f4ff9489d81cf9712403509932e47404ddd86f89d7c1c3b6391b28c -a1c8b4e42ebcbd8927669a97f1b72e236fb19249325659e72be7ddaaa1d9e81ca2abb643295d41a8c04a2c01f9c0efd7 -877c33de20d4ed31674a671ba3e8f01a316581e32503136a70c9c15bf0b7cb7b1cba6cd4eb641fad165fb3c3c6c235fd -a2a469d84ec478da40838f775d11ad38f6596eb41caa139cc190d6a10b5108c09febae34ffdafac92271d2e73c143693 -972f817caedb254055d52e963ed28c206848b6c4cfdb69dbc961c891f8458eaf582a6d4403ce1177d87bc2ea410ef60a -accbd739e138007422f28536381decc54bb6bd71d93edf3890e54f9ef339f83d2821697d1a4ac1f5a98175f9a9ecb9b5 -8940f8772e05389f823b62b3adc3ed541f91647f0318d7a0d3f293aeeb421013de0d0a3664ea53dd24e5fbe02d7efef6 -8ecce20f3ef6212edef07ec4d6183fda8e0e8cad2c6ccd0b325e75c425ee1faba00b5c26b4d95204238931598d78f49d -97cc72c36335bd008afbed34a3b0c7225933faba87f7916d0a6d2161e6f82e0cdcda7959573a366f638ca75d30e9dab1 -9105f5de8699b5bdb6bd3bb6cc1992d1eac23929c29837985f83b22efdda92af64d9c574aa9640475087201bbbe5fd73 -8ffb33c4f6d05c413b9647eb6933526a350ed2e4278ca2ecc06b0e8026d8dbe829c476a40e45a6df63a633090a3f82ef -8bfc6421fdc9c2d2aaa68d2a69b1a2728c25b84944cc3e6a57ff0c94bfd210d1cbf4ff3f06702d2a8257024d8be7de63 -a80e1dc1dddfb41a70220939b96dc6935e00b32fb8be5dff4eed1f1c650002ff95e4af481c43292e3827363b7ec4768a -96f714ebd54617198bd636ba7f7a7f8995a61db20962f2165078d9ed8ee764d5946ef3cbdc7ebf8435bb8d5dd4c1deac -8cdb0890e33144d66391d2ae73f5c71f5a861f72bc93bff6cc399fc25dd1f9e17d8772592b44593429718784802ac377 -8ccf9a7f80800ee770b92add734ed45a73ecc31e2af0e04364eefc6056a8223834c7c0dc9dfc52495bdec6e74ce69994 -aa0875f423bd68b5f10ba978ddb79d3b96ec093bfbac9ff366323193e339ed7c4578760fb60f60e93598bdf1e5cc4995 -a9214f523957b59c7a4cb61a40251ad72aba0b57573163b0dc0f33e41d2df483fb9a1b85a5e7c080e9376c866790f8cb -b6224b605028c6673a536cc8ff9aeb94e7a22e686fda82cf16068d326469172f511219b68b2b3affb7933af0c1f80d07 -b6d58968d8a017c6a34e24c2c09852f736515a2c50f37232ac6b43a38f8faa7572cc31dade543b594b61b5761c4781d0 -8a97cefe5120020c38deeb861d394404e6c993c6cbd5989b6c9ebffe24f46ad11b4ba6348e2991cbf3949c28cfc3c99d -95bf046f8c3a9c0ce2634be4de3713024daec3fc4083e808903b25ce3ac971145af90686b451efcc72f6b22df0216667 -a6a4e2f71b8fa28801f553231eff2794c0f10d12e7e414276995e21195abc9c2983a8997e41af41e78d19ff6fbb2680b -8e5e62a7ca9c2f58ebaab63db2ff1fb1ff0877ae94b7f5e2897f273f684ae639dff44cc65718f78a9c894787602ab26a -8542784383eec4f565fcb8b9fc2ad8d7a644267d8d7612a0f476fc8df3aff458897a38003d506d24142ad18f93554f2b -b7db68ba4616ea072b37925ec4fb39096358c2832cc6d35169e032326b2d6614479f765ae98913c267105b84afcb9bf2 -8b31dbb9457d23d416c47542c786e07a489af35c4a87dadb8ee91bea5ac4a5315e65625d78dad2cf8f9561af31b45390 -a8545a1d91ac17257732033d89e6b7111db8242e9c6ebb0213a88906d5ef407a2c6fdb444e29504b06368b6efb4f4839 -b1bd85d29ebb28ccfb05779aad8674906b267c2bf8cdb1f9a0591dd621b53a4ee9f2942687ee3476740c0b4a7621a3ae -a2b54534e152e46c50d91fff03ae9cd019ff7cd9f4168b2fe7ac08ef8c3bbc134cadd3f9d6bd33d20ae476c2a8596c8a -b19b571ff4ae3e9f5d95acda133c455e72c9ea9973cae360732859836c0341c4c29ab039224dc5bc3deb824e031675d8 -940b5f80478648bac025a30f3efeb47023ce20ee98be833948a248bca6979f206bb28fc0f17b90acf3bb4abd3d14d731 -8f106b40588586ac11629b96d57808ad2808915d89539409c97414aded90b4ff23286a692608230a52bff696055ba5d6 -ae6bda03aa10da3d2abbc66d764ca6c8d0993e7304a1bdd413eb9622f3ca1913baa6da1e9f4f9e6cf847f14f44d6924d -a18e7796054a340ef826c4d6b5a117b80927afaf2ebd547794c400204ae2caf277692e2eabb55bc2f620763c9e9da66d -8d2d25180dc2c65a4844d3e66819ccfcf48858f0cc89e1c77553b463ec0f7feb9a4002ce26bc618d1142549b9850f232 -863f413a394de42cc8166c1c75d513b91d545fff1de6b359037a742c70b008d34bf8e587afa2d62c844d0c6f0ea753e7 -83cd0cf62d63475e7fcad18a2e74108499cdbf28af2113cfe005e3b5887794422da450b1944d0a986eb7e1f4c3b18f25 -b4f8b350a6d88fea5ab2e44715a292efb12eb52df738c9b2393da3f1ddee68d0a75b476733ccf93642154bceb208f2b8 -b3f52aaa4cd4221cb9fc45936cc67fd3864bf6d26bf3dd86aa85aa55ecfc05f5e392ecce5e7cf9406b4b1c4fce0398c8 -b33137084422fb643123f40a6df2b498065e65230fc65dc31791c330e898c51c3a65ff738930f32c63d78f3c9315f85b -91452bfa75019363976bb7337fe3a73f1c10f01637428c135536b0cdc7da5ce558dae3dfc792aa55022292600814a8ef -ad6ba94c787cd4361ca642c20793ea44f1f127d4de0bb4a77c7fbfebae0fcadbf28e2cb6f0c12c12a07324ec8c19761d -890aa6248b17f1501b0f869c556be7bf2b1d31a176f9978bb97ab7a6bd4138eed32467951c5ef1871944b7f620542f43 -82111db2052194ee7dd22ff1eafffac0443cf969d3762cceae046c9a11561c0fdce9c0711f88ac01d1bed165f8a7cee3 -b1527b71df2b42b55832f72e772a466e0fa05743aacc7814f4414e4bcc8d42a4010c9e0fd940e6f254cafedff3cd6543 -922370fa49903679fc565f09c16a5917f8125e72acfeb060fcdbadbd1644eb9f4016229756019c93c6d609cda5d5d174 -aa4c7d98a96cab138d2a53d4aee8ebff6ef903e3b629a92519608d88b3bbd94de5522291a1097e6acf830270e64c8ee1 -b3dc21608a389a72d3a752883a382baaafc61ecc44083b832610a237f6a2363f24195acce529eb4aed4ef0e27a12b66e -94619f5de05e07b32291e1d7ab1d8b7337a2235e49d4fb5f3055f090a65e932e829efa95db886b32b153bdd05a53ec8c -ade1e92722c2ffa85865d2426fb3d1654a16477d3abf580cfc45ea4b92d5668afc9d09275d3b79283e13e6b39e47424d -b7201589de7bed094911dd62fcd25c459a8e327ac447b69f541cdba30233063e5ddffad0b67e9c3e34adcffedfd0e13d -809d325310f862d6549e7cb40f7e5fc9b7544bd751dd28c4f363c724a0378c0e2adcb5e42ec8f912f5f49f18f3365c07 -a79c20aa533de7a5d671c99eb9eb454803ba54dd4f2efa3c8fec1a38f8308e9905c71e9282955225f686146388506ff6 -a85eeacb5e8fc9f3ed06a3fe2dc3108ab9f8c5877b148c73cf26e4e979bf5795edbe2e63a8d452565fd1176ed40402b2 -97ef55662f8a1ec0842b22ee21391227540adf7708f491436044f3a2eb18c471525e78e1e14fa292507c99d74d7437c6 -93110d64ed5886f3d16ce83b11425576a3a7a9bb831cd0de3f9a0b0f2270a730d68136b4ef7ff035ede004358f419b5c -ac9ed0a071517f0ae4f61ce95916a90ba9a77a3f84b0ec50ef7298acdcd44d1b94525d191c39d6bd1bb68f4471428760 -98abd6a02c7690f5a339adf292b8c9368dfc12e0f8069cf26a5e0ce54b4441638f5c66ea735142f3c28e00a0024267e6 -b51efb73ba6d44146f047d69b19c0722227a7748b0e8f644d0fc9551324cf034c041a2378c56ce8b58d06038fb8a78de -8f115af274ef75c1662b588b0896b97d71f8d67986ae846792702c4742ab855952865ce236b27e2321967ce36ff93357 -b3c4548f14d58b3ab03c222da09e4381a0afe47a72d18d50a94e0008797f78e39e99990e5b4757be62310d400746e35a -a9b1883bd5f31f909b8b1b6dcb48c1c60ed20aa7374b3ffa7f5b2ed036599b5bef33289d23c80a5e6420d191723b92f7 -85d38dffd99487ae5bb41ab4a44d80a46157bbbe8ef9497e68f061721f74e4da513ccc3422936b059575975f6787c936 -adf870fcb96e972c033ab7a35d28ae79ee795f82bc49c3bd69138f0e338103118d5529c53f2d72a9c0d947bf7d312af2 -ab4c7a44e2d9446c6ff303eb49aef0e367a58b22cc3bb27b4e69b55d1d9ee639c9234148d2ee95f9ca8079b1457d5a75 -a386420b738aba2d7145eb4cba6d643d96bda3f2ca55bb11980b318d43b289d55a108f4bc23a9606fb0bccdeb3b3bb30 -847020e0a440d9c4109773ecca5d8268b44d523389993b1f5e60e541187f7c597d79ebd6e318871815e26c96b4a4dbb1 -a530aa7e5ca86fcd1bec4b072b55cc793781f38a666c2033b510a69e110eeabb54c7d8cbcb9c61fee531a6f635ffa972 -87364a5ea1d270632a44269d686b2402da737948dac27f51b7a97af80b66728b0256547a5103d2227005541ca4b7ed04 -8816fc6e16ea277de93a6d793d0eb5c15e9e93eb958c5ef30adaf8241805adeb4da8ce19c3c2167f971f61e0b361077d -8836a72d301c42510367181bb091e4be377777aed57b73c29ef2ce1d475feedd7e0f31676284d9a94f6db01cc4de81a2 -b0d9d8b7116156d9dde138d28aa05a33e61f8a85839c1e9071ccd517b46a5b4b53acb32c2edd7150c15bc1b4bd8db9e3 -ae931b6eaeda790ba7f1cd674e53dc87f6306ff44951fa0df88d506316a5da240df9794ccbd7215a6470e6b31c5ea193 -8c6d5bdf87bd7f645419d7c6444e244fe054d437ed1ba0c122fde7800603a5fadc061e5b836cb22a6cfb2b466f20f013 -90d530c6d0cb654999fa771b8d11d723f54b8a8233d1052dc1e839ea6e314fbed3697084601f3e9bbb71d2b4eaa596df -b0d341a1422588c983f767b1ed36c18b141774f67ef6a43cff8e18b73a009da10fc12120938b8bba27f225bdfd3138f9 -a131b56f9537f460d304e9a1dd75702ace8abd68cb45419695cb8dee76998139058336c87b7afd6239dc20d7f8f940cc -aa6c51fa28975f709329adee1bbd35d49c6b878041841a94465e8218338e4371f5cb6c17f44a63ac93644bf28f15d20f -88440fb584a99ebd7f9ea04aaf622f6e44e2b43bbb49fb5de548d24a238dc8f26c8da2ccf03dd43102bda9f16623f609 -9777b8695b790e702159a4a750d5e7ff865425b95fa0a3c15495af385b91c90c00a6bd01d1b77bffe8c47d01baae846f -8b9d764ece7799079e63c7f01690c8eff00896a26a0d095773dea7a35967a8c40db7a6a74692f0118bf0460c26739af4 -85808c65c485520609c9e61fa1bb67b28f4611d3608a9f7a5030ee61c3aa3c7e7dc17fff48af76b4aecee2cb0dbd22ac -ad2783a76f5b3db008ef5f7e67391fda4e7e36abde6b3b089fc4835b5c339370287935af6bd53998bed4e399eda1136d -96f18ec03ae47c205cc4242ca58e2eff185c9dca86d5158817e2e5dc2207ab84aadda78725f8dc080a231efdc093b940 -97de1ab6c6cc646ae60cf7b86df73b9cf56cc0cd1f31b966951ebf79fc153531af55ca643b20b773daa7cab784b832f7 -870ba266a9bfa86ef644b1ef025a0f1b7609a60de170fe9508de8fd53170c0b48adb37f19397ee8019b041ce29a16576 -ad990e888d279ac4e8db90619d663d5ae027f994a3992c2fbc7d262b5990ae8a243e19157f3565671d1cb0de17fe6e55 -8d9d5adcdd94c5ba3be4d9a7428133b42e485f040a28d16ee2384758e87d35528f7f9868de9bd23d1a42a594ce50a567 -85a33ed75d514ece6ad78440e42f7fcdb59b6f4cff821188236d20edae9050b3a042ce9bc7d2054296e133d033e45022 -92afd2f49a124aaba90de59be85ff269457f982b54c91b06650c1b8055f9b4b0640fd378df02a00e4fc91f7d226ab980 -8c0ee09ec64bd831e544785e3d65418fe83ed9c920d9bb4d0bf6dd162c1264eb9d6652d2def0722e223915615931581c -8369bedfa17b24e9ad48ebd9c5afea4b66b3296d5770e09b00446c5b0a8a373d39d300780c01dcc1c6752792bccf5fd0 -8b9e960782576a59b2eb2250d346030daa50bbbec114e95cdb9e4b1ba18c3d34525ae388f859708131984976ca439d94 -b682bface862008fea2b5a07812ca6a28a58fd151a1d54c708fc2f8572916e0d678a9cb8dc1c10c0470025c8a605249e -a38d5e189bea540a824b36815fc41e3750760a52be0862c4cac68214febdc1a754fb194a7415a8fb7f96f6836196d82a -b9e7fbda650f18c7eb8b40e42cc42273a7298e65e8be524292369581861075c55299ce69309710e5b843cb884de171bd -b6657e5e31b3193874a1bace08f42faccbd3c502fb73ad87d15d18a1b6c2a146f1baa929e6f517db390a5a47b66c0acf -ae15487312f84ed6265e4c28327d24a8a0f4d2d17d4a5b7c29b974139cf93223435aaebe3af918f5b4bb20911799715f -8bb4608beb06bc394e1a70739b872ce5a2a3ffc98c7547bf2698c893ca399d6c13686f6663f483894bccaabc3b9c56ad -b58ac36bc6847077584308d952c5f3663e3001af5ecf2e19cb162e1c58bd6c49510205d453cffc876ca1dc6b8e04a578 -924f65ced61266a79a671ffb49b300f0ea44c50a0b4e3b02064faa99fcc3e4f6061ea8f38168ab118c5d47bd7804590e -8d67d43b8a06b0ff4fafd7f0483fa9ed1a9e3e658a03fb49d9d9b74e2e24858dc1bed065c12392037b467f255d4e5643 -b4d4f87813125a6b355e4519a81657fa97c43a6115817b819a6caf4823f1d6a1169683fd68f8d025cdfa40ebf3069acb -a7fd4d2c8e7b59b8eed3d4332ae94b77a89a2616347402f880bc81bde072220131e6dbec8a605be3a1c760b775375879 -8d4a7d8fa6f55a30df37bcf74952e2fa4fd6676a2e4606185cf154bdd84643fd01619f8fb8813a564f72e3f574f8ce30 -8086fb88e6260e9a9c42e9560fde76315ff5e5680ec7140f2a18438f15bc2cc7d7d43bfb5880b180b738c20a834e6134 -916c4c54721de03934fee6f43de50bb04c81f6f8dd4f6781e159e71c40c60408aa54251d457369d133d4ba3ed7c12cb4 -902e5bf468f11ed9954e2a4a595c27e34abe512f1d6dc08bbca1c2441063f9af3dc5a8075ab910a10ff6c05c1c644a35 -a1302953015e164bf4c15f7d4d35e3633425a78294406b861675667eec77765ff88472306531e5d3a4ec0a2ff0dd6a9e -87874461df3c9aa6c0fa91325576c0590f367075f2f0ecfeb34afe162c04c14f8ce9d608c37ac1adc8b9985bc036e366 -84b50a8a61d3cc609bfb0417348133e698fe09a6d37357ce3358de189efcf35773d78c57635c2d26c3542b13cc371752 -acaed2cff8633d12c1d12bb7270c54d65b0b0733ab084fd47f81d0a6e1e9b6f300e615e79538239e6160c566d8bb8d29 -889e6a0e136372ca4bac90d1ab220d4e1cad425a710e8cdd48b400b73bb8137291ceb36a39440fa84305783b1d42c72f -90952e5becec45b2b73719c228429a2c364991cf1d5a9d6845ae5b38018c2626f4308daa322cab1c72e0f6c621bb2b35 -8f5a97a801b6e9dcd66ccb80d337562c96f7914e7169e8ff0fda71534054c64bf2a9493bb830623d612cfe998789be65 -84f3df8b9847dcf1d63ca470dc623154898f83c25a6983e9b78c6d2d90a97bf5e622445be835f32c1e55e6a0a562ea78 -91d12095cd7a88e7f57f254f02fdb1a1ab18984871dead2f107404bcf8069fe68258c4e6f6ebd2477bddf738135400bb -b771a28bc04baef68604d4723791d3712f82b5e4fe316d7adc2fc01b935d8e644c06d59b83bcb542afc40ebafbee0683 -872f6341476e387604a7e93ae6d6117e72d164e38ebc2b825bc6df4fcce815004d7516423c190c1575946b5de438c08d -90d6b4aa7d40a020cdcd04e8b016d041795961a8e532a0e1f4041252131089114a251791bf57794cadb7d636342f5d1c -899023ba6096a181448d927fed7a0fe858be4eac4082a42e30b3050ee065278d72fa9b9d5ce3bc1372d4cbd30a2f2976 -a28f176571e1a9124f95973f414d5bdbf5794d41c3839d8b917100902ac4e2171eb940431236cec93928a60a77ede793 -838dbe5bcd29c4e465d02350270fa0036cd46f8730b13d91e77afb7f5ed16525d0021d3b2ae173a76c378516a903e0cb -8e105d012dd3f5d20f0f1c4a7e7f09f0fdd74ce554c3032e48da8cce0a77260d7d47a454851387770f5c256fa29bcb88 -8f4df0f9feeb7a487e1d138d13ea961459a6402fd8f8cabb226a92249a0d04ded5971f3242b9f90d08da5ff66da28af6 -ad1cfda4f2122a20935aa32fb17c536a3653a18617a65c6836700b5537122af5a8206befe9eaea781c1244c43778e7f1 -832c6f01d6571964ea383292efc8c8fa11e61c0634a25fa180737cc7ab57bc77f25e614aac9a2a03d98f27b3c1c29de2 -903f89cc13ec6685ac7728521898781fecb300e9094ef913d530bf875c18bcc3ceed7ed51e7b482d45619ab4b025c2e9 -a03c474bb915aad94f171e8d96f46abb2a19c9470601f4c915512ec8b9e743c3938450a2a5b077b4618b9df8809e1dc1 -83536c8456f306045a5f38ae4be2e350878fa7e164ea408d467f8c3bc4c2ee396bd5868008c089183868e4dfad7aa50b -88f26b4ea1b236cb326cd7ad7e2517ec8c4919598691474fe15d09cabcfc37a8d8b1b818f4d112432ee3a716b0f37871 -a44324e3fe96e9c12b40ded4f0f3397c8c7ee8ff5e96441118d8a6bfad712d3ac990b2a6a23231a8f691491ac1fd480f -b0de4693b4b9f932191a21ee88629964878680152a82996c0019ffc39f8d9369bbe2fe5844b68d6d9589ace54af947e4 -8e5d8ba948aea5fd26035351a960e87f0d23efddd8e13236cc8e4545a3dda2e9a85e6521efb8577e03772d3637d213d9 -93efc82d2017e9c57834a1246463e64774e56183bb247c8fc9dd98c56817e878d97b05f5c8d900acf1fbbbca6f146556 -8731176363ad7658a2862426ee47a5dce9434216cef60e6045fa57c40bb3ce1e78dac4510ae40f1f31db5967022ced32 -b10c9a96745722c85bdb1a693100104d560433d45b9ac4add54c7646a7310d8e9b3ca9abd1039d473ae768a18e489845 -a2ac374dfbb464bf850b4a2caf15b112634a6428e8395f9c9243baefd2452b4b4c61b0cb2836d8eae2d57d4900bf407e -b69fe3ded0c4f5d44a09a0e0f398221b6d1bf5dbb8bc4e338b93c64f1a3cac1e4b5f73c2b8117158030ec03787f4b452 -8852cdbaf7d0447a8c6f211b4830711b3b5c105c0f316e3a6a18dcfbb9be08bd6f4e5c8ae0c3692da08a2dfa532f9d5c -93bbf6d7432a7d98ade3f94b57bf9f4da9bc221a180a370b113066dd42601bb9e09edd79e2e6e04e00423399339eebda -a80941c391f1eeafc1451c59e4775d6a383946ff22997aeaadf806542ba451d3b0f0c6864eeba954174a296efe2c1550 -a045fe2bb011c2a2f71a0181a8f457a3078470fb74c628eab8b59aef69ffd0d649723bf74d6885af3f028bc5a104fb39 -b9d8c35911009c4c8cad64692139bf3fc16b78f5a19980790cb6a7aea650a25df4231a4437ae0c351676a7e42c16134f -94c79501ded0cfcbab99e1841abe4a00a0252b3870e20774c3da16c982d74c501916ec28304e71194845be6e3113c7ab -900a66418b082a24c6348d8644ddb1817df5b25cb33044a519ef47cc8e1f7f1e38d2465b7b96d32ed472d2d17f8414c6 -b26f45d393b8b2fcb29bdbb16323dc7f4b81c09618519ab3a39f8ee5bd148d0d9f3c0b5dfab55b5ce14a1cb9206d777b -aa1a87735fc493a80a96a9a57ca40a6d9c32702bfcaa9869ce1a116ae65d69cefe2f3e79a12454b4590353e96f8912b4 -a922b188d3d0b69b4e4ea2a2aa076566962844637da12c0832105d7b31dea4a309eee15d12b7a336be3ea36fcbd3e3b7 -8f3841fcf4105131d8c4d9885e6e11a46c448226401cf99356c291fadb864da9fa9d30f3a73c327f23f9fd99a11d633e -9791d1183fae270e226379af6c497e7da803ea854bb20afa74b253239b744c15f670ee808f708ede873e78d79a626c9a -a4cad52e3369491ada61bf28ada9e85de4516d21c882e5f1cd845bea9c06e0b2887b0c5527fcff6fc28acd3c04f0a796 -b9ac86a900899603452bd11a7892a9bfed8054970bfcbeaa8c9d1930db891169e38d6977f5258c25734f96c8462eee3b -a3a154c28e5580656a859f4efc2f5ebfa7eaa84ca40e3f134fa7865e8581586db74992dbfa4036aa252fba103773ddde -95cc2a0c1885a029e094f5d737e3ecf4d26b99036453a8773c77e360101f9f98676ee246f6f732a377a996702d55691f -842651bbe99720438d8d4b0218feb60481280c05beb17750e9ca0d8c0599a60f873b7fbdcc7d8835ba9a6d57b16eec03 -81ee54699da98f5620307893dcea8f64670609fa20e5622265d66283adeac122d458b3308c5898e6c57c298db2c8b24f -b97868b0b2bc98032d68352a535a1b341b9ff3c7af4e3a7f3ebc82d3419daa1b5859d6aedc39994939623c7cd878bd9b -b60325cd5d36461d07ef253d826f37f9ee6474a760f2fff80f9873d01fd2b57711543cdc8d7afa1c350aa753c2e33dea -8c205326c11d25a46717b780c639d89714c7736c974ae71287e3f4b02e6605ac2d9b4928967b1684f12be040b7bf2dd3 -95a392d82db51e26ade6c2ccd3396d7e40aff68fa570b5951466580d6e56dda51775dce5cf3a74a7f28c3cb2eb551c4d -8f2cc8071eb56dffb70bda6dd433b556221dc8bba21c53353c865f00e7d4d86c9e39f119ea9a8a12ef583e9a55d9a6b6 -9449a71af9672aaf8856896d7e3d788b22991a7103f75b08c0abbcc2bfe60fda4ed8ce502cea4511ff0ea52a93e81222 -857090ab9fdb7d59632d068f3cc8cf27e61f0d8322d30e6b38e780a1f05227199b4cd746aac1311c36c659ef20931f28 -98a891f4973e7d9aaf9ac70854608d4f7493dffc7e0987d7be9dd6029f6ea5636d24ef3a83205615ca1ff403750058e1 -a486e1365bbc278dd66a2a25d258dc82f46b911103cb16aab3945b9c95ae87b386313a12b566df5b22322ede0afe25ad -a9a1eb399ed95d396dccd8d1ac718043446f8b979ec62bdce51c617c97a312f01376ab7fb87d27034e5f5570797b3c33 -b7abc3858d7a74bb446218d2f5a037e0fae11871ed9caf44b29b69c500c1fa1dcfad64c9cdccc9d80d5e584f06213deb -8cfb09fe2e202faa4cebad932b1d35f5ca204e1c2a0c740a57812ac9a6792130d1312aabd9e9d4c58ca168bfebd4c177 -a90a305c2cd0f184787c6be596fa67f436afd1f9b93f30e875f817ac2aae8bdd2e6e656f6be809467e6b3ad84adb86b1 -80a9ef993c2b009ae172cc8f7ec036f5734cf4f4dfa06a7db4d54725e7fbfae5e3bc6f22687bdbb6961939d6f0c87537 -848ade1901931e72b955d7db1893f07003e1708ff5d93174bac5930b9a732640f0578839203e9b77eb27965c700032d3 -93fdf4697609c5ae9c33b9ca2f5f1af44abeb2b98dc4fdf732cf7388de086f410730dc384d9b7a7f447bb009653c8381 -89ce3fb805aea618b5715c0d22a9f46da696b6fa86794f56fdf1d44155a33d42daf1920bcbe36cbacf3cf4c92df9cbc7 -829ce2c342cf82aa469c65f724f308f7a750bd1494adc264609cd790c8718b8b25b5cab5858cf4ee2f8f651d569eea67 -af2f0cee7bf413204be8b9df59b9e4991bc9009e0d6dbe6815181df0ec2ca93ab8f4f3135b1c14d8f53d74bff0bd6f27 -b87998cecf7b88cde93d1779f10a521edd5574a2fbd240102978639ec57433ba08cdb53849038a329cebbe74657268d2 -a64542a1261a6ed3d720c2c3a802303aad8c4c110c95d0f12e05c1065e66f42da494792b6bfc5b9272363f3b1d457f58 -86a6fd042e4f282fadf07a4bfee03fc96a3aea49f7a00f52bf249a20f1ec892326855410e61f37fbb27d9305eb2fc713 -967ea5bc403b6db269682f7fd0df90659350d7e1aa66bc4fab4c9dfcd75ed0bba4b52f1cebc5f34dc8ba810793727629 -a52990f9f3b8616ce3cdc2c74cd195029e6a969753dcf2d1630438700e7d6ebde36538532b3525ac516f5f2ce9dd27a3 -a64f7ff870bab4a8bf0d4ef6f5c744e9bf1021ed08b4c80903c7ad318e80ba1817c3180cc45cb5a1cae1170f0241655f -b00f706fa4de1f663f021e8ad3d155e84ce6084a409374b6e6cd0f924a0a0b51bebaaaf1d228c77233a73b0a5a0df0e9 -8b882cc3bff3e42babdb96df95fb780faded84887a0a9bab896bef371cdcf169d909f5658649e93006aa3c6e1146d62e -9332663ef1d1dcf805c3d0e4ce7a07d9863fb1731172e766b3cde030bf81682cc011e26b773fb9c68e0477b4ae2cfb79 -a8aa8151348dbd4ef40aaeb699b71b4c4bfd3218560c120d85036d14f678f6736f0ec68e80ce1459d3d35feccc575164 -a16cd8b729768f51881c213434aa28301fa78fcb554ddd5f9012ee1e4eae7b5cb3dd88d269d53146dea92d10790faf0b -86844f0ef9d37142faf3b1e196e44fbe280a3ba4189aa05c356778cb9e3b388a2bff95eed305ada8769935c9974e4c57 -ae2eec6b328fccf3b47bcdac32901ac2744a51beb410b04c81dea34dee4912b619466a4f5e2780d87ecefaebbe77b46d -915df4c38d301c8a4eb2dc5b1ba0ffaad67cbb177e0a80095614e9c711f4ef24a4cef133f9d982a63d2a943ba6c8669d -ae6a2a4dedfc2d1811711a8946991fede972fdf2a389b282471280737536ffc0ac3a6d885b1f8bda0366eb0b229b9979 -a9b628c63d08b8aba6b1317f6e91c34b2382a6c85376e8ef2410a463c6796740ae936fc4e9e0737cb9455d1daa287bd8 -848e30bf7edf2546670b390d5cf9ab71f98fcb6add3c0b582cb34996c26a446dee5d1bde4fdcde4fc80c10936e117b29 -907d6096c7c8c087d1808dd995d5d2b9169b3768c3f433475b50c2e2bd4b082f4d543afd8b0b0ddffa9c66222a72d51d -a59970a2493b07339124d763ac9d793c60a03354539ecbcf6035bc43d1ea6e35718202ae6d7060b7d388f483d971573c -b9cfef2af9681b2318f119d8611ff6d9485a68d8044581b1959ab1840cbca576dbb53eec17863d2149966e9feb21122f -ad47271806161f61d3afa45cdfe2babceef5e90031a21779f83dc8562e6076680525b4970b2f11fe9b2b23c382768323 -8e425a99b71677b04fe044625d338811fbb8ee32368a424f6ab2381c52e86ee7a6cecedf777dc97181519d41c351bc22 -86b55b54d7adefc12954a9252ee23ae83efe8b5b4b9a7dc307904413e5d69868c7087a818b2833f9b004213d629be8ad -a14fda6b93923dd11e564ae4457a66f397741527166e0b16a8eb91c6701c244fd1c4b63f9dd3515193ec88fa6c266b35 -a9b17c36ae6cd85a0ed7f6cabc5b47dc8f80ced605db327c47826476dc1fb8f8669aa7a7dc679fbd4ee3d8e8b4bd6a6f -82a0829469c1458d959c821148f15dacae9ea94bf56c59a6ab2d4dd8b3d16d73e313b5a3912a6c1f131d73a8f06730c4 -b22d56d549a53eaef549595924bdb621ff807aa4513feedf3fdcbf7ba8b6b9cfa4481c2f67fc642db397a6b794a8b63a -974c59c24392e2cb9294006cbe3c52163e255f3bd0c2b457bdc68a6338e6d5b6f87f716854492f8d880a6b896ccf757c -b70d247ba7cad97c50b57f526c2ba915786e926a94e8f8c3eebc2e1be6f4255411b9670e382060049c8f4184302c40b2 -ad80201fe75ef21c3ddbd98cf23591e0d7a3ba1036dfe77785c32f44755a212c31f0ceb0a0b6f5ee9b6dc81f358d30c3 -8c656e841f9bb90b9a42d425251f3fdbc022a604d75f5845f479ed4be23e02aaf9e6e56cde351dd7449c50574818a199 -8b88dd3fa209d3063b7c5b058f7249ee9900fbc2287d16da61a0704a0a1d71e45d9c96e1cda7fdf9654534ec44558b22 -961da00cc8750bd84d253c08f011970ae1b1158ad6778e8ed943d547bceaf52d6d5a212a7de3bf2706688c4389b827d2 -a5dd379922549a956033e3d51a986a4b1508e575042b8eaa1df007aa77cf0b8c2ab23212f9c075702788fa9c53696133 -ac8fcfde3a349d1e93fc8cf450814e842005c545c4844c0401bc80e6b96cdb77f29285a14455e167c191d4f312e866cd -ac63d79c799783a8466617030c59dd5a8f92ee6c5204676fd8d881ce5f7f8663bdbeb0379e480ea9b6340ab0dc88e574 -805874fde19ce359041ae2bd52a39e2841acabfd31f965792f2737d7137f36d4e4722ede8340d8c95afa6af278af8acb -8d2f323a228aa8ba7b7dc1399138f9e6b41df1a16a7069003ab8104b8b68506a45141bc5fe66acf430e23e13a545190b -a1610c721a2d9af882bb6b39bea97cff1527a3aea041d25934de080214ae77c959e79957164440686d15ab301e897d4d -aba16d29a47fc36f12b654fde513896723e2c700c4190f11b26aa4011da57737ad717daa02794aa3246e4ae5f0b0cc3a -a406db2f15fdd135f346cc4846623c47edd195e80ba8c7cb447332095314d565e4040694ca924696bb5ee7f8996ea0ba -8b30e2cd9b47d75ba57b83630e40f832249af6c058d4f490416562af451993eec46f3e1f90bc4d389e4c06abd1b32a46 -aacf9eb7036e248e209adbfc3dd7ce386569ea9b312caa4b240726549db3c68c4f1c8cbf8ed5ea9ea60c7e57c9df3b8e -b20fcac63bf6f5ee638a42d7f89be847f348c085ddcbec3fa318f4323592d136c230495f188ef2022aa355cc2b0da6f9 -811eff750456a79ec1b1249d76d7c1547065b839d8d4aaad860f6d4528eb5b669473dcceeeea676cddbc3980b68461b7 -b52d14ae33f4ab422f953392ae76a19c618cc31afc96290bd3fe2fb44c954b5c92c4789f3f16e8793f2c0c1691ade444 -a7826dafeeba0db5b66c4dfcf2b17fd7b40507a5a53ac2e42942633a2cb30b95ba1739a6e9f3b7a0e0f1ec729bf274e2 -8acfd83ddf7c60dd7c8b20c706a3b972c65d336b8f9b3d907bdd8926ced271430479448100050b1ef17578a49c8fa616 -af0c69f65184bb06868029ad46f8465d75c36814c621ac20a5c0b06a900d59305584f5a6709683d9c0e4b6cd08d650a6 -b6cc8588191e00680ee6c3339bd0f0a17ad8fd7f4be57d5d7075bede0ea593a19e67f3d7c1a20114894ee5bfcab71063 -a82fd4f58635129dbb6cc3eb9391cf2d28400018b105fc41500fbbd12bd890b918f97d3d359c29dd3b4c4e34391dfab0 -92fc544ed65b4a3625cf03c41ddff7c039bc22d22c0d59dcc00efd5438401f2606adb125a1d5de294cca216ec8ac35a3 -906f67e4a32582b71f15940523c0c7ce370336935e2646bdaea16a06995256d25e99df57297e39d6c39535e180456407 -97510337ea5bbd5977287339197db55c60533b2ec35c94d0a460a416ae9f60e85cee39be82abeeacd5813cf54df05862 -87e6894643815c0ea48cb96c607266c5ee4f1f82ba5fe352fb77f9b6ed14bfc2b8e09e80a99ac9047dfcf62b2ae26795 -b6fd55dd156622ad7d5d51b7dde75e47bd052d4e542dd6449e72411f68275775c846dde301e84613312be8c7bce58b07 -b98461ac71f554b2f03a94e429b255af89eec917e208a8e60edf5fc43b65f1d17a20de3f31d2ce9f0cb573c25f2f4d98 -96f0dea40ca61cefbee41c4e1fe9a7d81fbe1f49bb153d083ab70f5d0488a1f717fd28cedcf6aa18d07cce2c62801898 -8d7c3ab310184f7dc34b6ce4684e4d29a31e77b09940448ea4daac730b7eb308063125d4dd229046cf11bfd521b771e0 -96f0564898fe96687918bbf0a6adead99cf72e3a35ea3347e124af9d006221f8e82e5a9d2fe80094d5e8d48e610f415e -ad50fcb92c2675a398cf07d4c40a579e44bf8d35f27cc330b57e54d5ea59f7d898af0f75dccfe3726e5471133d70f92b -828beed62020361689ae7481dd8f116902b522fb0c6c122678e7f949fdef70ead011e0e6bffd25678e388744e17cdb69 -8349decac1ca16599eee2efc95bcaabf67631107da1d34a2f917884bd70dfec9b4b08ab7bc4379d6c73b19c0b6e54fb8 -b2a6a2e50230c05613ace9e58bb2e98d94127f196f02d9dddc53c43fc68c184549ca12d713cb1b025d8260a41e947155 -94ff52181aadae832aed52fc3b7794536e2a31a21fc8be3ea312ca5c695750d37f08002f286b33f4023dba1e3253ecfa -a21d56153c7e5972ee9a319501be4faff199fdf09bb821ea9ce64aa815289676c00f105e6f00311b3a5b627091b0d0fc -a27a60d219f1f0c971db73a7f563b371b5c9fc3ed1f72883b2eac8a0df6698400c9954f4ca17d7e94e44bd4f95532afb -a2fc56fae99b1f18ba5e4fe838402164ce82f8a7f3193d0bbd360c2bac07c46f9330c4c7681ffb47074c6f81ee6e7ac6 -b748e530cd3afb96d879b83e89c9f1a444f54e55372ab1dcd46a0872f95ce8f49cf2363fc61be82259e04f555937ed16 -8bf8993e81080c7cbba1e14a798504af1e4950b2f186ab3335b771d6acaee4ffe92131ae9c53d74379d957cb6344d9cd -96774d0ef730d22d7ab6d9fb7f90b9ead44285219d076584a901960542756700a2a1603cdf72be4708b267200f6c36a9 -b47703c2ab17be1e823cc7bf3460db1d6760c0e33862c90ca058845b2ff234b0f9834ddba2efb2ee1770eb261e7d8ffd -84319e67c37a9581f8b09b5e4d4ae88d0a7fb4cbb6908971ab5be28070c3830f040b1de83ee663c573e0f2f6198640e4 -96811875fa83133e0b3c0e0290f9e0e28bca6178b77fdf5350eb19344d453dbd0d71e55a0ef749025a5a2ca0ad251e81 -81a423423e9438343879f2bfd7ee9f1c74ebebe7ce3cfffc8a11da6f040cc4145c3b527bd3cf63f9137e714dbcb474ef -b8c3535701ddbeec2db08e17a4fa99ba6752d32ece5331a0b8743676f421fcb14798afc7c783815484f14693d2f70db8 -81aee980c876949bf40782835eec8817d535f6f3f7e00bf402ddd61101fdcd60173961ae90a1cf7c5d060339a18c959d -87e67b928d97b62c49dac321ce6cb680233f3a394d4c9a899ac2e8db8ccd8e00418e66cdfd68691aa3cb8559723b580c -8eac204208d99a2b738648df96353bbb1b1065e33ee4f6bba174b540bbbd37d205855e1f1e69a6b7ff043ca377651126 -848e6e7a54ad64d18009300b93ea6f459ce855971dddb419b101f5ac4c159215626fadc20cc3b9ab1701d8f6dfaddd8b -88aa123d9e0cf309d46dddb6acf634b1ade3b090a2826d6e5e78669fa1220d6df9a6697d7778cd9b627db17eea846126 -9200c2a629b9144d88a61151b661b6c4256cc5dadfd1e59a8ce17a013c2d8f7e754aabe61663c3b30f1bc47784c1f8cf -b6e1a2827c3bdda91715b0e1b1f10dd363cef337e7c80cac1f34165fc0dea7c8b69747e310563db5818390146ce3e231 -92c333e694f89f0d306d54105b2a5dcc912dbe7654d9e733edab12e8537350815be472b063e56cfde5286df8922fdecb -a6fac04b6d86091158ebb286586ccfec2a95c9786e14d91a9c743f5f05546073e5e3cc717635a0c602cad8334e922346 -a581b4af77feebc1fb897d49b5b507c6ad513d8f09b273328efbb24ef0d91eb740d01b4d398f2738125dacfe550330cd -81c4860cccf76a34f8a2bc3f464b7bfd3e909e975cce0d28979f457738a56e60a4af8e68a3992cf273b5946e8d7f76e2 -8d1eaa09a3180d8af1cbaee673db5223363cc7229a69565f592fa38ba0f9d582cedf91e15dabd06ebbf2862fc0feba54 -9832f49b0147f4552402e54593cfa51f99540bffada12759b71fcb86734be8e500eea2d8b3d036710bdf04c901432de9 -8bdb0e8ec93b11e5718e8c13cb4f5de545d24829fd76161216340108098dfe5148ed25e3b57a89a516f09fa79043734d -ab96f06c4b9b0b2c0571740b24fca758e6976315053a7ecb20119150a9fa416db2d3a2e0f8168b390bb063f0c1caf785 -ab777f5c52acd62ecf4d1f168b9cc8e1a9b45d4ec6a8ff52c583e867c2239aba98d7d3af977289b367edce03d9c2dfb1 -a09d3ce5e748da84802436951acc3d3ea5d8ec1d6933505ed724d6b4b0d69973ab0930daec9c6606960f6e541e4a3ce2 -8ef94f7be4d85d5ad3d779a5cf4d7b2fc3e65c52fb8e1c3c112509a4af77a0b5be994f251e5e40fabeeb1f7d5615c22b -a7406a5bf5708d9e10922d3c5c45c03ef891b8d0d74ec9f28328a72be4cdc05b4f2703fa99366426659dfca25d007535 -b7f52709669bf92a2e070bfe740f422f0b7127392c5589c7f0af71bb5a8428697c762d3c0d74532899da24ea7d8695c2 -b9dfb0c8df84104dbf9239ccefa4672ef95ddabb8801b74997935d1b81a78a6a5669a3c553767ec19a1281f6e570f4ff -ae4d5c872156061ce9195ac640190d8d71dd406055ee43ffa6f9893eb24b870075b74c94d65bc1d5a07a6573282b5520 -afe6bd3eb72266d333f1807164900dcfa02a7eb5b1744bb3c86b34b3ee91e3f05e38fa52a50dc64eeb4bdb1dd62874b8 -948043cf1bc2ef3c01105f6a78dc06487f57548a3e6ef30e6ebc51c94b71e4bf3ff6d0058c72b6f3ecc37efd7c7fa8c0 -a22fd17c2f7ffe552bb0f23fa135584e8d2d8d75e3f742d94d04aded2a79e22a00dfe7acbb57d44e1cdb962fb22ae170 -8cd0f4e9e4fb4a37c02c1bde0f69359c43ab012eb662d346487be0c3758293f1ca560122b059b091fddce626383c3a8f -90499e45f5b9c81426f3d735a52a564cafbed72711d9279fdd88de8038e953bc48c57b58cba85c3b2e4ce56f1ddb0e11 -8c30e4c034c02958384564cac4f85022ef36ab5697a3d2feaf6bf105049675bbf23d01b4b6814711d3d9271abff04cac -81f7999e7eeea30f3e1075e6780bbf054f2fb6f27628a2afa4d41872a385b4216dd5f549da7ce6cf39049b2251f27fb7 -b36a7191f82fc39c283ffe53fc1f5a9a00b4c64eee7792a8443475da9a4d226cf257f226ea9d66e329af15d8f04984ec -aad4da528fdbb4db504f3041c747455baff5fcd459a2efd78f15bdf3aea0bdb808343e49df88fe7a7c8620009b7964a3 -99ebd8c6dd5dd299517fb6381cfc2a7f443e6e04a351440260dd7c2aee3f1d8ef06eb6c18820b394366ecdfd2a3ce264 -8873725b81871db72e4ec3643084b1cdce3cbf80b40b834b092767728605825c19b6847ad3dcf328438607e8f88b4410 -b008ee2f895daa6abd35bd39b6f7901ae4611a11a3271194e19da1cdcc7f1e1ea008fe5c5440e50d2c273784541ad9c5 -9036feafb4218d1f576ef89d0e99124e45dacaa6d816988e34d80f454d10e96809791d5b78f7fd65f569e90d4d7238c5 -92073c1d11b168e4fa50988b0288638b4868e48bbc668c5a6dddf5499875d53be23a285acb5e4bad60114f6cf6c556e9 -88c87dfcb8ba6cbfe7e1be081ccfadbd589301db2cb7c99f9ee5d7db90aa297ed1538d5a867678a763f2deede5fd219a -b42a562805c661a50f5dea63108002c0f27c0da113da6a9864c9feb5552225417c0356c4209e8e012d9bcc9d182c7611 -8e6317d00a504e3b79cd47feb4c60f9df186467fe9ca0f35b55c0364db30528f5ff071109dabb2fc80bb9cd4949f0c24 -b7b1ea6a88694f8d2f539e52a47466695e39e43a5eb9c6f23bca15305fe52939d8755cc3ac9d6725e60f82f994a3772f -a3cd55161befe795af93a38d33290fb642b8d80da8b786c6e6fb02d393ea308fbe87f486994039cbd7c7b390414594b6 -b416d2d45b44ead3b1424e92c73c2cf510801897b05d1724ff31cbd741920cd858282fb5d6040fe1f0aa97a65bc49424 -950ee01291754feace97c2e933e4681e7ddfbc4fcd079eb6ff830b0e481d929c93d0c7fb479c9939c28ca1945c40da09 -869bd916aee8d86efe362a49010382674825d49195b413b4b4018e88ce43fe091b475d0b863ff0ba2259400f280c2b23 -9782f38cd9c9d3385ec286ebbc7cba5b718d2e65a5890b0a5906b10a89dc8ed80d417d71d7c213bf52f2af1a1f513ea7 -91cd33bc2628d096269b23faf47ee15e14cb7fdc6a8e3a98b55e1031ea0b68d10ba30d97e660f7e967d24436d40fad73 -8becc978129cc96737034c577ae7225372dd855da8811ae4e46328e020c803833b5bdbc4a20a93270e2b8bd1a2feae52 -a36b1d8076783a9522476ce17f799d78008967728ce920531fdaf88303321bcaf97ecaa08e0c01f77bc32e53c5f09525 -b4720e744943f70467983aa34499e76de6d59aa6fadf86f6b787fdce32a2f5b535b55db38fe2da95825c51002cfe142d -91ad21fc502eda3945f6de874d1b6bf9a9a7711f4d61354f9e5634fc73f9c06ada848de15ab0a75811d3250be862827d -84f78e2ebf5fc077d78635f981712daf17e2475e14c2a96d187913006ad69e234746184a51a06ef510c9455b38acb0d7 -960aa7906e9a2f11db64a26b5892ac45f20d2ccb5480f4888d89973beb6fa0dfdc06d68d241ff5ffc7f1b82b1aac242d -a99365dcd1a00c66c9db6924b97c920f5c723380e823b250db85c07631b320ec4e92e586f7319e67a522a0578f7b6d6c -a25d92d7f70cf6a88ff317cfec071e13774516da664f5fac0d4ecaa65b8bf4eb87a64a4d5ef2bd97dfae98d388dbf5cc -a7af47cd0041295798f9779020a44653007444e8b4ef0712982b06d0dcdd434ec4e1f7c5f7a049326602cb605c9105b7 -aefe172eac5568369a05980931cc476bebd9dea573ba276d59b9d8c4420784299df5a910033b7e324a6c2dfc62e3ef05 -b69bc9d22ffa645baa55e3e02522e9892bb2daa7fff7c15846f13517d0799766883ee09ae0869df4139150c5b843ca8a -95a10856140e493354fdd12722c7fdded21b6a2ffbc78aa2697104af8ad0c8e2206f44b0bfee077ef3949d46bbf7c16b -891f2fcd2c47cbea36b7fa715968540c233313f05333f09d29aba23c193f462ed490dd4d00969656e89c53155fdfe710 -a6c33e18115e64e385c843dde34e8a228222795c7ca90bc2cc085705d609025f3351d9be61822c69035a49fb3e48f2d5 -b87fb12f12c0533b005adad0487f03393ff682e13575e3cb57280c3873b2c38ba96a63c49eef7a442753d26b7005230b -b905c02ba451bfd411c135036d92c27af3b0b1c9c2f1309d6948544a264b125f39dd41afeff4666b12146c545adc168a -8b29c513f43a78951cf742231cf5457a6d9d55edf45df5481a0f299a418d94effef561b15d2c1a01d1b8067e7153fda9 -b9941cccd51dc645920d2781c81a317e5a33cb7cf76427b60396735912cb6d2ca9292bb4d36b6392467d390d2c58d9f3 -a8546b627c76b6ef5c93c6a98538d8593dbe21cb7673fd383d5401b0c935eea0bdeeefeb1af6ad41bad8464fb87bbc48 -aa286b27de2812de63108a1aec29d171775b69538dc6198640ac1e96767c2b83a50391f49259195957d457b493b667c9 -a932fb229f641e9abbd8eb2bd874015d97b6658ab6d29769fc23b7db9e41dd4f850382d4c1f08af8f156c5937d524473 -a1412840fcc86e2aeec175526f2fb36e8b3b8d21a78412b7266daf81e51b3f68584ed8bd42a66a43afdd8c297b320520 -89c78be9efb624c97ebca4fe04c7704fa52311d183ffd87737f76b7dadc187c12c982bd8e9ed7cd8beb48cdaafd2fd01 -a3f5ddec412a5bec0ce15e3bcb41c6214c2b05d4e9135a0d33c8e50a78eaba71e0a5a6ea8b45854dec5c2ed300971fc2 -9721f9cec7a68b7758e3887548790de49fa6a442d0396739efa20c2f50352a7f91d300867556d11a703866def2d5f7b5 -a23764e140a87e5991573521af039630dd28128bf56eed2edbed130fd4278e090b60cf5a1dca9de2910603d44b9f6d45 -a1a6494a994215e48ab55c70efa8ffdddce6e92403c38ae7e8dd2f8288cad460c6c7db526bbdf578e96ca04d9fe12797 -b1705ea4cb7e074efe0405fc7b8ee2ec789af0426142f3ec81241cacd4f7edcd88e39435e4e4d8e7b1df64f3880d6613 -85595d061d677116089a6064418b93eb44ff79e68d12bd9625078d3bbc440a60d0b02944eff6054433ee34710ae6fbb4 -9978d5e30bedb7526734f9a1febd973a70bfa20890490e7cc6f2f9328feab1e24f991285dbc3711d892514e2d7d005ad -af30243c66ea43b9f87a061f947f7bce745f09194f6e95f379c7582b9fead920e5d6957eaf05c12ae1282ada4670652f -a1930efb473f88001e47aa0b2b2a7566848cccf295792e4544096ecd14ee5d7927c173a8576b405bfa2eec551cd67eb5 -b0446d1c590ee5a45f7e22d269c044f3848c97aec1d226b44bfd0e94d9729c28a38bccddc3a1006cc5fe4e3c24f001f2 -b8a8380172df3d84b06176df916cf557966d4f2f716d3e9437e415d75b646810f79f2b2b71d857181b7fc944018883a3 -a563afec25b7817bfa26e19dc9908bc00aa8fc3d19be7d6de23648701659009d10e3e4486c28e9c6b13d48231ae29ac5 -a5a8e80579de886fb7d6408f542791876885947b27ad6fa99a8a26e381f052598d7b4e647b0115d4b5c64297e00ce28e -8f87afcc7ad33c51ac719bade3cd92da671a37a82c14446b0a2073f4a0a23085e2c8d31913ed2d0be928f053297de8f6 -a43c455ce377e0bc434386c53c752880687e017b2f5ae7f8a15c044895b242dffde4c92fb8f8bb50b18470b17351b156 -8368f8b12a5bceb1dba25adb3a2e9c7dc9b1a77a1f328e5a693f5aec195cd1e06b0fe9476b554c1c25dac6c4a5b640a3 -919878b27f3671fc78396f11531c032f3e2bd132d04cc234fa4858676b15fb1db3051c0b1db9b4fc49038216f11321ce -b48cd67fb7f1242696c1f877da4bdf188eac676cd0e561fbac1a537f7b8229aff5a043922441d603a26aae56a15faee4 -a3e0fdfd4d29ea996517a16f0370b54787fefe543c2fe73bfc6f9e560c1fd30dad8409859e2d7fa2d44316f24746c712 -8bb156ade8faf149df7bea02c140c7e392a4742ae6d0394d880a849127943e6f26312033336d3b9fdc0092d71b5efe87 -8845e5d5cc555ca3e0523244300f2c8d7e4d02aaebcb5bd749d791208856c209a6f84dd99fd55968c9f0ab5f82916707 -a3e90bb5c97b07789c2f32dff1aec61d0a2220928202f5ad5355ae71f8249237799d6c8a22602e32e572cb12eabe0c17 -b150bcc391884c996149dc3779ce71f15dda63a759ee9cc05871f5a8379dcb62b047098922c0f26c7bd04deb394c33f9 -95cd4ad88d51f0f2efcfd0c2df802fe252bb9704d1afbf9c26a248df22d55da87bdfaf41d7bc6e5df38bd848f0b13f42 -a05a49a31e91dff6a52ac8b9c2cfdd646a43f0d488253f9e3cfbce52f26667166bbb9b608fc358763a65cbf066cd6d05 -a59c3c1227fdd7c2e81f5e11ef5c406da44662987bac33caed72314081e2eed66055d38137e01b2268e58ec85dd986c0 -b7020ec3bd73a99861f0f1d88cf5a19abab1cbe14b7de77c9868398c84bb8e18dbbe9831838a96b6d6ca06e82451c67b -98d1ff2525e9718ee59a21d8900621636fcd873d9a564b8dceb4be80a194a0148daf1232742730b3341514b2e5a5436c -886d97b635975fc638c1b6afc493e5998ca139edba131b75b65cfe5a8e814f11bb678e0eeee5e6e5cd913ad3f2fefdfc -8fb9fd928d38d5d813b671c924edd56601dd7163b686c13f158645c2f869d9250f3859aa5463a39258c90fef0f41190a -aac35e1cd655c94dec3580bb3800bd9c2946c4a9856f7d725af15fbea6a2d8ca51c8ad2772abed60ee0e3fb9cb24046b -b8d71fa0fa05ac9e443c9b4929df9e7f09a919be679692682e614d24227e04894bfc14a5c73a62fb927fedff4a0e4aa7 -a45a19f11fbbb531a704badbb813ed8088ab827c884ee4e4ebf363fa1132ff7cfa9d28be9c85b143e4f7cdbc94e7cf1a -82b54703a4f295f5471b255ab59dce00f0fe90c9fb6e06b9ee48b15c91d43f4e2ef4a96c3118aeb03b08767be58181bb -8283264c8e6d2a36558f0d145c18576b6600ff45ff99cc93eca54b6c6422993cf392668633e5df396b9331e873d457e5 -8c549c03131ead601bc30eb6b9537b5d3beb7472f5bb1bcbbfd1e9f3704477f7840ab3ab7f7dc13bbbbcdff886a462d4 -afbb0c520ac1b5486513587700ad53e314cb74bfbc12e0b5fbdcfdaac36d342e8b59856196a0d84a25cff6e6e1d17e76 -89e4c22ffb51f2829061b3c7c1983c5c750cad158e3a825d46f7cf875677da5d63f653d8a297022b5db5845c9271b32b -afb27a86c4c2373088c96b9adf4433f2ebfc78ac5c526e9f0510670b6e4e5e0057c0a4f75b185e1a30331b9e805c1c15 -a18e16b57445f88730fc5d3567bf5a176861dc14c7a08ed2996fe80eed27a0e7628501bcb78a1727c5e9ac55f29c12c4 -93d61bf88b192d6825cf4e1120af1c17aa0f994d158b405e25437eaeefae049f7b721a206e7cc8a04fdc29d3c42580a1 -a99f2995a2e3ed2fd1228d64166112038de2f516410aa439f4c507044e2017ea388604e2d0f7121256fadf7fbe7023d1 -914fd91cffc23c32f1c6d0e98bf660925090d873367d543034654389916f65f552e445b0300b71b61b721a72e9a5983c -b42a578a7787b71f924e7def425d849c1c777156b1d4170a8ee7709a4a914e816935131afd9a0412c4cb952957b20828 -82fb30590e84b9e45db1ec475a39971cf554dc01bcc7050bc89265740725c02e2be5a972168c5170c86ae83e5b0ad2c0 -b14f8d8e1e93a84976289e0cf0dfa6f3a1809e98da16ee5c4932d0e1ed6bf8a07697fdd4dd86a3df84fb0003353cdcc0 -85d7a2f4bda31aa2cb208b771fe03291a4ebdaf6f1dc944c27775af5caec412584c1f45bc741fca2a6a85acb3f26ad7d -af02e56ce886ff2253bc0a68faad76f25ead84b2144e5364f3fb9b648f03a50ee9dc0b2c33ebacf7c61e9e43201ef9ef -87e025558c8a0b0abd06dfc350016847ea5ced7af2d135a5c9eec9324a4858c4b21510fb0992ec52a73447f24945058e -80fff0bafcd058118f5e7a4d4f1ae0912efeb281d2cbe4d34ba8945cc3dbe5d8baf47fb077343b90b8d895c90b297aca -b6edcf3a40e7b1c3c0148f47a263cd819e585a51ef31c2e35a29ce6f04c53e413f743034c0d998d9c00a08ba00166f31 -abb87ed86098c0c70a76e557262a494ff51a30fb193f1c1a32f8e35eafa34a43fcc07aa93a3b7a077d9e35afa07b1a3d -a280214cd3bb0fb7ecd2d8bcf518cbd9078417f2b91d2533ec2717563f090fb84f2a5fcfdbbeb2a2a1f8a71cc5aa5941 -a63083ca7238ea2b57d15a475963cf1d4f550d8cd76db290014a0461b90351f1f26a67d674c837b0b773b330c7c3d534 -a8fa39064cb585ece5263e2f42f430206476bf261bd50f18d2b694889bd79d04d56410664cecad62690e5c5a20b3f6ff -85ba52ce9d700a5dcf6c5b00559acbe599d671ce5512467ff4b6179d7fad550567ce2a9c126a50964e3096458ea87920 -b913501e1008f076e5eac6d883105174f88b248e1c9801e568fefaffa1558e4909364fc6d9512aa4d125cbd7cc895f05 -8eb33b5266c8f2ed4725a6ad147a322e44c9264cf261c933cbbe230a43d47fca0f29ec39756b20561dabafadd5796494 -850ebc8b661a04318c9db5a0515066e6454fa73865aa4908767a837857ecd717387f614acb614a88e075d4edc53a2f5a -a08d6b92d866270f29f4ce23a3f5d99b36b1e241a01271ede02817c8ec3f552a5c562db400766c07b104a331835c0c64 -8131804c89bb3e74e9718bfc4afa547c1005ff676bd4db9604335032b203390cfa54478d45c6c78d1fe31a436ed4be9f -9106d94f23cc1eacec8316f16d6f0a1cc160967c886f51981fdb9f3f12ee1182407d2bb24e5b873de58cb1a3ee915a6b -a13806bfc3eae7a7000c9d9f1bd25e10218d4e67f59ae798b145b098bca3edad2b1040e3fc1e6310e612fb8818f459ac -8c69fbca502046cb5f6db99900a47b34117aef3f4b241690cdb3b84ca2a2fc7833e149361995dc41fa78892525bce746 -852c473150c91912d58ecb05769222fa18312800c3f56605ad29eec9e2d8667b0b81c379048d3d29100ed2773bb1f3c5 -b1767f6074426a00e01095dbb1795beb4e4050c6411792cbad6537bc444c3165d1058bafd1487451f9c5ddd209e0ae7e -80c600a5fe99354ce59ff0f84c760923dc8ff66a30bf47dc0a086181785ceb01f9b951c4e66df800ea6d705e8bc47055 -b5cf19002fbc88a0764865b82afcb4d64a50196ea361e5c71dff7de084f4dcbbc34ec94a45cc9e0247bd51da565981aa -93e67a254ea8ce25e112d93cc927fadaa814152a2c4ec7d9a56eaa1ed47aec99b7e9916b02e64452cc724a6641729bbb -ace70b32491bda18eee4a4d041c3bc9effae9340fe7e6c2f5ad975ee0874c17f1a7da7c96bd85fccff9312c518fac6e9 -ab4cfa02065017dd7f1aadc66f2c92f78f0f11b8597c03a5d69d82cb2eaf95a4476a836ac102908f137662472c8d914b -a40b8cd8deb8ae503d20364d64cab7c2801b7728a9646ed19c65edea6a842756a2f636283494299584ad57f4bb12cd0b -8594e11d5fc2396bcd9dbf5509ce4816dbb2b7305168021c426171fb444d111da5a152d6835ad8034542277011c26c0e -8024de98c26b4c994a66628dc304bb737f4b6859c86ded552c5abb81fd4c6c2e19d5a30beed398a694b9b2fdea1dd06a -8843f5872f33f54df8d0e06166c1857d733995f67bc54abb8dfa94ad92407cf0179bc91b0a50bbb56cdc2b350d950329 -b8bab44c7dd53ef9edf497dcb228e2a41282c90f00ba052fc52d57e87b5c8ab132d227af1fcdff9a12713d1f980bcaae -982b4d7b29aff22d527fd82d2a52601d95549bfb000429bb20789ed45e5abf1f4b7416c7b7c4b79431eb3574b29be658 -8eb1f571b6a1878e11e8c1c757e0bc084bab5e82e897ca9be9b7f4b47b91679a8190bf0fc8f799d9b487da5442415857 -a6e74b588e5af935c8b243e888582ef7718f8714569dd4992920740227518305eb35fab674d21a5551cca44b3e511ef2 -a30fc2f3a4cb4f50566e82307de73cd7bd8fe2c1184e9293c136a9b9e926a018d57c6e4f308c95b9eb8299e94d90a2a1 -a50c5869ca5d2b40722c056a32f918d47e0b65ca9d7863ca7d2fb4a7b64fe523fe9365cf0573733ceaadebf20b48fff8 -83bbdd32c04d17581418cf360749c7a169b55d54f2427390defd9f751f100897b2d800ce6636c5bbc046c47508d60c8c -a82904bdf614de5d8deaff688c8a5e7ac5b3431687acbcda8fa53960b7c417a39c8b2e462d7af91ce6d79260f412db8e -a4362e31ff4b05d278b033cf5eebea20de01714ae16d4115d04c1da4754269873afc8171a6f56c5104bfd7b0db93c3e7 -b5b8daa63a3735581e74a021b684a1038cea77168fdb7fdf83c670c2cfabcfc3ab2fc7359069b5f9048188351aef26b5 -b48d723894b7782d96ac8433c48faca1bdfa5238019c451a7f47d958097cce3ae599b876cf274269236b9d6ff8b6d7ca -98ffff6a61a3a6205c7820a91ca2e7176fab5dba02bc194c4d14942ac421cb254183c705506ab279e4f8db066f941c6c -ae7db24731da2eaa6efc4f7fcba2ecc26940ddd68038dce43acf2cee15b72dc4ef42a7bfdd32946d1ed78786dd7696b3 -a656db14f1de9a7eb84f6301b4acb2fbf78bfe867f48a270e416c974ab92821eb4df1cb881b2d600cfed0034ac784641 -aa315f8ecba85a5535e9a49e558b15f39520fce5d4bf43131bfbf2e2c9dfccc829074f9083e8d49f405fb221d0bc4c3c -90bffba5d9ff40a62f6c8e9fc402d5b95f6077ed58d030c93e321b8081b77d6b8dac3f63a92a7ddc01585cf2c127d66c -abdd733a36e0e0f05a570d0504e73801bf9b5a25ff2c78786f8b805704997acb2e6069af342538c581144d53149fa6d3 -b4a723bb19e8c18a01bd449b1bb3440ddb2017f10bb153da27deb7a6a60e9bb37619d6d5435fbb1ba617687838e01dd0 -870016b4678bab3375516db0187a2108b2e840bae4d264b9f4f27dbbc7cc9cac1d7dc582d7a04d6fd1ed588238e5e513 -80d33d2e20e8fc170aa3cb4f69fffb72aeafb3b5bb4ea0bc79ab55da14142ca19b2d8b617a6b24d537366e3b49cb67c3 -a7ee76aec273aaae03b3b87015789289551969fb175c11557da3ab77e39ab49d24634726f92affae9f4d24003050d974 -8415ea4ab69d779ebd42d0fe0c6aef531d6a465a5739e429b1fcf433ec45aa8296c527e965a20f0ec9f340c9273ea3cf -8c7662520794e8b4405d0b33b5cac839784bc86a5868766c06cbc1fa306dbe334978177417b31baf90ce7b0052a29c56 -902b2abecc053a3dbdea9897ee21e74821f3a1b98b2d560a514a35799f4680322550fd3a728d4f6d64e1de98033c32b8 -a05e84ed9ecab8d508d670c39f2db61ad6e08d2795ec32a3c9d0d3737ef3801618f4fc2a95f90ec2f068606131e076c5 -8b9208ff4d5af0c2e3f53c9375da666773ac57197dfabb0d25b1c8d0588ba7f3c15ee9661bb001297f322ea2fbf6928b -a3c827741b34a03254d4451b5ab74a96f2b9f7fb069e2f5adaf54fd97cc7a4d516d378db5ca07da87d8566d6eef13726 -8509d8a3f4a0ed378e0a1e28ea02f6bf1d7f6c819c6c2f5297c7df54c895b848f841653e32ba2a2c22c2ff739571acb8 -a0ce988b7d3c40b4e496aa83a09e4b5472a2d98679622f32bea23e6d607bc7de1a5374fb162bce0549a67dad948519be -aa8a3dd12bd60e3d2e05f9c683cdcb8eab17fc59134815f8d197681b1bcf65108cba63ac5c58ee632b1e5ed6bba5d474 -8b955f1d894b3aefd883fb4b65f14cd37fc2b9db77db79273f1700bef9973bf3fd123897ea2b7989f50003733f8f7f21 -ac79c00ddac47f5daf8d9418d798d8af89fc6f1682e7e451f71ea3a405b0d36af35388dd2a332af790bc83ca7b819328 -a0d44dd2a4438b809522b130d0938c3fe7c5c46379365dbd1810a170a9aa5818e1c783470dd5d0b6d4ac7edbb7330910 -a30b69e39ad43dd540a43c521f05b51b5f1b9c4eed54b8162374ae11eac25da4f5756e7b70ce9f3c92c2eeceee7431ed -ac43220b762c299c7951222ea19761ab938bf38e4972deef58ed84f4f9c68c230647cf7506d7cbfc08562fcca55f0485 -b28233b46a8fb424cfa386a845a3b5399d8489ceb83c8f3e05c22c934798d639c93718b7b68ab3ce24c5358339e41cbb -ac30d50ee8ce59a10d4b37a3a35e62cdb2273e5e52232e202ca7d7b8d09d28958ee667fae41a7bb6cdc6fe8f6e6c9c85 -b199842d9141ad169f35cc7ff782b274cbaa645fdb727761e0a89edbf0d781a15f8218b4bf4eead326f2903dd88a9cc1 -85e018c7ddcad34bb8285a737c578bf741ccd547e68c734bdb3808380e12c5d4ef60fc896b497a87d443ff9abd063b38 -8c856e6ba4a815bdb891e1276f93545b7072f6cb1a9aa6aa5cf240976f29f4dee01878638500a6bf1daf677b96b54343 -b8a47555fa8710534150e1a3f13eab33666017be6b41005397afa647ea49708565f2b86b77ad4964d140d9ced6b4d585 -8cd1f1db1b2f4c85a3f46211599caf512d5439e2d8e184663d7d50166fd3008f0e9253272f898d81007988435f715881 -b1f34b14612c973a3eceb716dc102b82ab18afef9de7630172c2780776679a7706a4874e1df3eaadf541fb009731807f -b25464af9cff883b55be2ff8daf610052c02df9a5e147a2cf4df6ce63edcdee6dc535c533590084cc177da85c5dc0baa -91c3c4b658b42d8d3448ae1415d4541d02379a40dc51e36a59bd6e7b9ba3ea51533f480c7c6e8405250ee9b96a466c29 -86dc027b95deb74c36a58a1333a03e63cb5ae22d3b29d114cfd2271badb05268c9d0c819a977f5e0c6014b00c1512e3a -ae0e6ff58eb5fa35da5107ebeacf222ab8f52a22bb1e13504247c1dfa65320f40d97b0e6b201cb6613476687cb2f0681 -8f13415d960b9d7a1d93ef28afc2223e926639b63bdefce0f85e945dfc81670a55df288893a0d8b3abe13c5708f82f91 -956f67ca49ad27c1e3a68c1faad5e7baf0160c459094bf6b7baf36b112de935fdfd79fa4a9ea87ea8de0ac07272969f4 -835e45e4a67df9fb51b645d37840b3a15c171d571a10b03a406dd69d3c2f22df3aa9c5cbe1e73f8d767ce01c4914ea9a -919b938e56d4b32e2667469d0bdccb95d9dda3341aa907683ee70a14bbbe623035014511c261f4f59b318b610ac90aa3 -96b48182121ccd9d689bf1dfdc228175564cd68dc904a99c808a7f0053a6f636c9d953e12198bdf2ea49ea92772f2e18 -ac5e5a941d567fa38fdbcfa8cf7f85bb304e3401c52d88752bcd516d1fa9bac4572534ea2205e38423c1df065990790f -ac0bd594fb85a8d4fc26d6df0fa81f11919401f1ecf9168b891ec7f061a2d9368af99f7fd8d9b43b2ce361e7b8482159 -83d92c69ca540d298fe80d8162a1c7af3fa9b49dfb69e85c1d136a3ec39fe419c9fa78e0bb6d96878771fbd37fe92e40 -b35443ae8aa66c763c2db9273f908552fe458e96696b90e41dd509c17a5c04ee178e3490d9c6ba2dc0b8f793c433c134 -923b2d25aa45b2e580ffd94cbb37dc8110f340f0f011217ee1bd81afb0714c0b1d5fb4db86006cdd2457563276f59c59 -96c9125d38fca1a61ac21257b696f8ac3dae78def50285e44d90ea293d591d1c58f703540a7e4e99e070afe4646bbe15 -b57946b2332077fbcdcb406b811779aefd54473b5559a163cd65cb8310679b7e2028aa55c12a1401fdcfcac0e6fae29a -845daedc5cf972883835d7e13c937b63753c2200324a3b8082a6c4abb4be06c5f7c629d4abe4bfaf1d80a1f073eb6ce6 -91a55dfd0efefcd03dc6dacc64ec93b8d296cb83c0ee72400a36f27246e7f2a60e73b7b70ba65819e9cfb73edb7bd297 -8874606b93266455fe8fdd25df9f8d2994e927460af06f2e97dd4d2d90db1e6b06d441b72c2e76504d753badca87fb37 -8ee99e6d231274ff9252c0f4e84549da173041299ad1230929c3e3d32399731c4f20a502b4a307642cac9306ccd49d3c -8836497714a525118e20849d6933bb8535fb6f72b96337d49e3133d936999c90a398a740f42e772353b5f1c63581df6d -a6916945e10628f7497a6cdc5e2de113d25f7ade3e41e74d3de48ccd4fce9f2fa9ab69645275002e6f49399b798c40af -9597706983107eb23883e0812e1a2c58af7f3499d50c6e29b455946cb9812fde1aa323d9ed30d1c0ffd455abe32303cd -a24ee89f7f515cc33bdbdb822e7d5c1877d337f3b2162303cfc2dae028011c3a267c5cb4194afa63a4856a6e1c213448 -8cd25315e4318801c2776824ae6e7d543cb85ed3bc2498ba5752df2e8142b37653cf9e60104d674be3aeb0a66912e97a -b5085ecbe793180b40dbeb879f4c976eaaccaca3a5246807dced5890e0ed24d35f3f86955e2460e14fb44ff5081c07ba -960188cc0b4f908633a6840963a6fa2205fc42c511c6c309685234911c5304ef4c304e3ae9c9c69daa2fb6a73560c256 -a32d0a70bf15d569b4cda5aebe3e41e03c28bf99cdd34ffa6c5d58a097f322772acca904b3a47addb6c7492a7126ebac -977f72d06ad72d4aa4765e0f1f9f4a3231d9f030501f320fe7714cc5d329d08112789fa918c60dd7fdb5837d56bb7fc6 -99fa038bb0470d45852bb871620d8d88520adb701712fcb1f278fed2882722b9e729e6cdce44c82caafad95e37d0e6f7 -b855e8f4fc7634ada07e83b6c719a1e37acb06394bc8c7dcab7747a8c54e5df3943915f021364bd019fdea103864e55f -88bc2cd7458532e98c596ef59ea2cf640d7cc31b4c33cef9ed065c078d1d4eb49677a67de8e6229cc17ea48bace8ee5a -aaa78a3feaa836d944d987d813f9b9741afb076e6aca1ffa42682ab06d46d66e0c07b8f40b9dbd63e75e81efa1ef7b08 -b7b080420cc4d808723b98b2a5b7b59c81e624ab568ecdfdeb8bf3aa151a581b6f56e983ef1b6f909661e25db40b0c69 -abee85c462ac9a2c58e54f06c91b3e5cd8c5f9ab5b5deb602b53763c54826ed6deb0d6db315a8d7ad88733407e8d35e2 -994d075c1527407547590df53e9d72dd31f037c763848d1662eebd4cefec93a24328c986802efa80e038cb760a5300f5 -ab8777640116dfb6678e8c7d5b36d01265dfb16321abbfc277da71556a34bb3be04bc4ae90124ed9c55386d2bfb3bda0 -967e3a828bc59409144463bcf883a3a276b5f24bf3cbfdd7a42343348cba91e00b46ac285835a9b91eef171202974204 -875a9f0c4ffe5bb1d8da5e3c8e41d0397aa6248422a628bd60bfae536a651417d4e8a7d2fb98e13f2dad3680f7bd86d3 -acaa330c3e8f95d46b1880126572b238dbb6d04484d2cd4f257ab9642d8c9fc7b212188b9c7ac9e0fd135c520d46b1bf -aceb762edbb0f0c43dfcdb01ea7a1ac5918ca3882b1e7ebc4373521742f1ed5250d8966b498c00b2b0f4d13212e6dd0b -81d072b4ad258b3646f52f399bced97c613b22e7ad76373453d80b1650c0ca87edb291a041f8253b649b6e5429bb4cff -980a47d27416ac39c7c3a0ebe50c492f8c776ea1de44d5159ac7d889b6d554357f0a77f0e5d9d0ff41aae4369eba1fc2 -8b4dfd5ef5573db1476d5e43aacfb5941e45d6297794508f29c454fe50ea622e6f068b28b3debe8635cf6036007de2e3 -a60831559d6305839515b68f8c3bc7abbd8212cc4083502e19dd682d56ca37c9780fc3ce4ec2eae81ab23b221452dc57 -951f6b2c1848ced9e8a2339c65918e00d3d22d3e59a0a660b1eca667d18f8430d737884e9805865ef3ed0fe1638a22d9 -b02e38fe790b492aa5e89257c4986c9033a8b67010fa2add9787de857d53759170fdd67715ca658220b4e14b0ca48124 -a51007e4346060746e6b0e4797fc08ef17f04a34fe24f307f6b6817edbb8ce2b176f40771d4ae8a60d6152cbebe62653 -a510005b05c0b305075b27b243c9d64bcdce85146b6ed0e75a3178b5ff9608213f08c8c9246f2ca6035a0c3e31619860 -aaff4ef27a7a23be3419d22197e13676d6e3810ceb06a9e920d38125745dc68a930f1741c9c2d9d5c875968e30f34ab5 -864522a9af9857de9814e61383bebad1ba9a881696925a0ea6bfc6eff520d42c506bbe5685a9946ed710e889765be4a0 -b63258c080d13f3b7d5b9f3ca9929f8982a6960bdb1b0f8676f4dca823971601672f15e653917bf5d3746bb220504913 -b51ce0cb10869121ae310c7159ee1f3e3a9f8ad498827f72c3d56864808c1f21fa2881788f19ece884d3f705cd7bd0c5 -95d9cecfc018c6ed510e441cf84c712d9909c778c16734706c93222257f64dcd2a9f1bd0b400ca271e22c9c487014274 -8beff4d7d0140b86380ff4842a9bda94c2d2be638e20ac68a4912cb47dbe01a261857536375208040c0554929ced1ddc -891ff49258749e2b57c1e9b8e04b12c77d79c3308b1fb615a081f2aacdfb4b39e32d53e069ed136fdbd43c53b87418fa -9625cad224e163d387738825982d1e40eeff35fe816d10d7541d15fdc4d3eee48009090f3faef4024b249205b0b28f72 -8f3947433d9bd01aa335895484b540a9025a19481a1c40b4f72dd676bfcf332713714fd4010bde936eaf9470fd239ed0 -a00ec2d67789a7054b53f0e858a8a232706ccc29a9f3e389df7455f1a51a2e75801fd78469a13dbc25d28399ae4c6182 -a3f65884506d4a62b8775a0ea0e3d78f5f46bc07910a93cd604022154eabdf1d73591e304d61edc869e91462951975e1 -a14eef4fd5dfac311713f0faa9a60415e3d30b95a4590cbf95f2033dffb4d16c02e7ceff3dcd42148a4e3bc49cce2dd4 -8afa11c0eef3c540e1e3460bc759bb2b6ea90743623f88e62950c94e370fe4fd01c22b6729beba4dcd4d581198d9358f -afb05548a69f0845ffcc5f5dc63e3cdb93cd270f5655173b9a950394b0583663f2b7164ba6df8d60c2e775c1d9f120af -97f179e01a947a906e1cbeafa083960bc9f1bade45742a3afee488dfb6011c1c6e2db09a355d77f5228a42ccaa7bdf8e -8447fca4d35f74b3efcbd96774f41874ca376bf85b79b6e66c92fa3f14bdd6e743a051f12a7fbfd87f319d1c6a5ce217 -a57ca39c23617cd2cf32ff93b02161bd7baf52c4effb4679d9d5166406e103bc8f3c6b5209e17c37dbb02deb8bc72ddd -9667c7300ff80f0140be002b0e36caab07aaee7cce72679197c64d355e20d96196acaf54e06e1382167d081fe6f739c1 -828126bb0559ce748809b622677267ca896fa2ee76360fd2c02990e6477e06a667241379ca7e65d61a5b64b96d7867de -8b8835dea6ba8cf61c91f01a4b3d2f8150b687a4ee09b45f2e5fc8f80f208ae5d142d8e3a18153f0722b90214e60c5a7 -a98e8ff02049b4da386e3ee93db23bbb13dfeb72f1cfde72587c7e6d962780b7671c63e8ac3fbaeb1a6605e8d79e2f29 -87a4892a0026d7e39ef3af632172b88337cb03669dea564bcdb70653b52d744730ebb5d642e20cb627acc9dbb547a26b -877352a22fc8052878a57effc159dac4d75fe08c84d3d5324c0bab6d564cdf868f33ceee515eee747e5856b62cfa0cc7 -8b801ba8e2ff019ee62f64b8cb8a5f601fc35423eb0f9494b401050103e1307dc584e4e4b21249cd2c686e32475e96c3 -a9e7338d6d4d9bfec91b2af28a8ed13b09415f57a3a00e5e777c93d768fdb3f8e4456ae48a2c6626b264226e911a0e28 -99c05fedf40ac4726ed585d7c1544c6e79619a0d3fb6bda75a08c7f3c0008e8d5e19ed4da48de3216135f34a15eba17c -a61cce8a1a8b13a4a650fdbec0eeea8297c352a8238fb7cac95a0df18ed16ee02a3daa2de108fa122aca733bd8ad7855 -b97f37da9005b440b4cb05870dd881bf8491fe735844f2d5c8281818583b38e02286e653d9f2e7fa5e74c3c3eb616540 -a72164a8554da8e103f692ac5ebb4aece55d5194302b9f74b6f2a05335b6e39beede0bf7bf8c5bfd4d324a784c5fb08c -b87e8221c5341cd9cc8bb99c10fe730bc105550f25ed4b96c0d45e6142193a1b2e72f1b3857373a659b8c09be17b3d91 -a41fb1f327ef91dcb7ac0787918376584890dd9a9675c297c45796e32d6e5985b12f9b80be47fc3a8596c245f419d395 -90dafa3592bdbb3465c92e2a54c2531822ba0459d45d3e7a7092fa6b823f55af28357cb51896d4ec2d66029c82f08e26 -a0a9adc872ebc396557f484f1dd21954d4f4a21c4aa5eec543f5fa386fe590839735c01f236574f7ff95407cd12de103 -b8c5c940d58be7538acf8672852b5da3af34f82405ef2ce8e4c923f1362f97fc50921568d0fd2fe846edfb0823e62979 -85aaf06a8b2d0dac89dafd00c28533f35dbd074978c2aaa5bef75db44a7b12aeb222e724f395513b9a535809a275e30b -81f3cbe82fbc7028c26a6c1808c604c63ba023a30c9f78a4c581340008dbda5ec07497ee849a2183fcd9124f7936af32 -a11ac738de75fd60f15a34209d3825d5e23385796a4c7fc5931822f3f380af977dd0f7b59fbd58eed7777a071e21b680 -85a279c493de03db6fa6c3e3c1b1b29adc9a8c4effc12400ae1128da8421954fa8b75ad19e5388fe4543b76fb0812813 -83a217b395d59ab20db6c4adb1e9713fc9267f5f31a6c936042fe051ce8b541f579442f3dcf0fa16b9e6de9fd3518191 -83a0b86e7d4ed8f9ccdc6dfc8ff1484509a6378fa6f09ed908e6ab9d1073f03011dc497e14304e4e3d181b57de06a5ab -a63ad69c9d25704ce1cc8e74f67818e5ed985f8f851afa8412248b2df5f833f83b95b27180e9e7273833ed0d07113d3b -99b1bc2021e63b561fe44ddd0af81fcc8627a91bfeecbbc989b642bc859abc0c8d636399701aad7bbaf6a385d5f27d61 -b53434adb66f4a807a6ad917c6e856321753e559b1add70824e5c1e88191bf6993fccb9b8b911fc0f473fb11743acacd -97ed3b9e6fb99bf5f945d4a41f198161294866aa23f2327818cdd55cb5dc4c1a8eff29dd8b8d04902d6cd43a71835c82 -b1e808260e368a18d9d10bdea5d60223ba1713b948c782285a27a99ae50cc5fc2c53d407de07155ecc16fb8a36d744a0 -a3eb4665f18f71833fec43802730e56b3ee5a357ea30a888ad482725b169d6f1f6ade6e208ee081b2e2633079b82ba7d -ab8beb2c8353fc9f571c18fdd02bdb977fc883313469e1277b0372fbbb33b80dcff354ca41de436d98d2ed710faa467e -aa9071cfa971e4a335a91ad634c98f2be51544cb21f040f2471d01bb97e1df2277ae1646e1ea8f55b7ba9f5c8c599b39 -80b7dbfdcaf40f0678012acc634eba44ea51181475180d9deb2050dc4f2de395289edd0223018c81057ec79b04b04c49 -89623d7f6cb17aa877af14de842c2d4ab7fd576d61ddd7518b5878620a01ded40b6010de0da3cdf31d837eecf30e9847 -a773bb024ae74dd24761f266d4fb27d6fd366a8634febe8235376b1ae9065c2fe12c769f1d0407867dfbe9f5272c352f -8455a561c3aaa6ba64c881a5e13921c592b3a02e968f4fb24a2243c36202795d0366d9cc1a24e916f84d6e158b7aeac7 -81d8bfc4b283cf702a40b87a2b96b275bdbf0def17e67d04842598610b67ea08c804d400c3e69fa09ea001eaf345b276 -b8f8f82cb11fea1c99467013d7e167ff03deb0c65a677fab76ded58826d1ba29aa7cf9fcd7763615735ea3ad38e28719 -89a6a04baf9cccc1db55179e1650b1a195dd91fb0aebc197a25143f0f393524d2589975e3fbfc2547126f0bced7fd6f2 -b81b2162df045390f04df07cbd0962e6b6ca94275a63edded58001a2f28b2ae2af2c7a6cba4ecd753869684e77e7e799 -a3757f722776e50de45c62d9c4a2ee0f5655a512344c4cbec542d8045332806568dd626a719ef21a4eb06792ca70f204 -8c5590df96ec22179a4e8786de41beb44f987a1dcc508eb341eecbc0b39236fdfad47f108f852e87179ccf4e10091e59 -87502f026ed4e10167419130b88c3737635c5b9074c364e1dd247cef5ef0fc064b4ae99b187e33301e438bbd2fe7d032 -af925a2165e980ced620ff12289129fe17670a90ae0f4db9d4b39bd887ccb1f5d2514ac9ecf910f6390a8fc66bd5be17 -857fca899828cf5c65d26e3e8a6e658542782fc72762b3b9c73514919f83259e0f849a9d4838b40dc905fe43024d0d23 -87ffebdbfb69a9e1007ebac4ffcb4090ff13705967b73937063719aa97908986effcb7262fdadc1ae0f95c3690e3245d -a9ff6c347ac6f4c6ab993b748802e96982eaf489dc69032269568412fc9a79e7c2850dfc991b28211b3522ee4454344b -a65b3159df4ec48bebb67cb3663cd744027ad98d970d620e05bf6c48f230fa45bf17527fe726fdf705419bb7a1bb913e -84b97b1e6408b6791831997b03cd91f027e7660fd492a93d95daafe61f02427371c0e237c75706412f442991dfdff989 -ab761c26527439b209af0ae6afccd9340bbed5fbe098734c3145b76c5d2cd7115d9227b2eb523882b7317fbb09180498 -a0479a8da06d7a69c0b0fee60df4e691c19c551f5e7da286dab430bfbcabf31726508e20d26ea48c53365a7f00a3ad34 -a732dfc9baa0f4f40b5756d2e8d8937742999623477458e0bc81431a7b633eefc6f53b3b7939fe0a020018549c954054 -901502436a1169ba51dc479a5abe7c8d84e0943b16bc3c6a627b49b92cd46263c0005bc324c67509edd693f28e612af1 -b627aee83474e7f84d1bab9b7f6b605e33b26297ac6bbf52d110d38ba10749032bd551641e73a383a303882367af429b -95108866745760baef4a46ef56f82da6de7e81c58b10126ebd2ba2cd13d339f91303bf2fb4dd104a6956aa3b13739503 -899ed2ade37236cec90056f3569bc50f984f2247792defafcceb49ad0ca5f6f8a2f06573705300e07f0de0c759289ff5 -a9f5eee196d608efe4bcef9bf71c646d27feb615e21252cf839a44a49fd89da8d26a758419e0085a05b1d59600e2dc42 -b36c6f68fed6e6c85f1f4a162485f24817f2843ec5cbee45a1ebfa367d44892e464949c6669f7972dc7167af08d55d25 -aaaede243a9a1b6162afbc8f571a52671a5a4519b4062e3f26777664e245ba873ed13b0492c5dbf0258c788c397a0e9e -972b4fb39c31cbe127bf9a32a5cc10d621ebdd9411df5e5da3d457f03b2ab2cd1f6372d8284a4a9400f0b06ecdbfd38e -8f6ca1e110e959a4b1d9a5ce5f212893cec21db40d64d5ac4d524f352d72198f923416a850bf845bc5a22a79c0ea2619 -a0f3c93b22134f66f04b2553a53b738644d1665ceb196b8494b315a4c28236fb492017e4a0de4224827c78e42f9908b7 -807fb5ee74f6c8735b0b5ca07e28506214fe4047dbeb00045d7c24f7849e98706aea79771241224939cb749cf1366c7d -915eb1ff034224c0b645442cdb7d669303fdc00ca464f91aaf0b6fde0b220a3a74ff0cb043c26c9f3a5667b3fdaa9420 -8fda6cef56ed33fefffa9e6ac8e6f76b1af379f89761945c63dd448801f7bb8ca970504a7105fac2f74f652ccff32327 -87380cffdcffb1d0820fa36b63cc081e72187f86d487315177d4d04da4533eb19a0e2ff6115ceab528887819c44a5164 -8cd89e03411a18e7f16f968b89fb500c36d47d229f6487b99e62403a980058db5925ce249206743333538adfad168330 -974451b1df33522ce7056de9f03e10c70bf302c44b0741a59df3d6877d53d61a7394dcee1dd46e013d7cb9d73419c092 -98c35ddf645940260c490f384a49496a7352bb8e3f686feed815b1d38f59ded17b1ad6e84a209e773ed08f7b8ff1e4c2 -963f386cf944bb9b2ddebb97171b64253ea0a2894ac40049bdd86cda392292315f3a3d490ca5d9628c890cfb669f0acb -8d507712152babd6d142ee682638da8495a6f3838136088df9424ef50d5ec28d815a198c9a4963610b22e49b4cdf95e9 -83d4bc6b0be87c8a4f1e9c53f257719de0c73d85b490a41f7420e777311640937320557ff2f1d9bafd1daaa54f932356 -82f5381c965b7a0718441131c4d13999f4cdce637698989a17ed97c8ea2e5bdb5d07719c5f7be8688edb081b23ede0f4 -a6ebecab0b72a49dfd01d69fa37a7f74d34fb1d4fef0aa10e3d6fceb9eccd671225c230af89f6eb514250e41a5f91f52 -846d185bdad6e11e604df7f753b7a08a28b643674221f0e750ebdb6b86ec584a29c869e131bca868972a507e61403f6a -85a98332292acb744bd1c0fd6fdcf1f889a78a2c9624d79413ffa194cc8dfa7821a4b60cde8081d4b5f71f51168dd67f -8f7d97c3b4597880d73200d074eb813d95432306e82dafc70b580b8e08cb8098b70f2d07b4b3ac6a4d77e92d57035031 -8185439c8751e595825d7053518cbe121f191846a38d4dbcb558c3f9d7a3104f3153401adaaaf27843bbe2edb504bfe3 -b3c00d8ece1518fca6b1215a139b0a0e26d9cba1b3a424f7ee59f30ce800a5db967279ed60958dd1f3ee69cf4dd1b204 -a2e6cb6978e883f9719c3c0d44cfe8de0cc6f644b98f98858433bea8bbe7b612c8aca5952fccce4f195f9d54f9722dc2 -99663087e3d5000abbec0fbda4e7342ec38846cc6a1505191fb3f1a337cb369455b7f8531a6eb8b0f7b2c4baf83cbe2b -ab0836c6377a4dbc7ca6a4d6cf021d4cd60013877314dd05f351706b128d4af6337711ed3443cb6ca976f40d74070a9a -87abfd5126152fd3bac3c56230579b489436755ea89e0566aa349490b36a5d7b85028e9fb0710907042bcde6a6f5d7e3 -974ba1033f75f60e0cf7c718a57ae1da3721cf9d0fb925714c46f027632bdd84cd9e6de4cf4d00bc55465b1c5ebb7384 -a607b49d73689ac64f25cec71221d30d53e781e1100d19a2114a21da6507a60166166369d860bd314acb226596525670 -a7c2b0b915d7beba94954f2aa7dd08ec075813661e2a3ecca5d28a0733e59583247fed9528eb28aba55b972cdbaf06eb -b8b3123e44128cc8efbe3270f2f94e50ca214a4294c71c3b851f8cbb70cb67fe9536cf07d04bf7fe380e5e3a29dd3c15 -a59a07e343b62ad6445a0859a32b58c21a593f9ddbfe52049650f59628c93715aa1f4e1f45b109321756d0eeec8a5429 -94f51f8a4ed18a6030d0aaa8899056744bd0e9dc9ac68f62b00355cddab11da5da16798db75f0bfbce0e5bdfe750c0b6 -97460a97ca1e1fa5ce243b81425edc0ec19b7448e93f0b55bc9785eedeeafe194a3c8b33a61a5c72990edf375f122777 -8fa859a089bc17d698a7ee381f37ce9beadf4e5b44fce5f6f29762bc04f96faff5d58c48c73631290325f05e9a1ecf49 -abdf38f3b20fc95eff31de5aa9ef1031abfa48f1305ee57e4d507594570401503476d3bcc493838fc24d6967a3082c7f -b8914bfb82815abb86da35c64d39ab838581bc0bf08967192697d9663877825f2b9d6fbdcf9b410463482b3731361aef -a8187f9d22b193a5f578999954d6ec9aa9b32338ccadb8a3e1ce5bad5ea361d69016e1cdfac44e9d6c54e49dd88561b9 -aac262cb7cba7fd62c14daa7b39677cabc1ef0947dd06dd89cac8570006a200f90d5f0353e84f5ff03179e3bebe14231 -a630ef5ece9733b8c46c0a2df14a0f37647a85e69c63148e79ffdcc145707053f9f9d305c3f1cf3c7915cb46d33abd07 -b102c237cb2e254588b6d53350dfda6901bd99493a3fbddb4121d45e0b475cf2663a40d7b9a75325eda83e4ba1e68cb3 -86a930dd1ddcc16d1dfa00aa292cb6c2607d42c367e470aa920964b7c17ab6232a7108d1c2c11fc40fb7496547d0bbf8 -a832fdc4500683e72a96cce61e62ac9ee812c37fe03527ad4cf893915ca1962cee80e72d4f82b20c8fc0b764376635a1 -88ad985f448dabb04f8808efd90f273f11f5e6d0468b5489a1a6a3d77de342992a73eb842d419034968d733f101ff683 -98a8538145f0d86f7fbf9a81c9140f6095c5bdd8960b1c6f3a1716428cd9cca1bf8322e6d0af24e6169abcf7df2b0ff6 -9048c6eba5e062519011e177e955a200b2c00b3a0b8615bdecdebc217559d41058d3315f6d05617be531ef0f6aef0e51 -833bf225ab6fc68cdcacf1ec1b50f9d05f5410e6cdcd8d56a3081dc2be8a8d07b81534d1ec93a25c2e270313dfb99e3b -a84bcd24c3da5e537e64a811b93c91bfc84d7729b9ead7f79078989a6eb76717d620c1fad17466a0519208651e92f5ff -b7cdd0a3fbd79aed93e1b5a44ca44a94e7af5ed911e4492f332e3a5ed146c7286bde01b52276a2fcc02780d2109874dd -8a19a09854e627cb95750d83c20c67442b66b35896a476358f993ba9ac114d32c59c1b3d0b8787ee3224cf3888b56c64 -a9abd5afb8659ee52ada8fa5d57e7dd355f0a7350276f6160bec5fbf70d5f99234dd179eb221c913e22a49ec6d267846 -8c13c4274c0d30d184e73eaf812200094bbbd57293780bdadbceb262e34dee5b453991e7f37c7333a654fc71c69d6445 -a4320d73296ff8176ce0127ca1921c450e2a9c06eff936681ebaffb5a0b05b17fded24e548454de89aca2dcf6d7a9de4 -b2b8b3e15c1f645f07783e5628aba614e60157889db41d8161d977606788842b67f83f361eae91815dc0abd84e09abd5 -ad26c3aa35ddfddc15719b8bb6c264aaec7065e88ac29ba820eb61f220fef451609a7bb037f3722d022e6c86e4f1dc88 -b8615bf43e13ae5d7b8dd903ce37190800cd490f441c09b22aa29d7a29ed2c0417b7a08ead417868f1de2589deaadd80 -8d3425e1482cd1e76750a76239d33c06b3554c3c3c87c15cb7ab58b1cee86a4c5c4178b44e23f36928365a1b484bde02 -806893a62e38c941a7dd6f249c83af16596f69877cc737d8f73f6b8cd93cbc01177a7a276b2b8c6b0e5f2ad864db5994 -86618f17fa4b0d65496b661bbb5ba3bc3a87129d30a4b7d4f515b904f4206ca5253a41f49fd52095861e5e065ec54f21 -9551915da1304051e55717f4c31db761dcdcf3a1366c89a4af800a9e99aca93a357bf928307f098e62b44a02cb689a46 -8f79c4ec0ec1146cb2a523b52fe33def90d7b5652a0cb9c2d1c8808a32293e00aec6969f5b1538e3a94cd1efa3937f86 -a0c03e329a707300081780f1e310671315b4c6a4cedcb29697aedfabb07a9d5df83f27b20e9c44cf6b16e39d9ded5b98 -86a7cfa7c8e7ce2c01dd0baec2139e97e8e090ad4e7b5f51518f83d564765003c65968f85481bbb97cb18f005ccc7d9f -a33811770c6dfda3f7f74e6ad0107a187fe622d61b444bbd84fd7ef6e03302e693b093df76f6ab39bb4e02afd84a575a -85480f5c10d4162a8e6702b5e04f801874d572a62a130be94b0c02b58c3c59bdcd48cd05f0a1c2839f88f06b6e3cd337 -8e181011564b17f7d787fe0e7f3c87f6b62da9083c54c74fd6c357a1f464c123c1d3d8ade3cf72475000b464b14e2be3 -8ee178937294b8c991337e0621ab37e9ffa4ca2bdb3284065c5e9c08aad6785d50cf156270ff9daf9a9127289710f55b -8bd1e8e2d37379d4b172f1aec96f2e41a6e1393158d7a3dbd9a95c8dd4f8e0b05336a42efc11a732e5f22b47fc5c271d -8f3da353cd487c13136a85677de8cedf306faae0edec733cf4f0046f82fa4639db4745b0095ff33a9766aba50de0cbcf -8d187c1e97638df0e4792b78e8c23967dac43d98ea268ca4aabea4e0fa06cb93183fd92d4c9df74118d7cc27bf54415e -a4c992f08c2f8bac0b74b3702fb0c75c9838d2ce90b28812019553d47613c14d8ce514d15443159d700b218c5a312c49 -a6fd1874034a34c3ea962a316c018d9493d2b3719bb0ec4edbc7c56b240802b2228ab49bee6f04c8a3e9f6f24a48c1c2 -b2efed8e799f8a15999020900dc2c58ece5a3641c90811b86a5198e593d7318b9d53b167818ccdfbe7df2414c9c34011 -995ff7de6181ddf95e3ead746089c6148da3508e4e7a2323c81785718b754d356789b902e7e78e2edc6b0cbd4ff22c78 -944073d24750a9068cbd020b834afc72d2dde87efac04482b3287b40678ad07588519a4176b10f2172a2c463d063a5cd -99db4b1bb76475a6fd75289986ef40367960279524378cc917525fb6ba02a145a218c1e9caeb99332332ab486a125ac0 -89fce4ecd420f8e477af4353b16faabb39e063f3f3c98fde2858b1f2d1ef6eed46f0975a7c08f233b97899bf60ccd60a -8c09a4f07a02b80654798bc63aada39fd638d3e3c4236ccd8a5ca280350c31e4a89e5f4c9aafb34116e71da18c1226b8 -85325cfa7ded346cc51a2894257eab56e7488dbff504f10f99f4cd2b630d913003761a50f175ed167e8073f1b6b63fb0 -b678b4fbec09a8cc794dcbca185f133578f29e354e99c05f6d07ac323be20aecb11f781d12898168e86f2e0f09aca15e -a249cfcbca4d9ba0a13b5f6aac72bf9b899adf582f9746bb2ad043742b28915607467eb794fca3704278f9136f7642be -9438e036c836a990c5e17af3d78367a75b23c37f807228362b4d13e3ddcb9e431348a7b552d09d11a2e9680704a4514f -925ab70450af28c21a488bfb5d38ac994f784cf249d7fd9ad251bb7fd897a23e23d2528308c03415074d43330dc37ef4 -a290563904d5a8c0058fc8330120365bdd2ba1fdbaef7a14bc65d4961bb4217acfaed11ab82669e359531f8bf589b8db -a7e07a7801b871fc9b981a71e195a3b4ba6b6313bc132b04796a125157e78fe5c11a3a46cf731a255ac2d78a4ae78cd0 -b26cd2501ee72718b0eebab6fb24d955a71f363f36e0f6dff0ab1d2d7836dab88474c0cef43a2cc32701fca7e82f7df3 -a1dc3b6c968f3de00f11275092290afab65b2200afbcfa8ddc70e751fa19dbbc300445d6d479a81bda3880729007e496 -a9bc213e28b630889476a095947d323b9ac6461dea726f2dc9084473ae8e196d66fb792a21905ad4ec52a6d757863e7d -b25d178df8c2df8051e7c888e9fa677fde5922e602a95e966db9e4a3d6b23ce043d7dc48a5b375c6b7c78e966893e8c3 -a1c8d88d72303692eaa7adf68ea41de4febec40cc14ae551bb4012afd786d7b6444a3196b5d9d5040655a3366d96b7cd -b22bd44f9235a47118a9bbe2ba5a2ba9ec62476061be2e8e57806c1a17a02f9a51403e849e2e589520b759abd0117683 -b8add766050c0d69fe81d8d9ea73e1ed05f0135d093ff01debd7247e42dbb86ad950aceb3b50b9af6cdc14ab443b238f -af2cf95f30ef478f018cf81d70d47d742120b09193d8bb77f0d41a5d2e1a80bfb467793d9e2471b4e0ad0cb2c3b42271 -8af5ef2107ad284e246bb56e20fef2a255954f72de791cbdfd3be09f825298d8466064f3c98a50496c7277af32b5c0bc -85dc19558572844c2849e729395a0c125096476388bd1b14fa7f54a7c38008fc93e578da3aac6a52ff1504d6ca82db05 -ae8c9b43c49572e2e166d704caf5b4b621a3b47827bb2a3bcd71cdc599bba90396fd9a405261b13e831bb5d44c0827d7 -a7ba7efede25f02e88f6f4cbf70643e76784a03d97e0fbd5d9437c2485283ad7ca3abb638a5f826cd9f6193e5dec0b6c -94a9d122f2f06ef709fd8016fd4b712d88052245a65a301f5f177ce22992f74ad05552b1f1af4e70d1eac62cef309752 -82d999b3e7cf563833b8bc028ff63a6b26eb357dfdb3fd5f10e33a1f80a9b2cfa7814d871b32a7ebfbaa09e753e37c02 -aec6edcde234df502a3268dd2c26f4a36a2e0db730afa83173f9c78fcb2b2f75510a02b80194327b792811caefda2725 -94c0bfa66c9f91d462e9194144fdd12d96f9bbe745737e73bab8130607ee6ea9d740e2cfcbbd00a195746edb6369ee61 -ab7573dab8c9d46d339e3f491cb2826cabe8b49f85f1ede78d845fc3995537d1b4ab85140b7d0238d9c24daf0e5e2a7e -87e8b16832843251fe952dadfd01d41890ed4bb4b8fa0254550d92c8cced44368225eca83a6c3ad47a7f81ff8a80c984 -9189d2d9a7c64791b19c0773ad4f0564ce6bea94aa275a917f78ad987f150fdb3e5e26e7fef9982ac184897ecc04683f -b3661bf19e2da41415396ae4dd051a9272e8a2580b06f1a1118f57b901fa237616a9f8075af1129af4eabfefedbe2f1c -af43c86661fb15daf5d910a4e06837225e100fb5680bd3e4b10f79a2144c6ec48b1f8d6e6b98e067d36609a5d038889a -82ac0c7acaa83ddc86c5b4249aae12f28155989c7c6b91e5137a4ce05113c6cbc16f6c44948b0efd8665362d3162f16a -8f268d1195ab465beeeb112cd7ffd5d5548559a8bc01261106d3555533fc1971081b25558d884d552df0db1cddda89d8 -8ef7caa5521f3e037586ce8ac872a4182ee20c7921c0065ed9986c047e3dda08294da1165f385d008b40d500f07d895f -8c2f98f6880550573fad46075d3eba26634b5b025ce25a0b4d6e0193352c8a1f0661064027a70fe8190b522405f9f4e3 -b7653f353564feb164f0f89ec7949da475b8dad4a4d396d252fc2a884f6932d027b7eb2dc4d280702c74569319ed701a -a026904f4066333befd9b87a8fad791d014096af60cdd668ef919c24dbe295ff31f7a790e1e721ba40cf5105abca67f4 -988f982004ada07a22dd345f2412a228d7a96b9cae2c487de42e392afe1e35c2655f829ce07a14629148ce7079a1f142 -9616add009067ed135295fb74d5b223b006b312bf14663e547a0d306694ff3a8a7bb9cfc466986707192a26c0bce599f -ad4c425de9855f6968a17ee9ae5b15e0a5b596411388cf976df62ecc6c847a6e2ddb2cea792a5f6e9113c2445dba3e5c -b698ac9d86afa3dc69ff8375061f88e3b0cff92ff6dfe747cebaf142e813c011851e7a2830c10993b715e7fd594604a9 -a386fa189847bb3b798efca917461e38ead61a08b101948def0f82cd258b945ed4d45b53774b400af500670149e601b7 -905c95abda2c68a6559d8a39b6db081c68cef1e1b4be63498004e1b2f408409be9350b5b5d86a30fd443e2b3e445640a -9116dade969e7ce8954afcdd43e5cab64dc15f6c1b8da9d2d69de3f02ba79e6c4f6c7f54d6bf586d30256ae405cd1e41 -a3084d173eacd08c9b5084a196719b57e47a0179826fda73466758235d7ecdb87cbcf097bd6b510517d163a85a7c7edd -85bb00415ad3c9be99ff9ba83672cc59fdd24356b661ab93713a3c8eab34e125d8867f628a3c3891b8dc056e69cd0e83 -8d58541f9f39ed2ee4478acce5d58d124031338ec11b0d55551f00a5a9a6351faa903a5d7c132dc5e4bb026e9cbd18e4 -a622adf72dc250e54f672e14e128c700166168dbe0474cecb340da175346e89917c400677b1bc1c11fcc4cc26591d9db -b3f865014754b688ca8372e8448114fff87bf3ca99856ab9168894d0c4679782c1ced703f5b74e851b370630f5e6ee86 -a7e490b2c40c2446fcd91861c020da9742c326a81180e38110558bb5d9f2341f1c1885e79b364e6419023d1cbdc47380 -b3748d472b1062e54572badbb8e87ac36534407f74932e7fc5b8392d008e8e89758f1671d1e4d30ab0fa40551b13bb5e -89898a5c5ec4313aabc607b0049fd1ebad0e0c074920cf503c9275b564d91916c2c446d3096491c950b7af3ac5e4b0ed -8eb8c83fef2c9dd30ea44e286e9599ec5c20aba983f702e5438afe2e5b921884327ad8d1566c72395587efac79ca7d56 -b92479599e806516ce21fb0bd422a1d1d925335ebe2b4a0a7e044dd275f30985a72b97292477053ac5f00e081430da80 -a34ae450a324fe8a3c25a4d653a654f9580ed56bbea213b8096987bbad0f5701d809a17076435e18017fea4d69f414bc -81381afe6433d62faf62ea488f39675e0091835892ecc238e02acf1662669c6d3962a71a3db652f6fe3bc5f42a0e5dc5 -a430d475bf8580c59111103316fe1aa79c523ea12f1d47a976bbfae76894717c20220e31cf259f08e84a693da6688d70 -b842814c359754ece614deb7d184d679d05d16f18a14b288a401cef5dad2cf0d5ee90bad487b80923fc5573779d4e4e8 -971d9a2627ff2a6d0dcf2af3d895dfbafca28b1c09610c466e4e2bff2746f8369de7f40d65b70aed135fe1d72564aa88 -8f4ce1c59e22b1ce7a0664caaa7e53735b154cfba8d2c5cc4159f2385843de82ab58ed901be876c6f7fce69cb4130950 -86cc9dc321b6264297987000d344fa297ef45bcc2a4df04e458fe2d907ad304c0ea2318e32c3179af639a9a56f3263cf -8229e0876dfe8f665c3fb19b250bd89d40f039bbf1b331468b403655be7be2e104c2fd07b9983580c742d5462ca39a43 -99299d73066e8eb128f698e56a9f8506dfe4bd014931e86b6b487d6195d2198c6c5bf15cccb40ccf1f8ddb57e9da44a2 -a3a3be37ac554c574b393b2f33d0a32a116c1a7cfeaf88c54299a4da2267149a5ecca71f94e6c0ef6e2f472b802f5189 -a91700d1a00387502cdba98c90f75fbc4066fefe7cc221c8f0e660994c936badd7d2695893fde2260c8c11d5bdcdd951 -8e03cae725b7f9562c5c5ab6361644b976a68bada3d7ca508abca8dfc80a469975689af1fba1abcf21bc2a190dab397d -b01461ad23b2a8fa8a6d241e1675855d23bc977dbf4714add8c4b4b7469ccf2375cec20e80cedfe49361d1a30414ac5b -a2673bf9bc621e3892c3d7dd4f1a9497f369add8cbaa3472409f4f86bd21ac67cfac357604828adfee6ada1835365029 -a042dff4bf0dfc33c178ba1b335e798e6308915128de91b12e5dbbab7c4ac8d60a01f6aea028c3a6d87b9b01e4e74c01 -86339e8a75293e4b3ae66b5630d375736b6e6b6b05c5cda5e73fbf7b2f2bd34c18a1d6cefede08625ce3046e77905cb8 -af2ebe1b7d073d03e3d98bc61af83bf26f7a8c130fd607aa92b75db22d14d016481b8aa231e2c9757695f55b7224a27f -a00ee882c9685e978041fd74a2c465f06e2a42ffd3db659053519925be5b454d6f401e3c12c746e49d910e4c5c9c5e8c -978a781c0e4e264e0dad57e438f1097d447d891a1e2aa0d5928f79a9d5c3faae6f258bc94fdc530b7b2fa6a9932bb193 -aa4b7ce2e0c2c9e9655bf21e3e5651c8503bce27483017b0bf476be743ba06db10228b3a4c721219c0779747f11ca282 -b003d1c459dacbcf1a715551311e45d7dbca83a185a65748ac74d1800bbeaba37765d9f5a1a221805c571910b34ebca8 -95b6e531b38648049f0d19de09b881baa1f7ea3b2130816b006ad5703901a05da57467d1a3d9d2e7c73fb3f2e409363c -a6cf9c06593432d8eba23a4f131bb7f72b9bd51ab6b4b772a749fe03ed72b5ced835a349c6d9920dba2a39669cb7c684 -aa3d59f6e2e96fbb66195bc58c8704e139fa76cd15e4d61035470bd6e305db9f98bcbf61ac1b95e95b69ba330454c1b3 -b57f97959c208361de6d7e86dff2b873068adb0f158066e646f42ae90e650079798f165b5cd713141cd3a2a90a961d9a -a76ee8ed9052f6a7a8c69774bb2597be182942f08115baba03bf8faaeaee526feba86120039fe8ca7b9354c3b6e0a8e6 -95689d78c867724823f564627d22d25010f278674c6d2d0cdb10329169a47580818995d1d727ce46c38a1e47943ebb89 -ab676d2256c6288a88e044b3d9ffd43eb9d5aaee00e8fc60ac921395fb835044c71a26ca948e557fed770f52d711e057 -96351c72785c32e5d004b6f4a1259fb8153d631f0c93fed172f18e8ba438fbc5585c1618deeabd0d6d0b82173c2e6170 -93dd8d3db576418e22536eba45ab7f56967c6c97c64260d6cddf38fb19c88f2ec5cd0e0156f50e70855eee8a2b879ffd -ad6ff16f40f6de3d7a737f8e6cebd8416920c4ff89dbdcd75eabab414af9a6087f83ceb9aff7680aa86bff98bd09c8cc -84de53b11671abc9c38710e19540c5c403817562aeb22a88404cdaff792c1180f717dbdfe8f54940c062c4d032897429 -872231b9efa1cdd447b312099a5c164c560440a9441d904e70f5abfc3b2a0d16be9a01aca5e0a2599a61e19407587e3d -88f44ac27094a2aa14e9dc40b099ee6d68f97385950f303969d889ee93d4635e34dff9239103bdf66a4b7cbba3e7eb7a -a59afebadf0260e832f6f44468443562f53fbaf7bcb5e46e1462d3f328ac437ce56edbca617659ac9883f9e13261fad7 -b1990e42743a88de4deeacfd55fafeab3bc380cb95de43ed623d021a4f2353530bcab9594389c1844b1c5ea6634c4555 -85051e841149a10e83f56764e042182208591396d0ce78c762c4a413e6836906df67f38c69793e158d64fef111407ba3 -9778172bbd9b1f2ec6bbdd61829d7b39a7df494a818e31c654bf7f6a30139899c4822c1bf418dd4f923243067759ce63 -9355005b4878c87804fc966e7d24f3e4b02bed35b4a77369d01f25a3dcbff7621b08306b1ac85b76fe7b4a3eb5f839b1 -8f9dc6a54fac052e236f8f0e1f571ac4b5308a43acbe4cc8183bce26262ddaf7994e41cf3034a4cbeca2c505a151e3b1 -8cc59c17307111723fe313046a09e0e32ea0cce62c13814ab7c6408c142d6a0311d801be4af53fc9240523f12045f9ef -8e6057975ed40a1932e47dd3ac778f72ee2a868d8540271301b1aa6858de1a5450f596466494a3e0488be4fbeb41c840 -812145efbd6559ae13325d56a15940ca4253b17e72a9728986b563bb5acc13ec86453796506ac1a8f12bd6f9e4a288c3 -911da0a6d6489eb3dab2ec4a16e36127e8a291ae68a6c2c9de33e97f3a9b1f00da57a94e270a0de79ecc5ecb45d19e83 -b72ea85973f4b2a7e6e71962b0502024e979a73c18a9111130e158541fa47bbaaf53940c8f846913a517dc69982ba9e1 -a7a56ad1dbdc55f177a7ad1d0af78447dc2673291e34e8ab74b26e2e2e7d8c5fe5dc89e7ef60f04a9508847b5b3a8188 -b52503f6e5411db5d1e70f5fb72ccd6463fa0f197b3e51ca79c7b5a8ab2e894f0030476ada72534fa4eb4e06c3880f90 -b51c7957a3d18c4e38f6358f2237b3904618d58b1de5dec53387d25a63772e675a5b714ad35a38185409931157d4b529 -b86b4266e719d29c043d7ec091547aa6f65bbf2d8d831d1515957c5c06513b72aa82113e9645ad38a7bc3f5383504fa6 -b95b547357e6601667b0f5f61f261800a44c2879cf94e879def6a105b1ad2bbf1795c3b98a90d588388e81789bd02681 -a58fd4c5ae4673fa350da6777e13313d5d37ed1dafeeb8f4f171549765b84c895875d9d3ae6a9741f3d51006ef81d962 -9398dc348d078a604aadc154e6eef2c0be1a93bb93ba7fe8976edc2840a3a318941338cc4d5f743310e539d9b46613d2 -902c9f0095014c4a2f0dccaaab543debba6f4cc82c345a10aaf4e72511725dbed7a34cd393a5f4e48a3e5142b7be84ed -a7c0447849bb44d04a0393a680f6cd390093484a79a147dd238f5d878030d1c26646d88211108e59fe08b58ad20c6fbd -80db045535d6e67a422519f5c89699e37098449d249698a7cc173a26ccd06f60238ae6cc7242eb780a340705c906790c -8e52b451a299f30124505de2e74d5341e1b5597bdd13301cc39b05536c96e4380e7f1b5c7ef076f5b3005a868657f17c -824499e89701036037571761e977654d2760b8ce21f184f2879fda55d3cda1e7a95306b8abacf1caa79d3cc075b9d27f -9049b956b77f8453d2070607610b79db795588c0cec12943a0f5fe76f358dea81e4f57a4692112afda0e2c05c142b26f -81911647d818a4b5f4990bfd4bc13bf7be7b0059afcf1b6839333e8569cdb0172fd2945410d88879349f677abaed5eb3 -ad4048f19b8194ed45b6317d9492b71a89a66928353072659f5ce6c816d8f21e69b9d1817d793effe49ca1874daa1096 -8d22f7b2ddb31458661abd34b65819a374a1f68c01fc6c9887edeba8b80c65bceadb8f57a3eb686374004b836261ef67 -92637280c259bc6842884db3d6e32602a62252811ae9b019b3c1df664e8809ffe86db88cfdeb8af9f46435c9ee790267 -a2f416379e52e3f5edc21641ea73dc76c99f7e29ea75b487e18bd233856f4c0183429f378d2bfc6cd736d29d6cadfa49 -882cb6b76dbdc188615dcf1a8439eba05ffca637dd25197508156e03c930b17b9fed2938506fdd7b77567cb488f96222 -b68b621bb198a763fb0634eddb93ed4b5156e59b96c88ca2246fd1aea3e6b77ed651e112ac41b30cd361fadc011d385e -a3cb22f6b675a29b2d1f827cacd30df14d463c93c3502ef965166f20d046af7f9ab7b2586a9c64f4eae4fad2d808a164 -8302d9ce4403f48ca217079762ce42cee8bc30168686bb8d3a945fbd5acd53b39f028dce757b825eb63af2d5ae41169d -b2eef1fbd1a176f1f4cd10f2988c7329abe4eb16c7405099fb92baa724ab397bc98734ef7d4b24c0f53dd90f57520d04 -a1bbef0bd684a3f0364a66bde9b29326bac7aa3dde4caed67f14fb84fed3de45c55e406702f1495a3e2864d4ee975030 -976acdb0efb73e3a3b65633197692dedc2adaed674291ae3df76b827fc866d214e9cac9ca46baefc4405ff13f953d936 -b9fbf71cc7b6690f601f0b1c74a19b7d14254183a2daaafec7dc3830cba5ae173d854bbfebeca985d1d908abe5ef0cda -90591d7b483598c94e38969c4dbb92710a1a894bcf147807f1bcbd8aa3ac210b9f2be65519aa829f8e1ccdc83ad9b8cf -a30568577c91866b9c40f0719d46b7b3b2e0b4a95e56196ac80898a2d89cc67880e1229933f2cd28ee3286f8d03414d7 -97589a88c3850556b359ec5e891f0937f922a751ac7c95949d3bbc7058c172c387611c0f4cb06351ef02e5178b3dd9e4 -98e7bbe27a1711f4545df742f17e3233fbcc63659d7419e1ca633f104cb02a32c84f2fac23ca2b84145c2672f68077ab -a7ddb91636e4506d8b7e92aa9f4720491bb71a72dadc47c7f4410e15f93e43d07d2b371951a0e6a18d1bd087aa96a5c4 -a7c006692227a06db40bceac3d5b1daae60b5692dd9b54772bedb5fea0bcc91cbcdb530cac31900ffc70c5b3ffadc969 -8d3ec6032778420dfa8be52066ba0e623467df33e4e1901dbadd586c5d750f4ccde499b5197e26b9ea43931214060f69 -8d9a8410518ea64f89df319bfd1fc97a0971cdb9ad9b11d1f8fe834042ea7f8dce4db56eeaf179ff8dda93b6db93e5ce -a3c533e9b3aa04df20b9ff635cb1154ce303e045278fcf3f10f609064a5445552a1f93989c52ce852fd0bbd6e2b6c22e -81934f3a7f8c1ae60ec6e4f212986bcc316118c760a74155d06ce0a8c00a9b9669ec4e143ca214e1b995e41271774fd9 -ab8e2d01a71192093ef8fafa7485e795567cc9db95a93fb7cc4cf63a391ef89af5e2bfad4b827fffe02b89271300407f -83064a1eaa937a84e392226f1a60b7cfad4efaa802f66de5df7498962f7b2649924f63cd9962d47906380b97b9fe80e1 -b4f5e64a15c6672e4b55417ee5dc292dcf93d7ea99965a888b1cc4f5474a11e5b6520eacbcf066840b343f4ceeb6bf33 -a63d278b842456ef15c278b37a6ea0f27c7b3ffffefca77c7a66d2ea06c33c4631eb242bbb064d730e70a8262a7b848a -83a41a83dbcdf0d22dc049de082296204e848c453c5ab1ba75aa4067984e053acf6f8b6909a2e1f0009ed051a828a73b -819485b036b7958508f15f3c19436da069cbe635b0318ebe8c014cf1ef9ab2df038c81161b7027475bcfa6fff8dd9faf -aa40e38172806e1e045e167f3d1677ef12d5dcdc89b43639a170f68054bd196c4fae34c675c1644d198907a03f76ba57 -969bae484883a9ed1fbed53b26b3d4ee4b0e39a6c93ece5b3a49daa01444a1c25727dabe62518546f36b047b311b177c -80a9e73a65da99664988b238096a090d313a0ee8e4235bc102fa79bb337b51bb08c4507814eb5baec22103ec512eaab0 -86604379aec5bddda6cbe3ef99c0ac3a3c285b0b1a15b50451c7242cd42ae6b6c8acb717dcca7917838432df93a28502 -a23407ee02a495bed06aa7e15f94cfb05c83e6d6fba64456a9bbabfa76b2b68c5c47de00ba169e710681f6a29bb41a22 -98cff5ecc73b366c6a01b34ac9066cb34f7eeaf4f38a5429bad2d07e84a237047e2a065c7e8a0a6581017dadb4695deb -8de9f68a938f441f3b7ab84bb1f473c5f9e5c9e139e42b7ccee1d254bd57d0e99c2ccda0f3198f1fc5737f6023dd204e -b0ce48d815c2768fb472a315cad86aa033d0e9ca506f146656e2941829e0acb735590b4fbc713c2d18d3676db0a954ac -82f485cdefd5642a6af58ac6817991c49fac9c10ace60f90b27f1788cc026c2fe8afc83cf499b3444118f9f0103598a8 -82c24550ed512a0d53fc56f64cc36b553823ae8766d75d772dacf038c460f16f108f87a39ceef7c66389790f799dbab3 -859ffcf1fe9166388316149b9acc35694c0ea534d43f09dae9b86f4aa00a23b27144dda6a352e74b9516e8c8d6fc809c -b8f7f353eec45da77fb27742405e5ad08d95ec0f5b6842025be9def3d9892f85eb5dd0921b41e6eff373618dba215bca -8ccca4436f9017e426229290f5cd05eac3f16571a4713141a7461acfe8ae99cd5a95bf5b6df129148693c533966145da -a2c67ecc19c0178b2994846fea4c34c327a5d786ac4b09d1d13549d5be5996d8a89021d63d65cb814923388f47cc3a03 -aa0ff87d676b418ec08f5cbf577ac7e744d1d0e9ebd14615b550eb86931eafd2a36d4732cc5d6fab1713fd7ab2f6f7c0 -8aef4730bb65e44efd6bb9441c0ae897363a2f3054867590a2c2ecf4f0224e578c7a67f10b40f8453d9f492ac15a9b2d -86a187e13d8fba5addcfdd5b0410cedd352016c930f913addd769ee09faa6be5ca3e4b1bdb417a965c643a99bd92be42 -a0a4e9632a7a094b14b29b78cd9c894218cdf6783e61671e0203865dc2a835350f465fbaf86168f28af7c478ca17bc89 -a8c7b02d8deff2cd657d8447689a9c5e2cd74ef57c1314ac4d69084ac24a7471954d9ff43fe0907d875dcb65fd0d3ce5 -97ded38760aa7be6b6960b5b50e83b618fe413cbf2bcc1da64c05140bcc32f5e0e709cd05bf8007949953fac5716bad9 -b0d293835a24d64c2ae48ce26e550b71a8c94a0883103757fb6b07e30747f1a871707d23389ba2b2065fa6bafe220095 -8f9e291bf849feaa575592e28e3c8d4b7283f733d41827262367ea1c40f298c7bcc16505255a906b62bf15d9f1ba85fb -998f4e2d12708b4fd85a61597ca2eddd750f73c9e0c9b3cf0825d8f8e01f1628fd19797dcaed3b16dc50331fc6b8b821 -b30d1f8c115d0e63bf48f595dd10908416774c78b3bbb3194192995154d80ea042d2e94d858de5f8aa0261b093c401fd -b5d9c75bb41f964cbff3f00e96d9f1480c91df8913f139f0d385d27a19f57a820f838eb728e46823cbff00e21c660996 -a6edec90b5d25350e2f5f0518777634f9e661ec9d30674cf5b156c4801746d62517751d90074830ac0f4b09911c262f1 -82f98da1264b6b75b8fbeb6a4d96d6a05b25c24db0d57ba3a38efe3a82d0d4e331b9fc4237d6494ccfe4727206457519 -b89511843453cf4ecd24669572d6371b1e529c8e284300c43e0d5bb6b3aaf35aeb634b3cb5c0a2868f0d5e959c1d0772 -a82bf065676583e5c1d3b81987aaae5542f522ba39538263a944bb33ea5b514c649344a96c0205a3b197a3f930fcda6c -a37b47ea527b7e06c460776aa662d9a49ff4149d3993f1a974b0dd165f7171770d189b0e2ea54fd5fccb6a14b116e68a -a1017677f97dda818274d47556d09d0e4ccacb23a252f82a6cfe78c630ad46fb9806307445a59fb61262182de3a2b29c -b01e9fcac239ba270e6877b79273ddd768bf8a51d2ed8a051b1c11e18eff3de5920e2fcbfbd26f06d381eddd3b1f1e1b -82fcd53d803b1c8e4ed76adc339b7f3a5962d37042b9683aabac7513ac68775d4a566a9460183926a6a95dbe7d551a1f -a763e78995d55cd21cdb7ef75d9642d6e1c72453945e346ab6690c20a4e1eeec61bb848ef830ae4b56182535e3c71d8f -b769f4db602251d4b0a1186782799bdcef66de33c110999a5775c50b349666ffd83d4c89714c4e376f2efe021a5cfdb2 -a59cbd1b785efcfa6e83fc3b1d8cf638820bc0c119726b5368f3fba9dce8e3414204fb1f1a88f6c1ff52e87961252f97 -95c8c458fd01aa23ecf120481a9c6332ebec2e8bb70a308d0576926a858457021c277958cf79017ddd86a56cacc2d7db -82eb41390800287ae56e77f2e87709de5b871c8bdb67c10a80fc65f3acb9f7c29e8fa43047436e8933f27449ea61d94d -b3ec25e3545eb83aed2a1f3558d1a31c7edde4be145ecc13b33802654b77dc049b4f0065069dd9047b051e52ab11dcdd -b78a0c715738f56f0dc459ab99e252e3b579b208142836b3c416b704ca1de640ca082f29ebbcee648c8c127df06f6b1e -a4083149432eaaf9520188ebf4607d09cf664acd1f471d4fb654476e77a9eaae2251424ffda78d09b6cb880df35c1219 -8c52857d68d6e9672df3db2df2dbf46b516a21a0e8a18eec09a6ae13c1ef8f369d03233320dd1c2c0bbe00abfc1ea18b -8c856089488803066bff3f8d8e09afb9baf20cecc33c8823c1c0836c3d45498c3de37e87c016b705207f60d2b00f8609 -831a3df39be959047b2aead06b4dcd3012d7b29417f642b83c9e8ce8de24a3dbbd29c6fdf55e2db3f7ea04636c94e403 -aed84d009f66544addabe404bf6d65af7779ce140dc561ff0c86a4078557b96b2053b7b8a43432ffb18cd814f143b9da -93282e4d72b0aa85212a77b336007d8ba071eea17492da19860f1ad16c1ea8867ccc27ef5c37c74b052465cc11ea4f52 -a7b78b8c8d057194e8d68767f1488363f77c77bddd56c3da2bc70b6354c7aa76247c86d51f7371aa38a4aa7f7e3c0bb7 -b1c77283d01dcd1bde649b5b044eac26befc98ff57cbee379fb5b8e420134a88f2fc7f0bf04d15e1fbd45d29e7590fe6 -a4aa8de70330a73b2c6458f20a1067eed4b3474829b36970a8df125d53bbdda4f4a2c60063b7cccb0c80fc155527652f -948a6c79ba1b8ad7e0bed2fae2f0481c4e41b4d9bbdd9b58164e28e9065700e83f210c8d5351d0212e0b0b68b345b3a5 -86a48c31dcbbf7b082c92d28e1f613a2378a910677d7db3a349dc089e4a1e24b12eee8e8206777a3a8c64748840b7387 -976adb1af21e0fc34148917cf43d933d7bfd3fd12ed6c37039dcd5a4520e3c6cf5868539ba5bf082326430deb8a4458d -b93e1a4476f2c51864bb4037e7145f0635eb2827ab91732b98d49b6c07f6ac443111aa1f1da76d1888665cb897c3834e -8afd46fb23bf869999fa19784b18a432a1f252d09506b8dbb756af900518d3f5f244989b3d7c823d9029218c655d3dc6 -83f1e59e3abeed18cdc632921672673f1cb6e330326e11c4e600e13e0d5bc11bdc970ae12952e15103a706fe720bf4d6 -90ce4cc660714b0b673d48010641c09c00fc92a2c596208f65c46073d7f349dd8e6e077ba7dcef9403084971c3295b76 -8b09b0f431a7c796561ecf1549b85048564de428dac0474522e9558b6065fede231886bc108539c104ce88ebd9b5d1b0 -85d6e742e2fb16a7b0ba0df64bc2c0dbff9549be691f46a6669bca05e89c884af16822b85faefefb604ec48c8705a309 -a87989ee231e468a712c66513746fcf03c14f103aadca0eac28e9732487deb56d7532e407953ab87a4bf8961588ef7b0 -b00da10efe1c29ee03c9d37d5918e391ae30e48304e294696b81b434f65cf8c8b95b9d1758c64c25e534d045ba28696f -91c0e1fb49afe46c7056400baa06dbb5f6e479db78ee37e2d76c1f4e88994357e257b83b78624c4ef6091a6c0eb8254d -883fb797c498297ccbf9411a3e727c3614af4eccde41619b773dc7f3259950835ee79453debf178e11dec4d3ada687a0 -a14703347e44eb5059070b2759297fcfcfc60e6893c0373eea069388eba3950aa06f1c57cd2c30984a2d6f9e9c92c79e -afebc7585b304ceba9a769634adff35940e89cd32682c78002822aab25eec3edc29342b7f5a42a56a1fec67821172ad5 -aea3ff3822d09dba1425084ca95fd359718d856f6c133c5fabe2b2eed8303b6e0ba0d8698b48b93136a673baac174fd9 -af2456a09aa777d9e67aa6c7c49a1845ea5cdda2e39f4c935c34a5f8280d69d4eec570446998cbbe31ede69a91e90b06 -82cada19fed16b891ef3442bafd49e1f07c00c2f57b2492dd4ee36af2bd6fd877d6cb41188a4d6ce9ec8d48e8133d697 -82a21034c832287f616619a37c122cee265cc34ae75e881fcaea4ea7f689f3c2bc8150bbf7dbcfd123522bfb7f7b1d68 -86877217105f5d0ec3eeff0289fc2a70d505c9fdf7862e8159553ef60908fb1a27bdaf899381356a4ef4649072a9796c -82b196e49c6e861089a427c0b4671d464e9d15555ffb90954cd0d630d7ae02eb3d98ceb529d00719c2526cd96481355a -a29b41d0d43d26ce76d4358e0db2b77df11f56e389f3b084d8af70a636218bd3ac86b36a9fe46ec9058c26a490f887f7 -a4311c4c20c4d7dd943765099c50f2fd423e203ccfe98ff00087d205467a7873762510cac5fdce7a308913ed07991ed7 -b1f040fc5cc51550cb2c25cf1fd418ecdd961635a11f365515f0cb4ffb31da71f48128c233e9cc7c0cf3978d757ec84e -a9ebae46f86d3bd543c5f207ed0d1aed94b8375dc991161d7a271f01592912072e083e2daf30c146430894e37325a1b9 -826418c8e17ad902b5fe88736323a47e0ca7a44bce4cbe27846ec8fe81de1e8942455dda6d30e192cdcc73e11df31256 -85199db563427c5edcbac21f3d39fec2357be91fb571982ddcdc4646b446ad5ced84410de008cb47b3477ee0d532daf8 -b7eed9cd400b2ca12bf1d9ae008214b8561fb09c8ad9ff959e626ffde00fee5ff2f5b6612e231f2a1a9b1646fcc575e3 -8b40bf12501dcbac78f5a314941326bfcddf7907c83d8d887d0bb149207f85d80cd4dfbd7935439ea7b14ea39a3fded7 -83e3041af302485399ba6cd5120e17af61043977083887e8d26b15feec4a6b11171ac5c06e6ad0971d4b58a81ff12af3 -8f5b9a0eecc589dbf8c35a65d5e996a659277ef6ea509739c0cb7b3e2da9895e8c8012de662e5b23c5fa85d4a8f48904 -835d71ed5e919d89d8e6455f234f3ff215462c4e3720c371ac8c75e83b19dfe3ae15a81547e4dc1138e5f5997f413cc9 -8b7d2e4614716b1db18e9370176ea483e6abe8acdcc3dcdf5fb1f4d22ca55d652feebdccc171c6de38398d9f7bfdec7a -93eace72036fe57d019676a02acf3d224cf376f166658c1bf705db4f24295881d477d6fdd7916efcfceff8c7a063deda -b1ac460b3d516879a84bc886c54f020a9d799e7c49af3e4d7de5bf0d2793c852254c5d8fe5616147e6659512e5ccb012 -acd0947a35cb167a48bcd9667620464b54ac0e78f9316b4aa92dcaab5422d7a732087e52e1c827faa847c6b2fe6e7766 -94ac33d21c3d12ff762d32557860e911cd94d666609ddcc42161b9c16f28d24a526e8b10bb03137257a92cec25ae637d -832e02058b6b994eadd8702921486241f9a19e68ed1406dad545e000a491ae510f525ccf9d10a4bba91c68f2c53a0f58 -9471035d14f78ff8f463b9901dd476b587bb07225c351161915c2e9c6114c3c78a501379ab6fb4eb03194c457cbd22bf -ab64593e034c6241d357fcbc32d8ea5593445a5e7c24cac81ad12bd2ef01843d477a36dc1ba21dbe63b440750d72096a -9850f3b30045e927ad3ec4123a32ed2eb4c911f572b6abb79121873f91016f0d80268de8b12e2093a4904f6e6cab7642 -987212c36b4722fe2e54fa30c52b1e54474439f9f35ca6ad33c5130cd305b8b54b532dd80ffd2c274105f20ce6d79f6e -8b4d0c6abcb239b5ed47bef63bc17efe558a27462c8208fa652b056e9eae9665787cd1aee34fbb55beb045c8bfdb882b -a9f3483c6fee2fe41312d89dd4355d5b2193ac413258993805c5cbbf0a59221f879386d3e7a28e73014f10e65dd503d9 -a2225da3119b9b7c83d514b9f3aeb9a6d9e32d9cbf9309cbb971fd53c4b2c001d10d880a8ad8a7c281b21d85ceca0b7c -a050be52e54e676c151f7a54453bbb707232f849beab4f3bf504b4d620f59ed214409d7c2bd3000f3ff13184ccda1c35 -adbccf681e15b3edb6455a68d292b0a1d0f5a4cb135613f5e6db9943f02181341d5755875db6ee474e19ace1c0634a28 -8b6eff675632a6fad0111ec72aacc61c7387380eb87933fd1d098856387d418bd38e77d897e65d6fe35951d0627c550b -aabe2328ddf90989b15e409b91ef055cb02757d34987849ae6d60bef2c902bf8251ed21ab30acf39e500d1d511e90845 -92ba4eb1f796bc3d8b03515f65c045b66e2734c2da3fc507fdd9d6b5d1e19ab3893726816a32141db7a31099ca817d96 -8a98b3cf353138a1810beb60e946183803ef1d39ac4ea92f5a1e03060d35a4774a6e52b14ead54f6794d5f4022b8685c -909f8a5c13ec4a59b649ed3bee9f5d13b21d7f3e2636fd2bb3413c0646573fdf9243d63083356f12f5147545339fcd55 -9359d914d1267633141328ed0790d81c695fea3ddd2d406c0df3d81d0c64931cf316fe4d92f4353c99ff63e2aefc4e34 -b88302031681b54415fe8fbfa161c032ea345c6af63d2fb8ad97615103fd4d4281c5a9cae5b0794c4657b97571a81d3b -992c80192a519038082446b1fb947323005b275e25f2c14c33cc7269e0ec038581cc43705894f94bad62ae33a8b7f965 -a78253e3e3eece124bef84a0a8807ce76573509f6861d0b6f70d0aa35a30a123a9da5e01e84969708c40b0669eb70aa6 -8d5724de45270ca91c94792e8584e676547d7ac1ac816a6bb9982ee854eb5df071d20545cdfd3771cd40f90e5ba04c8e -825a6f586726c68d45f00ad0f5a4436523317939a47713f78fd4fe81cd74236fdac1b04ecd97c2d0267d6f4981d7beb1 -93e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf11213945d57e5ac7d055d042b7e024aa2b2f08f0a91260805272dc51051c6e47ad4fa403b02b4510b647ae3d1770bac0326a805bbefd48056c8c121bdb8 -b5bfd7dd8cdeb128843bc287230af38926187075cbfbefa81009a2ce615ac53d2914e5870cb452d2afaaab24f3499f72185cbfee53492714734429b7b38608e23926c911cceceac9a36851477ba4c60b087041de621000edc98edada20c1def2 -b5337ba0ce5d37224290916e268e2060e5c14f3f9fc9e1ec3af5a958e7a0303122500ce18f1a4640bf66525bd10e763501fe986d86649d8d45143c08c3209db3411802c226e9fe9a55716ac4a0c14f9dcef9e70b2bb309553880dc5025eab3cc -b3c1dcdc1f62046c786f0b82242ef283e7ed8f5626f72542aa2c7a40f14d9094dd1ebdbd7457ffdcdac45fd7da7e16c51200b06d791e5e43e257e45efdf0bd5b06cd2333beca2a3a84354eb48662d83aef5ecf4e67658c851c10b13d8d87c874 -954d91c7688983382609fca9e211e461f488a5971fd4e40d7e2892037268eacdfd495cfa0a7ed6eb0eb11ac3ae6f651716757e7526abe1e06c64649d80996fd3105c20c4c94bc2b22d97045356fe9d791f21ea6428ac48db6f9e68e30d875280 -88a6b6bb26c51cf9812260795523973bb90ce80f6820b6c9048ab366f0fb96e48437a7f7cb62aedf64b11eb4dfefebb0147608793133d32003cb1f2dc47b13b5ff45f1bb1b2408ea45770a08dbfaec60961acb8119c47b139a13b8641e2c9487 -85cd7be9728bd925d12f47fb04b32d9fad7cab88788b559f053e69ca18e463113ecc8bbb6dbfb024835f901b3a957d3108d6770fb26d4c8be0a9a619f6e3a4bf15cbfd48e61593490885f6cee30e4300c5f9cf5e1c08e60a2d5b023ee94fcad0 -80477dba360f04399821a48ca388c0fa81102dd15687fea792ee8c1114e00d1bc4839ad37ac58900a118d863723acfbe08126ea883be87f50e4eabe3b5e72f5d9e041db8d9b186409fd4df4a7dde38c0e0a3b1ae29b098e5697e7f110b6b27e4 -b7a6aec08715a9f8672a2b8c367e407be37e59514ac19dd4f0942a68007bba3923df22da48702c63c0d6b3efd3c2d04e0fe042d8b5a54d562f9f33afc4865dcbcc16e99029e25925580e87920c399e710d438ac1ce3a6dc9b0d76c064a01f6f7 -ac1b001edcea02c8258aeffbf9203114c1c874ad88dae1184fadd7d94cd09053649efd0ca413400e6e9b5fa4eac33261000af88b6bd0d2abf877a4f0355d2fb4d6007adb181695201c5432e50b850b51b3969f893bddf82126c5a71b042b7686 -90043fda4de53fb364fab2c04be5296c215599105ecff0c12e4917c549257125775c29f2507124d15f56e30447f367db0596c33237242c02d83dfd058735f1e3c1ff99069af55773b6d51d32a68bf75763f59ec4ee7267932ae426522b8aaab6 -a8660ce853e9dc08271bf882e29cd53397d63b739584dda5263da4c7cc1878d0cf6f3e403557885f557e184700575fee016ee8542dec22c97befe1d10f414d22e84560741cdb3e74c30dda9b42eeaaf53e27822de2ee06e24e912bf764a9a533 -8fe3921a96d0d065e8aa8fce9aa42c8e1461ca0470688c137be89396dd05103606dab6cdd2a4591efd6addf72026c12e065da7be276dee27a7e30afa2bd81c18f1516e7f068f324d0bad9570b95f6bd02c727cd2343e26db0887c3e4e26dceda -8ae1ad97dcb9c192c9a3933541b40447d1dc4eebf380151440bbaae1e120cc5cdf1bcea55180b128d8e180e3af623815191d063cc0d7a47d55fb7687b9d87040bf7bc1a7546b07c61db5ccf1841372d7c2fe4a5431ffff829f3c2eb590b0b710 -8c2fa96870a88150f7876c931e2d3cc2adeaaaf5c73ef5fa1cf9dfa0991ae4819f9321af7e916e5057d87338e630a2f21242c29d76963cf26035b548d2a63d8ad7bd6efefa01c1df502cbdfdfe0334fb21ceb9f686887440f713bf17a89b8081 -b9aa98e2f02bb616e22ee5dd74c7d1049321ac9214d093a738159850a1dbcc7138cb8d26ce09d8296368fd5b291d74fa17ac7cc1b80840fdd4ee35e111501e3fa8485b508baecda7c1ab7bd703872b7d64a2a40b3210b6a70e8a6ffe0e5127e3 -9292db67f8771cdc86854a3f614a73805bf3012b48f1541e704ea4015d2b6b9c9aaed36419769c87c49f9e3165f03edb159c23b3a49c4390951f78e1d9b0ad997129b17cdb57ea1a6638794c0cca7d239f229e589c5ae4f9fe6979f7f8cba1d7 -91cd9e86550f230d128664f7312591fee6a84c34f5fc7aed557bcf986a409a6de722c4330453a305f06911d2728626e611acfdf81284f77f60a3a1595053a9479964fd713117e27c0222cc679674b03bc8001501aaf9b506196c56de29429b46 -a9516b73f605cc31b89c68b7675dc451e6364595243d235339437f556cf22d745d4250c1376182273be2d99e02c10eee047410a43eff634d051aeb784e76cb3605d8e079b9eb6ad1957dfdf77e1cd32ce4a573c9dfcc207ca65af6eb187f6c3d -a9667271f7d191935cc8ad59ef3ec50229945faea85bfdfb0d582090f524436b348aaa0183b16a6231c00332fdac2826125b8c857a2ed9ec66821cfe02b3a2279be2412441bc2e369b255eb98614e4be8490799c4df22f18d47d24ec70bba5f7 -a4371144d2aa44d70d3cb9789096d3aa411149a6f800cb46f506461ee8363c8724667974252f28aea61b6030c05930ac039c1ee64bb4bd56532a685cae182bf2ab935eee34718cffcb46cae214c77aaca11dbb1320faf23c47247db1da04d8dc -89a7eb441892260b7e81168c386899cd84ffc4a2c5cad2eae0d1ab9e8b5524662e6f660fe3f8bfe4c92f60b060811bc605b14c5631d16709266886d7885a5eb5930097127ec6fb2ebbaf2df65909cf48f253b3d5e22ae48d3e9a2fd2b01f447e -9648c42ca97665b5eccb49580d8532df05eb5a68db07f391a2340769b55119eaf4c52fe4f650c09250fa78a76c3a1e271799b8333cc2628e3d4b4a6a3e03da1f771ecf6516dd63236574a7864ff07e319a6f11f153406280d63af9e2b5713283 -9663bf6dd446ea7a90658ee458578d4196dc0b175ef7fcfa75f44d41670850774c2e46c5a6be132a2c072a3c0180a24f0305d1acac49d2d79878e5cda80c57feda3d01a6af12e78b5874e2a4b3717f11c97503b41a4474e2e95b179113726199 -b212aeb4814e0915b432711b317923ed2b09e076aaf558c3ae8ef83f9e15a83f9ea3f47805b2750ab9e8106cb4dc6ad003522c84b03dc02829978a097899c773f6fb31f7fe6b8f2d836d96580f216fec20158f1590c3e0d7850622e15194db05 -925f005059bf07e9ceccbe66c711b048e236ade775720d0fe479aebe6e23e8af281225ad18e62458dc1b03b42ad4ca290d4aa176260604a7aad0d9791337006fbdebe23746f8060d42876f45e4c83c3643931392fde1cd13ff8bddf8111ef974 -9553edb22b4330c568e156a59ef03b26f5c326424f830fe3e8c0b602f08c124730ffc40bc745bec1a22417adb22a1a960243a10565c2be3066bfdb841d1cd14c624cd06e0008f4beb83f972ce6182a303bee3fcbcabc6cfe48ec5ae4b7941bfc -935f5a404f0a78bdcce709899eda0631169b366a669e9b58eacbbd86d7b5016d044b8dfc59ce7ed8de743ae16c2343b50e2f925e88ba6319e33c3fc76b314043abad7813677b4615c8a97eb83cc79de4fedf6ccbcfa4d4cbf759a5a84e4d9742 -a5b014ab936eb4be113204490e8b61cd38d71da0dec7215125bcd131bf3ab22d0a32ce645bca93e7b3637cf0c2db3d6601a0ddd330dc46f9fae82abe864ffc12d656c88eb50c20782e5bb6f75d18760666f43943abb644b881639083e122f557 -935b7298ae52862fa22bf03bfc1795b34c70b181679ae27de08a9f5b4b884f824ef1b276b7600efa0d2f1d79e4a470d51692fd565c5cf8343dd80e5d3336968fc21c09ba9348590f6206d4424eb229e767547daefa98bc3aa9f421158dee3f2a -9830f92446e708a8f6b091cc3c38b653505414f8b6507504010a96ffda3bcf763d5331eb749301e2a1437f00e2415efb01b799ad4c03f4b02de077569626255ac1165f96ea408915d4cf7955047620da573e5c439671d1fa5c833fb11de7afe6 -840dcc44f673fff3e387af2bb41e89640f2a70bcd2b92544876daa92143f67c7512faf5f90a04b7191de01f3e2b1bde00622a20dc62ca23bbbfaa6ad220613deff43908382642d4d6a86999f662efd64b1df448b68c847cfa87630a3ffd2ec76 -92950c895ed54f7f876b2fda17ecc9c41b7accfbdd42c210cc5b475e0737a7279f558148531b5c916e310604a1de25a80940c94fe5389ae5d6a5e9c371be67bceea1877f5401725a6595bcf77ece60905151b6dfcb68b75ed2e708c73632f4fd -8010246bf8e94c25fd029b346b5fbadb404ef6f44a58fd9dd75acf62433d8cc6db66974f139a76e0c26dddc1f329a88214dbb63276516cf325c7869e855d07e0852d622c332ac55609ba1ec9258c45746a2aeb1af0800141ee011da80af175d4 -b0f1bad257ebd187bdc3f37b23f33c6a5d6a8e1f2de586080d6ada19087b0e2bf23b79c1b6da1ee82271323f5bdf3e1b018586b54a5b92ab6a1a16bb3315190a3584a05e6c37d5ca1e05d702b9869e27f513472bcdd00f4d0502a107773097da -9636d24f1ede773ce919f309448dd7ce023f424afd6b4b69cb98c2a988d849a283646dc3e469879daa1b1edae91ae41f009887518e7eb5578f88469321117303cd3ac2d7aee4d9cb5f82ab9ae3458e796dfe7c24284b05815acfcaa270ff22e2 -b373feb5d7012fd60578d7d00834c5c81df2a23d42794fed91aa9535a4771fde0341c4da882261785e0caca40bf83405143085e7f17e55b64f6c5c809680c20b050409bf3702c574769127c854d27388b144b05624a0e24a1cbcc4d08467005b -b15680648949ce69f82526e9b67d9b55ce5c537dc6ab7f3089091a9a19a6b90df7656794f6edc87fb387d21573ffc847062623685931c2790a508cbc8c6b231dd2c34f4d37d4706237b1407673605a604bcf6a50cc0b1a2db20485e22b02c17e -8817e46672d40c8f748081567b038a3165f87994788ec77ee8daea8587f5540df3422f9e120e94339be67f186f50952504cb44f61e30a5241f1827e501b2de53c4c64473bcc79ab887dd277f282fbfe47997a930dd140ac08b03efac88d81075 -a6e4ef6c1d1098f95aae119905f87eb49b909d17f9c41bcfe51127aa25fee20782ea884a7fdf7d5e9c245b5a5b32230b07e0dbf7c6743bf52ee20e2acc0b269422bd6cf3c07115df4aa85b11b2c16630a07c974492d9cdd0ec325a3fabd95044 -8634aa7c3d00e7f17150009698ce440d8e1b0f13042b624a722ace68ead870c3d2212fbee549a2c190e384d7d6ac37ce14ab962c299ea1218ef1b1489c98906c91323b94c587f1d205a6edd5e9d05b42d591c26494a6f6a029a2aadb5f8b6f67 -821a58092900bdb73decf48e13e7a5012a3f88b06288a97b855ef51306406e7d867d613d9ec738ebacfa6db344b677d21509d93f3b55c2ebf3a2f2a6356f875150554c6fff52e62e3e46f7859be971bf7dd9d5b3e1d799749c8a97c2e04325df -8dba356577a3a388f782e90edb1a7f3619759f4de314ad5d95c7cc6e197211446819c4955f99c5fc67f79450d2934e3c09adefc91b724887e005c5190362245eec48ce117d0a94d6fa6db12eda4ba8dde608fbbd0051f54dcf3bb057adfb2493 -a32a690dc95c23ed9fb46443d9b7d4c2e27053a7fcc216d2b0020a8cf279729c46114d2cda5772fd60a97016a07d6c5a0a7eb085a18307d34194596f5b541cdf01b2ceb31d62d6b55515acfd2b9eec92b27d082fbc4dc59fc63b551eccdb8468 -a040f7f4be67eaf0a1d658a3175d65df21a7dbde99bfa893469b9b43b9d150fc2e333148b1cb88cfd0447d88fa1a501d126987e9fdccb2852ecf1ba907c2ca3d6f97b055e354a9789854a64ecc8c2e928382cf09dda9abde42bbdf92280cdd96 -864baff97fa60164f91f334e0c9be00a152a416556b462f96d7c43b59fe1ebaff42f0471d0bf264976f8aa6431176eb905bd875024cf4f76c13a70bede51dc3e47e10b9d5652d30d2663b3af3f08d5d11b9709a0321aba371d2ef13174dcfcaf -95a46f32c994133ecc22db49bad2c36a281d6b574c83cfee6680b8c8100466ca034b815cfaedfbf54f4e75188e661df901abd089524e1e0eb0bf48d48caa9dd97482d2e8c1253e7e8ac250a32fd066d5b5cb08a8641bdd64ecfa48289dca83a3 -a2cce2be4d12144138cb91066e0cd0542c80b478bf467867ebef9ddaf3bd64e918294043500bf5a9f45ee089a8d6ace917108d9ce9e4f41e7e860cbce19ac52e791db3b6dde1c4b0367377b581f999f340e1d6814d724edc94cb07f9c4730774 -b145f203eee1ac0a1a1731113ffa7a8b0b694ef2312dabc4d431660f5e0645ef5838e3e624cfe1228cfa248d48b5760501f93e6ab13d3159fc241427116c4b90359599a4cb0a86d0bb9190aa7fabff482c812db966fd2ce0a1b48cb8ac8b3bca -adabe5d215c608696e03861cbd5f7401869c756b3a5aadc55f41745ad9478145d44393fec8bb6dfc4ad9236dc62b9ada0f7ca57fe2bae1b71565dbf9536d33a68b8e2090b233422313cc96afc7f1f7e0907dc7787806671541d6de8ce47c4cd0 -ae7845fa6b06db53201c1080e01e629781817f421f28956589c6df3091ec33754f8a4bd4647a6bb1c141ac22731e3c1014865d13f3ed538dcb0f7b7576435133d9d03be655f8fbb4c9f7d83e06d1210aedd45128c2b0c9bab45a9ddde1c862a5 -9159eaa826a24adfa7adf6e8d2832120ebb6eccbeb3d0459ffdc338548813a2d239d22b26451fda98cc0c204d8e1ac69150b5498e0be3045300e789bcb4e210d5cd431da4bdd915a21f407ea296c20c96608ded0b70d07188e96e6c1a7b9b86b -a9fc6281e2d54b46458ef564ffaed6944bff71e389d0acc11fa35d3fcd8e10c1066e0dde5b9b6516f691bb478e81c6b20865281104dcb640e29dc116daae2e884f1fe6730d639dbe0e19a532be4fb337bf52ae8408446deb393d224eee7cfa50 -84291a42f991bfb36358eedead3699d9176a38f6f63757742fdbb7f631f2c70178b1aedef4912fed7b6cf27e88ddc7eb0e2a6aa4b999f3eb4b662b93f386c8d78e9ac9929e21f4c5e63b12991fcde93aa64a735b75b535e730ff8dd2abb16e04 -a1b7fcacae181495d91765dfddf26581e8e39421579c9cbd0dd27a40ea4c54af3444a36bf85a11dda2114246eaddbdd619397424bb1eb41b5a15004b902a590ede5742cd850cf312555be24d2df8becf48f5afba5a8cd087cb7be0a521728386 -92feaaf540dbd84719a4889a87cdd125b7e995a6782911931fef26da9afcfbe6f86aaf5328fe1f77631491ce6239c5470f44c7791506c6ef1626803a5794e76d2be0af92f7052c29ac6264b7b9b51f267ad820afc6f881460521428496c6a5f1 -a525c925bfae1b89320a5054acc1fa11820f73d0cf28d273092b305467b2831fab53b6daf75fb926f332782d50e2522a19edcd85be5eb72f1497193c952d8cd0bcc5d43b39363b206eae4cb1e61668bde28a3fb2fc1e0d3d113f6dfadb799717 -98752bb6f5a44213f40eda6aa4ff124057c1b13b6529ab42fe575b9afa66e59b9c0ed563fb20dff62130c436c3e905ee17dd8433ba02c445b1d67182ab6504a90bbe12c26a754bbf734665c622f76c62fe2e11dd43ce04fd2b91a8463679058b -a9aa9a84729f7c44219ff9e00e651e50ddea3735ef2a73fdf8ed8cd271961d8ed7af5cd724b713a89a097a3fe65a3c0202f69458a8b4c157c62a85668b12fc0d3957774bc9b35f86c184dd03bfefd5c325da717d74192cc9751c2073fe9d170e -b221c1fd335a4362eff504cd95145f122bf93ea02ae162a3fb39c75583fc13a932d26050e164da97cff3e91f9a7f6ff80302c19dd1916f24acf6b93b62f36e9665a8785413b0c7d930c7f1668549910f849bca319b00e59dd01e5dec8d2edacc -a71e2b1e0b16d754b848f05eda90f67bedab37709550171551050c94efba0bfc282f72aeaaa1f0330041461f5e6aa4d11537237e955e1609a469d38ed17f5c2a35a1752f546db89bfeff9eab78ec944266f1cb94c1db3334ab48df716ce408ef -b990ae72768779ba0b2e66df4dd29b3dbd00f901c23b2b4a53419226ef9232acedeb498b0d0687c463e3f1eead58b20b09efcefa566fbfdfe1c6e48d32367936142d0a734143e5e63cdf86be7457723535b787a9cfcfa32fe1d61ad5a2617220 -8d27e7fbff77d5b9b9bbc864d5231fecf817238a6433db668d5a62a2c1ee1e5694fdd90c3293c06cc0cb15f7cbeab44d0d42be632cb9ff41fc3f6628b4b62897797d7b56126d65b694dcf3e298e3561ac8813fbd7296593ced33850426df42db -a92039a08b5502d5b211a7744099c9f93fa8c90cedcb1d05e92f01886219dd464eb5fb0337496ad96ed09c987da4e5f019035c5b01cc09b2a18b8a8dd419bc5895388a07e26958f6bd26751929c25f89b8eb4a299d822e2d26fec9ef350e0d3c -92dcc5a1c8c3e1b28b1524e3dd6dbecd63017c9201da9dbe077f1b82adc08c50169f56fc7b5a3b28ec6b89254de3e2fd12838a761053437883c3e01ba616670cea843754548ef84bcc397de2369adcca2ab54cd73c55dc68d87aec3fc2fe4f10 \ No newline at end of file From 472109cafe8a011a45c990f8a4e9ab7905e2ea66 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 29 Jan 2024 13:45:37 -0500 Subject: [PATCH 22/35] update comment --- core/lib/types/src/kzg.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 2b6ce1761ad..258c8b4f60d 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -181,11 +181,12 @@ impl KzgInfo { /// 1. zksync blob <- `pad_right`(pubdata) /// 2. linear hash <- hash(zksync blob) /// 3. 4844 blob <- `zksync_pubdata_into_ethereum_4844_data`(zksync blob) - /// 4. 4844 `kzg` commitment <- `blob_to_kzg_commitment`(4844 blob) - /// 5. versioned hash <- hash(4844 `kzg` commitment) - /// 6. opening point <- keccak(linear hash || versioned hash)[16..] - /// 7. opening value, opening proof <- `compute_kzg_proof`(4844) - /// 8. blob proof <- `compute_blob_kzg_proof`(blob, 4844 `kzg` commitment) + /// 4. `kzg` polynomial <- `zksync_pubdata_into_monomial_form_poly`(zksync blob) + /// 5. 4844 `kzg` commitment <- `compute_commitment`(4844 blob) + /// 6. versioned hash <- hash(4844 `kzg` commitment) + /// 7. opening point <- keccak(linear hash || versioned hash)[16..] + /// 8. opening value, opening proof <- `compute_kzg_proof`(4844) + /// 9. blob proof <- `compute_proof_poly`(blob, 4844 `kzg` commitment) pub fn new(pubdata: Vec) -> Self { assert!(pubdata.len() <= ZK_SYNC_BYTES_PER_BLOB); From 7e4824b429097036613d0244688b91887b22615a Mon Sep 17 00:00:00 2001 From: koloz Date: Tue, 30 Jan 2024 11:29:47 -0500 Subject: [PATCH 23/35] address pr comments --- Cargo.lock | 49 ++------------------------- core/lib/types/Cargo.toml | 2 +- core/lib/types/src/kzg.rs | 70 ++++++++++++++++----------------------- core/lib/types/src/lib.rs | 1 + 4 files changed, 34 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3bb54e01176..254bdfed542 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1231,20 +1231,6 @@ dependencies = [ "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] -[[package]] -name = "circuit_definitions" -version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" -dependencies = [ - "crossbeam 0.8.4", - "derivative", - "seq-macro", - "serde", - "snark_wrapper", - "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", -] - [[package]] name = "circuit_testing" version = "0.1.0" @@ -4014,7 +4000,7 @@ dependencies = [ "zk_evm 1.4.1", "zkevm_test_harness 1.3.3", "zkevm_test_harness 1.4.0", - "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "zkevm_test_harness 1.4.1", "zksync_contracts", "zksync_eth_signer", "zksync_state", @@ -8261,35 +8247,6 @@ dependencies = [ "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", ] -[[package]] -name = "zkevm_test_harness" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e#12f717f12520b2ab87458f125950d7b19e6eb74e" -dependencies = [ - "bincode", - "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", - "codegen 0.2.0", - "crossbeam 0.8.4", - "curl", - "derivative", - "env_logger 0.9.3", - "hex", - "lazy_static", - "rand 0.4.6", - "rayon", - "reqwest", - "rescue_poseidon 0.4.1 (git+https://github.com/matter-labs/rescue-poseidon.git?branch=poseidon2)", - "serde", - "serde_json", - "smallvec", - "snark_wrapper", - "structopt", - "test-log", - "tracing", - "walkdir", - "zkevm-assembly 1.3.2 (git+https://github.com/matter-labs/era-zkEVM-assembly.git?branch=v1.4.1)", -] - [[package]] name = "zksync" version = "0.4.0" @@ -8345,7 +8302,7 @@ dependencies = [ "zk_evm 1.3.3 (git+https://github.com/matter-labs/era-zk_evm.git?tag=v1.3.3-rc2)", "zk_evm 1.4.1", "zkevm_test_harness 1.4.0", - "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", + "zkevm_test_harness 1.4.1", "zksync_types", "zksync_utils", ] @@ -9058,7 +9015,7 @@ dependencies = [ "tokio", "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", - "zkevm_test_harness 1.4.1 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?rev=12f717f12520b2ab87458f125950d7b19e6eb74e)", + "zkevm_test_harness 1.4.1", "zksync_basic_types", "zksync_config", "zksync_contracts", diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 83e6eb91c51..f6207c6137d 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -21,7 +21,7 @@ zksync_config = { path = "../config" } codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5b3d383d7a65b0fbe2a771fecf4313f5083be9ae" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", rev = "12f717f12520b2ab87458f125950d7b19e6eb74e" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } anyhow = "1.0.75" diff --git a/core/lib/types/src/kzg.rs b/core/lib/types/src/kzg.rs index 258c8b4f60d..a7e7e30d6cd 100644 --- a/core/lib/types/src/kzg.rs +++ b/core/lib/types/src/kzg.rs @@ -72,6 +72,13 @@ fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u12 u128::from_be_bytes(evaluation_point.try_into().expect("should have 16 bytes")) } +/// Copies the specified number of bytes from the input into out returning the rest of the data +fn copy_n_bytes_return_rest<'a>(out: &'a mut [u8], input: &'a [u8], n: usize) -> &'a [u8] { + let (data, bytes) = take::(n)(input).expect("Missing data"); + out.copy_from_slice(bytes); + data +} + impl KzgInfo { /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) /// Here we use the size of the blob expected for 4844 (4096 elements * 32 bytes per element) and not `BYTES_PER_BLOB_ZK_SYNC` which is (4096 elements * 31 bytes per element) @@ -96,40 +103,26 @@ impl KzgInfo { pub fn from_slice(data: &[u8]) -> Self { assert_eq!(data.len(), Self::SERIALIZED_SIZE); - let (data, blob_bytes) = - take::(EIP_4844_BYTES_PER_BLOB)(data).expect("Missing data - blob"); let mut blob = [0u8; EIP_4844_BYTES_PER_BLOB]; - blob.copy_from_slice(blob_bytes); + let data = copy_n_bytes_return_rest(&mut blob, data, EIP_4844_BYTES_PER_BLOB); - let (data, kzg_bytes) = - take::(48)(data).expect("Missing data - kzg commitment"); let mut kzg_commitment = [0u8; 48]; - kzg_commitment.copy_from_slice(kzg_bytes); + let data = copy_n_bytes_return_rest(&mut kzg_commitment, data, 48); - let (data, opening_point_bytes) = - take::(32)(data).expect("Missing data - opening point"); let mut opening_point = [0u8; 32]; - opening_point.copy_from_slice(opening_point_bytes); + let data = copy_n_bytes_return_rest(&mut opening_point, data, 32); - let (data, opening_value_bytes) = - take::(32)(data).expect("Missing data - opening value"); let mut opening_value = [0u8; 32]; - opening_value.copy_from_slice(opening_value_bytes); + let data = copy_n_bytes_return_rest(&mut opening_value, data, 32); - let (data, opening_proof_bytes) = - take::(48)(data).expect("Missing data - opening proof"); let mut opening_proof = [0u8; 48]; - opening_proof.copy_from_slice(opening_proof_bytes); + let data = copy_n_bytes_return_rest(&mut opening_proof, data, 48); - let (data, versioned_hash_bytes) = - take::(32)(data).expect("Missing data - versioned hash"); let mut versioned_hash = [0u8; 32]; - versioned_hash.copy_from_slice(versioned_hash_bytes); + let data = copy_n_bytes_return_rest(&mut versioned_hash, data, 32); - let (data, blob_proof_bytes) = - take::(48)(data).expect("Missing data - blob proof"); let mut blob_proof = [0u8; 48]; - blob_proof.copy_from_slice(blob_proof_bytes); + let data = copy_n_bytes_return_rest(&mut blob_proof, data, 48); assert_eq!(data.len(), 0); @@ -254,7 +247,7 @@ mod tests { use serde::{Deserialize, Serialize}; use serde_with::serde_as; use zkevm_circuits::{ - boojum::pairing::bls12_381::{Fr, FrRepr}, + boojum::pairing::bls12_381::{Fr, FrRepr, G1Affine}, eip_4844::{ bitreverse, ethereum_4844_data_into_zksync_pubdata, fft, zksync_pubdata_into_monomial_form_poly, @@ -295,21 +288,27 @@ mod tests { expected_outputs: ExpectedOutputs, } + /// Copy of function from https://github.com/matter-labs/era-zkevm_test_harness/blob/99956050a7705e26e0e5aa0729348896a27846c7/src/kzg/mod.rs#L339 fn u8_repr_to_fr(bytes: &[u8]) -> Fr { assert_eq!(bytes.len(), 32); let mut ret = [0u64; 4]; - for (i, item) in ret.iter_mut().enumerate() { + for (i, chunk) in bytes.array_chunks::<8>().enumerate() { let mut repr = [0u8; 8]; - let end = 32 - (8 * i); - let beg = 32 - (8 * (i + 1)); - repr.copy_from_slice(&bytes[beg..end]); - *item = u64::from_be_bytes(repr); + repr.copy_from_slice(chunk); + ret[3 - i] = u64::from_be_bytes(repr); } Fr::from_repr(FrRepr(ret)).unwrap() } + fn bytes_to_g1(data: &[u8]) -> G1Affine { + let mut compressed = G1Compressed::empty(); + let v = compressed.as_mut(); + v.copy_from_slice(data); + compressed.into_affine().unwrap() + } + #[test] fn kzg_test() { let zksync_home = std::env::var("ZKSYNC_HOME").unwrap_or_else(|_| ".".into()); @@ -357,26 +356,15 @@ mod tests { fft(&mut poly); bitreverse(&mut poly); - let mut commitment = G1Compressed::empty(); - let v = commitment.as_mut(); - v.copy_from_slice(&kzg_info.kzg_commitment); - let commitment = commitment.into_affine().unwrap(); - - let mut blob_proof = G1Compressed::empty(); - let v = blob_proof.as_mut(); - v.copy_from_slice(&kzg_info.blob_proof); - let blob_proof = blob_proof.into_affine().unwrap(); + let commitment = bytes_to_g1(&kzg_info.kzg_commitment); + let blob_proof = bytes_to_g1(&kzg_info.blob_proof); let valid_blob_proof = verify_proof_poly(&poly, &commitment, &blob_proof); assert!(valid_blob_proof); let opening_point = u8_repr_to_fr(&kzg_info.opening_point); let opening_value = u8_repr_to_fr(&kzg_info.opening_value); - - let mut opening_proof = G1Compressed::empty(); - let v = opening_proof.as_mut(); - v.copy_from_slice(&kzg_info.opening_proof); - let opening_proof = opening_proof.into_affine().unwrap(); + let opening_proof = bytes_to_g1(&kzg_info.opening_proof); let valid_opening_proof = verify_kzg_proof(&commitment, &opening_point, &opening_value, &opening_proof); diff --git a/core/lib/types/src/lib.rs b/core/lib/types/src/lib.rs index e35d92e0bad..4054e2ec6ee 100644 --- a/core/lib/types/src/lib.rs +++ b/core/lib/types/src/lib.rs @@ -4,6 +4,7 @@ //! blockchain primitives. #![allow(clippy::upper_case_acronyms, clippy::derive_partial_eq_without_eq)] +#![feature(array_chunks)] use std::{fmt, fmt::Debug}; From 4dd1e3fa03ce568848ddeb1a1f3bd6032693ba0a Mon Sep 17 00:00:00 2001 From: koloz Date: Wed, 31 Jan 2024 16:15:00 -0500 Subject: [PATCH 24/35] moved kzg info to l1_contract_interface --- Cargo.lock | 32 ++++++++++++++++++- core/lib/l1_contract_interface/Cargo.toml | 11 +++++++ .../src/i_executor/commit}/kzg.rs | 0 .../src/i_executor/commit/mod.rs | 1 + .../src/i_executor/mod.rs | 2 ++ core/lib/l1_contract_interface/src/lib.rs | 2 ++ core/lib/types/Cargo.toml | 5 --- core/lib/types/src/lib.rs | 2 -- .../trusted_setup.json => trusted_setup.json | 0 9 files changed, 47 insertions(+), 8 deletions(-) rename core/lib/{types/src => l1_contract_interface/src/i_executor/commit}/kzg.rs (100%) create mode 100644 core/lib/l1_contract_interface/src/i_executor/commit/mod.rs rename core/lib/types/src/kzg/trusted_setup.json => trusted_setup.json (100%) diff --git a/Cargo.lock b/Cargo.lock index f5ebdc036c0..4f16665ff24 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1228,7 +1228,7 @@ dependencies = [ "serde", "snark_wrapper", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", ] [[package]] @@ -8094,6 +8094,27 @@ dependencies = [ "zkevm_opcode_defs 1.4.1", ] +[[package]] +name = "zkevm_circuits" +version = "1.4.1" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d#a92f73b5a471eefc98a10ceaa8eab4566ae6519d" +dependencies = [ + "arrayvec 0.7.4", + "bincode", + "boojum", + "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", + "derivative", + "hex", + "itertools 0.10.5", + "rand 0.4.6", + "rand 0.8.5", + "seq-macro", + "serde", + "serde_json", + "smallvec", + "zkevm_opcode_defs 1.4.1", +] + [[package]] name = "zkevm_opcode_defs" version = "1.3.1" @@ -8714,7 +8735,16 @@ name = "zksync_l1_contract_interface" version = "0.1.0" dependencies = [ "codegen 0.1.0", + "hex", + "nom", + "serde", + "serde_json", + "serde_with", + "sha2 0.10.8", + "sha3 0.10.8", + "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", + "zkevm_test_harness 1.4.1", "zksync_prover_interface", "zksync_types", ] diff --git a/core/lib/l1_contract_interface/Cargo.toml b/core/lib/l1_contract_interface/Cargo.toml index 204198bdaec..b18d21f6390 100644 --- a/core/lib/l1_contract_interface/Cargo.toml +++ b/core/lib/l1_contract_interface/Cargo.toml @@ -14,6 +14,17 @@ readme = "README.md" zksync_types = { path = "../types" } zksync_prover_interface = { path = "../prover_interface" } +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } +zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } + +sha2 = "0.10.8" +sha3 = "0.10.8" +nom = "7.1.3" +hex = "0.4" +serde = "1.0.90" +serde_json = "1.0.0" +serde_with = { version = "1", features = ["base64"] } + # Used to serialize proof data codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } # Used to calculate commitment for vk from the old L1 verifier contract (backward comatibility needs) diff --git a/core/lib/types/src/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs similarity index 100% rename from core/lib/types/src/kzg.rs rename to core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/mod.rs b/core/lib/l1_contract_interface/src/i_executor/commit/mod.rs new file mode 100644 index 00000000000..e048c0e9fa4 --- /dev/null +++ b/core/lib/l1_contract_interface/src/i_executor/commit/mod.rs @@ -0,0 +1 @@ +mod kzg; diff --git a/core/lib/l1_contract_interface/src/i_executor/mod.rs b/core/lib/l1_contract_interface/src/i_executor/mod.rs index a866b45fef7..4b4a127a34b 100644 --- a/core/lib/l1_contract_interface/src/i_executor/mod.rs +++ b/core/lib/l1_contract_interface/src/i_executor/mod.rs @@ -1,4 +1,6 @@ //! Different interfaces exposed by the `IExecutor.sol`. +mod commit; + pub mod methods; pub mod structures; diff --git a/core/lib/l1_contract_interface/src/lib.rs b/core/lib/l1_contract_interface/src/lib.rs index f4f9d04ef24..345fe9c4a30 100644 --- a/core/lib/l1_contract_interface/src/lib.rs +++ b/core/lib/l1_contract_interface/src/lib.rs @@ -8,6 +8,8 @@ //! while `Tokenize` trait represents items that are encoded via array of `Token`s //! (for example, transaction input). +#![feature(array_chunks)] + pub use zksync_types::web3::contract::tokens::{Detokenize, Tokenizable, Tokenize}; /// Rust interface for (subset of) `IExector.sol`. diff --git a/core/lib/types/Cargo.toml b/core/lib/types/Cargo.toml index 994913b1e31..3a2a6e4eb54 100644 --- a/core/lib/types/Cargo.toml +++ b/core/lib/types/Cargo.toml @@ -18,8 +18,6 @@ zksync_contracts = { path = "../contracts" } zksync_mini_merkle_tree = { path = "../mini_merkle_tree" } zksync_config = { path = "../config" } zksync_protobuf = { version = "0.1.0", git = "https://github.com/matter-labs/era-consensus.git", rev = "5b3d383d7a65b0fbe2a771fecf4313f5083be9ae" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } -zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } anyhow = "1.0.75" chrono = { version = "0.4", features = ["serde"] } @@ -34,9 +32,6 @@ thiserror = "1.0" num_enum = "0.6" hex = "0.4" prost = "0.12.1" -sha2 = "0.10.8" -sha3 = "0.10.8" -nom = "7.1.3" # Crypto stuff secp256k1 = { version = "0.27", features = ["recovery", "global-context"] } diff --git a/core/lib/types/src/lib.rs b/core/lib/types/src/lib.rs index d2f0904df65..77887225471 100644 --- a/core/lib/types/src/lib.rs +++ b/core/lib/types/src/lib.rs @@ -56,8 +56,6 @@ pub mod transaction_request; pub mod utils; pub mod vm_version; -pub mod kzg; - /// Denotes the first byte of the special zkSync's EIP-712-signed transaction. pub const EIP_712_TX_TYPE: u8 = 0x71; diff --git a/core/lib/types/src/kzg/trusted_setup.json b/trusted_setup.json similarity index 100% rename from core/lib/types/src/kzg/trusted_setup.json rename to trusted_setup.json From 5f75a0f43daa141056bf3c223db1c98c8225b38c Mon Sep 17 00:00:00 2001 From: koloz Date: Wed, 31 Jan 2024 16:16:34 -0500 Subject: [PATCH 25/35] removed array slices feature --- core/lib/dal/src/blocks_dal.rs | 4 ++-- core/lib/types/src/lib.rs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs index ee7598d6ed3..ee530674485 100644 --- a/core/lib/dal/src/blocks_dal.rs +++ b/core/lib/dal/src/blocks_dal.rs @@ -2218,7 +2218,7 @@ impl BlocksDal<'_, '_> { ) WHERE l1_batch_number IS NULL - AND fee_account_address = '\x0000000000000000000000000000000000000000'::bytea + AND fee_account_address = 'x0000000000000000000000000000000000000000'::bytea "# ) .execute(self.storage.conn()) @@ -2258,7 +2258,7 @@ impl BlocksDal<'_, '_> { WHERE l1_batches.number = miniblocks.l1_batch_number AND miniblocks.number BETWEEN $1 AND $2 - AND miniblocks.fee_account_address = '\x0000000000000000000000000000000000000000'::bytea + AND miniblocks.fee_account_address = 'x0000000000000000000000000000000000000000'::bytea "#, numbers.start().0 as i64, numbers.end().0 as i64 diff --git a/core/lib/types/src/lib.rs b/core/lib/types/src/lib.rs index 77887225471..27cffb360a3 100644 --- a/core/lib/types/src/lib.rs +++ b/core/lib/types/src/lib.rs @@ -4,7 +4,6 @@ //! blockchain primitives. #![allow(clippy::upper_case_acronyms, clippy::derive_partial_eq_without_eq)] -#![feature(array_chunks)] use std::{fmt, fmt::Debug}; From 70c6dd364358a82884fc82ff8d31f8164411cb0c Mon Sep 17 00:00:00 2001 From: koloz Date: Wed, 31 Jan 2024 16:17:21 -0500 Subject: [PATCH 26/35] revert blocks dal change --- core/lib/dal/src/blocks_dal.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs index ee530674485..ee7598d6ed3 100644 --- a/core/lib/dal/src/blocks_dal.rs +++ b/core/lib/dal/src/blocks_dal.rs @@ -2218,7 +2218,7 @@ impl BlocksDal<'_, '_> { ) WHERE l1_batch_number IS NULL - AND fee_account_address = 'x0000000000000000000000000000000000000000'::bytea + AND fee_account_address = '\x0000000000000000000000000000000000000000'::bytea "# ) .execute(self.storage.conn()) @@ -2258,7 +2258,7 @@ impl BlocksDal<'_, '_> { WHERE l1_batches.number = miniblocks.l1_batch_number AND miniblocks.number BETWEEN $1 AND $2 - AND miniblocks.fee_account_address = 'x0000000000000000000000000000000000000000'::bytea + AND miniblocks.fee_account_address = '\x0000000000000000000000000000000000000000'::bytea "#, numbers.start().0 as i64, numbers.end().0 as i64 From 0e2cae3a8b326fb49fc7ebdb0edaa837d38bd44c Mon Sep 17 00:00:00 2001 From: koloz Date: Thu, 1 Feb 2024 10:16:08 -0500 Subject: [PATCH 27/35] address pr comments on structure --- Cargo.lock | 1559 ++++++++--------- core/lib/dal/src/blocks_dal.rs | 4 +- core/lib/l1_contract_interface/Cargo.toml | 16 +- .../src/i_executor/commit/kzg.rs | 65 +- core/lib/l1_contract_interface/src/lib.rs | 2 - .../src/pre_boojum_verifier/vk_transform.rs | 2 +- 6 files changed, 816 insertions(+), 832 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4f16665ff24..420d6d29090 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,11 +4,11 @@ version = 3 [[package]] name = "actix-codec" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8" +checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "bytes", "futures-core", "futures-sink", @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "actix-cors" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b340e9cfa5b08690aae90fb61beb44e9b06f44fe3d0f93781aaa58cfba86245e" +checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370" dependencies = [ "actix-utils", "actix-web", @@ -36,17 +36,17 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.4.0" +version = "3.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9" +checksum = "129d4c88e98860e1758c5de288d1632b07970a16d59bdf7b8d66053d582bb71f" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", "ahash 0.8.7", - "base64 0.21.5", - "bitflags 2.4.1", + "base64 0.21.7", + "bitflags 2.4.2", "brotli", "bytes", "bytestring", @@ -70,7 +70,7 @@ dependencies = [ "tokio", "tokio-util", "tracing", - "zstd 0.12.4", + "zstd", ] [[package]] @@ -79,15 +79,15 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ - "quote 1.0.33", - "syn 2.0.38", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "actix-router" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" +checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511" dependencies = [ "bytestring", "http", @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.4.0" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9" +checksum = "e43428f3bf11dee6d166b00ec2df4e3aa8cc1606aaa0b7433c146852e2f4e03b" dependencies = [ "actix-codec", "actix-http", @@ -192,9 +192,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5" dependencies = [ "actix-router", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -344,9 +344,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.4" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" +checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" dependencies = [ "anstyle", "anstyle-parse", @@ -358,43 +358,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" +checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" [[package]] name = "anstyle-parse" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" +checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.1" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" +checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" dependencies = [ "anstyle", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" [[package]] name = "arr_macro" @@ -413,7 +413,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609c78bd572f4edc74310dfb63a01f5609d53fa8b4dd7c4d98aef3b3e8d72d1" dependencies = [ "proc-macro-hack", - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -452,9 +452,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-compression" -version = "0.4.4" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f658e2baef915ba0f26f1f7c42bfb8e12f532a01f449a090ded75ae7a07e9ba2" +checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" dependencies = [ "brotli", "flate2", @@ -462,17 +462,17 @@ dependencies = [ "memchr", "pin-project-lite", "tokio", - "zstd 0.13.0", - "zstd-safe 7.0.0", + "zstd", + "zstd-safe", ] [[package]] name = "async-lock" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.3", "event-listener-strategy", "pin-project-lite", ] @@ -494,20 +494,20 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -629,9 +629,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.5" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "base64ct" @@ -660,7 +660,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.28", + "futures 0.3.30", "hex", "lazy_static", "num_cpus", @@ -683,7 +683,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.28", + "futures 0.3.30", "hex", "lazy_static", "num_cpus", @@ -728,12 +728,12 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "regex", "rustc-hash", "shlex", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -753,9 +753,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" dependencies = [ "serde", ] @@ -881,7 +881,7 @@ name = "block_reverter" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.6", + "clap 4.4.18", "serde_json", "tokio", "vlog", @@ -907,15 +907,15 @@ dependencies = [ [[package]] name = "boojum" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#84754b066959c8fdfb77edf730fc13ed87404907" +source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "arrayvec 0.7.4", "bincode", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "const_format", "convert_case 0.6.0", - "crossbeam 0.8.2", - "crypto-bigint 0.5.3", + "crossbeam 0.8.4", + "crypto-bigint 0.5.5", "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", "derivative", "ethereum-types", @@ -952,10 +952,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0" dependencies = [ "once_cell", - "proc-macro-crate 2.0.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro-crate 2.0.2", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", "syn_derive", ] @@ -972,9 +972,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.5.0" +version = "2.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da74e2b81409b1b743f8f0c62cc6254afefb8b8e50bbfe3735550f7aeefa3448" +checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -1009,16 +1009,16 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] [[package]] name = "bytecount" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1a12477b7237a01c11a80a51278165f9ba0edd28fa6db00a65ab230320dc58c" +checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" [[package]] name = "byteorder" @@ -1034,9 +1034,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bytestring" -version = "1.3.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" +checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72" dependencies = [ "bytes", ] @@ -1063,9 +1063,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" +checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" dependencies = [ "serde", ] @@ -1152,9 +1152,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.31" +version = "0.4.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" +checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1162,14 +1162,14 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.48.5", + "windows-targets 0.52.0", ] [[package]] name = "ciborium" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" dependencies = [ "ciborium-io", "ciborium-ll", @@ -1178,15 +1178,15 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" [[package]] name = "ciborium-ll" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" dependencies = [ "ciborium-io", "half", @@ -1208,7 +1208,7 @@ name = "circuit_definitions" version = "0.1.0" source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" dependencies = [ - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", "seq-macro", "serde", @@ -1220,15 +1220,15 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#32241e8732d68352a2d447a87d5a77be1d78262c" dependencies = [ - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", "seq-macro", "serde", "snark_wrapper", "zk_evm 1.4.1", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1)", + "zkevm_circuits 1.4.1", ] [[package]] @@ -1241,9 +1241,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" dependencies = [ "glob", "libc", @@ -1279,9 +1279,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.6" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" +checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" dependencies = [ "clap_builder", "clap_derive", @@ -1289,26 +1289,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.6" +version = "4.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" +checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" dependencies = [ "anstream", "anstyle", - "clap_lex 0.5.1", + "clap_lex 0.6.0", "strsim 0.10.0", ] [[package]] name = "clap_derive" -version = "4.4.2" +version = "4.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" +checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -1322,9 +1322,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" +checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" [[package]] name = "codegen" @@ -1368,26 +1368,26 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", ] [[package]] name = "console" -version = "0.15.7" +version = "0.15.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" dependencies = [ "encode_unicode", "lazy_static", "libc", - "windows-sys 0.45.0", + "windows-sys 0.52.0", ] [[package]] name = "const-oid" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "const_format" @@ -1404,8 +1404,8 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "unicode-xid 0.2.4", ] @@ -1443,9 +1443,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" dependencies = [ "core-foundation-sys", "libc", @@ -1453,15 +1453,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.4" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" [[package]] name = "cpufeatures" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" dependencies = [ "libc", ] @@ -1542,16 +1542,15 @@ dependencies = [ [[package]] name = "crossbeam" -version = "0.8.2" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-channel 0.5.8", - "crossbeam-deque 0.8.3", - "crossbeam-epoch 0.9.15", - "crossbeam-queue 0.3.8", - "crossbeam-utils 0.8.16", + "crossbeam-channel 0.5.11", + "crossbeam-deque 0.8.5", + "crossbeam-epoch 0.9.18", + "crossbeam-queue 0.3.11", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1566,12 +1565,11 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.8" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1587,13 +1585,12 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-epoch 0.9.15", - "crossbeam-utils 0.8.16", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1607,21 +1604,17 @@ dependencies = [ "crossbeam-utils 0.7.2", "lazy_static", "maybe-uninit", - "memoffset 0.5.6", + "memoffset", "scopeguard", ] [[package]] name = "crossbeam-epoch" -version = "0.9.15" +version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "autocfg", - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", - "memoffset 0.9.0", - "scopeguard", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1637,12 +1630,11 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.8" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", ] [[package]] @@ -1658,12 +1650,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" -dependencies = [ - "cfg-if 1.0.0", -] +checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" [[package]] name = "crunchy" @@ -1685,9 +1674,9 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.5.3" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1719,11 +1708,11 @@ dependencies = [ [[package]] name = "cs_derive" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#84754b066959c8fdfb77edf730fc13ed87404907" +source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -1733,8 +1722,8 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-sync_vm.git?branch=v1.3.3#ed8ab8984cae05d00d9d62196753c8d40df47c7d" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "serde", "syn 1.0.109", ] @@ -1750,12 +1739,12 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.1" +version = "3.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf" +checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b" dependencies = [ "nix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1775,9 +1764,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.70+curl-8.5.0" +version = "0.4.71+curl-8.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c0333d8849afe78a4c8102a429a446bfdd055832af071945520e835ae2d841e" +checksum = "c7b12a7ab780395666cb576203dc3ed6e01513754939a600b85196ccf5356bc5" dependencies = [ "cc", "libc", @@ -1811,9 +1800,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -1834,8 +1823,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "strsim 0.10.0", "syn 1.0.109", ] @@ -1847,7 +1836,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -1858,7 +1847,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.2", + "hashbrown 0.14.3", "lock_api", "once_cell", "parking_lot_core", @@ -1897,9 +1886,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" dependencies = [ "powerfmt", "serde", @@ -1911,8 +1900,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -1923,8 +1912,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case 0.4.0", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "rustc_version", "syn 1.0.109", ] @@ -1988,10 +1977,10 @@ checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der 0.7.8", "digest 0.10.7", - "elliptic-curve 0.13.7", + "elliptic-curve 0.13.8", "rfc6979 0.4.0", "signature 2.2.0", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] @@ -2006,15 +1995,16 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", + "subtle", "zeroize", ] @@ -2049,12 +2039,12 @@ dependencies = [ [[package]] name = "elliptic-curve" -version = "0.13.7" +version = "0.13.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" dependencies = [ "base16ct 0.2.0", - "crypto-bigint 0.5.3", + "crypto-bigint 0.5.5", "digest 0.10.7", "ff 0.13.0", "generic-array", @@ -2068,9 +2058,9 @@ dependencies = [ [[package]] name = "elsa" -version = "1.9.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "714f766f3556b44e7e4776ad133fcc3445a489517c25c704ace411bb14790194" +checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" dependencies = [ "stable_deref_trait", ] @@ -2090,6 +2080,16 @@ dependencies = [ "cfg-if 1.0.0", ] +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + [[package]] name = "env_logger" version = "0.9.3" @@ -2105,15 +2105,24 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.0" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" +dependencies = [ + "log", +] + +[[package]] +name = "env_logger" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" +checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8" dependencies = [ + "anstream", + "anstyle", + "env_filter", "humantime", - "is-terminal", "log", - "regex", - "termcolor", ] [[package]] @@ -2133,12 +2142,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" +checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2213,9 +2222,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.0" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" dependencies = [ "concurrent-queue", "parking", @@ -2228,7 +2237,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.3", "pin-project-lite", ] @@ -2280,17 +2289,17 @@ dependencies = [ "num-bigint 0.4.4", "num-integer", "num-traits", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "serde", "syn 1.0.109", ] [[package]] name = "fiat-crypto" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f69037fe1b785e84986b4f2cbcf647381876a00671d25ceef715d7812dd7e1dd" +checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" [[package]] name = "findshlibs" @@ -2378,9 +2387,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" dependencies = [ "percent-encoding", ] @@ -2418,7 +2427,7 @@ dependencies = [ [[package]] name = "franklin-crypto" version = "0.0.5" -source = "git+https://github.com/matter-labs/franklin-crypto?branch=snark_wrapper#900332b8c2fe528b5008bb4e6bf2d3f206a9ae56" +source = "git+https://github.com/matter-labs/franklin-crypto?branch=snark_wrapper#2546c63b91b59bdb0ad342d26f03fb57477550b2" dependencies = [ "arr_macro", "bellman_ce 0.3.2 (git+https://github.com/matter-labs/bellman?branch=snark-wrapper)", @@ -2467,9 +2476,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" dependencies = [ "futures-channel", "futures-core", @@ -2482,9 +2491,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" dependencies = [ "futures-core", "futures-sink", @@ -2492,15 +2501,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" [[package]] name = "futures-executor" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" dependencies = [ "futures-core", "futures-task", @@ -2521,32 +2530,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" [[package]] name = "futures-macro" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "futures-sink" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" [[package]] name = "futures-task" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" [[package]] name = "futures-timer" @@ -2560,9 +2569,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.28" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" dependencies = [ "futures 0.1.31", "futures-channel", @@ -2590,9 +2599,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" dependencies = [ "cfg-if 1.0.0", "libc", @@ -2611,9 +2620,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.0" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "glob" @@ -2674,7 +2683,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1087f1fbd2dd3f58c17c7574ddd99cd61cbbbc2c4dc81114b8687209b196cb" dependencies = [ "async-trait", - "base64 0.21.5", + "base64 0.21.7", "google-cloud-metadata", "google-cloud-token", "home", @@ -2708,7 +2717,7 @@ checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" dependencies = [ "async-stream", "async-trait", - "base64 0.21.5", + "base64 0.21.7", "bytes", "futures-util", "google-cloud-auth", @@ -2733,9 +2742,9 @@ dependencies = [ [[package]] name = "google-cloud-token" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcd62eb34e3de2f085bcc33a09c3e17c4f65650f36d53eb328b00d63bcb536a" +checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" dependencies = [ "async-trait", ] @@ -2747,7 +2756,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19775995ee20209163239355bc3ad2f33f83da35d9ef72dea26e5af753552c87" dependencies = [ "dashmap", - "futures 0.3.28", + "futures 0.3.30", "futures-timer", "no-std-compat", "nonzero_ext", @@ -2791,7 +2800,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.1.0", + "indexmap 2.2.2", "slab", "tokio", "tokio-util", @@ -2800,9 +2809,13 @@ dependencies = [ [[package]] name = "half" -version = "1.8.2" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" +checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" +dependencies = [ + "cfg-if 1.0.0", + "crunchy", +] [[package]] name = "handlebars" @@ -2838,9 +2851,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ "ahash 0.8.7", "allocator-api2", @@ -2852,14 +2865,14 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] name = "hdrhistogram" -version = "7.5.2" +version = "7.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" dependencies = [ "byteorder", "num-traits", @@ -2871,7 +2884,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bytes", "headers-core", "http", @@ -2918,9 +2931,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" +checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" [[package]] name = "hex" @@ -2930,9 +2943,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" +checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" dependencies = [ "hmac", ] @@ -2948,11 +2961,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2968,9 +2981,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" dependencies = [ "bytes", "fnv", @@ -2979,9 +2992,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", "http", @@ -3014,9 +3027,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.27" +version = "0.14.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" dependencies = [ "bytes", "futures-channel", @@ -3029,7 +3042,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.4.10", + "socket2 0.5.5", "tokio", "tower-service", "tracing", @@ -3038,15 +3051,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.1" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" +checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", "http", "hyper", "log", - "rustls 0.21.7", + "rustls 0.21.10", "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", @@ -3073,9 +3086,9 @@ checksum = "71a816c97c42258aa5834d07590b718b4c9a598944cd39a52dc25b351185d678" [[package]] name = "iana-time-zone" -version = "0.1.58" +version = "0.1.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" +checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3110,6 +3123,16 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "im" version = "15.1.0" @@ -3157,8 +3180,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -3174,12 +3197,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.1.0" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" dependencies = [ "equivalent", - "hashbrown 0.14.2", + "hashbrown 0.14.3", ] [[package]] @@ -3231,39 +3254,37 @@ dependencies = [ ] [[package]] -name = "is-terminal" -version = "0.4.9" +name = "itertools" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ - "hermit-abi 0.3.3", - "rustix", - "windows-sys 0.48.0", + "either", ] [[package]] name = "itertools" -version = "0.10.5" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" dependencies = [ "either", ] [[package]] name = "itertools" -version = "0.12.0" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" [[package]] name = "jobserver" @@ -3276,9 +3297,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" dependencies = [ "wasm-bindgen", ] @@ -3289,7 +3310,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.28", + "futures 0.3.30", "futures-executor", "futures-util", "log", @@ -3394,9 +3415,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" dependencies = [ "heck 0.4.1", - "proc-macro-crate 2.0.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro-crate 2.0.2", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -3467,7 +3488,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "pem", "ring 0.16.20", "serde", @@ -3489,13 +3510,13 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" +checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" dependencies = [ "cfg-if 1.0.0", "ecdsa 0.16.9", - "elliptic-curve 0.13.7", + "elliptic-curve 0.13.8", "once_cell", "sha2 0.10.8", "signature 2.2.0", @@ -3503,9 +3524,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" dependencies = [ "cpufeatures", ] @@ -3539,18 +3560,18 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.7.4" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" dependencies = [ "cfg-if 1.0.0", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -3586,9 +3607,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.12" +version = "1.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" +checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" dependencies = [ "cc", "libc", @@ -3604,29 +3625,29 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linkme" -version = "0.3.17" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ed2ee9464ff9707af8e9ad834cffa4802f072caad90639c583dd3c62e6e608" +checksum = "8b53ad6a33de58864705954edb5ad5d571a010f9e296865ed43dc72a5621b430" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.17" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396" +checksum = "04e542a18c94a9b6fcc7adb090fa3ba6b79ee220a16404f325672729f32a66ff" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "linux-raw-sys" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" +checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "loadnext" @@ -3635,7 +3656,7 @@ dependencies = [ "anyhow", "async-trait", "envy", - "futures 0.3.28", + "futures 0.3.30", "hex", "metrics", "num 0.3.1", @@ -3664,9 +3685,9 @@ dependencies = [ [[package]] name = "local-channel" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a493488de5f18c8ffcba89eebb8532ffc562dc400490eb65b84893fae0b178" +checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" dependencies = [ "futures-core", "futures-sink", @@ -3675,9 +3696,9 @@ dependencies = [ [[package]] name = "local-waker" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1" +checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" [[package]] name = "lock_api" @@ -3712,10 +3733,10 @@ checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ "beef", "fnv", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "regex-syntax 0.6.29", - "syn 2.0.38", + "syn 2.0.48", ] [[package]] @@ -3729,9 +3750,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7" +checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" [[package]] name = "mach" @@ -3744,9 +3765,9 @@ dependencies = [ [[package]] name = "mach2" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" +checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" dependencies = [ "libc", ] @@ -3790,9 +3811,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.6.4" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" [[package]] name = "memoffset" @@ -3803,21 +3824,12 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" -dependencies = [ - "autocfg", -] - [[package]] name = "merkle_tree_consistency_checker" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.6", + "clap 4.4.18", "tracing", "vlog", "zksync_config", @@ -3840,11 +3852,11 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5" +checksum = "1d4fa7ce7c4862db464a37b0b31d89bca874562f034bd7993895572783d02950" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "hyper", "indexmap 1.9.3", "ipnet", @@ -3858,13 +3870,13 @@ dependencies = [ [[package]] name = "metrics-macros" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df" +checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3873,8 +3885,8 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4de2ed6e491ed114b40b732e4d1659a9d53992ebd87490c44a6ffe23739d973e" dependencies = [ - "crossbeam-epoch 0.9.15", - "crossbeam-utils 0.8.16", + "crossbeam-epoch 0.9.18", + "crossbeam-utils 0.8.19", "hashbrown 0.13.1", "metrics", "num_cpus", @@ -3900,9 +3912,9 @@ version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -3923,12 +3935,12 @@ dependencies = [ [[package]] name = "mini-moka" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e0b72e7c9042467008b10279fc732326bd605459ae03bda88825909dd19b56" +checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" dependencies = [ - "crossbeam-channel 0.5.8", - "crossbeam-utils 0.8.16", + "crossbeam-channel 0.5.11", + "crossbeam-utils 0.8.19", "dashmap", "skeptic", "smallvec", @@ -3953,9 +3965,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.9" +version = "0.8.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" +checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" dependencies = [ "libc", "log", @@ -4022,7 +4034,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if 1.0.0", "libc", ] @@ -4154,6 +4166,12 @@ dependencies = [ "serde", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-derive" version = "0.2.5" @@ -4171,8 +4189,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -4249,7 +4267,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.3", + "hermit-abi 0.3.4", "libc", ] @@ -4269,25 +4287,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "object" -version = "0.32.1" +version = "0.32.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" @@ -4303,11 +4321,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.57" +version = "0.10.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" +checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4322,9 +4340,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4335,9 +4353,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.93" +version = "0.9.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" +checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" dependencies = [ "cc", "libc", @@ -4415,7 +4433,7 @@ dependencies = [ [[package]] name = "pairing_ce" version = "0.28.5" -source = "git+https://github.com/matter-labs/pairing.git#d06c2a112913b0abfb75996cc29a6b6075717e99" +source = "git+https://github.com/matter-labs/pairing.git#f55393fd366596eac792d78525d26e9c4d6ed1ca" dependencies = [ "byteorder", "cfg-if 1.0.0", @@ -4426,9 +4444,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" +checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -4440,13 +4458,13 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.5" +version = "3.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" +checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro-crate 2.0.2", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -4474,7 +4492,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall 0.4.1", + "redox_syscall", "smallvec", "windows-targets 0.48.5", ] @@ -4511,9 +4529,9 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" @@ -4544,9 +4562,9 @@ checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4567,27 +4585,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.1.0", + "indexmap 2.2.2", ] [[package]] name = "pin-project" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" +checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" +checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4610,7 +4628,7 @@ checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ "der 0.7.8", "pkcs8 0.10.2", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] @@ -4630,20 +4648,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der 0.7.8", - "spki 0.7.2", + "spki 0.7.3", ] [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" [[package]] name = "platforms" -version = "3.2.0" +version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" +checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" [[package]] name = "plotters" @@ -4698,9 +4716,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.5.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b559898e0b4931ed2d3b959ab0c2da4d99cc644c4b0b1a35b4d344027f474023" +checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" [[package]] name = "powerfmt" @@ -4726,12 +4744,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" +checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" dependencies = [ - "proc-macro2 1.0.69", - "syn 2.0.38", + "proc-macro2 1.0.78", + "syn 2.0.48", ] [[package]] @@ -4759,9 +4777,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.1" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a" +checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" dependencies = [ "toml_datetime", "toml_edit 0.20.2", @@ -4774,8 +4792,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", "version_check", ] @@ -4786,8 +4804,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "version_check", ] @@ -4808,9 +4826,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.69" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" dependencies = [ "unicode-ident", ] @@ -4833,9 +4851,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4852,9 +4870,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" +checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" dependencies = [ "bytes", "prost-derive", @@ -4862,13 +4880,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" +checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.10.5", + "itertools 0.11.0", "log", "multimap", "once_cell", @@ -4877,22 +4895,22 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.38", + "syn 2.0.48", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" +checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" dependencies = [ "anyhow", - "itertools 0.10.5", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "itertools 0.11.0", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -4901,7 +4919,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "logos", "miette", "once_cell", @@ -4913,9 +4931,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" +checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" dependencies = [ "prost", ] @@ -4962,18 +4980,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] [[package]] name = "pulldown-cmark" -version = "0.9.3" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.2", "memchr", "unicase", ] @@ -4984,7 +5002,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20afe714292d5e879d8b12740aa223c6a88f118af41870e8b6196e39a02238a8" dependencies = [ - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", "libc", "mach", "once_cell", @@ -5000,7 +5018,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" dependencies = [ - "crossbeam-utils 0.8.16", + "crossbeam-utils 0.8.19", "libc", "mach2", "once_cell", @@ -5030,11 +5048,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.33" +version = "1.0.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" dependencies = [ - "proc-macro2 1.0.69", + "proc-macro2 1.0.78", ] [[package]] @@ -5121,9 +5139,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" +checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" dependencies = [ "either", "rayon-core", @@ -5131,12 +5149,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.0" +version = "1.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ - "crossbeam-deque 0.8.3", - "crossbeam-utils 0.8.16", + "crossbeam-deque 0.8.5", + "crossbeam-utils 0.8.19", ] [[package]] @@ -5148,15 +5166,6 @@ dependencies = [ "rand_core 0.3.1", ] -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags 1.3.2", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -5168,13 +5177,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.2" +version = "1.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" +checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.3", + "regex-automata 0.4.5", "regex-syntax 0.8.2", ] @@ -5189,9 +5198,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" +checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" dependencies = [ "aho-corasick", "memchr", @@ -5230,11 +5239,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.22" +version = "0.11.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" +checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", @@ -5254,11 +5263,12 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.7", - "rustls-pemfile 1.0.3", + "rustls 0.21.10", + "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", + "sync_wrapper", "system-configuration", "tokio", "tokio-native-tls", @@ -5270,7 +5280,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.25.2", + "webpki-roots 0.25.3", "winreg", ] @@ -5390,8 +5400,8 @@ version = "0.7.43" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -5423,9 +5433,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "rsa" -version = "0.9.5" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474" +checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" dependencies = [ "const-oid", "digest 0.10.7", @@ -5436,16 +5446,16 @@ dependencies = [ "pkcs8 0.10.2", "rand_core 0.6.4", "signature 2.2.0", - "spki 0.7.2", + "spki 0.7.3", "subtle", "zeroize", ] [[package]] name = "rust_decimal" -version = "1.33.1" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4" +checksum = "d7de2711cae7bdec993f4d2319352599ceb0d003e9f7900ea7c6ef4c5fc16831" dependencies = [ "arrayvec 0.7.4", "borsh", @@ -5486,39 +5496,39 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.20" +version = "0.38.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" +checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "errno", "libc", "linux-raw-sys", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "rustls" -version = "0.21.7" +version = "0.21.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" +checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" dependencies = [ "log", - "ring 0.16.20", - "rustls-webpki 0.101.6", + "ring 0.17.7", + "rustls-webpki 0.101.7", "sct", ] [[package]] name = "rustls" -version = "0.22.1" +version = "0.22.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe6b63262c9fcac8659abfaa96cac103d28166d3ff3eaf8f412e19f3ae9e5a48" +checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" dependencies = [ "log", "ring 0.17.7", "rustls-pki-types", - "rustls-webpki 0.102.0", + "rustls-webpki 0.102.1", "subtle", "zeroize", ] @@ -5530,7 +5540,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.3", + "rustls-pemfile 1.0.4", "schannel", "security-framework", ] @@ -5550,11 +5560,11 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", ] [[package]] @@ -5563,31 +5573,31 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7673e0aa20ee4937c6aacfc12bb8341cfbf054cdd21df6bec5fd0629fe9339b" +checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a" [[package]] name = "rustls-webpki" -version = "0.101.6" +version = "0.101.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.7", + "untrusted 0.9.0", ] [[package]] name = "rustls-webpki" -version = "0.102.0" +version = "0.102.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de2635c8bc2b88d367767c5de8ea1d8db9af3f6219eba28442242d9ab81d1b89" +checksum = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b" dependencies = [ "ring 0.17.7", "rustls-pki-types", @@ -5602,9 +5612,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" [[package]] name = "same-file" @@ -5617,11 +5627,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.22" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -5632,12 +5642,12 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.0" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" dependencies = [ - "ring 0.16.20", - "untrusted 0.7.1", + "ring 0.17.7", + "untrusted 0.9.0", ] [[package]] @@ -5717,9 +5727,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" +checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" dependencies = [ "serde", ] @@ -5732,9 +5742,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "sentry" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0097a48cd1999d983909f07cb03b15241c5af29e5e679379efac1c06296abecc" +checksum = "6ce4b57f1b521f674df7a1d200be8ff5d74e3712020ee25b553146657b5377d5" dependencies = [ "httpdate", "native-tls", @@ -5751,9 +5761,9 @@ dependencies = [ [[package]] name = "sentry-backtrace" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18a7b80fa1dd6830a348d38a8d3a9761179047757b7dca29aef82db0118b9670" +checksum = "58cc8d4e04a73de8f718dc703943666d03f25d3e9e4d0fb271ca0b8c76dfa00e" dependencies = [ "backtrace", "once_cell", @@ -5763,9 +5773,9 @@ dependencies = [ [[package]] name = "sentry-contexts" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7615dc588930f1fd2e721774f25844ae93add2dbe2d3c2f995ce5049af898147" +checksum = "6436c1bad22cdeb02179ea8ef116ffc217797c028927def303bc593d9320c0d1" dependencies = [ "hostname", "libc", @@ -5777,9 +5787,9 @@ dependencies = [ [[package]] name = "sentry-core" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f51264e4013ed9b16558cce43917b983fa38170de2ca480349ceb57d71d6053" +checksum = "901f761681f97db3db836ef9e094acdd8756c40215326c194201941947164ef1" dependencies = [ "once_cell", "rand 0.8.5", @@ -5790,9 +5800,9 @@ dependencies = [ [[package]] name = "sentry-debug-images" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fe6180fa564d40bb942c9f0084ffb5de691c7357ead6a2b7a3154fae9e401dd" +checksum = "afdb263e73d22f39946f6022ed455b7561b22ff5553aca9be3c6a047fa39c328" dependencies = [ "findshlibs", "once_cell", @@ -5801,9 +5811,9 @@ dependencies = [ [[package]] name = "sentry-panic" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "323160213bba549f9737317b152af116af35c0410f4468772ee9b606d3d6e0fa" +checksum = "74fbf1c163f8b6a9d05912e1b272afa27c652e8b47ea60cb9a57ad5e481eea99" dependencies = [ "sentry-backtrace", "sentry-core", @@ -5811,9 +5821,9 @@ dependencies = [ [[package]] name = "sentry-tracing" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38033822128e73f7b6ca74c1631cef8868890c6cb4008a291cf73530f87b4eac" +checksum = "82eabcab0a047040befd44599a1da73d3adb228ff53b5ed9795ae04535577704" dependencies = [ "sentry-backtrace", "sentry-core", @@ -5823,9 +5833,9 @@ dependencies = [ [[package]] name = "sentry-types" -version = "0.31.7" +version = "0.31.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e663b3eb62ddfc023c9cf5432daf5f1a4f6acb1df4d78dd80b740b32dd1a740" +checksum = "da956cca56e0101998c8688bc65ce1a96f00673a0e58e663664023d4c7911e82" dependencies = [ "debugid", "hex", @@ -5846,9 +5856,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.189" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" +checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" dependencies = [ "serde_derive", ] @@ -5865,20 +5875,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.189" +version = "1.0.196" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" +checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "serde_json" -version = "1.0.107" +version = "1.0.113" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" +checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" dependencies = [ "itoa", "ryu", @@ -5887,9 +5897,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.14" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" +checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" dependencies = [ "itoa", "serde", @@ -5926,8 +5936,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ "darling", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -6072,9 +6082,9 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "similar" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" +checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21" [[package]] name = "simple_asn1" @@ -6130,9 +6140,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.11.1" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" dependencies = [ "serde", ] @@ -6142,7 +6152,7 @@ name = "snapshots_creator" version = "0.1.0" dependencies = [ "anyhow", - "futures 0.3.28", + "futures 0.3.30", "prometheus_exporter", "rand 0.8.5", "tokio", @@ -6159,7 +6169,7 @@ dependencies = [ [[package]] name = "snark_wrapper" version = "0.1.0" -source = "git+https://github.com/matter-labs/snark-wrapper.git?branch=main#52f9ef98a7e6c86b405dd0ec42291dacf6e2bcb4" +source = "git+https://github.com/matter-labs/snark-wrapper.git?branch=main#42661a9ff9d00853441589679c101f71e3785f55" dependencies = [ "derivative", "rand 0.4.6", @@ -6168,9 +6178,9 @@ dependencies = [ [[package]] name = "snow" -version = "0.9.4" +version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" dependencies = [ "aes-gcm", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6210,7 +6220,7 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "futures 0.3.28", + "futures 0.3.30", "http", "httparse", "log", @@ -6245,9 +6255,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" dependencies = [ "base64ct", "der 0.7.8", @@ -6265,7 +6275,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "itertools 0.12.0", + "itertools 0.12.1", "nom", "unicode_categories", ] @@ -6296,7 +6306,7 @@ dependencies = [ "bytes", "chrono", "crc", - "crossbeam-queue 0.3.8", + "crossbeam-queue 0.3.11", "dotenvy", "either", "event-listener 2.5.3", @@ -6307,7 +6317,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.1.0", + "indexmap 2.2.2", "ipnetwork", "log", "memchr", @@ -6334,8 +6344,8 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "sqlx-core", "sqlx-macros-core", "syn 1.0.109", @@ -6353,8 +6363,8 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "serde", "serde_json", "sha2 0.10.8", @@ -6375,9 +6385,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" dependencies = [ "atoi", - "base64 0.21.5", + "base64 0.21.7", "bigdecimal", - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", "bytes", "chrono", @@ -6420,9 +6430,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" dependencies = [ "atoi", - "base64 0.21.5", + "base64 0.21.7", "bigdecimal", - "bitflags 2.4.1", + "bitflags 2.4.2", "byteorder", "chrono", "crc", @@ -6497,7 +6507,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" name = "storage_logs_dedup_migration" version = "0.1.0" dependencies = [ - "clap 4.4.6", + "clap 4.4.18", "tokio", "zksync_config", "zksync_dal", @@ -6547,8 +6557,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "syn 1.0.109", ] @@ -6568,8 +6578,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "rustversion", "syn 1.0.109", ] @@ -6597,19 +6607,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.38" +version = "2.0.48" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", + "proc-macro2 1.0.78", + "quote 1.0.35", "unicode-ident", ] @@ -6620,9 +6630,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6715,22 +6725,22 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.8.0" +version = "3.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" +checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall 0.3.5", + "redox_syscall", "rustix", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "termcolor" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" dependencies = [ "winapi-util", ] @@ -6750,20 +6760,30 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2cfbe7811249c4c914b06141b8ac0f2cee2733fb883d05eb19668a45fc60c3d5" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "test-log" -version = "0.2.13" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6159ab4116165c99fc88cce31f99fa2c9dbe08d3691cb38da02fc3b45f357d2b" +dependencies = [ + "env_logger 0.10.2", + "test-log-macros", +] + +[[package]] +name = "test-log-macros" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" +checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6783,22 +6803,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6842,12 +6862,13 @@ dependencies = [ [[package]] name = "time" -version = "0.3.30" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" dependencies = [ "deranged", "itoa", + "num-conv", "powerfmt", "serde", "time-core", @@ -6862,10 +6883,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.15" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" +checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" dependencies = [ + "num-conv", "time-core", ] @@ -6914,9 +6936,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.34.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "bytes", @@ -6937,9 +6959,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -6958,7 +6980,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.7", + "rustls 0.21.10", "tokio", ] @@ -6968,7 +6990,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ - "rustls 0.22.1", + "rustls 0.22.2", "rustls-pki-types", "tokio", ] @@ -6986,9 +7008,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.9" +version = "0.7.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" +checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" dependencies = [ "bytes", "futures-core", @@ -7011,7 +7033,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.2", "toml_datetime", "winnow", ] @@ -7022,7 +7044,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.1.0", + "indexmap 2.2.2", "toml_datetime", "winnow", ] @@ -7055,8 +7077,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ "async-compression", - "base64 0.21.5", - "bitflags 2.4.1", + "base64 0.21.7", + "bitflags 2.4.2", "bytes", "futures-core", "futures-util", @@ -7108,9 +7130,9 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -7125,9 +7147,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.4" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" dependencies = [ "log", "once_cell", @@ -7146,9 +7168,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ "matchers", "nu-ansi-term", @@ -7168,15 +7190,15 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.9" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" +checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" [[package]] name = "try-lock" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" +checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "typenum" @@ -7222,9 +7244,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.13" +version = "0.3.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" @@ -7287,7 +7309,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" dependencies = [ - "quote 1.0.33", + "quote 1.0.35", "syn 1.0.109", ] @@ -7305,11 +7327,11 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" +checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" dependencies = [ - "base64 0.21.5", + "base64 0.21.7", "log", "native-tls", "once_cell", @@ -7318,12 +7340,12 @@ dependencies = [ [[package]] name = "url" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" dependencies = [ "form_urlencoded", - "idna", + "idna 0.5.0", "percent-encoding", "serde", ] @@ -7342,9 +7364,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.5.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" +checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" dependencies = [ "getrandom", "serde", @@ -7418,9 +7440,9 @@ name = "vise-macros" version = "0.1.0" source = "git+https://github.com/matter-labs/vise.git?rev=1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1#1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -7508,9 +7530,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.87" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7518,24 +7540,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.87" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.37" +version = "0.4.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7545,38 +7567,38 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.87" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" dependencies = [ - "quote 1.0.33", + "quote 1.0.35", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.87" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.87" +version = "0.2.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" +checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" [[package]] name = "wasm-streams" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" +checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" dependencies = [ "futures-util", "js-sys", @@ -7587,9 +7609,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.67" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" dependencies = [ "js-sys", "wasm-bindgen", @@ -7602,16 +7624,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" dependencies = [ "arrayvec 0.7.4", - "base64 0.21.5", + "base64 0.21.7", "bytes", "derive_more", "ethabi", "ethereum-types", - "futures 0.3.28", + "futures 0.3.30", "futures-timer", "headers", "hex", - "idna", + "idna 0.4.0", "jsonrpc-core", "log", "once_cell", @@ -7628,9 +7650,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.2" +version = "0.25.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" +checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" [[package]] name = "webpki-roots" @@ -7692,20 +7714,11 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.51.1" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", + "windows-targets 0.52.0", ] [[package]] @@ -7718,18 +7731,12 @@ dependencies = [ ] [[package]] -name = "windows-targets" -version = "0.42.2" +name = "windows-sys" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", + "windows-targets 0.52.0", ] [[package]] @@ -7748,10 +7755,19 @@ dependencies = [ ] [[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" +name = "windows-targets" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" +dependencies = [ + "windows_aarch64_gnullvm 0.52.0", + "windows_aarch64_msvc 0.52.0", + "windows_i686_gnu 0.52.0", + "windows_i686_msvc 0.52.0", + "windows_x86_64_gnu 0.52.0", + "windows_x86_64_gnullvm 0.52.0", + "windows_x86_64_msvc 0.52.0", +] [[package]] name = "windows_aarch64_gnullvm" @@ -7760,10 +7776,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" +name = "windows_aarch64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" [[package]] name = "windows_aarch64_msvc" @@ -7772,10 +7788,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] -name = "windows_i686_gnu" -version = "0.42.2" +name = "windows_aarch64_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" [[package]] name = "windows_i686_gnu" @@ -7784,10 +7800,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] -name = "windows_i686_msvc" -version = "0.42.2" +name = "windows_i686_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" [[package]] name = "windows_i686_msvc" @@ -7796,10 +7812,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" +name = "windows_i686_msvc" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" +checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" [[package]] name = "windows_x86_64_gnu" @@ -7808,10 +7824,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" +name = "windows_x86_64_gnu" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" [[package]] name = "windows_x86_64_gnullvm" @@ -7820,10 +7836,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" +name = "windows_x86_64_gnullvm" +version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" +checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" [[package]] name = "windows_x86_64_msvc" @@ -7831,11 +7847,17 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" + [[package]] name = "winnow" -version = "0.5.17" +version = "0.5.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" +checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249" dependencies = [ "memchr", ] @@ -7876,29 +7898,29 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zerocopy" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.31" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] name = "zeroize" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" +checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" dependencies = [ "zeroize_derive", ] @@ -7909,9 +7931,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.69", - "quote 1.0.33", - "syn 2.0.38", + "proc-macro2 1.0.78", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -8056,27 +8078,7 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=main#4fba537ccecc238e2da9c80844dc8c185e42466f" -dependencies = [ - "arrayvec 0.7.4", - "bincode", - "boojum", - "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", - "derivative", - "hex", - "itertools 0.10.5", - "rand 0.4.6", - "rand 0.8.5", - "serde", - "serde_json", - "smallvec", - "zkevm_opcode_defs 1.3.2", -] - -[[package]] -name = "zkevm_circuits" -version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#70234e99c2492740226b9f40091e7fccc7ef28e9" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=main#fb3e2574b5c890342518fc930c145443f039a105" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -8091,13 +8093,13 @@ dependencies = [ "serde", "serde_json", "smallvec", - "zkevm_opcode_defs 1.4.1", + "zkevm_opcode_defs 1.3.2", ] [[package]] name = "zkevm_circuits" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d#a92f73b5a471eefc98a10ceaa8eab4566ae6519d" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=v1.4.1#873fe0fcf0bb8df6be0ae1938ce8469d6bf63ebd" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -8131,7 +8133,7 @@ name = "zkevm_opcode_defs" version = "1.3.2" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#dffacadeccdfdbff4bc124d44c595c4a6eae5013" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", "ethereum-types", "k256 0.11.6", @@ -8145,10 +8147,10 @@ name = "zkevm_opcode_defs" version = "1.4.1" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" dependencies = [ - "bitflags 2.4.1", + "bitflags 2.4.2", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types", - "k256 0.13.2", + "k256 0.13.3", "lazy_static", "sha2 0.10.8", "sha3 0.10.8", @@ -8162,9 +8164,9 @@ dependencies = [ "bincode", "circuit_testing", "codegen 0.2.0", - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", "hex", "num-bigint 0.4.4", "num-integer", @@ -8189,9 +8191,9 @@ dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0)", "codegen 0.2.0", - "crossbeam 0.8.2", + "crossbeam 0.8.4", "derivative", - "env_logger 0.10.0", + "env_logger 0.11.1", "hex", "rand 0.4.6", "rayon", @@ -8207,15 +8209,15 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#ef77c44f919ba161df5976ec3899cf57a1585e7c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#32241e8732d68352a2d447a87d5a77be1d78262c" dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "codegen 0.2.0", - "crossbeam 0.8.2", + "crossbeam 0.8.4", "curl", "derivative", - "env_logger 0.9.3", + "env_logger 0.11.1", "hex", "lazy_static", "rand 0.4.6", @@ -8267,7 +8269,7 @@ dependencies = [ "anyhow", "assert_matches", "async-trait", - "futures 0.3.28", + "futures 0.3.30", "hex", "metrics", "serde_json", @@ -8475,7 +8477,7 @@ dependencies = [ "chrono", "ctrlc", "ethabi", - "futures 0.3.28", + "futures 0.3.30", "hex", "lazy_static", "metrics", @@ -8526,7 +8528,7 @@ dependencies = [ "bitflags 1.3.2", "chrono", "ctrlc", - "futures 0.3.28", + "futures 0.3.30", "governor", "hex", "itertools 0.10.5", @@ -8671,7 +8673,7 @@ dependencies = [ "actix-rt", "actix-web", "async-trait", - "futures 0.3.28", + "futures 0.3.30", "hex", "jsonrpc-core", "reqwest", @@ -8690,9 +8692,9 @@ name = "zksync_external_node" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.6", + "clap 4.4.18", "envy", - "futures 0.3.28", + "futures 0.3.30", "prometheus_exporter", "semver", "serde", @@ -8723,7 +8725,7 @@ version = "0.1.0" dependencies = [ "assert_matches", "async-trait", - "futures 0.3.28", + "futures 0.3.30", "serde", "serde_json", "tokio", @@ -8736,13 +8738,11 @@ version = "0.1.0" dependencies = [ "codegen 0.1.0", "hex", - "nom", "serde", "serde_json", "serde_with", "sha2 0.10.8", "sha3 0.10.8", - "zkevm_circuits 1.4.1 (git+https://github.com/matter-labs/era-zkevm_circuits.git?rev=a92f73b5a471eefc98a10ceaa8eab4566ae6519d)", "zkevm_test_harness 1.3.3", "zkevm_test_harness 1.4.1", "zksync_prover_interface", @@ -8762,7 +8762,7 @@ name = "zksync_merkle_tree" version = "0.1.0" dependencies = [ "assert_matches", - "clap 4.4.6", + "clap 4.4.18", "insta", "leb128", "once_cell", @@ -8801,7 +8801,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "futures 0.3.28", + "futures 0.3.30", "prometheus_exporter", "thiserror", "tokio", @@ -8865,12 +8865,12 @@ dependencies = [ "anyhow", "heck 0.4.1", "prettyplease", - "proc-macro2 1.0.69", + "proc-macro2 1.0.78", "prost-build", "prost-reflect", "protox", - "quote 1.0.33", - "syn 2.0.38", + "quote 1.0.35", + "syn 2.0.48", ] [[package]] @@ -8921,8 +8921,8 @@ name = "zksync_server" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.6", - "futures 0.3.28", + "clap 4.4.18", + "futures 0.3.30", "serde_json", "tikv-jemallocator", "tokio", @@ -9049,7 +9049,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bigdecimal", - "futures 0.3.28", + "futures 0.3.30", "hex", "itertools 0.10.5", "metrics", @@ -9080,32 +9080,13 @@ dependencies = [ "zksync_types", ] -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe 6.0.6", -] - [[package]] name = "zstd" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" dependencies = [ - "zstd-safe 7.0.0", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", + "zstd-safe", ] [[package]] diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs index ee7598d6ed3..ee530674485 100644 --- a/core/lib/dal/src/blocks_dal.rs +++ b/core/lib/dal/src/blocks_dal.rs @@ -2218,7 +2218,7 @@ impl BlocksDal<'_, '_> { ) WHERE l1_batch_number IS NULL - AND fee_account_address = '\x0000000000000000000000000000000000000000'::bytea + AND fee_account_address = 'x0000000000000000000000000000000000000000'::bytea "# ) .execute(self.storage.conn()) @@ -2258,7 +2258,7 @@ impl BlocksDal<'_, '_> { WHERE l1_batches.number = miniblocks.l1_batch_number AND miniblocks.number BETWEEN $1 AND $2 - AND miniblocks.fee_account_address = '\x0000000000000000000000000000000000000000'::bytea + AND miniblocks.fee_account_address = 'x0000000000000000000000000000000000000000'::bytea "#, numbers.start().0 as i64, numbers.end().0 as i64 diff --git a/core/lib/l1_contract_interface/Cargo.toml b/core/lib/l1_contract_interface/Cargo.toml index b18d21f6390..93f1328d704 100644 --- a/core/lib/l1_contract_interface/Cargo.toml +++ b/core/lib/l1_contract_interface/Cargo.toml @@ -14,18 +14,18 @@ readme = "README.md" zksync_types = { path = "../types" } zksync_prover_interface = { path = "../prover_interface" } -zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } -zkevm_circuits = { git = "https://github.com/matter-labs/era-zkevm_circuits.git", rev = "a92f73b5a471eefc98a10ceaa8eab4566ae6519d" } +# Used to serialize proof data +codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } +# Used to calculate commitment for vk from the old L1 verifier contract (backward comatibility needs) +zkevm_test_harness_1_3_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } +# Used to calculate the kzg commitment and proofs +zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } sha2 = "0.10.8" sha3 = "0.10.8" -nom = "7.1.3" + +[dev-dependencies] hex = "0.4" serde = "1.0.90" serde_json = "1.0.0" serde_with = { version = "1", features = ["base64"] } - -# Used to serialize proof data -codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } -# Used to calculate commitment for vk from the old L1 verifier contract (backward comatibility needs) -zkevm_test_harness = { git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index a7e7e30d6cd..80cac3436fb 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -1,34 +1,37 @@ use std::convert::TryInto; -use nom::bytes::streaming::take; use sha2::Sha256; use sha3::{Digest, Keccak256}; -use zkevm_circuits::{ - boojum::pairing::{ - bls12_381::{Fr, FrRepr, G1Affine}, - CurveAffine, - }, - eip_4844::{ - bitreverse, fft, - input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, - zksync_pubdata_into_ethereum_4844_data, zksync_pubdata_into_monomial_form_poly, +use zkevm_test_harness_1_3_1::ff::{PrimeField, PrimeFieldRepr}; +use zkevm_test_harness_1_4_1::{ + kzg::{compute_commitment, compute_proof, compute_proof_poly}, + zkevm_circuits::{ + boojum::pairing::{ + bls12_381::{Fr, FrRepr, G1Affine}, + CurveAffine, + }, + eip_4844::{ + bitreverse, fft, + input::{BLOB_CHUNK_SIZE, ELEMENTS_PER_4844_BLOCK}, + zksync_pubdata_into_ethereum_4844_data, zksync_pubdata_into_monomial_form_poly, + }, }, }; -use zkevm_test_harness::ff::{PrimeField, PrimeFieldRepr}; -use zkevm_test_harness_1_4_1::kzg::{compute_commitment, compute_proof, compute_proof_poly}; const ZK_SYNC_BYTES_PER_BLOB: usize = BLOB_CHUNK_SIZE * ELEMENTS_PER_4844_BLOCK; const EIP_4844_BYTES_PER_BLOB: usize = 32 * ELEMENTS_PER_4844_BLOCK; /// Packed pubdata commitments. -/// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) = 144 bytes +/// Format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) +/// || opening proof (48 bytes)) = 144 bytes const BYTES_PER_PUBDATA_COMMITMENT: usize = 144; const VERSIONED_HASH_VERSION_KZG: u8 = 0x01; -/// All the info needed for both the network transaction and by our L1 contracts. As part of the network transaction we need to encode -/// the sidecar which contains the: blob, `kzg` commitment, and the blob proof. The transaction payload will utilize the versioned hash. -/// The info needed for `commitBatches` is the `kzg` commitment, opening point, opening value, and opening proof. +/// All the info needed for both the network transaction and by our L1 contracts. As part of the network transaction we +/// need to encode the sidecar which contains the: blob, `kzg` commitment, and the blob proof. The transaction payload +/// will utilize the versioned hash. The info needed for `commitBatches` is the `kzg` commitment, opening point, +/// opening value, and opening proof. #[derive(Debug, PartialEq, Eq, Clone)] pub struct KzgInfo { /// 4844 Compatible blob containing pubdata @@ -74,19 +77,22 @@ fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u12 /// Copies the specified number of bytes from the input into out returning the rest of the data fn copy_n_bytes_return_rest<'a>(out: &'a mut [u8], input: &'a [u8], n: usize) -> &'a [u8] { - let (data, bytes) = take::(n)(input).expect("Missing data"); + let (bytes, data) = input.split_at(n); out.copy_from_slice(bytes); data } impl KzgInfo { - /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) - /// Here we use the size of the blob expected for 4844 (4096 elements * 32 bytes per element) and not `BYTES_PER_BLOB_ZK_SYNC` which is (4096 elements * 31 bytes per element) + /// Size of `KzgInfo` is equal to size(blob) + size(`kzg_commitment`) + size(bytes32) + size(bytes32) + /// + size(`kzg_proof`) + size(bytes32) + size(`kzg_proof`) + /// Here we use the size of the blob expected for 4844 (4096 elements * 32 bytes per element) and not + /// `BYTES_PER_BLOB_ZK_SYNC` which is (4096 elements * 31 bytes per element) /// The zksync interpretation of the blob uses 31 byte fields so we can ensure they fit into a field element. const SERIALIZED_SIZE: usize = EIP_4844_BYTES_PER_BLOB + 48 + 32 + 32 + 48 + 32 + 48; /// Returns the bytes necessary for pubdata commitment part of batch commitments when blobs are used. - /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) || opening proof (48 bytes)) + /// Return format: opening point (16 bytes) || claimed value (32 bytes) || commitment (48 bytes) + /// || opening proof (48 bytes)) pub fn to_pubdata_commitment(&self) -> [u8; BYTES_PER_PUBDATA_COMMITMENT] { let mut res = [0u8; BYTES_PER_PUBDATA_COMMITMENT]; // The crypto team/batch commitment expects the opening point to be 16 bytes @@ -246,20 +252,19 @@ impl KzgInfo { mod tests { use serde::{Deserialize, Serialize}; use serde_with::serde_as; - use zkevm_circuits::{ - boojum::pairing::bls12_381::{Fr, FrRepr, G1Affine}, - eip_4844::{ + use zkevm_test_harness_1_4_1::{ + boojum::pairing::{ + bls12_381::{Fr, FrRepr, G1Affine, G1Compressed}, + EncodedPoint, + }, + kzg::{verify_kzg_proof, verify_proof_poly}, + zkevm_circuits::eip_4844::{ bitreverse, ethereum_4844_data_into_zksync_pubdata, fft, zksync_pubdata_into_monomial_form_poly, }, }; - use zkevm_test_harness::ff::PrimeField; - use zkevm_test_harness_1_4_1::{ - boojum::pairing::{bls12_381::G1Compressed, EncodedPoint}, - kzg::{verify_kzg_proof, verify_proof_poly}, - }; - use super::KzgInfo; + use super::{KzgInfo, PrimeField}; #[serde_as] #[derive(Debug, Serialize, Deserialize)] @@ -293,7 +298,7 @@ mod tests { assert_eq!(bytes.len(), 32); let mut ret = [0u64; 4]; - for (i, chunk) in bytes.array_chunks::<8>().enumerate() { + for (i, chunk) in bytes.chunks(8).enumerate() { let mut repr = [0u8; 8]; repr.copy_from_slice(chunk); ret[3 - i] = u64::from_be_bytes(repr); diff --git a/core/lib/l1_contract_interface/src/lib.rs b/core/lib/l1_contract_interface/src/lib.rs index 345fe9c4a30..f4f9d04ef24 100644 --- a/core/lib/l1_contract_interface/src/lib.rs +++ b/core/lib/l1_contract_interface/src/lib.rs @@ -8,8 +8,6 @@ //! while `Tokenize` trait represents items that are encoded via array of `Token`s //! (for example, transaction input). -#![feature(array_chunks)] - pub use zksync_types::web3::contract::tokens::{Detokenize, Tokenizable, Tokenize}; /// Rust interface for (subset of) `IExector.sol`. diff --git a/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs b/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs index 70098230d9b..f22e384078e 100644 --- a/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs +++ b/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs @@ -3,7 +3,7 @@ use std::str::FromStr; -use zkevm_test_harness::{ +use zkevm_test_harness_1_3_1::{ abstract_zksync_circuit::concrete_circuits::ZkSyncCircuit, bellman::{ bn256::{Bn256, Fq, Fr, G1Affine}, From 4092dd27caf235ebb3aace6ea88b09d393629600 Mon Sep 17 00:00:00 2001 From: koloz Date: Thu, 1 Feb 2024 16:30:28 -0500 Subject: [PATCH 28/35] bump harness version --- Cargo.lock | 12 +++---- core/lib/l1_contract_interface/Cargo.toml | 2 +- .../src/i_executor/commit/kzg.rs | 36 ++++++++++++------- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 420d6d29090..bdb6edef7e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1220,7 +1220,7 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#32241e8732d68352a2d447a87d5a77be1d78262c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#408d3c6f72781afd3ba3e57bc229ef9a4722bb82" dependencies = [ "crossbeam 0.8.4", "derivative", @@ -2819,9 +2819,9 @@ dependencies = [ [[package]] name = "handlebars" -version = "5.1.1" +version = "5.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c73166c591e67fb4bf9bc04011b4e35f12e89fe8d676193aa263df065955a379" +checksum = "ab283476b99e66691dee3f1640fea91487a8d81f50fb5ecc75538f8f8879a1e4" dependencies = [ "log", "pest", @@ -5453,9 +5453,9 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.34.0" +version = "1.34.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7de2711cae7bdec993f4d2319352599ceb0d003e9f7900ea7c6ef4c5fc16831" +checksum = "755392e1a2f77afd95580d3f0d0e94ac83eeeb7167552c9b5bca549e61a94d83" dependencies = [ "arrayvec 0.7.4", "borsh", @@ -8209,7 +8209,7 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#32241e8732d68352a2d447a87d5a77be1d78262c" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#408d3c6f72781afd3ba3e57bc229ef9a4722bb82" dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", diff --git a/core/lib/l1_contract_interface/Cargo.toml b/core/lib/l1_contract_interface/Cargo.toml index 93f1328d704..1b52889e92c 100644 --- a/core/lib/l1_contract_interface/Cargo.toml +++ b/core/lib/l1_contract_interface/Cargo.toml @@ -28,4 +28,4 @@ sha3 = "0.10.8" hex = "0.4" serde = "1.0.90" serde_json = "1.0.0" -serde_with = { version = "1", features = ["base64"] } +serde_with = { version = "1", features = ["base64", "hex"] } diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index 80cac3436fb..c0aa434e3c8 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -4,7 +4,7 @@ use sha2::Sha256; use sha3::{Digest, Keccak256}; use zkevm_test_harness_1_3_1::ff::{PrimeField, PrimeFieldRepr}; use zkevm_test_harness_1_4_1::{ - kzg::{compute_commitment, compute_proof, compute_proof_poly}, + kzg::{compute_commitment, compute_proof, compute_proof_poly, KzgSettings}, zkevm_circuits::{ boojum::pairing::{ bls12_381::{Fr, FrRepr, G1Affine}, @@ -186,7 +186,7 @@ impl KzgInfo { /// 7. opening point <- keccak(linear hash || versioned hash)[16..] /// 8. opening value, opening proof <- `compute_kzg_proof`(4844) /// 9. blob proof <- `compute_proof_poly`(blob, 4844 `kzg` commitment) - pub fn new(pubdata: Vec) -> Self { + pub fn new(kzg_settings: &KzgSettings, pubdata: Vec) -> Self { assert!(pubdata.len() <= ZK_SYNC_BYTES_PER_BLOB); let mut zksync_blob = [0u8; ZK_SYNC_BYTES_PER_BLOB]; @@ -199,7 +199,7 @@ impl KzgInfo { fft(&mut poly); bitreverse(&mut poly); - let kzg_commitment = compute_commitment(&poly); + let kzg_commitment = compute_commitment(kzg_settings, &poly); let versioned_hash = commitment_to_versioned_hash(kzg_commitment); let opening_point = compute_opening_point(linear_hash, versioned_hash); let opening_point_repr = Fr::from_repr(FrRepr([ @@ -210,9 +210,10 @@ impl KzgInfo { ])) .expect("should have a valid field element from 16 bytes"); - let (opening_proof, opening_value) = compute_proof(&poly, &opening_point_repr); + let (opening_proof, opening_value) = + compute_proof(kzg_settings, &poly, &opening_point_repr); - let blob_proof = compute_proof_poly(&poly, &kzg_commitment); + let blob_proof = compute_proof_poly(kzg_settings, &poly, &kzg_commitment); let blob_bytes = zksync_pubdata_into_ethereum_4844_data(&zksync_blob); let mut blob = [0u8; EIP_4844_BYTES_PER_BLOB]; @@ -251,13 +252,13 @@ impl KzgInfo { #[cfg(test)] mod tests { use serde::{Deserialize, Serialize}; - use serde_with::serde_as; + use serde_with::{self, serde_as}; use zkevm_test_harness_1_4_1::{ boojum::pairing::{ bls12_381::{Fr, FrRepr, G1Affine, G1Compressed}, EncodedPoint, }, - kzg::{verify_kzg_proof, verify_proof_poly}, + kzg::{verify_kzg_proof, verify_proof_poly, KzgSettings}, zkevm_circuits::eip_4844::{ bitreverse, ethereum_4844_data_into_zksync_pubdata, fft, zksync_pubdata_into_monomial_form_poly, @@ -321,7 +322,10 @@ mod tests { let contents = std::fs::read_to_string(path).unwrap(); let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); - let kzg_info = KzgInfo::new(kzg_test.pubdata); + let path = std::path::Path::new(&zksync_home).join("trusted_setup.json"); + let kzg_settings = KzgSettings::new(path.to_str().unwrap()); + + let kzg_info = KzgInfo::new(&&kzg_settings, kzg_test.pubdata); // Verify all the fields were correctly computed assert_eq!( @@ -364,15 +368,20 @@ mod tests { let commitment = bytes_to_g1(&kzg_info.kzg_commitment); let blob_proof = bytes_to_g1(&kzg_info.blob_proof); - let valid_blob_proof = verify_proof_poly(&poly, &commitment, &blob_proof); + let valid_blob_proof = verify_proof_poly(&kzg_settings, &poly, &commitment, &blob_proof); assert!(valid_blob_proof); let opening_point = u8_repr_to_fr(&kzg_info.opening_point); let opening_value = u8_repr_to_fr(&kzg_info.opening_value); let opening_proof = bytes_to_g1(&kzg_info.opening_proof); - let valid_opening_proof = - verify_kzg_proof(&commitment, &opening_point, &opening_value, &opening_proof); + let valid_opening_proof = verify_kzg_proof( + &kzg_settings, + &commitment, + &opening_point, + &opening_value, + &opening_proof, + ); assert!(valid_opening_proof); } @@ -383,7 +392,10 @@ mod tests { let contents = std::fs::read_to_string(path).unwrap(); let kzg_test: KzgTest = serde_json::from_str(&contents).unwrap(); - let kzg_info = KzgInfo::new(kzg_test.pubdata); + let path = std::path::Path::new(&zksync_home).join("trusted_setup.json"); + let kzg_settings = KzgSettings::new(path.to_str().unwrap()); + + let kzg_info = KzgInfo::new(&kzg_settings, kzg_test.pubdata); let encoded_info = kzg_info.to_bytes(); assert_eq!(KzgInfo::SERIALIZED_SIZE, encoded_info.len()); From 0e565fad9bde907a42c8bd3f6bb0d26d3b90f8dc Mon Sep 17 00:00:00 2001 From: koloz Date: Thu, 1 Feb 2024 16:57:27 -0500 Subject: [PATCH 29/35] remove extra ref --- core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index c0aa434e3c8..8907ce935b7 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -325,7 +325,7 @@ mod tests { let path = std::path::Path::new(&zksync_home).join("trusted_setup.json"); let kzg_settings = KzgSettings::new(path.to_str().unwrap()); - let kzg_info = KzgInfo::new(&&kzg_settings, kzg_test.pubdata); + let kzg_info = KzgInfo::new(&kzg_settings, kzg_test.pubdata); // Verify all the fields were correctly computed assert_eq!( From fb4da7a09b185d1482bed7221b25696b0647d5aa Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 5 Feb 2024 11:11:52 -0500 Subject: [PATCH 30/35] bump cargo lock --- Cargo.lock | 98 +++++++++++++++++++++++++++--------------------------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bdb6edef7e8..9752da9a7e8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,9 +36,9 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.5.1" +version = "3.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "129d4c88e98860e1758c5de288d1632b07970a16d59bdf7b8d66053d582bb71f" +checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743" dependencies = [ "actix-codec", "actix-rt", @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.4.1" +version = "4.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e43428f3bf11dee6d166b00ec2df4e3aa8cc1606aaa0b7433c146852e2f4e03b" +checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984" dependencies = [ "actix-codec", "actix-http", @@ -994,9 +994,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytecheck" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" dependencies = [ "bytecheck_derive", "ptr_meta", @@ -1005,9 +1005,9 @@ dependencies = [ [[package]] name = "bytecheck_derive" -version = "0.6.11" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" dependencies = [ "proc-macro2 1.0.78", "quote 1.0.35", @@ -1220,7 +1220,7 @@ dependencies = [ [[package]] name = "circuit_definitions" version = "0.1.0" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#408d3c6f72781afd3ba3e57bc229ef9a4722bb82" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#d4e9215d4fe8f4d311e1c01a9b561e4d04cb426b" dependencies = [ "crossbeam 0.8.4", "derivative", @@ -2297,9 +2297,9 @@ dependencies = [ [[package]] name = "fiat-crypto" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27573eac26f4dd11e2b1916c3fe1baa56407c83c71a773a8ba17ec0bca03b6b7" +checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" [[package]] name = "findshlibs" @@ -3086,9 +3086,9 @@ checksum = "71a816c97c42258aa5834d07590b718b4c9a598944cd39a52dc25b351185d678" [[package]] name = "iana-time-zone" -version = "0.1.59" +version = "0.1.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3358,7 +3358,7 @@ dependencies = [ "tokio-util", "tracing", "url", - "webpki-roots 0.26.0", + "webpki-roots 0.26.1", ] [[package]] @@ -3956,9 +3956,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" dependencies = [ "adler", ] @@ -4535,9 +4535,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" +checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" dependencies = [ "memchr", "thiserror", @@ -4546,9 +4546,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" +checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" dependencies = [ "pest", "pest_generator", @@ -4556,9 +4556,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" +checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" dependencies = [ "pest", "pest_meta", @@ -4569,9 +4569,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.6" +version = "2.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" +checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" dependencies = [ "once_cell", "pest", @@ -5230,9 +5230,9 @@ dependencies = [ [[package]] name = "rend" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" +checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" dependencies = [ "bytecheck", ] @@ -5280,7 +5280,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.25.3", + "webpki-roots 0.25.4", "winreg", ] @@ -5378,9 +5378,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.43" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5" +checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" dependencies = [ "bitvec", "bytecheck", @@ -5396,9 +5396,9 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.43" +version = "0.7.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" +checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" dependencies = [ "proc-macro2 1.0.78", "quote 1.0.35", @@ -5528,7 +5528,7 @@ dependencies = [ "log", "ring 0.17.7", "rustls-pki-types", - "rustls-webpki 0.102.1", + "rustls-webpki 0.102.2", "subtle", "zeroize", ] @@ -5579,9 +5579,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e9d979b3ce68192e42760c7810125eb6cf2ea10efae545a156063e61f314e2a" +checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf" [[package]] name = "rustls-webpki" @@ -5595,9 +5595,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.102.1" +version = "0.102.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b" +checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" dependencies = [ "ring 0.17.7", "rustls-pki-types", @@ -6125,9 +6125,9 @@ dependencies = [ [[package]] name = "sketches-ddsketch" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" [[package]] name = "slab" @@ -6862,9 +6862,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.32" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe80ced77cbfb4cb91a94bf72b378b4b6791a0d9b7f09d0be747d1bdff4e68bd" +checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" dependencies = [ "deranged", "itoa", @@ -6936,9 +6936,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.1" +version = "1.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" +checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" dependencies = [ "backtrace", "bytes", @@ -7650,15 +7650,15 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.3" +version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" +checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" [[package]] name = "webpki-roots" -version = "0.26.0" +version = "0.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188" +checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" dependencies = [ "rustls-pki-types", ] @@ -7855,9 +7855,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" [[package]] name = "winnow" -version = "0.5.36" +version = "0.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "818ce546a11a9986bc24f93d0cdf38a8a1a400f1473ea8c82e59f6e0ffab9249" +checksum = "a7cad8365489051ae9f054164e459304af2e7e9bb407c958076c8bf4aef52da5" dependencies = [ "memchr", ] @@ -8209,7 +8209,7 @@ dependencies = [ [[package]] name = "zkevm_test_harness" version = "1.4.1" -source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#408d3c6f72781afd3ba3e57bc229ef9a4722bb82" +source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#d4e9215d4fe8f4d311e1c01a9b561e4d04cb426b" dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", From 664aff4a0d70ae1868fec834e475d0a18755b139 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 5 Feb 2024 12:45:36 -0500 Subject: [PATCH 31/35] allow dead code until integrated with batch commitment --- core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index 8907ce935b7..a7edad2fb13 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -1,3 +1,6 @@ +// ToDo: Remove once integrated into batch commitment +#![allow(dead_code)] + use std::convert::TryInto; use sha2::Sha256; From 6d6b27b0a9185ac16cdac5192f58274bfb006649 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 5 Feb 2024 13:03:22 -0500 Subject: [PATCH 32/35] undo changes --- core/lib/dal/src/blocks_dal.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/lib/dal/src/blocks_dal.rs b/core/lib/dal/src/blocks_dal.rs index ee530674485..ee7598d6ed3 100644 --- a/core/lib/dal/src/blocks_dal.rs +++ b/core/lib/dal/src/blocks_dal.rs @@ -2218,7 +2218,7 @@ impl BlocksDal<'_, '_> { ) WHERE l1_batch_number IS NULL - AND fee_account_address = 'x0000000000000000000000000000000000000000'::bytea + AND fee_account_address = '\x0000000000000000000000000000000000000000'::bytea "# ) .execute(self.storage.conn()) @@ -2258,7 +2258,7 @@ impl BlocksDal<'_, '_> { WHERE l1_batches.number = miniblocks.l1_batch_number AND miniblocks.number BETWEEN $1 AND $2 - AND miniblocks.fee_account_address = 'x0000000000000000000000000000000000000000'::bytea + AND miniblocks.fee_account_address = '\x0000000000000000000000000000000000000000'::bytea "#, numbers.start().0 as i64, numbers.end().0 as i64 From 97187b94df8fb2c067bdaaf014e76bb06a408ed8 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 5 Feb 2024 13:09:59 -0500 Subject: [PATCH 33/35] linter fix --- core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index a7edad2fb13..cb66c480368 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -1,4 +1,4 @@ -// ToDo: Remove once integrated into batch commitment +// TODO: Remove once integrated into batch commitment #![allow(dead_code)] use std::convert::TryInto; From ade63175f9b9a62363c5cb9db225e9eb1bd69702 Mon Sep 17 00:00:00 2001 From: koloz Date: Mon, 5 Feb 2024 17:03:23 -0500 Subject: [PATCH 34/35] change to concat --- .../l1_contract_interface/src/i_executor/commit/kzg.rs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index cb66c480368..c90f6f281ff 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -67,13 +67,7 @@ fn commitment_to_versioned_hash(kzg_commitment: G1Affine) -> [u8; 32] { /// Calculate the opening point for a given `linear_hash` and `versioned_hash`. We calculate /// this point by hashing together the linear hash and versioned hash and only taking the last 16 bytes fn compute_opening_point(linear_hash: [u8; 32], versioned_hash: [u8; 32]) -> u128 { - let evaluation_point = &Keccak256::digest( - linear_hash - .iter() - .chain(&versioned_hash) - .copied() - .collect::>(), - )[16..]; + let evaluation_point = &Keccak256::digest([linear_hash, versioned_hash].concat())[16..]; u128::from_be_bytes(evaluation_point.try_into().expect("should have 16 bytes")) } From ec69b5553e41916a3bae3a71af6aa5df3d4e153c Mon Sep 17 00:00:00 2001 From: koloz Date: Tue, 6 Feb 2024 09:06:00 -0500 Subject: [PATCH 35/35] undo cargo lock and rename crate --- Cargo.lock | 1585 ++++++++--------- core/lib/l1_contract_interface/Cargo.toml | 2 +- .../src/i_executor/commit/kzg.rs | 2 +- .../src/pre_boojum_verifier/vk_transform.rs | 2 +- 4 files changed, 789 insertions(+), 802 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f269aebb483..12077df924b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,11 +4,11 @@ version = 3 [[package]] name = "actix-codec" -version = "0.5.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" +checksum = "617a8268e3537fe1d8c9ead925fca49ef6400927ee7bc26750e90ecee14ce4b8" dependencies = [ - "bitflags 2.4.2", + "bitflags 1.3.2", "bytes", "futures-core", "futures-sink", @@ -21,9 +21,9 @@ dependencies = [ [[package]] name = "actix-cors" -version = "0.6.5" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0346d8c1f762b41b458ed3145eea914966bb9ad20b9be0d6d463b20d45586370" +checksum = "b340e9cfa5b08690aae90fb61beb44e9b06f44fe3d0f93781aaa58cfba86245e" dependencies = [ "actix-utils", "actix-web", @@ -36,17 +36,17 @@ dependencies = [ [[package]] name = "actix-http" -version = "3.6.0" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d223b13fd481fc0d1f83bb12659ae774d9e3601814c68a0bc539731698cca743" +checksum = "a92ef85799cba03f76e4f7c10f533e66d87c9a7e7055f3391f09000ad8351bc9" dependencies = [ "actix-codec", "actix-rt", "actix-service", "actix-utils", "ahash 0.8.7", - "base64 0.21.7", - "bitflags 2.4.2", + "base64 0.21.5", + "bitflags 2.4.1", "brotli", "bytes", "bytestring", @@ -70,7 +70,7 @@ dependencies = [ "tokio", "tokio-util", "tracing", - "zstd", + "zstd 0.12.4", ] [[package]] @@ -79,15 +79,15 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" dependencies = [ - "quote 1.0.35", - "syn 2.0.48", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "actix-router" -version = "0.5.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22475596539443685426b6bdadb926ad0ecaefdfc5fb05e5e3441f15463c511" +checksum = "d66ff4d247d2b160861fa2866457e85706833527840e4133f8f49aa423a38799" dependencies = [ "bytestring", "http", @@ -147,9 +147,9 @@ dependencies = [ [[package]] name = "actix-web" -version = "4.5.1" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a6556ddebb638c2358714d853257ed226ece6023ef9364f23f0c70737ea984" +checksum = "0e4a5b5e29603ca8c94a77c65cf874718ceb60292c5a5c3e5f4ace041af462b9" dependencies = [ "actix-codec", "actix-http", @@ -192,9 +192,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eb1f50ebbb30eca122b188319a4398b3f7bb4a8cdf50ecfb73bfc6a3c3ce54f5" dependencies = [ "actix-router", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -344,9 +344,9 @@ dependencies = [ [[package]] name = "anstream" -version = "0.6.11" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", @@ -358,43 +358,43 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.5" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2faccea4cc4ab4a667ce676a30e8ec13922a692c99bb8f5b11f1502c72e04220" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "anyhow" -version = "1.0.79" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "arr_macro" @@ -413,7 +413,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0609c78bd572f4edc74310dfb63a01f5609d53fa8b4dd7c4d98aef3b3e8d72d1" dependencies = [ "proc-macro-hack", - "quote 1.0.35", + "quote 1.0.33", "syn 1.0.109", ] @@ -452,9 +452,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-compression" -version = "0.4.6" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a116f46a969224200a0a97f29cfd4c50e7534e4b4826bd23ea2c3c533039c82c" +checksum = "f658e2baef915ba0f26f1f7c42bfb8e12f532a01f449a090ded75ae7a07e9ba2" dependencies = [ "brotli", "flate2", @@ -462,17 +462,17 @@ dependencies = [ "memchr", "pin-project-lite", "tokio", - "zstd", - "zstd-safe", + "zstd 0.13.0", + "zstd-safe 7.0.0", ] [[package]] name = "async-lock" -version = "3.3.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" dependencies = [ - "event-listener 4.0.3", + "event-listener 4.0.0", "event-listener-strategy", "pin-project-lite", ] @@ -494,20 +494,20 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "async-trait" -version = "0.1.77" +version = "0.1.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c980ee35e870bd1a4d2c8294d4c04d0499e67bca1e4b5cefcc693c2fa00caea9" +checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -629,9 +629,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.7" +version = "0.21.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +checksum = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" [[package]] name = "base64ct" @@ -660,7 +660,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.30", + "futures 0.3.28", "hex", "lazy_static", "num_cpus", @@ -683,7 +683,7 @@ dependencies = [ "byteorder", "cfg-if 1.0.0", "crossbeam 0.7.3", - "futures 0.3.30", + "futures 0.3.28", "hex", "lazy_static", "num_cpus", @@ -728,12 +728,12 @@ dependencies = [ "lazycell", "peeking_take_while", "prettyplease", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "regex", "rustc-hash", "shlex", - "syn 2.0.48", + "syn 2.0.38", ] [[package]] @@ -753,9 +753,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.4.2" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" dependencies = [ "serde", ] @@ -881,7 +881,7 @@ name = "block_reverter" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.18", + "clap 4.4.6", "serde_json", "tokio", "vlog", @@ -913,9 +913,9 @@ dependencies = [ "bincode", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "const_format", - "convert_case 0.6.0", - "crossbeam 0.8.4", - "crypto-bigint 0.5.5", + "convert_case", + "crossbeam 0.8.2", + "crypto-bigint 0.5.3", "cs_derive 0.1.0 (git+https://github.com/matter-labs/era-boojum.git?branch=main)", "derivative", "ethereum-types", @@ -952,10 +952,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bf4918709cc4dd777ad2b6303ed03cb37f3ca0ccede8c1b0d28ac6db8f4710e0" dependencies = [ "once_cell", - "proc-macro-crate 2.0.2", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro-crate 2.0.1", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", "syn_derive", ] @@ -972,9 +972,9 @@ dependencies = [ [[package]] name = "brotli-decompressor" -version = "2.5.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2e4afe60d7dd600fdd3de8d0f08c2b7ec039712e3b6137ff98b7004e82de4f" +checksum = "da74e2b81409b1b743f8f0c62cc6254afefb8b8e50bbfe3735550f7aeefa3448" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", @@ -994,9 +994,9 @@ checksum = "c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c" [[package]] name = "bytecheck" -version = "0.6.12" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" dependencies = [ "bytecheck_derive", "ptr_meta", @@ -1005,20 +1005,20 @@ dependencies = [ [[package]] name = "bytecheck_derive" -version = "0.6.12" +version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "bytecount" -version = "0.6.7" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" +checksum = "d1a12477b7237a01c11a80a51278165f9ba0edd28fa6db00a65ab230320dc58c" [[package]] name = "byteorder" @@ -1034,9 +1034,9 @@ checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" [[package]] name = "bytestring" -version = "1.3.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d80203ea6b29df88012294f62733de21cfeab47f17b41af3a38bc30a03ee72" +checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" dependencies = [ "bytes", ] @@ -1063,9 +1063,9 @@ dependencies = [ [[package]] name = "cargo-platform" -version = "0.1.6" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" +checksum = "12024c4645c97566567129c204f65d5815a8c9aecf30fcbe682b2fe034996d36" dependencies = [ "serde", ] @@ -1152,9 +1152,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.33" +version = "0.4.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f13690e35a5e4ace198e7beea2895d29f3a9cc55015fcebe6336bd2010af9eb" +checksum = "7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1162,14 +1162,14 @@ dependencies = [ "num-traits", "serde", "wasm-bindgen", - "windows-targets 0.52.0", + "windows-targets 0.48.5", ] [[package]] name = "ciborium" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" dependencies = [ "ciborium-io", "ciborium-ll", @@ -1178,15 +1178,15 @@ dependencies = [ [[package]] name = "ciborium-io" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" [[package]] name = "ciborium-ll" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" dependencies = [ "ciborium-io", "half", @@ -1208,7 +1208,7 @@ name = "circuit_definitions" version = "0.1.0" source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0#de2ecad62ac8c12777e576dca20311ad8ec770d1" dependencies = [ - "crossbeam 0.8.4", + "crossbeam 0.8.2", "derivative", "seq-macro", "serde", @@ -1222,7 +1222,7 @@ name = "circuit_definitions" version = "0.1.0" source = "git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1#d4e9215d4fe8f4d311e1c01a9b561e4d04cb426b" dependencies = [ - "crossbeam 0.8.4", + "crossbeam 0.8.2", "derivative", "seq-macro", "serde", @@ -1241,9 +1241,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.7.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", @@ -1279,9 +1279,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.4.18" +version = "4.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" +checksum = "d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956" dependencies = [ "clap_builder", "clap_derive", @@ -1289,26 +1289,26 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.4.18" +version = "4.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" +checksum = "0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45" dependencies = [ "anstream", "anstyle", - "clap_lex 0.6.0", + "clap_lex 0.5.1", "strsim 0.10.0", ] [[package]] name = "clap_derive" -version = "4.4.7" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" +checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -1322,9 +1322,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.6.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" [[package]] name = "codegen" @@ -1368,26 +1368,26 @@ version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" dependencies = [ - "crossbeam-utils 0.8.19", + "crossbeam-utils 0.8.16", ] [[package]] name = "console" -version = "0.15.8" +version = "0.15.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" dependencies = [ "encode_unicode", "lazy_static", "libc", - "windows-sys 0.52.0", + "windows-sys 0.45.0", ] [[package]] name = "const-oid" -version = "0.9.6" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "const_format" @@ -1404,8 +1404,8 @@ version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7f6ff08fd20f4f299298a28e2dfa8a8ba1036e6cd2460ac1de7b425d76f2500" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "unicode-xid 0.2.4", ] @@ -1421,15 +1421,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - [[package]] name = "cookie" version = "0.16.2" @@ -1443,9 +1434,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" dependencies = [ "core-foundation-sys", "libc", @@ -1453,15 +1444,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "3fbc60abd742b35f2492f808e1abbb83d45f72db402e14c55057edc9c7b1e9e4" dependencies = [ "libc", ] @@ -1542,15 +1533,16 @@ dependencies = [ [[package]] name = "crossbeam" -version = "0.8.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +checksum = "2801af0d36612ae591caa9568261fddce32ce6e08a7275ea334a06a4ad021a2c" dependencies = [ - "crossbeam-channel 0.5.11", - "crossbeam-deque 0.8.5", - "crossbeam-epoch 0.9.18", - "crossbeam-queue 0.3.11", - "crossbeam-utils 0.8.19", + "cfg-if 1.0.0", + "crossbeam-channel 0.5.8", + "crossbeam-deque 0.8.3", + "crossbeam-epoch 0.9.15", + "crossbeam-queue 0.3.8", + "crossbeam-utils 0.8.16", ] [[package]] @@ -1565,11 +1557,12 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.11" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ - "crossbeam-utils 0.8.19", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", ] [[package]] @@ -1585,12 +1578,13 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.5" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.19", + "cfg-if 1.0.0", + "crossbeam-epoch 0.9.15", + "crossbeam-utils 0.8.16", ] [[package]] @@ -1604,17 +1598,21 @@ dependencies = [ "crossbeam-utils 0.7.2", "lazy_static", "maybe-uninit", - "memoffset", + "memoffset 0.5.6", "scopeguard", ] [[package]] name = "crossbeam-epoch" -version = "0.9.18" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ - "crossbeam-utils 0.8.19", + "autocfg", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", + "memoffset 0.9.0", + "scopeguard", ] [[package]] @@ -1630,11 +1628,12 @@ dependencies = [ [[package]] name = "crossbeam-queue" -version = "0.3.11" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" dependencies = [ - "crossbeam-utils 0.8.19", + "cfg-if 1.0.0", + "crossbeam-utils 0.8.16", ] [[package]] @@ -1650,9 +1649,12 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if 1.0.0", +] [[package]] name = "crunchy" @@ -1674,9 +1676,9 @@ dependencies = [ [[package]] name = "crypto-bigint" -version = "0.5.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +checksum = "740fe28e594155f10cfc383984cbefd529d7396050557148f79cb0f621204124" dependencies = [ "generic-array", "rand_core 0.6.4", @@ -1711,8 +1713,8 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-boojum.git?branch=main#93b5e0f0dbff0a9b606d9025e207c8405c141bd9" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -1722,8 +1724,8 @@ version = "0.1.0" source = "git+https://github.com/matter-labs/era-sync_vm.git?branch=v1.3.3#ed8ab8984cae05d00d9d62196753c8d40df47c7d" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "serde", "syn 1.0.109", ] @@ -1739,12 +1741,12 @@ dependencies = [ [[package]] name = "ctrlc" -version = "3.4.2" +version = "3.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b" +checksum = "82e95fbd621905b854affdc67943b043a0fbb6ed7385fd5a25650d19a8a6cfdf" dependencies = [ "nix", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -1764,9 +1766,9 @@ dependencies = [ [[package]] name = "curl-sys" -version = "0.4.71+curl-8.6.0" +version = "0.4.70+curl-8.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7b12a7ab780395666cb576203dc3ed6e01513754939a600b85196ccf5356bc5" +checksum = "3c0333d8849afe78a4c8102a429a446bfdd055832af071945520e835ae2d841e" dependencies = [ "cc", "libc", @@ -1800,9 +1802,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -1823,8 +1825,8 @@ checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "strsim 0.10.0", "syn 1.0.109", ] @@ -1836,7 +1838,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" dependencies = [ "darling_core", - "quote 1.0.35", + "quote 1.0.33", "syn 1.0.109", ] @@ -1847,7 +1849,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if 1.0.0", - "hashbrown 0.14.3", + "hashbrown 0.14.2", "lock_api", "once_cell", "parking_lot_core", @@ -1886,9 +1888,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.11" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +checksum = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" dependencies = [ "powerfmt", "serde", @@ -1900,8 +1902,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -1911,9 +1913,9 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case 0.4.0", - "proc-macro2 1.0.78", - "quote 1.0.35", + "convert_case", + "proc-macro2 1.0.69", + "quote 1.0.33", "rustc_version", "syn 1.0.109", ] @@ -1977,10 +1979,10 @@ checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" dependencies = [ "der 0.7.8", "digest 0.10.7", - "elliptic-curve 0.13.8", + "elliptic-curve 0.13.7", "rfc6979 0.4.0", "signature 2.2.0", - "spki 0.7.3", + "spki 0.7.2", ] [[package]] @@ -1995,16 +1997,15 @@ dependencies = [ [[package]] name = "ed25519-dalek" -version = "2.1.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f628eaec48bfd21b865dc2950cfa014450c01d2fa2b69a86c2fd5844ec523c0" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" dependencies = [ "curve25519-dalek", "ed25519", "rand_core 0.6.4", "serde", "sha2 0.10.8", - "subtle", "zeroize", ] @@ -2039,12 +2040,12 @@ dependencies = [ [[package]] name = "elliptic-curve" -version = "0.13.8" +version = "0.13.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +checksum = "e9775b22bc152ad86a0cf23f0f348b884b26add12bf741e7ffc4d4ab2ab4d205" dependencies = [ "base16ct 0.2.0", - "crypto-bigint 0.5.5", + "crypto-bigint 0.5.3", "digest 0.10.7", "ff 0.13.0", "generic-array", @@ -2058,9 +2059,9 @@ dependencies = [ [[package]] name = "elsa" -version = "1.10.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d98e71ae4df57d214182a2e5cb90230c0192c6ddfcaa05c36453d46a54713e10" +checksum = "714f766f3556b44e7e4776ad133fcc3445a489517c25c704ace411bb14790194" dependencies = [ "stable_deref_trait", ] @@ -2080,16 +2081,6 @@ dependencies = [ "cfg-if 1.0.0", ] -[[package]] -name = "env_filter" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" -dependencies = [ - "log", - "regex", -] - [[package]] name = "env_logger" version = "0.9.3" @@ -2105,24 +2096,15 @@ dependencies = [ [[package]] name = "env_logger" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cd405aab171cb85d6735e5c8d9db038c17d3ca007a4d2c25f337935c3d90580" -dependencies = [ - "log", -] - -[[package]] -name = "env_logger" -version = "0.11.1" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05e7cf40684ae96ade6232ed84582f40ce0a66efcd43a5117aef610534f8e0b8" +checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0" dependencies = [ - "anstream", - "anstyle", - "env_filter", "humantime", + "is-terminal", "log", + "regex", + "termcolor", ] [[package]] @@ -2142,12 +2124,12 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.8" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" +checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -2222,9 +2204,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "event-listener" -version = "4.0.3" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" dependencies = [ "concurrent-queue", "parking", @@ -2237,7 +2219,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.3", + "event-listener 4.0.0", "pin-project-lite", ] @@ -2289,17 +2271,17 @@ dependencies = [ "num-bigint 0.4.4", "num-integer", "num-traits", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "serde", "syn 1.0.109", ] [[package]] name = "fiat-crypto" -version = "0.2.6" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1676f435fc1dadde4d03e43f5d62b259e1ce5f40bd4ffb21db2b42ebe59c1382" +checksum = "f69037fe1b785e84986b4f2cbcf647381876a00671d25ceef715d7812dd7e1dd" [[package]] name = "findshlibs" @@ -2387,9 +2369,9 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" [[package]] name = "form_urlencoded" -version = "1.2.1" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2476,9 +2458,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -2491,9 +2473,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -2501,15 +2483,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -2530,32 +2512,32 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" @@ -2569,9 +2551,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures 0.1.31", "futures-channel", @@ -2599,9 +2581,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if 1.0.0", "libc", @@ -2620,9 +2602,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "glob" @@ -2683,7 +2665,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1087f1fbd2dd3f58c17c7574ddd99cd61cbbbc2c4dc81114b8687209b196cb" dependencies = [ "async-trait", - "base64 0.21.7", + "base64 0.21.5", "google-cloud-metadata", "google-cloud-token", "home", @@ -2717,7 +2699,7 @@ checksum = "ac04b29849ebdeb9fb008988cc1c4d1f0c9d121b4c7f1ddeb8061df124580e93" dependencies = [ "async-stream", "async-trait", - "base64 0.21.7", + "base64 0.21.5", "bytes", "futures-util", "google-cloud-auth", @@ -2742,9 +2724,9 @@ dependencies = [ [[package]] name = "google-cloud-token" -version = "0.1.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f49c12ba8b21d128a2ce8585955246977fbce4415f680ebf9199b6f9d6d725f" +checksum = "0fcd62eb34e3de2f085bcc33a09c3e17c4f65650f36d53eb328b00d63bcb536a" dependencies = [ "async-trait", ] @@ -2756,7 +2738,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19775995ee20209163239355bc3ad2f33f83da35d9ef72dea26e5af753552c87" dependencies = [ "dashmap", - "futures 0.3.30", + "futures 0.3.28", "futures-timer", "no-std-compat", "nonzero_ext", @@ -2800,7 +2782,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.2", + "indexmap 2.1.0", "slab", "tokio", "tokio-util", @@ -2809,19 +2791,15 @@ dependencies = [ [[package]] name = "half" -version = "2.3.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc52e53916c08643f1b56ec082790d1e86a32e58dc5268f897f313fbae7b4872" -dependencies = [ - "cfg-if 1.0.0", - "crunchy", -] +checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "handlebars" -version = "5.1.0" +version = "5.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab283476b99e66691dee3f1640fea91487a8d81f50fb5ecc75538f8f8879a1e4" +checksum = "c73166c591e67fb4bf9bc04011b4e35f12e89fe8d676193aa263df065955a379" dependencies = [ "log", "pest", @@ -2851,9 +2829,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash 0.8.7", "allocator-api2", @@ -2865,14 +2843,14 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.2", ] [[package]] name = "hdrhistogram" -version = "7.5.4" +version = "7.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8" dependencies = [ "byteorder", "num-traits", @@ -2884,7 +2862,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "bytes", "headers-core", "http", @@ -2931,9 +2909,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.3.4" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d3d0e0f38255e7fa3cf31335b3a56f05febd18025f4db5ef7a0cfb4f8da651f" +checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" [[package]] name = "hex" @@ -2943,9 +2921,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "hkdf" -version = "0.12.4" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7" +checksum = "791a029f6b9fc27657f6f188ec6e5e43f6911f6f878e0dc5501396e09809d437" dependencies = [ "hmac", ] @@ -2961,11 +2939,11 @@ dependencies = [ [[package]] name = "home" -version = "0.5.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -2981,9 +2959,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" dependencies = [ "bytes", "fnv", @@ -2992,9 +2970,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.6" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", @@ -3027,9 +3005,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.28" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -3042,7 +3020,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2 0.5.5", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -3051,15 +3029,15 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.24.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ "futures-util", "http", "hyper", "log", - "rustls 0.21.10", + "rustls 0.21.7", "rustls-native-certs 0.6.3", "tokio", "tokio-rustls 0.24.1", @@ -3086,9 +3064,9 @@ checksum = "71a816c97c42258aa5834d07590b718b4c9a598944cd39a52dc25b351185d678" [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.58" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "8326b86b6cff230b97d0d312a6c40a60726df3332e721f72a1b035f451663b20" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3123,16 +3101,6 @@ dependencies = [ "unicode-normalization", ] -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - [[package]] name = "im" version = "15.1.0" @@ -3180,8 +3148,8 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11d7a9f6330b71fea57921c9b61c47ee6e84f72d394754eff6163ae67e7395eb" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -3197,12 +3165,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824b2ae422412366ba479e8111fd301f7b5faece8149317bb81925979a53f520" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.2", ] [[package]] @@ -3254,37 +3222,39 @@ dependencies = [ ] [[package]] -name = "itertools" -version = "0.10.5" +name = "is-terminal" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "either", + "hermit-abi 0.3.3", + "rustix", + "windows-sys 0.48.0", ] [[package]] name = "itertools" -version = "0.11.0" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" dependencies = [ "either", ] [[package]] name = "itertools" -version = "0.12.1" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +checksum = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" dependencies = [ "either", ] [[package]] name = "itoa" -version = "1.0.10" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -3297,9 +3267,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.67" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -3310,7 +3280,7 @@ version = "18.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" dependencies = [ - "futures 0.3.30", + "futures 0.3.28", "futures-executor", "futures-util", "log", @@ -3358,7 +3328,7 @@ dependencies = [ "tokio-util", "tracing", "url", - "webpki-roots 0.26.1", + "webpki-roots 0.26.0", ] [[package]] @@ -3415,9 +3385,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d94b7505034e2737e688e1153bf81e6f93ad296695c43958d6da2e4321f0a990" dependencies = [ "heck 0.4.1", - "proc-macro-crate 2.0.2", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro-crate 2.0.1", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -3488,7 +3458,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "pem", "ring 0.16.20", "serde", @@ -3510,13 +3480,13 @@ dependencies = [ [[package]] name = "k256" -version = "0.13.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "956ff9b67e26e1a6a866cb758f12c6f8746208489e3e4a4b5580802f2f0a587b" +checksum = "3f01b677d82ef7a676aa37e099defd83a28e15687112cafdd112d60236b6115b" dependencies = [ "cfg-if 1.0.0", "ecdsa 0.16.9", - "elliptic-curve 0.13.8", + "elliptic-curve 0.13.7", "once_cell", "sha2 0.10.8", "signature 2.2.0", @@ -3524,9 +3494,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -3560,18 +3530,18 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.149" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" [[package]] name = "libloading" -version = "0.8.1" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" dependencies = [ "cfg-if 1.0.0", - "windows-sys 0.48.0", + "winapi", ] [[package]] @@ -3607,9 +3577,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.15" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "libc", @@ -3625,29 +3595,29 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linkme" -version = "0.3.22" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b53ad6a33de58864705954edb5ad5d571a010f9e296865ed43dc72a5621b430" +checksum = "91ed2ee9464ff9707af8e9ad834cffa4802f072caad90639c583dd3c62e6e608" dependencies = [ "linkme-impl", ] [[package]] name = "linkme-impl" -version = "0.3.22" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04e542a18c94a9b6fcc7adb090fa3ba6b79ee220a16404f325672729f32a66ff" +checksum = "ba125974b109d512fccbc6c0244e7580143e460895dfd6ea7f8bbb692fd94396" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "linux-raw-sys" -version = "0.4.13" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" +checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" [[package]] name = "loadnext" @@ -3656,7 +3626,7 @@ dependencies = [ "anyhow", "async-trait", "envy", - "futures 0.3.30", + "futures 0.3.28", "hex", "metrics", "num 0.3.1", @@ -3685,9 +3655,9 @@ dependencies = [ [[package]] name = "local-channel" -version = "0.1.5" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6cbc85e69b8df4b8bb8b89ec634e7189099cea8927a276b7384ce5488e53ec8" +checksum = "e0a493488de5f18c8ffcba89eebb8532ffc562dc400490eb65b84893fae0b178" dependencies = [ "futures-core", "futures-sink", @@ -3696,9 +3666,9 @@ dependencies = [ [[package]] name = "local-waker" -version = "0.1.4" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d873d7c67ce09b42110d801813efbc9364414e356be9935700d368351657487" +checksum = "e34f76eb3611940e0e7d53a9aaa4e6a3151f69541a282fd0dad5571420c53ff1" [[package]] name = "lock_api" @@ -3733,10 +3703,10 @@ checksum = "dc487311295e0002e452025d6b580b77bb17286de87b57138f3b5db711cded68" dependencies = [ "beef", "fnv", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "regex-syntax 0.6.29", - "syn 2.0.48", + "syn 2.0.38", ] [[package]] @@ -3750,9 +3720,9 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2c024b41519440580066ba82aab04092b333e09066a5eb86c7c4890df31f22" +checksum = "2994eeba8ed550fd9b47a0b38f0242bc3344e496483c6180b69139cc2fa5d1d7" [[package]] name = "mach" @@ -3765,9 +3735,9 @@ dependencies = [ [[package]] name = "mach2" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b955cdeb2a02b9117f121ce63aa52d08ade45de53e48fe6a38b39c10f6f709" +checksum = "6d0d1830bcd151a6fc4aea1369af235b36c1528fe976b8ff678683c9995eade8" dependencies = [ "libc", ] @@ -3811,9 +3781,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.1" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memoffset" @@ -3824,12 +3794,21 @@ dependencies = [ "autocfg", ] +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + [[package]] name = "merkle_tree_consistency_checker" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.18", + "clap 4.4.6", "tracing", "vlog", "zksync_config", @@ -3852,11 +3831,11 @@ dependencies = [ [[package]] name = "metrics-exporter-prometheus" -version = "0.12.2" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d4fa7ce7c4862db464a37b0b31d89bca874562f034bd7993895572783d02950" +checksum = "8a4964177ddfdab1e3a2b37aec7cf320e14169abb0ed73999f558136409178d5" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "hyper", "indexmap 1.9.3", "ipnet", @@ -3870,13 +3849,13 @@ dependencies = [ [[package]] name = "metrics-macros" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b4faf00617defe497754acde3024865bc143d44a86799b24e191ecff91354f" +checksum = "ddece26afd34c31585c74a4db0630c376df271c285d682d1e55012197830b6df" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -3885,8 +3864,8 @@ version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4de2ed6e491ed114b40b732e4d1659a9d53992ebd87490c44a6ffe23739d973e" dependencies = [ - "crossbeam-epoch 0.9.18", - "crossbeam-utils 0.8.19", + "crossbeam-epoch 0.9.15", + "crossbeam-utils 0.8.16", "hashbrown 0.13.1", "metrics", "num_cpus", @@ -3912,9 +3891,9 @@ version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -3935,12 +3914,12 @@ dependencies = [ [[package]] name = "mini-moka" -version = "0.10.3" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c325dfab65f261f386debee8b0969da215b3fa0037e74c8a1234db7ba986d803" +checksum = "23e0b72e7c9042467008b10279fc732326bd605459ae03bda88825909dd19b56" dependencies = [ - "crossbeam-channel 0.5.11", - "crossbeam-utils 0.8.19", + "crossbeam-channel 0.5.8", + "crossbeam-utils 0.8.16", "dashmap", "skeptic", "smallvec", @@ -3956,18 +3935,18 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.10" +version = "0.8.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "3dce281c5e46beae905d4de1870d8b1509a9142b62eedf18b443b011ca8343d0" dependencies = [ "libc", "log", @@ -4034,7 +4013,7 @@ version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "cfg-if 1.0.0", "libc", ] @@ -4166,12 +4145,6 @@ dependencies = [ "serde", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-derive" version = "0.2.5" @@ -4189,8 +4162,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -4267,7 +4240,7 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.3.4", + "hermit-abi 0.3.3", "libc", ] @@ -4287,25 +4260,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "object" -version = "0.32.2" +version = "0.32.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" [[package]] name = "oorandom" @@ -4321,11 +4294,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.63" +version = "0.10.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" +checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "cfg-if 1.0.0", "foreign-types", "libc", @@ -4340,9 +4313,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -4353,9 +4326,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.99" +version = "0.9.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" +checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" dependencies = [ "cc", "libc", @@ -4444,9 +4417,9 @@ dependencies = [ [[package]] name = "parity-scale-codec" -version = "3.6.9" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881331e34fa842a2fb61cc2db9643a8fedc615e47cfcc52597d1af0db9a7e8fe" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ "arrayvec 0.7.4", "bitvec", @@ -4458,13 +4431,13 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.6.9" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be30eaf4b0a9fba5336683b38de57bb86d179a35862ba6bfcf57625d006bde5b" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" dependencies = [ - "proc-macro-crate 2.0.2", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -4492,7 +4465,7 @@ checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" dependencies = [ "cfg-if 1.0.0", "libc", - "redox_syscall", + "redox_syscall 0.4.1", "smallvec", "windows-targets 0.48.5", ] @@ -4529,15 +4502,15 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.3.1" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.7" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "219c0dcc30b6a27553f9cc242972b67f75b60eb0db71f0b5462f38b058c41546" +checksum = "1f200d8d83c44a45b21764d1916299752ca035d15ecd46faca3e9a2a2bf6ad06" dependencies = [ "memchr", "thiserror", @@ -4546,9 +4519,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.7" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22e1288dbd7786462961e69bfd4df7848c1e37e8b74303dbdab82c3a9cdd2809" +checksum = "bcd6ab1236bbdb3a49027e920e693192ebfe8913f6d60e294de57463a493cfde" dependencies = [ "pest", "pest_generator", @@ -4556,22 +4529,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.7" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1381c29a877c6d34b8c176e734f35d7f7f5b3adaefe940cb4d1bb7af94678e2e" +checksum = "2a31940305ffc96863a735bef7c7994a00b325a7138fdbc5bda0f1a0476d3275" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "pest_meta" -version = "2.7.7" +version = "2.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0934d6907f148c22a3acbda520c7eed243ad7487a30f51f6ce52b58b7077a8a" +checksum = "a7ff62f5259e53b78d1af898941cdcdccfae7385cf7d793a6e55de5d05bb4b7d" dependencies = [ "once_cell", "pest", @@ -4585,27 +4558,27 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap 2.2.2", + "indexmap 2.1.0", ] [[package]] name = "pin-project" -version = "1.1.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0302c4a0442c456bd56f841aee5c3bfd17967563f6fadc9ceb9f9c23cf3807e0" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266c042b60c9c76b8d53061e52b2e0d1116abc57cefc8c5cd671619a56ac3690" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -4628,7 +4601,7 @@ checksum = "c8ffb9f10fa047879315e6625af03c164b16962a5368d724ed16323b68ace47f" dependencies = [ "der 0.7.8", "pkcs8 0.10.2", - "spki 0.7.3", + "spki 0.7.2", ] [[package]] @@ -4648,20 +4621,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ "der 0.7.8", - "spki 0.7.3", + "spki 0.7.2", ] [[package]] name = "pkg-config" -version = "0.3.29" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "platforms" -version = "3.3.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c" +checksum = "14e6ab3f592e6fb464fc9712d8d6e6912de6473954635fd76a589d832cffcbb0" [[package]] name = "plotters" @@ -4716,9 +4689,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "b559898e0b4931ed2d3b959ab0c2da4d99cc644c4b0b1a35b4d344027f474023" [[package]] name = "powerfmt" @@ -4744,12 +4717,12 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.16" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5" +checksum = "ae005bd773ab59b4725093fd7df83fd7892f7d8eafb48dbd7de6e024e4215f9d" dependencies = [ - "proc-macro2 1.0.78", - "syn 2.0.48", + "proc-macro2 1.0.69", + "syn 2.0.38", ] [[package]] @@ -4777,9 +4750,9 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "2.0.2" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b00f26d3400549137f92511a46ac1cd8ce37cb5598a96d382381458b992a5d24" +checksum = "97dc5fea232fc28d2f597b37c4876b348a40e33f3b02cc975c8d006d78d94b1a" dependencies = [ "toml_datetime", "toml_edit 0.20.2", @@ -4792,8 +4765,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" dependencies = [ "proc-macro-error-attr", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", "version_check", ] @@ -4804,8 +4777,8 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "version_check", ] @@ -4826,9 +4799,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.78" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" dependencies = [ "unicode-ident", ] @@ -4851,9 +4824,9 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -4870,9 +4843,9 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a" +checksum = "f4fdd22f3b9c31b53c060df4a0613a1c7f062d4115a2b984dd15b1858f7e340d" dependencies = [ "bytes", "prost-derive", @@ -4880,13 +4853,13 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2" +checksum = "8bdf592881d821b83d471f8af290226c8d51402259e9bb5be7f9f8bdebbb11ac" dependencies = [ "bytes", "heck 0.4.1", - "itertools 0.11.0", + "itertools 0.10.5", "log", "multimap", "once_cell", @@ -4895,22 +4868,22 @@ dependencies = [ "prost", "prost-types", "regex", - "syn 2.0.48", + "syn 2.0.38", "tempfile", "which", ] [[package]] name = "prost-derive" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e" +checksum = "265baba7fabd416cf5078179f7d2cbeca4ce7a9041111900675ea7c4cb8a4c32" dependencies = [ "anyhow", - "itertools 0.11.0", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "itertools 0.10.5", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -4919,7 +4892,7 @@ version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "057237efdb71cf4b3f9396302a3d6599a92fa94063ba537b66130980ea9909f3" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "logos", "miette", "once_cell", @@ -4931,9 +4904,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.12.3" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e" +checksum = "e081b29f63d83a4bc75cfc9f3fe424f9156cf92d8a4f0c9407cce9a1b67327cf" dependencies = [ "prost", ] @@ -4980,18 +4953,18 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] [[package]] name = "pulldown-cmark" -version = "0.9.6" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" dependencies = [ - "bitflags 2.4.2", + "bitflags 1.3.2", "memchr", "unicase", ] @@ -5002,7 +4975,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20afe714292d5e879d8b12740aa223c6a88f118af41870e8b6196e39a02238a8" dependencies = [ - "crossbeam-utils 0.8.19", + "crossbeam-utils 0.8.16", "libc", "mach", "once_cell", @@ -5018,7 +4991,7 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a17e662a7a8291a865152364c20c7abc5e60486ab2001e8ec10b24862de0b9ab" dependencies = [ - "crossbeam-utils 0.8.19", + "crossbeam-utils 0.8.16", "libc", "mach2", "once_cell", @@ -5048,11 +5021,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.35" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ - "proc-macro2 1.0.78", + "proc-macro2 1.0.69", ] [[package]] @@ -5139,9 +5112,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.8.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" +checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" dependencies = [ "either", "rayon-core", @@ -5149,12 +5122,12 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.12.1" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" dependencies = [ - "crossbeam-deque 0.8.5", - "crossbeam-utils 0.8.19", + "crossbeam-deque 0.8.3", + "crossbeam-utils 0.8.16", ] [[package]] @@ -5166,6 +5139,15 @@ dependencies = [ "rand_core 0.3.1", ] +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "redox_syscall" version = "0.4.1" @@ -5177,13 +5159,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.3" +version = "1.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" +checksum = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.5", + "regex-automata 0.4.3", "regex-syntax 0.8.2", ] @@ -5198,9 +5180,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" dependencies = [ "aho-corasick", "memchr", @@ -5230,20 +5212,20 @@ dependencies = [ [[package]] name = "rend" -version = "0.4.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" +checksum = "a2571463863a6bd50c32f94402933f03457a3fbaf697a707c5be741e459f08fd" dependencies = [ "bytecheck", ] [[package]] name = "reqwest" -version = "0.11.24" +version = "0.11.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" +checksum = "046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "bytes", "encoding_rs", "futures-core", @@ -5263,12 +5245,11 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.10", - "rustls-pemfile 1.0.4", + "rustls 0.21.7", + "rustls-pemfile 1.0.3", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", "system-configuration", "tokio", "tokio-native-tls", @@ -5280,7 +5261,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.25.4", + "webpki-roots 0.25.2", "winreg", ] @@ -5378,9 +5359,9 @@ dependencies = [ [[package]] name = "rkyv" -version = "0.7.44" +version = "0.7.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" +checksum = "527a97cdfef66f65998b5f3b637c26f5a5ec09cc52a3f9932313ac645f4190f5" dependencies = [ "bitvec", "bytecheck", @@ -5396,12 +5377,12 @@ dependencies = [ [[package]] name = "rkyv_derive" -version = "0.7.44" +version = "0.7.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" +checksum = "b5c462a1328c8e67e4d6dbad1eb0355dd43e8ab432c6e227a43657f16ade5033" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -5433,9 +5414,9 @@ checksum = "afab94fb28594581f62d981211a9a4d53cc8130bbcbbb89a0440d9b8e81a7746" [[package]] name = "rsa" -version = "0.9.6" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc" +checksum = "af6c4b23d99685a1408194da11270ef8e9809aff951cc70ec9b17350b087e474" dependencies = [ "const-oid", "digest 0.10.7", @@ -5446,16 +5427,16 @@ dependencies = [ "pkcs8 0.10.2", "rand_core 0.6.4", "signature 2.2.0", - "spki 0.7.3", + "spki 0.7.2", "subtle", "zeroize", ] [[package]] name = "rust_decimal" -version = "1.34.2" +version = "1.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "755392e1a2f77afd95580d3f0d0e94ac83eeeb7167552c9b5bca549e61a94d83" +checksum = "06676aec5ccb8fc1da723cc8c0f9a46549f21ebb8753d3915c6c41db1e7f1dc4" dependencies = [ "arrayvec 0.7.4", "borsh", @@ -5496,39 +5477,39 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.31" +version = "0.38.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949" +checksum = "67ce50cb2e16c2903e30d1cbccfd8387a74b9d4c938b6a4c5ec6cc7556f7a8a0" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "rustls" -version = "0.21.10" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", - "ring 0.17.7", - "rustls-webpki 0.101.7", + "ring 0.16.20", + "rustls-webpki 0.101.6", "sct", ] [[package]] name = "rustls" -version = "0.22.2" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" +checksum = "fe6b63262c9fcac8659abfaa96cac103d28166d3ff3eaf8f412e19f3ae9e5a48" dependencies = [ "log", "ring 0.17.7", "rustls-pki-types", - "rustls-webpki 0.102.2", + "rustls-webpki 0.102.0", "subtle", "zeroize", ] @@ -5540,7 +5521,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", - "rustls-pemfile 1.0.4", + "rustls-pemfile 1.0.3", "schannel", "security-framework", ] @@ -5560,11 +5541,11 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.4" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", ] [[package]] @@ -5573,31 +5554,31 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.2.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a716eb65e3158e90e17cd93d855216e27bde02745ab842f2cab4a39dba1bacf" +checksum = "e7673e0aa20ee4937c6aacfc12bb8341cfbf054cdd21df6bec5fd0629fe9339b" [[package]] name = "rustls-webpki" -version = "0.101.7" +version = "0.101.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe" dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "de2635c8bc2b88d367767c5de8ea1d8db9af3f6219eba28442242d9ab81d1b89" dependencies = [ "ring 0.17.7", "rustls-pki-types", @@ -5612,9 +5593,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.16" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "same-file" @@ -5627,11 +5608,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -5642,12 +5623,12 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" -version = "0.7.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" dependencies = [ - "ring 0.17.7", - "untrusted 0.9.0", + "ring 0.16.20", + "untrusted 0.7.1", ] [[package]] @@ -5727,9 +5708,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.21" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0" +checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" dependencies = [ "serde", ] @@ -5742,9 +5723,9 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "sentry" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce4b57f1b521f674df7a1d200be8ff5d74e3712020ee25b553146657b5377d5" +checksum = "0097a48cd1999d983909f07cb03b15241c5af29e5e679379efac1c06296abecc" dependencies = [ "httpdate", "native-tls", @@ -5761,9 +5742,9 @@ dependencies = [ [[package]] name = "sentry-backtrace" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cc8d4e04a73de8f718dc703943666d03f25d3e9e4d0fb271ca0b8c76dfa00e" +checksum = "18a7b80fa1dd6830a348d38a8d3a9761179047757b7dca29aef82db0118b9670" dependencies = [ "backtrace", "once_cell", @@ -5773,9 +5754,9 @@ dependencies = [ [[package]] name = "sentry-contexts" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6436c1bad22cdeb02179ea8ef116ffc217797c028927def303bc593d9320c0d1" +checksum = "7615dc588930f1fd2e721774f25844ae93add2dbe2d3c2f995ce5049af898147" dependencies = [ "hostname", "libc", @@ -5787,9 +5768,9 @@ dependencies = [ [[package]] name = "sentry-core" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "901f761681f97db3db836ef9e094acdd8756c40215326c194201941947164ef1" +checksum = "8f51264e4013ed9b16558cce43917b983fa38170de2ca480349ceb57d71d6053" dependencies = [ "once_cell", "rand 0.8.5", @@ -5800,9 +5781,9 @@ dependencies = [ [[package]] name = "sentry-debug-images" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdb263e73d22f39946f6022ed455b7561b22ff5553aca9be3c6a047fa39c328" +checksum = "2fe6180fa564d40bb942c9f0084ffb5de691c7357ead6a2b7a3154fae9e401dd" dependencies = [ "findshlibs", "once_cell", @@ -5811,9 +5792,9 @@ dependencies = [ [[package]] name = "sentry-panic" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74fbf1c163f8b6a9d05912e1b272afa27c652e8b47ea60cb9a57ad5e481eea99" +checksum = "323160213bba549f9737317b152af116af35c0410f4468772ee9b606d3d6e0fa" dependencies = [ "sentry-backtrace", "sentry-core", @@ -5821,9 +5802,9 @@ dependencies = [ [[package]] name = "sentry-tracing" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82eabcab0a047040befd44599a1da73d3adb228ff53b5ed9795ae04535577704" +checksum = "38033822128e73f7b6ca74c1631cef8868890c6cb4008a291cf73530f87b4eac" dependencies = [ "sentry-backtrace", "sentry-core", @@ -5833,9 +5814,9 @@ dependencies = [ [[package]] name = "sentry-types" -version = "0.31.8" +version = "0.31.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da956cca56e0101998c8688bc65ce1a96f00673a0e58e663664023d4c7911e82" +checksum = "0e663b3eb62ddfc023c9cf5432daf5f1a4f6acb1df4d78dd80b740b32dd1a740" dependencies = [ "debugid", "hex", @@ -5856,9 +5837,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.196" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32" +checksum = "8e422a44e74ad4001bdc8eede9a4570ab52f71190e9c076d14369f38b9200537" dependencies = [ "serde_derive", ] @@ -5875,20 +5856,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.196" +version = "1.0.189" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67" +checksum = "1e48d1f918009ce3145511378cf68d613e3b3d9137d67272562080d68a2b32d5" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "serde_json" -version = "1.0.113" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79" +checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" dependencies = [ "itoa", "ryu", @@ -5897,9 +5878,9 @@ dependencies = [ [[package]] name = "serde_path_to_error" -version = "0.1.15" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebd154a240de39fdebcf5775d2675c204d7c13cf39a4c697be6493c8e734337c" +checksum = "4beec8bce849d58d06238cb50db2e1c417cfeafa4c63f692b15c82b7c80f8335" dependencies = [ "itoa", "serde", @@ -5936,8 +5917,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" dependencies = [ "darling", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -6082,9 +6063,9 @@ checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" [[package]] name = "similar" -version = "2.4.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21" +checksum = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" [[package]] name = "simple_asn1" @@ -6125,9 +6106,9 @@ dependencies = [ [[package]] name = "sketches-ddsketch" -version = "0.2.2" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" +checksum = "68a406c1882ed7f29cd5e248c9848a80e7cb6ae0fea82346d2746f2f941c07e1" [[package]] name = "slab" @@ -6140,9 +6121,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.13.1" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" +checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a" dependencies = [ "serde", ] @@ -6152,7 +6133,7 @@ name = "snapshots_creator" version = "0.1.0" dependencies = [ "anyhow", - "futures 0.3.30", + "futures 0.3.28", "prometheus_exporter", "rand 0.8.5", "tokio", @@ -6178,9 +6159,9 @@ dependencies = [ [[package]] name = "snow" -version = "0.9.6" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +checksum = "58021967fd0a5eeeb23b08df6cc244a4d4a5b4aec1d27c9e02fad1a58b4cd74e" dependencies = [ "aes-gcm", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -6220,7 +6201,7 @@ checksum = "41d1c5305e39e09653383c2c7244f2f78b3bcae37cf50c64cb4789c9f5096ec2" dependencies = [ "base64 0.13.1", "bytes", - "futures 0.3.30", + "futures 0.3.28", "http", "httparse", "log", @@ -6255,9 +6236,9 @@ dependencies = [ [[package]] name = "spki" -version = "0.7.3" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", "der 0.7.8", @@ -6275,7 +6256,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce81b7bd7c4493975347ef60d8c7e8b742d4694f4c49f93e0a12ea263938176c" dependencies = [ - "itertools 0.12.1", + "itertools 0.12.0", "nom", "unicode_categories", ] @@ -6306,7 +6287,7 @@ dependencies = [ "bytes", "chrono", "crc", - "crossbeam-queue 0.3.11", + "crossbeam-queue 0.3.8", "dotenvy", "either", "event-listener 2.5.3", @@ -6317,7 +6298,7 @@ dependencies = [ "futures-util", "hashlink", "hex", - "indexmap 2.2.2", + "indexmap 2.1.0", "ipnetwork", "log", "memchr", @@ -6344,8 +6325,8 @@ version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "sqlx-core", "sqlx-macros-core", "syn 1.0.109", @@ -6363,8 +6344,8 @@ dependencies = [ "heck 0.4.1", "hex", "once_cell", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "serde", "serde_json", "sha2 0.10.8", @@ -6385,9 +6366,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4" dependencies = [ "atoi", - "base64 0.21.7", + "base64 0.21.5", "bigdecimal", - "bitflags 2.4.2", + "bitflags 2.4.1", "byteorder", "bytes", "chrono", @@ -6430,9 +6411,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24" dependencies = [ "atoi", - "base64 0.21.7", + "base64 0.21.5", "bigdecimal", - "bitflags 2.4.2", + "bitflags 2.4.1", "byteorder", "chrono", "crc", @@ -6507,7 +6488,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" name = "storage_logs_dedup_migration" version = "0.1.0" dependencies = [ - "clap 4.4.18", + "clap 4.4.6", "tokio", "zksync_config", "zksync_dal", @@ -6557,8 +6538,8 @@ checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck 0.3.3", "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "syn 1.0.109", ] @@ -6578,8 +6559,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" dependencies = [ "heck 0.4.1", - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "rustversion", "syn 1.0.109", ] @@ -6607,19 +6588,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.48" +version = "2.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", + "proc-macro2 1.0.69", + "quote 1.0.33", "unicode-ident", ] @@ -6630,9 +6611,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" dependencies = [ "proc-macro-error", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -6725,22 +6706,22 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.9.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if 1.0.0", "fastrand", - "redox_syscall", + "redox_syscall 0.3.5", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] name = "termcolor" -version = "1.4.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" dependencies = [ "winapi-util", ] @@ -6760,30 +6741,20 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2cfbe7811249c4c914b06141b8ac0f2cee2733fb883d05eb19668a45fc60c3d5" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "test-log" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6159ab4116165c99fc88cce31f99fa2c9dbe08d3691cb38da02fc3b45f357d2b" -dependencies = [ - "env_logger 0.10.2", - "test-log-macros", -] - -[[package]] -name = "test-log-macros" -version = "0.2.14" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba277e77219e9eea169e8508942db1bf5d8a41ff2db9b20aab5a5aadc9fa25d" +checksum = "f66edd6b6cd810743c0c71e1d085e92b01ce6a72782032e3f794c8284fe4bcdd" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -6803,22 +6774,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.56" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad" +checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.56" +version = "1.0.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471" +checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -6862,13 +6833,12 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" dependencies = [ "deranged", "itoa", - "num-conv", "powerfmt", "serde", "time-core", @@ -6883,11 +6853,10 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.17" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ - "num-conv", "time-core", ] @@ -6936,9 +6905,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.36.0" +version = "1.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" +checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" dependencies = [ "backtrace", "bytes", @@ -6959,9 +6928,9 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -6980,7 +6949,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.10", + "rustls 0.21.7", "tokio", ] @@ -6990,7 +6959,7 @@ version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f" dependencies = [ - "rustls 0.22.2", + "rustls 0.22.1", "rustls-pki-types", "tokio", ] @@ -7008,9 +6977,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.10" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" +checksum = "1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d" dependencies = [ "bytes", "futures-core", @@ -7033,7 +7002,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.1.0", "toml_datetime", "winnow", ] @@ -7044,7 +7013,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ - "indexmap 2.2.2", + "indexmap 2.1.0", "toml_datetime", "winnow", ] @@ -7077,8 +7046,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ "async-compression", - "base64 0.21.7", - "bitflags 2.4.2", + "base64 0.21.5", + "bitflags 2.4.1", "bytes", "futures-core", "futures-util", @@ -7130,9 +7099,9 @@ version = "0.1.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -7147,9 +7116,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.2.0" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +checksum = "f751112709b4e791d8ce53e32c4ed2d353565a795ce84da2285393f41557bdf2" dependencies = [ "log", "once_cell", @@ -7168,9 +7137,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" dependencies = [ "matchers", "nu-ansi-term", @@ -7190,15 +7159,15 @@ dependencies = [ [[package]] name = "triomphe" -version = "0.1.11" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859eb650cfee7434994602c3a68b25d77ad9e68c8a6cd491616ef86661382eb3" +checksum = "0eee8098afad3fb0c54a9007aab6804558410503ad676d4633f9c2559a00ac0f" [[package]] name = "try-lock" -version = "0.2.5" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "typenum" @@ -7244,9 +7213,9 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" @@ -7309,7 +7278,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ad948c1cb799b1a70f836077721a92a35ac177d4daddf4c20a633786d4cf618" dependencies = [ - "quote 1.0.35", + "quote 1.0.33", "syn 1.0.109", ] @@ -7327,11 +7296,11 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.9.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" +checksum = "f5ccd538d4a604753ebc2f17cd9946e89b77bf87f6a8e2309667c6f2e87855e3" dependencies = [ - "base64 0.21.7", + "base64 0.21.5", "log", "native-tls", "once_cell", @@ -7340,12 +7309,12 @@ dependencies = [ [[package]] name = "url" -version = "2.5.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", - "idna 0.5.0", + "idna", "percent-encoding", "serde", ] @@ -7364,9 +7333,9 @@ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" [[package]] name = "uuid" -version = "1.7.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" +checksum = "88ad59a7560b41a70d191093a945f0b87bc1deeda46fb237479708a1d6b6cdfc" dependencies = [ "getrandom", "serde", @@ -7440,9 +7409,9 @@ name = "vise-macros" version = "0.1.0" source = "git+https://github.com/matter-labs/vise.git?rev=1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1#1c9cc500e92cf9ea052b230e114a6f9cce4fb2c1" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -7530,9 +7499,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if 1.0.0", "wasm-bindgen-macro", @@ -7540,24 +7509,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.40" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bde2032aeb86bdfaecc8b261eef3cba735cc426c1f3a3416d1e0791be95fc461" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if 1.0.0", "js-sys", @@ -7567,38 +7536,38 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.35", + "quote 1.0.33", "wasm-bindgen-macro-support", ] [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.90" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-streams" -version = "0.4.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -7609,9 +7578,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.67" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -7624,16 +7593,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5388522c899d1e1c96a4c307e3797e0f697ba7c77dd8e0e625ecba9dd0342937" dependencies = [ "arrayvec 0.7.4", - "base64 0.21.7", + "base64 0.21.5", "bytes", "derive_more", "ethabi", "ethereum-types", - "futures 0.3.30", + "futures 0.3.28", "futures-timer", "headers", "hex", - "idna 0.4.0", + "idna", "jsonrpc-core", "log", "once_cell", @@ -7650,15 +7619,15 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.25.4" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "webpki-roots" -version = "0.26.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009" +checksum = "0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188" dependencies = [ "rustls-pki-types", ] @@ -7714,11 +7683,20 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows-core" -version = "0.52.0" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets 0.52.0", + "windows-targets 0.42.2", ] [[package]] @@ -7731,12 +7709,18 @@ dependencies = [ ] [[package]] -name = "windows-sys" -version = "0.52.0" +name = "windows-targets" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows-targets 0.52.0", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -7755,19 +7739,10 @@ dependencies = [ ] [[package]] -name = "windows-targets" -version = "0.52.0" +name = "windows_aarch64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" -dependencies = [ - "windows_aarch64_gnullvm 0.52.0", - "windows_aarch64_msvc 0.52.0", - "windows_i686_gnu 0.52.0", - "windows_i686_msvc 0.52.0", - "windows_x86_64_gnu 0.52.0", - "windows_x86_64_gnullvm 0.52.0", - "windows_x86_64_msvc 0.52.0", -] +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" @@ -7776,10 +7751,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.0" +name = "windows_aarch64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -7788,10 +7763,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] -name = "windows_aarch64_msvc" -version = "0.52.0" +name = "windows_i686_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -7800,10 +7775,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] -name = "windows_i686_gnu" -version = "0.52.0" +name = "windows_i686_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -7812,10 +7787,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] -name = "windows_i686_msvc" -version = "0.52.0" +name = "windows_x86_64_gnu" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -7824,10 +7799,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] -name = "windows_x86_64_gnu" -version = "0.52.0" +name = "windows_x86_64_gnullvm" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -7836,10 +7811,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.0" +name = "windows_x86_64_msvc" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" @@ -7847,17 +7822,11 @@ version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" - [[package]] name = "winnow" -version = "0.5.37" +version = "0.5.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7cad8365489051ae9f054164e459304af2e7e9bb407c958076c8bf4aef52da5" +checksum = "a3b801d0e0a6726477cc207f60162da452f3a95adb368399bef20a946e06f65c" dependencies = [ "memchr", ] @@ -7898,29 +7867,29 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1c4061bedbb353041c12f413700357bec76df2c7e2ca8e4df8bac24c6bf68e3d" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "b3c129550b3e6de3fd0ba67ba5c81818f9805e58b8d7fee80a3a59d2c9fc601a" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] name = "zeroize" -version = "1.7.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] @@ -7931,9 +7900,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.78", - "quote 1.0.35", - "syn 2.0.48", + "proc-macro2 1.0.69", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -8078,7 +8047,7 @@ dependencies = [ [[package]] name = "zkevm_circuits" version = "1.4.0" -source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=main#fb3e2574b5c890342518fc930c145443f039a105" +source = "git+https://github.com/matter-labs/era-zkevm_circuits.git?branch=main#4fba537ccecc238e2da9c80844dc8c185e42466f" dependencies = [ "arrayvec 0.7.4", "bincode", @@ -8089,7 +8058,6 @@ dependencies = [ "itertools 0.10.5", "rand 0.4.6", "rand 0.8.5", - "seq-macro", "serde", "serde_json", "smallvec", @@ -8133,7 +8101,7 @@ name = "zkevm_opcode_defs" version = "1.3.2" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.3.2#dffacadeccdfdbff4bc124d44c595c4a6eae5013" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "blake2 0.10.6 (git+https://github.com/RustCrypto/hashes.git?rev=1f727ce37ff40fa0cce84eb8543a45bdd3ca4a4e)", "ethereum-types", "k256 0.11.6", @@ -8147,10 +8115,10 @@ name = "zkevm_opcode_defs" version = "1.4.1" source = "git+https://github.com/matter-labs/era-zkevm_opcode_defs.git?branch=v1.4.1#ba8228ff0582d21f64d6a319d50d0aec48e9e7b6" dependencies = [ - "bitflags 2.4.2", + "bitflags 2.4.1", "blake2 0.10.6 (registry+https://github.com/rust-lang/crates.io-index)", "ethereum-types", - "k256 0.13.3", + "k256 0.13.2", "lazy_static", "sha2 0.10.8", "sha3 0.10.8", @@ -8164,9 +8132,9 @@ dependencies = [ "bincode", "circuit_testing", "codegen 0.2.0", - "crossbeam 0.8.4", + "crossbeam 0.8.2", "derivative", - "env_logger 0.11.1", + "env_logger 0.10.0", "hex", "num-bigint 0.4.4", "num-integer", @@ -8191,9 +8159,9 @@ dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.0)", "codegen 0.2.0", - "crossbeam 0.8.4", + "crossbeam 0.8.2", "derivative", - "env_logger 0.11.1", + "env_logger 0.10.0", "hex", "rand 0.4.6", "rayon", @@ -8214,10 +8182,10 @@ dependencies = [ "bincode", "circuit_definitions 0.1.0 (git+https://github.com/matter-labs/era-zkevm_test_harness.git?branch=v1.4.1)", "codegen 0.2.0", - "crossbeam 0.8.4", + "crossbeam 0.8.2", "curl", "derivative", - "env_logger 0.11.1", + "env_logger 0.10.0", "hex", "lazy_static", "rand 0.4.6", @@ -8269,7 +8237,7 @@ dependencies = [ "anyhow", "assert_matches", "async-trait", - "futures 0.3.30", + "futures 0.3.28", "hex", "metrics", "serde_json", @@ -8477,7 +8445,7 @@ dependencies = [ "chrono", "ctrlc", "ethabi", - "futures 0.3.30", + "futures 0.3.28", "hex", "lazy_static", "metrics", @@ -8528,7 +8496,7 @@ dependencies = [ "bitflags 1.3.2", "chrono", "ctrlc", - "futures 0.3.30", + "futures 0.3.28", "governor", "hex", "itertools 0.10.5", @@ -8673,7 +8641,7 @@ dependencies = [ "actix-rt", "actix-web", "async-trait", - "futures 0.3.30", + "futures 0.3.28", "hex", "jsonrpc-core", "reqwest", @@ -8692,9 +8660,9 @@ name = "zksync_external_node" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.18", + "clap 4.4.6", "envy", - "futures 0.3.30", + "futures 0.3.28", "prometheus_exporter", "semver", "serde", @@ -8725,7 +8693,7 @@ version = "0.1.0" dependencies = [ "assert_matches", "async-trait", - "futures 0.3.30", + "futures 0.3.28", "serde", "serde_json", "tokio", @@ -8762,7 +8730,7 @@ name = "zksync_merkle_tree" version = "0.1.0" dependencies = [ "assert_matches", - "clap 4.4.18", + "clap 4.4.6", "insta", "leb128", "once_cell", @@ -8801,7 +8769,7 @@ version = "0.1.0" dependencies = [ "anyhow", "async-trait", - "futures 0.3.30", + "futures 0.3.28", "prometheus_exporter", "thiserror", "tokio", @@ -8865,12 +8833,12 @@ dependencies = [ "anyhow", "heck 0.4.1", "prettyplease", - "proc-macro2 1.0.78", + "proc-macro2 1.0.69", "prost-build", "prost-reflect", "protox", - "quote 1.0.35", - "syn 2.0.48", + "quote 1.0.33", + "syn 2.0.38", ] [[package]] @@ -8921,8 +8889,8 @@ name = "zksync_server" version = "0.1.0" dependencies = [ "anyhow", - "clap 4.4.18", - "futures 0.3.30", + "clap 4.4.6", + "futures 0.3.28", "serde_json", "tikv-jemallocator", "tokio", @@ -9047,7 +9015,7 @@ version = "0.1.0" dependencies = [ "anyhow", "bigdecimal", - "futures 0.3.30", + "futures 0.3.28", "hex", "itertools 0.10.5", "metrics", @@ -9078,13 +9046,32 @@ dependencies = [ "zksync_types", ] +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe 6.0.6", +] + [[package]] name = "zstd" version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bffb3309596d527cfcba7dfc6ed6052f1d39dfbd7c867aa2e865e4a449c10110" dependencies = [ - "zstd-safe", + "zstd-safe 7.0.0", +] + +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", ] [[package]] diff --git a/core/lib/l1_contract_interface/Cargo.toml b/core/lib/l1_contract_interface/Cargo.toml index 1b52889e92c..65f765e0fa1 100644 --- a/core/lib/l1_contract_interface/Cargo.toml +++ b/core/lib/l1_contract_interface/Cargo.toml @@ -17,7 +17,7 @@ zksync_prover_interface = { path = "../prover_interface" } # Used to serialize proof data codegen = { git = "https://github.com/matter-labs/solidity_plonk_verifier.git", branch = "dev" } # Used to calculate commitment for vk from the old L1 verifier contract (backward comatibility needs) -zkevm_test_harness_1_3_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } +zkevm_test_harness_1_3_3 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.3.3" } # Used to calculate the kzg commitment and proofs zkevm_test_harness_1_4_1 = { package = "zkevm_test_harness", git = "https://github.com/matter-labs/era-zkevm_test_harness.git", branch = "v1.4.1" } diff --git a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs index c90f6f281ff..8ffd9c39599 100644 --- a/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs +++ b/core/lib/l1_contract_interface/src/i_executor/commit/kzg.rs @@ -5,7 +5,7 @@ use std::convert::TryInto; use sha2::Sha256; use sha3::{Digest, Keccak256}; -use zkevm_test_harness_1_3_1::ff::{PrimeField, PrimeFieldRepr}; +use zkevm_test_harness_1_3_3::ff::{PrimeField, PrimeFieldRepr}; use zkevm_test_harness_1_4_1::{ kzg::{compute_commitment, compute_proof, compute_proof_poly, KzgSettings}, zkevm_circuits::{ diff --git a/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs b/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs index f22e384078e..6d90895cb08 100644 --- a/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs +++ b/core/lib/l1_contract_interface/src/pre_boojum_verifier/vk_transform.rs @@ -3,7 +3,7 @@ use std::str::FromStr; -use zkevm_test_harness_1_3_1::{ +use zkevm_test_harness_1_3_3::{ abstract_zksync_circuit::concrete_circuits::ZkSyncCircuit, bellman::{ bn256::{Bn256, Fq, Fr, G1Affine},