From 8a2ac3ab4ef26bccef205679aec17fef340a192c Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 11:15:30 +0000 Subject: [PATCH 01/39] feat: parity circuits --- .../noir-protocol-circuits/crates/parity-base/Nargo.toml | 9 +++++++++ .../crates/parity-base/src/main.nr | 5 +++++ .../noir-protocol-circuits/crates/parity-lib/Nargo.toml | 8 ++++++++ .../noir-protocol-circuits/crates/parity-lib/src/base.nr | 0 .../crates/parity-lib/src/base/base_parity_inputs.nr | 0 .../parity-lib/src/base/base_parity_public_inputs.nr | 0 .../noir-protocol-circuits/crates/parity-lib/src/root.nr | 5 +++++ .../crates/parity-lib/src/root/root_parity_inputs.nr | 3 +++ .../parity-lib/src/root/root_parity_public_inputs.nr | 0 .../noir-protocol-circuits/crates/parity-root/Nargo.toml | 9 +++++++++ .../crates/parity-root/src/main.nr | 5 +++++ 11 files changed, 44 insertions(+) create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-base/Nargo.toml create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/Nargo.toml create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-root/Nargo.toml create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr diff --git a/noir-projects/noir-protocol-circuits/crates/parity-base/Nargo.toml b/noir-projects/noir-protocol-circuits/crates/parity-base/Nargo.toml new file mode 100644 index 000000000000..35d36fe1e56e --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-base/Nargo.toml @@ -0,0 +1,9 @@ +[package] +name = "parity_base" +type = "bin" +authors = [""] +compiler_version = ">=0.18.0" + +[dependencies] +parity_lib = { path = "../parity-lib" } +types = { path = "../types" } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr b/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr new file mode 100644 index 000000000000..926de2b597e6 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr @@ -0,0 +1,5 @@ +use dep::parity_lib::base::{BaseParityInputs, BaseParityPublicInputs}; + +fn main(inputs: BaseParityInputs) -> pub BaseParityPublicInputs { + inputs.base_parity_circuit() +} diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/Nargo.toml b/noir-projects/noir-protocol-circuits/crates/parity-lib/Nargo.toml new file mode 100644 index 000000000000..45d8bf4b72f3 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/Nargo.toml @@ -0,0 +1,8 @@ +[package] +name = "parity_lib" +type = "lib" +authors = [""] +compiler_version = ">=0.18.0" + +[dependencies] +types = { path = "../types" } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr new file mode 100644 index 000000000000..24141ada8190 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr @@ -0,0 +1,5 @@ +mod root_parity_inputs; +mod root_parity_public_inputs; + +use root_parity_inputs::RootParityInputs; +use root_parity_public_inputs::RootParityPublicInputs; \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr new file mode 100644 index 000000000000..7de2a15fa898 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -0,0 +1,3 @@ +struct RootParityInputs { + children: [RootParityInput; 2], +} diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-root/Nargo.toml b/noir-projects/noir-protocol-circuits/crates/parity-root/Nargo.toml new file mode 100644 index 000000000000..7333bf020af8 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-root/Nargo.toml @@ -0,0 +1,9 @@ +[package] +name = "parity_root" +type = "bin" +authors = [""] +compiler_version = ">=0.18.0" + +[dependencies] +parity_lib = { path = "../parity-lib" } +types = { path = "../types" } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr b/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr new file mode 100644 index 000000000000..eed1d9343f9b --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr @@ -0,0 +1,5 @@ +use dep::parity_lib::root::{RootParityInputs, RootParityPublicInputs}; + +fn main(inputs: RootParityInputs) -> pub RootParityInputsPublicInputs { + inputs.root_parity_circuit() +} From 698d62191c9be6e02811c1210fd22985dbfbc71b Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 12:43:25 +0000 Subject: [PATCH 02/39] WIP --- noir-projects/noir-protocol-circuits/Nargo.toml | 3 +++ .../crates/parity-base/src/main.nr | 4 ++-- .../crates/parity-lib/src/base.nr | 1 + .../crates/parity-lib/src/base/base_parity_inputs.nr | 5 +++++ .../parity-lib/src/base/base_parity_public_inputs.nr | 0 .../crates/parity-lib/src/lib.nr | 12 ++++++++++++ .../crates/parity-lib/src/parity_public_inputs.nr | 10 ++++++++++ .../crates/parity-lib/src/root.nr | 7 ++----- .../crates/parity-lib/src/root/root_parity_input.nr | 7 +++++++ .../crates/parity-lib/src/root/root_parity_inputs.nr | 2 ++ .../parity-lib/src/root/root_parity_public_inputs.nr | 0 .../crates/parity-root/src/main.nr | 4 ++-- 12 files changed, 46 insertions(+), 9 deletions(-) delete mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/parity_public_inputs.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_input.nr delete mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr diff --git a/noir-projects/noir-protocol-circuits/Nargo.toml b/noir-projects/noir-protocol-circuits/Nargo.toml index 3be5d5293946..ee1eda1c5116 100644 --- a/noir-projects/noir-protocol-circuits/Nargo.toml +++ b/noir-projects/noir-protocol-circuits/Nargo.toml @@ -1,6 +1,9 @@ [workspace] members = [ "crates/types", + "crates/parity-base", + "crates/parity-lib", + "crates/parity-root", "crates/private-kernel-lib", "crates/private-kernel-init", "crates/private-kernel-init-simulated", diff --git a/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr b/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr index 926de2b597e6..8fea34b8cf84 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-base/src/main.nr @@ -1,5 +1,5 @@ -use dep::parity_lib::base::{BaseParityInputs, BaseParityPublicInputs}; +use dep::parity_lib::{BaseParityInputs, ParityPublicInputs}; -fn main(inputs: BaseParityInputs) -> pub BaseParityPublicInputs { +fn main(inputs: BaseParityInputs) -> pub ParityPublicInputs { inputs.base_parity_circuit() } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr index e69de29bb2d1..962604a949f3 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base.nr @@ -0,0 +1 @@ +mod base_parity_inputs; \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index e69de29bb2d1..09b33ba84c2b 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -0,0 +1,5 @@ +global NUM_MSGS_PER_BASE_PARITY: Field = 2; + +struct BaseParityInputs { + msgs: [Field; NUM_MSGS_PER_BASE_PARITY], +} diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_public_inputs.nr deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr new file mode 100644 index 000000000000..613b78fe3653 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr @@ -0,0 +1,12 @@ +// Base parity +mod base; + +// Root parity +mod root; + +mod parity_public_inputs; + +use crate::base::base_parity_inputs::BaseParityInputs; +use crate::root::root_parity_input::RootParityInput; +use crate::root::root_parity_inputs::RootParityInputs; +use crate::parity_public_inputs::ParityPublicInputs; \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/parity_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/parity_public_inputs.nr new file mode 100644 index 000000000000..4a5587b9d133 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/parity_public_inputs.nr @@ -0,0 +1,10 @@ +use dep::types::{ + constants::NUM_FIELDS_PER_SHA256, + mocked::AggregationObject, +}; + +struct ParityPublicInputs { + aggregation_object: AggregationObject, + sha_root: [Field; NUM_FIELDS_PER_SHA256], + converted_root: Field, +} diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr index 24141ada8190..fad5b442cd42 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root.nr @@ -1,5 +1,2 @@ -mod root_parity_inputs; -mod root_parity_public_inputs; - -use root_parity_inputs::RootParityInputs; -use root_parity_public_inputs::RootParityPublicInputs; \ No newline at end of file +mod root_parity_input; +mod root_parity_inputs; \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_input.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_input.nr new file mode 100644 index 000000000000..bafb3dff201a --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_input.nr @@ -0,0 +1,7 @@ +use dep::types::mocked::Proof; +use crate::parity_public_inputs::ParityPublicInputs; + +struct RootParityInput { + proof: Proof, + public_inputs: ParityPublicInputs, +} diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr index 7de2a15fa898..c74f09fdf4ad 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -1,3 +1,5 @@ +use crate::root::root_parity_input::RootParityInput; + struct RootParityInputs { children: [RootParityInput; 2], } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_public_inputs.nr deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr b/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr index eed1d9343f9b..11125777b663 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-root/src/main.nr @@ -1,5 +1,5 @@ -use dep::parity_lib::root::{RootParityInputs, RootParityPublicInputs}; +use dep::parity_lib::{RootParityInputs, ParityPublicInputs}; -fn main(inputs: RootParityInputs) -> pub RootParityInputsPublicInputs { +fn main(inputs: RootParityInputs) -> pub ParityPublicInputs { inputs.root_parity_circuit() } From e6f10c098447f1d8f18765cc85e5ad25bd3e1504 Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 13:06:32 +0000 Subject: [PATCH 03/39] WIP --- .../crates/parity-lib/src/base/base_parity_inputs.nr | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index 09b33ba84c2b..1eafc7480336 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -1,5 +1,13 @@ +use dep::parity_lib::ParityPublicInputs; + global NUM_MSGS_PER_BASE_PARITY: Field = 2; struct BaseParityInputs { msgs: [Field; NUM_MSGS_PER_BASE_PARITY], } + +impl BaseParityInputs { + pub fn base_parity_circuit(self) -> ParityPublicInputs { + + } +} \ No newline at end of file From 504e8679ac90d9895f27717690e835b7328d3817 Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 14:28:05 +0000 Subject: [PATCH 04/39] WIP --- .../parity-lib/src/base/base_parity_inputs.nr | 19 ++++++++++--- .../parity-lib/src/root/root_parity_inputs.nr | 27 ++++++++++++++++++- 2 files changed, 41 insertions(+), 5 deletions(-) diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index 1eafc7480336..3a9bb5411a75 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -1,13 +1,24 @@ -use dep::parity_lib::ParityPublicInputs; +use crate::parity_public_inputs::ParityPublicInputs; +use dep::types::{ + constants::NUM_FIELDS_PER_SHA256, + mocked::AggregationObject, +}; -global NUM_MSGS_PER_BASE_PARITY: Field = 2; +global NUM_MSGS_PER_BASE_PARITY: Field = 4; struct BaseParityInputs { - msgs: [Field; NUM_MSGS_PER_BASE_PARITY], + msgs: [[Field; NUM_FIELDS_PER_SHA256]; NUM_MSGS_PER_BASE_PARITY], } impl BaseParityInputs { pub fn base_parity_circuit(self) -> ParityPublicInputs { - + // sha_root = MERKLE_TREE(inputs.msgs, SHA256); + // converted_root = MERKLE_TREE(inputs.msgs, SNARK_FRIENDLY_HASH_FUNCTION); + // return ParityPublicInputs(sha_root, converted_root) + ParityPublicInputs { + aggregation_object: AggregationObject {}, + sha_root: [0, 0], + converted_root: 0, + } } } \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr index c74f09fdf4ad..99b2dead6efc 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -1,5 +1,30 @@ -use crate::root::root_parity_input::RootParityInput; +use dep::types::mocked::AggregationObject; +use crate::{ + parity_public_inputs::ParityPublicInputs, + root::root_parity_input::RootParityInput, +}; struct RootParityInputs { children: [RootParityInput; 2], } + +impl RootParityInputs { + pub fn root_parity_circuit(self) -> ParityPublicInputs { + // for msg in inputs.children: + // assert msg.proof.verify(msg.public_inputs); + + // sha_root = MERKLE_TREE( + // [msg.public_inputs.sha_root for msg in inputs.children], + // SHA256 + // ); + // converted_root = MERKLE_TREE( + // [msg.public_inputs.converted_root for msg in inputs.children], + // SNARK_FRIENDLY_HASH_FUNCTION + // ); + ParityPublicInputs { + aggregation_object: AggregationObject {}, + sha_root: [0, 0], + converted_root: 0, + } + } +} \ No newline at end of file From 602c9210f5d4359f969911a57fa47fbb4dbd6139 Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 15:29:05 +0000 Subject: [PATCH 05/39] finished parity circuits --- .../parity-lib/src/base/base_parity_inputs.nr | 26 +++++++--- .../crates/parity-lib/src/lib.nr | 5 +- .../parity-lib/src/root/root_parity_inputs.nr | 36 ++++++++----- .../crates/parity-lib/src/utils.nr | 1 + .../src/utils/sha256_merkle_tree.nr | 51 +++++++++++++++++++ 5 files changed, 94 insertions(+), 25 deletions(-) create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils.nr create mode 100644 noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils/sha256_merkle_tree.nr diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index 3a9bb5411a75..07c748762c16 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -1,10 +1,14 @@ -use crate::parity_public_inputs::ParityPublicInputs; +use crate::{ + parity_public_inputs::ParityPublicInputs, + utils::sha256_merkle_tree::Sha256MerkleTree, +}; use dep::types::{ constants::NUM_FIELDS_PER_SHA256, + merkle_tree::MerkleTree, mocked::AggregationObject, }; -global NUM_MSGS_PER_BASE_PARITY: Field = 4; +global NUM_MSGS_PER_BASE_PARITY: u64 = 4; struct BaseParityInputs { msgs: [[Field; NUM_FIELDS_PER_SHA256]; NUM_MSGS_PER_BASE_PARITY], @@ -12,13 +16,21 @@ struct BaseParityInputs { impl BaseParityInputs { pub fn base_parity_circuit(self) -> ParityPublicInputs { - // sha_root = MERKLE_TREE(inputs.msgs, SHA256); - // converted_root = MERKLE_TREE(inputs.msgs, SNARK_FRIENDLY_HASH_FUNCTION); - // return ParityPublicInputs(sha_root, converted_root) + let sha_tree = Sha256MerkleTree::new(self.msgs); + + // TODO: nuke this flattening once we truncate sha256 to 1 field + let mut flat_msgs = [0; NUM_FIELDS_PER_SHA256 * NUM_MSGS_PER_BASE_PARITY]; + for i in 0..NUM_MSGS_PER_BASE_PARITY { + for j in 0..NUM_FIELDS_PER_SHA256 { + flat_msgs[i * NUM_FIELDS_PER_SHA256 + j] = self.msgs[i][j]; + } + } + let pedersen_tree = MerkleTree::new(flat_msgs); + ParityPublicInputs { aggregation_object: AggregationObject {}, - sha_root: [0, 0], - converted_root: 0, + sha_root: sha_tree.get_root(), + converted_root: pedersen_tree.get_root(), } } } \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr index 613b78fe3653..c4cdf2ff697e 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/lib.nr @@ -1,10 +1,7 @@ -// Base parity mod base; - -// Root parity mod root; - mod parity_public_inputs; +mod utils; use crate::base::base_parity_inputs::BaseParityInputs; use crate::root::root_parity_input::RootParityInput; diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr index 99b2dead6efc..4cb979748e34 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -1,30 +1,38 @@ -use dep::types::mocked::AggregationObject; +use dep::types::{ + constants::NUM_FIELDS_PER_SHA256, + merkle_tree::MerkleTree, + mocked::AggregationObject, +}; use crate::{ parity_public_inputs::ParityPublicInputs, root::root_parity_input::RootParityInput, + utils::sha256_merkle_tree::Sha256MerkleTree, }; +global NUM_BASE_PARITY_PER_ROOT_PARITY: u64 = 4; + struct RootParityInputs { - children: [RootParityInput; 2], + children: [RootParityInput; NUM_BASE_PARITY_PER_ROOT_PARITY], } impl RootParityInputs { pub fn root_parity_circuit(self) -> ParityPublicInputs { - // for msg in inputs.children: - // assert msg.proof.verify(msg.public_inputs); + // TODO: verify proofs of inputs.children + + let mut sha_roots = [[0; NUM_FIELDS_PER_SHA256]; NUM_BASE_PARITY_PER_ROOT_PARITY]; + let mut converted_roots = [0; NUM_BASE_PARITY_PER_ROOT_PARITY]; + for i in 0..NUM_BASE_PARITY_PER_ROOT_PARITY { + sha_roots[i] = self.children[i].public_inputs.sha_root; + converted_roots[i] = self.children[i].public_inputs.converted_root; + } + + let sha_tree = Sha256MerkleTree::new(sha_roots); + let pedersen_tree = MerkleTree::new(converted_roots); - // sha_root = MERKLE_TREE( - // [msg.public_inputs.sha_root for msg in inputs.children], - // SHA256 - // ); - // converted_root = MERKLE_TREE( - // [msg.public_inputs.converted_root for msg in inputs.children], - // SNARK_FRIENDLY_HASH_FUNCTION - // ); ParityPublicInputs { aggregation_object: AggregationObject {}, - sha_root: [0, 0], - converted_root: 0, + sha_root: sha_tree.get_root(), + converted_root: pedersen_tree.get_root(), } } } \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils.nr new file mode 100644 index 000000000000..2d74cfe73d55 --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils.nr @@ -0,0 +1 @@ +mod sha256_merkle_tree; \ No newline at end of file diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils/sha256_merkle_tree.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils/sha256_merkle_tree.nr new file mode 100644 index 000000000000..12f5e85e448d --- /dev/null +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/utils/sha256_merkle_tree.nr @@ -0,0 +1,51 @@ +use dep::types::{ + constants::NUM_FIELDS_PER_SHA256, + hash::accumulate_sha256, +}; + +// Note: Once we'll truncate sha256 to 1 Field we can nuke this and generalize the standard MerkleTree over different +// hash functions. +struct Sha256MerkleTree { + leaves: [[Field; NUM_FIELDS_PER_SHA256]; N], + nodes: [[Field; NUM_FIELDS_PER_SHA256]; N], +} + +impl Sha256MerkleTree { + pub fn new(leaves: [[Field; NUM_FIELDS_PER_SHA256]; N]) -> Self { + let mut nodes = [[0; NUM_FIELDS_PER_SHA256]; N]; + + // We need one less node than leaves, but we cannot have computed array lengths + let total_nodes = N - 1; + let half_size = N / 2; + + // hash base layer + for i in 0..half_size { + nodes[i] = accumulate_sha256( + [ + U128::from_integer(leaves[2*i][0]), + U128::from_integer(leaves[2*i][1]), + U128::from_integer(leaves[2*i+1][0]), + U128::from_integer(leaves[2*i+1][1]) + ] + ); + } + + // hash the other layers + for i in 0..(total_nodes - half_size) { + nodes[half_size+i] = accumulate_sha256( + [ + U128::from_integer(nodes[2*i][0]), + U128::from_integer(nodes[2*i][1]), + U128::from_integer(nodes[2*i+1][0]), + U128::from_integer(nodes[2*i+1][1]) + ] + ); + } + + Sha256MerkleTree { leaves, nodes } + } + + fn get_root(self) -> [Field; NUM_FIELDS_PER_SHA256] { + self.nodes[N - 2] + } +} \ No newline at end of file From bece824be1093ebdc70b996792a11a4269f9a638 Mon Sep 17 00:00:00 2001 From: benesjan Date: Fri, 8 Mar 2024 16:08:45 +0000 Subject: [PATCH 06/39] WIP --- .../crates/rollup-lib/Nargo.toml | 1 + .../crates/rollup-lib/src/root/root_rollup_inputs.nr | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/Nargo.toml b/noir-projects/noir-protocol-circuits/crates/rollup-lib/Nargo.toml index 0a1dcaa0012b..9f7956eb2654 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/Nargo.toml +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/Nargo.toml @@ -6,3 +6,4 @@ compiler_version = ">=0.18.0" [dependencies] types = { path = "../types" } +parity_lib = { path = "../parity-lib" } diff --git a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/root/root_rollup_inputs.nr b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/root/root_rollup_inputs.nr index 508e4d9ed44e..e9809b19c81a 100644 --- a/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/root/root_rollup_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/rollup-lib/src/root/root_rollup_inputs.nr @@ -2,7 +2,9 @@ use crate::{ abis::{previous_rollup_data::PreviousRollupData, constant_rollup_data::ConstantRollupData}, components, root::{compute_messages_hash, root_rollup_public_inputs::RootRollupPublicInputs} }; -use dep::types::{ +use dep::{ + parity_lib::RootParityInput, + types::{ abis::{append_only_tree_snapshot::AppendOnlyTreeSnapshot, nullifier_leaf_preimage::NullifierLeafPreimage}, constants::{ NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, L1_TO_L2_MSG_SUBTREE_HEIGHT, @@ -11,12 +13,15 @@ use dep::types::{ header::Header, content_commitment::ContentCommitment, merkle_tree::{append_only_tree, calculate_subtree_root, calculate_empty_tree_root}, state_reference::StateReference +} }; struct RootRollupInputs { // All below are shared between the base and merge rollups previous_rollup_data : [PreviousRollupData; 2], + l1_to_l2_roots: RootParityInput, + // inputs required to process l1 to l2 messages new_l1_to_l2_messages : [Field; NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP], new_l1_to_l2_message_tree_root_sibling_path : [Field; L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH], @@ -44,6 +49,7 @@ impl RootRollupInputs { let l1_to_l2_subtree_root = calculate_subtree_root(self.new_l1_to_l2_messages); // Insert subtree into the l1 to l2 data tree + // TODO(#4492): insert the root from l1_to_l2_roots here instead of the one from old inbox let empty_l1_to_l2_subtree_root = calculate_empty_tree_root(L1_TO_L2_MSG_SUBTREE_HEIGHT); let new_l1_to_l2_message_tree_snapshot = append_only_tree::insert_subtree_to_snapshot_tree( self.start_l1_to_l2_message_tree_snapshot, @@ -57,11 +63,10 @@ impl RootRollupInputs { let state = StateReference { l1_to_l2_message_tree: new_l1_to_l2_message_tree_snapshot, partial: right.end }; - // TODO: in_hash: #4633 and out_hash: #4561 let content_commitment = ContentCommitment { tx_tree_height: right.height_in_block_tree + 1, txs_effects_hash: components::compute_txs_effects_hash(self.previous_rollup_data), - in_hash: [0, 0], + in_hash: self.l1_to_l2_roots.public_inputs.sha_root, out_hash: components::compute_out_hash(self.previous_rollup_data) }; From 47f82d2ae92f9e9c58177c54928e299dce20f03a Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 08:44:13 +0000 Subject: [PATCH 07/39] TS stuff --- yarn-project/circuits.js/src/structs/index.ts | 2 ++ .../structs/parity/parity_public_inputs.ts | 32 +++++++++++++++++++ .../src/structs/parity/root_parity_input.ts | 26 +++++++++++++++ .../src/structs/rollup/root_rollup.ts | 6 ++++ .../circuits.js/src/tests/factories.ts | 15 +++++++++ .../src/type_conversion.ts | 1 + 6 files changed, 82 insertions(+) create mode 100644 yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts create mode 100644 yarn-project/circuits.js/src/structs/parity/root_parity_input.ts diff --git a/yarn-project/circuits.js/src/structs/index.ts b/yarn-project/circuits.js/src/structs/index.ts index 2a1b8079c163..8e7289b7e867 100644 --- a/yarn-project/circuits.js/src/structs/index.ts +++ b/yarn-project/circuits.js/src/structs/index.ts @@ -27,6 +27,8 @@ export * from './kernel/public_kernel_data.js'; export * from './kernel/public_kernel_tail_circuit_private_inputs.js'; export * from './kernel/rollup_kernel_circuit_public_inputs.js'; export * from './kernel/rollup_kernel_data.js'; +export * from './parity/parity_public_inputs.js'; +export * from './parity/root_parity_input.js'; export * from './l2_to_l1_message.js'; export * from './membership_witness.js'; export * from './nullifier_key_validation_request.js'; diff --git a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts new file mode 100644 index 000000000000..00c6bb5aee47 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts @@ -0,0 +1,32 @@ +import { Fr } from '@aztec/foundation/fields'; +import { serializeToBuffer } from '@aztec/foundation/serialize'; +import { FieldsOf } from '@aztec/foundation/types'; + +import { AggregationObject } from '../aggregation_object.js'; + +export class ParityPublicInputs { + constructor( + /** Aggregated proof of all the parity circuit iterations. */ + public readonly aggregationObject: AggregationObject, + /** Root of the SHA256 tree. */ + public readonly shaRoot: Buffer, + /** Root of the converted tree. */ + public readonly convertedRoot: Fr, + ) { + if (shaRoot.length !== 32) { + throw new Error(`shaRoot buffer must be 32 bytes. Got ${shaRoot.length} bytes`); + } + } + + toBuffer() { + return serializeToBuffer(...ParityPublicInputs.getFields(this)); + } + + static from(fields: FieldsOf): ParityPublicInputs { + return new ParityPublicInputs(...ParityPublicInputs.getFields(fields)); + } + + static getFields(fields: FieldsOf) { + return [fields.aggregationObject, fields.shaRoot, fields.convertedRoot] as const; + } +} diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts new file mode 100644 index 000000000000..d38a6f4b1c7f --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts @@ -0,0 +1,26 @@ +import { serializeToBuffer } from '@aztec/foundation/serialize'; +import { FieldsOf } from '@aztec/foundation/types'; + +import { Proof } from '../proof.js'; +import { ParityPublicInputs } from './parity_public_inputs.js'; + +export class RootParityInput { + constructor( + /** The proof of the execution of the parity circuit. */ + public readonly proof: Proof, + /** The public inputs of the parity circuit. */ + public readonly publicInputs: ParityPublicInputs, + ) {} + + toBuffer() { + return serializeToBuffer(...RootParityInput.getFields(this)); + } + + static from(fields: FieldsOf): RootParityInput { + return new RootParityInput(...RootParityInput.getFields(fields)); + } + + static getFields(fields: FieldsOf) { + return [fields.proof, fields.publicInputs] as const; + } +} diff --git a/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts b/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts index 2a839e6eda6e..d906f5d8def8 100644 --- a/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts +++ b/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts @@ -10,6 +10,7 @@ import { } from '../../constants.gen.js'; import { AggregationObject } from '../aggregation_object.js'; import { Header } from '../header.js'; +import { RootParityInput } from '../parity/root_parity_input.js'; import { AppendOnlyTreeSnapshot } from './append_only_tree_snapshot.js'; import { PreviousRollupData } from './previous_rollup_data.js'; @@ -24,6 +25,10 @@ export class RootRollupInputs { * from 2 merge or base rollup circuits. */ public previousRollupData: [PreviousRollupData, PreviousRollupData], + /** + * The original and converted roots of the L1 to L2 messages. + */ + public l1ToL2Roots: RootParityInput, /** * New L1 to L2 messages. */ @@ -57,6 +62,7 @@ export class RootRollupInputs { static getFields(fields: FieldsOf) { return [ fields.previousRollupData, + fields.l1ToL2Roots, fields.newL1ToL2Messages, fields.newL1ToL2MessageTreeRootSiblingPath, fields.startL1ToL2MessageTreeSnapshot, diff --git a/yarn-project/circuits.js/src/tests/factories.ts b/yarn-project/circuits.js/src/tests/factories.ts index 4a08435fb342..fc4db48d91d3 100644 --- a/yarn-project/circuits.js/src/tests/factories.ts +++ b/yarn-project/circuits.js/src/tests/factories.ts @@ -78,6 +78,7 @@ import { NullifierLeafPreimage, PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH, PUBLIC_DATA_TREE_HEIGHT, + ParityPublicInputs, PartialStateReference, Point, PreviousRollupData, @@ -108,6 +109,7 @@ import { ReadRequest, ReadRequestContext, RollupTypes, + RootParityInput, RootRollupInputs, RootRollupPublicInputs, SideEffect, @@ -1023,6 +1025,7 @@ export function makePreviousRollupData( export function makeRootRollupInputs(seed = 0, globalVariables?: GlobalVariables): RootRollupInputs { return new RootRollupInputs( [makePreviousRollupData(seed, globalVariables), makePreviousRollupData(seed + 0x1000, globalVariables)], + makeRootParityInput(seed + 0x2000), makeTuple(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, fr, 0x2100), makeTuple(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, fr, 0x2100), makeAppendOnlyTreeSnapshot(seed + 0x2200), @@ -1031,6 +1034,18 @@ export function makeRootRollupInputs(seed = 0, globalVariables?: GlobalVariables ); } +export function makeRootParityInput(seed = 0): RootParityInput { + return new RootParityInput(makeProof(seed), makeParityPublicInputs(seed + 0x100)); +} + +export function makeParityPublicInputs(seed = 0): ParityPublicInputs { + return new ParityPublicInputs( + makeAggregationObject(seed), + toBufferBE(BigInt(seed + 0x200), 32), + new Fr(BigInt(seed + 0x300)), + ); +} + /** * Makes root rollup public inputs. * @param seed - The seed to use for generating the root rollup public inputs. diff --git a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts index fef5e799bb26..475e550959b0 100644 --- a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts +++ b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts @@ -1665,6 +1665,7 @@ export function mapAppendOnlyTreeSnapshotToNoir(snapshot: AppendOnlyTreeSnapshot export function mapRootRollupInputsToNoir(rootRollupInputs: RootRollupInputs): RootRollupInputsNoir { return { previous_rollup_data: mapTuple(rootRollupInputs.previousRollupData, mapPreviousRollupDataToNoir), + l1_to_l2_roots: mapRootParityInputToNoir(rootRollupInputs.l1ToL2Roots), new_l1_to_l2_messages: mapTuple(rootRollupInputs.newL1ToL2Messages, mapFieldToNoir), new_l1_to_l2_message_tree_root_sibling_path: mapTuple( rootRollupInputs.newL1ToL2MessageTreeRootSiblingPath, From b15db4c229737ddb62dfd8c4f9fa70fefdbc5438 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 08:57:25 +0000 Subject: [PATCH 08/39] type conversion --- .../src/type_conversion.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts index 475e550959b0..133cfbac52ac 100644 --- a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts +++ b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts @@ -57,6 +57,7 @@ import { NullifierNonExistentReadRequestHints, NullifierReadRequestHints, PUBLIC_DATA_TREE_HEIGHT, + ParityPublicInputs, PartialStateReference, PendingReadHint, Point, @@ -90,6 +91,7 @@ import { ReadRequestStatus, RollupKernelCircuitPublicInputs, RollupKernelData, + RootParityInput, RootRollupInputs, RootRollupPublicInputs, SettledReadHint, @@ -189,8 +191,10 @@ import { FixedLengthArray, GlobalVariables as GlobalVariablesNoir, Header as HeaderNoir, + ParityPublicInputs as ParityPublicInputsNoir, PartialStateReference as PartialStateReferenceNoir, PreviousRollupData as PreviousRollupDataNoir, + RootParityInput as RootParityInputNoir, RootRollupInputs as RootRollupInputsNoir, RootRollupPublicInputs as RootRollupPublicInputsNoir, StateReference as StateReferenceNoir, @@ -1679,6 +1683,21 @@ export function mapRootRollupInputsToNoir(rootRollupInputs: RootRollupInputs): R }; } +export function mapRootParityInputToNoir(rootParityInput: RootParityInput): RootParityInputNoir { + return { + proof: {}, + public_inputs: mapParityPublicInputsToNoir(rootParityInput.publicInputs), + }; +} + +export function mapParityPublicInputsToNoir(parityPublicInputs: ParityPublicInputs): ParityPublicInputsNoir { + return { + aggregation_object: {}, + sha_root: mapSha256HashToNoir(parityPublicInputs.shaRoot), + converted_root: mapFieldToNoir(parityPublicInputs.convertedRoot), + }; +} + /** * Maps a root rollup public inputs from noir. * @param rootRollupPublicInputs - The noir root rollup public inputs. From bcfd65e83ef688aa08fa9de5eace434a1af781be Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 09:27:30 +0000 Subject: [PATCH 09/39] WIP on wiring the parity circuits --- .../circuit-types/src/l1_to_l2_message.ts | 7 ++++ .../src/block_builder/index.ts | 4 +- .../block_builder/solo_block_builder.test.ts | 38 +++++++++++++++---- .../src/block_builder/solo_block_builder.ts | 20 ++++++++-- .../src/sequencer/sequencer.ts | 15 ++++++-- 5 files changed, 70 insertions(+), 14 deletions(-) diff --git a/yarn-project/circuit-types/src/l1_to_l2_message.ts b/yarn-project/circuit-types/src/l1_to_l2_message.ts index 035d1ed58083..fe8ca217b868 100644 --- a/yarn-project/circuit-types/src/l1_to_l2_message.ts +++ b/yarn-project/circuit-types/src/l1_to_l2_message.ts @@ -9,6 +9,13 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; * Interface of classes allowing for the retrieval of L1 to L2 messages. */ export interface L1ToL2MessageSource { + /** + * Gets new L1 to L2 message (to be) included in a given block. + * @param blockNumber - L2 block number to get messages for. + * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). + */ + getNewL1ToL2Messages(blockNumber: bigint): Promise; + /** * Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee * @param limit - The maximum number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP). diff --git a/yarn-project/sequencer-client/src/block_builder/index.ts b/yarn-project/sequencer-client/src/block_builder/index.ts index df283609c32d..c1ad0a086eff 100644 --- a/yarn-project/sequencer-client/src/block_builder/index.ts +++ b/yarn-project/sequencer-client/src/block_builder/index.ts @@ -13,12 +13,14 @@ export interface BlockBuilder { * Note that the number of txs need to be a power of two. * @param globalVariables - Global variables to include in the block. * @param txs - Processed txs to include. + * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox. * @param newL1ToL2Messages - L1 to L2 messages to be part of the block. * @returns The new L2 block along with its proof from the root circuit. */ buildL2Block( globalVariables: GlobalVariables, txs: ProcessedTx[], - newL1ToL2Messages: Fr[], + newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox ): Promise<[L2Block, Proof]>; } diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts index 21b73c3f3b7a..a383020f57fa 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts @@ -78,7 +78,8 @@ describe('sequencer/solo_block_builder', () => { let baseRollupOutputLeft: BaseOrMergeRollupPublicInputs; let baseRollupOutputRight: BaseOrMergeRollupPublicInputs; let rootRollupOutput: RootRollupPublicInputs; - let mockL1ToL2Messages: Fr[]; + let newModelMockL1ToL2Messages: Buffer[]; // TODO(#4492): Rename this when purging the old inbox + let mockL1ToL2Messages: Fr[]; // TODO(#4492): Nuke this when purging the old inbox let globalVariables: GlobalVariables; @@ -101,6 +102,7 @@ describe('sequencer/solo_block_builder', () => { builder = new SoloBlockBuilder(builderDb, vks, simulator, prover); // Create mock l1 to L2 messages + newModelMockL1ToL2Messages = new Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)); mockL1ToL2Messages = new Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)); // Create mock outputs for simulator @@ -259,7 +261,12 @@ describe('sequencer/solo_block_builder', () => { const txs = await buildMockSimulatorInputs(); // Actually build a block! - const [l2Block, proof] = await builder.buildL2Block(globalVariables, txs, mockL1ToL2Messages); + const [l2Block, proof] = await builder.buildL2Block( + globalVariables, + txs, + newModelMockL1ToL2Messages, + mockL1ToL2Messages, + ); expect(l2Block.number).toEqual(blockNumber); expect(proof).toEqual(emptyProof); @@ -269,7 +276,9 @@ describe('sequencer/solo_block_builder', () => { // Assemble a fake transaction const txs = await buildMockSimulatorInputs(); const l1ToL2Messages = new Array(100).fill(new Fr(0n)); - await expect(builder.buildL2Block(globalVariables, txs, l1ToL2Messages)).rejects.toThrow(); + await expect( + builder.buildL2Block(globalVariables, txs, newModelMockL1ToL2Messages, l1ToL2Messages), + ).rejects.toThrow(); }); }); @@ -344,7 +353,12 @@ describe('sequencer/solo_block_builder', () => { ...(await Promise.all(times(totalCount - bloatedCount, makeEmptyProcessedTx))), ]; - const [l2Block] = await builder.buildL2Block(globalVariables, txs, mockL1ToL2Messages); + const [l2Block] = await builder.buildL2Block( + globalVariables, + txs, + newModelMockL1ToL2Messages, + mockL1ToL2Messages, + ); expect(l2Block.number).toEqual(blockNumber); await updateExpectedTreesFromTxs(txs); @@ -368,7 +382,12 @@ describe('sequencer/solo_block_builder', () => { makeEmptyProcessedTx(), ]); - const [l2Block] = await builder.buildL2Block(globalVariables, txs, mockL1ToL2Messages); + const [l2Block] = await builder.buildL2Block( + globalVariables, + txs, + newModelMockL1ToL2Messages, + mockL1ToL2Messages, + ); expect(l2Block.number).toEqual(blockNumber); }, 30_000); @@ -382,7 +401,7 @@ describe('sequencer/solo_block_builder', () => { const l1ToL2Messages = range(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 1 + 0x400).map(fr); - const [l2Block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages); + const [l2Block] = await builder.buildL2Block(globalVariables, txs, newModelMockL1ToL2Messages, l1ToL2Messages); expect(l2Block.number).toEqual(blockNumber); }, 200_000); @@ -418,7 +437,12 @@ describe('sequencer/solo_block_builder', () => { NULLIFIER_SUBTREE_HEIGHT, ); - const [l2Block] = await builder.buildL2Block(globalVariables, txs, mockL1ToL2Messages); + const [l2Block] = await builder.buildL2Block( + globalVariables, + txs, + newModelMockL1ToL2Messages, + mockL1ToL2Messages, + ); expect(l2Block.number).toEqual(blockNumber); }, 20000); diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index da3553c64a8c..4e7db2beeb97 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -33,6 +33,7 @@ import { RollupKernelCircuitPublicInputs, RollupKernelData, RollupTypes, + RootParityInput, RootRollupInputs, RootRollupPublicInputs, StateDiffHints, @@ -85,6 +86,7 @@ export class SoloBlockBuilder implements BlockBuilder { * Builds an L2 block with the given number containing the given txs, updating state trees. * @param globalVariables - Global variables to be used in the block. * @param txs - Processed transactions to include in the block. + * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox. * @param newL1ToL2Messages - L1 to L2 messages to be part of the block. * @param timestamp - Timestamp of the block. * @returns The new L2 block and a correctness proof as returned by the root rollup circuit. @@ -92,13 +94,19 @@ export class SoloBlockBuilder implements BlockBuilder { public async buildL2Block( globalVariables: GlobalVariables, txs: ProcessedTx[], + newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox newL1ToL2Messages: Fr[], ): Promise<[L2Block, Proof]> { // Check txs are good for processing by checking if all the tree snapshots in header are non-empty this.validateTxs(txs); // We fill the tx batch with empty txs, we process only one tx at a time for now - const [circuitsOutput, proof] = await this.runCircuits(globalVariables, txs, newL1ToL2Messages); + const [circuitsOutput, proof] = await this.runCircuits( + globalVariables, + txs, + newModelL1ToL2Messages, + newL1ToL2Messages, + ); // Collect all new nullifiers, commitments, and contracts from all txs in this block const txEffects: TxEffect[] = txs.map(tx => toTxEffect(tx)); @@ -149,7 +157,8 @@ export class SoloBlockBuilder implements BlockBuilder { protected async runCircuits( globalVariables: GlobalVariables, txs: ProcessedTx[], - newL1ToL2Messages: Fr[], + newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox ): Promise<[RootRollupPublicInputs, Proof]> { // Check that the length of the array of txs is a power of two // See https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 @@ -157,6 +166,8 @@ export class SoloBlockBuilder implements BlockBuilder { throw new Error(`Length of txs for the block should be a power of two and at least two (got ${txs.length})`); } + // TODO: run the parity circuits here + // padArrayEnd throws if the array is already full. Otherwise it pads till we reach the required size const newL1ToL2MessagesTuple = padArrayEnd(newL1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP); @@ -269,10 +280,11 @@ export class SoloBlockBuilder implements BlockBuilder { protected async rootRollupCircuit( left: [BaseOrMergeRollupPublicInputs, Proof], right: [BaseOrMergeRollupPublicInputs, Proof], + l1ToL2Roots: RootParityInput, newL1ToL2Messages: Tuple, ): Promise<[RootRollupPublicInputs, Proof]> { this.debug(`Running root rollup circuit`); - const rootInput = await this.getRootRollupInput(...left, ...right, newL1ToL2Messages); + const rootInput = await this.getRootRollupInput(...left, ...right, l1ToL2Roots, newL1ToL2Messages); // Update the local trees to include the new l1 to l2 messages await this.db.appendLeaves( @@ -365,6 +377,7 @@ export class SoloBlockBuilder implements BlockBuilder { rollupProofLeft: Proof, rollupOutputRight: BaseOrMergeRollupPublicInputs, rollupProofRight: Proof, + l1ToL2Roots: RootParityInput, newL1ToL2Messages: Tuple, ) { const vk = this.getVerificationKey(rollupOutputLeft.rollupType); @@ -406,6 +419,7 @@ export class SoloBlockBuilder implements BlockBuilder { return RootRollupInputs.from({ previousRollupData, + l1ToL2Roots, newL1ToL2Messages, newL1ToL2MessageTreeRootSiblingPath, startL1ToL2MessageTreeSnapshot, diff --git a/yarn-project/sequencer-client/src/sequencer/sequencer.ts b/yarn-project/sequencer-client/src/sequencer/sequencer.ts index 39f9b12e0581..032a4624dbce 100644 --- a/yarn-project/sequencer-client/src/sequencer/sequencer.ts +++ b/yarn-project/sequencer-client/src/sequencer/sequencer.ts @@ -202,6 +202,8 @@ export class Sequencer { await assertBlockHeight(); + const newModelL1ToL2Messages = await this.l1ToL2MessageSource.getNewL1ToL2Messages(BigInt(newBlockNumber)); + // Get l1 to l2 messages from the contract this.log('Requesting L1 to L2 messages from contract'); const l1ToL2Messages = await this.getPendingL1ToL2EntryKeys(); @@ -214,7 +216,7 @@ export class Sequencer { const emptyTx = processor.makeEmptyProcessedTx(); const [rollupCircuitsDuration, block] = await elapsed(() => - this.buildBlock(processedValidTxs, l1ToL2Messages, emptyTx, newGlobalVariables), + this.buildBlock(processedValidTxs, newModelL1ToL2Messages, l1ToL2Messages, emptyTx, newGlobalVariables), ); this.log(`Assembled block ${block.number}`, { @@ -312,6 +314,7 @@ export class Sequencer { /** * Pads the set of txs to a power of two and assembles a block by calling the block builder. * @param txs - Processed txs to include in the next block. + * @param newModelL1ToL2Messages - L1 to L2 messages emitted by the new inbox. * @param newL1ToL2Messages - L1 to L2 messages to be part of the block. * @param emptyTx - Empty tx to repeat at the end of the block to pad to a power of two. * @param globalVariables - Global variables to use in the block. @@ -319,7 +322,8 @@ export class Sequencer { */ protected async buildBlock( txs: ProcessedTx[], - newL1ToL2Messages: Fr[], + newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox emptyTx: ProcessedTx, globalVariables: GlobalVariables, ) { @@ -330,7 +334,12 @@ export class Sequencer { const allTxs = [...txs, ...times(emptyTxCount, () => emptyTx)]; this.log(`Building block ${globalVariables.blockNumber}`); - const [block] = await this.blockBuilder.buildL2Block(globalVariables, allTxs, newL1ToL2Messages); + const [block] = await this.blockBuilder.buildL2Block( + globalVariables, + allTxs, + newModelL1ToL2Messages, + newL1ToL2Messages, + ); return block; } From ddaf34cb8d545800cad0bc420a6c3204a2301e18 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 10:22:37 +0000 Subject: [PATCH 10/39] WIP --- .../src/core/libraries/ConstantsGen.sol | 1 + .../parity-lib/src/base/base_parity_inputs.nr | 4 +-- .../crates/types/src/constants.nr | 1 + yarn-project/circuits.js/src/constants.gen.ts | 1 + yarn-project/circuits.js/src/structs/index.ts | 1 + .../src/structs/parity/base_parity_inputs.ts | 26 ++++++++++++++++++ .../src/block_builder/solo_block_builder.ts | 27 ++++++++++++++++++- .../sequencer-client/src/simulator/index.ts | 8 ++++++ 8 files changed, 65 insertions(+), 4 deletions(-) create mode 100644 yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts diff --git a/l1-contracts/src/core/libraries/ConstantsGen.sol b/l1-contracts/src/core/libraries/ConstantsGen.sol index 67c6755e781b..be1175b0f9fa 100644 --- a/l1-contracts/src/core/libraries/ConstantsGen.sol +++ b/l1-contracts/src/core/libraries/ConstantsGen.sol @@ -130,4 +130,5 @@ library Constants { uint256 internal constant CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED = 52; uint256 internal constant L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP = 64; uint256 internal constant LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 64; + uint256 internal constant NUM_MSGS_PER_BASE_PARITY = 4; } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index 07c748762c16..43037077cdb3 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -3,13 +3,11 @@ use crate::{ utils::sha256_merkle_tree::Sha256MerkleTree, }; use dep::types::{ - constants::NUM_FIELDS_PER_SHA256, + constants::{NUM_FIELDS_PER_SHA256, NUM_MSGS_PER_BASE_PARITY}, merkle_tree::MerkleTree, mocked::AggregationObject, }; -global NUM_MSGS_PER_BASE_PARITY: u64 = 4; - struct BaseParityInputs { msgs: [[Field; NUM_FIELDS_PER_SHA256]; NUM_MSGS_PER_BASE_PARITY], } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr index 1c765a0bc7e0..cce27846cad8 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -184,6 +184,7 @@ global CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP: Field = 64; global CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52; global L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64; global LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64; +global NUM_MSGS_PER_BASE_PARITY: u64 = 4; /** * Enumerate the hash_indices which are used for pedersen hashing. diff --git a/yarn-project/circuits.js/src/constants.gen.ts b/yarn-project/circuits.js/src/constants.gen.ts index 0747f1bb5f97..96c60ae4b356 100644 --- a/yarn-project/circuits.js/src/constants.gen.ts +++ b/yarn-project/circuits.js/src/constants.gen.ts @@ -115,6 +115,7 @@ export const CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP = 64; export const CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED = 52; export const L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP = 64; export const LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 64; +export const NUM_MSGS_PER_BASE_PARITY = 4; export enum GeneratorIndex { NOTE_HASH = 1, NOTE_HASH_NONCE = 2, diff --git a/yarn-project/circuits.js/src/structs/index.ts b/yarn-project/circuits.js/src/structs/index.ts index 8e7289b7e867..8c2782ea90d1 100644 --- a/yarn-project/circuits.js/src/structs/index.ts +++ b/yarn-project/circuits.js/src/structs/index.ts @@ -27,6 +27,7 @@ export * from './kernel/public_kernel_data.js'; export * from './kernel/public_kernel_tail_circuit_private_inputs.js'; export * from './kernel/rollup_kernel_circuit_public_inputs.js'; export * from './kernel/rollup_kernel_data.js'; +export * from './parity/base_parity_inputs.js'; export * from './parity/parity_public_inputs.js'; export * from './parity/root_parity_input.js'; export * from './l2_to_l1_message.js'; diff --git a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts new file mode 100644 index 000000000000..dff25f5b2e58 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts @@ -0,0 +1,26 @@ +import { Tuple } from '@aztec/foundation/serialize'; + +import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '../../constants.gen.js'; + +export class BaseParityInputs { + constructor( + /** Aggregated proof of all the parity circuit iterations. */ + public readonly msgs: Tuple, + ) { + msgs.forEach((msg: Buffer) => { + if (msg.length !== 32) { + throw new Error(`msg buffer must be 32 bytes. Got ${msg.length} bytes`); + } + }); + } + + public static fromSlice( + array: Tuple, + index: number, + ): BaseParityInputs { + const start = index * NUM_MSGS_PER_BASE_PARITY; + const end = start + NUM_MSGS_PER_BASE_PARITY; + const msgs = array.slice(start, end); + return new BaseParityInputs(msgs as Tuple); + } +} diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index 4e7db2beeb97..71fbd151b905 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -4,6 +4,7 @@ import { ARCHIVE_HEIGHT, AppendOnlyTreeSnapshot, BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, ConstantRollupData, GlobalVariables, @@ -20,10 +21,12 @@ import { NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, + NUM_MSGS_PER_BASE_PARITY, NullifierLeafPreimage, PUBLIC_DATA_SUBTREE_HEIGHT, PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH, PUBLIC_DATA_TREE_HEIGHT, + ParityPublicInputs, PartialStateReference, PreviousRollupData, Proof, @@ -166,7 +169,24 @@ export class SoloBlockBuilder implements BlockBuilder { throw new Error(`Length of txs for the block should be a power of two and at least two (got ${txs.length})`); } - // TODO: run the parity circuits here + // Parity circuits + { + const newModelL1ToL2MessagesTuple = padArrayEnd( + newModelL1ToL2Messages, + Buffer.alloc(32), + NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, + ); + const numBaseParityCircuits = NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP / NUM_MSGS_PER_BASE_PARITY; + // Run the base parity circuit for the new inbox messages in parallel + const baseParityInputs = Array.from({ length: numBaseParityCircuits }, (_, i) => + BaseParityInputs.fromSlice(newModelL1ToL2MessagesTuple, i), + ); + + const baseParityOutputs: Promise[] = []; + for (const inputs of baseParityInputs) { + baseParityOutputs.push(this.simulator.baseParityCircuit(inputs)); + } + } // padArrayEnd throws if the array is already full. Otherwise it pads till we reach the required size const newL1ToL2MessagesTuple = padArrayEnd(newL1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP); @@ -277,6 +297,11 @@ export class SoloBlockBuilder implements BlockBuilder { } } + protected baseParityCircuit(inputs: BaseParityInputs): Promise { + this.debug(`Running base parity circuit`); + return this.simulator.baseParityCircuit(inputs); + } + protected async rootRollupCircuit( left: [BaseOrMergeRollupPublicInputs, Proof], right: [BaseOrMergeRollupPublicInputs, Proof], diff --git a/yarn-project/sequencer-client/src/simulator/index.ts b/yarn-project/sequencer-client/src/simulator/index.ts index b23aa903b148..726c85bb78d3 100644 --- a/yarn-project/sequencer-client/src/simulator/index.ts +++ b/yarn-project/sequencer-client/src/simulator/index.ts @@ -1,7 +1,9 @@ import { BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + ParityPublicInputs, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, @@ -13,6 +15,12 @@ import { * Circuit simulator for the rollup circuits. */ export interface RollupSimulator { + /** + * Simulates the base parity circuit from its inputs. + * @param inputs - Inputs to the circuit. + * @returns The public inputs as outputs of the simulation. + */ + baseParityCircuit(inputs: BaseParityInputs): Promise; /** * Simulates the base rollup circuit from its inputs. * @param input - Inputs to the circuit. From 77447346b68f8b6a9193d10f34ecd487d7ebbee0 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 10:54:58 +0000 Subject: [PATCH 11/39] WIP --- .../src/core/libraries/ConstantsGen.sol | 1 + .../crates/types/src/constants.nr | 2 ++ yarn-project/circuits.js/src/constants.gen.ts | 1 + yarn-project/circuits.js/src/structs/index.ts | 1 + .../src/structs/parity/root_parity_inputs.ts | 11 +++++++ .../src/block_builder/solo_block_builder.ts | 29 +++++++++++-------- .../sequencer-client/src/simulator/index.ts | 15 +++++++--- 7 files changed, 44 insertions(+), 16 deletions(-) create mode 100644 yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts diff --git a/l1-contracts/src/core/libraries/ConstantsGen.sol b/l1-contracts/src/core/libraries/ConstantsGen.sol index be1175b0f9fa..f2109794f704 100644 --- a/l1-contracts/src/core/libraries/ConstantsGen.sol +++ b/l1-contracts/src/core/libraries/ConstantsGen.sol @@ -131,4 +131,5 @@ library Constants { uint256 internal constant L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP = 64; uint256 internal constant LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 64; uint256 internal constant NUM_MSGS_PER_BASE_PARITY = 4; + uint256 internal constant NUM_BASE_PARITY_PER_ROOT_PARITY = 4; } diff --git a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr index cce27846cad8..80aab1a80a35 100644 --- a/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr +++ b/noir-projects/noir-protocol-circuits/crates/types/src/constants.nr @@ -185,6 +185,8 @@ global CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED: Field = 52; global L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP: Field = 64; global LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP: Field = 64; global NUM_MSGS_PER_BASE_PARITY: u64 = 4; +// NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP / NUM_MSGS_PER_BASE_PARITY +global NUM_BASE_PARITY_PER_ROOT_PARITY: u64 = 4; /** * Enumerate the hash_indices which are used for pedersen hashing. diff --git a/yarn-project/circuits.js/src/constants.gen.ts b/yarn-project/circuits.js/src/constants.gen.ts index 96c60ae4b356..aa0ca5287225 100644 --- a/yarn-project/circuits.js/src/constants.gen.ts +++ b/yarn-project/circuits.js/src/constants.gen.ts @@ -116,6 +116,7 @@ export const CONTRACT_DATA_NUM_BYTES_PER_BASE_ROLLUP_UNPADDED = 52; export const L2_TO_L1_MSGS_NUM_BYTES_PER_BASE_ROLLUP = 64; export const LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP = 64; export const NUM_MSGS_PER_BASE_PARITY = 4; +export const NUM_BASE_PARITY_PER_ROOT_PARITY = 4; export enum GeneratorIndex { NOTE_HASH = 1, NOTE_HASH_NONCE = 2, diff --git a/yarn-project/circuits.js/src/structs/index.ts b/yarn-project/circuits.js/src/structs/index.ts index 8c2782ea90d1..da968429df45 100644 --- a/yarn-project/circuits.js/src/structs/index.ts +++ b/yarn-project/circuits.js/src/structs/index.ts @@ -30,6 +30,7 @@ export * from './kernel/rollup_kernel_data.js'; export * from './parity/base_parity_inputs.js'; export * from './parity/parity_public_inputs.js'; export * from './parity/root_parity_input.js'; +export * from './parity/root_parity_inputs.js'; export * from './l2_to_l1_message.js'; export * from './membership_witness.js'; export * from './nullifier_key_validation_request.js'; diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts new file mode 100644 index 000000000000..97e895c858e6 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts @@ -0,0 +1,11 @@ +import { Tuple } from '@aztec/foundation/serialize'; + +import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '../../constants.gen.js'; +import { RootParityInput } from './root_parity_input.js'; + +export class RootParityInputs { + constructor( + /** The public inputs of the parity circuit. */ + public readonly children: Tuple, + ) {} +} diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index 71fbd151b905..a28fe42b8a7b 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -21,7 +21,7 @@ import { NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, - NUM_MSGS_PER_BASE_PARITY, + NUM_BASE_PARITY_PER_ROOT_PARITY, NullifierLeafPreimage, PUBLIC_DATA_SUBTREE_HEIGHT, PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH, @@ -37,6 +37,7 @@ import { RollupKernelData, RollupTypes, RootParityInput, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, StateDiffHints, @@ -169,20 +170,18 @@ export class SoloBlockBuilder implements BlockBuilder { throw new Error(`Length of txs for the block should be a power of two and at least two (got ${txs.length})`); } - // Parity circuits + // Run the base parity circuits in parallel + const baseParityOutputs: Promise[] = []; { const newModelL1ToL2MessagesTuple = padArrayEnd( newModelL1ToL2Messages, Buffer.alloc(32), NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, ); - const numBaseParityCircuits = NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP / NUM_MSGS_PER_BASE_PARITY; - // Run the base parity circuit for the new inbox messages in parallel - const baseParityInputs = Array.from({ length: numBaseParityCircuits }, (_, i) => + const baseParityInputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }, (_, i) => BaseParityInputs.fromSlice(newModelL1ToL2MessagesTuple, i), ); - const baseParityOutputs: Promise[] = []; for (const inputs of baseParityInputs) { baseParityOutputs.push(this.simulator.baseParityCircuit(inputs)); } @@ -214,6 +213,17 @@ export class SoloBlockBuilder implements BlockBuilder { baseRollupOutputs.push(this.baseRollupCircuit(txs[i], baseRollupInputs[i], treeSnapshots[i])); } + // Run the root parity circuit + let rootParityOutput: Promise; + { + // First we await the base parity outputs + const baseParityInputs = await Promise.all(baseParityOutputs); + const rootParityInputs = new RootParityInputs( + baseParityInputs as Tuple, + ); + rootParityOutput = this.simulator.rootParityCircuit(rootParityInputs); + } + // Run merge rollups in layers until we have only two outputs // All merge circuits for each layer are simulated in parallel const [duration, mergeInputs] = await elapsed(() => Promise.all(baseRollupOutputs)); @@ -252,7 +262,7 @@ export class SoloBlockBuilder implements BlockBuilder { // Run the root rollup with the last two merge rollups (or base, if no merge layers) const [mergeOutputLeft, mergeOutputRight] = mergeRollupInputs; - return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, newL1ToL2MessagesTuple); + return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, await rootParityOutput, newL1ToL2MessagesTuple); } protected async baseRollupCircuit( @@ -297,11 +307,6 @@ export class SoloBlockBuilder implements BlockBuilder { } } - protected baseParityCircuit(inputs: BaseParityInputs): Promise { - this.debug(`Running base parity circuit`); - return this.simulator.baseParityCircuit(inputs); - } - protected async rootRollupCircuit( left: [BaseOrMergeRollupPublicInputs, Proof], right: [BaseOrMergeRollupPublicInputs, Proof], diff --git a/yarn-project/sequencer-client/src/simulator/index.ts b/yarn-project/sequencer-client/src/simulator/index.ts index 726c85bb78d3..b744a9f0bb25 100644 --- a/yarn-project/sequencer-client/src/simulator/index.ts +++ b/yarn-project/sequencer-client/src/simulator/index.ts @@ -3,12 +3,13 @@ import { BaseParityInputs, BaseRollupInputs, MergeRollupInputs, - ParityPublicInputs, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, + RootParityInput, + RootParityInputs, RootRollupInputs, - RootRollupPublicInputs, + RootRollupPublicInputs } from '@aztec/circuits.js'; /** @@ -18,9 +19,15 @@ export interface RollupSimulator { /** * Simulates the base parity circuit from its inputs. * @param inputs - Inputs to the circuit. - * @returns The public inputs as outputs of the simulation. + * @returns One of the inputs of the root parity circuit. + */ + baseParityCircuit(inputs: BaseParityInputs): Promise; + /** + * Simulates the root parity circuit from its inputs. + * @param inputs - Inputs to the circuit. + * @returns The public inputs and proof. */ - baseParityCircuit(inputs: BaseParityInputs): Promise; + rootParityCircuit(inputs: RootParityInputs): Promise; /** * Simulates the base rollup circuit from its inputs. * @param input - Inputs to the circuit. From 3620bdb8a0a4280e5ef79ac37e7d4299f188c1e7 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 11:57:43 +0000 Subject: [PATCH 12/39] WIP --- .../noir-protocol-circuits-types/src/index.ts | 32 +++++++++++++++++ .../src/type_conversion.ts | 26 ++++++++++++++ .../sequencer-client/src/simulator/rollup.ts | 35 +++++++++++++++++++ 3 files changed, 93 insertions(+) diff --git a/yarn-project/noir-protocol-circuits-types/src/index.ts b/yarn-project/noir-protocol-circuits-types/src/index.ts index 6a4143625320..501145b14c11 100644 --- a/yarn-project/noir-protocol-circuits-types/src/index.ts +++ b/yarn-project/noir-protocol-circuits-types/src/index.ts @@ -1,5 +1,6 @@ import { BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, MergeRollupInputs, PrivateKernelInitCircuitPrivateInputs, @@ -10,6 +11,7 @@ import { PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, } from '@aztec/circuits.js'; @@ -19,6 +21,8 @@ import { WasmBlackBoxFunctionSolver, createBlackBoxSolver, executeCircuitWithBla import { Abi, abiDecode, abiEncode } from '@noir-lang/noirc_abi'; import { WitnessMap } from '@noir-lang/types'; +import BaseParityJson from './target/parity_base.json' assert { type: 'json' }; +import RootParityJson from './target/parity_root.json' assert { type: 'json' }; import PrivateKernelInitJson from './target/private_kernel_init.json' assert { type: 'json' }; import PrivateKernelInitSimulatedJson from './target/private_kernel_init_simulated.json' assert { type: 'json' }; import PrivateKernelInnerJson from './target/private_kernel_inner.json' assert { type: 'json' }; @@ -34,6 +38,7 @@ import MergeRollupJson from './target/rollup_merge.json' assert { type: 'json' } import RootRollupJson from './target/rollup_root.json' assert { type: 'json' }; import { mapBaseOrMergeRollupPublicInputsFromNoir, + mapBaseParityInputsToNoir, mapBaseRollupInputsToNoir, mapMergeRollupInputsToNoir, mapPrivateKernelInitCircuitPrivateInputsToNoir, @@ -44,6 +49,7 @@ import { mapPublicKernelCircuitPrivateInputsToNoir, mapPublicKernelCircuitPublicInputsFromNoir, mapPublicKernelTailCircuitPrivateInputsToNoir, + mapRootParityInputsToNoir, mapRootRollupInputsToNoir, mapRootRollupPublicInputsFromNoir, } from './type_conversion.js'; @@ -85,6 +91,10 @@ export const PublicKernelTeardownArtifact = PublicKernelTeardownSimulatedJson as export const PublicKernelTailArtifact = PublicKernelTailSimulatedJson as NoirCompiledCircuit; +export const BaseParityArtifact = BaseParityJson as NoirCompiledCircuit; + +export const RootParityArtifact = RootParityJson as NoirCompiledCircuit; + export const BaseRollupArtifact = BaseRollupSimulatedJson as NoirCompiledCircuit; export const MergeRollupArtifact = MergeRollupJson as NoirCompiledCircuit; @@ -150,6 +160,28 @@ export async function executeTail( return mapPrivateKernelTailCircuitPublicInputsFromNoir(returnType); } +/** + * Converts the inputs to the base parity circuit into a witness map. + * @param inputs - The base parity inputs. + * @returns The witness map + */ +export function convertBaseParityInputsToWitnessMap(inputs: BaseParityInputs): WitnessMap { + const mapped = mapBaseParityInputsToNoir(inputs); + const initialWitnessMap = abiEncode(BaseParityJson.abi as Abi, { inputs: mapped as any }); + return initialWitnessMap; +} + +/** + * Converts the inputs to the root parity circuit into a witness map. + * @param inputs - The root parity inputs. + * @returns The witness map + */ +export function convertRootParityInputsToWitnessMap(inputs: RootParityInputs): WitnessMap { + const mapped = mapRootParityInputsToNoir(inputs); + const initialWitnessMap = abiEncode(RootParityJson.abi as Abi, { inputs: mapped as any }); + return initialWitnessMap; +} + /** * Converts the inputs to the base rollup circuit into a witness map. * @param inputs - The base rollup inputs. diff --git a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts index 133cfbac52ac..86a25fd06e3e 100644 --- a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts +++ b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts @@ -4,6 +4,7 @@ import { AppendOnlyTreeSnapshot, AztecAddress, BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, CallContext, CallRequest, @@ -92,6 +93,7 @@ import { RollupKernelCircuitPublicInputs, RollupKernelData, RootParityInput, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, SettledReadHint, @@ -185,6 +187,7 @@ import { MergeRollupInputs as MergeRollupInputsNoir } from './types/rollup_merge import { AppendOnlyTreeSnapshot as AppendOnlyTreeSnapshotNoir, BaseOrMergeRollupPublicInputs as BaseOrMergeRollupPublicInputsNoir, + BaseParityInputs as BaseParityInputsNoir, ConstantRollupData as ConstantRollupDataNoir, ContentCommitment as ContentCommitmentNoir, Field, @@ -195,6 +198,7 @@ import { PartialStateReference as PartialStateReferenceNoir, PreviousRollupData as PreviousRollupDataNoir, RootParityInput as RootParityInputNoir, + RootParityInputs as RootParityInputsNoir, RootRollupInputs as RootRollupInputsNoir, RootRollupPublicInputs as RootRollupPublicInputsNoir, StateReference as StateReferenceNoir, @@ -1930,6 +1934,28 @@ export function mapStateDiffHintsToNoir(hints: StateDiffHints): StateDiffHintsNo }; } +/** + * Maps base parity inputs to noir. + * @param inputs - The circuits.js base parity inputs. + * @returns The noir base parity inputs. + */ +export function mapBaseParityInputsToNoir(inputs: BaseParityInputs): BaseParityInputsNoir { + return { + msgs: mapTuple(inputs.msgs, mapSha256HashToNoir), + }; +} + +/** + * Maps root parity inputs to noir. + * @param inputs - The circuits.js root parity inputs. + * @returns The noir root parity inputs. + */ +export function mapRootParityInputsToNoir(inputs: RootParityInputs): RootParityInputsNoir { + return { + children: mapTuple(inputs.children, mapRootParityInputToNoir), + }; +} + /** * Maps the inputs to the base rollup to noir. * @param input - The circuits.js base rollup inputs. diff --git a/yarn-project/sequencer-client/src/simulator/rollup.ts b/yarn-project/sequencer-client/src/simulator/rollup.ts index 02dbc9a55354..693925ca6bae 100644 --- a/yarn-project/sequencer-client/src/simulator/rollup.ts +++ b/yarn-project/sequencer-client/src/simulator/rollup.ts @@ -1,16 +1,21 @@ import { CircuitSimulationStats } from '@aztec/circuit-types/stats'; import { BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + RootParityInput, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, } from '@aztec/circuits.js'; import { createDebugLogger } from '@aztec/foundation/log'; import { elapsed } from '@aztec/foundation/timer'; import { + BaseParityArtifact, BaseRollupArtifact, MergeRollupArtifact, + RootParityArtifact, RootRollupArtifact, convertBaseRollupInputsToWitnessMap, convertBaseRollupOutputsFromWitnessMap, @@ -34,6 +39,36 @@ export class RealRollupCircuitSimulator implements RollupSimulator { constructor(private simulationProvider: SimulationProvider) {} + /** + * Simulates the base parity circuit from its inputs. + * @param inputs - Inputs to the circuit. + * @returns One of the inputs of the root parity circuit. + */ + public async baseParityCircuit(inputs: BaseParityInputs): Promise { + const witnessMap = convertBaseParityInputsToWitnessMap(inputs); + + const witness = await this.simulationProvider.simulateCircuit(witnessMap, BaseParityArtifact); + + const result = convertBaseParityOutputsFromWitnessMap(witness); + + return Promise.resolve(result); + } + + /** + * Simulates the root parity circuit from its inputs. + * @param inputs - Inputs to the circuit. + * @returns The public inputs and proof. + */ + public async rootParityCircuit(inputs: RootParityInputs): Promise { + const witnessMap = convertRootParityInputsToWitnessMap(inputs); + + const witness = await this.simulationProvider.simulateCircuit(witnessMap, RootParityArtifact); + + const result = convertRootParityOutputsFromWitnessMap(witness); + + return Promise.resolve(result); + } + /** * Simulates the base rollup circuit from its inputs. * @param input - Inputs to the circuit. From 8862eec6aeac216ae4908f65ee05cd9a4e91d080 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 12:46:53 +0000 Subject: [PATCH 13/39] WIP --- .../structs/parity/parity_public_inputs.ts | 6 ++-- .../noir-protocol-circuits-types/src/index.ts | 34 +++++++++++++++++++ .../src/scripts/generate_ts_from_abi.ts | 2 ++ .../src/type_conversion.ts | 17 ++++++++-- .../src/block_builder/solo_block_builder.ts | 18 ++++++++-- .../sequencer-client/src/prover/empty.ts | 23 +++++++++++++ .../sequencer-client/src/prover/index.ts | 21 ++++++++++-- .../sequencer-client/src/simulator/index.ts | 10 +++--- .../sequencer-client/src/simulator/rollup.ts | 16 +++++---- 9 files changed, 127 insertions(+), 20 deletions(-) diff --git a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts index 00c6bb5aee47..7a19c37566a1 100644 --- a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts @@ -7,11 +7,11 @@ import { AggregationObject } from '../aggregation_object.js'; export class ParityPublicInputs { constructor( /** Aggregated proof of all the parity circuit iterations. */ - public readonly aggregationObject: AggregationObject, + public aggregationObject: AggregationObject, /** Root of the SHA256 tree. */ - public readonly shaRoot: Buffer, + public shaRoot: Buffer, /** Root of the converted tree. */ - public readonly convertedRoot: Fr, + public convertedRoot: Fr, ) { if (shaRoot.length !== 32) { throw new Error(`shaRoot buffer must be 32 bytes. Got ${shaRoot.length} bytes`); diff --git a/yarn-project/noir-protocol-circuits-types/src/index.ts b/yarn-project/noir-protocol-circuits-types/src/index.ts index 501145b14c11..ad5ddc87be83 100644 --- a/yarn-project/noir-protocol-circuits-types/src/index.ts +++ b/yarn-project/noir-protocol-circuits-types/src/index.ts @@ -3,6 +3,7 @@ import { BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + ParityPublicInputs, PrivateKernelInitCircuitPrivateInputs, PrivateKernelInnerCircuitPrivateInputs, PrivateKernelInnerCircuitPublicInputs, @@ -41,6 +42,7 @@ import { mapBaseParityInputsToNoir, mapBaseRollupInputsToNoir, mapMergeRollupInputsToNoir, + mapParityPublicInputsFromNoir, mapPrivateKernelInitCircuitPrivateInputsToNoir, mapPrivateKernelInnerCircuitPrivateInputsToNoir, mapPrivateKernelInnerCircuitPublicInputsFromNoir, @@ -53,6 +55,8 @@ import { mapRootRollupInputsToNoir, mapRootRollupPublicInputsFromNoir, } from './type_conversion.js'; +import { ReturnType as BaseParityReturnType } from './types/parity_base_types.js'; +import { ReturnType as RootParityReturnType } from './types/parity_root_types.js'; import { InputType as InitInputType, ReturnType as InitReturnType } from './types/private_kernel_init_types.js'; import { InputType as InnerInputType, ReturnType as InnerReturnType } from './types/private_kernel_inner_types.js'; import { InputType as TailInputType, ReturnType as TailReturnType } from './types/private_kernel_tail_types.js'; @@ -303,6 +307,36 @@ export function convertRootRollupOutputsFromWitnessMap(outputs: WitnessMap): Roo return mapRootRollupPublicInputsFromNoir(returnType); } +/** + * Converts the outputs to the base parity circuit. + * @param outputs - The base parity outputs as a witness map. + * @returns The public inputs. + */ +export function convertBaseParityOutputsFromWitnessMap(outputs: WitnessMap): ParityPublicInputs { + // Decode the witness map into two fields, the return values and the inputs + const decodedInputs: DecodedInputs = abiDecode(BaseParityJson.abi as Abi, outputs); + + // Cast the inputs as the return type + const returnType = decodedInputs.return_value as BaseParityReturnType; + + return mapParityPublicInputsFromNoir(returnType); +} + +/** + * Converts the outputs to the root parity circuit. + * @param outputs - The root parity outputs as a witness map. + * @returns The public inputs. + */ +export function convertRootParityOutputsFromWitnessMap(outputs: WitnessMap): ParityPublicInputs { + // Decode the witness map into two fields, the return values and the inputs + const decodedInputs: DecodedInputs = abiDecode(RootParityJson.abi as Abi, outputs); + + // Cast the inputs as the return type + const returnType = decodedInputs.return_value as RootParityReturnType; + + return mapParityPublicInputsFromNoir(returnType); +} + /** * Converts the outputs to the public setup circuit. * @param outputs - The public kernel outputs as a witness map. diff --git a/yarn-project/noir-protocol-circuits-types/src/scripts/generate_ts_from_abi.ts b/yarn-project/noir-protocol-circuits-types/src/scripts/generate_ts_from_abi.ts index 5821ec3446f6..1854a5fd73bf 100644 --- a/yarn-project/noir-protocol-circuits-types/src/scripts/generate_ts_from_abi.ts +++ b/yarn-project/noir-protocol-circuits-types/src/scripts/generate_ts_from_abi.ts @@ -198,6 +198,8 @@ function generateTsInterface(abiObj: NoirFunctionAbi): string { } const circuits = [ + 'parity_base', + 'parity_root', 'private_kernel_init', 'private_kernel_inner', 'private_kernel_tail', diff --git a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts index 86a25fd06e3e..1dbc4fefd904 100644 --- a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts +++ b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts @@ -106,6 +106,8 @@ import { } from '@aztec/circuits.js'; import { Tuple, from2Fields, mapTuple, to2Fields } from '@aztec/foundation/serialize'; +import { BaseParityInputs as BaseParityInputsNoir } from './types/parity_base_types.js'; +import { RootParityInputs as RootParityInputsNoir } from './types/parity_root_types.js'; import { CallContext as CallContextNoir, CallRequest as CallRequestNoir, @@ -187,7 +189,6 @@ import { MergeRollupInputs as MergeRollupInputsNoir } from './types/rollup_merge import { AppendOnlyTreeSnapshot as AppendOnlyTreeSnapshotNoir, BaseOrMergeRollupPublicInputs as BaseOrMergeRollupPublicInputsNoir, - BaseParityInputs as BaseParityInputsNoir, ConstantRollupData as ConstantRollupDataNoir, ContentCommitment as ContentCommitmentNoir, Field, @@ -198,7 +199,6 @@ import { PartialStateReference as PartialStateReferenceNoir, PreviousRollupData as PreviousRollupDataNoir, RootParityInput as RootParityInputNoir, - RootParityInputs as RootParityInputsNoir, RootRollupInputs as RootRollupInputsNoir, RootRollupPublicInputs as RootRollupPublicInputsNoir, StateReference as StateReferenceNoir, @@ -1718,6 +1718,19 @@ export function mapRootRollupPublicInputsFromNoir( ); } +/** + * Maps a parity public inputs from noir. + * @param parityPublicInputs - The noir parity public inputs. + * @returns The circuits.js parity public inputs. + */ +export function mapParityPublicInputsFromNoir(parityPublicInputs: ParityPublicInputsNoir): ParityPublicInputs { + return new ParityPublicInputs( + AggregationObject.makeFake(), + mapSha256HashFromNoir(parityPublicInputs.sha_root), + mapFieldFromNoir(parityPublicInputs.converted_root), + ); +} + /** * Maps header to Noir * @param header - The header. diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index a28fe42b8a7b..e39c2cb271fe 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -183,7 +183,7 @@ export class SoloBlockBuilder implements BlockBuilder { ); for (const inputs of baseParityInputs) { - baseParityOutputs.push(this.simulator.baseParityCircuit(inputs)); + baseParityOutputs.push(this.baseParityCircuit(inputs)); } } @@ -221,7 +221,7 @@ export class SoloBlockBuilder implements BlockBuilder { const rootParityInputs = new RootParityInputs( baseParityInputs as Tuple, ); - rootParityOutput = this.simulator.rootParityCircuit(rootParityInputs); + rootParityOutput = this.rootParityCircuit(rootParityInputs); } // Run merge rollups in layers until we have only two outputs @@ -265,6 +265,20 @@ export class SoloBlockBuilder implements BlockBuilder { return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, await rootParityOutput, newL1ToL2MessagesTuple); } + protected async baseParityCircuit(inputs: BaseParityInputs): Promise { + this.debug(`Running base parity circuit`); + const parityPublicInputs = await this.simulator.baseParityCircuit(inputs); + const proof = await this.prover.getBaseParityProof(inputs, parityPublicInputs); + return new RootParityInput(proof, parityPublicInputs); + } + + protected async rootParityCircuit(inputs: RootParityInputs): Promise { + this.debug(`Running root parity circuit`); + const parityPublicInputs = await this.simulator.rootParityCircuit(inputs); + const proof = await this.prover.getRootParityProof(inputs, parityPublicInputs); + return new RootParityInput(proof, parityPublicInputs); + } + protected async baseRollupCircuit( tx: ProcessedTx, inputs: BaseRollupInputs, diff --git a/yarn-project/sequencer-client/src/prover/empty.ts b/yarn-project/sequencer-client/src/prover/empty.ts index 6bf915b72133..68f51e7d80d3 100644 --- a/yarn-project/sequencer-client/src/prover/empty.ts +++ b/yarn-project/sequencer-client/src/prover/empty.ts @@ -2,11 +2,14 @@ import { AggregationObject, BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + ParityPublicInputs, Proof, PublicCircuitPublicInputs, PublicKernelCircuitPublicInputs, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, } from '@aztec/circuits.js'; @@ -22,6 +25,26 @@ const EMPTY_PROOF_SIZE = 42; * Prover implementation that returns empty proofs and overrides aggregation objects. */ export class EmptyRollupProver implements RollupProver { + /** + * Creates an empty proof for the given input. + * @param _inputs - Inputs to the circuit. + * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. + */ + async getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise { + publicInputs.aggregationObject = AggregationObject.makeFake(); + return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0)); + } + + /** + * Creates an empty proof for the given input. + * @param _inputs - Inputs to the circuit. + * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. + */ + async getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise { + publicInputs.aggregationObject = AggregationObject.makeFake(); + return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0)); + } + /** * Creates an empty proof for the given input. * @param _input - Input to the circuit. diff --git a/yarn-project/sequencer-client/src/prover/index.ts b/yarn-project/sequencer-client/src/prover/index.ts index 00935fbecee1..b5d979ee60b4 100644 --- a/yarn-project/sequencer-client/src/prover/index.ts +++ b/yarn-project/sequencer-client/src/prover/index.ts @@ -1,18 +1,35 @@ import { BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + ParityPublicInputs, Proof, PublicCircuitPublicInputs, PublicKernelCircuitPublicInputs, + RootParityInputs, RootRollupInputs, - RootRollupPublicInputs, + RootRollupPublicInputs } from '@aztec/circuits.js'; /** - * Generates proofs for the base, merge, and root rollup circuits. + * Generates proofs for parity and rollup circuits. */ export interface RollupProver { + /** + * Creates a proof for the given input. + * @param input - Input to the circuit. + * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. + */ + getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise; + + /** + * Creates a proof for the given input. + * @param input - Input to the circuit. + * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. + */ + getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise; + /** * Creates a proof for the given input. * @param input - Input to the circuit. diff --git a/yarn-project/sequencer-client/src/simulator/index.ts b/yarn-project/sequencer-client/src/simulator/index.ts index b744a9f0bb25..913cd72419a0 100644 --- a/yarn-project/sequencer-client/src/simulator/index.ts +++ b/yarn-project/sequencer-client/src/simulator/index.ts @@ -3,10 +3,10 @@ import { BaseParityInputs, BaseRollupInputs, MergeRollupInputs, + ParityPublicInputs, PublicKernelCircuitPrivateInputs, PublicKernelCircuitPublicInputs, PublicKernelTailCircuitPrivateInputs, - RootParityInput, RootParityInputs, RootRollupInputs, RootRollupPublicInputs @@ -19,15 +19,15 @@ export interface RollupSimulator { /** * Simulates the base parity circuit from its inputs. * @param inputs - Inputs to the circuit. - * @returns One of the inputs of the root parity circuit. + * @returns The public inputs of the parity circuit. */ - baseParityCircuit(inputs: BaseParityInputs): Promise; + baseParityCircuit(inputs: BaseParityInputs): Promise; /** * Simulates the root parity circuit from its inputs. * @param inputs - Inputs to the circuit. - * @returns The public inputs and proof. + * @returns The public inputs of the parity circuit. */ - rootParityCircuit(inputs: RootParityInputs): Promise; + rootParityCircuit(inputs: RootParityInputs): Promise; /** * Simulates the base rollup circuit from its inputs. * @param input - Inputs to the circuit. diff --git a/yarn-project/sequencer-client/src/simulator/rollup.ts b/yarn-project/sequencer-client/src/simulator/rollup.ts index 693925ca6bae..71b8b09bc777 100644 --- a/yarn-project/sequencer-client/src/simulator/rollup.ts +++ b/yarn-project/sequencer-client/src/simulator/rollup.ts @@ -4,10 +4,10 @@ import { BaseParityInputs, BaseRollupInputs, MergeRollupInputs, - RootParityInput, + ParityPublicInputs, RootParityInputs, RootRollupInputs, - RootRollupPublicInputs, + RootRollupPublicInputs } from '@aztec/circuits.js'; import { createDebugLogger } from '@aztec/foundation/log'; import { elapsed } from '@aztec/foundation/timer'; @@ -17,10 +17,14 @@ import { MergeRollupArtifact, RootParityArtifact, RootRollupArtifact, + convertBaseParityInputsToWitnessMap, + convertBaseParityOutputsFromWitnessMap, convertBaseRollupInputsToWitnessMap, convertBaseRollupOutputsFromWitnessMap, convertMergeRollupInputsToWitnessMap, convertMergeRollupOutputsFromWitnessMap, + convertRootParityInputsToWitnessMap, + convertRootParityOutputsFromWitnessMap, convertRootRollupInputsToWitnessMap, convertRootRollupOutputsFromWitnessMap, } from '@aztec/noir-protocol-circuits-types'; @@ -42,9 +46,9 @@ export class RealRollupCircuitSimulator implements RollupSimulator { /** * Simulates the base parity circuit from its inputs. * @param inputs - Inputs to the circuit. - * @returns One of the inputs of the root parity circuit. + * @returns The public inputs of the parity circuit. */ - public async baseParityCircuit(inputs: BaseParityInputs): Promise { + public async baseParityCircuit(inputs: BaseParityInputs): Promise { const witnessMap = convertBaseParityInputsToWitnessMap(inputs); const witness = await this.simulationProvider.simulateCircuit(witnessMap, BaseParityArtifact); @@ -57,9 +61,9 @@ export class RealRollupCircuitSimulator implements RollupSimulator { /** * Simulates the root parity circuit from its inputs. * @param inputs - Inputs to the circuit. - * @returns The public inputs and proof. + * @returns The public inputs of the parity circuit. */ - public async rootParityCircuit(inputs: RootParityInputs): Promise { + public async rootParityCircuit(inputs: RootParityInputs): Promise { const witnessMap = convertRootParityInputsToWitnessMap(inputs); const witness = await this.simulationProvider.simulateCircuit(witnessMap, RootParityArtifact); From aaced2471fde82c59f934b2dfe8b13f1eb706023 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 13:22:53 +0000 Subject: [PATCH 14/39] WIP --- .../archiver/src/archiver/archiver.ts | 2 +- .../archiver/src/archiver/archiver_store.ts | 2 +- .../src/archiver/archiver_store_test_suite.ts | 6 +++--- .../archiver/src/archiver/eth_log_handlers.ts | 2 +- .../kv_archiver_store/kv_archiver_store.ts | 2 +- .../kv_archiver_store/message_store.ts | 6 +++--- .../l1_to_l2_message_store.ts | 6 +++--- .../memory_archiver_store.ts | 2 +- .../circuit-types/src/l1_to_l2_message.ts | 14 +++++--------- .../src/structs/parity/base_parity_inputs.ts | 15 +++++---------- .../src/integration_l1_publisher.test.ts | 19 ++++++++++++++++--- .../foundation/src/serialize/serialize.ts | 7 +++++++ .../src/block_builder/index.ts | 2 +- .../block_builder/solo_block_builder.test.ts | 2 +- .../src/block_builder/solo_block_builder.ts | 6 +++--- .../src/sequencer/sequencer.ts | 2 +- 16 files changed, 53 insertions(+), 42 deletions(-) diff --git a/yarn-project/archiver/src/archiver/archiver.ts b/yarn-project/archiver/src/archiver/archiver.ts index 258c68db0e9e..c8210f0f632d 100644 --- a/yarn-project/archiver/src/archiver/archiver.ts +++ b/yarn-project/archiver/src/archiver/archiver.ts @@ -579,7 +579,7 @@ export class Archiver implements ArchiveSource { * @param blockNumber - L2 block number to get messages for. * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). */ - getNewL1ToL2Messages(blockNumber: bigint): Promise { + getNewL1ToL2Messages(blockNumber: bigint): Promise { return this.store.getNewL1ToL2Messages(blockNumber); } diff --git a/yarn-project/archiver/src/archiver/archiver_store.ts b/yarn-project/archiver/src/archiver/archiver_store.ts index f39399bd6639..23310be7e033 100644 --- a/yarn-project/archiver/src/archiver/archiver_store.ts +++ b/yarn-project/archiver/src/archiver/archiver_store.ts @@ -146,7 +146,7 @@ export interface ArchiverDataStore { * @param blockNumber - L2 block number to get messages for. * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). */ - getNewL1ToL2Messages(blockNumber: bigint): Promise; + getNewL1ToL2Messages(blockNumber: bigint): Promise; /** * Gets up to `limit` amount of logs starting from `from`. diff --git a/yarn-project/archiver/src/archiver/archiver_store_test_suite.ts b/yarn-project/archiver/src/archiver/archiver_store_test_suite.ts index 94649a9009ff..9c6117c90a36 100644 --- a/yarn-project/archiver/src/archiver/archiver_store_test_suite.ts +++ b/yarn-project/archiver/src/archiver/archiver_store_test_suite.ts @@ -120,7 +120,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch }); }); it('returns the L1 block number that most recently added messages from new inbox', async () => { - await store.addNewL1ToL2Messages([new NewInboxLeaf(0n, 0n, Buffer.alloc(32))], 1n); + await store.addNewL1ToL2Messages([new NewInboxLeaf(0n, 0n, Fr.ZERO)], 1n); await expect(store.getL1BlockNumber()).resolves.toEqual({ addedBlock: 0n, addedMessages: 0n, @@ -228,7 +228,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch const l1ToL2MessageSubtreeSize = 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT; const generateBlockMessages = (blockNumber: bigint, numMessages: number) => - Array.from({ length: numMessages }, (_, i) => new NewInboxLeaf(blockNumber, BigInt(i), randomBytes(32))); + Array.from({ length: numMessages }, (_, i) => new NewInboxLeaf(blockNumber, BigInt(i), Fr.random())); it('returns messages in correct order', async () => { const msgs = generateBlockMessages(l2BlockNumber, l1ToL2MessageSubtreeSize); @@ -244,7 +244,7 @@ export function describeArchiverDataStore(testName: string, getStore: () => Arch const msgs = generateBlockMessages(l2BlockNumber, l1ToL2MessageSubtreeSize - 1); // We replace a message with index 4 with a message with index at the end of the tree // --> with that there will be a gap and it will be impossible to sequence the messages - msgs[4] = new NewInboxLeaf(l2BlockNumber, BigInt(l1ToL2MessageSubtreeSize - 1), randomBytes(32)); + msgs[4] = new NewInboxLeaf(l2BlockNumber, BigInt(l1ToL2MessageSubtreeSize - 1), Fr.random()); await store.addNewL1ToL2Messages(msgs, 100n); await expect(async () => { diff --git a/yarn-project/archiver/src/archiver/eth_log_handlers.ts b/yarn-project/archiver/src/archiver/eth_log_handlers.ts index 2d2e2e4a3259..3dfac303a04d 100644 --- a/yarn-project/archiver/src/archiver/eth_log_handlers.ts +++ b/yarn-project/archiver/src/archiver/eth_log_handlers.ts @@ -19,7 +19,7 @@ export function processLeafInsertedLogs( const leaves: NewInboxLeaf[] = []; for (const log of logs) { const { blockNumber, index, value } = log.args; - leaves.push(new NewInboxLeaf(blockNumber, index, Buffer.from(hexToBytes(value)))); + leaves.push(new NewInboxLeaf(blockNumber, index, Fr.fromString(value))); } return leaves; } diff --git a/yarn-project/archiver/src/archiver/kv_archiver_store/kv_archiver_store.ts b/yarn-project/archiver/src/archiver/kv_archiver_store/kv_archiver_store.ts index 477c06929263..50a5e8c207b7 100644 --- a/yarn-project/archiver/src/archiver/kv_archiver_store/kv_archiver_store.ts +++ b/yarn-project/archiver/src/archiver/kv_archiver_store/kv_archiver_store.ts @@ -216,7 +216,7 @@ export class KVArchiverDataStore implements ArchiverDataStore { * @param blockNumber - L2 block number to get messages for. * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). */ - getNewL1ToL2Messages(blockNumber: bigint): Promise { + getNewL1ToL2Messages(blockNumber: bigint): Promise { try { return Promise.resolve(this.#messageStore.getNewL1ToL2Messages(blockNumber)); } catch (err) { diff --git a/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts b/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts index a56dd2c30506..6ce53d887cb3 100644 --- a/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts +++ b/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts @@ -19,7 +19,7 @@ type Message = { * LMDB implementation of the ArchiverDataStore interface. */ export class MessageStore { - #newMessages: AztecMap; + #newMessages: AztecMap; #lastL1BlockNewMessages: AztecSingleton; // TODO(#4492): Nuke the following when purging the old inbox #pendingMessagesByFee: AztecCounter<[number, string]>; @@ -208,8 +208,8 @@ export class MessageStore { return entryKeys; } - getNewL1ToL2Messages(blockNumber: bigint): Buffer[] { - const messages: Buffer[] = []; + getNewL1ToL2Messages(blockNumber: bigint): Fr[] { + const messages: Fr[] = []; let undefinedMessageFound = false; for (let messageIndex = 0; messageIndex < this.#l1ToL2MessagesSubtreeSize; messageIndex++) { // This is inefficient but probably fine for now. diff --git a/yarn-project/archiver/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts b/yarn-project/archiver/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts index 55ba69acfa01..ae987fe9e4e5 100644 --- a/yarn-project/archiver/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +++ b/yarn-project/archiver/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts @@ -12,7 +12,7 @@ export class NewL1ToL2MessageStore { * A map containing the entry key to the corresponding L1 to L2 * messages (and the number of times the message has been seen). */ - protected store: Map = new Map(); + protected store: Map = new Map(); #l1ToL2MessagesSubtreeSize = 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT; @@ -26,8 +26,8 @@ export class NewL1ToL2MessageStore { this.store.set(key, message.leaf); } - getMessages(blockNumber: bigint): Buffer[] { - const messages: Buffer[] = []; + getMessages(blockNumber: bigint): Fr[] { + const messages: Fr[] = []; let undefinedMessageFound = false; for (let messageIndex = 0; messageIndex < this.#l1ToL2MessagesSubtreeSize; messageIndex++) { // This is inefficient but probably fine for now. diff --git a/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts b/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts index 444db95ff7ed..d6c4387fda54 100644 --- a/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts +++ b/yarn-project/archiver/src/archiver/memory_archiver_store/memory_archiver_store.ts @@ -348,7 +348,7 @@ export class MemoryArchiverStore implements ArchiverDataStore { * @param blockNumber - L2 block number to get messages for. * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). */ - getNewL1ToL2Messages(blockNumber: bigint): Promise { + getNewL1ToL2Messages(blockNumber: bigint): Promise { return Promise.resolve(this.newL1ToL2Messages.getMessages(blockNumber)); } diff --git a/yarn-project/circuit-types/src/l1_to_l2_message.ts b/yarn-project/circuit-types/src/l1_to_l2_message.ts index fe8ca217b868..af3854998e59 100644 --- a/yarn-project/circuit-types/src/l1_to_l2_message.ts +++ b/yarn-project/circuit-types/src/l1_to_l2_message.ts @@ -14,7 +14,7 @@ export interface L1ToL2MessageSource { * @param blockNumber - L2 block number to get messages for. * @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found). */ - getNewL1ToL2Messages(blockNumber: bigint): Promise; + getNewL1ToL2Messages(blockNumber: bigint): Promise; /** * Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee @@ -45,22 +45,18 @@ export class NewInboxLeaf { /** Index of the leaf in L2 block message subtree. */ public readonly index: bigint, /** Leaf of the subtree. */ - public readonly leaf: Buffer, - ) { - if (leaf.length !== 32) { - throw new Error('Invalid leaf length'); - } - } + public readonly leaf: Fr, + ) {} toBuffer(): Buffer { - return Buffer.concat([toBufferBE(this.blockNumber, 32), toBufferBE(this.index, 32), this.leaf]); + return serializeToBuffer([this.blockNumber, this.index, this.leaf]); } fromBuffer(buffer: Buffer | BufferReader): NewInboxLeaf { const reader = BufferReader.asReader(buffer); const blockNumber = toBigIntBE(reader.readBytes(32)); const index = toBigIntBE(reader.readBytes(32)); - const leaf = reader.readBytes(32); + const leaf = reader.readObject(Fr); return new NewInboxLeaf(blockNumber, index, leaf); } } diff --git a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts index dff25f5b2e58..cdb97c2de466 100644 --- a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts @@ -1,3 +1,4 @@ +import { Fr } from '@aztec/foundation/fields'; import { Tuple } from '@aztec/foundation/serialize'; import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '../../constants.gen.js'; @@ -5,22 +6,16 @@ import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '. export class BaseParityInputs { constructor( /** Aggregated proof of all the parity circuit iterations. */ - public readonly msgs: Tuple, - ) { - msgs.forEach((msg: Buffer) => { - if (msg.length !== 32) { - throw new Error(`msg buffer must be 32 bytes. Got ${msg.length} bytes`); - } - }); - } + public readonly msgs: Tuple, + ) {} public static fromSlice( - array: Tuple, + array: Tuple, index: number, ): BaseParityInputs { const start = index * NUM_MSGS_PER_BASE_PARITY; const end = start + NUM_MSGS_PER_BASE_PARITY; const msgs = array.slice(start, end); - return new BaseParityInputs(msgs as Tuple); + return new BaseParityInputs(msgs as Tuple); } } diff --git a/yarn-project/end-to-end/src/integration_l1_publisher.test.ts b/yarn-project/end-to-end/src/integration_l1_publisher.test.ts index 994f829115f9..8bf3471ca6ee 100644 --- a/yarn-project/end-to-end/src/integration_l1_publisher.test.ts +++ b/yarn-project/end-to-end/src/integration_l1_publisher.test.ts @@ -27,7 +27,7 @@ import { fr, makeNewSideEffect, makeNewSideEffectLinkedToNoteHash, makeProof } f import { createEthereumChain } from '@aztec/ethereum'; import { makeTuple, range } from '@aztec/foundation/array'; import { openTmpStore } from '@aztec/kv-store/utils'; -import { AvailabilityOracleAbi, InboxAbi, OutboxAbi, RollupAbi } from '@aztec/l1-artifacts'; +import { AvailabilityOracleAbi, InboxAbi, NewInboxAbi, OutboxAbi, RollupAbi } from '@aztec/l1-artifacts'; import { EmptyRollupProver, L1Publisher, @@ -80,6 +80,7 @@ describe('L1Publisher integration', () => { let rollup: GetContractReturnType>; let inbox: GetContractReturnType>; + let newInbox: GetContractReturnType>; let outbox: GetContractReturnType>; let publisher: L1Publisher; @@ -123,6 +124,12 @@ describe('L1Publisher integration', () => { abi: InboxAbi, client: walletClient, }); + const newInboxAddress = await rollup.read.NEW_INBOX(); + newInbox = getContract({ + address: newInboxAddress, + abi: NewInboxAbi, + client: walletClient, + }); outbox = getContract({ address: outboxAddress, abi: OutboxAbi, @@ -196,6 +203,12 @@ describe('L1Publisher integration', () => { // Using the 0 value for the secretHash. const emptySecretHash = Fr.ZERO.toString(); + await newInbox.write.sendL2Message( + [{ actor: recipient.recipient.toString(), version: BigInt(recipient.version) }, contentString, emptySecretHash], + {} as any, + ); + + // TODO(#4492): Nuke this when purging the old inbox await inbox.write.sendL2Message( [ { actor: recipient.recipient.toString(), version: BigInt(recipient.version) }, @@ -394,7 +407,7 @@ describe('L1Publisher integration', () => { coinbase, feeRecipient, ); - const [block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages); + const [block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages, l1ToL2Messages); prevHeader = block.header; // check that values are in the inbox @@ -476,7 +489,7 @@ describe('L1Publisher integration', () => { coinbase, feeRecipient, ); - const [block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages); + const [block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages, l1ToL2Messages); prevHeader = block.header; writeJson(`empty_block_${i}`, block, l1ToL2Messages, [], AztecAddress.ZERO, deployerAccount.address); diff --git a/yarn-project/foundation/src/serialize/serialize.ts b/yarn-project/foundation/src/serialize/serialize.ts index 77785e8f27dc..9023fc565984 100644 --- a/yarn-project/foundation/src/serialize/serialize.ts +++ b/yarn-project/foundation/src/serialize/serialize.ts @@ -110,6 +110,7 @@ export type Bufferable = | boolean | Buffer | number + | bigint | string | { /** @@ -149,6 +150,12 @@ export function serializeToBufferArray(...objs: Bufferable[]): Buffer[] { ret.push(obj); } else if (typeof obj === 'boolean') { ret.push(boolToBuffer(obj)); + } else if (typeof obj === 'bigint') { + // Throw if bigint does not fit into 32 bytes + if (obj > BigInt('0xffffffffffffffffffffffffffffffff')) { + throw new Error(`BigInt ${obj} does not fit into 32 bytes`); + } + ret.push(serializeBigInt(obj)); } else if (typeof obj === 'number') { // Note: barretenberg assumes everything is big-endian ret.push(numToUInt32BE(obj)); // TODO: Are we always passing numbers as UInt32? diff --git a/yarn-project/sequencer-client/src/block_builder/index.ts b/yarn-project/sequencer-client/src/block_builder/index.ts index c1ad0a086eff..d4d392ae6cc9 100644 --- a/yarn-project/sequencer-client/src/block_builder/index.ts +++ b/yarn-project/sequencer-client/src/block_builder/index.ts @@ -20,7 +20,7 @@ export interface BlockBuilder { buildL2Block( globalVariables: GlobalVariables, txs: ProcessedTx[], - newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox ): Promise<[L2Block, Proof]>; } diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts index a383020f57fa..cd535102d0bc 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts @@ -78,7 +78,7 @@ describe('sequencer/solo_block_builder', () => { let baseRollupOutputLeft: BaseOrMergeRollupPublicInputs; let baseRollupOutputRight: BaseOrMergeRollupPublicInputs; let rootRollupOutput: RootRollupPublicInputs; - let newModelMockL1ToL2Messages: Buffer[]; // TODO(#4492): Rename this when purging the old inbox + let newModelMockL1ToL2Messages: Fr[]; // TODO(#4492): Rename this when purging the old inbox let mockL1ToL2Messages: Fr[]; // TODO(#4492): Nuke this when purging the old inbox let globalVariables: GlobalVariables; diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index e39c2cb271fe..30f2dfafcbc9 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -98,7 +98,7 @@ export class SoloBlockBuilder implements BlockBuilder { public async buildL2Block( globalVariables: GlobalVariables, txs: ProcessedTx[], - newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox newL1ToL2Messages: Fr[], ): Promise<[L2Block, Proof]> { // Check txs are good for processing by checking if all the tree snapshots in header are non-empty @@ -161,7 +161,7 @@ export class SoloBlockBuilder implements BlockBuilder { protected async runCircuits( globalVariables: GlobalVariables, txs: ProcessedTx[], - newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox ): Promise<[RootRollupPublicInputs, Proof]> { // Check that the length of the array of txs is a power of two @@ -175,7 +175,7 @@ export class SoloBlockBuilder implements BlockBuilder { { const newModelL1ToL2MessagesTuple = padArrayEnd( newModelL1ToL2Messages, - Buffer.alloc(32), + Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, ); const baseParityInputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }, (_, i) => diff --git a/yarn-project/sequencer-client/src/sequencer/sequencer.ts b/yarn-project/sequencer-client/src/sequencer/sequencer.ts index 032a4624dbce..f22ec684ff76 100644 --- a/yarn-project/sequencer-client/src/sequencer/sequencer.ts +++ b/yarn-project/sequencer-client/src/sequencer/sequencer.ts @@ -322,7 +322,7 @@ export class Sequencer { */ protected async buildBlock( txs: ProcessedTx[], - newModelL1ToL2Messages: Buffer[], // TODO(#4492): Rename this when purging the old inbox + newModelL1ToL2Messages: Fr[], // TODO(#4492): Rename this when purging the old inbox newL1ToL2Messages: Fr[], // TODO(#4492): Nuke this when purging the old inbox emptyTx: ProcessedTx, globalVariables: GlobalVariables, From bd14110a0a1478b13dded4c7158fe9e526cd767f Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 14:04:44 +0000 Subject: [PATCH 15/39] fix --- .../src/archiver/kv_archiver_store/message_store.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts b/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts index 6ce53d887cb3..1de475fbc8e0 100644 --- a/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts +++ b/yarn-project/archiver/src/archiver/kv_archiver_store/message_store.ts @@ -19,7 +19,7 @@ type Message = { * LMDB implementation of the ArchiverDataStore interface. */ export class MessageStore { - #newMessages: AztecMap; + #newMessages: AztecMap; #lastL1BlockNewMessages: AztecSingleton; // TODO(#4492): Nuke the following when purging the old inbox #pendingMessagesByFee: AztecCounter<[number, string]>; @@ -73,7 +73,7 @@ export class MessageStore { throw new Error(`Message index ${message.index} out of subtree range`); } const key = `${message.blockNumber}-${message.index}`; - void this.#newMessages.setIfNotExists(key, message.leaf); + void this.#newMessages.setIfNotExists(key, message.leaf.toBuffer()); } return true; @@ -219,7 +219,7 @@ export class MessageStore { if (undefinedMessageFound) { throw new Error(`L1 to L2 message gap found in block ${blockNumber}`); } - messages.push(message); + messages.push(Fr.fromBuffer(message)); } else { undefinedMessageFound = true; // We continue iterating over messages here to verify that there are no more messages after the undefined one. From 6dd6f89707f686f1f9f48293d07a03ea6af85a61 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 14:21:09 +0000 Subject: [PATCH 16/39] 2 fields hack --- .../parity-lib/src/base/base_parity_inputs.nr | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index 43037077cdb3..f3047dfd26fe 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -6,24 +6,29 @@ use dep::types::{ constants::{NUM_FIELDS_PER_SHA256, NUM_MSGS_PER_BASE_PARITY}, merkle_tree::MerkleTree, mocked::AggregationObject, + utils::uint256::U256, }; struct BaseParityInputs { - msgs: [[Field; NUM_FIELDS_PER_SHA256]; NUM_MSGS_PER_BASE_PARITY], + msgs: [Field; NUM_MSGS_PER_BASE_PARITY], } impl BaseParityInputs { pub fn base_parity_circuit(self) -> ParityPublicInputs { - let sha_tree = Sha256MerkleTree::new(self.msgs); - - // TODO: nuke this flattening once we truncate sha256 to 1 field - let mut flat_msgs = [0; NUM_FIELDS_PER_SHA256 * NUM_MSGS_PER_BASE_PARITY]; + // TODO: nuke this hack once we truncate the sha256 in the frontier tree + let mut converted_msgs = [[0; NUM_FIELDS_PER_SHA256]; NUM_MSGS_PER_BASE_PARITY]; for i in 0..NUM_MSGS_PER_BASE_PARITY { - for j in 0..NUM_FIELDS_PER_SHA256 { - flat_msgs[i * NUM_FIELDS_PER_SHA256 + j] = self.msgs[i][j]; + let bytes = self.msgs[i].to_be_bytes(32); + let mut result = [0; 32]; + for i in 0..32 { + result[i] = bytes[i]; } + let msg_as_u256 = U256::from_bytes32(result); + converted_msgs[i] = msg_as_u256.to_u128_limbs(); } - let pedersen_tree = MerkleTree::new(flat_msgs); + + let sha_tree = Sha256MerkleTree::new(converted_msgs); + let pedersen_tree = MerkleTree::new(self.msgs); ParityPublicInputs { aggregation_object: AggregationObject {}, From 21ce51b245832850e8c9e4ac8f27a0dd6259ec87 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 14:22:59 +0000 Subject: [PATCH 17/39] fmt --- .../src/block_builder/solo_block_builder.ts | 1 - yarn-project/sequencer-client/src/prover/empty.ts | 4 ++-- yarn-project/sequencer-client/src/prover/index.ts | 6 +++--- yarn-project/sequencer-client/src/simulator/index.ts | 2 +- yarn-project/sequencer-client/src/simulator/rollup.ts | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index 30f2dfafcbc9..1defe1440768 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -26,7 +26,6 @@ import { PUBLIC_DATA_SUBTREE_HEIGHT, PUBLIC_DATA_SUBTREE_SIBLING_PATH_LENGTH, PUBLIC_DATA_TREE_HEIGHT, - ParityPublicInputs, PartialStateReference, PreviousRollupData, Proof, diff --git a/yarn-project/sequencer-client/src/prover/empty.ts b/yarn-project/sequencer-client/src/prover/empty.ts index 68f51e7d80d3..ea529c3addeb 100644 --- a/yarn-project/sequencer-client/src/prover/empty.ts +++ b/yarn-project/sequencer-client/src/prover/empty.ts @@ -30,7 +30,7 @@ export class EmptyRollupProver implements RollupProver { * @param _inputs - Inputs to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ - async getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise { + async getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise { publicInputs.aggregationObject = AggregationObject.makeFake(); return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0)); } @@ -40,7 +40,7 @@ export class EmptyRollupProver implements RollupProver { * @param _inputs - Inputs to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ - async getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise { + async getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise { publicInputs.aggregationObject = AggregationObject.makeFake(); return new Proof(Buffer.alloc(EMPTY_PROOF_SIZE, 0)); } diff --git a/yarn-project/sequencer-client/src/prover/index.ts b/yarn-project/sequencer-client/src/prover/index.ts index b5d979ee60b4..333d872cb960 100644 --- a/yarn-project/sequencer-client/src/prover/index.ts +++ b/yarn-project/sequencer-client/src/prover/index.ts @@ -9,7 +9,7 @@ import { PublicKernelCircuitPublicInputs, RootParityInputs, RootRollupInputs, - RootRollupPublicInputs + RootRollupPublicInputs, } from '@aztec/circuits.js'; /** @@ -21,14 +21,14 @@ export interface RollupProver { * @param input - Input to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ - getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise; + getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise; /** * Creates a proof for the given input. * @param input - Input to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ - getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise; + getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise; /** * Creates a proof for the given input. diff --git a/yarn-project/sequencer-client/src/simulator/index.ts b/yarn-project/sequencer-client/src/simulator/index.ts index 913cd72419a0..9f25ce303883 100644 --- a/yarn-project/sequencer-client/src/simulator/index.ts +++ b/yarn-project/sequencer-client/src/simulator/index.ts @@ -9,7 +9,7 @@ import { PublicKernelTailCircuitPrivateInputs, RootParityInputs, RootRollupInputs, - RootRollupPublicInputs + RootRollupPublicInputs, } from '@aztec/circuits.js'; /** diff --git a/yarn-project/sequencer-client/src/simulator/rollup.ts b/yarn-project/sequencer-client/src/simulator/rollup.ts index 71b8b09bc777..e87f6e388164 100644 --- a/yarn-project/sequencer-client/src/simulator/rollup.ts +++ b/yarn-project/sequencer-client/src/simulator/rollup.ts @@ -7,7 +7,7 @@ import { ParityPublicInputs, RootParityInputs, RootRollupInputs, - RootRollupPublicInputs + RootRollupPublicInputs, } from '@aztec/circuits.js'; import { createDebugLogger } from '@aztec/foundation/log'; import { elapsed } from '@aztec/foundation/timer'; From 9e4299bcd8dcea92ad0fdb9779e118729039a5c3 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 14:58:27 +0000 Subject: [PATCH 18/39] test fix --- yarn-project/sequencer-client/src/sequencer/sequencer.test.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yarn-project/sequencer-client/src/sequencer/sequencer.test.ts b/yarn-project/sequencer-client/src/sequencer/sequencer.test.ts index 831ddb4c2fb6..589d745d554b 100644 --- a/yarn-project/sequencer-client/src/sequencer/sequencer.test.ts +++ b/yarn-project/sequencer-client/src/sequencer/sequencer.test.ts @@ -73,6 +73,7 @@ describe('sequencer', () => { }); l1ToL2MessageSource = mock({ + getNewL1ToL2Messages: () => Promise.resolve(Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(Fr.ZERO)), getPendingL1ToL2EntryKeys: () => Promise.resolve(Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(Fr.ZERO)), getBlockNumber: () => Promise.resolve(lastBlockNumber), }); @@ -111,6 +112,7 @@ describe('sequencer', () => { new GlobalVariables(chainId, version, new Fr(lastBlockNumber + 1), Fr.ZERO, coinbase, feeRecipient), expectedTxHashes.map(hash => expect.objectContaining({ hash })), Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), + Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), ); expect(publisher.processL2Block).toHaveBeenCalledWith(block); }); @@ -148,6 +150,7 @@ describe('sequencer', () => { new GlobalVariables(chainId, version, new Fr(lastBlockNumber + 1), Fr.ZERO, coinbase, feeRecipient), expectedTxHashes.map(hash => expect.objectContaining({ hash })), Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), + Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), ); expect(publisher.processL2Block).toHaveBeenCalledWith(block); expect(p2p.deleteTxs).toHaveBeenCalledWith([doubleSpendTx.getTxHash()]); @@ -181,6 +184,7 @@ describe('sequencer', () => { new GlobalVariables(chainId, version, new Fr(lastBlockNumber + 1), Fr.ZERO, coinbase, feeRecipient), expectedTxHashes.map(hash => expect.objectContaining({ hash })), Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), + Array(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).fill(new Fr(0n)), ); expect(publisher.processL2Block).toHaveBeenCalledWith(block); expect(p2p.deleteTxs).toHaveBeenCalledWith([invalidChainTx.getTxHash()]); From 2e5bbd4341a637bf5869d5c9edaba4a1d9956e28 Mon Sep 17 00:00:00 2001 From: benesjan Date: Mon, 11 Mar 2024 15:13:28 +0000 Subject: [PATCH 19/39] fix --- .../noir-protocol-circuits-types/src/type_conversion.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts index 1dbc4fefd904..385b09760452 100644 --- a/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts +++ b/yarn-project/noir-protocol-circuits-types/src/type_conversion.ts @@ -1954,7 +1954,7 @@ export function mapStateDiffHintsToNoir(hints: StateDiffHints): StateDiffHintsNo */ export function mapBaseParityInputsToNoir(inputs: BaseParityInputs): BaseParityInputsNoir { return { - msgs: mapTuple(inputs.msgs, mapSha256HashToNoir), + msgs: mapTuple(inputs.msgs, mapFieldToNoir), }; } From 01dcd87d4a27d46c654bdb6378c85a3985987a71 Mon Sep 17 00:00:00 2001 From: benesjan Date: Tue, 12 Mar 2024 10:38:21 +0000 Subject: [PATCH 20/39] enabling in hash check in Rollup --- l1-contracts/src/core/Rollup.sol | 10 +++---- l1-contracts/src/core/libraries/Errors.sol | 1 + l1-contracts/test/fixtures/empty_block_0.json | 12 ++++---- l1-contracts/test/fixtures/empty_block_1.json | 23 ++++++++++++++- l1-contracts/test/fixtures/mixed_block_0.json | 23 ++++++++++++++- l1-contracts/test/fixtures/mixed_block_1.json | 29 ++++++++++++++++++- 6 files changed, 83 insertions(+), 15 deletions(-) diff --git a/l1-contracts/src/core/Rollup.sol b/l1-contracts/src/core/Rollup.sol index a898c6ceab81..f82ca13559c6 100644 --- a/l1-contracts/src/core/Rollup.sol +++ b/l1-contracts/src/core/Rollup.sol @@ -89,12 +89,10 @@ contract Rollup is IRollup { IInbox inbox = REGISTRY.getInbox(); inbox.batchConsume(l1ToL2Msgs, msg.sender); - // TODO(#4633): enable the inHash check - NEW_INBOX.consume(); - // bytes32 inHash = NEW_INBOX.consume(); - // if (header.contentCommitment.inHash != inHash) { - // revert Errors.Rollup__InvalidInHash(inHash, header.contentCommitment.inHash); - // } + bytes32 inHash = NEW_INBOX.consume(); + if (header.contentCommitment.inHash != inHash) { + revert Errors.Rollup__InvalidInHash(inHash, header.contentCommitment.inHash); + } IOutbox outbox = REGISTRY.getOutbox(); outbox.sendL1Messages(l2ToL1Msgs); diff --git a/l1-contracts/src/core/libraries/Errors.sol b/l1-contracts/src/core/libraries/Errors.sol index 568bbda37c65..6cc41709fbdc 100644 --- a/l1-contracts/src/core/libraries/Errors.sol +++ b/l1-contracts/src/core/libraries/Errors.sol @@ -49,6 +49,7 @@ library Errors { // Rollup error Rollup__InvalidArchive(bytes32 expected, bytes32 actual); // 0xb682a40e + error Rollup__InvalidInHash(bytes32 expected, bytes32 actual); // 0xcd6f4233 error Rollup__InvalidProof(); // 0xa5b2ba17 error Rollup__InvalidChainId(uint256 expected, uint256 actual); // 0x37b5bc12 error Rollup__InvalidVersion(uint256 expected, uint256 actual); // 0x9ef30794 diff --git a/l1-contracts/test/fixtures/empty_block_0.json b/l1-contracts/test/fixtures/empty_block_0.json index 6d0419015500..c67d17a6f445 100644 --- a/l1-contracts/test/fixtures/empty_block_0.json +++ b/l1-contracts/test/fixtures/empty_block_0.json @@ -35,12 +35,12 @@ ] }, "block": { - "archive": "0x2c80dc48494603ac15fa1ea88e3cd79565bdd54cf067a9bb4da9849870b60c69", + "archive": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac", "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { "contentCommitment": { - "inHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "inHash": "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", "outHash": "0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c", "txTreeHeight": 2, "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9" @@ -50,8 +50,8 @@ "chainId": 31337, "timestamp": 0, "version": 1, - "coinbase": "0x66440eb666440eb666440eb666440eb666440eb6", - "feeRecipient": "0x061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba" + "coinbase": "0xeacbed58a3350230ff40d350a9c64be239280c66", + "feeRecipient": "0x19f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5" }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -78,8 +78,8 @@ } } }, - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a90000000000000000000000000000000000000000000000000000000000000000c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a6900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000066440eb666440eb666440eb666440eb666440eb6061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000eacbed58a3350230ff40d350a9c64be239280c6619f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x22fb6cb24475c172eea140a775dd4ca748f8dda94fda256d5f76c09cb913ecf0" + "publicInputsHash": "0x27935ee6d68fb2c005e164b1e06c2388d7bab6c29eea9c465908be5991fbb4ca" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/empty_block_1.json b/l1-contracts/test/fixtures/empty_block_1.json index 71397610889e..43091b52b60a 100644 --- a/l1-contracts/test/fixtures/empty_block_1.json +++ b/l1-contracts/test/fixtures/empty_block_1.json @@ -35,12 +35,16 @@ ] }, "block": { +<<<<<<< HEAD "archive": "0x0dbc2a0e8143bb92a0f8a92c8a9862c4577f15b01330d89960032af0dadf5b52", +======= + "archive": "0x26f59272a35a1f3d432c941a961518225f570af8926ab9082be0d58462975619", +>>>>>>> 8567078ca (enabling in hash check in Rollup) "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { "contentCommitment": { - "inHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "inHash": "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", "outHash": "0xc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c", "txTreeHeight": 2, "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9" @@ -48,6 +52,7 @@ "globalVariables": { "blockNumber": 2, "chainId": 31337, +<<<<<<< HEAD "timestamp": 1710254478, "version": 1, "coinbase": "0x66440eb666440eb666440eb666440eb666440eb6", @@ -56,6 +61,16 @@ "lastArchive": { "nextAvailableLeafIndex": 2, "root": "0x2c80dc48494603ac15fa1ea88e3cd79565bdd54cf067a9bb4da9849870b60c69" +======= + "timestamp": 1710844994, + "version": 1, + "coinbase": "0xeacbed58a3350230ff40d350a9c64be239280c66", + "feeRecipient": "0x19f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5" + }, + "lastArchive": { + "nextAvailableLeafIndex": 2, + "root": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac" +>>>>>>> 8567078ca (enabling in hash check in Rollup) }, "stateReference": { "l1ToL2MessageTree": { @@ -78,8 +93,14 @@ } } }, +<<<<<<< HEAD "header": "0x2c80dc48494603ac15fa1ea88e3cd79565bdd54cf067a9bb4da9849870b60c690000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a90000000000000000000000000000000000000000000000000000000000000000c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f0698e66440eb666440eb666440eb666440eb666440eb6061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", "publicInputsHash": "0x0fc84e6176557ac21fb1dd501d124270791bcd21474d814112b3ae4ed0c456bb" +======= + "header": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac0000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f96c42eacbed58a3350230ff40d350a9c64be239280c6619f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5", + "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", + "publicInputsHash": "0x00f8983da39c512e02fa3befd1c777fa7f3a9d8a5c3852193af88afa8c4f6c86" +>>>>>>> 8567078ca (enabling in hash check in Rollup) } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/mixed_block_0.json b/l1-contracts/test/fixtures/mixed_block_0.json index 3ce256175e86..b69990d26d71 100644 --- a/l1-contracts/test/fixtures/mixed_block_0.json +++ b/l1-contracts/test/fixtures/mixed_block_0.json @@ -52,23 +52,38 @@ ] }, "block": { +<<<<<<< HEAD "archive": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f51410", "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02d622c8b62e54bf51a1fd35b67456b229dae3bc6126977f1b2d88662a3418347a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb61b97deda6e3f6e57e02e3e50f41a6c05d9d508147d543e0d9fbbe858c33d4e6a2185f8c0152162e19e296fff1a7e1664c5c8194faf05fc0450c5725c0de96009000000b014b645af1d3b7df259bc545d7f52bc412546986a5f76ff3b331cb8dbddf1c9c2ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb602ebf7fe2895a0551fcabf530c27bd24616d64b8ca61c55720001ad1fded94e508da11e3cf7794deddc5f101328b67834d6075f3fc13834dd109a4d54899a684000000b02c6ead45b8c3501951a91b1618e165bcd512dd57263df715f742e0e908a2103eb03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb61aa45f94c41d727c17b7860ba5b666a01139a9a59128bd31e42642df289ddb612092797a6aff6705d5b2b7b9cc1a10fefd2cbae0c2da7b28952fcce27349ed000000021c000000b013c2c6697319821691459c1830eeb6db5cab39fb734b7e5f77871362435256b9b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb601f878b87e73a4795754070dbdc3b7be98d20649de36447b646a7558634e21dc07e6929e25559903154f38bbe427621d84c517850fe802721573ff5badfa337b000000b02b7b2e000ea1543d893262d0ca7d60570c777ee83a12763a3bad3b6f6e029d35b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb619b0e04f19fb76a04f40cdc65752613a489e4b36a4fd3c5628909d658dfe68581f9efa34c0dd6b2a0d3bff747db60b9934915c71d6aefa4cd99a2768d8aa79f7000000b012cf4723c8f7863ac8cee3d2e28ab175940fdb8c871ffd83bbf16de8a8b2e3b0bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb60104f972d451a89d8edd4ec86f5fb258d036a7daf20ac39fa8d4cfdec8aeaed306f313587b339d274cd8807695c35cb7bc29b91623bc819659de59e2135ac0720000021c000000b02a87aeba647f5861c0bbaa8b7c195af143dc20794de6f55e801795f5d3632a2cc03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb618bd61096fd97ac486ca158108ee5bd48002ecc7b8d1bb7a6cfaf7ebf35ef54f1eab7aef16bb6f4e44c5472f2f5206336bf5fe02ea8379711e0481ef3e0b06ee000000b011dbc7de1ed58a5f00582b8d9426ac0fcb747d1d9af47ca8005bc86f0e1370a7c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb600117a2d2a2facc1c666968320fbacf3079b496c05df42c3ed3f2a652e0f3bca05ff9412d111a14b8461c831475f5751f38e5aa7379100ba9e48b46878bb4d69000000b029942f74ba5d5c85f844f2462db5558b7b40c20a61bb7482c481f07c38c3b723c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb617c9e1c3c5b77ee8be535d3bba8a566eb7678e58cca63a9eb165527258bf82461db7fba96c9973727c4e8ee9e0ee00cda35a9f93fe57f895626edc75a36b93e50000021c000000b010e8489874b38e8337e1734845c2a6aa02d91eaeaec8fbcc44c622f57373fd9ecc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb62f82495a613f510fb64023f45418ffea6733d345936d3279758b7a7f836fc8c2050c14cd26efa56fbbeb0febf8fb51ec2af2fc384b657fdee2b30eeede1bda60000000b028a0b02f103b60aa2fce3a00df515025b2a5639b758ff3a708ec4b029e24441ad03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb616d6627e1b95830cf5dca4f66c265108eecc2fe9e07ab9c2f5cfacf8be200f3d1cc47c63c2777796b3d7d6a49289fb67dabf4125122c77b9a6d936fc08cc20dc000000b00ff4c952ca9192a76f6abb02f75ea1443a3dc03fc29d7af089307d7bd8d48a95d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb62e8eca14b71d5533edc96baf05b4fa849e9874d6a741b19db9f5d505e8d055b9041895877ccda993f37457a6aa974c8662579dc95f39ff03271d6975437c67570000021c000000b027ad30e9661964ce675781bb90ed4abfea0a052c896472cb4d56a5890384d111d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb615e2e338717387312d65ecb11dc24ba32630d17af44f38e73a3a077f23809c341bd0fd1e18557bbaeb611e5f4425f6021223e2b62600f6ddeb4391826e2cadd3000000b00f014a0d206f96cba6f402bda8fa9bde71a261d0d671fa14cd9ad8023e35178cdc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb62d9b4acf0cfb59582552b369b750f51ed5fd1667bb1630c1fe602f8c4e30e2b003251641d2abadb82afd9f615c33472099bc3f5a730e7e276b87c3fba8dcf44e000000b026b9b1a3bbf768f29ee0c9764289455a216ea6bd9d38f1ef91c1000f68e55e08e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb614ef63f2c7518b5564ef346bcf5e463d5d95730c0823b80b7ea4620588e1292b1add7dd86e337fdf22ea6619f5c1f09c4988844739d576022fadec08d38d3aca0000021c000000b00e0dcac7764d9aefde7d4a785a969678a9070361ea46793912053288a395a483e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb62ca7cb8962d95d7c5cdbfb2468ecefb90d61b7f8ceeaafe642ca8a12b3916fa7023196fc2889b1dc6286e71c0dcf41bad120e0eb86e2fd4baff21e820e3d8145000000b025c6325e11d56d16d66a1130f4253ff458d3484eb10d7113d62b5a95ce45eaffe83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb613fbe4ad1d2f8f799c787c2680fa40d794fa149d1bf8372fc30ebc8bee41b62219e9fe92c41184035a73add4a75deb3680ed25d84da9f5267418468f38edc7c1000000b00d1a4b81cc2b9f14160692330c329112e06ba4f2fe1af85d566f8d0f08f6317aec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb62bb44c43b8b761a0946542df1a88ea5344c65989e2bf2f0a8734e49918f1fc9e013e17b67e67b6009a102ed6bf6b3c550885827c9ab77c6ff45c7908739e0e3c0000021c000000b024d2b31867b3713b0df358eba5c13a8e9037e9dfc4e1f0381a95b51c33a677f6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb613086567730d939dd401c3e132963b71cc5eb62e2fccb6540779171253a2431918f67f4d19ef882791fcf58f58f9e5d0b851c769617e744ab882a1159e4e54b8000000b00c26cc3c2209a3384d8fd9edbdce8bad17d0468411ef77819ad9e7956e56be71f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb62ac0ccfe0e9565c4cbee8a99cc24e4ed7c2afb1af693ae2ecb9f3f1f7e528995004a9870d445ba24d1997691710736ef3fea240dae8bfb9438c6d38ed8fe9b33000000b023df33d2bd91755f457ca0a6575d3528c79c8b70d8b66f5c5f000fa2990704edf83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb61214e621c8eb97c20b8b0b9be432360c03c357bf43a135784be37198b902d010180300076fcd8c4bc9863d4a0a95e06aefb668fa7552f36efcecfb9c03aee1af0000021c000000b00b334cf677e7a75c851921a86f6a86474f34e81525c3f6a5df44421bd3b74b68fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb629cd4db8647369e90377d2547dc0df87b38f9cac0a682d53100999a5e3b3168c2fbb679e0b555e72c1730402a42489e69f82ade73c19eb49c11323a92e5f282b000000b023533ea2e37804772c2110f02930ea449560b0aba9928ecbd3a6cb5f73909f15003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6112166dc1ec99be64314535695ce30a63b27f9505775b49c904dcc1f1e635d07170f80c1c5ab9070010f8504bc31db05271b0a8b8927729341575622690f6ea6000000b00aa757c69dce36746bbd91f2413e3b631cf90d4ff6a0161553eafdd8ae40e590043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6294158888a59f900ea1c429e4f9494a38153c1e6db444cc284b05562be3cb0b42f2f726e313bed8aa817744c75f83f026d46d3220cf60ab935b9df6608e8c25300000fa400000168000000b0225fbf5d3956089b63aa58aadacce4deccc5523cbd670df0181125e5d8f12c0c083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6109571ac44b02afe29b8c3a067a1e5c208ec1e8b2851d40c04f487dbf8ecf72f16838b91eb921f87e7b3f54e8e059020f4df2fc65a039202b5fe11df439908ce000000b009b3d880f3ac3a98a346d9acf2da35fd545daee10a7495399855585f13a172870c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb6284dd942e037fd2521a58a5901308f3db8b86377ef18cbe6c91aafe9239d3dab2e3bf3288719f1aedfa0bc072794399ca4ab74b320ca89dd7a2439ec6e494f4a00000168000000b0216c40178f340cbf9b33a0658c68df790429f3cdd13b8d145c7b806c3e51b903103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb60fa1f2669a8e2f2261420b5b193de05c4050c01c3c265330495ee2625e4d842615900c4c417023ac1f3d3d093fa18abb2c43d1576dd81126fa686c65a8f995c5000000b008c0593b498a3ebcdad02167a47630978bc250721e49145ddcbfb2e57901ff7e143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6275a59fd36160149592ed213b2cc89d7f01d050902ed4b0b0d850a6f88fdcaa22d4873e2dcf7f5d3172a03c1d9303436dc101644349f0901be8e9472d3a9dc4100000168000000b02078c0d1e51210e3d2bce8203e04da133b8e955ee5100c38a0e5daf2a3b245fa183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb60eae7320f06c334698cb5315cad9daf677b561ad4ffad2548dc93ce8c3ae111d149c8d06974e27d056c684c3f13d855563a872e881ac904b3ed2c6ec0e5a22bc000000b007ccd9f59f6842e11259692256122b31c326f203321d9382212a0d6bde628c751c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb62666dab78bf4056d90b819ce646884722781a69a16c1ca2f51ef64f5ee5e57992c54f49d32d5f9f74eb34b7c8acc2ed11374b7d54873882602f8eef9390a693800000168000000b01f85418c3af015080a462fdaefa0d4ad72f336eff8e48b5ce55035790912d2f1203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb60dbaf3db464a376ad0549ad07c75d590af1a033e63cf5178d233976f290e9e1413a90dc0ed2c2bf48e4fcc7ea2d97fef9b0d147995810f6f833d217273baafb3000000b006d95aaff546470549e2b0dd07ae25cbfa8b939445f212a6659467f243c3196c243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb625735b71e1d20991c841618916047f0c5ee6482b2a9649539659bf7c53bee4902b61755788b3fe1b863c93373c68296b4ad959665c48074a4763497f9e6af62f00000168000000b01e91c24690ce192c41cf7795a13ccf47aa57d8810cb90a8129ba8fff6e735fe8283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb60cc774959c283b8f07dde28b2e11d02ae67ea4cf77a3d09d169df1f58e6f2b0b12b58e7b430a3018c5d9143954757a89d271b60aa9558e93c7a77bf8d91b3caa000000b005e5db6a4b244b29816bf897b94a206631f0352559c691caa9fec278a923a6632c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb6247fdc2c37b00db5ffcaa943c7a079a6964ae9bc3e6ac877dac41a02b91f71872a6df611de92023fbdc5daf1ee042405823dfaf7701c866e8bcda40603cb832600000168000000b01d9e4300e6ac1d507958bf5052d8c9e1e1bc7a12208d89a56e24ea85d3d3ecdf303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb60bd3f54ff2063fb33f672a45dfadcac51de346608b784fc15b084c7bf3cfb80211c20f3598e8343cfd625bf40611752409d6579bbd2a0db80c11d67f3e7bc9a1000000b004f25c24a1024f4db8f540526ae61b006954d6b66d9b10eeee691cff0e84335a343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6238c5ce68d8e11da3753f0fe793c7440cdaf8b4d523f479c1f2e74891e7ffe7e297a76cc34700663f54f22ac9fa01e9fb9a29c8883f10592d037fe8c692c101d00000168000000b01caac3bb3c8a2174b0e2070b0474c47c19211ba3346208c9b28f450c393479d6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb60ae0760a47e443d776f072009149c55f5547e7f19f4ccee59f72a702593044f910ce8fefeec6386134eba3aeb7ad6fbe413af92cd0fe8cdc507c3105a3dc5698000000b003fedcdef6e05371f07e880d1c82159aa0b97847816f901332d3778573e4c0513c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb62298dda0e36c15fe6edd38b92ad86edb05142cde6613c6c06398cf0f83e08b752886f7868a4e0a882cd86a67513c1939f1073e1997c584b714a25912ce8c9d1400000168000000b01bb7447592682598e86b4ec5b610bf165085bd34483687edf6f99f929e9506cd403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb609ecf6c49dc247fbae79b9bb42e5bff98cac8982b3214e09e3dd0188be90d1f00fdb10aa44a43c856c74eb6969496a58789f9abde4d30c0094e68b8c093ce38f000000b0030b5d994cbe57962807cfc7ce1e1034d81e19d895440f37773dd20bd9454d48443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb621a55e5b394a1a22a6668073dc7469753c78ce6f79e845e4a8032995e941186c27937840e02c0eac6461b22202d813d4286bdfaaab9a03db590cb39933ed2a0b00000168000000b01ac3c52fe84629bd1ff4968067acb9b087ea5ec55c0b07123b63fa1903f593c4483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb608f9777ef3a04c1fe6030175f481ba93c4112b13c6f5cd2e28475c0f23f15ee70ee791649a8240a9a3fe33241ae564f2b0043c4ef8a78b24d950e6126e9d7086000000b00217de53a29c5bba5f9117827fba0acf0f82bb69a9188e5bbba82c923ea5da3f4c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb620b1df158f281e46ddefc82e8e10640f73dd70008dbcc508ec6d841c4ea1a563269ff8fb360a12d09beaf9dcb4740e6e5fd0813bbf6e82ff9d770e1f994db70200000168000000b019d045ea3e242de1577dde3b1948b44abf4f00566fdf86367fce549f695620bb503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb60805f839497e50441d8c4930a61db52dfb75cca4daca4c526cb1b6958951ebde0df4121ef06044cddb877adecc815f8ce768dde00c7c0a491dbb4098d3fdfd7d000000b001245f0df87a5fde971a5f3d3156056946e75cfabced0d8000128718a4066736543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb61fbe5fcfe506226b15790fe93fac5ea9ab421191a191442d30d7dea2b402325a25ac79b58be816f4d374419766100908973522ccd3430223e1e168a5feae43f900000168000000b018dcc6a4940232058f0725f5cae4aee4f6b3a1e783b4055ac438af25ceb6adb2583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6071278f39f5c5468551590eb57b9afc832da6e35ee9ecb76b11c111beeb278d50d0092d9463e48f21310c2997e1d5a271ecd7f712050896d62259b1f395e8a74000000b00030dfc84e586402cea3a6f7e2f200037e4bfe8bd0c18ca4447ce19f0966f42d5c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb61ecae08a3ae4268f4d0257a3f1485943e2a6b322b565c351754239291962bf5124b8fa6fe1c61b190afd895217ac03a2ce99c45de7178148264bc32c640ed0f0380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b017e9475ee9e03629c6906db07c80a97f2e1843789788847f08a309ac34173aa9603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6061ef9adf53a588c8c9ed8a60955aa626a3f0fc702734a9af5866ba2541305cc0c0d13939c1c4d164a9a0a542fb954c15632210234250891a68ff5a59ebf176b000000b02fa1aef585680850be7d3469160f52fadde488655e4f7c59ccc931b95ec78125643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb61dd7614490c22ab3848b9f5ea2e453de1a0b54b3c93a4275b9ac93af7ec34c4823c57b2a37a41f3d4286d10cc947fe3d05fe65eefaec006c6ab61db2c96f5de7000000b016f5c8193fbe3a4dfe19b56b2e1ca419657ce509ab5d03a34d0d64329977c7a0683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6052b7a684b185cb0c4282060baf1a4fca1a3b1581647c9bf39f0c628b97392c30b19944df1fa513a8223520ee1554f5b8d96c29347f987b5eafa502c041fa4620000021c000000b02eae2fafdb460c74f6067c23c7ab4d95154929f67223fb7e11338c3fc4280e1c6c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb61ce3e1fee6a02ed7bc14e71954804e78516ff644dd0ec199fe16ee35e423d93f22d1fbe48d8223617a1018c77ae3f8d73d6307800ec07f90af2078392ecfeade000000b0160248d3959c3e7235a2fd25dfb89eb39ce1869abf3182c79177beb8fed85497703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb60437fb22a0f660d4fbb1681b6c8d9f96d90852e92a1c48e37e5b20af1ed41fba0a26150847d8555eb9ac99c992f149f5c4fb64245bce06da2f64aab269803159000000b02dbab06a312410992d8fc3de7947482f4cadcb8785f87aa2559de6c629889b13743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb61bf062b93c7e32fbf39e2ed4061c491288d497d5f0e340be428148bc4984663621de7c9ee3602785b19960822c7ff37174c7a9112294feb4f38ad2bf943077d50000021c000000b0150ec98deb7a42966d2c44e09154994dd446282bd30601ebd5e2193f6438e18e783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb603447bdcf6d464f9333aafd61e299a31106cf47a3df0c807c2c57b358434acb1093295c29db65982f135e184448d448ffc6005b56fa285fe73cf0538cee0be50000000b02cc73124870214bd65190b992ae342c984126d1899ccf9c69a08414c8ee9280a7c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb61afce373925c37202b27768eb7b843acc039396704b7bfe286eba342aee4f32d20eafd59393e2ba9e922a83cde1bee0bac2c4aa236697dd937f52d45f99104cc000000b0141b4a48415846baa4b58c9b42f093e80baac9bce6da81101a4c73c5c9996e85803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb60250fc974cb2691d6ac3f790cfc594cb47d1960b51c5472c072fd5bbe99539a8083f167cf3945da728bf293ef6293f2a33c4a74683770522b8395fbf34414b470000021c000000b02bd3b1dedce018e19ca25353dc7f3d63bb770ea9ada178eade729bd2f449b501843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb61a09642de83a3b4462b0be4969543e46f79ddaf8188c3f06cb55fdc9144580241ff77e138f1c2fce20abeff78fb7e8a5e390ec334a3dfcfd7c5f87cc5ef191c3000000b01327cb0297364adedc3ed455f48c8e82430f6b4dfaaf00345eb6ce4c2ef9fb7c883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6015d7d51a2906d41a24d3f4b81618f657f36379c6599c6504b9a30424ef5c69f074b9737497261cb604870f9a7c539c46b2948d7974b8446fca3ba4599a1d83e000000b02ae0329932be1d05d42b9b0e8e1b37fdf2dbb03ac175f80f22dcf65959aa41f88c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb61915e4e83e183f689a3a06041af038e12f027c892c60be2b0fc0584f79a60d1b1f03fecde4fa33f2583537b24153e3401af58dc45e127c21c0c9e252c4521eba0000021c000000b012344bbced144f0313c81c10a628891c7a740cdf0e837f58a32128d2945a8873903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb60069fe0bf86e7165d9d6870632fd89ffb69ad92d796e457490048ac8b4565396065817f19f5065ef97d1b8b45961345ea28dea68ab20036b410e14cbff026535000000b029ecb353889c212a0bb4e2c93fb732982a4051cbd54a7733674750dfbf0aceef943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6182265a293f6438cd1c34dbecc8c337b66671e1a40353d4f542ab2d5df069a121e107f883ad838168fbe7f6cf2efddda525a2f5571e6fb4605343cd929b2abb1000000b01140cc7742f253274b5163cb57c483b6b1d8ae702257fe7ce78b8358f9bb156a983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb62fdacd392f7e15b3c9b01477661adcf71633630706fc352a1850dae309b6e08e056498abf52e6a13cf5b006f0afd2ef8d9f28bf9bef4828f85786f526462f22c0000021c000000b028f9340dde7a254e433e2a83f1532d3261a4f35ce91ef657abb1ab66246b5be69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb6172ee65ce9d447b1094c95797e282e159dcbbfab5409bc7398950d5c446727091d1d004290b63c3ac747c727a48bd87489bed0e685bb7a6a499e975f8f1338a8000000b0104d4d3198d0574b82daab8609607e50e93d5001362c7da12bf5dddf5f1ba261a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb62ee74df3855c19d801395c3217b6d7914d9804981ad0b44e5cbb35696f176d85047119664b0c6e3806e44829bc99299311572d8ad2c901b3c9e2c9d8c9c37f23000000b02805b4c8345829727ac7723ea2ef27cc990994edfcf3757bf01c05ec89cbe8dda43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6163b67173fb24bd540d5dd342fc428afd530613c67de3b97dcff67e2a9c7b4001c2980fce694405efed10ee25627d30ec1237277998ff98e8e08f1e5f473c59f0000021c000000b00f59cdebeeae5b6fba63f340bafc78eb20a1f1924a00fcc570603865c47c2f58a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb62df3ceaddb3a1dfc38c2a3ecc952d22b84fca6292ea53372a1258fefd477fa7c037d9a20a0ea725c3e6d8fe46e35242d48bbcf1be69d80d80e4d245f2f240c1a000000b0271235828a362d96b250b9f9548b2266d06e367f10c7f4a034866072ef2c75d4ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb61547e7d195904ff9785f24eee160234a0c9502cd7bb2babc2169c2690f2840f71b3601b73c724483365a569d07c3cda8f8881408ad6478b2d2734c6c59d45296000000b00e664ea6448c5f93f1ed3afb6c987385580693235dd57be9b4ca92ec29dcbc4fb03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb62d004f6831182220704beba77aeeccc5bc6147ba4279b296e58fea7639d88773028a1adaf6c8768075f6d79f1fd11ec7802070acfa71fffc52b77ee5948499110000021c000000b0261eb63ce01431bae9da01b406271d0107d2d810249c73c478f0baf9548d02cbb43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb61454688beb6e541dafe86ca992fc1de443f9a45e8f8739e065d41cef7488cdee1a428271925048a76de39e57b95fc8432fecb599c138f7d716dda6f2bf34df8d000000b00d72cf609a6a63b8297682b61e346e1f8f6b34b471a9fb0df934ed728f3d4946b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb62c0cd02286f62644a7d533622c8ac75ff3c5e94b564e31bb29fa44fc9f39146a01969b954ca67aa4ad801f59d16d1961b785123e0e467f209721d96bf9e52608000000b0252b36f735f235df2163496eb7c3179b3f3779a13870f2e8bd5b157fb9ed8fc2bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb61360e946414c5841e771b4644498187e7b5e45efa35bb904aa3e7775d9e95ae5194f032be82e4ccba56ce6126afbc2dd6751572ad50d76fb5b48017924956c8400000fa400000168000000b00c7f501af04867dc60ffca70cfd068b9c6cfd645857e7a323d9f47f8f49dd63dc03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb62b1950dcdcd42a68df5e7b1cde26c1fa2b2a8adc6a22b0df6e649f830499a16100a31c4fa2847ec8e5096714830913fbeee9b3cf221afe44db8c33f25f45b2ff000000b02437b7b18bd03a0358ec9129695f1235769c1b324c45720d01c570061f4e1cb9c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6126d6a00972a5c661efafc1ef6341318b2c2e780b7303828eea8d1fc3f49e7dc185b83e63e0c50efdcf62dcd1c97bd779eb5f8bbe8e1f61f9fb25bff89f5f97b00000168000000b00b8bd0d546266c009889122b816c6353fe3477d69952f9568209a27f59fe6334c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb62a25d19732b22e8d16e7c2d78fc2bc94628f2c6d7df73003b2cefa0969fa2e583013eb7cd9942316d4e2f485b62666f34e823da8afa8edfa63d8840cb4a63ff7000000b02344386be1ae3e279075d8e41afb0ccfae00bcc36019f131462fca8c84aea9b0cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb61179eabaed08608a568443d9a7d00db2ea278911cb04b74d33132c82a4aa74d3176804a093ea5514147f7587ce33b811d61a9a4cfcb67543e41cb685ef56867200000168000000b00a98518f9c047024d01259e633085dee35991967ad27787ac673fd05bf5ef02bd03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb629325251889032b14e710a92415eb72e99f3cdfe91cbaf27f739548fcf5abb4f2f206c372f72273b0c6c3c4067c2618d85e6df39c37d6d1ea842de931a06ccee000000b02250b926378c424bc7ff209ecc970769e5655e5473ee70558a9a2512ea0f36a7d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb610866b7542e664ae8e0d8b94596c084d218c2aa2ded93671777d87090a0b01ca1674855ae9c859384c08bd427fcfb2ac0d7f3bde108af4682887110c54b7136900000168000000b009a4d249f1e27449079ba1a0e4a458886cfdbaf8c0fbf79f0ade578c24bf7d22d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6283ed30bde6e36d585fa524cf2fab1c8d1586f8fa5a02e4c3ba3af1634bb48462e2cecf185502b5f43f583fb195e5c27bd4b80cad751ec42ecad39197f6759e5000000b0215d39e08d6a466fff8868597e3302041cc9ffe587c2ef79cf047f994f6fc39edc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb60f92ec2f98c468d2c596d34f0b0802e758f0cc33f2adb595bbe7e18f6f6b8ec1158106153fa65d5c839204fd316bad4644e3dd6f245f738c6cf16b92ba17a06000000168000000b008b1530447c0786d3f24e95b96405322a4625c89d4d076c34f48b2128a200a19e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6274b53c6344c3af9bd839a07a496ac6308bd1120b974ad70800e099c9a1bd53d2d396dabdb2e2f837b7ecbb5cafa56c1f4b0225beb266b673117939fe4c7e6dc000000b02069ba9ae3484a943711b0142fcefc9e542ea1769b976e9e136eda1fb4d05095e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb60e9f6ce9eea26cf6fd201b09bca3fd8190556dc5068234ba00523c15d4cc1bb8148d86cf95846180bb1b4cb7e307a7e07c487f003833f2b0b15bc6191f782d5700000168000000b007bdd3be9d9e7c9176ae311647dc4dbcdbc6fe1ae8a4f5e793b30c98ef809710e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb62657d4808a2a3f1df50ce1c25632a6fd4021b2b1cd492c94c4786422ff7c62342c45ee66310c33a7b30813707c96515c2c14c3ecfefaea8b7581ee264a2873d3000000b01f763b5539264eb86e9af7cee16af7388b934307af6bedc257d934a61a30dd8cec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb60dabeda44480711b34a962c46e3ff81bc7ba0f561a56b3de44bc969c3a2ca8af139a0789eb6265a4f2a4947294a3a27ab3ad20914c0871d4f5c6209f84d8ba4e00000168000000b006ca5478f37c80b5ae3778d0f9784857132b9fabfc79750bd81d671f54e12407f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb62564553ae00843422c96297d07cea19777865442e11dabb908e2bea964dcef2b2b526f2086ea37cbea915b2b2e324bf66379657e12cf69afb9ec48acaf8900ca000000b01e82bc0f8f0452dca6243f899306f1d2c2f7e498c3406ce69c438f2c7f916a83f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb60cb86e5e9a5e753f6c32aa7f1fdbf2b5ff1eb0e72e2b33028926f1229f8d35a612a68844414069c92a2ddc2d463f9d14eb11c2225fdcf0f93a307b25ea39474500000168000000b005d6d533495a84d9e5c0c08bab1442f14a90413d104df4301c87c1a5ba41b0fef83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb62470d5f535e64766641f7137b96a9c31aeeaf5d3f4f22add4d4d192fca3d7c222a5eefdadcc83bf0221aa2e5dfce46909ade070f26a3e8d3fe56a33314e98dc1000000b01d8f3cc9e4e25700ddad874444a2ec6cfa5c8629d714ec0ae0ade9b2e4f1f77afc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb60bc4ef18f03c7963a3bbf239d177ed503683527841ffb226cd914ba904edc29d11b308fe971e6ded61b723e7f7db97af227663b373b1701d7e9ad5ac4f99d43c00000168000000b0054ae0036f4113f1cc6530d57ce7f80d18546677e12a139f912e7d6294cb4b2600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb6237d56af8bc44b8a9ba8b8f26b0696cbe64f976508c6aa0191b773b62f9e0919296b709532a6401459a3eaa0916a412ad242a8a03a7867f842c0fdb97a4a1ab8000000b01d03479a0ac8e618c451f78e1676a188c820ab64a7f10b7a5554a56fbf7b91a204400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb60b38f9e91623087b8a606283a34ba26c044777b312dbd19642380765df775cc5112713cebd04fd05485b9431c9af4ccaf03a88ee448d8f8cf34191692a236e6400000168000000b0045760bdc51f181603ee78902e83f2a74fb90808f4fe92c3d598d7e8fa2bd81d08400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb622f1617fb1aadaa2824d293c3cda4be7b413bc9fd9a2c971065e2f730a27a34128df7b65588ccf2c40485aea633df646a006cddb0b548767b767b97654d3b4e0000000b01c0fc85460a6ea3cfbdb3f48c8129c22ff854cf5bbc58a9e99befff624dc1e990c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60a457aa36c010c9fc1e9aa3e54e79d063bac194426b050ba86a261ec44d7e9bc1033948912e301297fe4dbec7b4b4765279f2a7f58620eb137abebef8f83fb5b00000168000000b00363e1781afd1c3a3b77c04ae01fed41871da99a08d311e81a03326f5f8c651410400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb621fde23a0788dec6b9d670f6ee764681eb785e30ed7748954ac889f96f88303827ebfc1fae6ad35077d1a2a514d9f0e0d76b6f6c1f29068bfbd213fcba3441d7000000b01b1c490eb684ee613364870379ae96bd36e9ee86cf9a09c2de295a7c8a3cab9014400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb60951fb5dc1df10c3f972f1f9068397a07310bad53a84cfdecb0cbc72aa3876b30f40154368c1054db76e23a72ce741ff5f03cc106c368dd57c164675f4e488523800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b00270623270db205e7301080591bbe7dbbe824b2b1ca7910c5e6d8cf5c4ecf20b18400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb6210a62f45d66e2eaf15fb8b1a012411c22dcffc2014bc7b98f32e47fd4e8bd2f26f87cda0448d774af5aea5fc675eb7b0ed010fd32fd85b0403c6e831f94cece000000b01a28c9c90c62f2856aedcebe2b4a91576e4e9017e36e88e72293b502ef9d38871c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb6085e7c1817bd14e830fc39b3b81f923aaa755c664e594f030f7716f90f9903aa0e4c95fdbe9f0971eef76b61de833c9996686da1800b0cf9c080a0fc5a451549000000b0017ce2ecc6b92482aa8a4fc04357e275f5e6ecbc307c1030a2d7e77c2a4d7f0220400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb62016e3aeb344e70f28e9006c51ae3bb65a41a153152046ddd39d3f063a494a262604fd945a26db98e6e4321a7811e6154634b28e46d204d484a6c90984f55bc50000021c000000b019354a836240f6a9a2771678dce68bf1a5b331a8f743080b66fe0f8954fdc57e24400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb6076afcd26d9b190c6885816e69bb8cd4e1d9fdf7622dce2753e1717f74f990a10d5916b8147d0d962680b31c901f3733cdcd0f3293df8c1e04eafb82bfa5a240000000b0008963a71c9728a6e213977af4f3dd102d4b8e4d44508f54e74242028fae0bf928400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb61f2364690922eb3360724827034a365091a642e428f4c6021807998c9fa9d71d25117e4eb004dfbd1e6d79d529ade0af7d99541f5aa683f8c911238fea55e8bc000000b01841cb3db81efacdda005e338e82868bdd17d33a0b17872fab686a0fba5e52752c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb606777d8cc3791d30a00ec9291b57876f193e9f8876024d4b984bcc05da5a1d980c6597726a5b11ba5e09fad741bb31ce0531b0c3a7b40b424955560925062f370000021c000000b02ffa32d453a6ccf4d1ed24ec281130078ce41826d1de7f0a6f8e921ce50e98f130400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb61e2fe5235f00ef5797fb8fe1b4e630eac90ae4753cc945265c71f413050a6414241dff0905e2e3e155f6c18fdb49db49b4fdf5b06e7b031d0d7b7e164fb675b3000000b0174e4bf80dfcfef21189a5ee401e8126147c74cb1eec0653efd2c4961fbedf6c34400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb60583fe4719572154d79810e3ccf3820950a3411989d6cc6fdcb6268c3fbaaa8f0b72182cc03915de95934291f3572c683c965254bb888a668dbfb08f8a66bc2e000000b02f06b38ea984d11909766ca6d9ad2aa1c448b9b7e5b2fe2eb3f8eca34a6f25e838400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb61d3c65ddb4def37bcf84d79c66822b85006f8606509dc44aa0dc4e996a6af10b232a7fc35bc0e8058d80094a8ce5d5e3ec629741824f824151e5d89cb51702aa0000021c000000b0165accb263db03164912eda8f1ba7bc04be1165c32c08578343d1f1c851f6c633c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb604907f016f3525790f21589e7e8f7ca38807e2aa9dab4b9421208112a51b37860a7e98e716171a02cd1c8a4ca4f3270273faf3e5cf5d098ad22a0b15efc74925000000b02e133448ff62d53d40ffb4618b49253bfbad5b48f9877d52f8634729afcfb2df40400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb61c48e6980abcf7a0070e1f57181e261f37d427976472436ee546a91fcfcb7e022237007db19eec29c50951053e81d07e23c738d296240165965033231a778fa1000000b015674d6cb9b9073a809c3563a356765a8345b7ed4695049c78a779a2ea7ff95a44400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb6039cffbbc513299d46aaa059302b773dbf6c843bb17fcab8658adb990a7bc47d098b19a16bf51e2704a5d207568f219cab5f9576e33188af1694659c5527d61c0000021c000000b02d1fb5035540d9617888fc1c3ce51fd63311fcda0d5bfc773ccda1b015303fd648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb61b556752609afbc43e976711c9ba20b96f38c9287846c29329b103a6352c0af921438138077cf04dfc9298bff01dcb185b2bda63a9f88089daba8da97fd81c98000000b01473ce270f970b5eb8257d1e54f270f4baaa597e5a6983c0bd11d4294fe086514c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb602a980761af12dc17e33e813e1c771d7f6d125ccc55449dca9f5361f6fdc517408979a5bc1d3224b3c2f19c2082b1c36e2c43707f70607d35afec022ba886313000000b02c2c35bdab1edd85b01243d6ee811a706a769e6b21307b9b8137fc367a90cccd50400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb61a61e80cb678ffe87620aecc7b561b53a69d6ab98c1b41b76e1b5e2c9a8c97f0205001f25d5af472341be07aa1b9c5b292907bf4bdccffae1f24e82fe538a98f0000021c000000b013804ee165750f82efaec4d9068e6b8ef20efb0f6e3e02e5017c2eafb541134854400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb601b6013070cf31e5b5bd2fce93636c722e35c75dd928c900ee5f90a5d53cde6b07a41b1617b1266f73b8617cb9c716d11a28d8990ada86f79f691aa91fe8f00a000000b02b38b67800fce1a9e79b8b91a01d150aa1db3ffc3504fabfc5a256bcdff159c458400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb6196e68c70c57040cada9f6872cf215edde020c4a9fefc0dbb285b8b2ffed24e71f5c82acb338f8966ba528355355c04cc9f51d85d1a17ed2638f42b64a993686000000b0128ccf9bbb5313a727380c93b82a662929739ca08212820945e689361aa1a03f5c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb600c281eac6ad3609ed46778944ff670c659a68eeecfd482532c9eb2c3a9d6b6206b09bd06d8f2a93ab41a9376b63116b518d7a2a1eaf061be3d3752f85497d010000021c000000b02a45373256dae5ce1f24d34c51b90fa4d93fe18d48d979e40a0cb1434551e6bb60400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb6187ae98162350830e5333e41de8e10881566addbb3c43ffff6f01339654db1de1e6903670916fcbaa32e6ff004f1bae70159bf16e575fdf6a7f99d3caff9c37d000000b011995056113117cb5ec1544e69c660c360d83e3195e7012d8a50e3bc80022d3664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb630335117fdbcda57dd2004fa781cba03c532f2c87a8b37dabb163b468ffdf85a05bd1c8ac36d2eb7e2caf0f21cff0c0588f21bbb32838540283dcfb5eaaa09f8000000b02951b7ecacb8e9f256ae1b0703550a3f10a4831e5cadf9084e770bc9aab273b268400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb617876a3bb8130c551cbc85fc902a0b224ccb4f6cc798bf243b5a6dbfcaae3ed51d7584215ef500dedab7b7aab68db58138be60a7f94a7d1aec63f7c3155a50740000021c000000b010a5d110670f1bef964a9c091b625b5d983cdfc2a9bb8051cebb3e42e562ba2d6c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb62f3fd1d2539ade7c14a94cb529b8b49dfc9794598e5fb6feff8095ccf55e855104c99d45194b32dc1a5438acce9b069fc056bd4c465804646ca82a3c500a96ef000000b0285e38a70296ee168e3762c1b4f104d9480924af7082782c92e16650101300a970400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb61693eaf60df110795445cdb741c605bc842ff0fddb6d3e487fc4c846300ecbcc1c8204dbb4d305031240ff656829b01b702302390d1efc3f30ce52497abadd6b000000b00fb251cabced2013cdd3e3c3ccfe55f7cfa18153bd8fff76132598c94ac3472474400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb62e4c528ca978e2a04c32946fdb54af3833fc35eaa234362343eaf0535abf124803d61dff6f29370051dd806780370139f7bb5edd5a2c8388b11284c2b56b23e600000fa400000168000000b0276ab9615874f23ac5c0aa7c668cff737f6dc6408456f750d74bc0d675738da078400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb615a06bb063cf149d8bcf1571f3620056bb94928eef41bd6cc42f22cc956f58c31b8e85960ab1092749ca472019c5aab5a787a3ca20f37b637538accfe01b6a62000000b00ebed28512cb2438055d2b7e7e9a5092070622e4d1647e9a578ff34fb023d41b7c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb62d58d346ff56e6c483bbdc2a8cf0a9d26b60d77bb608b54788554ad9c01f9f3f02e29eb9c5073b248966c82231d2fbd42f20006e6e0102acf57cdf491acbb0dd00000168000000b026773a1bae52f65efd49f2371828fa0db6d267d1982b76751bb61b5cdad41a9780400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb614acec6ab9ad18c1c3585d2ca4fdfaf0f2f9342003163c9108997d52facfe5ba1a9b0650608f0d4b81538edacb61a54fdeec455b34c7fa87b9a30756457bf759000000b00dcb533f68a9285c3ce6733930364b2c3e6ac475e538fdbe9bfa4dd61584611284400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb62c6554015534eae8bb4523e53e8ca46ca2c5790cc9dd346bccbfa56025802c3601ef1f741ae53f48c0f00fdce36ef66e6684a1ff81d581d139e739cf802c3dd400000168000000b02583bad60430fa8334d339f1c9c4f4a7ee370962abfff599602075e34034a78e88400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb613b96d250f8b1ce5fae1a4e75699f58b2a5dd5b116eabbb54d03d7d9603072b119a7870ab66d116fb8dcd6957cfd9fea1650e6ec489c79abfe0d61dcaadc8450000000b00cd7d3f9be872c80746fbaf3e1d245c675cf6606f90d7ce2e064a85c7ae4ee098c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb62b71d4bbab12ef0cf2ce6b9ff0289f06da2a1a9dddb1b3901129ffe68ae0b92d00fba02e70c3436cf8795797950af1089de9439095aa00f57e519455e58ccacb00000168000000b024903b905a0efea76c5c81ac7b60ef42259baaf3bfd474bda48ad069a595348590400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb612c5eddf6569210a326aeca20835f02561c277422abf3ad9916e325fc590ffa818b407c50c4b1593f0661e502e999a844db5887d5c70f8d04277bc63103d1147000000b00be454b4146530a4abf902ae936e4060ad3407980ce1fc0724cf02e2e0457b0094400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb62a7e557600f0f3312a57b35aa1c499a1118ebc2ef18632b455945a6cf0414624000820e8c6a1479130029f5246a6eba2d54de521a97e8019c2bbeedc4aed57c200000168000000b0239cbc4aafed02cba3e5c9672cfce9dc5d004c84d3a8f3e1e8f52af00af5c17c98400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb611d26e99bb47252e69f4345cb9d1eabf992718d33e93b9fdd5d88ce62af18c9f17c0887f622919b827ef660ae035951e851a2a0e704577f486e216e9759d9e3e000000b00af0d56e6a4334c8e3824a69450a3afae498a92920b67b2b69395d6945a607f79c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb6298ad63056cef75561e0fb155360943b48f35dc0055ab1d899feb4f355a1d31b2f78f015fdb0ebdf1fdc2cc379c43e9a34e66efb370c6fcf4b083ef6a04de4ba00000168000000b022a93d0505cb06efdb6f1121de98e4769464ee15e77d73062d5f857670564e73a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb610deef5411252952a17d7c176b6de559d08bba64526839221a42e76c9052199616cd0939b8071ddc5f78adc591d18fb8bc7ecb9f8419f718cb4c716fdafe2b35000000b009fd5628c02138ed1b0b9223f6a635951bfd4aba348afa4fada3b7efab0694eea4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6289756eaacacfb79996a42d004fc8ed58057ff51192f30fcde690f79bb0260122e8570d0538ef0035765747e2b6039346c4b108c4ae0eef38f72997d05ae71b100000168000000b021b5bdbf5ba90b1412f858dc9034df10cbc98fa6fb51f22a71c9dffcd5b6db6aa8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb60feb700e67032d76d906c3d21d09dff407f05bf5663cb8465ead41f2f5b2a68d15d989f40de522009701f580436d8a52f3e36d3097ee763d0fb6cbf6405eb82c000000b00909d6e315ff3d115294d9dea842302f5361ec4b485f7973f20e1276106721e5ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb627a3d7a5028aff9dd0f38a8ab698896fb7bca0e22d03b02122d36a002062ed092d91f18aa96cf4278eeebc38dcfc33cea3afb21d5eb56e17d3dcf4036b0efea800000168000000b020c23e79b1870f384a81a09741d0d9ab032e31380f26714eb6343a833b176861b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb60ef7f0c8bce1319b10900b8ccea5da8e3f54fd867a11376aa3179c795b13338414e60aae63c32624ce8b3d3af50984ed2b480ec1abc2f5615421267ca5bf4523000000b00816579d6bdd41358a1e219959de2ac98ac68ddc5c33f89836786cfc75c7aedcb4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb626b0585f586903c2087cd24568348409ef21427340d82f45673dc48685c37a002c9e7244ff4af84bc67803f38e982e68db1453ae7289ed3c18474e89d06f8b9f00000168000000b01fcebf340765135c820ae851f36cd4453a92d2c922faf072fa9e9509a077f558b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb60e04718312bf35bf481953478041d52876b99f178de5b68ee781f6ffc073c07b13f28b68b9a12a49061484f5a6a57f8762acb052bf977485988b81030b1fd21a000000b00722d857c1bb4559c1a769540b7a2563c22b2f6d700877bc7ae2c782db283bd3bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb625bcd919ae4707e640061a0019d07ea42685e40454acae69aba81f0ceb2406f72baaf2ff5528fc6ffe014bae403429031278f53f865e6c605cb1a91035d0189600000168000000b01edb3fee5d431780b994300ca508cedf71f7745a36cf6f973f08ef9005d8824fc0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb60d10f23d689d39e37fa29b0231ddcfc2ae1e40a8a1ba35b32bec518625d44d7212ff0c230f7f2e6d3d9dccb058417a219a1151e3d36bf3a9dcf5db8970805f11000000b0062f59121799497df930b10ebd161ffdf98fd0fe83dcf6e0bf4d22094088c8cac4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb624c959d404250c0a778f61bacb6c793e5dea859568812d8df0127993508493ee2ab773b9ab070094358a9368f1d0239d49dd96d09a32eb84a11c03969b30a58d00000168000000b01de7c0a8b3211ba4f11d77c756a4c979a95c15eb4aa3eebb83734a166b390f46c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb60c1d72f7be7b3e07b72be2bce379ca5ce582e239b58eb4d77056ac0c8b34da69120b8cdd655d32917527146b09dd74bbd175f374e74072ce2160360fd5e0ec08000000b0053bd9cc6d774da230b9f8c96eb21a9830f4728f97b1760503b77c8fa5e955c1cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb623d5da8e5a03102eaf18a9757d0873d8954f27267c55acb2347cd419b5e520e529c3f47400e504b86d13db23a36c1e3781423861ae076aa8e5865e1d00913284380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b01cf4416308ff1fc928a6bf820840c413e0c0b77c5e786ddfc7dda49cd0999c3dd0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb60b29f3b21459422beeb52a779515c4f71ce783cac96333fbb4c10692f095676011180d97bb3b36b5acb05c25bb796f5608da9505fb14f1f265ca90963b4178ff000000b004485a86c35551c668434084204e153268591420ab85f5294821d7160b49e2b8d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb622e25b48afe11452e6a1f1302ea46e72ccb3c8b7902a2bd678e72ea01b45addc28d0752e56c308dca49d22de550818d1b8a6d9f2c1dbe9cd29f0b8a365f1bf7b000000b01c00c21d5edd23ed6030073cb9dcbeae1825590d724ced040c47ff2335fa2934d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb60a36746c6a374650263e723246b1bf91544c255bdd37b31ff92b611955f5f45710248e5211193ad9e439a3e06d1569f0403f36970ee97116aa34eb1ca0a205f60000021c000000b00354db41193355ea9fcc883ed1ea0fcc9fbdb5b1bf5a744d8c8c319c70aa6fafdc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb621eedc0305bf18771e2b38eae040690d04186a48a3feaafabd51892680a63ad327dcf5e8aca10d00dc266a9906a4136bf00b7b83d5b068f16e5b1329cb524c72000000b01b0d42d7b4bb281197b94ef76b78b9484f89fa9e86216c2850b259a99b5ab62be0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb60942f526c0154a745dc7b9ecf84dba2b8bb0c6ecf10c32443d95bb9fbb56814e0f310f0c66f73efe1bc2eb9b1eb1648a77a3d82822bdf03aee9f45a3060292ed000000b002615bfb6f115a0ed755cff983860a66d7225742d32ef371d0f68c22d60afca6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb620fb5cbd5b9d1c9b55b480a591dc63a73b7d0bd9b7d32a1f01bbe3ace606c7ca26e976a3027f112513afb253b8400e0627701d14e984e815b2c56db030b2d9690000021c000000b01a19c3920a992c35cf4296b21d14b3e286ee9c2f99f5eb4c951cb43000bb4322e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6084f75e115f34e98955101a7a9e9b4c5c315687e04e0b1688200162620b70e450e3d8fc6bcd54322534c3355d04d5f24af0879b936926f5f3309a0296b631fe4000000b0016ddcb5c4ef5e330edf17b4352205010e86f8d3e70372961560e6a93b6b899dec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb62007dd77b17b20bf8d3dc86043785e4172e1ad6acba7a94346263e334b6754c125f5f75d585d15494b38fa0e69dc08a05ed4bea5fd596739f72fc83696136660000000b01926444c6077305a06cbde6cceb0ae7cbe533dc0adca6a70d9870eb6661bd019f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6075bf69b6bd152bcccda49625b85af5ffa7a0a0f18b5308cc66a70ac86179b3c0d4a108112b347468ad57b1081e959bee66d1b4a4a66ee837773faafd0c3acdb0000021c000000b0007a5d701acd625746685f6ee6bdff9b45eb9a64fad7f1ba59cb412fa0cc1694f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb61f145e32075924e3c4c7101af51458dbaa464efbdf7c28678a9098b9b0c7e1b825027817ae3b196d82c241c91b78033a96396037112de65e3b9a22bcfb73f357000000b01832c506b655347e3e552627804ca916f5b7df51c19ee9951df1693ccb7c5d10f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb606687755c1af56e10463911d0d21a9fa31deaba02c89afb10ad4cb32eb7828330c56913b68914b6ac25ec2cb338554591dd1bcdb5e3b6da7bbde5536362439d2000000b02feb2c9d51dd06a53641ece019db5292a584243e8865e16fe2179149f62ca38cfc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb61e20deec5d372907fc5057d5a6b05375e1aaf08cf350a78bcefaf34016286eaf240ef8d204191d91ba4b8983cd13fdd4cd9e01c82502658280047d4360d4804e0000021c000000b017a6cfd6dc3bc39624f9967152205e32c37c048c927b0904929824f9a605f73800410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb60574f810178d5b053becd8d7bebda49469434d31405e2ed54f3f25b950d8b52a0b6311f5be6f4f8ef9e80a85e5214ef355365e6c720feccc0048afbc9b84c6c9000000b02f5f376d77c395bd1ce65d29ebaf07ae73484979594200df56be4d06d0b63db404410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb61d94e9bc831db81fe2f4c81f78840891af6f15c7c42cc6fb43a1aefcf0b208d7238303a229ffaca9a0eff9cd9ee7b2f09b622702f5de84f1f4ab39003b5e1a76000000b016b350913219c7ba5c82de2c03bc58ccfae0a61da64f8828d7027f800b66842f08410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb604e902e03d73ea1d22914921909159b03707726c113a4e44c3e5e1762b624f520ad71cc5e455dea6e08c7acfb6f5040f22fa83a742ec0c3b74ef6b79760e60f10000021c000000b02e6bb827cda199e1546fa4e49d4b0248aaaceb0a6d1680039b28a78d3616caab0c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb61ca16a76d8fbbc441a7e0fda2a20032be6d3b758d801461f880c0983561295ce228f845c7fddb0cdd87941885083ad8ad2c6c89409b3041639159386a0bea76d000000b015bfd14b87f7cbde940c25e6b5585367324547aeba24074d1b6cda0670c7112610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb603f5839a9351ee415a1a90dc422d544a6e6c13fd250ecd6908503bfc90c2dc4909e39d803a33e2cb1815c28a6890fea95a5f253856c08b5fb959c5ffdb6eede8000000b02d7838e2237f9e058bf8ec9f4ee6fce2e2118c9b80eaff27df9302139b7757a214410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb61badeb312ed9c06852075794dbbbfdc61e3858e9ebd5c543cc766409bb7322c5219c0516d5bbb4f210028943021fa8250a2b6a251d87833a7d7fee0d061f34640000021c000000b014cc5205ddd5d002cb956da166f44e0169a9e93fcdf886715fd7348cd6279e1d18410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb603020454e92ff26591a3d896f3c94ee4a5d0b58e38e34c8d4cba9682f623694008f01e3a9011e6ef4f9f0a451a2cf94391c3c6c96a950a83fdc4208640cf7adf000000b02c84b99c795da229c382345a0082f77d19762e2c94bf7e4c23fd5c9a00d7e4991c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61aba6beb84b7c48c89909f4f8d57f860559cfa7affaa446810e0be9020d3afbc20a885d12b99b916478bd0fdb3bba2bf41900bb6315c025ec1ea48936b7fc15b000000b013d8d2c033b3d427031eb55c1890489ba10e8ad0e1cd0595a4418f133b882b1420410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb6020e850f3f0df689c92d2051a565497edd35571f4cb7cbb19124f1095b83f63707fc9ef4e5efeb13872851ffcbc8f3ddc928685a7e6989a8422e7b0ca63007d60000021c000000b02b913a56cf3ba64dfb0b7c14b21ef21750dacfbda893fd706867b7206638719024410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb619c6eca5da95c8b0c119e70a3ef3f2fa8d019c0c137ec38c554b191686343cb31fb5068b8177bd3a7f1518b865579d5978f4ad47453081830654a319d0e04e52000000b012e5537a8991d84b3aa7fd16ca2c4335d8732c61f5a184b9e8abe999a0e8b80b28410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb6011b05c994ebfaae00b6680c570144191499f8b0608c4ad5d58f4b8fc0e4832e07091faf3bcdef37beb199ba7d64ee78008d09eb923e08cc8698d5930b9094cd000000b02a9dbb112519aa723294c3cf63baecb1883f714ebc687c94acd211a6cb98fe872c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb618d36d603073ccd4f8a32ec4f08fed94c4663d9d275342b099b5739ceb94c9aa1ec18745d755c15eb69e607316f397f3b0594ed8590500a74abefda03640db4900000fa400000168000000b011f1d434df6fdc6f723144d17bc83dd00fd7cdf3097603de2d1644200649450230410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb600278683eac9fed2383fafc7089d3eb34bfe9a417460c9fa19f9a616264510250615a06991abf35bf63ae1752f00e91237f1ab7ca61287f0cb03301970f121c4000000b029aa3bcb7af7ae966a1e0b8a1556e74bbfa412dfd03cfbb8f13c6c2d30f98b7e34410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb617dfee1a8651d0f9302c767fa22be82efbcadf2e3b27c1d4de1fce2350f556a11dce08002d33c582ee27a82dc88f928de7bdf0696cd97fcb8f2958269ba1684000000168000000b010fe54ef354de093a9ba8c8c2d64386a473c6f841d4a830271809ea66ba9d1f938410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb62f9855b121d9a32028193d383bba91aaab97241b01eeb9afa245f6307ba59d1d05222123e789f7802dc4292fe09ce3ac6f564d0db9e707150f6d8a9fd651aebb000000b028b6bc85d0d5b2baa1a75344c6f2e1e5f708b470e4117add35a6c6b3965a18753c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb616ec6ed4dc2fd51d67b5be3a53c7e2c9332f80bf4efc40f9228a28a9b655e3981cda88ba8311c9a725b0efe87a2b8d281f2291fa80adfeefd393b2ad0101f53700000168000000b0100ad5a98b2be4b7e143d446df0033047ea11115311f0226b5eaf92cd10a5ef040410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb62ea4d66b77b7a7445fa284f2ed568c44e2fbc5ac15c338d3e6b050b6e1062a14042ea1de3d67fba4654d70ea9238de46a6baee9ecdbb863953d7e5263bb23bb2000000b027c33d4026b3b6ded9309aff788edc802e6d5601f7e5fa017a112139fbbaa56c44410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb615f8ef8f320dd9419f3f05f50563dd636a94225062d0c01d66f483301bb6708f1be70974d8efcdcb5d3a37a32bc787c25687338b94827e1417fe0d336662822e00000168000000b00f175663e109e8dc18cd1c01909c2d9eb605b2a644f3814afa5553b3366aebe748410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb62db15725cd95ab68972bccad9ef286df1a60673d2997b7f82b1aab3d4666b70b033b22989345ffc89cd6b8a543d4d8e0de1f902fe190055d98423faca112c8a9000000b026cfbdfa7c91bb0310b9e2ba2a2ad71a65d1f7930bba7925be7b7bc0611b32634c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb61505704987ebdd65d6c84dafb6ffd7fda1f8c3e176a53f41ab5eddb68116fd861af38a2f2ecdd1ef94c37f5ddd63825c8debd51ca856fd385c6867b9cbc30f2500000168000000b00e23d71e36e7ed00505663bc42382838ed6a543758c8006f3ebfae399bcb78de50410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb62cbdd7e02373af8cceb51468508e817951c508ce3d6c371c6f8505c3abc744020247a352e92403ecd460005ff570d37b158431c0f5648481dcac9a33067355a0000000b025dc3eb4d26fbf2748432a74dbc6d1b49d3699241f8ef84a02e5d646c67bbf5a54410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb61411f103ddc9e18a0e51956a689bd297d95d65728a79be65efc9383ce6778a7d1a000ae984abd613cc4cc7188eff7cf6c55076adbc2b7c5ca0d2c24031239c1c00000168000000b00d3057d88cc5f12487dfab76f3d422d324cef5c86c9c7f93832a08c0012c05d558410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb62bca589a7951b3b1063e5c23022a7c138929aa5f5140b640b3ef604a1127d0f90154240d3f0208110be9481aa70cce154ce8d352093903a62116f4b96bd3e297000000b024e8bf6f284dc34b7fcc722f8d62cc4ed49b3ab53363776e475030cd2bdc4c515c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb6131e71be33a7e5ae45dadd251a37cd3210c207039e4e3d8a343392c34bd81774190c8ba3da89da3803d60ed3409b7790fcb5183ecffffb80e53d1cc69684291300000168000000b00c3cd892e2a3f548bf68f331a5701d6d5c3397598070feb7c7946346668c92cc60410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb62ad6d954cf2fb7d53dc7a3ddb3c676adc08e4bf065153564f859bad076885df00060a4c794e00c3543728fd558a8c8af844d74e31d0d82ca65814f3fd1346f8e000000b023f540297e2bc76fb755b9ea3efec6e90bffdc464737f6928bba8b53913cd94864410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb6122af2788985e9d27d6424dfcbd3c7cc4826a894b222bcae789ded49b138a46b18190c5e3067de5c3b5f568df237722b3419b9cfe3d47aa529a7774cfbe4b60a00000168000000b00b49594d3881f96cf6f23aec570c1807939838ea94457ddc0bfebdcccbed1fc368410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb629e35a0f250dbbf97550eb9865627147f7f2ed8178e9b4893cc41556dbe8eae72fd173f4cbefb083334c1d468bc61ba6e3e5febcaa9b727fedcd9f5a2694fc86000000b02301c0e3d409cb93eedf01a4f09ac18343647dd75b0c75b6d024e5d9f69d663f6c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb611377332df63edf6b4ed6c9a7d6fc2667f8b4a25c5f73bd2bd0847d01699316217258d188645e28072e89e48a3d36cc56b7e5b60f7a8f9c96e11d1d36145430100000168000000b00a55da078e5ffd912e7b82a708a812a1cafcda7ba819fd0050691853314dacba70410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb628efdac97aebc01dacda335316fe6be22f578f128cbe33ad812e6fdd414977de2eddf4af21cdb4a76ad565013d6216411b4aa04dbe6ff1a43237f9e08bf5897d000000b0220e419e29e7cfb82668495fa236bc1d7ac91f686ee0f4db148f40605bfdf33674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb61043f3ed3541f21aec76b4552f0bbd00b6efebb6d9cbbaf70172a2567bf9be5916320dd2dc23e6a4aa71e603556f675fa2e2fcf20b7d78edb27c2c59c6a5cff800000168000000b009625ac1e43e01b56604ca61ba440d3c02617c0cbbee7c2494d372d996ae39b178410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb627fc5b83d0c9c441e4637b0dc89a667c66bc30a3a092b2d1c598ca63a6aa04d52dea756977abb8cba25eacbbeefe10db52af41ded24470c876a25466f1561674000000b0211ac2587fc5d3dc5df1911a53d2b6b7b22dc0f982b573ff58f99ae6c15e802d7c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb60f5074a78b1ff63f23fffc0fe0a7b79aee548d47eda03a1b45dcfcdce15a4b50153e8e8d3201eac8e1fb2dbe070b61f9da479e831f51f811f6e686e02c065cef00000168000000b0086edb7c3a1c05d99d8e121c6be007d639c61d9dcfc2fb48d93dcd5ffc0ec6a880410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb62708dc3e26a7c8661becc2c87a3661169e20d234b46731f60a0324ea0c0a91cc2cf6f623cd89bcefd9e7f476a09a0b758a13e36fe618efecbb0caeed56b6a36b000000b020274312d5a3d800957ad8d5056eb151e992628a9689f3239d63f56d26bf0d2484410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb60e5cf561e0fdfa635b8943ca9243b23525b92ed90174b93f8a47576346bad847144b0f4787dfeeed19847578b8a75c9411ac4014332677363b50e1669166e9e6", "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012", +======= + "archive": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8", + "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02383f20b0885882d6df46f443f2b5d6ea1aa62a904042346521e4092f91c18fb6af0109082922f0ba4dace31100cc8c8715f9cb1b7851a5ceacaec755aea31878b98382bc1fc1787ac9c71924adc9ddb56bcdae15a174cf9a769a8a15695441848e1cc95f17f2283bb5990913f95bef210c32e466adb9d1e1a9af8b03b9bc5f05f919a5234913be8e7c5e388e9b4f77528d77b49e05cd0258994c86c9c2831a5d355bc76fc92d173f154aef2b37d6a19000000b02cfa046af1769fe42e2b85fe8b954724ac1ff4616ecc1d1beb678d321f680800b0c0f732c2be049b0bad8a4902f4c02ce2e2f324ba6d0c6fdf944f9e1aac34cb248b43b48fa41ab96bfc91dacc88d8ed58784bac7e4cc01aaad232596c0a5b66a7d52655162873242ccfb1540c5600f307f8fd255a89502202e5380195bc70297121a978111bc1085495a53c6a870af41dea17f6f13015c23b4b2d447a1da6d0648f00bc7977d74d05a22b6c173c54fc000000b01590fdd33eb09dc901196d1b1f02ce67c30ae0f97e0511b73052160d6c95d673a6ac0c59f2c45adb770b0d817228f8aa68794aa7f806ecef4408279a28f3ba789979b0613fc0945cca0c981ddd692c437a44a1ce75c11dd5f2435a1abe5fb9874e14f61e8f56dbab8b3deb309ff679bd18b8821b1fbe8df3fb8927b0b029eea71fd6db95dc860e5a0fb35ad6f872812b0c7cc4b334d794fb94728556a04b0f513a921c5989283116e8280ba941b74ecc0000021c000000b00240be44ef7c4117ef86ba1e9edb9da00709a7f38ff63571257d3f6c895a379f114af61a81f8eb86d21392715c6faa98eea9d8eed4892912bb52539ac28a3cce9fe15cd7e4560c70b93120bd691e16b7272393dd6600dad6e881d3b7043a43d7ddffad863b580bfd0582474d81b9ca6f1f3d9980190ffa897739f8538e6382e038d7cc50f2fa489242f7b9fd7035015613c5b9b780dc07f532c9603c4cf24f9a85666783b2d8b7eda64d53eb2a59746a000000b026df7aef3e283d1f1b684bf124b3b9d2fc914f9961c225d1e1e17c1673413703ad1693b59a2b6af576337f3c20e9cca515580e7e6ea66bf20293f71a8a72b61b16ae7dc966ad09ac285477cb0204c7150ea3c179ee71c51643a7c891fac3e3f6a69d258c97a293dc3ea54665d03ef30918022983b93a81f5950b5bd7c3e4eae40174b95764fa3ac1db13eedf540bda92087bae47d09ec68b7aab8d85508a66620454d4ac318a22407c1da9226ed49f6e000000b0218d0b834ed2709efb696d9d36c23561d4780f150f2d11f5814c44997ea63eb83fe1652fc92d61f379ffb5bf79f18f686e5bcb68ae76535de351b97c300da56af092626825e57e90f8f022d7717501680ad0039a415a36f5ef0cc809d1e90f443ba21263e18b5356177d6ff4556336272000afbc19168f910c689295502f3c90d91b983959668ce1fde4c2978b05914109cf67c710b52d5beb78259e9684c45b8d56bf7fca92a52977b70a3605b08a0f0000021c000000b01e9897ad607b02ca9a4e365aeb2c347f5b4557ecb1a861e6d56e57db6258fdb09eb4c6cbc4eda99c778d86559750797af33f58a5d9f61b9af6b6e2d59a7bed6cbbb0d769024f82c70984735916bd2dc250757633e5a1d67a4d92678efe901a81b551a3d603d5f45c77deecad50e7169014ac2e7f0dbb70478a63898359e3165f1d3f1d558e9294bb9e958a5f4fa8df5e06807d986216351336cc1beba43e7a31b40c81e6c064cfa786e52ab80c2389f9000000b017d4d217fbe8cf9703b31cdc755e15fdfa5ea9f7ace3df1f203e7c348dd6700e666eac6d6cc976421f9837ab99e5ed4a4a23e0ae2c237cd2339e77ce0687d17e6b58ab4715ca8fd5c003befde89633723001fd45e343f6f753f00cd4fbae8ba4016ff9da19d2b6860a95d471ee37b5022558a5aa3a84e32f0d728e6934d3ec548eb167e76cef06dc07c735b2ce747f972897089825858e85ded7392cace2e710b0d1107d8945361519290607e04817d8000000b01d1dee1602e2811c079406ece007002c85ccfd296b384b7c1f1d26c033c2d421b6c9dbc696ede142f6f512e4173aa50361152a6f9d771860d702d3d61527c1817185fd925bc645ae7fd636224ba59bcd21f67ff6d0ff6bcebe63a1f160ea442afdaa80e29b253eb1e704678f7a47ab7d238ecddc700308b2180e431721cad090c1860a98fbbe29c368d2a4f9c1521f8a2c085799cc7c369f6b0d278b52592e2fa92269618cd5ba3667262463bfaa6c610000021c000000b016a0ad04c604758373c5603a1e7b3b8e03739babc9eb1ef7c89619e683ccb4a84bd87e3b1a803f98169bdb0cc46e5fe6503c053b9650975891f7961a6eea9491f97571a499e3081c867bb89fee306e493c5f9fb54f4d48c1bd84101e4efe6d9f2195084b193386e48948d027754a79371f3208b6b0454292e82c3323d00a23e3634f69fe258c9af683a47280b961baee09639bc660a83e4df73751957d68d4bf7026da2bad3982e8e453c9ef03a495a2000000b003532ca6ccd1465d759f65a31f135488bb83300a3e4a3a12d0d645819e1012a04fe74cbf28bf4221311d4d6c1caa4d8446de8b9770b305eacce5b12c96ca4309d87d48938c6012e590824fb717fb5ee142ba1fb64e383d8df2a39dcce4bd62701b2b5057f4e872808b52dc70f25d7a2925d90df50116b608be83b4901cf49c0c4e62be92ff617e8bc6ca83721946a28103cae3e57ad61853803074276e494d22712f3608ca9c1127ee934c558fdb1864000000b017adcd19f41e50abd73587f29d48430c4175963dbaa18e0152c0ccb2eb53c3a33ad94bc54a511888a25e13aff8cd531f3d1f7b12d0c7508bdb07f73f2be134e6a9aff9cfa3ed9e1792c1592ecb51e54a281338649e93824f337d33608c858866b7c3842229f27275a24cd98e1b3d38a5050936f9fb24443521298d805b9bb30c9aaa2d843bfae15bcdba132b6ab639740708388f682b17542563177f97c637e268743f47122919fe5d6b2b48ae8b9e460000021c000000b004bbef17024f5a28341dd33756434e42e1c63514f411c8540e2669512757cd41693736b50a1ce839b06cafe20a006b11fa1688b1424241629ca5f58119102a4c674333e591b31d7b3fd5e0cf231294babe9cc4cf94f83fc2ec623367194bee1d949d9e3676213ce479e91cab426848950c493d32cc62d4308707200b42c28279be895cec27e8983819ec7ad050ef3e160a89ed6dcc4b5c617b1fa8e49c712451250d5a2f3199abafd05af30b97ba9feb000000b02c7c7c87c0634099a4b2d68065a1785656f24692175c2a7c6a5be58d9853e2f6316c88f60d4351bba0beada94ce2c4f4e4bd51131eebd1978ac2a7faa278e52aa54ace73dfbe376c6fc6e5cd5fa1a65be5fdb394f15d103fc817e231fb2fd997cf74d5a5a7e148a0795e74bf56adc37007ad45d4afe8498a968ab0919860ee38a98ba94f97e572760ff22310a02d7dce1f25cb6c1b1393843abffbaf9ec49f6a77288b155efce7b4eb36381e33b539cf000000b0098305358e81857e018520df410869cc06ad701078628fbc7cd592feaa0b2649b86111325340f0979e61b3172fb93132a02d26dcc1888f56e84c896f95ca66ebecaff9d944ef6a8d136f8de5556451c604865297dfb9ef6f1cccb57a3267f22429c0ae057d1b83f190ea7c176f2569b925aab24342d9041e9fdbc94196bc01099920c8cfec17cce1df1a3f986288d2a72db2fff4dc95fa35dcb1381fbae87e36aca14eddd035c25b6e76c6343b014b0c0000021c000000b01e726e5a89f36e83fb825e924ce4d4e98bac232a8be09d4073eadf8938f4c75a93dade434b1aea07529207668641cf74b8c0a6415e78f79fadd27c6d23b3460e36447a367d6e1051a3be242736f987073501525cf41152b949b463f98e67f7f2d6b55877f2104da1eec4b5d41996245127dcb2f3dd887e1365ec0f0b6cea5bc681e1d570ca7f591545adc4dfec81032b0e634e9edbda486ffbac1275a27b936042ae0fc9f838ad465bb67edc913c3ec5000000b02d88fb2fc3907d273b9fe4b6b68e1b63689bf6b37aa7169a26350dcc9d5bd6e29f96e2cf2a96124b3a033482caaf3ead13dddc15dbd59cb6db66db9564068b93f0fd69b2532344701674769cc4b1948f8080f2e1c13ff702a545d73e71c43ba39f421028c4c3817752d8836c4a01a5480858e8a780d7c47a8757e585e00a2955d108bdca26914c6a88934738fb8c2daf0d547b6874af06508000c32e9d6887a499b0e98f3d47b3e881d057d905bb6a2c000000b01e2f127a97c10ca9fc665f66782495e1969360278df0fbd83c98334fa571981b47cc7dabd641438feae69856d23e9252ecd6578c0cb73e742abc560ac93069d8daf31608f9bcdc915ba79cd727a68b4f76237f3b51250bb8ab9566e757380f747c5d18d2ef774338443dded581d69fd323c010c81e137b09944347a15a6fe66a90dda9ee08c7106da6f39bde45ade503298a403f0fd254f20ec5a52dc73c0c9735013f7866b9352b895e0da21060d2160000021c000000b01f98a79a8ed058a33d583748beec181460d2e44f0d3e0e1d94a10d30fb352fccf8dd805f386c4820a6bfc534abe5cdd5524420ca355fb3c18adcfd41a1819167f01d58bb7afdf2daf44f056444851058854e03a25d9b0a0856aa6b553b57270d18e42ce662e9cf7e994d44e389df6c8512791ef8cc97a4283e0f5cb90b777a1d5a896ef48b0e67ba8a2109e7eb9cc9c814ab0a70b6bec455f5af44f46646873466726d065c559f44b51778772acc9ebb000000b021fa7bd4d7d66794a8c69e29e3fee2862bdece60564d980a22783002e637b965c329d00409bbcc0da58e3a5b5ab8763ac3cd61e2a37d37e5efe35f22c634e69cf9032f1bfd77b093e7e35236e346a34df965645d5d1949ab2c15ef4cd51c20723e9b4240409287a41d993aeb4b7918c90985fb09ade82b06bf39e01e85d7e355f2414f5214ec3b0a273e7ba6b7075c0800d1d33dc6cf69e07c8c53de427dea30df3ed8aa9f0c14874c39db27546b8182000000b0047e75a44b15628e1b358a86b294cdd77220b99dc757e4afae9b7581293cd03e1aff8b5f5b346cce6f6335c0bd4f05e3d6507b26d4bff5aeeb03968b6c4ac4d7537242a88fe2020ed9a2f1f53fd54e7d2ffd32f2b819c1c0e2ac3a13852676c416acacc03ebaf4e7d1e5b2f3d203fc910ac5092548a8eb24b6c803158ad306b4e34935ef0421bf5d0865ae0c81fdd4541c9f05c96d31d36407c8563b5b517a078fab2fbbafd1732ecfe533730f7d120f0000021c000000b018148f4a4ebe395070f1c748827dbc78192986c10090c09a6538c15fc5eaf1615ddc83a4c141ed77ca9434206eee106b1288253efa120ed3a1e23fd92d1770abc8f5915039b3821cfed3bdba87be7f5e5e1eaf3b1afe943fe66c9c8e2188d7392d18ce72730795a824c22911360304b407e4e0c945fc891f3db8b9ef19155f96a26fc1e1d57df6487cb5ac02a76dd1750dcfb07bcbe9a8263b4516bfce2b816e12a093edf9645e4abaa6cf99b840e429000000b02038223998964037e6d401c07c732cc8a21cbbdcd2a790e802a765ac897775aeace2124fb3c53f950431279f6685e5a055aaa531da6dff210e4138ee6f00f4cbaf2028d03b2f75b2766307a7bdc9d5b96783dccac5e2734880b20d32aaafcb39f367581700b6a85afd89de5a83fab12e25ab98bde2840e61e7d42b9b55af420dfb5b4a2cb66798a99362326d927b40410f378e2f6114163980dee04fb6c928acb17fd284841a9df91a809c7f2ecbea10000000b00b791466984596290fa4ab04b7e6c5e99176bceeee6d470adeef5459e88b494d9987ef8b02d7b174abd73b38086e4d1013bfe97d879b10f1d7809a40a6406122b86e380cb7242614cd031faa9a8bc2af45e52df0393091cbdea6ef3cb2580d82200361089b75a6923a577fee519fdba6027f55d1cec6968874051bc7d3c246a4f4bb10d1e07e2279e8585d6c069ef8aa168be0c8fcbfc50e76941f288e4425a5570cce46499cf1005f59ae5a81d7bbbe00000fa400000168000000b017025da384053f6097bf80d40882360394505cf2264dc0c5626000e368bf3416b9f8f8a1924c6e2592f3b272165ff1383316c8d269c5bc4504569eaa9d38df4460dbccd9df04c5e8ca04784e4f58e28b81244553b26eca6004d62b9b446bede04419490ab0cd0c880c65ae953d16ab6c16d2de22220c6ef84aa640c1f1a04cd2f7e7a51ea0a934a80b89b32edd1a547b0441ff325017a3c2408aa75f47cc8da8887e4d157631585958a9c5822a499559000000b009018b37fe1b72e0ebd34ddedd05e27ab15e56a9e348fbcc4cbe94b76412dce25189499e4859cc75921662d5fd121bddc467492e1b2c383a4a11cfc99c0288e2bf1fc2e37549ed649ba5f32a369ebdc53023a4060dafa7632acf879f87b6c8f640c61d86b2fc0b56b411099e72b5be6e2abe5229baed941f24ecb410f78560c8422eca0f0a5d9e24f220a2335a2ab6450075d63d8c5690f2d799aa8acb7df02c6a9fa019d01a3b39efd401609df5388400000168000000b018d8eee0e765f7433d884637669656eb0b83a67ef9536525fc8a4fd4927b592a1237f48d07bf0c306875b0b0b17b4d5a6abb8e7cfac796289244709c88f49e1cc4fffb6d2ad4545e5f7ba35b349cc4e1a336dc7d3da442118b812be5cc19aa9285051b883d0f13bb901bc534d3d468ef109b41f7557abf861cbe3b1102b3293d868286cf3f51af0ed6968c1e023cf387161e5281179946e54375b3072fb65f27127b5a9ea658adc179d3eefa8eab5efe000000b011ff4874646197203825a26de6e68a92c657f10ba3854634e0624e700bdcc213f557cbb61dd1f7b3fedee91281b59f00438d76cb239489f6c850ff82ffaf6e16e16ebbe86100a56e7fad76259ac90f74544fb9792eb1af3b3d1a294399d4a0f60114b922449d9ce6cb1e4b982244d41225c61ef6ea090b39c485a9437262da7aa2e53ddc0d572adc2613c3375709fa370dbdcbd077eab314c1af33b234bbe68ba9adb9000700319ef332304bb80375ee00000168000000b00260fb7d5fe641cc2ae31587757087e8782203a0d6aecd5de87aa64f19c2e29621ef72da7b5ed4aee7b5c1c4bd67bd69b53eeae51eed2756c7d4337459673dca7ccb45920e75c838043918b3353890ba02d295a1ba58ca07ae132aa2f37ca1b74d49d8d7013745fb5520dbd5c2237a771fa9f230d5b9eb1cd30c23bd1026adf99826d423493016ec7abf3df1ce90ffa6115c8b25fbe7ca0bf480f68c68bfb71760eec9886fe1a5e45228cef3a3b21903000000b01feb86eae911703d9741cadb425a0618c5ec02a1fe4bd9599cafa25e1d73a83018daf9527e7f91f00bb03fe3af90112a40e6f65389e7669904244f59c3ee8979c8bc4d4ce018dc7bcd03889a5f84c4b03307643842a9923feec20b22e084d62e822e8f0c5c9d448af7a3ba4c07cfa471151331a09b3810154fdf57712fd73e5c96c158396ba99940e9ab5b1b3e64acdd01cfc8a7436f188528f79dd332a2765b9fece5773115400934216a96746e6d2800000168000000b027c7201b8a266fb31308119aed766a0d836ff5511305f1592f5b2910421f6c37d43845cd6a1100577f04b4d3fea151b5c6ac2b42848b29a03f19385140a56391f40678f8318cf57ecf5d391aab3dfc566dd17090a32acf4930d05b153d92a27a04bda0d6f637de173515ed4d9137d5762d8a544b246cf2f9ce5fbf7691a18c4ee7597f3040b05528a7a212c4837c17ce094ceb0aec9d2454dca2d9a1eff144007545d3ac42d4afd6360927aea74d938c000000b02d19625c974e47f4619ac10605a59e9154d22565824e5f539e6b27cc2d10a288ddb0d85bfe8161a8b61e9ab8d0eda73edbc34ba9c5a64e8ed05c402b00ac5e1fb0cbe6338296d5056e6a1a7c5ea70a1dacf90e3740519c80866cce842242a336f79c2df8304faa3a036e6efee3c888be21271a290169e7377e3e768f1336a055d5756cf845eff3155192a8eca33d8514186372967736033579d1929f35f81c5de8bbc29623dfc278e1d2ce7ef51f876b00000168000000b002f09c7a9f0551128998f25e146360a8df9e3a6325ceb9e081db64f462a43ac5a30fb37bccef8e50d97027c9a956d4e7bb18123bf5d040c21e760c325c2a37abbdb0b6a68482f2abfff26450562b21af16db49e52f156c01d79520ca5f5d9012b7babc10b41203cf9ffd75299b7e25510f670956ddc7f33c99be8ce270675f3ec97e12a907c9ccdf3d7f3809d3d447cc003bf0ed0f9d7d5e5537af66e8c44fcf07b6defd4cf99fa72abcd10d337f51a2000000b01466c51d7a35d7cda757bbb9cbfa16c3a4aca5e6d9146edff331428817e73cfe34385b5e343f25be9cfd97f23091e315e247a44f45279f91da49fd39b30e802339575856bce06ce8a3da571add5cfe9012e0a24932b8c1635acbfdd1a57d7a3f3f771e74f09218461b61a6977a01e1c82166597c454677de55e3a7e03e82dce4ba687c84818ef19ffa1fcec515bd0e531fc9ce8a37af3dd36100e9bd6d612bf15d88485e763d0df257832fb952e89c2a00000168000000b0152f7009e1dbda91c2d6071e8afb4cf44cba13b034fb3685e2612c2a51eb7f2245d12318fdedb5f6afb9ba4abcd08a85325d0c273f4d8cce1f00b1c1ba31ced5c1d78e7f631be8b6d867c718e73b85e937b7e6209a56ee5312bedc7538da61a5f9dbc07d9fadfabf711fd04bc3e53102159d1cd7191f551f0d02b2531664c817b3553dfafae32b5cc6b6728752f0b4c92c1b5df7a24569552065480b85641c161c7c804388b0112b3594453bc2dd38cb000000b02caae317b0cc2d3d3ff8043f727f9b4186cd3d3d586ac544fe43a2548f5c066177c873955c77ead367afa32caa5401cc50f27288b0034601fda0fe68a47848436399d2305d84097160cb60d023e6211dbb3e5f7c424cda273bb3cde129323aae4c365975460e78d1b3bc48b20f3d5e83086a050b45d316e5cb8f4873fd8e7f466e83a413e2d67d08a0ec1875221d74df3005eac34f9ae00721101b28893760a20f80c70bb57fdfd4334ffefb6b90ebca00000168000000b000e07a9fc3bd1e8deca81ed1e56657b1a069d1aa6b0470658102f8cb71f80594a93e5b5cc7f873a2632f6584cddbce555a12a10961045b676020f1ee76f9bc4b1d46428cb221396f504db8dc31125cfaf26de0d46c848aba934afd57f06e2f2b77249f717aec7a7d7fe234413ae69656069d4dcb831382fd37c018a247b13a4838704fe248c8e77fc5d7eaafbcdc58ad2a6ce112af398a0da7d9541260165378ceeaac2909e1af194b2801effb01ca28000000b0048b2e519f5646c95a1139bc08faf0b249e8ca665efbb69f739abeaf056e37b637a31c0bd41082864252a4df0cb24bf21fd80b05ce3bbaaa4bdb35c64ab44fa790ed73a506e2daccf85b73981c467c9ea1b2d6cb2377b4b4d77bc86554ea1bfa3f6fb68e272e92821addc55abf9150f105fd9f12de80744bcd85653f82c3399c513cbbe1ab8efa83735ef5340c59fb0211b5d7b7c2c005fa7fb724b54ed65726f5d8b35ac087807f027f4f07c9ac1c6000000168000000b00cd861ee37e1acf799ed8a5ca5207731be122f29df41666b9ceba1e57f00e632c5487b6d06637a19891d4747d09b4a70e27c2ba94b5647e280fc5ddb81738727fb3a5aa84eab7423be7e5429be0088aa10a17021d143a39cabe58c39e520dd3e37c5c2bb80bef67892c807603ba0789a1b9227bb2077a5b04ffe3bd5667782d4f0951e94dffb9bb9f2349e1a33b5576d25c1b0e52bb84d79aa12d7768e675fc306d71282ba918b00697638210fb7d735000000b0087328be9f16acfd11cca4a6fa3ba85c5b8766ff4507c921187e373773d3aa36a0f04ab3f2e8f5af74369e649f49e19676640b263a8dcfc381db8e1b46e6b23261f8ed4e6f299e9c38b0c52fbec14c2c14d315ca4481018df91691013489f149eb2ca2847156d40dd1ac13d646562ff8070cd83a4efa59a209c31b36b8224ffa33259d355eef8c6414f84e2dc390ad5926d51f826387550483877e3758ec6ce4daac6e256676627bb1d5db42efbc301200000168000000b023be6de23a825417d48baaeae87aa6a81cb09146482b76fe7562f31dd55b3338b863e1f4bcb9c6cb8e988c27dc7fdd15f5561044d3ef839e3dc1bd3a02fa7980141a588955be86c8a51be52ab03fac283f49cdccffec9ee45502ddf7bc734901292305998f53a299d44950946acb2adf083763f0c66ff64036dd06ca938945df69986c87717f1557b7519e431f963f0013092d28dc7e5829185d881f6a7ab8832c910923df43d7770aafb166a24a961e000000b00915521e44e1f6083985fa646b4f7db186a8d15bce228955334c689e7a0e6df39fbc87ad886bdaccc5c1ceafe2fea40c716cfd78b69a49bff797d9d88c670160eca6529d1cec909d2ae74622b117b354bd2c855cfbf18ba659462666db08926866d0bdcac96a1ea24a3ab03574b61b791587e9f975133bde9b35b654622e68328ce0d0b13222971bae20776643b01a0114877e6ba3ff872073292423329465c2cdd6c170d1af5c97c4e2d97adf5591a300000168000000b02ef310e6791cfa12666c124479cc4f80bba3aef3e3a71e896fe4bdbe240877b238867a6d11fabab0408878d447947b6f01c7bc895a51fb7102c4b0f0e0809952e712593f321659cb1afdc7a6df0df310f146745fee6496684d2d4ca5087c3fc56af28f01db2cd12b5640eed9258708961dd8ca4bb3af4c62f3f1429f19023cfd4d282985da72507cf7c5e980977d5c5c22e7b2cbd80e9bb535bbd48b5bf672091139ad6c634a47997cd09a33c6c67a8a000000b01c4b557432b71a15da42d06a58a3533f9cdccc2301537be3bcf64460b54c7e57e32563edb2f02d9dbfb64bf7874e14639de9347fd67ec6007aec2042966148d97f9cf688c9accc328c5fccf03b7a88201fbfc3452e3f3f5dfba1caf5aea94b41e2fc369dddc9074a3cd278160ad650c92bbf5287b2a3ef9385014691c79f8a3c6427b62a1e99a70920e1c2e7a87950ee1e4174a334875846cdb4b5453981cf1e4054978b7dbaab2fc85253ff39d2c72f00000168000000b0130a625cc8946817560b2bee5fd5c5a62a1c6f0537e595d7c4bfaac085d99cf7c0da9d563f30d2a1f234d33c134255258c34155e9a6d35952e625e15b75a96ff33e56c48d29db9bd5c1a38171f14a3fec225e4ed944c284b30cc4792486b69895c43e10a25cc66cfe71e081b372a430e02c3b077caa87bcf89bb057df4f65c2ef7dc52a6952721f8e0ed58fd7479347119b7e4ef780c9f6d062a808a0cfc347848775f8e22515eca28795c7208edcd94000000b001a81bb6efb1c73125b431bb270ba9a9911e0b9a4eb3293fc4e79052b4b74bd4df3eadefa709a827cd7b5d09956c7de4ac9c97b619761f4d1e7bd30f5a5887390b5ee474249d1ee77511ce0f0dc69011ae32c18a55bfee033bc42823713486a60c955921c6edfd838c1b3d66f93f947e1656db81a731254504ae0adb945ff34642360310cb1036c64bcf32889048a38902c74096d26268fe374186e4049c30735eb9abc31cbe769c4f67395148154e5a380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b000e66890b695bd8c7207d42cd83011b75f124ff772ace1002c43678b6ac517a10f7052c03a37ae457ef74ecac0946893ff42f24bba2736400aab668215dd103b2effaefc6c0a1fe2e5e8266d254dcc9d8148a6172ac06c87ff184cdfc6bf504d296c80b5b53e60aaec53cbe56e7e1070161cd00f867b2b7e4419fe264426e7e8fe580003adb8e1291cf5649f877837961d1f1e12e8bf20f644eac71495d7c808029600a688d8cdc9f4b62f5e9e8ba740000000b022ce56e6aba92a930a550a09487be65d86a1114e60e05717670afeff7d46f17c478c7c8b19a4acc35e7276bdeeebc98a3adbd651f25ea77837e07e6f8353bf998f87b78ef561a465c251359dcff0a4d1640b76526755e7c38f975c4b72d68e4a0a623b676f307e073ba4d43bed659a5d0c21191925fef96a0ef2e0bc13911575b5c2217ac567c28cb47db819fd57d4b31e3fcb4dca69b2091a96a2ed3d11c58631e17113751c377d16428fa7d3ebe429000000b009fd2909008123c8cc68441c9295c6787c9603643e8fa7f46c36073448fb11561a64d6a67654d666b84efa368b5c73836e027639045f27798d849bd8dabc8ca0e0f7335e73a6d3690e31de030fa75d3a8c2e647b188d9758810b30606ae203af0b28ec3d304c95bb0acf6ba52b94c5d21c570f72afca79beba1c83fcddb19a27067855417d4ae41ab2c6ebd7d7dad9872c0bb6884d99ae384d2776012183e20b3ac1c90df430c2a3c6f047b562a22d020000021c000000b01e71bf4b90821ea0dd4b17638860073aea04e363c6310936f154f28fc9a9021186838b17d7a9c7b419a3b31eb2daa25e4b075812ba717cd305a3f66d750a7262ebbc9a01869785bc51cb78513362668ddebad93c69f2ca05b99d455612cde76ee5806b72c388f96e5fd015d7774608d426c24badac572423419e4043dbe9b3b74da308cd26da23e52d452e76a4d7b63302aaa07757bc8b4bd02eb213db9d9d3afe16e436a0857757dc400168a3c63d29000000b00f31bc559d7a91a60356ef1998e6e59dd5b359a3a4e74aa857ab3b822dd65d97e65a84774b243b34a0a23d1ed0da542cf889633277365d3f52ea08cde4dbd48b547ec17f17201dc011ca48ff731044a0f170cbf95935f14655a26f17fd8d2694017689a8d34091b0c181541f246f85b421e37d4150521f26c9639d3d5d78430485863984180c7f676a8c6e35f9e380001a02dd85524922b9761f1bd15a433f46b71928b869410686d36c3b1f3d21593c000000b017e22e70eafdf4d0ebc3c8b3ce72d8e91bdb872b2197d71149585ab812e66e5cac8ba16f35a7f8f992b913763fdef88912869084ace04a09fd228d1e493008acffd404b1ef71c124349913c5cde9f2546c576e96b5fde2aea01ecc39a722605300c070a0d09aa1cdabc8b8ace00289ec2cfacce2cc232f5db601544bee4d3dd6535182fb9c833cbd307108227b2c179a0ba5cf5658bb1598c8ecb742ef2f7d2439fb2f698ea04973a7bc65d359cba4c50000021c000000b012422c42b495c69d2610ff875ba4ea93c01e7eb34c86840fc2b7b5525704ab7d42575d41ddad994c7f84e130c6c26e338947627ffde0ec0b6e7dc95976e1be07acedf79b482eb04ee5349afe204a87c96944d107e30894f1492bcf4dc3dac596f7881c959d225707ba520dca2bdc8f1d015ff20e84001fbc601074c5f719eea2214b5502d41c0cd7fb7e17a9e491b46b26a105439a7f2537b13a3d3b5e34b3b1b3aec0b78a78016cf96ad28bbf549325000000b0172d2fd7c93b7465586e5c2c93e9b980d309102436453da69c0de490ac27a28f371e400ff6ad5269325eddd2a85fcabb87f368351c55dccec373d7c790bcb78af4a8ffb6465e0d08e5e78e95bd5e5206bc04829edad6c0f8d69d05283e445a50fbe762716ca75c471c6ec027575d763a2a9b32365c3e59834dea055decb20f0b38035c85455e67700a91c325a8d73c67274b663a4da28af32ac71096d8db9b7b8d43966e764563a145a6945aa177c382000000b02d286fadb73d712e2647c58383b55b86f22c38a714e18d64a4868d19291fb32b11bfc842c3d6d540a4856e5cef7e35d654f76a17434089d210e7d3478e35397138494858f8141d3e8e40ad339fdf0b034aa08971d5c6a6dad8a2f5f6529988aea252a388e31f68bb1d2538121dce0b8b24884285a3da00ea4d46b97da69edd6088935b762b90c291abe9ead298757c0903576aed92c3533e5bb3497e0ebfdb80482bc754e040137a855b5123aebbb08a0000021c000000b002bfe2619baf2deb6649976f9a1946b68c5f480f14c7e50b4acc39c29b195f1c546068386562d580e1f40de9eedf55cd1975cf44b0043fc024af0e67fd84cacaa1b0e6cf8fcac7627aa53c7af16d4f64f7682396485d6cbc39342b3bf0cc77b5142ea9c9a65850ce7fe8a035649dac6f1f72a0f9e170b1cc1c7f4fdd084a6e6cbad53b010a601f6547a9630d13e0d02917469fa7e6f8827d2bfd69fc4edf6cd4fb081c20c07cb71a9d4e14d778b2320b000000b00baad14468f7fb083731ad9cc09b03f2a73a299a2fdb8204d13c5452f7f7fdc079ad729787bc07ab3b7bd6455e11338fe5d10387b478cb95031ec7ae237a87befc9fffca604551c0704be2fba98f24fffabcaea52acc54df5e714d062abd9d1a8b61af3fd4b33ac23cbade42cb4598430283d6b3f07d567d8323be2fc4a9f1261ba031407f72a9e8a79cb3d4783059d12eb483375e938350ddf6236d727e05a09152a20c91fa09d78692e8706aa10b9e000000b00d364f4e0637f23c11d22cca56267e24672460501a77b08ff1e3e2c243d37b50f7e5f8a0cafdcd5d211121e82186b4e155eec02e5d5a37fed40efa23969e641889a6c15610eea6e986cd5767fe7a0757985a7edef2249d29824b567811aa700581832ab07b3a65c44cded2b9cdc86ad709ee61a1a3d251570e71eb7a768bff3cf8240621b2c1c991d7260054ba993bf102e01b7b1bc9374e09eb3f711d359b9cf4c65ddbf7cf481c4c9f3b0308b495ad0000021c000000b001635e58760a010d5677acef458de9f23ef508d3c7aad36f30d159020552249fca102c9dff8054244fb710ef140e7f7330bed5932081ec2938a037fe65078de4899bca0f4bc662c7911b75ea4b320c5f9858b083d3d3cb62795414cb1ad0f569f9dc88f5370fdb59c8e9dca2c68c4e912fda33a603defc2f41cc1a4548c501b90f58b3b6a0fef919815557562687b62b173eff9d21afac2e12a51cb75c2904e021a09d94b2c04d2013708fdd44ad3da8000000b017492bf54726a0f0293e25bb23d63e43ce78f8aead2f2234836ed5252e4bdde66858fdd73a907317a2ebc746db1d8431d5f467177c22cf262b51adc9d0908e2d7eed508dfeb0225a16a9248bf5d88107ded5360e275c86126c2d7a4854d3a7909796549c62f72ef19310263254c0aead2b2e2331edd533330a57166937f9a0bc02d75733ec8724c9bec7a79ec331d684171ebd1d3cf635dd3bf6567b4ed7eb739a338807357f966f7a84601a367dc9d3000000b025ae02c7731878d8e4a4d8cb6f7ddb41fd9b263a19292cdfac30322f322f6f045dd432b433c09ea43b4a8d33bafff25abb7cb8816498843e7e6df54c50a59e984c02d66278c81b7d3af4302efa642590a90c7b603d4055a4da0339307bbaffaf325b81d0030ea5b9d16978be15031cd20e1fe68690d9733d88d6f29d2ceaa7ef1b58e336e986eb7a00d9dc0204ff556d14a76a2194fd0f1800715f99b8e6d538b2af6d524bb9af4f58ae526687db56650000021c000000b02b1a7ffee473c66da75e4432cff25791fa1b9079105b819e5e44605d9eb5402c7bd2413201bfa9cf0b7d0542599ce1ac44a99c6aff63b9b2a9a6865253b7c016fd19efdea84d17abf19ccef3a34e283410ec79a483cc05e88da9aeb38c2817bc1cb8bbc2f19b17b9bf3f22bbd52954e31cae0cd0155632811efbef512df97115db0f13622c015f5ac67b2bb40c5ffbb71029eee9f056240ff59c15166a1d77526abc05975a36211f54ee988d5267598c000000b01fd44b30835d430fea38ae80768178929a32d31af051fbc89a3ee37804b1ab47a5bbb53856636050973a1d205b91d4c5c822912cc1abbb60f973f9aca046fc64667b90eb8719cf8a07292cb98478978f368d4be08d233eb69ef65e8a8b5847ada8a2dd6a28578a9b2c9abcff3646dd230be4d7351196f7a8c3bc1f5680b700a7a389cc4b355d58ab3f716fd54d070cb908281649a000c0a0c55e031c754061726f8a64141715ff5af5dd4d245e25b3f0000000b02fe73fe58f9415f27ab40372e238294f86cf16f521d9b8f0bab1fd8466bf63ac7f87e7ccccb2ded073e75e5590c2c4c508bc128282d5ed2e7ee59ccd0b8f4d8e8b17034a09e75bd161de48760bbbef2d5e0655dffb530f59f0a1c376859107f6fbf6ca2c43b087c10fe6761db9b57e1610f35913d2f4e3ec2d2345762e38c6a51dd56b1179bf6e8faecbee1d00274f281c7dd18f77199fce8cbdcdc434bfc1e5f384511a510b9a02c6cb36d13d2514320000021c000000b00427c1c3684a443e68e6476d921fe4883e8119e2e6858025686fd290cef8cae6a46db746adc5b5d88e8f46e1130a0c60134d46da969574118f132f883b7ea29582c2f088f35bd3d39261602ad22051b50928c443aa3ac2355c88a3d59dc6f2d36d8cdcdfff5c336b2d48e7c01427873b0dea40ee484ef76eabc4bf9d36519d3ddcb320afa22912c8a804bcdd451588b614cffd021ed03873bf6db8cd83696e5a489dcfdc26ba916bded25a8ad2dc9e29000000b02bbbff82c9655e50e3e098c26b659265605b84310c352d1ed5fda86bf2f9e7c04b4426ea205f2499553258bd6120dfd069f64abdb577e5a5f9ed680a4808156f4e5e6994b67f86f459020f019850b52c609025026a47c1a3f458baac42685a86a53f38f3d83e8d0f7ce4f6a5bbd291491e971f37ddf02e8275a98a0a290636eca4eb90f00a2a55ad11f6b4a14f9bfec30fe34f1e730c068a2a24396751c0e45b61a2415def7c5f026037ca3b8d06f32b000000b0182c417167468658a69df15bfc4143e08c68bd9abdebc1facdafc2bb3b77fc1ed90e56c4586b11d7f0fdca151015d9b81b74cc905dc9815f9b1e51ab5b6804811eeb472b3b91ad5de4f4c6497a7af1ad0a37572fa7c3a82b66230c61a07da7c048e314060c0d6d838ca1f3702d9f554d161ec4c20c52e98b7e71e71cd35588ee853ee12813167a75f3e5a6b1b08bbc80006a2d7f071f9c441f4f3aeb63792768e772fa03fbffd89afcff72cffb062af10000021c000000b0299fafb3dea8218a02afb47dd9a44649fad40475cfb5c83c0916b02fd115e84acb258a4669e9d6401644650f7bf3ab0eeab26e9a79142213638c298186dd18e9e94d17a16c97791d56fa57ee9402e9e9bb4d0c8021a604b04c166dd261c1573faacfd8a02a13a23edb7ba0f797ee47530fee700504ac0e0c431155d514a9f753ad2939f37899be31eb4e1ee07a19117b2c6f8bb2a1677917fb1fe30f5785795b09246c19017879b5914752ecf9d76b9b000000b0207774fbe997c24e00d4ea3816387996258e54555bf8b4fa551786d0251ebe6f7fee8a4cfcf19d8c5b1a7ec0b8ba7dbd6a3f5537612f6992ed23e62bf15e07d9acaa835557186e030e819f0dfe199ec8d4e422307d4239c4260df3d637e8b02d05ee432ba4d1f5379f6cfad33f42db8d0856f77388cbf94c16396bd590e41075a25a7b521ff48693d17fae4f96c7983415f0a6cab050a61fbb1099e1a769c45bdd0ca97bf15c6a210d757bede5536911000000b0046c6a3c38acb315b0b8561ada0229442a7095b02da8105f8b857383d56b4feb8f08320f28af4427c07715428c3e878db60061e908b9d456663dd635b0b7c4882e3d7920aca4b45c659fc1459b2e9303a26881e68f021b863b96d3a7490bca2b43d90c4d79da46fdb56e4dd4b9a933ea281aa7fba4c41cccd8b72efdddfe4f4d8e994eda5976049836550044fe801dcf1232da18511dbf89ca3bd88485102e101430a04a1a48d843621f6708d575e8f900000fa400000168000000b01eb3a56ed55e3c426d5dc75e43e36a9afd4d957bab29d113cd2fcd92e7b5abe08e0570473e009030d52cac28b6e8aed84aa2980db6c68d1f2f6115177d856b3bb89e36f9b731dc917a65d436086c42dfb637f916e7abe9ae774e86bafa7161206a20d08215cae918e95893ba291aecbb17ebb46dd28e0e5d07f78a37a864639591ce1a3453b4f8f606dc52854b39bc2f0bcfa46bd19c5d2e15709e4be0a8bba994247554c9d633023768f5d4e9d88f19000000b00d784cf8f5c6b4f0e8c5aefc89216dcc5c5f4a6e5aa57672f8d426ff77d12724dd9886d0f60db5483e3de5bfb09ab9dd8effef61b38c20e023ac8460e7fa3b5f8da858cf6139e1fa5153eabb64ee3e06a19fac281ee3ac107645dc1caf1dd4cbb9ce010d74e960cdee039a31b01b00d72dbad31b6c342987c455bc50c341fd85d1b5ec8421b7d414b9dbc5d71659bc0519a809d63b404afae12ece41ff6c3e022c7ab88557ac198e41a6e7d3e984917c00000168000000b00d2c03aba73765947b945e9dfdd2b9d205795b658b2a4b9cbae7e0500a55d56341d39449ea28eda5cec6b705ce7e7310c3033faeb1bd8d63f89ee8e05af8feac19353166e20f2e26436e1e07dd8213599a6c1756b03d52b0e8ca02a5a59482687f2b6a060f34135eda7dd0bc47f1e0dd2a8216821916fc7eceb3c83650615aeb64d46a3312258b65f5a01c40564cf315204af570a715d0e5a311c3b6388e92d885df3b85459689614c8dcc5dde09e4e1000000b002f1c3ca8a51d5829616d7f62e504873b6bbaacbf9bea425e2c777b48d74a4e6b3ffc84638da47838944bc31f6c62a81fb7c0d4f51e572b67117db5367782d906b9dff6290675bf3948bb72064bcd3e38f5903237c4ed0b1aee58535701e47da91af9df661ae660b40a35e07f281879308c4ffe4c91aac2c31fbae5c8a66beef66ea57f8ea065512e1469997bafb9be301b74be041b0f7d7d92d2edffe0560caa4bbe50ee88106e964fab543e44d822600000168000000b014bff0510b68885be5133e640c2f49be7ec7ef0cc3d22f7460f51a49b3620ab87c8cb7bb48a8d3a73d79b8a6d1adc5376a3266d4d140d3e8d1dae1a8dbc50cea39aec1aada94c9b5f33ef78ceb8b578bbc2e2643ae26b9d66e98f40068fc7e90babcc601b98396406385a582b16aa19c1532ecad65c07ba97cf3bdc671c2efa30d37c940674e5b28127c6ae09ad20b580c3e11ad1521925a3568b87b50283834e69998896fb739003aebb4ae0a16b72a000000b03008287610db0006811cacac2365b807d637d76f37cbdd9c0dd793bb0111907aaec1340eb39fd0a09323cddc369615c07195753749fbdf3ce4d58aed8f7fadc5f723d33c49fa458089247338800f969d9beb0cc102a1b77b6aa41a97d1b61b40fa4d191bf1fbc1cc38b4df07d07fc3050e96ba85fbfe89243d0641c8697140e1ac31efe15708ba71ba2df4ab4c1590ce112b4bab6030c9bd50c1a25f071e10ea14e71a6e64e9e8a0d2a30c2cd4eab70b00000168000000b02334e6ac8ee9d032d68e058c725f33e99c3629749b32117d0195dae98d38bc6036dcf66f13884bdc03d609dfb0e6ee750eff10dc3147d77a4b5009273fa76961d43fec7d6e94e51be832bc8bb65ae6193af8f07186981052c218c8053f8def412cdea0e9f063d8e8924d635b8a4b069120bfb6fe2859ac41259c78d12c69b8cfd213c8886746008aeb0b62ab380dc97905ce0c0d59137a61501f150dcdcaa35c3a7496597647f3999e05f39b0c33e300000000b012b8a09306ec59831b35dc8e3daedbc756836e3251d3fb1ac6818d5c5b558517ca7c58b6f034dd510a21028b7aa32d5e0cb6323c8efc4ed5ecaa148535b934b9dd0392305721c038bdaff25a639771dddc48fe8d2a9040c181917e5a06d1a434352ede313281b9a95b4a8ed196729f000293f9101f2f224a3ccdb63d412cf7926e9dd846cbe4d1b55c199dc51cc0c7e83055e689b2c8d9e943c4310f436c687bf1bd0ace4be8c2e97db00a60d36259ef00000168000000b0105c9e1695fe3dd0b9f1fac9e48b087773446b8561cd256b68d0fa907a96c79d340f9491373bc1cb9a22180599912766cd131f9b9b137d5af22cc3fd103904d629ba63f0d802c0ec139460524d0e8d019df4251f161c82392dffe902ca3a8df67ee97d8a8d731bb0d2c5b0f5892eeda21fa91bcc2dc6b62f0a1cf36d5f9ca80b0c816eb0d1413e5443ab59a33d7d301b27eca233ec1c5269345a50e95d02df52d1837d8fc2f9ef3a8166908167276c2a000000b00a36e6affba1df936d9f50117d5ca5a2dc7445052ced0a667215ace190ca180ee3df9acfc6e722975676fd26925fbf24a885028830dc4e0024372743e2cacbfd4c18f1b1bb5de56cfbc34c2b96a5c13b695fafc90aeef4609e179c7765d4b19be3e280023b03fd221c716edc706b4b0f28f9abe1398d0b28fb32b740fd96434fbe657ddf1552360a3fa4264509bc3a9f040f81eb6d4b42be392a9ceb81d9a2d61bf6c96499a3a4f1e0a0f9a07f04848b00000168000000b02dcbcac0e4979c73a00ad04ee60aa57a80eeb79eea3942536fb77a181caa5bb28353d7485ff80222b621e72793cc3cf35a4d48bb4e3f2c7ac65e26cff25043243c2fb4ad885fd3662304af5962ed393f8b32d9998677313a863fe8ce454d28ce71f50ca5bfa6f00453dd96c40393579615c6555a03edcba04316e07891d6434f55b98bea65c6ff9ca3026096754840c51adfd516431b4b55eee4776bd9aa3a311988ddc9feb1077b18b0bf694697d849000000b0105fb45682bdfe6a906ae908e1482a78bb50d316f39438a68fcc95cbadbff139d812384e80b2e5b7e79e85dee034a2d0a3d23f601466a73d058a35cc528e798f4724af1092c6a42f9a1820431431bd84824a365649b038aee064aec18b6e048410b91d782c2e2acad4d2876ae3d13f641e3e896ce931f609759d5b9c3c80c4438809d984a63c0cb46a4755611fca8e87257e2c1d643ab6aeac2772d21a084ddcbc4a2145a05b4d8df1a0f8cd66cdfcf800000168000000b020d20e5e514c710c28d839d924798f72a297a857aae38b3fa8fa36a5d192e2baec02a3ee7591894abe8114b1498439c9e14bc694992ffd8522dfb4512d80ce687dceb8cce4c43d71eb1ca93623d8bae56582677d41f295634777e1fcfd188600241a934b94f1c887e090101d5c66168512d5794d4f23fc2133415ea2819f9ca6c9f6afaa76cbfbb8cd3a6967dc35cd951fade5672d46434af72e69dfd36df4140f7df5e8ba6b582b02573e726719410d000000b0199c27e9ddf0bb89ddea82ac7731d46ab1eb38c07f3b58c03f2b660b1c9792107abe93f33f38bc4d0003b6918b5ab64841059a3cbc2bbd449306ed0de4d6c6d5e6ed024f3b650872ca40436e093342f34117147a55fdd70e410408125854e30daab0d4734d60f474ade4b83c72e9b76d0dba9bd3f84b222a4caa1062b51f39145587831192f16329c5d64a2d47800be01f03bf2d08597e92f97c1d4ad88386b9c7d0cfc10fb37cb4465906cd2dcd790100000168000000b0067f2050c2794a36c2db4fc1ae07cc4980ce3d27309062dc37f5db9920a05587eee538bf795d557dc1a11a48706354926c3d2083223c7b0d76a7184cab06c53d183fdecf78798f69de58da16d8727bd91db7d16cd88e78bc6fd0f48e3501b5695e374303cef9a465b788ff2692dc515e12cbe52a68f74ac3710b401cc518a6d75a1146295c62ba8da846b9007f5862cf0538154657296c18d75ec7a7d78f9e01c6fc4e98a20521e5b06003482402bb6f000000b009dec7b2cfe91942d51a7a3ababc8cd1016d08559ede78012a21b53af7851f23c9f0b498ac4fe621cd25ee139713d835b02c6ee789c43bfc5f9b117a0ee40044a11a9658ab5e70b9cb9ebc95561c83c343ea6450d5cfa77937ed213cd7bc94a2bf1ae696ea17cd40313528cfca9bc0d70da72122feae7a6dc426e033b5b85fc98ed3e8c212fda8ad4aa8989a0df60a09259d91a247347df2443f1ce6747520d1e5cd5b0f4eb07c8f101ba8d8ac7d7a3a00000168000000b00e7ef7d2a05bd4566778c06f78b6bf5e8589000a49af9bd85c80e08223cf7d2b507579d998dda692826a39cf4f3a227d6a5b37e6166cd810d01abbfbba7040013ffc3d0a7e2fa07119b03beae3e1789409d36719d27ca46fed0d8305ac635735589bb1312e821ab77ff49d532aa4e880165d62daa7dbd2b8745644b1b42df3a715c6f1c9a03abfa145a1594b65cf0bb412b5f5f2ec394c10c0c194353f292b0c7810fa95b3e94b53b9c53b042b3caad1000000b004cb7d4593911443c66e2d93fc55dd04fa195ac546ecff38eac5cb1d7fc762fedb9106234c6c65ed752b4ea448d17bcce75702fe71479369152583f318113352b5731d77d1ccd0d688c0fcbfd83f023da749149550bbd874d4d45b8b631ff74ea48240f00eb3a9073aab8b5055f562721ee13e52745ae546fc6b2519955aaf8a606203a3a2274d4ec9183909f90f6a580754c375e32b1cd27f355cbeb76952861e6c78e3731639e4b5c9b4e2fe8313f200000168000000b01c89ca665c067e8d047baaf5c7a7634e568b485b49ea5dc18152bef23258ee17234fd5a6d5aec28aae70bf2515ed3964fb86f9760f101181657438120917a6598b4252f9eaa47f00aaf6ab293748dc3152771922787758a166c3029a1468848d196ab636d8a71eec8c24e8bd5b235ffe22e4cf377c78ff53f258a99c284701f9ac52309d65f88dbc0473bf81b6a05247059b2044f9c69b43ea870408281cb2e42f52c359fd6c43d8f251fcb1d9c70b0e000000b016578247ad3e2d3c6ff6cac0118dab81bfea74760da4ded27b945614d197a146fc0d60a1bcfc13b61d2b631e5b27bc63857efb11344b7f3181c13a98b2b4bf2d8fd3ed0a8761a74955a832fa2d8f5e8bd203656bd572d45ae8c63c10794935e3321b764c0f7845560aa1d5d0a33c4a8f0cf0818f28b1ea91c6ab980d1183b97b67f7e2a76afbb85eca3745106185e7ba2dbc59a7113e4059ad9ca77185cce11100584be885395120da84cea3ff26f89600000168000000b01222a0e4cc536a808518b1d1502932b9a6d84834b1fa2423b314dacf83464fd39f69a76d5adeec01414f3888024ec43d4c00bb2a64a94b0d60f055fd5be7cfc881a32d054ca20f2835ab3054e2504520dbe99b0d3e896e11bd3bd7b52ad7b4d9b8ed094a7b01986866196042db1987f804d16d9be6686f225806edc69e2e547b8952c8d9387a113e948af7502cf80b081dff43959879b0e64cef63668f5901e14f7e99f870b1e0919679c007e54d36c6000000b00b53d12a218c602b78b18a3d4d62a01cf2586d1b23f0385ed9ea50ee6ce01c8068aedfab10fe9978069c469f6dad2eaee421c1bc2433acae4ce1346b70ca575b300fd406a8d1a129e26ddb1ff12df909ef763520c643ad76431f0a4f5cf7ee1e425176a0cb95fe229b80cb38afbdeeb3201a77e30ba447202bc4fe8ad7712cb1432d9205554c23560c6b372778e0cc4c11925ca0e5618f967b7d1bb8ff2c6a2a31978f98a625cd3030c934ab235dd2d73800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b025a158fca96e7ba81b8235f6930f11ed22d57faa7553c2f8786b981d38bae918468b126bc4ce8562351f608ac00537ea847787178c2ab5d96154a4830cd0cc19d21db94a7cdfd18d262f33396754643ee65e6ad019d5b47ac7de9ffbd289442a1bcc1089355c0bc93346df036bb29b0e1bd449e6555d84e1db822f20b579138d0af5bbe40e2ba8b4014f9c1aacd7a5e6266395ac5293b0253d57d7e9451b169a6f56a64db2e12b541c6989b921162fa9000000b01026a692e288111374ec1852c4ed641ce3b9fe9f9f848b54a9a4de271a4e4bab1265f85e48be17aad1efd142cf2f1ec13bfbdc5e73ab4dd8f89d46f50e2dcd5f6a287578e12284cc34f45c96b9266bdd67d29be683dde9ae02c118d520ba897ba1f4346383798ef74c18d417d60c85a71d4b457a446793dca49426211b18cbb0450279f0a5c5d7eb70e03aa3757caac502257886356404f0969da4d52b32c3d75a920890faf4ce99c04c779b8d9a82a1000000b018877d08de968f413c875bf7b3b581dc0b3cfc29ad8694154fcf56707af6d61e6d45be51cb9a3e2e0e58ea0238e2d6d09658269fe24fcbb2f27339a8ab3bb358796b05793f39ad302f36df8a58fb8b8af0ab10869e7e7c30aca4d53303da393786e9ef8fb735921a708fa09b22e6968812c26c66299f0e611a8b71fada082296d6d4ba287e03fbfe2e9d715ba229f85f2ad1d498fcc6bbfabf4b67911f6289963cbc644f6914555af4a28f7c3fe7a6620000021c000000b0243fbcd9e415819fdf15727379012e9a92bd31ee8513a128c0d37c82c066f14970cae3c7b4128a740c9111e845f3816892b597ee4d897aa4a56b273542ea3eb1e81fad969f72a470b93312509f74880c5c79a088b26712fc780b1bbd75c4bdf2e87c1143d5bb2e1b52c48950fb426c322902cf5846da71f0aa2a5f3ac8b586ec93384e883a0fb607132dd24fe2980df011af58cf9bf32721466ad98c653e46f8d38bdcde30c2085eef8a83b4ded3081f000000b00b12d5aa7e2d73ab532bef95afec6728e697d4a9ce4bfa322af47f90dc13001d9fd8089c73dc6af8f0ea6ce89e6ede79d19d88225366242c085114a9a45bd01c82214645ce30b3d6d539bf31061daac2d8315fcd2a63f8096f469250163babcb1076fa49c28b8c66a4f240cf2516f41c23e52a2f21fc1b501a50d172a68190ae5396fbe1260ee0f132bfd10e93176a242aed6010d5e952902058046ff76f5dbab6ae16821cf18b93ef1fbf86991ca0a5000000b02f7700890a39d7296c90ccb473c7f8d4b1f8bf94f5d6d5e5eed3ce3ea559a60cdca47fadd000d8aefb7246b9bb1460551a03c182e48ee905a1ddb8abff4a87af23fbebb3efff40cf141e5ac08ffd7228628dfc56d8ef7a39949d20dfa810957c3e5aaac4acaeb497e1d09ee1acf9ad1323d161e3c2f39994da45184202b039c57a9bb0f9a19feb7d983319f73031ac22279214569a0e15aa652c272ebd979057a40fdc48dc161bec389db93cf8a327450000021c000000b01a4a8bffc5003d27821a99df2cbfc8107a072d84cb295a42a9fce7294c91c617c548241139f532ea271419e98ccb5004a3f76000903a20ec3ed73cdd9c6fe3da7c2416750a2b06586adfd09132fe8d2f67b3a5d710fe92473e1a0e67df41dd2b20411158ea9d83b709276aab0baba88f209c9a5238568021c649d230b1ea65e16243143eff796eb6ef0a933b868e9c83192d744ffb0120af5e38731374f8029630d874b0a06ce0b4443d73c99541ef28000000b011c72d780f5fc35e86cd4020890dec7b83e5562f3a98422a38b4de03eff756521cb1b6650f77a890dcfa22a4e785a9f0e200176bde2d5f444062814c1f2c485d3423714802215b46db0caa626f2b4cb82f11abfabc82cc24c94b297b8f30b08c444cdf19d8128d2f9421132823ad05cd0af8392224fc502d91e8a80fd04b2eaf8d353820039ab00e49bfd51bd1c78b111740d547dbb53beb85ad2b8100c1eee1c795b841007f933e04c7d1b1e31492db000000b01a237a3b1dbc6b9858c7c606a6c9ef09009d2991cec1e89de11b8b26054fcbb2f2267223c830dbbeb1b2019ac2ca77b72527ddb6cbcb373e6124741fcea3df84da5cb240b1ece8e1b89e885eb8c9f6509edde2c6a690cec3d99225bd5c1d4a8b1789645c56ffa7ba4c410a57c53d66f21cde021b3a2eb476d315fb4f046802549b6038b1e2470427a0b17ede23f9a70925a04caf097c9a07fce8f329735e710333ebf03ec74a5f1d7f58c98423eab2570000021c000000b00a9b8c9324db9bc6cc706dbb4afa1cf1cc8f04bc27e4ceaf7fbe45dc7532ee4bf153a6826bf09a32fbe30cb9fc0307cc63866c3a2fa587765cea63fd00da89534d0e10d9831956dd99cd1ae9a85a5261bec1ae9051eb144e10529a926f8488b5407092f66142472bab39dcfd84bfc35d0f62052d37f2251edd0f8c08f607463633f99cb2d6f436ec120a195cdf607f9d2db12e4ca4dbdc69b48fcc7a20361cf6eaea0fb070db948acc2f56dfafbf75da000000b003d1fb797ce29d7b660b6a22cbf6272446fb982dc88b6575ac1a28a9b9a38b254ff2edf0df17d930d075789bc78b5510da3fe577993ddf2ef3f32e9969d902551ad5d8f891f18aa934cb800c64f3f18ae0718fe7ff314102bf8c550c592cdccc5b31199cf9670cc48c1a336058fec52d1c5e74ce177e08e67d53ea32982f811b8c52a373c9beca6d1c2c06fbdff170190ec20dd13d2e54d72c0f09568ea03303189f9c225ab7c9502bd304672642d04d000000b0177dafe33074fba82ea971c02337655f4f4438a9670766f2fcef01b5ff7c2d4ff0a9bc9439c2d4ee7c5e530d4149e4133fad0e3e0702032b5c3532811086d0a8c036ff01689728b5c64b8cca2f42b38dbe837b2d8ff36bf3a79b25be600a7e28b698f168ff8a760e161ccbff995744401557cacd6c9b848673be061d8fed16c431ab680e936658f009b35f96d018b9c3171428cf387b5fd44bc2665890b12996f5c3fb0ee4c10db63cbb24af9915e07f0000021c000000b00a6be6795a56289f60989a96cdbba6a7b3bac76522f7c4a819f761173aefaba8b06d9b9321a89da73ad07026d7520d0a2ad518dd112a512aa0a83424646897186765bdeba5c381ad435d80f7f27820621c2f251941c8636b101b4415cc65ef99a1dfd64f259e651d6558228ebd82d6cf1a2a221865dc0927ec2894410f4750c6258ce2a176994b785df807c3043b876a0530cc9beda728224287da22d39f7e794d56347f4c156bbaf858aa097f833008000000b00fcfb871c160f53a11d277750212a177c24a82d28b71be545ba5728d52b4de93b08a2ea8076cb18db681a84a1639b5e91c0ba9036bc0eb0e442ff472111fe9c7e71b8d0d6d737f57b92bf539cad11a71ca8d04ab466894ca7adec8580b68a0f0e789b325e729659cbd1a57b0563dca900668b97c311742ac037a4a55e560228c4d222e3235affe60c4d9815f4b92871a2a7dcb0e0fc39392e1578acdd909a9743a3c23d643ca4d5f8d05384e0f53c824000000b02431f249f075f838f94b84ebfc4aa4cfbb838b15841e1bc15f0d5f548bb467a87b23e7580c53411f87c4ac5e904c3e3d1bf29f5914aa4f86c8243ddd4f561cbff032a37c91c3a8c85fde2b6a393f7677c15dad3d32b354c83ad4dd7cd467b1074d024e0881e8913ac15bedbbc39326542d491fe4b88d83107e6d85d1397bc2386be6849d95a8511a2b53ede324128e98163188188139cc24d3a03af01d0f292050427053d064f9b9cdb251fa68f670870000021c000000b018a8cf1f9018f3f8d3938b84aa83ffa213038e015cf4ac0ec86107bf6ec6ae66dc3f54c9f3ff3622f0fdf41ee45f8e5323031bdda785466e383f1d587ac08750e44c8dd5612afc0616c320f83f248e7346eb1363973d5bc618ef4bbbe71a377fec5248556164aed165681f9a3481ddab2a6b48dd8f13c8e82a5dbae1763628ff4331d3d324b782cff1bca744b667b19a1c82ef616366fc74e05df3d125e57bc7425ca89a7a40325819e345cd8f735519000000b003974414c4767b8a8b23759289ccb718e81712bb211b48c416abcb79d07b23c26c3c0a20451310b94fa284887b835dfca1902ba5d06d057e78fcc44915aaa63a09ff96a8bc3c2a3986e6c12491dcfa47ca6d3b4514e5b7bd113b59150c08a7f1cad9e67a67d17eff569d92638db8524900fc3686a438d3e5cfba156dd988dffd81e1ae5e23231fb465e5bafdc51fd399189470a72f4c179bd15f5beb5d6426cc04770ffc32fdb1e469952a01adb09e6d000000b028f4ee06a034bdafb902d6680234c2beb1471190bc601ce5a0d9733cfd3f4e4b6c5ea477794d8388942e6cc3cca993553a601f0d191a54e25858ae97d808074ff0cb995344fca93a8e308b755888ca40f876d37770c9d3338d8f7866c984d9b2599619dbdb8799a18cb926ca70898a7927ba7db76ffcdc7abb986a864fb21824c894af4b0752a45c7fc3ecc2d72bc7dd29d24045c623a2aee7c3cd4c30341899ae0dc1990b11359d76a3704658389fe50000021c000000b00b0b8ccaff79d506787080fedf4ed55ab16aaac0f9b8634fe834b03e6ab848529baf88db712c8005a1c0623d6b75afdef13a3f4f8c2c3de1791a4fc737f8b700377cedf919f29c6f662d9704e57e2f5909447a076c07d0169aa7889fc3afefa09a9c297231d7a52cab7392038a942b34196047cd7f2d1cf649d683fff68ce7ede5a06f9af017daaf56f1d084462e517606b72aab9c74293c90ed9faec8a9339ed15b556d1dff41888a6fad2b3cb8e059000000b010f2cfab722878f03b1dec925329e370999afd35f4efe3c625cbbe827a6f9e114c26a463d65c18bedc550dfdbd7145aed7833fcc20d111179cf0c9afe8fb1cbdedc0fd857e14293d380570af21cef90b44f71bd7c8ab1e81e13ea5e8ff737e7badde999ba46c90bd0d5d7409d15c0a3411fb1de8f78fc7025f55ebc78c32950f1f26962aa0cb221701517aa62d488dea260dfbb4a0cab3ea4f0c8bf57618d2ffbb0bd24749f94de9ee37b4d955f903bc000000b016073d4891ef0583ff5d3d98c39e8338a64c4ee37fc7a7710fdd3c2e6db66396682f1072800c2d8dde7e55898fd25fe96fdc9d1b519b1a92b3d327121d53c0c39d7665e8f47165b3d6d5c702f1aeabe313007cab17eccd2e1563b3c1770bc052bc002e43bc6bb86435f90886ce2c75390c1e43f2e1d4534b59e393ee94b191d7d069d85387af80ac735db39ebc6863c012c322ade23835a3d0f563b4dac2adba59056139ffbf28815b1b90ca383cdb9a0000021c000000b02d2f4f43776edc21e17b0958a20d733ca51d14244a49b5e7381b9255c88c9b4c6a6e229d252bda06c0b75d4580a908f4246e7bbc9e73e9afa24610d2da38d33292a3185ee3866f6a0ed361ef3280eec05f6e1b47c79b09a0b360fe64e62f8b90e034398cbd53f73e6236d9afe8a4c83a28b578a9dd6aba4d89a5312351c5e54f2de2fc9a92b9efdb6be81a653108be8112d2457b2ea00155cac49e193461bd48c1afc7d2af1ae86755859997c2eaeef8000000b02a556a0d9467daa1136a77b9a715671cfa20183ce8b7821c4cec6c75e31f5dd41fa19cae10e86363136a59b5ca28874012e91a1dceeb51229d3d093cc83d9a71ec11f382589a51469e971b2957b4e5fb90a84c625d84ee383f1bdab6bd449b70d0c09505dadf3d21c1a75c05caaef2ad01c77685414fd76c40105332a52c778fb887f6af936a3b666668f4fb72c7b5662e5706a66c78de35d907e2bdfee1d13584656917bb81562300e9bfca1aefc4b9000000b014068321a7826a56876cdcf03ffbf0d1cbab4ef06a02f7f376847cfd9edf79ec123cea3f011da753e31261743f445f3a15057779386ede4126aa15789392171b27cbb44f26ddf08d3204e0c281e49232e8cab840c7f29c7e9a196ddc74d7dcec5a9bc7ec8f0fe70e0ae2de0d995b8da12a21078144b84d5c0189d548e97e11f31cd8e5fd2070943def989a9fa8b371c51bc67a6ba89fc0f1714242a87737cb1591e95e4ade10ebfc19a927b2e091335c00000fa400000168000000b02aaafbf6bc67be7777c3f052395ff059ef1d27399bbb37340d8c35a1577abd3c163c275188d3f7c9d5b798e83d7b820d11678a85846e4315989c889ef5f05ad4a83ace1e3b933985599a87508f37a46e29c1e709968f5fbba367be43cb542c888bbf983c1a843cd8acb7708f930a0d6626c545ff8fceb70270160ab1dafd38b9c51c211934bc77f99bbfe2cd63ee081819a74c96a3214a14698e9730830adc9e7080b0af374b8c6a8f1d834ee481b5dc000000b01b54450a4aedcb9ac87f49f770fdc9db1b0d99efc736c48064b3d5a3395445b3575f3624ea4fb282c258f42a3497fb9df818757c8497d71c3128e24ebe5845b73e5cb92db5851d148a08d4d6b529615ef89aa97e0f756c9541fe5f06fd020162ed0029a93e49c49d81c8ef4abacc158914ba00d3a2e9b696afb49704817e3b98c8f235b2b10edd7938aeedbbda1a9a0628ca23e21a0fd6af71f1e165390ff7e477c5eefceb351aea5a140f0f6810d81f00000168000000b01104d24450568e739e589269e0473d74c005d43d56fc597ba74af32ff951c275a42d02457c632d5709219c7e971f2fe90d2187e89f8962960e8845884f753e7c735a4b8bf26a2817f2c63a2507de01bac25997678166a5f578df7dc789a2bc08f5850255abb2a4f55fea48f8fe2a4dc11d03f838894476110c668cad3977c663f1ef67f8d35fb65a3642b50357d0cf1f0171fb5a0e02827a49df2af047a0d7c7143cdeded039ffcafbc66d4f36938d71000000b014f648f4b796f650eb89edb6618db4cdcdb32db11a82286f327f8750185257b0f91985370226550c246eb7e106ab1a12bf34cf6316e42b760cd80e32181e6ad324c15b505920151f1154e10e95c73b99cb44b64c25c276e0d4b70bc613d3f8968602682ea254e9ceb2fe2f6f3bdf1e2d1d50bd74c61ed9acc17cd43019c5dda8164744fee0df96f16982e61f929d6d9e26700accb476f9138e68c6aefa034ca27b31d74c9188df5761a6b70bb74c2a4400000168000000b0299e1d34db772ba2d516eb6773debd44aa8076633488b0adf75664fffbfe84c481230e919b6c9fa1f3825ccc953e876df9fbac67eeffea206dcb66eacb263685cb2c05cae9f7eafbc9377daf8385ad8d5af8f75602b511da8e7c4fc026ba3156b949f5782864d8801f173cc12a5556ec106dde4a439e54cad839f1575010263bcdc6f421e8ecc80659c1a142ac15ebb10128af1299dcf472a89621e7d95f40fad3e4e4800808b8a971ba94d4008cf4d4000000b020fec6e8366ae310e812c7e37d41b8a27b5fd9e2a0cd43819cf23fad2c9e1511f33f3ede9ceb549c79b09b4477c56121336f166f5ed1ba318b693b38c121eaf22dbcb33d0209d14f58f59053b4d043bfcf79bfa600e8090513f6d6c1e0ec015de9705662a10addbdcff090e3129fc585108fe756490a88fdf25070951d6cde9644694e04c3ae35814ca5db430c05fcba05ef2fed721ed906b332149936cdd8dbbf15293a1af0fdbd5f558b349e5f498b00000168000000b0267c9bec172a24da7cc5817b08c30a1878eda34fdd5626182801d09c8ec1f0a7062a4a10af9bba96fcbd142e02fa2265498dc8e14b2b188cc824e39f9ebf7224a6fe5f1cb7f172f0fbe25cb10e4936c0bef16d5e644b069248ee2a3f0b72ffae96aef06d734ef879d1674429ac96fb7a1406d2aa4cececba9042fd98dd3923831aaa17f08d4b8bdb7f310e2b4619f67e081893d11117c5390ccf3c5aa361d6c0b6fbde5a49b1eac09e3c0fa048fbd9cd000000b0147f00f0c90c7d3e36093b9195d190e45ee70e65fc893817a05d4c81158e92ff7047a06e6d93f3bf5098caa251f64c561e766bf16fc29f6b4ca21ad44039ccf8524f59162389d1c5d84ae5d7b1bfe7d28a0d0a97f552cb46a71a34f9688657f8860374f69da2cba45070ab62480f29bf280da121a059ffae059e6121b2cb3c031f225e83ce1c8ac5d4afd2d1b40738fa08da0a428362fc778e8336546146f2454675a9fc63216fb9f5e580a9f6ecb73600000168000000b00c47a6324616e6d4bb9e28b594e56574e83abf2cabb1e20349a281197bbfdc7218eed09d83a3be481c29dd0cb18dd8d3130bca11702698db74259d5b9aac1ebb57a98a6ff0713b642c7615c611c3e97f6d3921e534b1e162b702a3c51e9c95a172f179567380fc514f5119f5b760bd8f2e28e9c573837759c3f5cd77460bbbd8e80fec916cb248808781f7c2cf7e4cfa2d82608ca1faef3699d74b9c0095dd3faddaaa09de20b42348c6ca6acadffe12000000b01933ec5da273272eafe3938a3c1f69ff16a99eaa061be7a8027cfbcd0aee7b350e5f48251d8f2fb763829f925437f4ca23a002cffa08aac3e1e9ba4d0d2d4b9bbf771ffa242618c7227934413fd5ee41fd0279135ec7df3e3e60b89233553fca81dc3095d499f670daa776bac18cb36b20a532388572364981d5e633777a9f85dc783f45bbf13becbf687fd04d937ab210cf547a42aecadce21009c8e928b68e46d8f193b33108080262c99a9ea1c28000000168000000b02d0d11ed1e32ce40dc2edf200661117956c6c43312a1ff52f35c89a361471e4c06b741d6f53d7bc72a939ab70271478c349a33244fbb9750d6ab8e35eeec57a5b64d8a4b90f0c7777b7db36b0dc540b85c1cb52123e5f9a1b5378c45df34bef8bc6bb660d99dc4e7a7b93e6af7b9c07b21d9e055900d420adaf5cd2a56366a7999afa3ff778a7800e82bb646cc395e7a2f518003232d7996c6f80d86625fbd96fdc020e71744d3a776f3a6a9a6c52917000000b026a79738ae64c37b80cca10537c78fa01c8a6991271706a59837e098008f78818ba4dfd07280e6f4a922e012a86f804d1d5b997e8325c6eda9d7a643927c9783afb34c6dc541ed531be3d9c2c8c7d7d7bd475324ce8e8fbc946a42dbe3126bd1160aba1000c801bc5cf744a6b414beac181de09cb20dd39fae420041d7dc9a0f713244391f37424bec8a35d17a4deb1d1fb8825295fc69e309572d3f03c2dbfd23ea049c252c286d60f4bc4ff636c11800000168000000b02ba11561f36ce541c21e7cc15f3b03db47ce426bbec570b455f7eabf75035cab994a62b9877d7fb39a2406f61ea5d0d49071a894700452adbfa20ae1450c5b795d91ca6215cbe768165f02732235264a7ae3876685d2f50bd43c85ff347d41e2c7646103ea458fea3b7324ba70ad06681184e3f842975bc777b8ca64be7b3be9bded1b20b39261497299118649147f25196b942a6069e97828b4a1f82a8def895d127256465ca1a4edc561db0cb99acb000000b00171c81ef43bb883214306b4170760755155de70febfbc55db9a5a22025f4c047bdf3773fd5c188f9cede6f4f20265759ecb562053d4a8747a6d2cd01dae94cbf2cfac3e086206481624e6ae24c3e5c876f52373c5c532557a0cd51c6fe43dba4b1ab79d158a6f5211d386dda5740a220b3759fed54e661605a3159418198a511ef10f9f07d3313a837eafc3bc4cfcac2f3ca49d74f734ffa6c8d1837ed93ba51d9a05b1fd20db18094511489389745900000168000000b02aed68bcf95aa2bd6bedf3dbdb53c553b5ae0513b991530409db4b7bd1bd9007dac84e59f53e6eebe4fea5017aefbc59aa13ada2309b0ba2caf40e68fa903304e8d76466e2f4070bc34675d36c54932370c3df4795c9cc8edcbe03c7766abf11885ac8fe353d08c5707e0479383bf36502efd9f3a85970d3907ec02cf13a1b444a8d2a0241925aaf7cc99168ebcd6e480ce06923ce278fe1e78f63b9719eddb61e39d932c05540648c419cb14d097dcc000000b01da7e200cf4b762917b104267cf371036152133b1e6a105e48eeda97b708e636e580ffc04d9c7c81cb363a3b573df81d36af00e13c01a30c80183ece2be7f60cd4f327c561f5b4bae382338684a253c3c6f601c177c48face6898ff83d8a74387c7e4d98495cc6b5f96a3df2ce570151076af17322ecc994f547db19272e61c1756da63e34bb46d7a6365d5d1610f50709e3cc05188c5d4475e18c79e596331ceff8e13acd05a8de445d1c95c3e29cb800000168000000b0037c791711f16fa5dbb94e824d00ead88b21edc3f1f1b2ecd9fe02956d5eb9b8c7eb071a22fbd9ff789a818a0ffdaa416b5bf278c97c66516281ddfdc24d1cb9980cd1175a195ccae01da2724acaadd16b4457f29e89656deb8559a64f3b0bc5118ee43243695435a69f6520a744fd5000bccc29453c86464fe28c26577f69e0d1323b4009c00b45a85b55630a6ae7e427515dd76fccbc7bd025ef07c9c98812bb5589ab297058aecf7eeebe35d9d946000000b02526a3405decbc208d37bdacb09c666e85d3d09477bba20d6271416b9f425e85fad91bb1f58cb5395f575dd78c957f610b58d753c47b3854d2c8e9ab11183aa2fe014a0118b569d108df4e96c0b0bdd4721ec45d8e568f58beb2ac0975f3c3e85c4474378422cb32bc92ee6daca5794201f19cbf8e74411c46becb67e4cabe0a9661e199c4dfe541e14aba923ba1fbca1e0e2ba28cae8044e6f27e1dda2ce25d51caf09d90a8eb1e3e59ff490b40896000000168000000b00e0dd02b226ca34bd09c4d16361aff8d4b78208d70d099ea5f9b18a963f0f4a4f37624503e13d9e9162cc13e145d2940ce9bc289e1c16fb13e503ebcbb8bc56e85b7b43a44e37bddfdfa1619140edfa926e35e06ad74c340f95a82f2ce6ccd4d5f0f60950dc23478958c7851cdde71f916f770d7550077b9db6961da45864bc8c1d50d286972f348555205d58c2ed7371213251fdf6434cc2b9fbcce57951d72e955e980f7c4b87d2d6850adac6eb0b0000000b006ff5f91c7918b9b6889d3bcbf9053d8f2e87087f3600ca04032b7df1524e985e4028001b487f5272096a9d5913af8dacbd62e2b68d895b695c38d196e9abde5ba9e7f6a6deadb7603245c211dc2ebd3059f593a63894097a5713014e55fc7cf1da603c6e555eb5b6e1f3f1ba92952ec08ddc648b12098ad730d3e9771e858a264c9f857788a3b17ff65bb42d06612f02901bf7a84491dfd5de40e50ba2a3e1f803a0df2385e5a42324c13a37c6c8d9800000168000000b00e3bf9afd52a0258d5cc82b7e38032a92451fd3d9335b95895ccfc37cf37b394d9bdfd0976bdc66031b4452caab53cce299b2fefa5c16e7e2ba79e95f4d52a133ac233f5bdd6bd466db85dc899de2e928874f8e40c596f7ef47151bebf75a3488f602f32f469a0985b8a6a443726a031147c6e1b60954115415413fd85319dd3cb93259b4b56962e138692744821351503271d2f3ef84be5a3c80a793ad07ecacb39a0db8bde3991a9d29384805b0da0000000b01cc436643504134726e16718dde578ae1558723b6b259d909eff49ed290c16928bcecc4c0c4a470ae642d828d45ba3ed84889b3d49cf3bd181a65a8d556b086d1bfccf239887edadf153a9976317887838a000b14aa04de455243ec8788b1e261aae2a097b122e9e26ab71dc259b6d8600f39e4b0006b87892f8df4ec2eb56874fe5550d2f94064b996054de367be06012c7da8d82ffe311c8aa7f7894e7e4aecc2450caf4613ef0c5ebaed680cc4ab6380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b0071a3d1c9f90679f46eae1bb5fb2830849c3cab587df58fb012382db987d7d12dd758b0f8cadefb2f411eb1579fde9a4bcb4b91eadd60147ea5faa2f8e0979df0502b2bbadc9ac7a1a260053885874977360ea808b9f927a8ea52e7850bcf5e4adc3dfc0b71328b20e48a00e728fedbb260745723a3d523c66c0b1c4c291137777d7956d4028b8af80cfc521d4d31aff10b6f2379c85aaa41679877de5b821104924d3b9c92fb1e928c62a010b366f7f000000b0122c8fc6689c6ba358bd6df98eb8870239cd4e37e317b3462db7c789e83bd8e4c8925962decd62e8cf287c8d2133d127649c892ef846c30c52ef891cc91c4c4cefc4e3abe9adf2047e41b2e6ca89729f3964d04130c8664a0a0439266028e72d9a9900a82ca2fff8f03ceead7a4bd7a6098a65a92aaf74809bcf51ab280e095b4945ea37d08ef16e7e155768570e01652e2bb2373e3a9b04f27d7d573f19f49973f53f0c519b62a54c6fea2c6dc94f20000000b023df9a74406b73b3f96209c828b03381e3a878816c00c0e8bd5afc29c0ea5e228683497e2aa8ed39a1657106c33725c4af1213a7c1bd4cbce98ce572305944aeb9ebed306dd7a2ae96e7b2d5d5b1a5b01eef49b2089f9bf14bf2dd11782f09527aa72d6c89c743120f5fca9644f572ad2507b215aa68291811a55033c24b0688a3bc4ab65346ea1e82f1b0bfe121be66255370c82291740cb3ff21c5386cee03c39243109ed96a27a32f48079c120a0d0000021c000000b015e71d579d167a7e2c2b9b0e6679b0977e4c639ba12c7a2b6fec07265dd685383a951465bd88cffd40165a7bb7401e17b7a181db97f87f8c78f27f5a2debfda07763fccb2e308e55f5d1fd81b33676bd45047cfde53119a4925fdce054270926c28aa711b7a8ff1017b6805a30f43ddf0a0649c52814ea0e32b5be283969d2b03c8e16ad0166d225cf52276d201b45c20a460a9434b76d51d0be437359d1f2eb41da912d5879e4d37acf6bacb80c0ba3000000b01d89b4b651a6666c47d90fb23d9f1953d86f2557502a0deea078f8143154f3e7a162a3403e9446db75e0023feb161a3e91ecbb5de595757d7cdefe13cf690e7ea9490535a200b7b4b7f7722df03044d12262c230d854173a62b6e18177e5743b4d2b687719cce2b7d273b8bbf79f825e04d5fe60ca7aa49a53c8c035a80ee4a78a6250508b16af0f1f70f9cd738b0b8721c6a6cd18531c73064b8bf11f6c28dcad6c2a8a644460bec6964653bf24aef2000000b013222f440e68a6762d6ff57d21693268e7b9d2e662371f00cc06eb7bcaad67578f04ca290265eccb995cd9708db5787314ddbe5e4de33a331eca4fb4a150bd35ef436ba4be683e4f3560f02aef422ed1e306dc9f7da967819c819dcff011bce268d4d931d398f53f33f8be2d9504f2bc03f0cec2bb702ff9233abde8d23b88a7a3b5aef6b9ad28f82e78b6d23932b06b27ac180b97032f47ba3d5e1c32e0984dd4a26286ada28985a18f4ccd8a5edc8c0000021c000000b011d15ee0988ade87e635ff635f42da5015eec7f58fc6786b2088e3486924e0eac9bb11b26a95025bca6a869dd3b5b1d52cd73b28a2b9f5e7331b7d633398bfc86e56fef3a59c3888a4993827e699fcf9eda895e0bd392e2de1a3273fd5b54c397ed7608b3b391c7838d2460bdcb138610e303cc0ee0dc65896a1703f6b80aa746b52bd7bbdb46c494393af60ca017d7000b706930f24b8bfd36a2158801648c8d31f780c10e27dc4556a20e130373318000000b02c3d6008eeab8df7f02fcb7b7d519d3cf3c6ed1985474177eb4891bee7c85ce15bc0dda0379abdb93ba8c42f2fe408a92953a13a6d4e5d18122ecda5afe256e54107d92293eeec10b6e283912ac21aca1eb5edb088723c667c6e616c2b9c4682c0efd86b2660ba4b51cc91b5e82bec091831b9fb5e9aa84967a6fb35dcfd6e6d4e9dff344414072e218577eede71461924ef8785b047bd3bb83bd3bc741f8aebfb5f13338053c71e7f9b7a638696e98f000000b01821a847715df4c1e6a884b83feb37df823f53e064048970e76d5116fb4fc86d326dc252fd958b28dca4dd4e71afef150bef36afb88c2a4591a29b0c7da00119fbe0700df8ba2652a6901b5f2a37ee372e094c509cbb3877a21cace41657471e8900c852c2311eb4651f006d581b7e0b090f599af978ff09e26c76c1c9b18e67ac735e01b526a5bfae33757821b1e88722380fe9234c825072e9be79068a6488645fd367410e6b5df1960c5b81f123260000021c000000b025b1bcd8b9c98d16fa3cea7ba2a885862c2683b134e9685e7bc73b0693c4d2aacffdbebd1baa37d1c2dba034089869514a33e12799211e5e5008309670e7890226fe0215a2b9652937985d515fbc9358e5b03e0d6c00bfa297060b678cbdd56302bf7554ee067022ec2187f20702b55026f00fb881aaf2dfdf3fc28f3dd81fd99f3631f9da1ff4048eb89b293c43279116129495f7ae30b99ac6002641846c761f783c9346b685f83c2050152e738168000000b01610ef47d02df7fa7ad9fcea7d21abf412cacb7935897395a88f2b1db123bbec03711036249b1e06c91ed9887048b4fb57e533f64c367ef804d3e2c8180ad9f4354c82614f29fe8944be96678d80fcf9a51b8cc43bea910e3b78126565d1dccd59268d0ab4d47e45a52ef9c49ba97aec1b524a383e71340b2b078512cc98ef85bb98614e71f88adb1017653061c34135035b3bfa3bb9931893d62fe80948015380a35ed234187574484a89521ceb3421000000b01e2a3ebd11db6d08fc284bbd1ef54abddb5147925b8edff1c22610eb702b958363159a59b8d88c7e0bc5d2955d8f0caba2f32ebc5fa01f7805380247ffcdd9fdb1bfe6eb3d26999c9fdb7de85dde13418199c2d45ffd54e8476ffb03fe44a20628e3a6ee5275dc9ef019bd1842db1d9321a08e5badc384bd4f171c9ccd2a3d8b7def4dd39d5a0c851e8275f7dc7788110236949d875562e2ef4ef05125099571da4a9f7602d8d31b27d7e3ad189f40a70000021c000000b01cdad4219286bf6d14bcef58dfa0bc77710d329507273f8fd632efb333a843a877396212b4015ac370036644a93259caa33bdcd996107be3762d627b53a650b31587a90c6c7449cac5b3daa08f3d8b1c299627590e9bbad115ea63e9a58f1a6f695c16a5d8596ebdc71300396c9fb3d82792411f22bd90c6b048b21d22896bba6d78d629882fb33d7b981ba12756b6fe0b51a5fefc5457fb58bf8eed47e5b29c162464501dfd49979d7576d420989743000000b00923d1b56ca8ada671fbfe1e99bfbe89ee6df397fa5947352f291730f91c3c6f87ea5318b41945349a75ddb26082eb6cae71316f62b45058f05fefc8e3bcd56b1d7ecc583667102271cea3d70e0f94dfa8044b026757991b13b2fa2020b95ede095e0cf1b882185fb15d6da683507b870f28e33da1f37c8150ccbd768c3d58a69ac5559539d4d016fc1979f3f774e2c619239c77a24cce5ddfa26e79d79235003b98db0ca43d5b49d3601a7dc9eb37e5000000b01b5f893c28ad756e43b7390b78cb646703e356818ed9b8c4a04edd8bcf3af1d1b05ecbbdd5afbc0bb762d0c3cb1223060eb620ae999d9d45b84937cc586ffbb56f6460c533222077ebbaddf4fa42c690f33c5ef74f3ca47a8e390d5f839411c42abc051d27b19f40301e6cc5dfc2d6121602e6a04353aa432250b25c89ee31264f0166a98996a55cb85cb77fd22b881c231846d9acf384fe94b8f7e8b0c3cb1404e97fac120f67971bc114a6cb72a4340000021c000000b01485002bec39c4a28b9778ca2d294e59bb3aaa8cc45288ba9db77bebc8745a658071ca9c68d8e45459915269bd358211b61afb274b08a0f5121f042b4e214f2b658a41f256808085345792c721d4bd9a5a838534fc8e57bb9d84d899c3b35a944e25c4deb01b2a97583f75ad72b4561428e4505a205493e8160e0afb8afc86ecddce301b5d7b0221d1d74aecc560c0e317d83fa0f535930c01263325f76939f3b89b334bc4adb637bd968ea850835811000000b025daafd153d298a25e1db8283c6301d3904d209bbe25c84149404c2cbee180e513cff5c41d0eeaf684c941c20e9f5b4a7f23c6015a4814bb63a0465e5aa17395aa0aec8017157680fcf45b64279c114a50172df4ca75d26fa3b95efbedfa1d171e2715cf25d6113e905934a337788e8214c5235d64effd24dcb0b3a3ac7a5c4ce7436a3d67dcea13afab3176560ce93125b06683ee4eeb0ffb388d2216643ec73f63548bbb1014003c3b1b62c3fe909b000000b001d3d89392cf6fa249fb4e830d976b7891af10e634543d612a885ca6253b84bec90db97635ca79ab948ea4571e51108bd8e033fb22a028a30cf46077fb3f6147d65c1a609b4f6806ded2c695bfcc6dcabcc5e82f2ed1a7a7bbade321e5768776fe4e607b69d86770d22bf22dfd50547b0b254f4a5f83559fc869520815210d3c9455d8dca6d8d7d2965828cf240e12f72911e3d5886f2e773d9558d8c78d1a827d2944c80d384ff2282717b50ccfb3770000021c000000b023331a8c3ec6cb71a0caf58a40c61b60d32e6fca1925ba067d9d32e7154287f16360ee13bb046b90a0ee3665d59a3875838692d21264fdff809212fb9ec0771b5efd911341e397ee75dbe2f05473eeb6c12d0111e7d70a7d524480c47aaee7096290f27b9521601e4cc96a256a1a3c641b8908cfce97d1cde9e590dfb5aa5fc08af2149d55c69925885ed680609285682d5994bf9127a829db9bafa8ad44cae2b58828eac822b20938ee733483f310db000000b02672485735588322b6da237acb0377f4d60d99c673e7ac59c7dc16ad138362c438e3cac2bc10ccc4cfb588adddd7a2548da5bd04173ce53979472e115464b6898bd4f4c4eda0cfd3c3e90430f9e67425e5bdf6f49c703a00cf64fba993884c261950f275e2b4c73ca0e14dea9258c245068cd30a66670f7c2980f8f5d90a358b2fd799fc0290642ca4dc635ddeec0d740c7a71cc827b44b82f65b1bf60a27116a9f3235ed90cbffa8835da42e4ba0347000000b008a84f2bb39bd9972a050f2ed2616901b4c1b12be7d804163042d0b2701534f2b001db4b689aae28b58b2cf5203c9391c4e1e3668b8ab7411e4e3320d0049b4cb7452bdd1621fb789f5df0c04a0b2bdab1a15abefe4df1cd37cc14aa707f47b2eef7c06856e17b156a8276fee50b8fab079b3389a47b824f0bf8db580ecf99ea40fe571e258e8d4227c060b2f9ea029925550e0b04cf0741b6295436b42fa4b27b3bfcc5c5cffae839a5ccba4d249ee50000021c000000b01079ece2033defa9c796220c6ddec6583b6ceca6554ae93128136af83487539af1594e485e9d92e5cef9637873ebd1b5ae15513aa1ce098bd0d3328787ea31d404306594fce17c32f79c33f78fdb492dcf8dfbc2f17742fbb6e49955b6175c77908340f346b11026cd3f380788329e462266d5bb1e578dcc330eb43d1d670b8181da6ed54b16f6166ef921879597535706799a7d7d3113c0ef6ed0fa2ff51387ebe76374c52084effbfa3da02d970803000000b0180a3dfb47a8795c47ec95579ea33357f19495ce89be0467424851780f1ca6107059329dcadd1369ecba4c7bd4992a3647752343f8143ac8aeefd555a314fe6b46e7016ccc7e19453568f5f7f51059b07aa9a749c9f8065d962341366752253bd5bd7f67229e5eb6151188d8f554f95126a9660b070d74d2373a02f9a64b4ece755045d1efd16f3a4252978a769967932fac6b448cb4e788c7d2dfcc625b23249e5f32eccd73e38738094f1388fbbda3000000b0215d4b51ba30f20e64dc556e244cb73c381cfabffbd9e07df45e11925d2343a50d53c07aba5ed1da6d6c4718fdce4d9094891911d9dd792abf6e9385b6a2ef0ae862fcf92bf3f59cdea1e6ca6cd6cf1c4d01d7ccaa77b5eca9bd7b14a928da5cb2dfcd2d0b023e772cdebfb8ceefe2ec2d87f569a34fcd0ad5ad11d8dc7797ad9d33580c27068255d5c9f58f1f53ed032908a308d3556954fd27849f3a9db3e5fb80ca9de8600df86b430777583cc75a00000fa400000168000000b00f526d7a17706a7760c19c222d8c7d151732b9e271d28e01c6eb443fdef999d41a05529abf39f11bfe439a95b21db59cfee634c6bf669718ac9d9db06f44c0ca24445431cb776faf9ee28e4fabb25d2198b8ef4d1c208b616c67f8b32e6be420ca17423071ecbd55ac701deb4d1d620e00228b1314c5846dfe940062a6532b6550ec7801b5e279dcbba8b2ad64c502630632a9c7f5daf5c244e9b94cc7a736e6d7cc7669c9d8653dac3ff6e9e3fd4bc0000000b006385f5f0b41ad37d716a0a7dee5d1c7a36300e59f35d2384b550e2f2183f8aa0372941b8f27a7ac63af930d91b15a43a34a62d9bede601d83a7eaffc8b77f9c78bc7e8ef77135f8e2956a6230c6414257fdbfb281c529f05c8efab017d770c983236e98bdd1ca5a9dfdc0a272cd40c60ddbdca3daf2245ef5267195d926f3e36d9bb7d426869c0a71420415bef4db0828493ae3939b916f63726d5ae1955013209c7b1a9aa6fb9f5589d6417cb2f23600000168000000b025ac60252979581a2ddc52dd96ff18ed343930ac94edb53d0a6b5d68ca0cf6fbc5a3e200ca26f717fbd193dc32cc038f1dab756af115de0f2556d8493cf490aa3b461aaf3e8f6cd21e7e11ba7af16308e47ac04164c858231e2e517a2a9b527db31010a29dadffe6550c00d1c0a7ebe014c9aa2b9ac62170a2e2c38efd25c7d7d2680abdb810a4011c049d0329fa026024916582055a034a10b23c51ae4acebe4c768739a33bf057652dea4b7ca894ce000000b016e2b6ddf70eca9f1f2e3b73357ee970be7bc385d4df2c94645eb3e94ddef0be6c58ec3ad50f70189063f7f7653ffe5e9f605b9a92471777cf33396e5016ec4e9e11ddcebbc67915a72888a4514d83218f00c0a030775ed8029f5755e8cdfb702ed06ec5e03a0bf499da3af2e464523a2f39f25a515a2b063d69b872cef9ccf314814b40e200c27fee2743510079b03028147ba1df29a762a509e5879b5a44b02eda5fa809a3cb7dbcfc65f3eb12aa6900000168000000b00160cff6241dfd2e017087639bb651b6cbe2539c2aeea13085d05371815a0217f8cd27d2928198d356b9f0f0db14586e4df1595d6002299b95f2683f4be8d5ccb3c2b8b0c95fd91bf2f3fa83747399946006b1305dcca45b527de84b6a7713e8eba561813b26ad7814d83c6507ac9a37171f7526f95590754ceff017d1f6c9d56fc392a8f3844e27c631855bb75b795e0d369dcff668a0db940bb289efc020827e8c7a0d478bee881cde125f20183053000000b0066890bd4fbec8c4af2eafc07c053851f18a1c98243dc3a9e41d4343de51a2a6f4641efbbccf1f36d41196a4ccdd1ad31b052aff818ebf42e9c3fdbe7f2c155f375795bd09166d4786827129ab32467e0442ec3ba0040e3b001bc7215f582e760da3fbd3cd2dd6c5ed7ea01f6e9d97062206a2207d53149313119b4a434efce143a4160b4ab9385736836f55d1f0c9510a4aac4a562db9baea787af4f1268dc8b01fe75f1d07400c4baafcd84c0d3a2800000168000000b0295846674baafe776ad84a0626d9eb53bbd97d91d651ebf489aeabdcca3dd2266f7a01c0e9ea57d20b831ef97d231e052be9aeff9b5e830798138b2f1b576f4e5305969b47b164d4746fe32ac77c4d5a0581e11b4788eab34010416ab491acadb7d8e42358eb84027bbe2644a52dac660ef715beee8510d7af5b9bc434264c3eed8bc032af232c4ca354bc78f1b024ff1345fd53b5ab0f786f2174bec172c37f4eb2f1812cf8e7c03450e3d22461ff9b000000b02ed75856631916da4dae9a1d93377c2a1613d8f7203eac3ec7cd7a0550d185fb79f03ddd1a873e10417e84c592714e25414de737c6d2ead77f3e10e12b0cc6e204227de753a5135b34cbda2a5d1843e55b7ed5657c586965b434244bc377fb216398fd28a2026f9b2a81c30de743e6ec0a9b2a86969685536af53a816c82333d512fe1b906de551219259526ac878c9f177d878b16a7095730668aace9e6f68b10461ac3b0dc815fb7f8619bf50a373300000168000000b029aee716d78181b156c15e438ff14614f7f2bbdb29b0674db130e58ec9fa9fcd7867b9a3f2ed08c7bca9362e29c5525563383fdd926b4cbfa45c1957d0931f95051f4167875d1f4e176f52982570ddda5037327e758e1fdf97083a9549724951edd51454d91a09c952c56c2724decae42eca8f1dc6de9d4ffc524f1aaf757ad12ff501e526373a536dab0154ed134a2626ce8ec1ff9e3af433e6fcc0cb815730592f7772f6f4305e9fea9a92bc8951ea000000b020e43d5f8205c3a79acc21a852a9efdff7f5c4527b2d53f44be4dde78236ecb180270e3b952c0aae0158450aee5d61a6e6940e0fb28fa75d20178a87c1948ac14257ba77c288393d333453f00aab34fc34eb2ac5de54179d195db35d2f63134dfb703fb70f1f6e5b94438b057c0b75081c4f0927e53b920a39c2f363740c2d5b16151df1237de63b4636d6cf1a33c055240f679b9ca85bbcbb0648aeea59582b1976939c8d1bb5b32b9bdc238bff9f9900000168000000b02b4b775c38491e28d9be2e285eab9f559e7a845476846b626a8fccd7a3b4397bf3c3e1996096d02abb089b059120f7740d3c59914f983cd8616510343e0b2e2e01710e511fd06c2974380c11c14580d3b3b308a69d3f38190ed41bf0db12eca5fa028d0853e4e21e2f9adc415601fa030ed7af27aa6d7631fb193b7bd8ecda3cfd83271b429d6e1b16379f5440b03a4420c9314f7202d390f79cdaedeb813cebdd9daf80ed8fe707692e0c2042eca46d000000b0175f4c1d56ff6304488b8831c66df1f0ad95dac937af61fb17241b0a289a0ac47f9a2b7a749de246f1b0166753c23378e6746511fee2c1622bc4b9911a2558b841d680a3d7f3bf8dd2c6eee8fc6fb7291e1fe612e19188f7e35ee579ea251620f2bd9b1710cdca470bbd4aedb8ea6586283068fecedbba40e5c7b628f9fcf2bc28b26bc085a3574d658d951edee6534705fa54d907278f46755e1902a6f53969b5e97e7dc53531ccdb18e347caf23c7400000168000000b0076a0ecbce14dd33f19da695d1b372f8eff8ad0fe429f94648e3d5b7fda52ef051fc6644eebf83e508da9b67dd7a3e9fc9d3a057806cc05a46bb7b758b6863ba254b4fa43fb0810a92e6c4ce5edb3cf5871ffb5760e43733fd3701ccdbe483110192a1c25440743cf91fbbd7d154665f0a7da795896b3fdc814f785f285659e30072c998f172bee379511d28f59e846c07148564a744e0f3ca3f2744f82194937e3f9a731d0dfc5c5c33768510d7eaec000000b0155cd57c5e34247a54d321139cea1893d19031c953bba82add2e5951343d5d34f7d635c3f49ab0f7ad35735da0808ddbd64bf80abd5714787d5db76f8740735ef7f90fbf95ed38c594952da4119313d7057203ab7557ad45f3b43bd0edf60a812a4aee6acf0645c9408776f0073833a61ce6aeb465c1991a53becdc3b684b86373b4030ecedabbcfd97161e985df150716fbbb20b0e9bd3d2d512b841770387b83802cbe9986fc0516987b9d08fcdee100000168000000b02a469a11c0e9ffbf9d1d6dead5182cea1506542b2f2a737c6bb7b009fa081cfab027624726ef14381500cd25bb80a5a1aa0d04a124007695367d0f4010f8a4d10e24a81dae82d0c34471b53f05745b694ae6a1213fdf11fb12506ba23fdbea19be05591172e300def15acec6d670c25c17ce81556b521c4d59782ae4b508456f05d90a382321f34b44b88035abfaa3c51c0b49f7a11e7093d32282fcdefa25cabf4b070231eadad3161755f15ca3f744000000b00aa9de194df905840b14c9d4d8466038c429852a3176a85f454d350316cc933d3a8d5e31f21b894c65aa2e7ab63569887503afa8e2f15e9e0ced32cb111153e2a46384b6f4a6555aae75457eeddd0e261e130206640ef4004bc92d89abe920231ac6cbb8e83e0aff5451447f13c8770228eb074ac0da51eec6f4913781f069f338a476de19096aa64e5dc58a4e6c08631b22210c31989f5ce997d57e63e53639552d8d1a1150750aecacee4a3b4cbff500000168000000b009c4cf7d7f757d8357838b5ec348e93a23a4d0b85457226491f5ea6f99901c6e9e968bb6814860565747f9dff0500b5b349304bdf922be2d5273e7143c12b2f140a9d12f10ccd5c591437f809b4659f03b25ed06670b486d2d4bebdb47a77d892c162e8bf6f1a523da267fe6ffec9e9815fe8fe420df561d6f04e41811dd6127201b17afc87ceaf8162f905ec154bc72181236230766eeab8c5ec36a39a6fa7226ff2fbfd27505b31f44081c7dc16131000000b01b54545d616f6bf53bd54abaef5dde24f3c22280215b891980c64797c2fc30f2ac3306184bb5c26e27cc024468549392b550237f6c2d44075e1bd9185b13a2379dcd4d71b9b18653f33e11d6c39c3d5155786e6c1831cf6e1b305acaa66ca99aa8be4d6ce23b34ae02299939e7766e93174de54678f81f54d6fc1e468369c680b29d149039848c9537ca9f4f1fedbaa0010cfe8cdeaf265b84b360f618949c6206b9e76680f3eb4cd49a33a457f669a300000168000000b027d976a55414f20255404ccb8db7e91b1356bcae8b7ef22dad1e991b1b5ee77cc3237cf96479899ee61cdcb60d2826763fc1cac12d7932b712c0606d0b90069713a8aa0a102fbba32f3b017eb9f455e2d776e6c852215740cff14b8481ce5774a04b613c9437e4fc905d179653c34a592ace8b495d023462ec68b4c1ae02ff4725beef87b364b0518a95afdd870db7ae018b7c956201c8032c55bc3da5f208a51da4d5e7d006420ac5b5ef541fad3f41000000b01c34bb8481435244820080ee3f8f51bcbd110237b379f8f956f3bf557c4096c26a46202f7060933d9e8ba3f67497cc7f9f4b5cb30aac5680be62c9fc171edfcff6845887528e2bf94e86e9f728cce168a3befb3b18261a0321da274c332b29d7787e890a0cc1fc18d28775c5191db8750025ae013ac5bf0db0bece3472427fc1b4c45be79c308dd2ffcf3e51955202f80c28fd6ce370a8cf505c10b977ef6999b976fc8271fd00625316dc595c8ec35100000168000000b017ed8776e25b0b8ded25538333cc3a95fe23af66c29bfe8c63af26803ef864059389916181d90697e0d74dc2d998682e6ba816cf4d4f8594381ecc2bf08fb0fef27ac07cf18a2847d9b5a4a9277cac08fa486cdfb9a81f0bf03abf6228642e70053ed25768c265a51fad32189f393aec0a4e892228b6b2a1f6393f6dde8704a4025906a42a8f3f0adff4832cbb912764090e2fa98a5797bf7e05ec4baa59c6be3e572f3627f3778b2f9b7118199bd171000000b027a0c14c686caefb1d2c2d4ac11a6fdea8d1f5ffeb1eb4595d622784a63b23605410a2c544dc18c6f3ba4a382b0477f15076f855ac7a813ea0ffb2ba356cc5c344a0c573590e2d5ff7c6b005c3a82fe8da858438af5c41e0ce183de109c68165f55fb163e462df4ef0c437e4caa677a4181ef130b25740378e0f4e13f50d45398b439488016fd84da180491149936746240df1225610b36a9da48c6f0510683a7b8eba5a318bc5194f1666bca87e2b32", + "txsEffectsHash": "0x6b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f5", +>>>>>>> 8567078ca (enabling in hash check in Rollup) "decodedHeader": { "contentCommitment": { - "inHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "inHash": "0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049", "outHash": "0xc2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc", "txTreeHeight": 2, +<<<<<<< HEAD "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012" +======= + "txsEffectsHash": "0x6b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f5" +>>>>>>> 8567078ca (enabling in hash check in Rollup) }, "globalVariables": { "blockNumber": 1, "chainId": 31337, "timestamp": 0, "version": 1, +<<<<<<< HEAD "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", "feeRecipient": "0x15a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb" +======= + "coinbase": "0x275dcb8d3b95fac9225dbb076df61c993df26336", + "feeRecipient": "0x1a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27" +>>>>>>> 8567078ca (enabling in hash check in Rollup) }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -95,8 +110,14 @@ } } }, +<<<<<<< HEAD "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000253472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc280940120000000000000000000000000000000000000000000000000000000000000000c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", "publicInputsHash": "0x061b248db124a2a24b14c355dcfed82a9427fd0f021b4bbba4f94e1ba65b2206" +======= + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000026b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f58e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000275dcb8d3b95fac9225dbb076df61c993df263361a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27", + "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", + "publicInputsHash": "0x152b9a08d7ff002c32dca4a51c3fef75b7e0b35d2f868a0510a3b8f28d0f4b12" +>>>>>>> 8567078ca (enabling in hash check in Rollup) } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/mixed_block_1.json b/l1-contracts/test/fixtures/mixed_block_1.json index 879684b34314..c3f1c89c2a12 100644 --- a/l1-contracts/test/fixtures/mixed_block_1.json +++ b/l1-contracts/test/fixtures/mixed_block_1.json @@ -52,19 +52,30 @@ ] }, "block": { +<<<<<<< HEAD "archive": "0x15e0aec496ca08dc0f0f9f4ce1aac253632930835487ddbbb18c8bec39c616ab", "body": "0x0000001012e5643e26da426570dd999e0e044e5f83d60f3cd813c55059bc0ea0f4a7c9d413b2d2cea949fa0876265cd8eee3a4dce1e243783562ea07e2de537f469f7bf627abb3d4560e786bafd52f77ac52dea36c50419f32386567bd969b0c38e1bd7405d339cecb99fa74bfd631917f965357f0341d8c4dfe6a8f4b621d8df54c82941d560ac24523012499eeca2594f20ce238b7d21b98ad5c638767d70ee05532c2183e6d64e69b005709dfc4771c7ca5981adc54f3e8bd1b00222461ae90e44eda2f1d4572fe0b0b23100a7ea6d4780b25e826e41ca9e71897e010bcb218887b3d036d44eb30a430b5cfc6660270eb5fb7f274689ac73dfa53ba9d0739fe38637f01f7130af8c5888d4c65ea68109a1d58fe8d7d1ae62098857b0a3a3dcd393ef80ed8bcba6eb5e3b4887a32c51c5853b97a5eb59c87c520f36423c6d7be06071821ca1719330de5e3c51a521778b49cbbc1d53f8ed42e0562bf21ed72e8cb9a410b0e82ef5f7276df41353faef675fb408aeb246b6e2f704cab99bf28d1427e7b0fec7b9929c6effdcd045d3fdcec1d1b73faed495444699fab936630d69b519f0bf4f1453db36439419dbfba703b849d1aa5774fe9a5325e5bf3e7cdda9d1f7f2a9c2a035c72fd4a3e383306aff03448f9accc08a2c665837560cec8675fe2512bfaef35a8fb7df08a81001a7fd4903849c0371dedd87f31295f46269c5205dd00000004380000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760000000000000000000000000000000000000000000000000000000000000277370000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000003420000000000000000000000000000000000000000000000000000000000000343000000000000000000000000000000000000000000000000000000000000034400000000000000000000000000000000000000000000000000000000000003450000000000000000000000000000000000000000000000000000000000000346000000000000000000000000000000000000000000000000000000000000034700000000000000000000000000000000000000000000000000000000000003480000000000000000000000000000000000000000000000000000000000000349000000000000000000000000000000000000000000000000000000000000034a000000000000000000000000000000000000000000000000000000000000034b000000000000000000000000000000000000000000000000000000000000034c000000000000000000000000000000000000000000000000000000000000034d000000000000000000000000000000000000000000000000000000000000034e000000000000000000000000000000000000000000000000000000000000034f0000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000035100000000000000000000000000000000000000000000000000000000000003520000000000000000000000000000000000000000000000000000000000000353000000000000000000000000000000000000000000000000000000000000035400000000000000000000000000000000000000000000000000000000000003550000000000000000000000000000000000000000000000000000000000000356000000000000000000000000000000000000000000000000000000000000035700000000000000000000000000000000000000000000000000000000000003580000000000000000000000000000000000000000000000000000000000000359000000000000000000000000000000000000000000000000000000000000035a000000000000000000000000000000000000000000000000000000000000035b000000000000000000000000000000000000000000000000000000000000035c000000000000000000000000000000000000000000000000000000000000035d000000000000000000000000000000000000000000000000000000000000035e000000000000000000000000000000000000000000000000000000000000035f0000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000036100000000000000000000000000000000000000000000000000000000000003620000000000000000000000000000000000000000000000000000000000000363000000000000000000000000000000000000000000000000000000000000036400000000000000000000000000000000000000000000000000000000000003650000000000000000000000000000000000000000000000000000000000000366000000000000000000000000000000000000000000000000000000000000036700000000000000000000000000000000000000000000000000000000000003680000000000000000000000000000000000000000000000000000000000000369000000000000000000000000000000000000000000000000000000000000036a000000000000000000000000000000000000000000000000000000000000036b000000000000000000000000000000000000000000000000000000000000036c000000000000000000000000000000000000000000000000000000000000036d000000000000000000000000000000000000000000000000000000000000036e000000000000000000000000000000000000000000000000000000000000036f00000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000371000000000000000000000000000000000000000000000000000000000000037200000000000000000000000000000000000000000000000000000000000003730000000000000000000000000000000000000000000000000000000000000374000000000000000000000000000000000000000000000000000000000000037500000000000000000000000000000000000000000000000000000000000003760200000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000441100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000641000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000642000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000643000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000644000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000645000000000000000000000000000000000000000000000000000000000000064f00000000000000000000000000000000000000000000000000000000000006460000000000000000000000000000000000000000000000000000000000000650000000000000000000000000000000000000000000000000000000000000064700000000000000000000000000000000000000000000000000000000000006510000000000000000000000000000000000000000000000000000000000000648000000000000000000000000000000000000000000000000000000000000065200000000000000000000000000000000000000000000000000000000000006490000000000000000000000000000000000000000000000000000000000000653000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000654000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000655000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000656000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000657000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000658000000000000000000000000000000000000000000000000000000000000064f0000000000000000000000000000000000000000000000000000000000000659000011000000021c000000b0077b5c368ffa09fdd51759d71d7c0270712abf2ee3977a6d1da827e6616f539f88410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb626155cf87c85cc8a53760a832bd25bb0d58573c5c83bb11a4e6d7f70716b1ec32c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062000000b01f33c3cd2b81dc24cd04208fb70aabec20f7041baa5e7247e1ce4ff38c1f9a1b8c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb60d69761c36dbfe8793128b8543dfaccf5d1dd06a15493863ceb1b1e9ac1b653e13579001ddbdf311510dbd336a43572e4910e1a546faf65a7fbb3becf6c776dd000000b00687dcf0e5d80e220ca0a191cf17fd0aa88f60bff76bf9916212826cc6cfe09690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb62521ddb2d263d0ae8aff523ddd6e564b0cea1556dc10303e92d7d9f6d6cbabba2b0ff7987945c53848fa83ec03d200a9f8dd26920dc1ee3543e163fa2177bd590000021c000000b01e404487815fe049048d684a68a6a686585ba5acbe32f16c2638aa79f180271294410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb60c75f6d68cba02abca9bd33ff57ba769948271fb291db788131c0c70117bf235126410bc339bf735889704ee1bdf51c8807583365acf757ec42596735c2803d4000000b005945dab3bb612464429e94c80b3f7a4dff402510b4078b5a67cdcf32c306d8d98410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb6242e5e6d2841d4d2c28899f88f0a50e5444eb6e7efe4af62d742347d3c2c38b12a1c7852cf23c95c8083cba6b56dfb443041c82321966d59884bbe8086d84a50000000b01d4cc541d73de46d3c16b0051a42a1208fc0473dd20770906aa3050056e0b4099c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb60b827790e29806d002251afaa717a203cbe7138c3cf236ac578666f676dc7f2c117091768979fb59c0204ca8cd7b4c62b7da24c76ea3f4a3088ff0f9c18890cb0000021c000000b004a0de659194166a7bb33107324ff23f1758a3e21f14f7d9eae737799190fa84a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6233adf277e1fd8f6fa11e1b340a64b7f7bb3587903b92e871bac8f03a18cc5a82928f90d2501cd80b80d13616709f5de67a669b4356aec7dccb61906ec38d747000000b01c5945fc2d1be891739ff7bfcbde9bbac724e8cee5dbefb4af0d5f86bc414100a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb60a8ef84b38760af439ae62b558b39c9e034bb51d50c6b5d09bf0c17cdc3d0c23107d1230df57ff7df7a994637f1746fcef3ec658827873c74cfa4b8026e91dc2000000b003ad5f1fe7721a8eb33c78c1e3ebecd94ebd457332e976fe2f5191fff6f1877ba8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb622475fe1d3fddd1b319b296df2424619b317fa0a178dadab6016e98a06ed529f283579c77adfd1a4ef965b1c18a5f0789f0b0b45493f6ba21120738d5199643e0000021c000000b01b65c6b682f9ecb5ab293f7a7d7a9654fe898a5ff9b06ed8f377ba0d21a1cdf7ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6099b79058e540f187137aa700a4f97383ab056ae649b34f4e05b1c03419d991a0f8992eb353603a22f32dc1e30b3419726a367e9964cf2eb9164a6068c49aab9000000b002b9dfda3d501eb2eac5c07c9587e7738621e70446bdf62273bbec865c521472b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb62153e09c29dbe13f69247128a3de40b3ea7c9b9b2b622ccfa48144106c4ddf962741fa81d0bdd5c9271fa2d6ca41eb12d66facd65d13eac6558ace13b6f9f135000000b01a724770d8d7f0d9e2b287352f1690ef35ee2bf10d84edfd37e2149387025aeeb4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb608a7f9bfe432133ca8c0f22abbeb91d27214f83f786fb41924c57689a6fe26110e9613a58b1407c666bc23d8e24f3c315e08097aaa21720fd5cf008cf1aa37b00000021c000000b001c66094932e22d7224f08374723e20dbd8688955a927546b826470cc1b2a169b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6206061567fb9e563a0adb8e3557a3b4e21e13d2c3f36abf3e8eb9e96d1ae6c8d264e7b3c269bd9ed5ea8ea917bdde5ad0dd44e6770e869ea99f5289a1c5a7e2c000000b0197ec82b2eb5f4fe1a3bceefe0b28b896d52cd8221596d217c4c6f19ec62e7e5bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb607b47a7a3a101760e04a39e56d878c6ca97999d08c44333d692fd1100c5eb3080da2945fe0f20bea9e456b9393eb36cb956cab0bbdf5f1341a395b13570ac4a7000000b000d2e14ee90c26fb59d84ff1f8bfdca7f4eb2a266e66f46afc90a19327132e60c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb61f6ce210d597e987d837009e071635e85945debd530b2b182d55f91d370ef984255afbf67c79de119632324c2d79e0474538eff884bce90ede5f832081bb0b230000021c000000b0188b48e58493f92251c516aa924e8623a4b76f13352dec45c0b6c9a051c374dcc4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb606c0fb348fee1b8517d381a01f238706e0de3b61a018b261ad9a2b9671bf3fff0caf151a36d0100ed5ceb34e45873165ccd14c9cd1ca70585ea3b599bc6b519e000000b03043b07c201bcb4949b1dd632bdd2f9f5483b3fffbf4e42084dcf1ad7c73bb58c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb61e7962cb2b75edac0fc04858b8b2308290aa804e66dfaa3c71c053a39c6f867b24677cb0d257e235cdbb7a06df15dae17c9d91899891683322c9dda6e71b981a000000b01797c99fda71fd46894e5e6543ea80bddc1c10a449026b6a05212426b72401d3cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb605cd7beee5cc1fa94f5cc95ad0bf81a11842dcf2b3ed3185f204861cd71fccf60bbb95d48cae14330d57fb08f7232c000435ee2de59eef7ca30e102021cbde950000021c000000b02f50313675f9cf6d813b251ddd792a398be855910fc96344c9474c33e1d4484fd0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb61d85e3858153f1d0474990136a4e2b1cc80f21df7ab42960b62aae2a01d013722373fd6b2835e65a0544c1c190b1d57bb402331aac65e7576734382d4c7c2511000000b016a44a5a3050016ac0d7a61ff5867b581380b2355cd6ea8e498b7ead1c848ecad4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb604d9fca93baa23cd86e61115825b7c3b4fa77e83c7c1b0aa366ee0a33c8059ed0ac8168ee28c185744e142c3a8bf269a3b9a8fbef9736ea0e7786aa6872c6b8c000000b02e5cb1f0cbd7d391b8c46cd88f1524d3c34cf722239de2690db1a6ba4734d546d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb61c92643fd731f5f47ed2d7ce1bea25b6ff73c3708e88a884fa9508b06730a06922807e257e13ea7e3cce097c424dd015eb66d4abc03a667bab9e92b3b1dcb2080000021c000000b015b0cb14862e058ef860eddaa72275f24ae553c670ab69b28df5d93381e51bc1dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb603e67d63918827f1be6f58d033f776d5870c2014db962fce7ad93b29a1e0e6e409d49749386a1c7b7c6a8a7e5a5b213472ff31500d47edc52be2c52cec8cf883000000b02d6932ab21b5d7b5f04db49340b11f6dfab198b33772618d521c0140ac95623de0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb61b9ee4fa2d0ffa18b65c1f88cd86205136d86501a25d27a93eff6336cc912d60218cfedfd3f1eea274575136f3e9cab022cb763cd40ee59ff008ed3a173d3eff000000b014bd4bcedc0c09b32fea359558be708c8249f557847fe8d6d26033b9e745a8b8e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb602f2fe1de7662c15f5f8a08ae593716fbe70c1a5ef6aaef2bf4395b0074173db08e118038e48209fb3f3d2390bf71bceaa63d2e1211c6ce9704d1fb351ed857a00000fa400000168000000b02c75b3657793dbda27d6fc4df24d1a0832163a444b46e0b196865bc711f5ef34e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb61aab65b482edfe3cede567437f221aeb6e3d0692b631a6cd8369bdbd31f1ba5720997f9a29cff2c6abe098f1a585c54a5a3017cde7e364c4347347c07c9dcbf6000000b013c9cc8931ea0dd767737d500a5a6b26b9ae96e8985467fb16ca8e404ca635afec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb601ff7ed83d44303a2d81e845972f6c09f5d56337033f2e1703adf0366ca200d207ed98bde42624c3eb7d19f3bd931668e1c8747234f0ec0db4b77a39b74e127100000168000000b02b82341fcd71dffe5f604408a3e914a2697adbd55f1b5fd5daf0b64d77567c2bf0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb619b7e66ed8cc0261256eaefe30be1585a5a1a823ca0625f1c7d418439752474e1fa600547fadf6eae369e0ac5721bfe49194b95efbb7e3e878dda246e1fe58ed000000b012d64d4387c811fb9efcc50abbf665c0f1133879ac28e71f5b34e8c6b206c2a6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6010bff929322345e650b300048cb66a42d3a04c81713ad3b48184abcd2028dc906fa19783a0428e8230661ae6f2f1103192d160348c56b31f921d4c01cae9f6800000168000000b02a8eb4da234fe42296e98bc355850f3ca0df7d6672efdefa1f5b10d3dcb70922f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb618c467292eaa06855cf7f6b8e25a101fdd0649b4dddaa5160c3e72c9fcb2d4451eb2810ed58bfb0f1af3286708bdba7ec8f95af00f8c630cbd47fccd475ee5e4000000b011e2cdfddda6161fd6860cc56d92605b2877da0abffd66439f9f434d17674f9dfc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb60018804ce90038829c9477bafa67613e649ea6592ae82c5f8c82a54337631ac006069a328fe22d0c5a8fa96920cb0b9d5091b7945c99ea563d8c2f46820f2c5f00000168000000b02a02bfaa4936733a7d8dfc0d2758c4586ea3a2a143cbfe699401cc90b740a34a00420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb617d0e7e384880aa994813e7393f60aba146aeb45f1af243a50a8cd506213613c1dbf01c92b69ff33527c7021ba59b519005dfc812360e23101b25753acbf72db000000b01156d8ce038ca537bd2a7d0f3f661576f63bff4590d985b31445ff09f1f0e9c504420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb62ff0d98ff01867c43b892dbb4dbc6eb75a96b3dc757dbc60450b569401ecb4e9057aa502b5c8bc24413419b2f29ec0b91e55dccf2d7609c5b232eb035c98c68700000168000000b0290f40649f14775eb51743c7d8f4bef2a608443257a07d8dd86c27171ca1304108420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb61744f2b3aa6e99c17b25aebd65c9bfd5e22f1080c28b43a9c54f890d3c9cfb641d330c9951508e4b3920e06b8c2d6a34ce2221bbf43d01a07659131087490d03000000b010635988596aa95bf4b3c4c9f10210112da0a0d6a4ae04d758b05990575176bc0c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb62efd5a4a45f66be873127575ff58695191fb556d89523b848975b11a674d41e0048725bd0ba6c04878bd616da43abb5355ba7e60414a88e9f69d4589c1f9537e00000168000000b0281bc11ef4f27b82eca08b828a90b98cdd6ce5c36b74fcb21cd6819d8201bd3810420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb61651736e004c9de5b2aef6781765ba701993b211d65fc2ce09b9e393a1fd885b1c3f8d53a72e926f70aa28263dc964cf0586c34d081180c4bac36d96eca999fa000000b00f6fda42af48ad802c3d0c84a29e0aab65054267b88283fb9d1ab416bcb203b314420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb62e09db049bd4700caa9bbd30b0f463ebc95ff6fe9d26baa8cde00ba0ccadced70393a6776184c46cb046a92855d6b5ed8d1f1ff1551f080e3b07a0102759e07500000168000000b0272841d94ad07fa72429d33d3c2cb42714d187547f497bd66140dc23e7624a2f18420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb6155df428562aa209ea383e32c901b50a50f853a2ea3441f24e243e1a075e15521b4c0e0dfd0c9693a8336fe0ef655f693ceb64de1be5ffe8ff2dc81d520a26f1000000b00e7c5afd0526b1a463c6543f543a05459c69e3f8cc57031fe1850e9d221290aa1c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb62d165bbef1b27430e22504eb62905e8600c4988fb0fb39cd124a6627320e5bce02a02731b762c890e7cff0e30772b087c483c18268f387327f71fa968cba6d6c00000168000000b02634c293a0ae83cb5bb31af7edc8aec14c3628e5931dfafaa5ab36aa4cc2d72620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb6146a74e2ac08a62e21c185ed7a9dafa4885cf533fe08c116928e98a06cbea2491a588ec852ea9ab7dfbcb79ba1015a037450066f2fba7f0d439822a3b76ab3e8000000b00d88dbb75b04b5c89b4f9bfa05d5ffdfd3ce8589e02b824425ef692387731da124420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb62c22dc794790785519ae4ca6142c592038293a20c4cfb8f156b4c0ad976ee8c501aca7ec0d40ccb51f59389db90eab21fbe863137cc80656c3dc551cf21afa6300000168000000b02541434df68c87ef933c62b29f64a95b839aca76a6f27a1eea159130b223641d28420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb61376f59d01e6aa52594acda82c39aa3ebfc196c511dd403ad6f8f326d21f2f4019650f82a8c89edc1745ff56529d549dabb4a800438efe3188027d2a1ccb40df000000b00c955c71b0e2b9ecd2d8e3b4b771fa7a0b33271af40001686a59c3a9ecd3aa982c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62b2f5d339d6e7c7951379460c5c853ba6f8ddbb1d8a438159b1f1b33fccf75bc00b928a6631ed0d956e280586aaaa5bc334d04a4909c857b0846afa3577b875a00000168000000b0244dc4084c6a8c13cac5aa6d5100a3f5baff6c07bac6f9432e7febb71783f11430420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb61283765757c4ae7690d41562ddd5a4d8f726385625b1bf5f1b634dad377fbc371871903cfea6a3004ecf471104394f37e319499157637d55cc6cd7b0822bcdd6000000b00ba1dd2c06c0be110a622b6f690df5144297c8ac07d4808caec41e305234378f34420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb62a3bddedf34c809d88c0dc1b77644e54a6f27d42ec78b739df8975ba623002b33029f7d39a2e752746bc0dc99dc7f8b392e58e7e1e2a75309092ffbdacdc145200000168000000b0235a44c2a2489038024ef228029c9e8ff2640d98ce9b786772ea463d7ce47e0b38420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb6118ff711ada2b29ac85d5d1d8f719f732e8ad9e739863e835fcda8339ce0492e177e10f75484a72486588ecbb5d549d21a7deb226b37fc7a10d73236e78c5acd000000b00aae5de65c9ec23541eb732a1aa9efae79fc6a3d1ba8ffb0f32e78b6b794c4863c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb629485ea8492a84c1c04a23d6290048eede571ed4004d365e23f3d040c7908faa2f36788df00c794b7e4555844f63f34dca4a300f31fef454d4fd5a44123ca149380000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b600000000000000000000000000000000000000000000000000000000000002b7370000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000038100000000000000000000000000000000000000000000000000000000000003820000000000000000000000000000000000000000000000000000000000000383000000000000000000000000000000000000000000000000000000000000038400000000000000000000000000000000000000000000000000000000000003850000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000038700000000000000000000000000000000000000000000000000000000000003880000000000000000000000000000000000000000000000000000000000000389000000000000000000000000000000000000000000000000000000000000038a000000000000000000000000000000000000000000000000000000000000038b000000000000000000000000000000000000000000000000000000000000038c000000000000000000000000000000000000000000000000000000000000038d000000000000000000000000000000000000000000000000000000000000038e000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000039100000000000000000000000000000000000000000000000000000000000003920000000000000000000000000000000000000000000000000000000000000393000000000000000000000000000000000000000000000000000000000000039400000000000000000000000000000000000000000000000000000000000003950000000000000000000000000000000000000000000000000000000000000396000000000000000000000000000000000000000000000000000000000000039700000000000000000000000000000000000000000000000000000000000003980000000000000000000000000000000000000000000000000000000000000399000000000000000000000000000000000000000000000000000000000000039a000000000000000000000000000000000000000000000000000000000000039b000000000000000000000000000000000000000000000000000000000000039c000000000000000000000000000000000000000000000000000000000000039d000000000000000000000000000000000000000000000000000000000000039e000000000000000000000000000000000000000000000000000000000000039f00000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003a100000000000000000000000000000000000000000000000000000000000003a200000000000000000000000000000000000000000000000000000000000003a300000000000000000000000000000000000000000000000000000000000003a400000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000000000000000000000000000000003a600000000000000000000000000000000000000000000000000000000000003a700000000000000000000000000000000000000000000000000000000000003a800000000000000000000000000000000000000000000000000000000000003a900000000000000000000000000000000000000000000000000000000000003aa00000000000000000000000000000000000000000000000000000000000003ab00000000000000000000000000000000000000000000000000000000000003ac00000000000000000000000000000000000000000000000000000000000003ad00000000000000000000000000000000000000000000000000000000000003ae00000000000000000000000000000000000000000000000000000000000003af00000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000003b100000000000000000000000000000000000000000000000000000000000003b200000000000000000000000000000000000000000000000000000000000003b300000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003b500000000000000000000000000000000000000000000000000000000000003b60200000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000481100000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000681000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000682000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000683000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000684000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000685000000000000000000000000000000000000000000000000000000000000068f00000000000000000000000000000000000000000000000000000000000006860000000000000000000000000000000000000000000000000000000000000690000000000000000000000000000000000000000000000000000000000000068700000000000000000000000000000000000000000000000000000000000006910000000000000000000000000000000000000000000000000000000000000688000000000000000000000000000000000000000000000000000000000000069200000000000000000000000000000000000000000000000000000000000006890000000000000000000000000000000000000000000000000000000000000693000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000694000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000695000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000696000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000697000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000698000000000000000000000000000000000000000000000000000000000000068f0000000000000000000000000000000000000000000000000000000000000699000011000000021c000000b02266c57cf826945c39d839e2b438992a29c8af29e26ff78bb754a0c3e2450b0240420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb6109c77cc0380b6beffe6a4d8410d9a0d65ef7b784d5abda7a43802ba0240d625168a91b1aa62ab48bde1d6866771446c51e28cb37f0c7b9e55418cbd4cece7c4000000b009badea0b27cc6597974bae4cc45ea48b1610bce2f7d7ed53798d33d1cf5517d44420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb62854df629f0888e5f7d36b90da9c438915bbc0651421b582685e2ac72cf11ca12e42f94845ea7d6fb5ce9d3f00ffede801aed1a045d373791967b4ca779d2e40000000b0217346374e0498807161819d65d493c4612d50baf64476affbbefb4a47a597f948420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb60fa8f886595ebae3376fec92f2a994a79d541d09612f3ccbe8a25d4067a1631c1597126c0040af6cf56b1e41190d3f0689472e4492e0fac299abe743b24d74bb0000021c000000b008c75f5b085aca7db0fe029f7de1e4e2e8c5ad5f4351fdf97c032dc38255de744c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb62761601cf4e68d0a2f5cb34b8c383e234d2061f627f634a6acc8854d9251a9982d4f7a029bc88193ed57e4f9b29be8823913733159a7f29d5dd20f50dcfdbb37000000b0207fc6f1a3e29ca4a8eac95817708e5e9891f24c0a18f5d4402955d0ad0624f050420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb60eb57940af3cbf076ef9344da4458f41d4b8be9a7503bbf02d0cb7c6cd01f01314a39326561eb3912cf465fbcaa939a0c0abcfd5a6b579e6de1641ca17ae01b2000000b007d3e0155e38cea1e8874a5a2f7ddf7d202a4ef057267d1dc06d8849e7b66b6b54420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb6266de0d74ac4912e66e5fb063dd438bd848503873bcab3caf132dfd3f7b2368f2c5bfabcf1a685b824e12cb46437e31c707814c26d7c71c1a23c69d7425e482e0000021c000000b01f8c47abf9c0a0c8e0741112c90c88f8cff693dd1ded74f88493b0571266b1e758420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb60dc1f9fb051ac32ba6827c0855e189dc0c1d602b88d83b147177124d32627d0a13b013e0abfcb7b5647dadb67c45343af8107166ba89f90b22809c507d0e8ea9000000b006e060cfb416d2c620109214e119da17578ef0816afafc4204d7e2d04d16f8625c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb6257a6191a0a295529e6f42c0ef703357bbe9a5184f9f32ef359d3a5a5d12c3862b687b77478489dc5c6a746f15d3ddb6a7dcb6538150f0e5e6a6c45da7bed525000000b01e98c8664f9ea4ed17fd58cd7aa88393075b356e31c1f41cc8fe0add77c73ede60420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb60cce7ab55af8c74fde0bc3c3077d8476438201bc9cacba38b5e16cd397c30a0112bc949b01dabbd99c06f5712de12ed52f7512f7ce5e782f66eaf6d6e26f1ba00000021c000000b005ece18a09f4d6ea5799d9cf92b5d4b18ef392127ecf7b6649423d56b277855964420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb62486e24bf6809976d5f88a7ba10c2df1f34e46a96373b2137a0794e0c273507d2a74fc319d628e0093f3bc29c76fd850df4157e49525700a2b111ee40d1f621c000000b01da54920a57ca9114f86a0882c447e2d3ebfd6ff459673410d686563dd27cbd568420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb60bdafb6fb0d6cb7415950b7db9197f107ae6a34db081395cfa4bc759fd2396f811c9155557b8bffdd3903d2bdf7d296f66d9b488e232f753ab55515d47cfa897000000b004f962445fd2db0e8f23218a4451cf4bc65833a392a3fa8a8dac97dd17d812506c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb6239363064c5e9d9b0d81d23652a8288c2ab2e83a77483137be71ef6727d3dd7429817cebf3409224cb7d03e4790bd2eb16a5f975a8f9ef2e6f7b796a727fef130000021c000000b01cb1c9dafb5aad35870fe842dde078c776247890596af26551d2bfea428858cc70420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb60ae77c2a06b4cf984d1e53386ab579aab24b44dec455b8813eb621e0628423ef10d5960fad96c4220b1984e6911924099e3e5619f6077677efbfabe3ad30358e000000b00405e2feb5b0df32c6ac6944f5edc9e5fdbcd534a67879aed216f2637d389f4774420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb6229fe3c0a23ca1bf450b19f104442326621789cb8b1cb05c02dc49ed8d346a6b288dfda6491e964903064b9f2aa7cd854e0a9b06bcce6e52b3e5d3f0d7e07c0a000000b01bbe4a955138b159be992ffd8f7c7361ad891a216d3f7189963d1a70a7e8e5c378420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb609f3fce45c92d3bc84a79af31c517444e9afe66fd82a37a583207c66c7e4b0e60fe216ca0374c84642a2cca142b51ea3d5a2f7ab09dbf59c342a066a1290c2850000021c000000b0031263b90b8ee356fe35b0ffa789c480352176c5ba4cf8d316814ce9e2992c3e7c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb621ac647af81aa5e37c9461abb5e01dc0997c2b5c9ef12f804746a473f294f762279a7e609efc9a6d3a8f9359dc43c81f856f3c97d0a2ed76f8502e773d410901000000b01acacb4fa716b57df62277b841186dfbe4edbbb28113f0addaa774f70d4972ba80420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb609007d9eb270d7e0bc30e2adcded6edf21148800ebfeb6c9c78ad6ed2d453ddd0eee97845952cc6a7a2c145bf451193e0d07993c1db074c0789460f077f14f7c000000b0021ee473616ce77b35bef8ba5925bf1a6c861856ce2177f75aeba77047f9b93584420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb620b8e5354df8aa07b41da966677c185ad0e0ccedb2c5aea48bb0fefa57f5845926a6ff1af4da9e917218db148ddfc2b9bcd3de28e4776c9b3cba88fda2a195f80000021c000000b019d74c09fcf4b9a22dabbf72f2b468961c525d4394e86fd21f11cf7d72a9ffb188420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb6080cfe59084edc04f3ba2a687f89697958792991ffd335ee0bf5317392a5cad40dfb183eaf30d08eb1b55c16a5ed13d8446c3acd3184f3e4bcfebb76dd51dc73000000b0012b652db74aeb9f6d4840750ac1b9b4a3eab9e7e1f5f71b9f5601f6ad5a462c8c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb61fc565efa3d6ae2beba6f121191812f508456e7ec69a2dc8d01b5980bd56115025b37fd54ab8a2b5a9a222cf3f7bbd53f4387fb9f84bebbf8124e384080222ef000000b018e3ccc452d2bdc66535072da450633053b6fed4a8bceef6637c2a03d80a8ca890420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb607197f135e2ce0292b437223312564138fddcb2313a7b512505f8bf9f80657cb0d0798f9050ed4b2e93ea3d157890e727bd0dc5e45597309016915fd42b2696a0000021c000000b00037e5e80d28efc3a4d1882fbc5db44edb4f5b78f5ca763fe3c05c7d12bad32394420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb61ed1e6a9f9b4b250233038dbcab40d8f3faa100fda6eaced1485b40722b69e4724c0008fa096a6d9e12b6a89f117b7ee2b9d214b0c206ae3c58f3e0a6d62afe6000000b017f04d7ea8b0c1ea9cbe4ee855ec5dca8b1ba065bc916e1aa7e6848a3d6b199f98420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb60625ffcdb40ae44d62ccb9dde2c15eadc7426cb4277c343694c9e6805d66e4c20c1419b35aecd8d720c7eb8c0925090cb3357def592df22d45d37083a812f661000000b02fa8b5154438941194ab15a0ef7b07463ae7e552835865f56c0cac97681b601b9c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb61dde67644f92b6745ab980967c500829770eb1a0ee432c1158f00e8d88172b3e23cc8149f674aafe18b4b244a2b3b2886301c2dc1ff4ea0809f99890d2c33cdd00000fa400000168000000b016fcce38fe8ec60ed44796a307885864c28041f6d065ed3eec50df10a2cba696a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb60532808809e8e8719a560198945d5947fea70e453b50b35ad9344106c2c771b90b209a6db0cadcfb58513346bac103a6ea9a1f806d0271518a3dcb0a0d738358000000b02eb535cf9a169835cc345d5ba11701e0724c86e3972ce519b077071dcd7bed12a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb61ceae81ea570ba989242c8512dec02c3ae7353320217ab359d5a6913ed77b83522d902044c52af22503df9ff544fad229a66646d33c9692c4e63f3173823c9d400000168000000b016094ef3546cca330bd0de5db92452fef9e4e387e43a6c6330bb3997082c338da8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6043f01425fc6ec95d1df495345f953e2360bafd64f25327f1d9e9b8d2827feb00a2d1b2806a8e11f8fda7b016c5cfe4121fec11180d6f075cea8259072d4104f000000b02dc1b689eff49c5a03bda51652b2fc7aa9b12874ab01643df4e161a432dc7a09ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb61bf768d8fb4ebebcc9cc100bdf87fd5de5d7f4c315ec2a59e1c4c39a52d8452c21e582bea230b34687c741ba05eba7bcd1cb05fe479de85092ce4d9d9d8456cb00000168000000b01515cfadaa4ace57435a26186ac04d9931498518f80eeb877525941d6d8cc084b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6034b81fcb5a4f0ba0968910df7954e7c6d70516762f9b1a36208f6138d888ba709399be25c86e543c763c2bc1df8f8db596362a294ab6f9a13128016d8349d46000000b02cce374445d2a07e3b46ecd1044ef714e115ca05bed5e362394bbc2a983d0700b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb61b03e993512cc2e1015557c69123f7f81d3c965429c0a97e262f1e20b838d22320f20378f80eb76abf508974b787a257092fa78f5b726774d738a82402e4e3c200000168000000b0142250680028d27b7ae36dd31c5c483368ae26aa0be36aabb98feea3d2ed4d7bb8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6025802b70b82f4de40f1d8c8a9314916a4d4f2f876ce30c7a6735099f2e9189e08461c9cb264e967feed0a76cf94f37590c80433a87feebe577cda9d3d952a3d000000b02bdab7fe9bb0a4a272d0348bb5eaf1af187a6b96d2aa62867db616b0fd9d93f7bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb61a106a4da70ac70538de9f8142bff29254a137e53d9528a26a9978a71d995f1a1ffe84334decbb8ef6d9d12f69239cf1409449206f46e6991ba302aa684570b900000168000000b0132ed1225606d69fb26cb58dcdf842cda012c83b1fb7e9cffdfa492a384dda72c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6016483716160f902787b20835acd43b0dc3994898aa2afebeaddab205849a59507529d570842ed8c367652318130ee0fc82ca5c4bc546de29be73523a2f5b734000000b02ae738b8f18ea8c6aa597c466786ec494fdf0d27e67ee1aac220713762fe20eec4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6191ceb07fce8cb297067e73bf45bed2c8c05d9765169a7c6af03d32d82f9ec111f0b04eda3cabfb32e6318ea1abf978b77f8eab1831b65bd600d5d30cda5fdb000000168000000b0123b51dcabe4dac3e9f5fd487f943d67d77769cc338c68f44264a3b09dae6769c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb60071042bb73efd26b004683e0c693e4b139e361a9e772f102f4805a6bdaa328c065f1e115e20f1b06dff99ec32cce8a9ff914755d028ed06e0518faa0856442b000000b029f3b973476caceae1e2c4011922e6e38743aeb8fa5360cf068acbbdc85eade5cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb618296bc252c6cf4da7f12ef6a5f7e7c6c36a7b07653e26eaf36e2db3e85a79081e1785a7f9a8c3d765ec60a4cc5b9225af5d8c4296efe4e1a477b7b733068aa700000168000000b01147d29701c2dee8217f4503313038020edc0b5d4760e81886cefe37030ef460d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb62fe1d358ee4ea1749fddf5af3f8691427336bff42c051ec5b79455c1130abf84056b9ecbb3fef5d4a588e1a6e468e34436f5e8e6e3fd6c2b24bbea306db6d122000000b029003a2d9d4ab10f196c0bbbcabee17dbea8504a0e27dff34af526442dbf3adcd4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb61735ec7ca8a4d371df7a76b15793e260facf1c987912a60f37d8883a4dbb05ff1d2406624f86c7fb9d75a85f7df78cbfe6c22dd3aac46405e8e2123d9867179e00000168000000b01054535157a0e30c59088cbde2cc329c4640acee5b35673ccb3958bd686f8157d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb62eee5413442ca598d7673d69f1228bdcaa9b61853fd99de9fbfeb047786b4c7b04781f8609dcf9f8dd1229619604ddde6e5a8a77f7d1eb4f692644b6d3175e19000000b0280cbae7f328b53350f553767c5adc17f60cf1db21fc5f178f5f80ca931fc7d3dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb616426d36fe82d7961703be6c092fdcfb3233be298ce725337c42e2c0b31b92f61c30871ca564cc1fd4fef01a2f93875a1e26cf64be98e32a2d4c6cc3fdc7a49500000168000000b00f60d40bad7ee7309091d47894682d367da54e7f6f09e6610fa3b343cdd00e4ee0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb62dfad4cd9a0aa9bd0ef08524a2be8676e200031653ae1d0e40690acdddcbd9720384a0405fbafe1d149b711c47a0d878a5bf2c090ba66a73ad909f3d3877eb10000000b027193ba24906b957887e9b312df6d6b22d71936c35d0de3bd3c9db50f88054cae4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6154eedf15460dbba4e8d0626bacbd79569985fbaa0bba457c0ad3d47187c1fed1b3d07d6fb42d0440c8837d4e12f81f4558b70f5d26d624e71b6c74a6328318c00000168000000b00e6d54c6035ceb54c81b1c33460427d0b509f01082de6585540e0dca33309b45e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb62d075587efe8ade14679ccdf545a81111964a4a767829c3284d36554432c6669029120fab59902414c24b8d6f93cd312dd23cd9a1f7ae997f1faf9c39dd87807000000b02625bc5c9ee4bd7bc007e2ebdf92d14c64d634fd49a55d60183435d75de0e1c1ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6145b6eabaa3edfde86164de16c67d22fa0fd014bb490237c051797cd7ddcace41a4988915120d46844117f8f92cb7c8e8cf01286e641e172b62121d0c888be8300000168000000b00d79d580593aef78ffa463edf7a0226aec6e91a196b2e4a9987868509891283cf0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb62c13d64245c6b2057e03149a05f67bab50c946387b571b56c93dbfdaa88cf360019da1b50b77066583ae0091aad8cdad14886f2b334f68bc3665544a033904fe000000b025323d16f4c2c19ff7912aa6912ecbe69c3ad68e5d79dc845c9e905dc3416eb8f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb61367ef66001ce402bd9f959c1e03ccc9d861a2dcc864a2a04981f253e33d39db1956094ba6fed88c7b9ac74a44677728c454b417fa166096fa8b7c572de94b7a3800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f600000000000000000000000000000000000000000000000000000000000002f73700000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c100000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003c300000000000000000000000000000000000000000000000000000000000003c400000000000000000000000000000000000000000000000000000000000003c500000000000000000000000000000000000000000000000000000000000003c600000000000000000000000000000000000000000000000000000000000003c700000000000000000000000000000000000000000000000000000000000003c800000000000000000000000000000000000000000000000000000000000003c900000000000000000000000000000000000000000000000000000000000003ca00000000000000000000000000000000000000000000000000000000000003cb00000000000000000000000000000000000000000000000000000000000003cc00000000000000000000000000000000000000000000000000000000000003cd00000000000000000000000000000000000000000000000000000000000003ce00000000000000000000000000000000000000000000000000000000000003cf00000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000003d100000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003d300000000000000000000000000000000000000000000000000000000000003d400000000000000000000000000000000000000000000000000000000000003d500000000000000000000000000000000000000000000000000000000000003d600000000000000000000000000000000000000000000000000000000000003d700000000000000000000000000000000000000000000000000000000000003d800000000000000000000000000000000000000000000000000000000000003d900000000000000000000000000000000000000000000000000000000000003da00000000000000000000000000000000000000000000000000000000000003db00000000000000000000000000000000000000000000000000000000000003dc00000000000000000000000000000000000000000000000000000000000003dd00000000000000000000000000000000000000000000000000000000000003de00000000000000000000000000000000000000000000000000000000000003df00000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e100000000000000000000000000000000000000000000000000000000000003e200000000000000000000000000000000000000000000000000000000000003e300000000000000000000000000000000000000000000000000000000000003e400000000000000000000000000000000000000000000000000000000000003e500000000000000000000000000000000000000000000000000000000000003e600000000000000000000000000000000000000000000000000000000000003e700000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e900000000000000000000000000000000000000000000000000000000000003ea00000000000000000000000000000000000000000000000000000000000003eb00000000000000000000000000000000000000000000000000000000000003ec00000000000000000000000000000000000000000000000000000000000003ed00000000000000000000000000000000000000000000000000000000000003ee00000000000000000000000000000000000000000000000000000000000003ef00000000000000000000000000000000000000000000000000000000000003f000000000000000000000000000000000000000000000000000000000000003f100000000000000000000000000000000000000000000000000000000000003f200000000000000000000000000000000000000000000000000000000000003f300000000000000000000000000000000000000000000000000000000000003f400000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000003f60200000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004c11000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006c100000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006c200000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006c300000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006c500000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000006d000000000000000000000000000000000000000000000000000000000000006c700000000000000000000000000000000000000000000000000000000000006d100000000000000000000000000000000000000000000000000000000000006c800000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006c900000000000000000000000000000000000000000000000000000000000006d300000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006d400000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006d500000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006d600000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006d700000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006d800000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006d9000011000000021c000000b00c86563aaf18f39d372daba8a93c1d0523d33332aa8763cddce2c2d6fdf1b533f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb62b2056fc9ba4b629b58c5c54b7927645882de7c98f2b9a7b0da81a610ded805700aa226f61550a89bb37484c5c74c8474bed10bc4723e7e07acfaed0689991f5000000b0243ebdd14aa0c5c42f1a726142cac680d39f781f714e5ba8a108eae428a1fbaffc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb61274702055fae826f528dd56cf9fc7640fc6446ddc3921c48dec4cda489dc6d218628a05fcdcdcb0b3240f04f60371c2fbb955a90deadfbb3ef5d6dd9349d871000000b00bfa610ad4ff82b51dd21bf27b0fd220f197586d7b63833d51897e93d87b4f5b00430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb62a2cd7b6f182ba4ded15a40f692e70dfbf92895aa300199f521274e7734e0d4e301af19c9864aed7ab10d5bd8f921b3eab859a95d4b1d796031bfeeabdfa1eed0000021c000000b023b2c8a1708754dc15bee2ab149e7b9ca1639d5a422a7b1815afa6a1032b95d704430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb611e87af07be1773edbcd4da0a1737c7fdd8a69a8ad15413402930897232760fa17d694d622c36bc899c87f4ec7d726dec97d7ae3dec6ff2ab39c929a6dd37299000000b00b06e1c52add86d9555b63ad2cabccbb28fbf9fe8f38026195f3d91a3ddbdc5208430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb629a0e28717694965d3ba14593b0225fb8d56ae9573dc390ec6b930a44dd7a7762f8efc6cbe4b3def91b546076165d05a7949bfd0a58df70577c2baa79883b915000000b022bf495bc66559004d482a65c63a7636d8c83eeb55fefa3c5a1a0127688c22ce0c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb610f4fbaad1bf7b631356955b530f771a14ef0b39c0e9c05846fd631d8887edf116e3159078a16fecd151c7097973217900e21c74f29b7e4ef806ed20d333ff900000021c000000b00a13627f80bb8afd8ce4ab67de47c75560609b8fa30c8185da5e33a0a33c694910430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb628ad63416d474d8a0b435c13ec9e2095c4bb502687b0b8330b238b2ab338346d2e9b7d2714294213c93e8dc21301caf4b0ae6161b9627629bc2d152dfde4460c000000b021cbca161c435d2484d1722077d670d1102ce07c69d379609e845badcdecafc514430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb610017c65279d7f874adfdd1604ab71b44c53accad4be3f7c8b67bda3ede87ae815ef964ace7f741108db0ec42b0f1c133846be06066ffd733c7147a738948c87000000b0091fe339d6998f21c46df3228fe3c1ef97c53d20b6e100aa1ec88e27089cf64018430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb627b9e3fbc32551ae42cca3ce9e3a1b2ffc1ff1b79b8537574f8de5b11898c1642da7fde16a07463800c7d57cc49dc58ee81302f2cd36f54e00976fb46344d3030000021c000000b020d84ad072216148bc5ab9db29726b6b4791820d7da7f884e2eeb634334d3cbc1c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb60f0dfd1f7d7b83ab826924d0b6476c4e83b84e5be892bea0cfd2182a534907df14fc1705245d78354064567edcab16ad6fab5f971a447c9780dba22d9df5197e000000b0082c63f42c779345fbf73add417fbc89cf29deb1cab57fce6332e8ad6dfd833720430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb626c664b6190355d27a55eb894fd615ca33849348af59b67b93f840377df94e5b2cb47e9bbfe54a5c38511d377639c0291f77a483e10b74724501ca3ac8a55ffa000000b01fe4cb8ac7ff656cf3e40195db0e66057ef6239e917c77a9275910ba98adc9b324430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb60e1a7dd9d35987cfb9f26c8b67e366e8bb1cefecfc673dc5143c72b0b8a994d6140897bf7a3b7c5977ed9e398e471147a71001282e18fbbbc545fcb40355a6750000021c000000b00738e4ae8255976a33808297f31bb724068e8042de89fef2a79d4333d35e102e28430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb625d2e5706ee159f6b1df3344017210646ae934d9c32e359fd8629abde359db522bc0ff5615c34e806fda64f227d5bac356dc4614f4dff396896c24c12e05ecf1000000b01ef14c451ddd69912b6d49508caa609fb65ac52fa550f6cd6bc36b40fe0e56aa2c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb60d26fe9429378bf3f17bb446197f6182f281917e103bbce958a6cd371e0a21cd13151879d019807daf76e5f43fe30be1de74a2b941ed7ae009b0573a68b6336c000000b006456568d8339b8e6b09ca52a4b7b1be3df321d3f25e7e16ec079dba38be9d2530430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb624df662ac4bf5e1ae9687afeb30e0afea24dd66ad702b4c41cccf54448ba68492acd80106ba152a4a763acacd971b55d8e40e7a608b472bacdd67f47936679e80000021c000000b01dfdccff73bb6db562f6910b3e465b39edbf66c0b92575f1b02dc5c7636ee3a134430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb60c337f4e7f1590182904fc00cb1b5c1d29e6330f24103c0d9d1127bd836aaec41221993425f784a1e7002daef17f067c15d9444a55c1fa044e1ab1c0ce16c063000000b00551e6232e119fb2a293120d5653ac587557c3650632fd3b3071f8409e1f2a1c38430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb623ebe6e51a9d623f20f1c2b964aa0598d9b277fbead733e861374fcaae1af54029da00cac17f56c8deecf4678b0daff7c5a589371c88f1df1240d9cdf8c706df000000b01d0a4db9c99971d99a7fd8c5efe255d425240851ccf9f515f498204dc8cf70983c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb60b400008d4f3943c608e43bb7cb756b7614ad4a037e4bb31e17b8243e8cb3bbb112e19ee7bd588c61e897569a31b01164d3de5db6996792892850c4733774d5a0000021c000000b0045e66dd83efa3d6da1c59c807efa6f2acbc64f61a077c5f74dc52c7037fb71340430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb622f8679f707b6663587b0a74164600331117198cfeabb30ca5a1aa51137b823728e68185175d5aed16763c223ca9aa91fd0a2ac8305d710356ab34545e2793d6000000b01c16ce741f7775fdd2092080a17e506e5c88a9e2e0ce743a39027ad42e2ffd8f44430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb60a4c80c32ad1986098178b762e53515198af76314bb93a5625e5dcca4e2bc8b2103a9aa8d1b38cea5612bd2454b6fbb084a2876c7d6af84cd6ef66cd98d7da51000000b0036ae797d9cda7fb11a5a182b98ba18ce42106872ddbfb83b946ad4d68e0440a48430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb62204e859c6596a879004522ec7e1facd487bbb1e12803230ea0c04d778dc0f2e27f3023f6d3b5f114dff83dcee45a52c346ecc594431f0279b158edac38820cd0000021c000000b01b234f2e75557a220992683b531a4b0893ed4b73f4a2f35e7d6cd55a93908a864c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb60959017d80af9c84cfa0d330dfef4bebd01417c25f8db97a6a503750b38c55a90f471b632791910e8d9c04df0652f64abc0728fd913f77711b59c153fe386748000000b0027768522fabac1f492ee93d6b279c271b85a81841b07aa7fdb107d3ce40d10150430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb6211169141c376eabc78d99e9797df5677fe05caf2654b1552e765f5dde3c9c2526ff82f9c31963358588cb979fe19fc66bd36dea58066f4bdf7fe96128e8adc4000000b01a2fcfe8cb337e46411baff604b645a2cb51ed0508777282c1d72fe0f8f1177d54430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb608658237d68da0a9072a1aeb918b46860778b9537362389eaeba91d718ece2a00e539c1d7d6f9532c5254c99b7eef0e4f36bca8ea513f6955fc41bda6398f43f00000fa400000168000000b00183e90c8589b04380b830f81cc396c152ea49a95584f9cc421b625a33a15df858430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb6201de9ce721572cfff16e1a42b19f001b744fe403a29307972e0b9e4439d291c260c03b418f76759bd121352517d9a60a3380f7b6bdaee7023ea43e78e493abb000000b0193c50a32111826a78a4f7b0b652403d02b68e961c4bf1a706418a675e51a4745c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb6077202f22c6ba4cd3eb362a6432741203edd5ae48736b7c2f324ec5d7e4d6f970d601cd7d34d9956fcae9454698aeb7f2ad06c1fb8e875b9a42e7660c8f9813600000168000000b0009069c6db67b467b84178b2ce5f915b8a4eeb3a695978f08685bce09901eaef60430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb61f2a6a88c7f376f436a0295edcb5ea9beea99fd14dfdaf9db74b146aa8fdb6132518846e6ed56b7df49b5b0d031994fada9cb10c7faf6d9468549e6df3a9c7b2000000b01848d15d76ef868eb02e3f6b67ee3ad73a1b3027302070cb4aabe4edc3b2316b64430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb6067e83ac8249a8f1763caa60f4c33bba7641fc759b0b36e7378f46e3e3adfc8e0c6c9d92292b9d7b3437dc0f1b26e61962350db0ccbcf4dde898d0e72e5a0e2d00000168000000b0300138f4127758b5a81b0624017ce452e9e77513f6e768a60ed20cfaee6277e768430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb61e36eb431dd17b186e2971198e51e536260e416261d22ec1fbb56ef10e5e430a24250528c4b36fa22c24a2c7b4b58f951201529d9383ecb8acbef8f4590a54a9000000b017555217cccd8ab2e7b78726198a3571717fd1b843f4efef8f163f742912be626c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb6058b0466d827ad15adc5f21ba65f3654ada69e06aedfb60b7bf9a16a490e89850b791e4c7f09a19f6bc123c9ccc2e0b39999af41e09174022d032b6d93ba9b2400000168000000b02f0db9ae68555cd9dfa44ddeb318deed214c16a50abbe7ca533c678153c304de70430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb61d436bfd73af7f3ca5b2b8d43feddfd05d72e2f375a6ade6401fc97773bed001233185e31a9173c663adea8266518a2f4965f42ea7586bdcf129537abe6ae1a0000000b01661d2d222ab8ed71f40cee0cb26300ba8e4734957c96f13d38099fa8e734b5974430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb6049785212e05b139e54f39d657fb30eee50b3f97c2b4352fc063fbf0ae6f167c0a859f06d4e7a5c3a34a6b847e5edb4dd0fe50d2f465f326716d85f3f91b281b00000168000000b02e1a3a68be3360fe172d959964b4d98758b0b8361e9066ee97a6c207b92391d578430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb61c4fecb7c98d8360dd3c008ef189da6a94d78484897b2d0a848a23fdd91f5cf8223e069d706f77ea9b37323d17ed84c980ca95bfbb2ceb013593ae0123cb6e97000000b0156e538c788992fb56ca169b7cc22aa5e04914da6b9dee3817eaf480f3d3d8507c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb603a405db83e3b55e1cd8819109972b891c6fe128d688b45404ce567713cfa37309921fc12ac5a9e7dad3b33f2ffad5e80862f264083a724ab5d7e07a5e7bb51200000168000000b02d26bb23141165224eb6dd541650d421901559c73264e612dc111c8e1e841ecc80430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb61b5c6d721f6b878514c54849a325d504cc3c26159d4fac2ec8f47e843e7fe9ef214a8757c64d7c0ed2c079f7c9897f63b82f3750cf016a2579fe0887892bfb8e000000b0147ad446ce67971f8e535e562e5e254017adb66b7f726d5c5c554f075934654784430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb602b08695d9c1b9825461c94bbb33262353d482b9ea5d33784938b0fd7930306a089ea07b80a3ae0c125cfaf9e196d0823fc793f51c0ef16efa423b00c3dc420900000168000000b02c333bdd69ef69468640250ec7eccebbc779fb5846396537207b771483e4abc388430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb61a68ee2c75498ba94c4e900454c1cf9f03a0c7a6b1242b530d5ed90aa3e076e6205708121c2b80330a49c1b27b2579fdef93d8e1e2d5e949be68630dee8c8885000000b01387550124459b43c5dca610dffa1fda4f1257fc9346ec80a0bfa98dbe94f23e8c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb601bd07502f9fbda68beb11066ccf20bd8b39244afe31b29c8da30b83de90bd6107ab2135d681b23049e642b49332cb1c772c35862fe370933eac9587293ccf0000000168000000b02b3fbc97bfcd6d6abdc96cc97988c955fede9ce95a0de45b64e5d19ae94538ba90430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb619756ee6cb278fcd83d7d7bf065dca393b056937c4f8aa7751c93391094103dd1f6388cc7209845741d3096d2cc1749826f87a72f6aa686e02d2bd9453ed157c000000b01293d5bb7a239f67fd65edcb91961a748676f98da71b6ba4e52a041423f57f3594430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb600c9880a857dc1cac37458c11e6b1b57c29dc5dc120631c0d20d660a43f14a5806b7a1f02c5fb654816f8a6f44cec5b6ae90d71743b7efb78316f00d8e9d5bf700000168000000b02a4c3d5215ab718ef552b4842b24c3f036433e7a6de2637fa9502c214ea5c5b198430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb61881efa1210593f1bb611f79b7f9c4d3726a0ac8d8cd299b96338e176ea190d41e700986c7e7887b795c5127de5d6f325e5d1c040a7ee792473d181ab94da273000000b011a05675d001a38c34ef35864332150ebddb9b1ebaefeac929945e9a89560c2c9c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb6303a5737bc8d6618b34de63251886e4f22364fb59f9421765a59b6249951d75005c422aa823dba78b8f8d229f66ac050e5f578a8578c6edbc7814a93f3fde8ee00000168000000b02958be0c6b8975b32cdbfc3edcc0be8a6da7e00b81b6e2a3edba86a7b40652a8a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6178e705b76e39815f2ea67346995bf6da9ceac59eca1a8bfda9de89dd4021dcb1d7c8a411dc58c9fb0e598e28ff969cc95c1bd951e5366b68ba772a11eae2f6a000000b010acd73025dfa7b06c787d40f4ce0fa8f5403cafcec469ed6dfeb920eeb69923a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb62f46d7f2126b6a3cead72ded032468e9599af146b368a09a9ec410aafeb2644704d0a364d81bbe9cf08219e4a806baeb1d5a1a396b60ee000beba51a595e75e500000168000000b028653ec6c16779d7646543f98e5cb924a50c819c958b61c83224e12e1966df9fa8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6169af115ccc19c3a2a73aeef1b31ba07e1334deb007627e41f0843243962aac21c890afb73a390c3e86ee09d41956466cd265f263227e5dad011cd27840ebc61000000b00fb957ea7bbdabd4a401c4fba66a0a432ca4de40e298e911b26913a75417261aac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb62e5358ac68496e61226075a7b4c0638390ff92d7c73d1fbee32e6b316412f13e03dd241f2df9c2c1280b619f59a2b58554bebbca7f356d245055ffa0bebf02dc380000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360000000000000000000000000000000000000000000000000000000000000337370000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040100000000000000000000000000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000004050000000000000000000000000000000000000000000000000000000000000406000000000000000000000000000000000000000000000000000000000000040700000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000409000000000000000000000000000000000000000000000000000000000000040a000000000000000000000000000000000000000000000000000000000000040b000000000000000000000000000000000000000000000000000000000000040c000000000000000000000000000000000000000000000000000000000000040d000000000000000000000000000000000000000000000000000000000000040e000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000041100000000000000000000000000000000000000000000000000000000000004120000000000000000000000000000000000000000000000000000000000000413000000000000000000000000000000000000000000000000000000000000041400000000000000000000000000000000000000000000000000000000000004150000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000041700000000000000000000000000000000000000000000000000000000000004180000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000000000000000000000000000000000000041a000000000000000000000000000000000000000000000000000000000000041b000000000000000000000000000000000000000000000000000000000000041c000000000000000000000000000000000000000000000000000000000000041d000000000000000000000000000000000000000000000000000000000000041e000000000000000000000000000000000000000000000000000000000000041f0000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000042100000000000000000000000000000000000000000000000000000000000004220000000000000000000000000000000000000000000000000000000000000423000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004250000000000000000000000000000000000000000000000000000000000000426000000000000000000000000000000000000000000000000000000000000042700000000000000000000000000000000000000000000000000000000000004280000000000000000000000000000000000000000000000000000000000000429000000000000000000000000000000000000000000000000000000000000042a000000000000000000000000000000000000000000000000000000000000042b000000000000000000000000000000000000000000000000000000000000042c000000000000000000000000000000000000000000000000000000000000042d000000000000000000000000000000000000000000000000000000000000042e000000000000000000000000000000000000000000000000000000000000042f00000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000000000431000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004330000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000043500000000000000000000000000000000000000000000000000000000000004360200000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000501100000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000701000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000702000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000703000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000704000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000705000000000000000000000000000000000000000000000000000000000000070f00000000000000000000000000000000000000000000000000000000000007060000000000000000000000000000000000000000000000000000000000000710000000000000000000000000000000000000000000000000000000000000070700000000000000000000000000000000000000000000000000000000000007110000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000071200000000000000000000000000000000000000000000000000000000000007090000000000000000000000000000000000000000000000000000000000000713000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000714000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000715000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000716000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000717000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000718000000000000000000000000000000000000000000000000000000000000070f0000000000000000000000000000000000000000000000000000000000000719000011000000021c000000b02771bf8117457dfb9bee8bb43ff8b3bedc71232da95fe0ec768f3bb47ec76c96b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb615a771d0229fa05e61fcf6a9cccdb4a21897ef7c144aa70863729daa9ec337b91b958bb5c98194e81ff82857f3315f01048b00b745fc64ff147c27ade96f4958000000b00ec5d8a4d19baff8db8b0cb6580604dd64097fd1f66d6835f6d36e2db977b311b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb62d5fd966be27728559e9bd62665c5e1dc8643468db119ee32798c5b7c9737e3502e9a4d983d7c6e55f94a95a0b3eb01f8c235d5b9309ec4894c05a27241f8fd3000000b0267e403b6d23821fd377d36ef194ae5913d5c4bebd346010baf9963ae427f98db8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb614b3f28a787da48299863e647e69af3c4ffc910d281f262ca7dcf8310423c4b01aa20c701f5f990c57817012a4cd599b3befa24859d0e42358e682344ecfd64f0000021c000000b00dd2595f2779b41d1314547109a1ff779b6e21630a41e75a3b3dc8b41ed84008bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb62c6c5a21140576a99173051d17f858b7ffc8d5f9eee61e076c03203e2ed40b2c01f62593d9b5cb09971df114bcdaaab9c387feeca6de6b6cd92ab4ad89801cca000000b0258ac0f5c30186440b011b29a330a8f34b3a664fd108df34ff63f0c149888684c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb613c07344ce5ba8a6d10f861f3005a9d68761329e3bf3a550ec4752b7698451a719ae8d2a753d9d308f0ab7cd56695435735443d96da563479d50dcbab4306346000000b00cdeda197d57b8414a9d9c2bbb3dfa11d2d2c2f41e16667e7fa8233a8438ccffc4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb62b78dadb69e37acdc8fc4cd7c9945352372d778b02ba9d2bb06d7ac4943498230102a64e2f93cf2dcea738cf6e76a553faeca07dbab2ea911d950f33eee0a9c10000021c000000b0249741b018df8a68428a62e454cca38d829f07e0e4dd5e5943ce4b47aee9137bc8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb612ccf3ff2439accb0898cdd9e1a1a470bec5d42f4fc8247530b1ad3dcee4de9e18bb0de4cb1ba154c693ff8808054ecfaab8e56a8179e26be1bb37411990f03d000000b00beb5ad3d335bc658226e3e66cd9f4ac0a37648531eae5a2c4127dc0e99959f6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb62a855b95bfc17ef2008594927b304dec6e92191c168f1c4ff4d7d54af995251a000f27088571d3520630808a20129fee3251420ece8769b561ff69ba544136b8000000b023a3c26a6ebd8e8c7a13aa9f06689e27ba03a971f8b1dd7d8838a5ce1449a072d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb611d974b97a17b0ef40221594933d9f0af62a75c0639ca399751c07c434456b9517c78e9f20f9a578fe1d4742b9a14969e21d86fb954e6190262591c77ef17d340000021c000000b00af7db8e2913c089b9b02ba11e75ef46419c061645bf64c7087cd8474ef9e6edd4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb62991dc50159f8316380edc4d2ccc4886a5f6baad2a639b7439422fd15ef5b2112f7ff635bc81779ff60a0dfb532ff2e591e9cbe85c15596aea4bb9d4a9a1c3b0000000b022b04324c49b92b0b19cf259b80498c1f1684b030c865ca1cca3005479aa2d69d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb610e5f573cff5b51377ab5d4f44d999a52d8f1751777122bdb986624a99a5f88c16d40f5976d7a99d35a68efd6b3d44041982288ca922e0b46a8fec4de4520a2b000000b00a045c487ef1c4adf139735bd011e9e07900a7a75993e3eb4ce732cdb45a73e4dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6289e5d0a6b7d873a6f982407de684320dd5b5c3e3e381a987dac8a57c4563f082e8c76f0125f7bc42d9355b604cbed7fc94e6d796fe9d88f2eb6145b0f0250a70000021c000000b021bcc3df1a7996d4e9263a1469a0935c28ccec94205adbc6110d5adadf0aba60e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb60ff2762e25d3b937af34a509f675943f64f3b8e28b45a1e1fdf0bcd0ff06858315e09013ccb5adc16d2fd6b81cd93e9e50e6ca1dbcf75fd8aefa46d449b29722000000b00910dd02d4cfc8d228c2bb1681ade47ab06549386d68630f91518d5419bb00dbe4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb627aaddc4c15b8b5ea7216bc290043dbb14bffdcf520c99bcc216e4de29b6cbff2d98f7aa683d7fe8651c9d70b667e81a00b30f0a83be57b373206ee17462dd9e000000b020c9449970579af920af81cf1b3c8df660318e25342f5aea5577b561446b4757e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb60efef6e87bb1bd5be6bdecc4a8118ed99c585a739f1a2106425b17576467127a14ed10ce2293b1e5a4b91e72ce753938884b6baed0cbdefcf364a15aaf1324190000021c000000b0081d5dbd2aadccf6604c02d13349df14e7c9eac9813ce233d5bbe7da7f1b8dd2ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb626b75e7f17398f82deaab37d41a038554c249f6065e118e106813f648f1758f62ca57864be1b840c9ca5e52b6803e2b43817b09b9792d6d7b78ac967d9c36a95000000b01fd5c553c6359f1d5838c989ccd8889097962fb64803da0e99e20fe7a9cbd44ef0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb60e0b77a2d18fc1801e47347f59ad8973d3bcfc04b2eea02a86c571ddc9c79f7113f991887871b609dc42662d801133d2bfb00d3fe4a05e2137cefbe11473b110000000b00729de77808bd11a97d54a8be4e5d9af1f2e8c5a951161581a264260e47c1ac9f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb625c3df396d1793a71633fb37f33c32ef838940f179b598054aeb99eaf477e5ed2bb1f91f13f98830d42f2ce6199fdd4e6f7c522cab6755fbfbf523ee3f23f78c0000021c000000b01ee2460e1c13a3418fc211447e74832acefad1475bd85932de4c6a6e0f2c6145f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb60d17f85d276dc5a455d07c3a0b49840e0b219d95c6c31f4ecb2fcc642f282c6813061242ce4fba2e13cbade831ad2e6cf714aed0f874dd457c39566779d43e07000000b006365f31d669d53ecf5e92469681d44956932deba8e5e07c5e909ce749dca7c0fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb624d05ff3c2f597cb4dbd42f2a4d82d89baede2828d8a17298f55f47159d872e42abe79d969d78c550bb874a0cb3bd7e8a6e0f3bdbf3bd520405f7e74a4848483000000b01e5650de41fa32597666818e504838469cbef6822cb478a252f3262ae9b5fb6d00440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb60c2479177d4bc9c88d59c3f4bce57ea842863f26da979e730f9a26ea9488b95f121292fd242dbe524b54f5a2e34929072e7950620c495c69c0a3b0eddf34cafe0000021c000000b005aa6a01fc506456b6030290685589652457532679c1ffebd33758a4246641e804440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb624446ac3e8dc26e33461b33c76abe2a588b207bd5e66369903fcb02e34620d0c2a3284a98fbe1b6cf25ce4ea9d0f8d0474a518f89017f48fb5063a317f0e1eab000000b01d62d19897d8367dadefc94901e432e0d42398134088f7c6975d80b14f16886408440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb60b9883e7a33258e073fe343e8eb933c4104a6461ab73bde28440e2a76f12538711869dcd4a144d6a31f965ecb51cde22fc3d759cdd257bd9354a6caab9be6526000000b004b6eabc522e687aed8c4a4b19f183ff5bbbf4b78d967f1017a1b32a89c6cedf0c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb62350eb7e3eba2b076beafaf72847dd3fc016a94e723ab5bd48670ab499c29a03293f0563e59c1f9129e62ca54eab879eac09ba89a3ec73b3f97094b7e46eaba200000fa400000168000000b01c6f5252edb63aa1e5791103b3802d7b0b8839a4545d76eadbc7db37b477155b10440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb60aa504a1f9105d04ab877bf940552e5e47af05f2bf483d06c8ab3d2dd472e07e10931e879ff2518e6982ada766b8d8bd33a2172df0f9fafd79b4c7311f1ef21d000000b003c36b76a80c6c9f25159205cb8d7e9993209648a16afe345c0c0db0ef275bd614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb6225d6c3894982f2ba37442b1d9e3d7d9f77b4adf860f34e18cd1653aff2326fa284b861e3b7a23b5616f746000478238e36e5c1ab7c0f2d83ddaef3e49cf389900000168000000b01b7bd30d43943ec61d0258be651c281542ecdb356831f60f203235be19d7a25218440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb609b1855c4eee6128e310c3b3f1f128f87f13a783d31cbc2b0d1597b439d36d750f9f9f41f5d055b2a10bf5621854d3576b06b8bf04ce7a21be1f21b7847f7f14000000b002cfec30fdea70c35c9ed9c07d297933ca8537d9b53f7d58a07668375487e8cd1c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb62169ecf2ea76334fdafd8a6c8b7fd2742edfec7099e3b405d13bbfc16483b3f1275806d8915827d998f8bc1ab1e37cd31ad2fdabcb9571fc824549c4af2fc59000000168000000b01a8853c7997242ea548ba07916b822af7a517cc67c067533649c90447f382f4920440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb608be0616a4cc654d1a9a0b6ea38d2392b6784914e6f13b4f517ff23a9f33fa6c0eac1ffc4bae59d6d8953d1cc9f0cdf1a26b5a5018a2f94602897c3de9e00c0b000000b001dc6ceb53c874e79428217b2ec573ce01e9d96ac913fc7ce4e0c2bdb9e875c424440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb620766dad405437741286d2273d1bcd0e66448e01adb8332a15a61a47c9e440e826648792e7362bfdd08203d5637f776d52379f3cdf69f120c6afa44b1490528700000168000000b01994d481ef50470e8c14e833c8541d49b1b61e578fdaf457a906eacae498bc4028440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb607ca86d0faaa69715223532955291e2ceddceaa5fac5ba7395ea4cc1049487630db8a0b6a18c5dfb101e84d77b8cc88bd9cffbe12c77786a46f3d6c44f409902000000b000e8eda5a9a6790bcbb16935e0616e68394e7afbdce87ba1294b1d441f4902bb2c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb61f82ee6796323b984a1019e1eeb7c7a89da92f92c18cb24e5a1074ce2f44cddf2571084d3d143022080b4b90151b7207899c40cdf33e70450b19fed179f0df7e00000168000000b018a1553c452e4b32c39e2fee79f017e3e91abfe8a3af737bed71455149f9493730440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb606d7078b50886d9589ac9ae406c518c725418c370e9a3997da54a74769f5145a0cc52170f76a621f47a7cc922d28c32611349d72404bf78e8b5e314ab4a125f9000000b03059bcd2e0b61d59bb8af6a7137ec15f98e704d56a766b56b1976d5e74a98fb334440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb61e8f6f21ec103fbc8199619ca053c242d50dd123d56131729e7acf5494a55ad6247d890792f234463f94934ac6b76ca1c100e25f0712ef694f845957df516c7500000168000000b017add5f69b0c4f56fb2777a92b8c127e207f6179b783f2a031db9fd7af59d62e38440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb605e38845a66671b9c135e29eb86113615ca62dc8226eb8bc1ebf01cdcf55a1510bd1a22b4d4866437f31144cdec4bdc048993f03542076b2cfc88bd11a01b2f0000000b02f663d8d3694217df3143e61c51abbf9d04ba6667e4aea7af601c7e4da0a1caa3c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb61d9befdc41ee43e0b922a95751efbcdd0c7272b4e935b096e2e529dafa05e7cd238a09c1e8d0386a771ddb057853673bf86583f01ae76e8d93eeb3de44b1f96c00000168000000b016ba56b0f0ea537b32b0bf63dd280d1857e4030acb5871c47645fa5e14ba632540440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb604f008fffc4475ddf8bf2a5969fd0dfb940acf59364337e063295c5434b62e480ade22e5a3266a67b6ba5c079060b85a7ffde09467f4f5d71432e6577f623fe7000000b02e72be478c7225a22a9d861c76b6b69407b047f7921f699f3a6c226b3f6aa9a144440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb61ca8709697cc4804f0abf112038bb77743d71445fd0a2fbb274f84615f6674c422968a7c3eae3c8eaea722c029ef61d62fca25812ebbedb1d8590e64aa12866300000168000000b015c6d76b46c8579f6a3a071e8ec407b28f48a49bdf2cf0e8bab054e47a1af01c48440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb603fc89ba52227a02304872141b990895cb6f70ea4a17b704a793b6da9a16bb3f09eaa39ff9046e8bee43a3c241fcb2f4b76282257bc974fb589d40dde4c2ccde000000b02d7f3f01e25029c66226cdd72852b12e3f14e988a5f3e8c37ed67cf1a4cb36984c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb61bb4f150edaa4c29283538ccb527b2117b3bb5d710deaedf6bb9dee7c4c701bb21a30b36948c40b2e6306a7adb8b5c70672ec71242906cd61cc368eb0f73135a00000168000000b014d358259ca65bc3a1c34ed94060024cc6ad462cf301700cff1aaf6adf7b7d1350440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb603090a74a8007e2667d1b9cecd35033002d4127b5dec3628ebfe1160ff77483608f7245a4ee272b025cceb7cf398ad8eeec723b68f9df41f9d079b644a2359d5000000b02c8bbfbc382e2dea99b01591d9eeabc876798b19b9c867e7c340d7780a2bc38f54440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb61ac1720b4388504d5fbe808766c3acabb2a0576824b32e03b024396e2a278eb220af8bf0ea6a44d71db9b2358d27570a9e9368a35664ebfa612dc37174d3a05100000168000000b013dfd8dff2845fe7d94c9693f1fbfce6fe11e7be06d5ef31438509f144dc0a0a58440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb602158b2efdde824a9f5b01897ed0fdca3a38b40c71c0b54d30686be764d7d52d0803a514a4c076d45d563337a534a829262bc547a3727343e171f5eaaf83e6cc000000b02b9840768e0c320ed1395d4c8b8aa662adde2caacd9ce70c07ab31fe6f8c50865c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb619cdf2c5996654719747c842185fa745ea04f8f93887ad27f48e93f48f881ba91fbc0cab404848fb5542f9f03ec351a4d5f80a346a396b1ea5981df7da342d4800000168000000b012ec599a4862640c10d5de4ea397f7813576894f1aaa6e5587ef6477aa3c970160440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb601220be953bc866ed6e44944306cf864719d559d8595347174d2c66dca386224071025cefa9e7af894df7af256d0a2c35d9066d8b746f26825dc507114e473c3000000b02aa4c130e3ea363308c2a5073d26a0fce542ce3be17166304c158c84d4ecdd7d64440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb618da737fef445895ced10ffcc9fba1e021699a8a4c5c2c4c38f8ee7af4e8a8a01ec88d6596264d1f8ccc41aaf05f4c3f0d5cabc57e0dea42ea02787e3f94ba3f", "txsEffectsHash": "0x80dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b", +======= + "archive": "0x05b3a19912bbc45e6b5026b74c7993b8740b98803d5ef0624bb248048c944c6b", + "body": "0x0000001012e5643e26da426570dd999e0e044e5f83d60f3cd813c55059bc0ea0f4a7c9d413b2d2cea949fa0876265cd8eee3a4dce1e243783562ea07e2de537f469f7bf627abb3d4560e786bafd52f77ac52dea36c50419f32386567bd969b0c38e1bd7405d339cecb99fa74bfd631917f965357f0341d8c4dfe6a8f4b621d8df54c82941d560ac24523012499eeca2594f20ce238b7d21b98ad5c638767d70ee05532c2183e6d64e69b005709dfc4771c7ca5981adc54f3e8bd1b00222461ae90e44eda2f1d4572fe0b0b23100a7ea6d4780b25e826e41ca9e71897e010bcb218887b3d036d44eb30a430b5cfc6660270eb5fb7f274689ac73dfa53ba9d0739fe38637f01f7130af8c5888d4c65ea68109a1d58fe8d7d1ae62098857b0a3a3dcd393ef80ed8bcba6eb5e3b4887a32c51c5853b97a5eb59c87c520f36423c6d7be06071821ca1719330de5e3c51a521778b49cbbc1d53f8ed42e0562bf21ed72e8cb9a410b0e82ef5f7276df41353faef675fb408aeb246b6e2f704cab99bf28d1427e7b0fec7b9929c6effdcd045d3fdcec1d1b73faed495444699fab936630d69b519f0bf4f1453db36439419dbfba703b849d1aa5774fe9a5325e5bf3e7cdda9d1f7f2a9c2a035c72fd4a3e383306aff03448f9accc08a2c665837560cec8675fe2512bfaef35a8fb7df08a81001a7fd4903849c0371dedd87f31295f46269c5205dd00000004380000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760000000000000000000000000000000000000000000000000000000000000277370000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000003420000000000000000000000000000000000000000000000000000000000000343000000000000000000000000000000000000000000000000000000000000034400000000000000000000000000000000000000000000000000000000000003450000000000000000000000000000000000000000000000000000000000000346000000000000000000000000000000000000000000000000000000000000034700000000000000000000000000000000000000000000000000000000000003480000000000000000000000000000000000000000000000000000000000000349000000000000000000000000000000000000000000000000000000000000034a000000000000000000000000000000000000000000000000000000000000034b000000000000000000000000000000000000000000000000000000000000034c000000000000000000000000000000000000000000000000000000000000034d000000000000000000000000000000000000000000000000000000000000034e000000000000000000000000000000000000000000000000000000000000034f0000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000035100000000000000000000000000000000000000000000000000000000000003520000000000000000000000000000000000000000000000000000000000000353000000000000000000000000000000000000000000000000000000000000035400000000000000000000000000000000000000000000000000000000000003550000000000000000000000000000000000000000000000000000000000000356000000000000000000000000000000000000000000000000000000000000035700000000000000000000000000000000000000000000000000000000000003580000000000000000000000000000000000000000000000000000000000000359000000000000000000000000000000000000000000000000000000000000035a000000000000000000000000000000000000000000000000000000000000035b000000000000000000000000000000000000000000000000000000000000035c000000000000000000000000000000000000000000000000000000000000035d000000000000000000000000000000000000000000000000000000000000035e000000000000000000000000000000000000000000000000000000000000035f0000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000036100000000000000000000000000000000000000000000000000000000000003620000000000000000000000000000000000000000000000000000000000000363000000000000000000000000000000000000000000000000000000000000036400000000000000000000000000000000000000000000000000000000000003650000000000000000000000000000000000000000000000000000000000000366000000000000000000000000000000000000000000000000000000000000036700000000000000000000000000000000000000000000000000000000000003680000000000000000000000000000000000000000000000000000000000000369000000000000000000000000000000000000000000000000000000000000036a000000000000000000000000000000000000000000000000000000000000036b000000000000000000000000000000000000000000000000000000000000036c000000000000000000000000000000000000000000000000000000000000036d000000000000000000000000000000000000000000000000000000000000036e000000000000000000000000000000000000000000000000000000000000036f00000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000371000000000000000000000000000000000000000000000000000000000000037200000000000000000000000000000000000000000000000000000000000003730000000000000000000000000000000000000000000000000000000000000374000000000000000000000000000000000000000000000000000000000000037500000000000000000000000000000000000000000000000000000000000003760200000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000441100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000641000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000642000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000643000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000644000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000645000000000000000000000000000000000000000000000000000000000000064f00000000000000000000000000000000000000000000000000000000000006460000000000000000000000000000000000000000000000000000000000000650000000000000000000000000000000000000000000000000000000000000064700000000000000000000000000000000000000000000000000000000000006510000000000000000000000000000000000000000000000000000000000000648000000000000000000000000000000000000000000000000000000000000065200000000000000000000000000000000000000000000000000000000000006490000000000000000000000000000000000000000000000000000000000000653000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000654000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000655000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000656000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000657000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000658000000000000000000000000000000000000000000000000000000000000064f0000000000000000000000000000000000000000000000000000000000000659000011000000021c000000b00e245970529ec41280d4f82cfc013bf7c5246b83867d7924c0e390eb32a10f6dfac8530feee283d8bac2a2913a9e2a415b391c5d0e914e137aea5cd28e10bde1157d36ebeb5b516e8278dde3a08161267ea96538f94d2efdfe5247fad1d74420906ef0c416d0b7c91df37914fa662082258fc4f7afed6f66570690922a5112935506374b6eac5289e60d34b8d2195e98080bf1be011d1931381f1e4c041e847c3adec8475df5a091cc0d547ca1ea452a000000b02253ac1c9678f86fd40a951c237b7f8adef8cf7cc396fcdab25595fc82485b0fa5cefb26580a089e4888e9eb4389e8dddf71c22a5906d19dbb2b67ebab078acf77bcec21367ad1886c1aa347847ce318d9f64ef57819c0871b5e3448a301152fd073cc68b85e49b728d8070b0b31c6471ddd53d5cbee9fe742be34dab84e4808ca23e3ffb1141cbe615721c457a6d0500d1cc87a3064036b3815b38a2a3e403db470c0eb0e8829b5b5e387b2135cf85a000000b0011cada16b47b3efa2cc1e46d42daac5f4a749c7b0fd0239db0b5014816942955c23c19842a02750e8e23db0418a7dabcfde05af543cbf3a841ef843df625191d4a1e517e36dfdef04cbed58b49742c74aa450eadc726f6144796cb4e454ff274456b9e6bf48def0ead673c50b86c84521558f48a566421dd9ac30c39b77d5f7c1801171a8351bbf2cc36119ab0b23f01794ab6a43b243a39a035758bfed57ec08f8b478defaea3e0f963471807b04d00000021c000000b0023c5269f4da3ee40b0282995c35b9d804b56744a375cd7a70e96bf7b1e29a39b1da31f6ad18dfe4d6b96013c4abde464c549a31ecd9b39fefdab708ebe84a96daa9e26e2557ccd24fa239f9b9ee95f599dd5f6b352d3596fbe7b06ad7054d380819e20db71ab6a63fd4d9210fe9dd44295dc2ce68bb8a45c256ef595c09c64eb29589a851115a464b63e486e11948532041164106874d632c4d0710675c25fe3488585dcf96653cb97cb5e72ba324d3000000b0223a8372bf485190b06a431e97d5fdb19e4ac0ba0688003220ecabd0d54bbb5bf8d2a09df06eb61db81ebdeb377844d613ad15fddb54fa58533adef58b5f947ab59660bcba411f3403a33038e57212abe6532a337604c783909f8b2068b9de35524696a05014e7ce6b6e161aae8aedff00caa7a68f20297f11555becd47d80cae0423f3268ecda071a226ae0478291891ca147fcc5b170daeb09e110d56d8755e301576fb7354fb2e1c291d716b85bc1000000b01472e8ac91e493a97781246d8f8612ecfc45354482681b85f47fca4ff639a6bd6ac006c17fedb417b2e45649f1c2f781ead01e31ce6a4f4fd9eee3fae20e98c8186e3f621d08a91d9f8648de99aeba221f54968e1c592f7eeb327b47957087af74d62055d8714702a690de73dc2748eb2e70e54dc5976d8681adac75cb579822840be5dae0b2851550d2fc8e1f86f77a07341942ec647fd96b0936f266be6a49682a838967242d933a5d4086eb81b5180000021c000000b02e48da9b1d7449c55d1ff3b14574ef39f07deffd8796ddcd2b2603adb90e2dcda95abd0e217b61c12a4eb661f25daad9ef4e74800662431e87bf0f86bfe0f40dc4a754ccb3c2cfbf9d48abdac413b25232ff887948f91388045112bda242ca8c9da68344040d8dd96ae481697f0422e02d00859f6c9a26228424b69c50e8d4a713034e16fddbc95383365a99e1aa3acd2003c6114c494eb7975d6ab41fd5b93c136f3c47aa9c7be4feccd3a1c26d15f1000000b000707ed69f47e2f88a9c49197b300437e454c2559c9cc9f32322e0d68ef0ed16d960f46c03f40157012cee5c98223c5532958611ab961d9d88de8737497607ada0cd25592b5fd36397bba8ccb491b92abbcae94fb1bc9e9e8d17eba060395bec80d214449ce585a62e4867bcf50fbd851aa8bdc3a68a551a476a902652d3842ccea0bb490171d6ebb6bdd14070a2d55b0605cb14907ffd85e1bb1c14fa37fd08827e283177eef01f6fa962d199909040000000b02f4aebcab1b550b6472c5c9ef6161104d871c5f63f29858c9ba1026f9578971638699bb5270d5551e9d8dfba7f54ec0a545f8618c5177546dcc7f7a6ef6b173b0beeff40c20b82c90e97a52a2e4bf5afbaaae8ab507c2abfd2b5a0cc12f91274f72c99fd555aa068216f2d00c7bbb11f25bf9a6c5055ac518d1d995754b8116d931820583ca797b74b250a0c9d4c9ca30689966d243d0b2316bd9002253f4a083f706bf01b7d2861ef7eceec8e7063a70000021c000000b027099ef5200d36ca1376fe993c300387c412f27818fe9208b1e05998f3e829b1d672f279307a25a0c7bdeb5635a4433cb5f57b3b85df579fbe84ac66fc428decd5d7bc8a5a7fc240119c78d960cccf30f0e9b7640f9b9e89c8c909c221143777ac72aef4423ab1a83945996ce76284d530394000e6f34fc077a9b37858ab5e38dce28a8f5052abe0692b8fa14f3062b11e338e2d3d4af794ebbf7a2780bae8388503823e8dda0758e54981700f2574d6000000b0160680d254fa4b8f4d195672d3a9b5fba129f56bf3dda7f8bc7fa5636a4b5655c486d51849b8be2e4e9ca1500accb1adb8bdb02cd9c1e5eedf40608e7da568dc0d69df9e18ebeed1257fb35f506805230386ecaa30316ba9f6805141f6e8ca2b52b00d64c423f9aa4536c686fcf3915504759b7e1ed4ef1fe1a8ca02f9b8ea2cad354bd23cf62c3e1da390cb2edbfcfb2e96afcceb4b181459a2dd4cba2ecef5a98650b0ef867254f6b4476e4318e3ed000000b02a057c48e0e54961b37353af2027e644bc87d6a091f5412b4b7b771bc6b58eb5c10eac21ba25e27399a7662758772e1f62dfcbcd9770343c56becd4099743f93f53aff2cddff292fb143e640f338f33cbed89f2e74efa11e61ea2ddb0f4050e6b51b69585ff70de81ed909a810e214660921241e1edf8beb1a085e5edb2989b49cda5aebf2254efb78ad6f217f2572fd1171712b9d1c6679b4f5b19358fbb68f3aba3cb52465b2977d6c35431681737e0000021c000000b02b4a619289d7d6fc7ad358164a22ba3f3792e9c2798961d58c633c369aa734e708bc86a000a95feb7607f5d7542ba6ccde6de216e52ba8415110bb158618d69d4d2cf0bed3ae5425d817d099bba3a25b6152d2da844930f1d62a14e14f0879b4f8d521c63c6c22386fd726cde253200f15dbe726bc840258bc359f2a903b07c20a77d6e8be88b6f90d5fc515e3198f0128dae4e6dd6165d8446ed874788cca64063948c2f00970cac8513ead23b03044000000b02593fe002c27ed32a67c805638e84f22a551fa2f538e39d3c69340bdc51b382447978b1bd593dcbab11c947c8cbb64dc3a0ce197e3d66aa9b60a5afc02d0b5af5db3ab65c3d89ff0f7a66a31dd9d6af0ff3dc9b9c19254aa363491b0676f25c6ba08062afb51928066f374460c925c9103051e8e02fbf61700a5fc32c3f108cf5cea134dbb419f508e66cdcab1cf3fff21d41c4ce955efb1ee31831f503ce97155afe2747903b556f17bfdf4065c7065000000b020487fb566be6c563c668403ac643fa47cd8f50452ba00cd7436efe137494c8ac1bf6f99d851cef24ad7841fea607d89139fcbf997414529c4ef851f1d5087155a8b4f6a5aa27ad37c658bafa72c845a5f44861e23c27a1f55532a92041c27482c9cd3dc1c4cfa48d3725cf715647f7308a4e3b1daf6b7418fff5c90e957c0f972d8044547bf080f70fc20c260ed07d5277a7feddb9f1f11a3d647bc2c0b68f1a6bc28dc3cf6f9018913fbbac5a04afd0000021c000000b0253caabd85ba0dce40ef7635ef32b74e21d101f6781f53598f360f0857689256567406bf88045deffa521a723ac8f76a889f50b127f3a2065282d5dfdf4a99f4bfb42456a23a989e5b92e0f21c9a6b36485159f3211ed4a34092c586c5e122a9fce4d41960db4bf9074f11e5befdd4f30e754ee276bcfbcff2810977bbba8b97a023f98fb5dc86f721cda363fa08e2952a383757c55fc150384ce2fbea9b4b84b6f5c452495a3f4606144f65f17275fb000000b017b2520815d547c80157a6805629d56f926becfcf440f22795a739e27feeaaf8be57a0e3988da7816c52d216c8af739db6d81e9ac9949e42d68f3e600ab27dee09b8a749248a74b66d153c52a6aa3ef2cf03970aa1af17d867efd4de75f22275123e8bf4f24c75f29f11234249e395c70b66509d180211a4df8b1c5886c5062bd16ab113a097ced95cb95868c2f9c5e80a3bcef2e2c772d3c27e868d994c7092946c5b003ad07657b277d44d58c7fac6000000b01e1b14b55a7516e0bdbe9ae73b356d6a8757adbf8467549fb4293b81040590b00e19e8d549704b2a99f6f7682c42ad1476de6415e707df593d0708a2a6227e44acb8fc64f68c0709600fa26a23bedc3919560b058ccea39b2a5af5b2df842736e84dde4705a5f8d8b4d3a1b1630e41df2345a05252e2c4875066b0ed95d0c423fa09a118f5a1eef3e95830e1cdcf8eed1ea4c3552907cc9d898750b664b971052fa2f7428856807a4fce59975864ea6d0000021c000000b01b8fd6e1a0d5292156f03f2c5b79b8641d14ca19a5113a509f50565d03b5d4ba18540554e9eb3d332772fab91b7ca002d81da7c16f0d555f95ea43cb9b5c959ee1410942c7b139cf7653619504e1e2db27f7dec0c85b2ebf777ea1e1ccd0a8bd7c6c144109fe231f594320dfcfc1545a2efc5aec55c82f8b0cb06051d6333ae9158dde77d7f83a924a6efd3b496cd72f1f0fc477f7e399417d247f2b1816b05f84c2d80a260606fed0b3ebf3a4c5a94b000000b00237b7a07788ce347e6618a369adfadf36c1430ab59810ae97b36f4518355e0c049e81a2bc5c9152f7145abb19ccb83c7c57e9c35ab8f8eb9e26c84c83b0bbafd721990d0c07e9868c86c977576a2c46aeb8aae956ee04bd41fb57924e0cba59fdb7ba200b5ffc0ddd5935a2f2ec754e08932c8b2f1fab8fbdd663178aca0121dae73c031cd784845b344a0be64a7a341b658d86f96409d741ccbca010b33e44a69a6adfe091da36ee4070f55b263680000000b0274e28a687985a6a79c515c8b456719006b06a90acb012331162a8c42c08dbbf78a09b6c320e02993c0e2d3a99a135f51f16d304628ba12999b26c23abd44905688a135fea846870e3c3ab2d8e3086d9ec8be79253e9892c93dc3833d828668555ada147fe05b82f65cd35820d18072d1b4c090a09dad78c7b5f25bc3ff7335c3987eb42d629bb96f7f54734024e32b6277f05369452ba09bbe71468f03e811f198b085a00eeaf0b483d1277742645dd0000021c000000b01b7a4f4b580bf268684ee0c46004e25790288eac882f634f90c74ac898d0284e9b7d9137df6ede7549ed6603510a26ad464aa29e8b0775b90b9530000124f079ba6920d6af9c8d4329d6680459e77b48e0fb4614369099ce0f84abc2679c2e40d24d9801573dc7a0ba2b13da62ce23681ec8360e2138ae9c14eeab042c7297509ac46d5d1f25b0649559e43b1b60bcf52891a59762426d126105f3cbca6cbdfe41222ff5d9981566ad8d79c81fb46054000000b00f190660105e851ad2ce6fdfc4c210120f7be48b1fe144ae0123037c065eb2a076f52b43f13a324a115a3fcdb3b3a8712b19bc512370dec88976e481a8589b33ba16ec6aa53fba13aa9b2e5373f366106ffdd2b14b0d217a4150797194b2b6f943fdeb475f63ac0652297577b38efcf118dc4073bedd61fa45e80e59c959a08d2aaf2e07a15bb222bfabf60ef5d81a572b8248b821b50611804460a34825c76abddd3154235ccb531cb0d2f9a19168d2000000b01160550c07ef47b43b927b14298c4d1b6ca56dfade71fab27f1f59ca34a16a72eaf0b44d83a4404a9a3e6304ead7e0e43b322e8499e13dab3f96045b6e2dd9ce69bf463df8cd4824e180002128c77496851da44c9bf30dd262b87c1a8ad331587d4ea36ace670dfb8cadcb479d7f8df41f80e05cd61a399690607fc0abf3bfa01fa5bd68952bafbbf9774f4ac38b30a71c3d6f95a77477e1eb21901831947c4395acf93bc800ac403b590a541e9c423600000fa400000168000000b00211fded75a36e4a0f1ad0bdaad8007195642254384dd9e1010b7886b34ffa25293a507657ef0b1d049575b0a4e9c8a7a869a0a675a6c16507fb5144fe83fee2ef422ea4983ea9e7bf0355ea0ac8dcafab15e88b76b9c8ed0048423f436dfffd7c0dfa14339fa76a8837fa9273ab082b3051b3bea89f994ef9eebba0ef2b050e65e7bed9d78b09ad16a195dd8175c3b42616ab8085fdfcb8f4848a1dad6d97e623a1654bea7b35416b5ed83e6b06dc4e000000b00eb6cc0ab0a9dcb6272bc53c5cbf33ec180a2e3e6d0ced82d8e4ab9bccafcd628387220a10d38a2ed6e4959222852f293e51c9cbd0ded9504e90923961cfd2a29109beb94957c83dc57c24e626eeabb60a5ad90a00ded313a2c155579e2bedbd80a36a085fa64080ffa6544414be56ad056082e0ff0fb4d3974c7304b41a8771c461a933b90a4bd1ae0006a22900f0ca0f44f29602785b53c5bd3576effc83f506c459ab15a7ffe7a18199854a338c2a00000168000000b005a93d46886d5823de9f713515646e5cfc1c7b578fa8fcd0f065f0553261cb5f5889e4bf448cb51134ee4ba08683fbe52393668405dd367d4e4637d1154c9faac5d3ea7d4c56289ea80a99cb01d7e11489b618b2f6a4c5ce165cb52346778252e6d0fdda30a687019955a4f0a026ebd825030e338c039a959605b6d1bc45ca2f6ccfb5363d03ca699deff7ccb07927722d238c3b3946d168d4737b245298d0fbfd5b04335d5ff7fc55679d6e6545fd5f000000b01e8bc832d545b0b38e168b19253bdb77fc085710d53017f0566a09780e9bc23d26647a9aad31f730cf89b027c60ba728fcbebbfd15237cc2e43dc12e137c3b06fb2db62289cc556abac5aeb64f79241e2684e6ae876da2bd1f31ef9b44a3c1f648b02d6acb9dcf34a3a73e4e8140ff6f03635184ba079c0a756c9848c35bf5e57729fedbd7056a79d0df1bfeb9ff8be3177911138de1993e99d29d7de84d2703bd7f3abc97c90db646c5f7b8cb20359d00000168000000b02d14fe6a75ad104964a3331c9e043945d2e307957f0f4e541f5c615896cbe62dd775e3130e6619b84e6f8d15cd0368dd07edcf005608dca2e79db63e567b2416a8902c917bffa343848dfcf930b751ce11c9f1fd58312bbc7012e7b1d230dd119f55919f7c2cc3f541717890d86aa948275adb0c0e6a66375a0f896242fccf2e12066814839c4b2db1db6fdaaa1c6591173127fdba26475b7ebbaacf395f04be2b5c2646c026ab6b24578c1c6903fcd1000000b0005306c4da3663fa68933749128535a86f9b7a183bfa5ed3d8c1a44c95e507971bb1651d96b5451bef80a436e5051cffc57e85c944dc1f47883520322780e6bc59e27305a98593a46683d2d324ca637e0bd3d59c0578f9fc485f9f74dde767f241040822ea603c3934ed23771dbe1ebc06241c59222738f0e4cf772f42badd77e141dcef57cd9868b898e5e4c5f28dfa054394a7883f5b47d2af1682123dcbdbe6a678115049c3d0968399cfb7d8673400000168000000b00f64bf664c9a9b721d5890a9c15a397d8fa70e03992f70db6e1a4ed770164e7005e84b2bda4078ac49615b4cebec1667943bbbb895cbc2331725a728a1ad7eb49bc7626ab74924e0b314e4281bbcd8c3b4293e011ffc158ef69b73f4abdd1082a6299facab760ed26afa796ef76e54dc27c0ab1ed2caf1e10bb920aecef2c66d19ca39af9db1d22fcdc0d5a20d40969819807267b08db303aee9ffd5927b2feed944ed27707537393d1d0738c9a7efad000000b013b1da6d196971f4eb8aa2f111fc0dfa1fec334b23c4aae30371a3c701738f72d373cf790cb006b237854c521eae19c147d51940742451c23ab9cfbe3a00e65716975c4fcb1c3849026ccee269a631834731ff4dbab01a8e6a1b8b7efdb74c95767b266ee9bac02c4cb8bbe2378e75e6078572e407662aab4458b6ff26ac2a6070111c635f408a9f202fbc127cedb1830502b02fd2ca11072bbd1c19e2053cf345b2a64f033baf6b3960609c2fb676f800000168000000b01aa0ffaf8adfaea68b5aafcf04db439b379ed761c25e9b87ac07942c5f59720970dc3999b9ad575c3e9ad689368b703b1055602f81b720c13fc8a8d4a11c6523d80dda06652504813db5db078bb46bb5bbe24fd2188bc7b67d583ed71af535215296c933f168e8ed1e1b1f669d6ee0d815533b83d35477410068b9a9bc87e97ee54e13e1e4eaed713592c62849fe6c871b53aa31e48ad56b5c260288d76cefa2c3736906c2b214583b783c793f963e1d000000b00374260f0d5ebb6d88086195dc6d777678acc35e6d9b6fdd819c51802e698a109523adb58a17f046bd8a629c29d12fcdd432702a556108f5e19aab3b376080195d00bb0e2c703a61fb3fddd257f8bf3670686926c6b438f08c1b2bb624f999f4d46bd6a63996b6054d8c4f3bc2cccaed03a3874840cf480ff3df48729685a72d70db877de6ef51a2d991f1532daed9781626d20d245aa251bae6b909bced25f4a03dbba337ac3bb40c56ad0fbaf053e700000168000000b0118a2e41a845b82bd5982d5707762446d89a1b74d5e0d7922f4364f7ce9fd288a86ff8fc6fd7778f0e1d892d45a7a5a29904133ce4ab963266307629c8fee3a7d8ca075f635265a84fb60bca6f6bacd685950dd9be475272d05fef69b14632ccea232deaa3cae7273e4c63612f4c39be0f88e5c1e73109d93721341b065fbda3bb18c826b71b5a11894602fbc7f498eb25de0314a0c628e627d60a597a5baef864b8e9fae85172c9837262d87d16f114000000b0110343304fbbab7108e0e1a67101f40abb4f7cf857f2049ccfc6c9e67b273b36f2cfc502df45d167e35a17a54f2893b5e0b1794f32b5ef19f26c44532b2c6d605411c9f1b1c6cd34e2c639709c8bc9b76be14f9ea5e3d59979abd6c6b94e32ae92367aafd8787f2c5c6a53f35745c60a2e041ec75754b09c6e5a613326dc0b3e935bcbc9d61456a8db48f606d0d538802c31c22c6c5b6d3e71526163bb3df2a826eaaf9b00f848f1d91f56d60024a6a800000168000000b019bcc068f1ca9cb213a300dc57cd55fc877a3f28775b8d3a015b1b064e851da0739e5ffadbffd1126f0c303233a3184c1dc59012fa135303671b0b0d9a209c34603295cf41e1a88d673e37aa93289904cb2f8a55797d9b75cbe433586849763b1bfda13c55f1e884140a42d67510ac351833d543ba6f6a613bc492a9a69b709457b902b7947e56413cb2691b7e0938d20c34fccfb2ec73db51faec9c74ec93297e747c7ca0a347d2ea2b49dd9ef46e0c000000b0089caec1c3719398cc817198d993d5e66fa673b66896638d71dbead4e645b68339ebd11868bca94f50042a4bdc66e8593aed97f675552c1c48da008f7f6ee61cb18c24aa6c4fd76253a20b3108c58376eb881323ba0c53bb092b028afa84381887f2847216e5875c8685f16a523fe3590bd07533a7f15a2c4f17e6f31cce2878cb403e94b1da556e44d5ccb4de0ff8541dd00b407c586e06ac762ccc61ec62ff92ae26cbc659587bd329b441aafb275000000168000000b026dd87847bd8f137b6e65f3940a31822c051ebf31f446a81ed28f2301e859d16f1e5b40b6ff20914b6086b478df70f24a5376b0728ee48c3e4575f70d9c97569e351d30b99bd7b7311950317f96502a545c286b647179eb31c088f397e94c406f7cbdc28b40d5021446ec255c97091a310a879b11c02088c9265e10f67060faf65b6533cbab087c2c144d5084f44bd12006d5f726973f83ba6d5e04ceff0243dbf23fe90d1320497e746808c616bc2ef000000b01b81331bf7902af3126cebac0aa26fd30064f3a766def465fbc1930d4547fab45c3c38367d93a3f5ec40c2abc585c23c58f5ee318d9fc0d0526d32cde06ca28593e48c5b5801d5515d31e58ffe8752029e00a6d5a2c30ecab34452d23421a950cf62e069932d863127e160649c565a1f2bcf3ef2588e0190655e6b20984d6ffe98e568db1884b7d1c90d15dfaf2ad3210956125a16f3df210d3fc91c0ee6b866041b781b20159508ffa2076afb9ee12400000168000000b00f5d3225d0f533dd2501adc6ade9f44c6c11c729be0f7b86a187a0a90341841a0399a86f3ebff7a84860c3e36356be9889d00bf853b99654c4ba388d61af51aa8f10bfe0d32552cd31f6d233b09250d5d723c5c0ab745a70f1433002925d4fd6178ec9e364c7a650cf01756cf62cafb72f6e9ab5404de64a8aa6b80b736f7b7b0b17b617e2e17bcfe4a8efa991edd6d81153edd275c501b8b7370688d13427522d77780f22f32bcf6f2678b4e7f46479000000b020be383982c8bc6b3e1c64801959ee0aa893f4dbc4f09da63b5c2c24ee3585f611265403de87e9d0d03262925a3b834a94bf9c862a5cc0260ff3a7ac765e5088bf58f77e0b0cd16023e9690a7bee5bd8467b6091f8968f57681bd633c6840a9b8cfa3bace8179f14fee887a2408ed373297428500647261a1f717180c083f3ab6bda224936d8137db5629dc87190d7472b3ad43a5b8fa65a05ac0237a1a3f73c3893cba8d17c30d733b28a3b30554aef00000168000000b01c737fc52e4a971336d9c953088e2c0719cade8ea56392d543e591dbd12f65515768d7280003427d14b34b22beb1c8af78f428e58f0a34786bda6fbbd632a06c876a2313692bee90791152dcacf3e52bb09fd9eabffec0a597a51f4e93e386df2c3010b392f36ad593301b36dabf753b2723a9a74d40a038c38e66dc6194981cc0c40e5a723cb3d34372d6f1bb668cde06dea5e1f042260ea4f53820166d863d31726f7d5410f2beda15643287ac6b2f000000b01798a4b6eab4f9aa6dba87b566e6531937361c540d485dc20a28d54d99c5baeb9b812a4d84d1a9720cc28fc27a032bc7312de0f7f0c299e8e3ed8b2784879f21e559af84c32926fc5686d65c16631ee31aa86085396fa8ee83e658d790d381d2440f1b6392d7d0056e4b6b5cd71096fd2b6f1d1711ee7ea3b5b118b6db21c169549ed30aeb503c71abce2c7b0b1c533b22b1c60c0f60809121e15238cb2308b93a3ddf12420e221d0fd16770b30fbe6900000168000000b002a18d52d8afa7c74145875051d0792d576917c07796bdfe20a00b74d785b83bf3270628e85307d358bc883c466708b9d8c3d90f0a80f34ba7e07cc3ac6ce3888a15ee67e53a5ddc8e94668c1920a113b030eac3eeb8c925d375fa3cc43225fe97101c1703c30189288b108564b57eb11abe534ebd484e26de91432e9d3c3c7dc436920485eda3736b4ef5462446255520834f9c6dd2f32989a0ea5bf4a23ac5366fd54c9ce67fd3b1d158aecffc7850000000b01e476fbb59627d1b09598fc2d573a3dff741c5ffd800af5d4861162efb8960d6bc56cd98dc6bbbf95c04e680b2add9af726a9af9ddfc6935368510d62302cccdb5e862e9ae49b21e407f4080c8840da559f02ecd7fbe05b983fea4181fe0ed4312876d1e01fd2fbba19dc2e8fed586b81e55f0cbb72897992b8562990c65f8c6ab65d269c74f4afcd873aee5c9413cb41b4d8942132bf3b5a0a84e72b1ba437abefe5bc69d2ec911ba926d58c9dacf7f380000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b600000000000000000000000000000000000000000000000000000000000002b7370000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000038100000000000000000000000000000000000000000000000000000000000003820000000000000000000000000000000000000000000000000000000000000383000000000000000000000000000000000000000000000000000000000000038400000000000000000000000000000000000000000000000000000000000003850000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000038700000000000000000000000000000000000000000000000000000000000003880000000000000000000000000000000000000000000000000000000000000389000000000000000000000000000000000000000000000000000000000000038a000000000000000000000000000000000000000000000000000000000000038b000000000000000000000000000000000000000000000000000000000000038c000000000000000000000000000000000000000000000000000000000000038d000000000000000000000000000000000000000000000000000000000000038e000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000039100000000000000000000000000000000000000000000000000000000000003920000000000000000000000000000000000000000000000000000000000000393000000000000000000000000000000000000000000000000000000000000039400000000000000000000000000000000000000000000000000000000000003950000000000000000000000000000000000000000000000000000000000000396000000000000000000000000000000000000000000000000000000000000039700000000000000000000000000000000000000000000000000000000000003980000000000000000000000000000000000000000000000000000000000000399000000000000000000000000000000000000000000000000000000000000039a000000000000000000000000000000000000000000000000000000000000039b000000000000000000000000000000000000000000000000000000000000039c000000000000000000000000000000000000000000000000000000000000039d000000000000000000000000000000000000000000000000000000000000039e000000000000000000000000000000000000000000000000000000000000039f00000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003a100000000000000000000000000000000000000000000000000000000000003a200000000000000000000000000000000000000000000000000000000000003a300000000000000000000000000000000000000000000000000000000000003a400000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000000000000000000000000000000003a600000000000000000000000000000000000000000000000000000000000003a700000000000000000000000000000000000000000000000000000000000003a800000000000000000000000000000000000000000000000000000000000003a900000000000000000000000000000000000000000000000000000000000003aa00000000000000000000000000000000000000000000000000000000000003ab00000000000000000000000000000000000000000000000000000000000003ac00000000000000000000000000000000000000000000000000000000000003ad00000000000000000000000000000000000000000000000000000000000003ae00000000000000000000000000000000000000000000000000000000000003af00000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000003b100000000000000000000000000000000000000000000000000000000000003b200000000000000000000000000000000000000000000000000000000000003b300000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003b500000000000000000000000000000000000000000000000000000000000003b60200000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000481100000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000681000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000682000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000683000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000684000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000685000000000000000000000000000000000000000000000000000000000000068f00000000000000000000000000000000000000000000000000000000000006860000000000000000000000000000000000000000000000000000000000000690000000000000000000000000000000000000000000000000000000000000068700000000000000000000000000000000000000000000000000000000000006910000000000000000000000000000000000000000000000000000000000000688000000000000000000000000000000000000000000000000000000000000069200000000000000000000000000000000000000000000000000000000000006890000000000000000000000000000000000000000000000000000000000000693000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000694000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000695000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000696000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000697000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000698000000000000000000000000000000000000000000000000000000000000068f0000000000000000000000000000000000000000000000000000000000000699000011000000021c000000b02a3730c107ecc8a2e344312f439988931b60b3f669af1180ee5bf9aab0bc9c3f1fed43c7b75a33bf9853e040271c515dc2632d9f7ba1ac959094da382187b5445f3b72820dc216b271cf0240a60c762e76942166ea98050dad70ea05728e3212171f48ef8bc2f6d541b262fe099a22272050bb162f55c8d88015eedfa9c13dd29300ce899581d7b2ac5f40e87584b0842dc713205b144b19be44a6a2ad74335f8aa51b9902266428bad28967b1836561000000b01592f451b06285fb1edde34fdd591327c0260eee89356b45424bede8ea7bdacd4296f7f139786eab3b60762db7c18a79bf6e424e73725002a9ea5cd68d0f9485d9f46f779e502392c17f0340324e149d01f611e0c9f251920d46c1bfdb96e11d81955f0fb9be7cb0fa160544f8b7561d2a63bb5850d7a8e910cf8218cbdefa4f8cefbc0e2b765176e4d1d68f9e2b458615e4e6114255308ba842c3b3f318adf2ea75df916fb2714517d25e50113bb3c2000000b03062bffa80406ec65659d0e34ee8e8b3a334f9975e308c758e4ec6d51c90eb9981f0041946e31f3ac32f345506a2c3e002b57723902e4588d9c2ddeeb0f92b806bd21015608bb58979e1747149e4a7b1a14a214a5562baf400f0ad4ff0912d5465de4497f85f43eb3181de0ebe993671050f97e1d9ebb6d98cc44199238d7826520176c4527b9fd5c147313d81445ecc1702cead77e6702b871b7c2b501021956e9de6e07c9dfa31f3144b63e6621bbe0000021c000000b002d7c6ebb0b3f0577c97a7a770bd62e284c9223c48d29eb035d22a7ccc59819edc4f6d2bc9878dc98f349b59ba0ac375052ae419c4700b2ba1cf57516d3c78c6aa5c9ecedecd08699f2d714cafa60ee2d7c04eae3358051818f8a1711d57424eac2be20f6937fd02422ae7ba4c442bfb29cdc68f9422917d2a0b7b1a4db0fe9a161856aa94a56c4578b807abd98df97527d44b20ac967a75da949afc0c71b47fc6e3e3a405bc00f6e03dbbcb6bc91094000000b0249d5603fb5be8a66ef657a4cc2ec161d5c16fae1ccd541a434a1167947a2e34b8731f914e8638480ae01644518fbe2ae139913d3c14fa2f236b8a617a4c17e65d08695544d121fc1124900a6ea2008c79564797e8a5406586ef235a801930e6e301d4f033fd8006e5104d906df8a2c51a8314c3f3e3fab856d875efb25882614fe32b0116c93ef0e47ce0aef51570400193a98a3f1dcc02697b75846e763924d7f31fc8880da82805d560107501b610000000b003d969232bc5c2dae0feba031e39b678b030f60ad08a5704ccbdf9ed0cd743c8eb11c74b3dd6ba51cd48866cf5fc813b0ec96332c937848e965a1e33e48c42d68e1b9fc861cb479d1df9f68c8e63ec2438de5cbf7aa2396c25c35be8cd1548251df9c70ffdd14b4ee900105557d0c7041458dd6bbbf1dd1b15275597fd31e1451beeadf0645cc29755f018d2abb66ce01d9d7f22d223667fa04070536a74b2f59f42765d779061674c2113b4867917a60000021c000000b02379dcb8162afa2010034b21cfcec5175a7d84758bead2ab633ac21202439d3baff2361881728e9afb79dd4d224dab6ed2409c37f89e060cf0da5cbf6335c15c75f1941b7ea26645a2c1a509d2dc81a70ab47a41ed29d2e76fbf8f7469cea51aa81d5c6102f45e59cc1743270ee9d64b2ae3ace6821980c2243480e7bbd0fe7aa036a978e4f450bea802fcb10ccd94ee25aced9a88e30e80726c26ee0b1e390dd352492e99a74b182ce9a56e95359fa0000000b01482d88cb8683364d09012f268142cc3b09efe4d65530a84be92aea21282710de751ed2adb07c95a7efa44ee1dc3a233850acae6b7cc43717f67ca4059e3648f3b720afbc87220448aebf96bccbb20604571a18f20fe986e48bdf959a534798a056156ae9c6ebfe4096f63c11033217619d7522db1df30d279b8595c1627688069b2c1c2f62eadaf15147337b690b4b2111c34488fc48bb967296ec3913a6e5c75852298d2b6f33df1ef33f9b007c7c0000000b0054d1dd67b7c7377c3f18a6b6e8ae237c6477744df7520e61248f84f0115f618e457202f0bf01a213d17f284fa265ced93b79369d7391730a6345a2b8d2e791ea4fbe17ac7deb22e2cd50fbe2f2d71f5c6839545240eda7667959fcef398c16f4dc6fb06ad6f9708f8379f4db9612ab50843276daf2a107b11d19e1ff141772e64900ba07e781ca855833b920bcf529d04c4cce561adb065197fdd13819db81b7c961868942da62bfe608583ed9104ac0000021c000000b0031cd4c2fc4aecc27d7bd15b6cc0ec984acba6414a099319076dc33cf6bc731cbdcab962fce0a3a5656f91a1334f4a5c5d492570b3710d2062d0c47792aa87fafdddb249620089b7cd3a5e8b276340d53a7ef733180bde377b42fe37660368b0116bf13ce78e92d4caa19a5020bfe8432fc312888a594e030f22b9e073ac9951bbefc1e2ded787e250d15ba2e2cdd6002cab523f60af3d11a08a5734be4a22d88532ef8cb389ff7f8233d9bd80aadc26000000b01d36fb458b9b05ab25ce8648534c552064c5da7e1d9d72a65475be3c58d79eaa691670edfba923b49241f53a866586761e95f27c7273651cf1944f4bb94fb1b22ec6ef695ed5423040c75e2564dbb41dbdd20a70bd6a159ee558f769d20bde4b5ccfbd7657f587f07936db553638f43a2d254408b00a6f9c71adea8fafb873fe2bdeaf836d0a4253635cc0cf23e679251c3b04f2fe1e24e15757090287dfd82c39cd723b9b56402b9b41bbeab4ed95c0000000b01af1e0ca4bb613dab582eea8a114dbe46facb335332766e4d34b678a0e7c1b05ed1d26c3816629d750ee55873347c9886bace758d36af7e766258742a811cc724fed57caa3ef2943788b50348360e712ef4083ed698ed24c915ae6df8d00a0b0acf58ba83390ee511002d63b0ba551d60649d643ce38d570b74f6d291eb24d956850ddf209539ff9e67e32a51374c4d7064ae2050cd77480e214face2aa545620ea951f5489ea6722ed6af14a2b2fc920000021c000000b019c78acdb55cee3f25d012f7e68cb4a5fbd58131519a74276e686a1d88bfcf6e79b15267b091ace4096679b177f9fefbe2031cf5f0761ea9d7fd0a02812f1c7c96403ebe7f21b91707647b8a8c00c4e39e2e21880165cf406b6c7ba80a4340698dfddefdd0d25df380d307c145b8896c0869b32d67d34f9cde0aea8a76d8693c0aa2e5edc0a4895800ac90935d61a0f805e24f94a7a67515ad85108fe499f87f1b8e5c293f742f845b337624924bd793000000b01a576edb0f449a36efcfadf1721393d0aad0f79b99170ad9f2e4d18bd92827c370b89de7e690928a82f4fea6c0d3fee9f0d09c72f46f5de47e738b7913bd68a0aece0ed38eac0be847004945318a857149726a3d74742c80a774675a4ddb4fcf780c33dc1b8c8777aa2499dee487e8092071e83588deb8260896a74ef6ef9067246f2c5b5d09a8704f879894e7d5bec32c63eb77cf5a2249a740207bfd3461f1df2d683976ec10ac5c381a7c4e6b3e77000000b0202723c2226beb3cc01c25b957e773beed2518b7194fb8eee91deb31e74cfb5ecf180016333c9065097b6db8418b04cf89a4bfc20ecb39ebcf6e5ba7b239b5c43afea01f88c02f0aa10b8aa6da25649e8eda396a45171cd4987fa53eb1079668ec1a32c14a6d4dd407b01bb8919da767106f8526479e1e7b9f0bfafb1d9c91a056fd348b4f06f5dff5f006210c36c97328f875536082cf42c2092e8d699c356f5c58c2d72924c3667a421ad02875975b0000021c000000b02bffda2c3d77dc069f59f177e1de27428a349a0e3b156f9a11514495325e762a0c203989770937bdfa29226c46ef7e814148022c6ef92d9fa13a0346cc709521201ec4435b5040f5f11e5e21ae50b9d205b3ffde7f7dd961cf5abff210f54cc11f8f84eced1a246bdce306df417f0fba132012eab5481d9865d6e6540df29890942039e2d7acf9e565be938f577fafa02639757075e2320b9d455b7c6075555f2ffdc8ef3bc3710cd838af8d54f7afb4000000b022307a768f8ba523a86911c167d4dfb42e1cdb775a0894ce5462b178e0c1a272258547a1b6d33f4037d32b205b4ac4d1d6f54b5630f6b8363f9676b3f406d8146b03500da93dd8a61b39daeead2532200dba710c12b14997c4fde4ab0e887c87783a5f1c1e104f13d324f5cd6e6881e01a2a17dfaa3f96f2c36d46fcbb6859b5488e77996182dfb32667fd23cd357488214b62036a61a45c680996e6370e5cb1b55b3c1a6de67b1a05ef41aa378c9ffe000000b02ef9f04539fc50032b7d2a64f884a1d1d489af2823b817c6174747e52f7cd2279dab0b32855f800f383bf775b22e15fa634a5b11d6d7ac9fc2d0bdceb30d6ad0b4c8ceddfc5119ffe6d3532217d504e91b79788535c49977c9641b00179f5a7d289ba24cc9faeb673c7c34221c9ab55905039f56e1f36863b50285911e956e093f938f243cf844d2064735636f10695b1fcddb7dfb9495edabb454900cbf64d632586c0b0736eadc899e04976d13f8480000021c000000b0227a1137eb376dae22f709f58120eea3e9825dd330f213d11998fc594bddf24b5a5f876d7e69e19683dafb2aae380a5d0c69644bb7657ec4cca86fa2c3e16e46f01d36c622f68071af593b0f67709cf4ee13024cc32382a9cee2ee7c0cfd2492f95d54dbb18edbfcae62e20da3bca0290f2e82ae452b4360fa2f87e0af54dc8cddbe01a9c220dcd0312539c75b4e59022acf3d2fd524b04f4d781ae99c8e8c8a44690e62225aafb46eaa7bcf30081151000000b01a65ededb6fe00b4c0f60bebdf4a0228c9d629e4b4e1ac0594a0a15550bd8c753d527fcc87cd431f31344927b566d3e0d37c7dc24e5b93443558eee01466cd54a51b2784132851ccd5bf79bf74305bb7c1c1f17caba6be3bc5616f1e4a648afd0ae0bc1e462dada8e0d14592423bd6c52b27edfa0d41c720a09284153e5f17717e9ad3fec4b20e6dbf109fe8da73be3221584bcf6709608d97d062b42bd82e64e939d103f74d1194ca1e800267148863000000b028970519b3b912db969eda1ff1db901156b2e16e32194e4e6a07cc8787cd42b9265bfe0f4ec1aa116dc108d8a7fef36aff4f8a293774485992ce809f56f6946de20c105f0bf703bd8634e8f148ac4d2075f4ea9e049b0cc61c4c46a86bf7ae9f422921f8cd7970df362955230b58de230f074b444cf2d051ea90563c0eb4fb47f40d89224b9c9e4416a544c048f30ed716e730a7a47f6110df11c4ba4df6ab5ba343dd9eaf32df949f6e17d31e9170080000021c000000b00ef9a5dc916630244580c28b6324f13ee2c6d71a561328b04c6cb1c180fc72f8f4166dfc84124205aefe85f7552b7232bbfa4610e40fb1627f4dc866d37a4837149d086d570d3fc48e472fa5d629b5de1f08385fbfcd98923b4d3d9103b0f6a2cac66a39e17b73a404aed3887c5289cb1021205df3e4664f326ccfa1f57e5a10abfc3e26c27f5f9df0cf54c8af8251b31bf707c1db8b3e4f8f0c9fe0bb254541bdc1036ded25de2b8f51fe94807da3f0000000b0243ad09a3dd6ecfcd82b8d553787fa3d7d0813ca47b6612defbe8ca6247b22fb9ac435bd7300aea1f10f097141d9857795927676547d2ea0aad12231d71d7cacdecef9e96f1bbd44d01af184d1042a1b9f4d985a05f28383469808d16bb55d907c83749bdb32c43495b6976f8d7b89660ff01d7d985bd369777c0c2f74d2aad5623a4d3bc7a82ea0df2b5c5e66429e522721ee7a98b9de8b8cd5476835a296059d798fecb8196cef6d63664d83765015000000b016f3493c3bdd5a1fcbd46d31c3420dd1859558b195da0d608fb5c9843e5c9da5fcdb2fe119705e6ed2f6139186a5fce0ac4b5ac5a0c3e8da1e375bac1d827b9e79edf3bec0b829b86076d9ff9036595db5781bc47156125af741e9b9160556c6213663e48a500fb37477c307e4bb773618cd3671ca53387834aa0c45549ebb5b2b80d3e611f7f0307157231f7b0ee3cf157adb394b553dca7fa2b22e435048de58f26e7978795449854f2d1a0551810d00000fa400000168000000b00be980787c75d314a3405efd407ea615b3247ae1b9a37a67bdcb374e4528be4f8e95dbbc0944c21f4d04a60969ed9a46aeea8f79c243a129ac838fed1efcb7a7035995d65f639cc69f407af413b5733ddc0e3ae6ff2a0507256c9faa6e5229bffb5bff419e3e03016fc937e88ae49a73032f8447af7b985e94f9ad457be497a68bf69b752685575014852704e15535c20ba0af9e453889140d4b5d25c59160b14e474b1fc1e6f5ab52cf6c5a1181ef4a000000b02c7ff6451f50fe7079b60327312898d98368e996aeecc52fcb4c731079189365c65e5241e7b2a833e678c7fee51f4fb6fb6edd5a6be6433b7a121bde3efb869004cbe6c9fd07a1055014fffba0752dcc9322b6fc33748c8448348d5db703aaccb7be2aa070df943fee615981293d09e52560cb2e98f4d07732a0c6155e011cb6a66982604175f0e77efcff5919d1f3bd1edbe45dd2d1cb472f8c9335e741a742ac7cb41779bc236713c618e12c49144b00000168000000b00a77585ad36899f5b92c754ad7f4905088854bb99a4939541f5f32c453587b7686e1724bb89fa7a3a5da84c62f8bf90fb9dcc4e0f8c96f5f09d9ea8e11bd25f9ce7f1a1fc0ae26d566624ffaa063bd95de851d0871695a2e6f6a48eeee211472d3e476b320cc9594f199075bf2018a9a2dab5876ac5f56603bb9a97273ce83cc3d6344e06803ecc8630b38295e04df7b0e7e346d73ec5babb58d0a7845ce0ae81d654f5430d3c5ceae90a1270d68316c000000b028ebaf035bb8fe6fee877c479caad5dd6e5e2c64d0d7e3b87bec0829a6893d9eb9a2328c9a69c36bd03776e734a7e7a7f1d573aa30bc70c2e406cb30444db5ddae6fc717656ba3286ae3feace47dbdeb1dca3d61774d2e0cc2f06aea10ad9ee5218740388e68f63c40876adb4b2ab7e8050033fc10ce8586851342b72eabf09a1c8e2dd1a06f7bc0abade166d034af6b1ad38eeef6d1fad239153920ddff846f2adec082771f8f30867bf28b5de41a7b00000168000000b025d26f990802b2e1a49d13591dcecd3af01c9e79d2ee00946bf38d80676c591fbd4000b914cffcbc15a1895501abdd28ebfbc19ca981cbea23da0bb175141e62d29ee0236f77d2f0d9c4e89ae6c9b6a4d5e5392b08579d20b29686f48607463dc3549724bbacbc481c3c619cfa4da9df0f5bc272ebca18b04807cf375fc4e327b3ac712f683a31240833aad35850fd2a18f84a2cb37fdff6dfcd3ba99bb23ddf04c2af86d2694b331d9bf9f5293a6d83000000b01f36b6bb542ce45fc2dffa127498058ebd518787e4968604093118e5b0a19ffc83e2950a32ccd08175f8e0236acbf9d80c88fb4cfaa40e2c82f1de2e04bb17f9a60faf99184715c5dfc7c1a7c54eeb5e37aa2bb47929b4c4e1a18fb0f8bd6dc612f1c9f0b359ec50e0b6a74d8f02efef0d12318598a3d5b2f2123da91e5827b7f472241483aabf06ef12dbfb16b040682c7f68fcb87476e08052631bd4c1a2a27e9c408705ceab94b4ba2ae1a1b20d6400000168000000b0221f8f6278198ba788ecceca76d7cbbd3830c7805ba4999c8fc0362a3851622be457d5a5338cabf455131227f2d1d87869f9207a9c84517e17adbdd5262e2693e882ae36dc6f1f9a7672a6a4202d57217aef79db63966ca26ab2c832e4989a1c01bcb09ecf281711a8799e33f53f65d024953861e7a401bfb968b68c2ac5b5fbd85097c80243970f276d4df1af49b6f50b5525978d8581269c9116aa63df31aa9076bae137f1a014897fd67c14e0af36000000b00aeb1a07f3d003ec8274a5dbe07210e38e81fdd579d6bbae8cd16542ed6fb4a23157a660cacde067d160659d199ff30579274f4267c77d493abbeb33328003553d908346806ac69e464ca5b7f4117f5f05b382ca4f23f5f16059196ed2f89f682bb657c3e5e600c64762d43df580e9842c9931d3d88de78a616df4660e2401a34732050fb873031f8ac6795a7f0ade501df96cd663c8127f68a512f41bee4d65e34800ecd394f24932d2492f94df946600000168000000b0053b138bcd0a0798ab1b4963647b21b83f01cd9353ef03e44a9343ec656bbc31c9300db1b3fd8b93107b37814b490cc0535053138a431b9bc8b181e20c5e03c8c5fec1dae12ef96ba59b7dc1b50bef975e01f4b0de31552d2013bda99fd5cb8fcf70066dede64b217605b749c72e8490020c3340b824627775670f37d5280a7a09c29bb1d0c49b591cc516a6138ff26d18a659fc0b1c95021883bba5bec91dadf2b7aee7aa94c4bcc3dc4c2defaec03b000000b00f7e1c11a8ab2e312fa5a22d7b2ca253989eb0ca05e16fa3f6749f2e66cab72db10c7892ba3dfa0c4477b158bbfe8cb92b54c27be1469c00cb7330dfc37a5a1821606955c6f0e136483aa4b0e13781ff1c881c22657f09429fc73e2f468ab1df18ad06ce7e1fc53f892769fce55443572a7d0d3d00739cc5a822fb7dbcf04ec1d3f07336db6c7394b92f8f56631260bd1753132afa88413b88d637e21fdbd231b8559bf564c08c96a443780001909f5700000168000000b02643904c2705d48a738d78f11c34cb102bc4b9eff2821e6d79f521a20e7a0cc7f9cccf362c1137164162516b313e09cfbcee69a332799266022a40f413e8a6803111da18a0399fef7fa602e83beb119d9942f4d98189a2c4b65f5c87f3a48d9767cd5fb34a09257e09e4ee66e11eee152a5a0fb90078c84cf00adcc3bec55c4134b70c5016b9701d590c5ae4be059eaf05f52c8d3fb58ff645f7010d5b3db461ac9412ef38777472cc6338c582e83adb000000b0201aa5bbd702e02e10b5207ca5a82556dd9291c1fa92e22904a1103302d13b8cd1b2d6577688a9555a896608945a201d9fda244982fb779d3e9b0f7739162fbfa5cd0eb15552204fbeaf27585d3a65cbcb3f303b1c19b5d51686d334aa425dc43159c2b6f7e048e5b4b5fffbab673b9b191aad5dbae297f5843dfcdfe6897cb7f779b5894fecef21506c1cc1bc73a16c20c8ec4470d5db1dba82b7d7778ce366cca8cd146b42c8aaf4c51e2c8bd64d1100000168000000b028160d4dff5c55c273a5df698d584cc320f0ad35abe060c76577ee46f816feec1f5f7520008806153400d4db4e54b7344cbd78c1a2dc68b4624873465f483dbda2b06d6638f09296f1b6caff302d104f5596ef1574faa79280816a285b2ad9d8fcc24d92ec9723f3159e74ee4abc58892cabbbd77fd621d6101a7ddd60f9f6466a8b3d187a163b644c0f092762c648322eb53c9ccd0d088065ccec9891e99204a16f5640a095b473b072935cb1275520000000b000169bf0005aee986f74fc0cbac337e63586c62da14eb340fdc30fb7120a81fb1b51c82ebe6b251ab11b4065932fbb14daf8a9677f83234bd49aa3258cfb59df3579fe1bb66172ceab6efe3bcff4fb03effac92ae289342dfbf5861c648c86f079baf5c31650b6529843d74e3790e49d1efc4137003a35bfca1e6aba0754a6d18150ab5abce249e7d70414e3fa8216392b95727fdc066bfbf1b02477471674cc5283bafb5f4a7c9fdff169c03ec7f8a500000168000000b02c00a063922b710a0a62ddc9a8fee36c9219396a10d7341de8f33fadacf2b6df2226eb9896104e07617a9c9063f3406dd3afa4cdbd779db2cd11773fb0e23c32e4ec6f22c5694cf6be420fbd7dd57458446747873c7217168b20beb660b3c2ce1ae097fc64995e23f6ce9c7ae4459730235d4d8f00103752de735676e32f7f7e87bea32c7cfd50c92345be665b2b2db41ad0cc44d2c88c825e810f75d234e13293ff939bfb9c7ce2508b4253cd6a9ff7000000b022c7b319f3f500b218537bbedd2ab8faa0c515efebebe40122283e9d58ad6ef0b4c55b3354a73eee45d5dde53860bb742cefa4c5825228dafce08079be998ffd94f166ae86da4e2838c341c83b8effeb1238eb666fb1b9cba9b2ce903293ce6b8375960f3e16d8f8cf017d41df4a541329ce6d2a707433f89749e3ab0a9c11dd76015422a7f6c292ab78066709fda4ec0546a9bcb100ed63944da306b33277f5deb37de738c928ea6c84d14984dc8fc000000168000000b004481b1254af9ea323d5ea97ec589f2fd4fc1b790e9dc4b8083000bbdd54d2f5d884124789c98eddbdebdaa2cfc8ca408fb03b2196271828745604776cbf5d665cf6dc2cdd42402e6f2f6fb9b826e39fa810067b46120b71e62c4da705def04373787e375861cde645cce389be5d223f1d4129a752a7ba18da091eec27c748e08faa4d1c37fa455d840c0242f7275d8b0f8f427788774cffa619959a61c2d8b4f284fab47cd3edc4f2674012aa496363000000b01e6b5389aea706cc1ab6b5695706e974faebadf46af91a89517a51cf178587be17cdf1905ea8cabeb0f5e3e844baebca392cdb2297a9e8fca0683a2ad97190b1c1a094d8b72bba7e1c9866a1ec6bc273e6108918c4d29822b6fa372140d266d7e44747477066e4e61b75677c63c0eac0175021d8bd834c3acc05340d76c6fc44d6c5a9791bbb2925e956348baf15ac9e199dc4801e008345a07fe6d9c3c656f1b5611198d3ef4edcbe34c84d85ff0db000000168000000b0270c11795cefd839bcf993c17598ec90c350e655b70939aab05e59012c93eb6d93a9bd9442d93a8e99a61dd09c28179f951b21621a86ae7b6432b3da8c345a145b5606427e41894d1809b9383e3b143926f512f687931b5af7b1c8395c881416fc49b933849e74eaa77739843e38978313fdc6266d92935da6ee81c82b543784304616ab4d23c9056486b026fb96b30b10cc9c7184411294302fa32c4b2e52bc1a1bcb6cb89474eed6b9b619ae13ec1b000000b006f65c44dce2ace6b078d691e314baf60025371ecf960daf671e16833cfff95390c198a3b96bd1e74a6f566a58659666f007219fdf6a73833719fe66e9e9b7a507fbf9bd41452a0c2e93a02643b72164a060e65347f0d83980ba0dbbafcf642df3232291847e25d06dbecef1c7047add11f884039164e2f465ee4c56bdc96baa1649a4183b1f5546512d3d17f450c01325d48cc4a25ee63240cfdd952002979f7c019f76a353458e25ad9fa0a1a1c11d00000168000000b00db592ea73ae9416c8e44f821297b50fdd0a6b2377865f1ac56d217a0aad7a6c11fc52929b41ddfe48c61eb34ef4b5ddd9559ebca0f9e55d29a7ac49841c98e4f63cf2a8f1d8fe804ad0af322e998375fe0a577cc3fe7b4a1070f8bf929b5783c4c3b2e01c64d4ebc75e763ea85906f809d40244b323fc6670652d529899941a1c2323ddc55d2898c66480202ff9e5a407c07f1f9f4f678965adfe70b30e7977d1fffe2fb38abe90d724294896c8a48e000000b02408f8099324a15cf6f6743740466673b5cfd19f99006391bd8007815837b1937e90b329d5c407773c1057248f2f1d0355816111e6cbc2c89d1dc291906d3617c2aa0a139ae1f0d17cab158d8e163e8932146c997015ac5a4be10fa11ba1a07a5025fb12108df96e8a7be324fb948bf703f191b81312b635dc11e8b34caf9a29a6b72f7041add32f1f427b935a26b3231d4e2adafddcb0fb515e28231a35a7adb0f969efbc2199a3080b6f0c2bd874b63800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f600000000000000000000000000000000000000000000000000000000000002f73700000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c100000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003c300000000000000000000000000000000000000000000000000000000000003c400000000000000000000000000000000000000000000000000000000000003c500000000000000000000000000000000000000000000000000000000000003c600000000000000000000000000000000000000000000000000000000000003c700000000000000000000000000000000000000000000000000000000000003c800000000000000000000000000000000000000000000000000000000000003c900000000000000000000000000000000000000000000000000000000000003ca00000000000000000000000000000000000000000000000000000000000003cb00000000000000000000000000000000000000000000000000000000000003cc00000000000000000000000000000000000000000000000000000000000003cd00000000000000000000000000000000000000000000000000000000000003ce00000000000000000000000000000000000000000000000000000000000003cf00000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000003d100000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003d300000000000000000000000000000000000000000000000000000000000003d400000000000000000000000000000000000000000000000000000000000003d500000000000000000000000000000000000000000000000000000000000003d600000000000000000000000000000000000000000000000000000000000003d700000000000000000000000000000000000000000000000000000000000003d800000000000000000000000000000000000000000000000000000000000003d900000000000000000000000000000000000000000000000000000000000003da00000000000000000000000000000000000000000000000000000000000003db00000000000000000000000000000000000000000000000000000000000003dc00000000000000000000000000000000000000000000000000000000000003dd00000000000000000000000000000000000000000000000000000000000003de00000000000000000000000000000000000000000000000000000000000003df00000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e100000000000000000000000000000000000000000000000000000000000003e200000000000000000000000000000000000000000000000000000000000003e300000000000000000000000000000000000000000000000000000000000003e400000000000000000000000000000000000000000000000000000000000003e500000000000000000000000000000000000000000000000000000000000003e600000000000000000000000000000000000000000000000000000000000003e700000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e900000000000000000000000000000000000000000000000000000000000003ea00000000000000000000000000000000000000000000000000000000000003eb00000000000000000000000000000000000000000000000000000000000003ec00000000000000000000000000000000000000000000000000000000000003ed00000000000000000000000000000000000000000000000000000000000003ee00000000000000000000000000000000000000000000000000000000000003ef00000000000000000000000000000000000000000000000000000000000003f000000000000000000000000000000000000000000000000000000000000003f100000000000000000000000000000000000000000000000000000000000003f200000000000000000000000000000000000000000000000000000000000003f300000000000000000000000000000000000000000000000000000000000003f400000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000003f60200000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004c11000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006c100000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006c200000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006c300000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006c500000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000006d000000000000000000000000000000000000000000000000000000000000006c700000000000000000000000000000000000000000000000000000000000006d100000000000000000000000000000000000000000000000000000000000006c800000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006c900000000000000000000000000000000000000000000000000000000000006d300000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006d400000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006d500000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006d600000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006d700000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006d800000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006d9000011000000021c000000b00c77d7eb392698d9125ef123b667158f0edfad557fbb87d95b6b5f5bc12fb29cbd1bc62d5cac6e905ba060e345cecbfbcaa6a4ef4139dc5ae2bf94f91f0b87678e150bd824446273bb52cbf44fefe901840ba238b1adfe60d907e6fcb48a7045a8e24f8104535cd968877aec8b7c433d1fcbf819458a4979a076cf788266106fbf0de6f1bdc442335529fd4f1d38394a000a1a89e54b8c0dfb7165dd8c4baf82fe02d88c6c0ac7fd3845771e9d4837d5000000b0050195d85e7f189134ff9b40ac54d8c09041693812d40e0068c705fd070191825c6509667382689a8f85767848dc9f141dc123f26227663914da38b9095c452832fa74a88433ba0f4b462f0a51a92bba6f8ebcfa9de08ee95aded1be30df03128740bbc7228fadcf0bbe2747e0cafcf02979394a71496f076252cc9fbe9937498cad4a2a87b2fd2144e6e45f56c3c6562d8300e89a89f159fcd981f3cb5e91a2768befed00dc86cd9c2b6fae84c72b5d000000b0116160aa1c1f86cfc25a1225885c11aa86bc3e12e7c6a62bddf4bd8df2f0f011168ae366821d5d7b941c87234110a82cf046b9367588bc1bc3d446f79fcaf19e01ce9f5a248fd61de0660c850a5436db88167dfb19f778ef77896b9af40609ab71092841bf5ce220d390b1a339342a911c9a4c322dddad0c053628349ac7e4a050a1ad6cce3babc39a46b9a5bc96143e13a13f22b3c6d530c7fb6cd4d4b3a1fc19182fc2036b241e3b18ff5b319424050000021c000000b006e8acfcab21d279f1a0b93b7b622b639f3838413b50df0f35ad714b68f803ebccd497ebba3dffee45bd61f914c8c17fff9b606cc668eb4957f36a89a5767bfe00fdba6fb0da358d0e54bc4d82993dd9b1c559302430115eac2ea7a2f84b3b27a653c908047ec1c9267cd5074da1051f0846fd4784f203c302a5265e055b78e4e686cc808a1918d1a707cb84d93f26f10877e7bc87de08eb8f06aef47d6fc89bf889442a6e933a8fc38487a96bee5e7e000000b02d6460b979aeeef53d2f1c33b491fbfbbf866866db6702787fb1093737f69478551da33e9978790f579b966e7820ddcfe0618134028844ab3ffb8057cc8d74a44768b11964b7e6cf49ba71d1bd53e33fa133a6d495b924a41169c6a8349dbc5c9eeeeb05457f60d590a75d71e1d1dbc2186d2dc4738231b6a122eaf0f522b7dfd54af41944c256105f44a294f4b1a6b50cd749a430bc9fb152b10c5402c5f6b6d737c5c781758fe0da6a53287c8249db000000b00208d2a9fb84acc10d78e3a412784040469cbb9aff584067e9525324a8f3ee150e891e3cef52fd286ba9d0c14b3b841ff1389b8b19f32958b0cde77e8c8c8367e4a016d877151072c6b8f39805d85bb695b01ea77c1526d847d7d6709169bb9aee11e04501517c60368fe03aea1f6f7b202d06b90b5351fac4fbeb5503be18d04afe82d372a47cb5a9f60c14acdc7b2918bc7a71f8b4bc9c36034cbbd430ead15571cbf77b141e965f4f530aabbbc92f0000021c000000b00d9715788a7e3c8befba67486d2e2f66feb0bfc6920cb4dfac18b7c833c4b34038316874f0a08c38749f10c10770db93d21296c7ced29cc7c028ddcd5b769a36b1def2d5fcb9a097711b5f335e602de7defe86542b06406b6fd15564de7723083532afb89e1f422e210c85d7233d8eff261b98c0ceae82339e4ffccc29962d3213ee4f9313570c0ae2cf99348883fe56159e75f8e81add49546537afb2c9091a7655bfc2c4bcdbc8ed2599bcc32db2a8000000b01a7de2a31c14f8cf225c585db714dabdb64f4c6fdbe44511c99514ac1afa20f0b5446e5f68318386a1d8e6555b711628084895571d56bb30373280daed3e8cd2d40981614c64bd1b77ea2a1a6d33a8583413444064f83ca11f42f7bf3c10acf0288ce28cecc3b1bacd4398b01ca0cc200664aa2d09e3c8bd9dce2ae9a3f1c1b943b0ef690515b4d9670477c342a3b2da24bda3502da4c124222069d70601e79833493014bde5b12c6ea867613c3de601000000b01ef77adc51525cf3bdcd1d67fcf37dd8e9d3bcd244caf03c42c27282a251158f44c672efc3b2a4a89b5a3697de164e37a2ce0d47da073ee0dae591a57ff3b9bddf554f07590257ff6fb21870b3df46bde3e4e1cb4ecf8050221b125b7a1876375b3d4f4e05517fb70600aed3b36b753d0774d4cc5ba26c60b6246af51a716ea478e080acf9a6c979f9df1ac6d92b75cd18daf730a73191bf4e32537f48148b33cb6ea2315efba8184b79045bde2fcbae0000021c000000b0026aa26575f7bbb37c424e24767e2f5cfbc69494af03ffe85c89632a23a57c66cceca6e2787269c34f08474d231029d8bb5762ede9ab097a05569a9ae969cd77ded2f2234dafd7ab135958d8b94ae2c670d9042556e1c7ad05a6b20b17822ee291ff3bb131b5e6df6b026fdfb02b1c8a05f0648bce45bf37130b00360d4efa9a9083daab543270a25d3ea76a0f233dc4182165f84235328ced9c33474cabfa37394363dbdaa5606a148d50d8f236dbad000000b016432b54afdf6ee64311d6a70049bd01b6a5c1d4d041c14649dc0a62aedead71b183ff2c796a59ab479ce37fcf3132d724a3627e3cc72638330740bb96f934197cb0e7559c23aa5f1851896ed295798223789074c336d9a94bc90a089346df6103dfe57b30cce033da1f51e58258bca3096bc612922d1ef6dceea50af26051a876f3e68de9ef9fe8049aea41fb2947ba2a9a312b7093aed093f9299d953217df350a6ca5bfc0da80c29eba24d3cbb10e000000b0295c7158d8f114408163e4865e0d8ad3b1f93c1dbaa1aa17a67618f8e620e6bfc227abadf4abc6a562b1e2dc4914f4568d593a063ebce6202475e9540065ee609790e7c2502a396fbf491de32bebcd4da6a94e81b8844015e4548c1bb3eaf82946e5974135c2eb0fcc07ee0890b4c9690ff74e4b9fab0569a05f887fe895405f2331749a005e5742c0bfb0f1c2ceaf400d0b267b27e0c8f40d83d46a3a02e649548c21ff707449f1a3d03e35c31841010000021c000000b02bb13d208669b258d9a255457cfabfea0ebc1f6c7b966ca4485e256a789169a57d79cd5fc173311f1b538ec12b94e4f44cdae125f180cf30e5ffa627e8a76f2c51f1f55301da99dc6b3382a8d3490d4527888fa5d8986e785329eefafeb38bfc364491d678da6ec5b4e9714a0fccb1ec073cfdc40283c3bb1a03ee2b46390312b40b4d90bdab8c3047529d7c4b54b95618a0ece9192bebfa02e090b3cbe12a277f4cf8f4ed0d70709fe52e0d39cdc855000000b01030e613b354b5e42db5950b6d9d65233044e206714638258e66434913a2fa922671ac6724a588e4c4cfcef8fbe4d097c4e5cd13c46d6e2243d531d68edc5f1adbd731e3e64476dcd046c3dc168feb506946f3e69f273663d30271577d8aff780864ed2491780780e7d863e742d109960f06392068de26ecef7051186a74969301930d2bf7364681ec531c99d5b48d620f6fc38ef1b739aef88b63798d5c57869aa0410f90361c995ec33fb1ba6199c0000000b004894672d3157d6f3858cb09742e2c29729c716ae12acbeb74f9676aa0ef02ee7017b2504a5d7751d637ac4fbb6d874a91ea3c3e1a6da7d436699bf05809f9334e8ea2773723d4d5ef7a104a08781a5cfa4bfec12dd2c72041089c8fe6d29d817b0be3986610001cf8c59cce8fdd26951d56ae3d43cdc3df7940ff03f8cfbc0b951f57478b9b82e814fa2a195e75eba50a18a1cc2a9d3e99fa87f3cf8d94b7d64e0113dba9b727df975b895a88473eef0000021c000000b0234371ac5536a37017e018eb6675c7fe09d861cef2189c39f21b04674ea2366536849d845c0a23837eaa0f4b4467ef862bf2398acb1e39255084cafca2300a217f5a7ca5c192a263829b5c42d91e1eb3f203ab1c542b5c20c3d773027ddeade600f41504b007fd12e64cbd3b26dea6b2056b6e01f21f2de8c5a8f1116b1916cd76ed8823d3cbea44b1c11ab20e1b45a52186acc770be00ccd0a87e755aac4add8ec16d1f49eb98315acf43c836e8a30a000000b00c2b725aa06ac6f4211752c35d98934a85eaf65e7a7d5c2e429221026171aed79742812eab8dcb8db9f54060ec1c18588e87db112896ab74019ddf1896f38d97c9cecbec61579262cca1d2174b89ecf54efbc5846d9190e7f2145e54f384e50e5d21bba63b600db0a39d275e6b42e013053cc3ea1166abe2c7ff54d4c8cf2634f2ff6575d9d02e136777f216fdf64e942d08e2d911d2d247499a15fc4b42e71b45961c84b20052cd54a4278e516b16f3000000b00e9c4d50ba53dbee425c65d190d2395e88964cf907bad685bad3b0de7471ef1fc2c7e5c65b10a4708ce455498c0149a181044a24cf1421353215cdfeba9fa3122fb9a90a9e83307c0b597455f91be047d5f04c1cfdc03973edc067482fb3f96b3b4b66a23d6824778e523cac5b8c2eb30f095379980abb19b9e4f7376e9aea1960fcf818de81aa9d448eda1e1c85cbd825b4db14f5244f50091eaa882b8ad9128ce745c933bebd439a878d24f28023350000021c000000b017ec78a3f1071ebc4805b563427a2b6b9975029730c729fef6a3d9f8290058298f8b4b54446e7ad6722b7d9d47992c863cb71c60b9d5bd3b958ceea607300a6151752f4487bad46399d029cae5d42ff633a111b616a7a6acdf2cfd6d14a3e7ce55bafdeea049b2040dd9c8b6561f751323a2aac869e80244f1d55d01a8da15018d48d687dc2906191500efa6fd2da21b160c5c7b98f9cde7f346d3875e3c7dc7e563cd2c88657d25390892a650dba2fc000000b02f315f2a04ebe6b02157887b6e1ec2072a67364948e38f47124bb6d0bc6fa2c193dce69e529c5514c552818e74ffc870ab22a963d8bd1fdf7b4e3bc532091d37f181aa855cbbe4324e0e0b8acb2c62b1193fa8037877acf43c2dd1f22b88bc1d5236ba98a44b7a3131edd842ce4653cf0e6e637f023e8be7411015dc7869bb10f64ea970c47db0f2b6575391c32d6874301eda97b0811c91fffac746d886aa3530c57ced4ee6a9cb5efc105d2aed12ae000000b0131bdc9d374b91d8a6a8fd3b6c82db3f1b00cc08427fd518f599f1e34de9f1496e7c18a4a1dfcde8441a896d4be70ea82ff3118a73718580aa1aceb2e594ca56837545dc55023ee52602877dac66bb061d9c0c0ed1f44afc457afc6cd86cc807ca03074af0a7d8b01cfa597a89e8a3402e4ceb496fdaf8080dd3b5e2cc8bb0b372971fe16cb26978677aa502190252732b59752d829e01c5ac2b32a9b5312f4595d1eec23f757a1cd0db8d248f05bb830000021c000000b01d3e8d70e46b8a2b45b9c7609f4b046e339503b6ce8e3c4f0e4facc21c3b0a9d49c2a09c9d904c0e9f8beb4327ff8ed6e7b416d8397f7ff26942dce88308591c95b08b27a3e2c55a364efc8d74d0464fa33f02e0ad8ede159d05b86e4d86c68c1b04ff5fda9e4b55486c4b41a8b430aa2415b91e17eed2c8332bb38276802849701929f1bd172ac685b59174bcadc7be21447750ffc2607b3006d25412983cfac03447cf100609e027380ea6e7972018000000b00bad00ff7e807d2b05228b49ad36f6eb5847007a0bd26b410971f01a0b7727005ffb6b3bb19f6913e543191183a622356c80ae1656f12f6fb3753787ff334dd3f62035449c1ae9e3217dd8ce84ec350fe75a2eb55d05a9f9aed6e0c80f4d17cb06a1b587838326e5a603f70983c748500f5a09f7724fc90460715783e31f051dd27bb24bcad844c49ca12244036e2b4228e95b98a503928bc93a9b5a0ad98878d767895fb54e9974d20bfe2c31800ab9000000b01018327886a00f42fe8c79a16789ede40b6dd4b086a367d77d47b63f2d76e6fc27e22541cd75b182908573c021a1505730db9476395d3e83c3fab9eb8ffa04e75d6b9c12636655cca4ce1fe4f02efbbbf422412cc27780b0524d23105e81ed4aaf715e8d2b6c9d2f8600d59f14fead1b26dd5dd80b301d48969fcd4e64b44d16c6bc7996b4adadc462355cce7c98aece276288a28ff36160f71d7ac73007d717de3c44a8eb1994e0614b2eaefbd1201300000fa400000168000000b02e53cc2e959b5991cd8434ab398d8118753e10f68351c41ebd47b6ca3725023c6c98d541b28a93a86653aa1b3086e49fa7f1cdd1b379c6e3ea546e47cfeb26410712d1290e306a359d39927a6b47227476ab0f0c40b6434b2492c0f60b8dea60638a21389f18c24b0587c729e1e355aa2b2a62d6854c251b2c4d5e1457c40798c909bf050ff587812e851536682698472bc436942bd48ded830670ef11ffdb4a22f42082b40b125d594de0025b4ee885000000b01a523baa508bfd891d931f1c1ad4360fb3ab453ed4939a87005ae59f2147853b633210e56531ea02dcd462231b3c672209a37e288af7f704436ac6014f646b87e2baa3cc049afebd7b9d048b2158fefff9d032ebd9667250d0899fb76bbb4d0a718093c2f7de489c2e4adcc977bad02f1d2e19bbee24550095a44b16c2b3ea3f5fecccfdbc10818ce2aa1b8bea566c030ed5e4ec4d0f2f0d86c92634a3d1c081fda6626f3fdb96790afef968640eb38400000168000000b02425af46dc2acd339174ae1af2e06f211a5c45763580dca7b749711d844fb76624325218dc4c015fc1d716a6c3da4eb92aa72b0cf74fd93ac01786d940ccd7d4ef9c20009ae330a2a8480a336c3ec531f8d470d6311b8cb8c8e6a889f50438908e9d8f37fda162f865137c7beb127a6e2ff2d133314a44a1c172ce42e877dfc747e9b70c858a31376b91464b4dadc8ba01dfdfe735b0f360d836b849245cf40d270b18dfcfc55638a1b8e87bb2c5325f000000b02dbe84bb328e7ab57b714c1543bcbbf00aaffe4d36b19dd68ea286ca748808ff0fa102501dea804babc5a66f5055e6aad2026a4a5a2eb152379ebd757c8a0dd456f8ee2aeff1dccda2c178bdb14d0da2c271644779341af0c32d93e9e6ade3465f5b7ed610f05dced9d42519dcaae51d1fc59c50c661dee0a81b545bdf24c5448d582238e59021a3e80fad947c7b13321edd5daf9117dd4d0da358947edc22b28eee1137a881e0093223e59db961e43500000168000000b0186a35911b5eb53e2cb578e331d72f73ebd6f51a5c87b3c98d7e0f2e038af2111d548426dc7eaba7b7c5ac5328f6827be2fffab9119b5aec90dbe0b64586647aec546dae64cba2ece5fffd066e4d5855883f659ffcec76669d503b705146a388f2a1d10d34ddcb3c3b2b1883eb269d081a36fee1cd77b4ef5d00b4953428c8bcc7ef56ca45de980d9f817e3423622f240b8058750e2ad2ed80b7659857ba40888426252620734f1c87e25f908a359863000000b0107527a1e018eae77b3fb740a8fbdc7b32178a08542a28b276dee78d3831f2a126061ec6b80d61fd20e43f0786c64505a16f25e6d33f0b29753a8cf6bababe0eed794cc516249ec19e2cea3839c62f11d20d563a811831bcd1a888ccf731d1cc2badc307b58d793b25bc0f4805f73fde0d5ad0af48b8fa9e9515197e802e67678b0ea482ce38f9e2f22e32b2e72a92ef129ff5765d13446669260bc323aeaec3dfc478a47b7c9aec583909ed0573d40800000168000000b018e223e6337e07211c6e9890747db4b66a522bbf068afb1d9493b89e1acdfbd97e0da0f1b5bda2a97a7a5e8f52c81efd3a1ffff231c765e5cd5cbf78a9a9965e0e6d2d868d13fc35b6dc4a2c11aaca144a8c1d92287dbaec1746832dac384a2f518c6da8d26173d2fd6c0547f9602853303219ad96836b9fbf7e32f1ff75f8c20dec0f63e3811f6d5528bc6e589a945d02f957b68a49b68f009c4b6f416749c6cc1587d753f4d01b585c766bfecc34b7000000b02ac4635caf5abf91e5928e4388f0677097a98060bc7df46f924c6a6654922f0246e5bbd74ada6bcc317bba9c4d40a831f8eed2eb838ba03d4f406a40ffeee875594624889e52d49dae93d11407c754dfc872fdef69b1c033ff4a3eb8d033288f54b34917aa0ed0cd485617c4979ed71c203c7b0600ff1895c6e1e0c5828c9d67b5e784ee30d8dcd0dac8919472596291263e29fe317a946389ea707d87533fdc8e3aea1ad334e7bd0c9ecb5008928ac300000168000000b005fe40d78289f47b4d95fe5e3cf0839d301f2e9a50fa8d06dbfb5eda2475604e2494af8725ca0d81689fbec3f9f18533375194e495c04927ab274e1ddd0d2d27550e660cd9e168f336a303a423231f9139c9b05f16445c2610b939870534e3ee13d1dc2591be40027c07d4a4dc91e594151cd42f90ff96c7e6d875362a0d79e052568a9fc713a7f0b175c0a7f816b6b605f60d17d0a006b41f18e6729d6b69597c96716ce660783f9e7bd728f06e27a7000000b0300f78b2674d8c2f428fae5c36251157678821f7d6984220da470634058cb3e3579d91813af0769a9995ff01c8b490f2b0d0db3a2b8c83438a0af2f69ab30c94b3f2592220cc9e8251e532b4d4c8ae09816ecd5b7bdae6522f35ffd43ff43780459ba865fe40392c748171ea009f70a32f75d58385652ad4f7fd800dc493cc287f625ab88f72f00d60931f2cd915d6b0224b24a7ec1e0d7fd3aa874b02c72f1cf847cbaad53f0e6f310363f66f4d809400000168000000b0295036b8bd0886320bedc84f57a2d1d2d38e4d57609c0b8f4c623cdda86b808078f16bde22376da8ded68a1b8cda424871f0a6b5f5621f357d9f36ab61b02b01ae8554cc947e673265c6387ed4b80a5a743f8c556085812351cf837570db689c0c14e42168c6da7df8fff524d49917fa2fc094503e6c8fa4fe78031bcc62b05177508433300d4156d8165286c634de881f671d02e9fec98c54c2474edfe2c85626a3071d8fbe0bdec82d26f7126ab13f000000b0084d4b252ef3f85af8fb57d6c8b8338ef9b88a46882383bde7b46ee7afce9d0a65a113e31bf394473cb39a1752f7cb7e67ba7e169d49bdf3dc9f1f150148447b4f8229bedc5dbe3b6032cd5faa6564bec63a7daa8a77d0156373b79220457d2139367ad119d4c51e39fefd93832add4d2fe9a0b10f1772a48d97feb526edad61da07ca6ed06bd37908077db1edef506a0662aaba5ff4507eac520379c88c7761327f36229d8b5e731900c1876669c6da00000168000000b0247aabae040e5e90fa6c50358e1ba1647ab4086a4705024f79d2b440797df85bf477f67df0b0e67623633cef4403a1b30410cdfc5b618eb9391a75729324f61d46b4d6f28fa83c38a8f8f82803b1097ac5a660ade3b4bc979277fa55f1fe4213cca4df01ba057ddfda864ba72c63f5c511f2235f8e0a57d6f389a8cf15e97a77561694686c756a3139892a347e060d6e2d6921a50e7b3167e03f0ede61e1c37ae9e6d19980fabff538bde379aa246998000000b00c49104076f214b351d20df5cf85c25935eab0b9ff596b102681a141000f26b895af9cc408eb13496a9d9ba6d877e85b79f7927da31fbfb9fdb16967254e1470eb718dddd4c65be219184e66e00af1e171ba655980526f8cf9a87262c136da58c5b4048c984473c142df4453092c1be126cfafb9fdb0ee914cdb7fa65501dac958713c97f2b3dce5587cc0c0b905b1780a0c2b20e72c09710d64ddb8b42f2f325e09c1222d67aea56464b12af1ba807c00000168000000b01ca125a3b753a8d5e7e2744e735af335a98cf3e074af189403f2036f4e47a49a074056160249549e2d892e8e5e6e687fb89f90bee31338eeae08fdd1c167a1c9d739fec23ba485a4fef7009559ba3450e483a1e6a3c86d2ce783b517f6492ff516e479f0f387c8446524598388a026d01079280ef7a44fcfba33755709307d2ebc91f8bb26cc44321e1cf469ac27a0bb23e48a29d1a57a94c9344c6cdeb11f616a165b05fe7570eb1ca66f67ef5f5eb0000000b00caabb130a43b1d07ecb1c6228903629f18e325e24652374b9bcaf620b9589539a80f4cab47cefc984de7add4f545924c628c889ade884d9dcd1de5c9800e3ba503365dcacaa1c0581752acd60078252adf80fe90b70903cd00c6520e72c9ffbab2366d015804d72bc0180da2a10b41b1432043cdf87c290806b3862259e4ceae3cfcf7e527174fdf57c4bbbd8416ff716d5497e8faf5d77e96717c5b811921d85032d078b49fc29e8c856f32f701fe900000168000000b021b822c561a421d886806d39b974f57638e506742ce1bb8b9534153e0f6878e5a5cee96655553fbf09f62b852828f9df058644fdacfc99ad533fa7fe07bb2a1ac600d92f29709bb5040789cc71841da32290bdb08a28b95a9c1e07ba9b70df0bac5b290024648e6923a8c7773ca108200106e60657be92bee2c7946531efb81a5d05e88581fb7860c055c959050171c30c18507870fb631be41be1f0e1ce4e9d1c29bbea56431651423b84f3fcf1560c000000b00af1459ff54342b6d7d7139ef08649c60d5c764d0c72dd0b5909a83739ba7816c58ca5af09c2c4d0774becb32df8561bafd962b933442ee4729e4f9fdb72541967ea3cdc51364329c89ff7cadeb9b886a0b56fb45d267789674a062930dac2c81abeeccb2f13d7035a81c3d3f3884ff300cbc82a8b265a0419db73eb268b7ec26d913fe8abc711b3d3b769939605c5af1d93114b40ff7a66fc83b7cce2e9ed09e28d7e216767ffe9ecc84594387f896e00000168000000b027704ef17a3d75c437534b766885855cce56a51200f93adf0d4b90917e2f88c08dadb84c89a2262455cab22347272267b8885f2249010375d1c4d61ee7bdf170c2bb0697977124a09bbd651561306c09b00cc306e71ec34291d7ccc471871fda4ddc00e7c60e5e0b35cb3af8914c8b4e0421ed6cec47a290472975bcf6d85a816d1f0336760a1c4ac22570f67678fcd41554e8408ddc1c3386a11a65ff2df6a65d833d429be86405ddc5de3e4c99d264000000b02c8c4553d16ab76243cea5264ebb9951c8700878aba1d82790895be69afac3efeabf52a6ebc0793a8505e300951c77acb607cf36197c365ae256589adcffc911814307231dae7bc229dd1555ca4630dcf985029154a5aaf2fed90c526fa9a4bc3d6e427498c605f46a11aa397bc3af8511bcc6361b44809aea2136b6471fd165a411fadbac07dd53b18360f8f7f510c314498dba82a4ebc8483ce036f6664c024981303da5fbe9d5246542e275eaa6d100000168000000b0000121f56d361c96aa83886158c06a6fc4e8ba9c09d2c2c6f20d557c242a8b6131f37eaa3d38c76cec0adb3e5d3e0ee9ea1a6a3f63b9cd9c51f8d7eb6f81402faf376a9dad4f8cec5b72d479b09920dd92e9662809c44a2d6d3d988a4ff0afa6fde318b78fe0705b7202a8027078ddd5218e9ad53b1df263a0d077f0e9ff2884769672b2d5ec1e29dd76acac2244e0f51370395362fd68122ded59ed4b9b50b421ce8295ee927578c4896e05d11ef575000000b0294cba3d09cd590da6e07e156f3235d6b6a2693bcf1d2ded9f807d257906fa6aa4978d004921cff47f78381f4e972773f0a6bf68e75d842f131f1393c0a731aa43ef08c269a8ffe660aa62ad9af971015e4a1241b2e8612c8acdb9acb389083923701b9289ee3e0a6eaca3f5864585ed1468ca17d8aa32ce90ebbb7fb0699e5276220b02349ef6ecf01b3524128ea09d2ea42b12ae45abc0ca511dada67c755d32cb60671979d8a52bf1771bfde2498f380000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360000000000000000000000000000000000000000000000000000000000000337370000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040100000000000000000000000000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000004050000000000000000000000000000000000000000000000000000000000000406000000000000000000000000000000000000000000000000000000000000040700000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000409000000000000000000000000000000000000000000000000000000000000040a000000000000000000000000000000000000000000000000000000000000040b000000000000000000000000000000000000000000000000000000000000040c000000000000000000000000000000000000000000000000000000000000040d000000000000000000000000000000000000000000000000000000000000040e000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000041100000000000000000000000000000000000000000000000000000000000004120000000000000000000000000000000000000000000000000000000000000413000000000000000000000000000000000000000000000000000000000000041400000000000000000000000000000000000000000000000000000000000004150000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000041700000000000000000000000000000000000000000000000000000000000004180000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000000000000000000000000000000000000041a000000000000000000000000000000000000000000000000000000000000041b000000000000000000000000000000000000000000000000000000000000041c000000000000000000000000000000000000000000000000000000000000041d000000000000000000000000000000000000000000000000000000000000041e000000000000000000000000000000000000000000000000000000000000041f0000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000042100000000000000000000000000000000000000000000000000000000000004220000000000000000000000000000000000000000000000000000000000000423000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004250000000000000000000000000000000000000000000000000000000000000426000000000000000000000000000000000000000000000000000000000000042700000000000000000000000000000000000000000000000000000000000004280000000000000000000000000000000000000000000000000000000000000429000000000000000000000000000000000000000000000000000000000000042a000000000000000000000000000000000000000000000000000000000000042b000000000000000000000000000000000000000000000000000000000000042c000000000000000000000000000000000000000000000000000000000000042d000000000000000000000000000000000000000000000000000000000000042e000000000000000000000000000000000000000000000000000000000000042f00000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000000000431000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004330000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000043500000000000000000000000000000000000000000000000000000000000004360200000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000501100000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000701000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000702000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000703000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000704000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000705000000000000000000000000000000000000000000000000000000000000070f00000000000000000000000000000000000000000000000000000000000007060000000000000000000000000000000000000000000000000000000000000710000000000000000000000000000000000000000000000000000000000000070700000000000000000000000000000000000000000000000000000000000007110000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000071200000000000000000000000000000000000000000000000000000000000007090000000000000000000000000000000000000000000000000000000000000713000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000714000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000715000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000716000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000717000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000718000000000000000000000000000000000000000000000000000000000000070f0000000000000000000000000000000000000000000000000000000000000719000011000000021c000000b025077967798138da6de5792c9019ccf03b5480604c11508b8656a1ac559f570b1373d2b67018eff1bbd767ef9d93612d593ced07d7e45f0d4029bb3e02a6c02f660c5f7a7680b6b9a863ba0568723ac4c575902f8ed71cb6a1057f5eebef83d3aba174748e2d32496fc0e4da0f2a042801ee7be273ad675f0ff658958a0ddcf2089aff8533cbe5d73eb10c7aa438933719493f5396bdcb35238f9355e572fe64ac133ca4eae11c313fdc1bdcbe3542fd000000b00b862a7a4281cc4fc672c2a0239ef9569a651a31a0b4eb829a741481f72d2cbf5ac0a693e98c54b5411fbbab82a06bd56e8b668b550c82b0420f96baea2fb8fa2ce99d3c41db11e5d6d2f2182db5c5e8ccc7e824fa9f33554b6cdeba706376353ae91caa570dd8980381a26288d9eef4248e67a472dae84dd773a79899024a523f036c3fc5d5f33b362ed1b1d62960f821dc59108c45bd22dd6309ff1181c43b782f545088e6aea094981454598c784e000000b029e8868ece53f4ea907a979b100221ab3163f05c21df8c11224fedb53c4074849ad4593d6219ba1862675f55f361a882735635edbd5dfa1a9b749fd02e39d0a4e3c0f0a06c3058b19960f1fead7ebcaf7ce337054e7c2a0d71743b96028326c0323eae8c14e718ba9e4a3c2714ba90662378f4553f973fa27a042a61645a76a6219ed2867fa0ec13175a8c6ef96c6a2e02060b7a51c51b9df5a7de1f1bd5d75d3e3478227eb2a64d6f6f27c658a465350000021c000000b02ccec9d66eead26c5815c02c7e5e6add99ebac628f3f9cca9e58a18beef654d16db292e89f581e16c240d2dc2153a1845e5a6e991ff3dd85fa0fad34c50aab7497bdcc897dcb7e50ea449ee385c787b2d5eb554701d797b32f87c9c6bb039318cb179736ab3b1e1b7f2d9d35361ca4be1d1041fac7a503f5433ecc8a7f8344ffd99b048e93873580edff446c3c4a933d2cb991018b8875bf502dce2bc4c7c4130e629f2571340c511007492ee43b0abc000000b02b05e0e59c4a18908c3fb56d32bad31a4dc3b43887c4d61ca3fc31996d963044fb266e3b2f1f9a80e21ebacf882bdb1dd894cf81be0037081a6a4e200ecfa77c7f8803a13b51b4db510802e4c3dc27df0f1c214796cf982f6a65998f3ee3b2609a0a8e53cac366073d7b3828c493e04409bc25b5fc4e33097a4c621cd08b7ccdd79fde617c6adb471f6aa83998cc38911e7d90702193bc51f556faef1f4805ccfa7a17c6b4a0881c67a47ba40556d81c000000b021cf700d28dcf8ef2c88129f70f0c662c9aa8e1e8748b38caacd11a64bd682bb5d87c848619b50d051727b0348f010f91727666facca374380f2875c208b8b128431134b2248195aea14ed690fa5acc5b46f25ba66963d181dbb01a71f14d0252c022defc3d68b069a6bf0d1228bf98a3027cd57a6905ce199067f9bf31655bd901194030f43890d5024d772b6f7e9051db35305832c894c9344d3d9a951a829d54a7e19f2abde01eca890dea6b63a9d0000021c000000b01a85c5801793206ac796a254ed3ac652f48fdcda68628b805d671212de3ff5d15a6502e9891f7a67b7825de121308f9ce195fd0b62c47aa9f925a373eef0f7b51622550cce082a31b6637dead29ce78b3113b7bb2bb74a502d34cb97314a1e63b15a1f5cffa015371e156eea888b27062b2da0b1750ce4ed65d9df658c89582c4505184a6ee4d1deca3d863c21ac4bb6248b49c0ab56c43390606dce6b4cf7654f13ba72b8ac3134afe0879902b52afc000000b026824d1fbd544d2b10fc4907eb868da19e501519773c36213e02467a413acc0b7762c1710e1a7a31169fd4ec63d36190008c508e96bf9652c2dd3f478d6d40d4880478bdffd357d042ce2d3200d0942489ec1d1b9af0a13477749a497f9db6f8b9b80d0dc8cd3cabe4bbb86230c297fd29e554ee7deed4948eac6a0b54844320f9fcbba625eae271fcd059e6647024f90d49d400e4081dd6ca92dae52e41f5fa4543774e245af59dc86e1dd0b50b9ec5000000b009f29277aea740c50489e282b6a236758842cd57ee24ec6c9f4ccbe219518bea2e57e14b3f9ec5262c001aa40f760429b6739d22b45992db38fd249afc338f9824d37cb5db4921342f08fd60dc99a7404cc7cd2d54397186f7f7f38b14bd38be2e3bb58997208132bc747700be157f7101ffec90706ca1b110d99b8ee31c0c7c08d7fc62985677435ceadc3e89dc80561f76a430105259b2752a47a4cc32d9f095e50b11bd3682e88c2f988855b0b96e0000021c000000b01570449858a96f120f1516f64d40686cf0a02bb9ab88f8b70d2904effda2eb259fcd34d3ce6d9aec60719ebec8e6366c4890247e74dea4ebd9cb4404c265c8a50070ef3ad3e015b94f9c7c54607cb743d10d8602801bed9360148b3776b0fc5d6e1f7751daf50550d6c3929de2364f7307c1d2afcc080e6ad124675604e6f2025303cf73e67598ceb92ebc62356f30e10353cc42df576b00a14f2139fa598046ab63897d845b272792cac64c6dbeb3d2000000b02cb2ecfd69835f84650ab83c49f8513f3d0ab13115f9b3d20b740b27e92f5c6220ba0b95512616ea880d4bf1b380d1baa6698a7103975b6de9b4993b59b6786ea0911a9300a41470b1b8dc57562bfb6725ded8881f1abdb735a65706c5a37f733880f9837e2508752e35feed294afa9b1b5a36a258b3f78550bffe2370a05f47cfa550395022dded16b2a79ac79b855623d4415470d38382493fb99cfe54c4078db14c4a6819b008c802d7915d1a0a9d000000b00af131fe2500d33b8e89344573cd84c4262ee00fc930e174022f42f2ec916263a46c551d2c40c410a985143a6890ca2fefb884e2e0d39f435c5a81b8b0be399b1ed3c2cbb591c5e4f21602f072a45684e1334d971ae6dde392ebb7a7532479ac632afa3f10760236e5bc5de5d05216be29fbe794bd4cb41b44e75fc7a6380340c322acdf8a2eff0b6d62baf777662e2c19cf4017b3be2b0503a007b8f059d85f508d48393eda1c749162f0b14fb40e510000021c000000b0127b005c569e1adf5d2a9dfab9ab6f974564f4e242a596b5b8e35b715e57a0e95388abc093c5a81c4a99d70450354254ab75874d1b78984197d5907b59e0440f29814fd0f264ed671224cec2a8bc9caff935153ea51a9efecbdd7ab5bbf5f8cd123b3c33749b59b007b9369c0be9b2211961a66c9b64bf360b7fc0128885319ca0e8cd2645768dba3fa6bf2b152d97d207cfae215c83c2831464bd79c5c08ceb1d5d0ca93b2a4e1f73478fc6657f57c2000000b013a5da138675a3a026c4be0d7776410be9bbbc2adfa2889bf787dd7c9f4b10abe086e18e12d89a27898ff857e03974eed5a1c034080b2a7b49d1e7898e34183ea848da7bf2f8ff457768d0a97259cb5cf0f72914a9df0a84bba77c35add7a584183c5d38fb71e512a9748acdcddb8c0b22254c3bd72faa3748b673e7673b1de7fe30e73644012a49ca88a22b71b0401a21b162c552bcd2b1616a7289482e8894497fed051b72a7a0258c70148ff45233000000b01fb8cc5361f2983b79be496b4066904948e00d3a912f9b7f92680df5e9188664f9699a36182db70404f6c2d535d520e84d4c3b4ed0d35341b4d364d0bd3f9b133cff3d93d82681abcc26c1246d40f648041b6bf2c2dad716b57ee28bb7f67069a13bad454d8b0618f671e9205a7b94fe1d55f820004485914b67a8675b142236f404adae7398f720e898218ca3ac36fa2717a9229a3b31fe6a76a0707d26f90e7837440be9c40e2eb7c4680dbdb9f92e0000021c000000b02525a5b818611f9d5a9edea11ea3541dded6ba8c43bf845135c0093bbe773db93fc3018c02fa0d0ab149a764a76936f405ce2b5ba609c8c814e34309fcf120fb6c37fa43cfe0567a5b1d93ab3fa2e42742c6b3896989fb441b7ca625095094e7f4706a2111740bdca93f3d580182d13e10bd957ffbbd7e7267c694c68686e3c1201e2ba8a3816566bfee11ae13e1702f2ef0d002aec6b37dc9a3a63f254781bde3ecd6d5a9106ac95395e39cf1ed9e3b000000b014e009e912406deaec34219387cc732751c50179281faf1cdd8d64e899f637a76220812f8f8eb470311691440e72d1fd86e4e8391341a3dc7a2e6355b11f817aff051b3bf38a4347084d6a0570ae4e7573feac700db352eb6ef204c0ef53b652307042d715482419b2c887a80a8a6f3f1ffddefbb746a5c8d54361a832988a6a892bfecc6a8187b67ca7844e3932227206d224b38f7a05afacfb69a3e7be5821a502ad5564873b974ecd704ce72598e9000000b02449ff77714993ce2280d5b7fd195515c6011ecf98b3617b3da8de0a2a383c241b450737db734a96daa1e3b866ddbf838c77abb05b8b842a14445ef5534868d32c37c40a7bb76870a7cf6767fb2ff57882af339817bd17351427f985da72a25307f2336dc9155591a8ca723664d0eb1d0b372a89b76a39839e3819039da104430b5d94b597ae27bfc25a423a029145ed1db4a4d7726ab0d746fa963904a720b8aa3780193738a851d383d464f4e25de80000021c000000b0161d7390c97159883096cc01c7d4d74e1098343bb671cc46a2653510da847f7b5efd8097c83ba7ab65037a5d97bf48adcc587c1fbca2939360bdcb957ea861e1d4619ff35cfc8e4dafd7d58d67b568dbd017f57eb8ba4f3ce3889c1d798daf7fdba6508afa3d8035a3660b9cbd4793330615b65c4babe3b5a1a7a3958f3ac7fabebd8555a9a449bde9aebdf72395b2860fdf894e9157f2e681380d523518ad750fcf4280b0c11d5545deb8fef8bae4bf000000b0081d1444425bce241605d9ca100faa738e60158c1714413db028e8b37b3d856ca6df8afe1e02e84e01ee31f54534221ae373b812854641f754dba91ecbf655f93b13db35f30b20c7cb7d0e112bb272b18ecce06bfc7b500ca371c3d14b3d81b2e213897fd11fb6b5ea2319a9009f0bac0a8be1a53a07a770cf2e3425001ad5dbc3812602652ddabcb35e10d40995dfb90ba767dc4f2019cc67552f218de477716ba11d2d98dd37dc751ceb3f7cd1cae8000000b000ba2d49742982c327c7d0fa18d2238bea06ad7c28d93c77b3f672278137476842eaf42b3d8fc3fdc4b82090988b6deea881bc825b5656b791870ac41dd4a301d2faa37ab5eafc375e93379684ebed387859ce9b42426dabc8d2bb901f4795fdde343e2f9c7acdab5de697883afcc52a1dcf20a48a604150e723f4b3a78eb82b21b7048d8f3b082923e2f5025e75b0a109521a0943968a1e22fb9a8531f02a801f98913ba4a5fc5d2303201f9f90f6e90000021c000000b017d50174e350df23065b68c6cf85d789bc6ec662b6d159b296b63eaec4563c789222783f969a42a81ede4afe8963a59b0de29f9c1b10fcd3c4f603fc0d97c851aeb6611510d008781614e3903222d3a4fe9fb877a446880b0cbfd5537ac7c20d3ed263a33d3b8f1f32d223bf712b42c120787936e6c2c89d988d1f78fe35f16c0a8b36d0bac9f3e82b81cdb68cc8bd12142ea9517d1d606aa3cf2fbf23e45564fd642ff7e7e2cdae5a00a91a1d8430bd000000b022b131f1dabe46f40a673ed3f435bcf88880f2cd53ab632fdd556e67e228840551296afbb2ae2de996586a738ca805a09c13aa0aae9e9655a1cee2e91c62aa0e91e7b8a9b1215b12b045623b47897b9076bee31d5efa8ae57d145c47cbd682deb6c572beb846c41a1e90552b5d8ac90816a7bfacd4893642add66efa5620bbdf69d2f5595985a2366c4e8f41a3a2928f13f489742c4c4c8ba5ff781e175a098e7e45de5cbd05e081118dcb0e54ec7d04000000b02eb1f27f429dc39f4ef1431a426f99ac5aaf0bdbb1b8ce909180094744a7528968e5ae0397a4d30b86424856bf7eab6f62e5fe36db26d64095d7deff5f913f788f62cf5c8cf58f4bdde5e6ca9eb7ed3d460976fc612161b36e47bd8a2af1eb0268749a633527716bca6584362a1b67fd0a50d93c52f72a1feb33f77c94c66c9588c1f7da3ae5a25894bd394e2b2eb29f25a38361ae29beb96195b5a729ce7558580e35a22f7342c61509255981e0a5c800000fa400000168000000b004e81c9521cb3a5bafd6c0345eb9d4008d359f64730174038a20cabfbe7a7d6b5d4e613f4a0332eced12c4e7e2bf10b28ccfb93dbcc08fb4ba6c600c3e3ddfdf67c92df7c56ac7f41a8fc303551073c4d861b875c5899ef38279540c9f061cbb7cf7b46838d695a2e469cf4bbcc8770623e8357837cd6033a2c450e530f1c8aa0951a28048e46c8e64f966278a4f56882db3652c70c211fdcf9c88448a284efdcaa3c8a0e0d29a5b64efc59efefba141000000b02cec80e09ca510bfea65afa6aebf0b0e1909a033c6d08d3288a03da901f742b789b98bd77db0d138e58511ee89f29bf2da161acf8c25aefb02e155ec1f117aa89d8ce213c461a0079b3749495a7a872a1a1310ff2e36c523e9d5f07138cd071c962cfba2d7af16390f80bf090416da7308560af9a0a5594f4ebad901619c46ad94a232f0aa2cb628040f49ae123ae9011cd60913a84d40f2defb3ee3b298e4536406e89e46c31e39001d8d2f2d9853a100000168000000b0253f23fc0c002215c10ce5f2f1ddfea3ad0aecea2ab03c6b7ca2c0b3ab3e549dba91a783db2406ddddbc9909554fdc648d79cea000fae491cdc5268b4e3f66a28f3d54f64a0dfe3c40f5efb69902cb68a094ba5e7f6dd9833cc1646bbfab2855909e3ef60eb943a82081ec981e59a02d0c6f0c14b5ba458cc371df67c2ad0bd7b6c020c951242934228d638957e1772f0b9a3ae78d91052b2f3b0e62b9c733add755530086a0319b6502c8e1f5f47ef3000000b00f631a16a37e1b1cfeb0f28da056dbe8ab2c642eb271f1bfb8798b352eafac8898231e447fe3e03a2fbbe638cef19b587161339a2da35bf52411fd10e89c174a756736cf31f7a5ca524340f48f830c11a361e8bca5714eaeca1e75e486926a2dcad63fb5215d58bd2ef7ea933c8829d40eac8c5cd5f4a36591f98350d6dbe8a9b39b2451b86fd2d5983a86b435e9d10e2fa4e9a5705e31d5f1b29ec203dc730f23fd38ca39001f07571539a416d5b7c900000168000000b020f01a804f4e9dfdaf18f8dd4dd08a9e32010bcfc2651ebc3c101978d1e1329680619ddb9a79efb82f83604f6a97ed145033f29a3d6de11d5d74e3f78f5a25515353f25f58d1f8e7e04f319f1c04682f77ef5c4e3ac078463fd0b18badac11060cc05c499c2e69fcff40db494f6a14bb054ee7a1aa56b806639c8ed4968c4b8f3851af0a81e3735801a0611c5e90795819c6c372a407a4a00e8ab03181dd693c60320bc3f38abfaf2251fbd90c81fe7f000000b012d987b06c6f6fbd63906ffca52ba7eddde23c5f335dbe0e01575d765e51cb9ef5da7ac7ef0ed74fce83d9180e967ace736794857c64a8f473612e804713fbeb1992189de90b902a075130d7a64d8534670ec93f759b4738d1eb0b74262f286bb36b11f54142fe4f8a337f66a998634001e8ddbe638b3acabaebcea87352201df8ec0906e507033b23bc8f9c0c34278a0f3f85ce152e564d1703130eebae9a590c112d03186c9724c314a3a68d60f42e00000168000000b01401a7be5a4a19c14efb404441be20869d3464c4b3d25acabb46e54a69fd1d3a1935c540da787dc7668524f5aa99e372adfc6ea4bcc0ff8ed692224067ec493bfa5335ee9f296d5749662077be7f5bb0b878501c7d8796788e5d4ba98874d48a68ce52dca1f1d1815a3163b3eda1b3f22f116bbe85bcf19e6eedc842b978cf8b9d5584a26411aa3716bfbdd586d7482214584e761188ded81e77b1d14607f8c422023f3ea89236e6209bfde3ee0a1ec2000000b0099f8e4316bca4c9b1c5b2e3f7cb36e6f520cedb415880a4ca4cc9fe0db3fe204154f358ada50515ae1ad01b9ec47a9e44f24259c772c586e2eafb3b062ad997963ba9c0ecbee77f0706d634992271253dd5d7f207157debb1b09d19c5f26f43333461b26aa3470f762298e0d78009d21d8fcb3680831e06b406fa6354dfff9d3551408b538770b1a1a13b2db8a9b51a298aafd955206077f0dbb02c595195523b2f018a146bbfd8aa5033c186a1b2b500000168000000b013ad259afe21e58a40e6c10e1ebea02e6f47c5e0992c21f632e72eccdc8e5efa362349bd4a6191902f19fe1a4e04115a3de1ec18c96ac26ea2d2c4adbe2e5325020be37fc7a2fff2e8aa920481846b0a480530c12b1a53d0274304e87620ed91649fcb76825eda009df8680424cf4f5a0025363eb601138d803967b683324dad4e2396a79a6da05026abf7436a35737826e616e17ac46f865b3d673d4d16e45ce0295538cdc9d82c39fecb7d30c6ed43000000b02cd3e5cc8448c47f0483947d67fc98d5b170d00f4645bd20558fafaa53efbe90124f1036a3fc97c5b495a1d7bb59ebfb25ebf2a014fa79f8c962372e01cce5bba988fe23f896f905373f0c15f87d5444e62ee642f6bc5aab6827a1927a02dde9e17402d6d61b291fb656a207f0cd00f91dcf38f39cd9d4d02d55f361022ece978646fd530d0bd8f6abf37b76b5b80f910c093a18185e13b0d86005f99c0f92fccf0b5795d28b8248ea9381babe0bf7cc00000168000000b02ce43bd19ad1249edc9d1e32196c3dae72168617b14c5ef0234c4393c460924faf31d9c5285e1148c2de0391e60c7683c15fab54f75529d55ff0292c266b09988d853104603fe59737ac8d688bbc951ac4f27ab759c3969dca5d58cff318ec83124455d243dfdf753cdec33ef01603b22b0ad459bb47bbd2c0f8337b32543dfa2a47f479bff3b68fa1815eb93f92d9312e96122cda651262b60be4a3471d03ee134a163bf5cafa662362932c22522d1f000000b026128fcb3c3b5dd1675a6e95006bd8cc689bf6562c65b97f8bcb80638cb28571b4bc752e0d1a9effc7a600e95ca6a3d6189f7bc4b9ea70b99c1e8d1af46f57690b34ed1aa60042c4761e2db6934bf8586d7f033eea674d329644a8f7b308133a601ad4611563300faa7853adf432aeab2dced4fce9529e102e6a32784c05802efe0ce17c158b5596904ac1a6def6b200230b71fc53303d3524d0043a8fa18f7a321e9e64f4a173133f60ab3ca7b475e400000168000000b00a2e875052c951800268e930066a018bc5463127d5e9058099291b45b30eece786cca005f78ba1a06a52e72b87d7df8d5f998c0df3d7a6a0e6b601608cff65432b37c01cf4caae00875583b33a9c5f05b4da81f25d790b3b88813f17ad0adf30531bb9af5ba5b97962f0a5ab77013bef2fee41c7a8c40261c693f9615ee348f09948836a3fe8ec417bbd4037425492e119a2f39556380e8e59bc86193e02baa82d21fd8d2fa9e8d8ca8e69407c7c5376000000b00695490eb1a79999a58fd2b3b98a9a5f386fc1c01c2b0c50272e27889efd377cf42ad735afd2d0b56b4fb964e9900c2328872e1930ac1e82d4b217aaa32d2c079a58fbdc15b5f492966d8c0f805557a5ed1462368e87f796d54a5bcb50ab672594107cd445237b7e85aee0cee4170d9307c76a4c4f8c9642e37fab9c8a7b1c46441aa635058b677928247c6092a4b110268b212d1f1697dc7d333215f0da64b35e7bea9a39593babb4f8ecc52dbdfe9900000168000000b002bb68f5550be0e7ffcd2a43dcf0d266b00b076afd7856d2e286a49b5beb80841230f6ba2f4a213262939f521c1f747a9846957fec086f95f6680c8d9f7c9c5a123597367d052feb9c36f70eec31d05feb0d141224a95aa237b13fe4700fb8aea763e09749588beb6f8aee7f99f66102086582f0b3fb621aa4af32995a96daa9c55aca376720f36819a1d2a36bcdbc25210ac83ed5a20dd69d170a0010a506f6dee00d75046816aeac48c7a2d4335b3f000000b009aea66b22d90adb6431eb0677ac36e685f7a2202ed2eaff09fe81edc678e8165dd42adbd0472e4009585b1b1f3360ef32e9399fd150a4f9c5058b195a12444884ddf0f11a0af641e9300fc49523aa226d588a2f8334c2496f6d23a1247d94c0d5b23b40ac8020ac0ef07f932f67f8f1125d7f68a91dcf5a1c45c8a7a5eeacd480b6f7bf37c3bfb212bd3b5486a2f18208784c7a3c8a9137b1ba5a3fe6098a12b81d40e945b3a319c659d040fab1f8e300000168000000b015b2b402c1cc1ccbe4dd860781b5bcd0a8bfc95e8bcac7ae8655ffdfb874d911750b62b347ec3ac47fafbf19b96461674e9e7a12095998664f7285ed48da6f1c805328fdc236e2efa7e844434e0b6904b43c8ea5ca6db80bb1086c4c8916dda75fa92cbf760efe9cba3b8a0ff4c86d332b2ff91a2cb265555cc7909d1503c65faaeabf1ddd1595f274a9d0cad9344ad5031e42f43714ee1c5afbcfa69238c073d07231d7747a8717213cc5023c5552dc000000b0267e3c8243d43a9c7be186f0228bfd3520f8a312e724fc1629990cf5d11336af11c13578147332e1857e7c56bd2398ea0adcc64dc8082a71ccc04faf0f54ea1a38b30fd9aad52c058795d6913fe36bcdb8d2b44345240aa310ee0b35f7e99f5389433bd43794a19c13942a7047f1baae0417576a9c8aa0cdf84345c8b566ac7314545f0fd9a0298d74370961b27e50a32737603aad4254b1ce13d9a7f4c944f7898701c2a6670422b5834aaa5d523b7400000168000000b028eab05cc7a9ab6bbfa1aaaa57b5706b6c02e6dcb9a3cc520d47796a28c5a4a97d466b0e778091138f978f694405d2b4a82e3282990409daa353503a481ecebd364363974e82c1bab36b6d6637d78efbe50ef393168c6f3572889abd8cbd1ee440cc1fb136e87d1945771b91ed68374f247bbb0e5f0b5d78e00fd5cb3f243a3fbf612653c534dffbcec70d310e8f13a90210f6d2c6f3066fcdd12f53eaf1853ac4708ecafd182ab856314b940c804392000000b022622475377043c57c983d696698537cea86a76317bfbcb7b373be37ce8204bfad6fc9f36f3ca762981df01f2cebe133a617dadc09840d8f43967ff195285ebb0ad643e8ab1722669748bfff113b26d6cb23ec39985618e38e92b1b7a7dd77f49f43e85d99dafc49d37ce00bffd5c8b4135470463b51317ed877176361fad71569048a55e24124014ea30378ab0cb77d2bea46406100696008cc4857faf4a242bfe8bcdfe00803d38e2643b41492c7c100000168000000b02fabb5f4b85cca0af0f6bacd019062a0c06b0e13894a7b1fc0f560ccdfc379bed83d8aee9d171472f051da79a061b81ea4be0e39099c0eec2045ab09e6ad750f33eaf67981d4e90a7c3df52e91c927cdce1e19b0b3d6be84446f5f2236c1ac5dc4edcfcc9b79d272329ff05698716b9408df92f555fcb39424a40da6eaee924df4247e223a0631c51e89f275d02210ec2ab338bae7756575210b6d9bebc630bff5715516087d5c0e58f1a8a8a295a050000000b0112bb40c3b6570ba72939669445de332a18f2014ab4e0c574d7d1747a84f7502d6cffb7017e587d93f103237ada33af7b1209a5a104e3cbfe84cc3d7d38262c9e189da148fe8b0aa70a765284032525d7d3a0f51cc86e8b0c93797f9c465f078aae4e524252c27748379297abe97ed4103e6b94fa6e7c7a41ab0d30ef6a1ad9c5bea35d0ab105d22e5c0841ac1138fac18a9e9e0b1a910e595b3f14c928ee8ad710dd727567f137d4ffe701f36e12916", + "txsEffectsHash": "0x598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a", +>>>>>>> 8567078ca (enabling in hash check in Rollup) "decodedHeader": { "contentCommitment": { - "inHash": "0x0000000000000000000000000000000000000000000000000000000000000000", + "inHash": "0x12d1f5d62da951978ebb2403a72404552c0095d3ca881525873f8da95b998c66", "outHash": "0x3c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d", "txTreeHeight": 2, +<<<<<<< HEAD "txsEffectsHash": "0x80dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b" +======= + "txsEffectsHash": "0x598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a" +>>>>>>> 8567078ca (enabling in hash check in Rollup) }, "globalVariables": { "blockNumber": 2, "chainId": 31337, +<<<<<<< HEAD "timestamp": 1710254426, "version": 1, "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", @@ -73,6 +84,16 @@ "lastArchive": { "nextAvailableLeafIndex": 2, "root": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f51410" +======= + "timestamp": 1710844952, + "version": 1, + "coinbase": "0x275dcb8d3b95fac9225dbb076df61c993df26336", + "feeRecipient": "0x1a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27" + }, + "lastArchive": { + "nextAvailableLeafIndex": 2, + "root": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8" +>>>>>>> 8567078ca (enabling in hash check in Rollup) }, "stateReference": { "l1ToL2MessageTree": { @@ -95,8 +116,14 @@ } } }, +<<<<<<< HEAD "header": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f5141000000002000000000000000000000000000000000000000000000000000000000000000280dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b00000000000000000000000000000000000000000000000000000000000000003c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d06c76caee115a61eeb6788977c68a3bea359061b678a1a4f5ffde13e0451717b00000020023ef973dbaa366409f7a01a4ced696227685ce75e57b510d0e7015ebfa72c5000000200231b77b7e0311a71fae5cec0f0281816950f94a24bfc2e67c5ae8619c6ed4c88000002802ae3a1bf2752c8c8bd6741bb3fd0d9e3811dbf7681454436125ccb7afeca31c9000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f0695aa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", "l1ToL2MessagesHash": "0xa10cc8559615be5a44cfb608374b1f84fd11cdb5844ebffafd92a77c068350f1", "publicInputsHash": "0x2fc68717ed22432d1f847c66d73d0bad1bff27fac3e2007a5848fecf97001c99" +======= + "header": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8000000020000000000000000000000000000000000000000000000000000000000000002598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a12d1f5d62da951978ebb2403a72404552c0095d3ca881525873f8da95b998c663c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d06c76caee115a61eeb6788977c68a3bea359061b678a1a4f5ffde13e0451717b00000020023ef973dbaa366409f7a01a4ced696227685ce75e57b510d0e7015ebfa72c5000000200231b77b7e0311a71fae5cec0f0281816950f94a24bfc2e67c5ae8619c6ed4c88000002802ae3a1bf2752c8c8bd6741bb3fd0d9e3811dbf7681454436125ccb7afeca31c9000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f96c18275dcb8d3b95fac9225dbb076df61c993df263361a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27", + "l1ToL2MessagesHash": "0xa10cc8559615be5a44cfb608374b1f84fd11cdb5844ebffafd92a77c068350f1", + "publicInputsHash": "0x10740dc03cd59c9c18d6131a243be05271bcaab6df1e15c798c6c2f14d12d811" +>>>>>>> 8567078ca (enabling in hash check in Rollup) } } \ No newline at end of file From 1ba546027a30e27f6887abe1d5c906154f9f6f98 Mon Sep 17 00:00:00 2001 From: benesjan Date: Tue, 12 Mar 2024 15:00:54 +0000 Subject: [PATCH 21/39] WIP --- l1-contracts/test/fixtures/empty_block_0.json | 10 +++--- l1-contracts/test/fixtures/empty_block_1.json | 35 ++++--------------- l1-contracts/test/fixtures/mixed_block_0.json | 27 ++------------ 3 files changed, 15 insertions(+), 57 deletions(-) diff --git a/l1-contracts/test/fixtures/empty_block_0.json b/l1-contracts/test/fixtures/empty_block_0.json index c67d17a6f445..4c0fe6c2f710 100644 --- a/l1-contracts/test/fixtures/empty_block_0.json +++ b/l1-contracts/test/fixtures/empty_block_0.json @@ -35,7 +35,7 @@ ] }, "block": { - "archive": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac", + "archive": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e", "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { @@ -50,8 +50,8 @@ "chainId": 31337, "timestamp": 0, "version": 1, - "coinbase": "0xeacbed58a3350230ff40d350a9c64be239280c66", - "feeRecipient": "0x19f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5" + "coinbase": "0x86410eb686410eb686410eb686410eb686410eb6", + "feeRecipient": "0x2c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062" }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -78,8 +78,8 @@ } } }, - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000eacbed58a3350230ff40d350a9c64be239280c6619f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a6900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000086410eb686410eb686410eb686410eb686410eb62c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x27935ee6d68fb2c005e164b1e06c2388d7bab6c29eea9c465908be5991fbb4ca" + "publicInputsHash": "0x121c8dc29ee3833c0aff8322cb81f2585b26da5e3f9301cc878852f222ff9409" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/empty_block_1.json b/l1-contracts/test/fixtures/empty_block_1.json index 43091b52b60a..8893c5a4e176 100644 --- a/l1-contracts/test/fixtures/empty_block_1.json +++ b/l1-contracts/test/fixtures/empty_block_1.json @@ -35,11 +35,7 @@ ] }, "block": { -<<<<<<< HEAD - "archive": "0x0dbc2a0e8143bb92a0f8a92c8a9862c4577f15b01330d89960032af0dadf5b52", -======= - "archive": "0x26f59272a35a1f3d432c941a961518225f570af8926ab9082be0d58462975619", ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "archive": "0x216e92622b4bac1b1cc76892c9d4b85dd97aebd46e6f06bd2a907dffebfe9571", "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { @@ -52,25 +48,14 @@ "globalVariables": { "blockNumber": 2, "chainId": 31337, -<<<<<<< HEAD - "timestamp": 1710254478, + "timestamp": 1710255537, "version": 1, - "coinbase": "0x66440eb666440eb666440eb666440eb666440eb6", - "feeRecipient": "0x061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba" + "coinbase": "0x86410eb686410eb686410eb686410eb686410eb6", + "feeRecipient": "0x2c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062" }, "lastArchive": { "nextAvailableLeafIndex": 2, - "root": "0x2c80dc48494603ac15fa1ea88e3cd79565bdd54cf067a9bb4da9849870b60c69" -======= - "timestamp": 1710844994, - "version": 1, - "coinbase": "0xeacbed58a3350230ff40d350a9c64be239280c66", - "feeRecipient": "0x19f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5" - }, - "lastArchive": { - "nextAvailableLeafIndex": 2, - "root": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac" ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "root": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e" }, "stateReference": { "l1ToL2MessageTree": { @@ -93,14 +78,8 @@ } } }, -<<<<<<< HEAD - "header": "0x2c80dc48494603ac15fa1ea88e3cd79565bdd54cf067a9bb4da9849870b60c690000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a90000000000000000000000000000000000000000000000000000000000000000c78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f0698e66440eb666440eb666440eb666440eb666440eb6061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba", - "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x0fc84e6176557ac21fb1dd501d124270791bcd21474d814112b3ae4ed0c456bb" -======= - "header": "0x20c801f2ee9453fa49caae58b4cec6f0ee05e59ed976c19488273900a92ce4ac0000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f96c42eacbed58a3350230ff40d350a9c64be239280c6619f22da4b7db9539deeff24fb31c9493dc2dd65b13ca88567ac3edbbb4adefa5", + "header": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e0000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f06db186410eb686410eb686410eb686410eb686410eb62c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x00f8983da39c512e02fa3befd1c777fa7f3a9d8a5c3852193af88afa8c4f6c86" ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "publicInputsHash": "0x11889404e0082fa45abaf2c31884446071c5eca2df4a48708f097cb317a02445" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/mixed_block_0.json b/l1-contracts/test/fixtures/mixed_block_0.json index b69990d26d71..9fff8b593dd9 100644 --- a/l1-contracts/test/fixtures/mixed_block_0.json +++ b/l1-contracts/test/fixtures/mixed_block_0.json @@ -52,38 +52,23 @@ ] }, "block": { -<<<<<<< HEAD - "archive": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f51410", + "archive": "0x13f140bd7a9f10e22080224a259f8533eaadab7c7bf10c7a3175adaf82a6af92", "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02d622c8b62e54bf51a1fd35b67456b229dae3bc6126977f1b2d88662a3418347a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb61b97deda6e3f6e57e02e3e50f41a6c05d9d508147d543e0d9fbbe858c33d4e6a2185f8c0152162e19e296fff1a7e1664c5c8194faf05fc0450c5725c0de96009000000b014b645af1d3b7df259bc545d7f52bc412546986a5f76ff3b331cb8dbddf1c9c2ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb602ebf7fe2895a0551fcabf530c27bd24616d64b8ca61c55720001ad1fded94e508da11e3cf7794deddc5f101328b67834d6075f3fc13834dd109a4d54899a684000000b02c6ead45b8c3501951a91b1618e165bcd512dd57263df715f742e0e908a2103eb03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb61aa45f94c41d727c17b7860ba5b666a01139a9a59128bd31e42642df289ddb612092797a6aff6705d5b2b7b9cc1a10fefd2cbae0c2da7b28952fcce27349ed000000021c000000b013c2c6697319821691459c1830eeb6db5cab39fb734b7e5f77871362435256b9b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb601f878b87e73a4795754070dbdc3b7be98d20649de36447b646a7558634e21dc07e6929e25559903154f38bbe427621d84c517850fe802721573ff5badfa337b000000b02b7b2e000ea1543d893262d0ca7d60570c777ee83a12763a3bad3b6f6e029d35b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb619b0e04f19fb76a04f40cdc65752613a489e4b36a4fd3c5628909d658dfe68581f9efa34c0dd6b2a0d3bff747db60b9934915c71d6aefa4cd99a2768d8aa79f7000000b012cf4723c8f7863ac8cee3d2e28ab175940fdb8c871ffd83bbf16de8a8b2e3b0bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb60104f972d451a89d8edd4ec86f5fb258d036a7daf20ac39fa8d4cfdec8aeaed306f313587b339d274cd8807695c35cb7bc29b91623bc819659de59e2135ac0720000021c000000b02a87aeba647f5861c0bbaa8b7c195af143dc20794de6f55e801795f5d3632a2cc03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb618bd61096fd97ac486ca158108ee5bd48002ecc7b8d1bb7a6cfaf7ebf35ef54f1eab7aef16bb6f4e44c5472f2f5206336bf5fe02ea8379711e0481ef3e0b06ee000000b011dbc7de1ed58a5f00582b8d9426ac0fcb747d1d9af47ca8005bc86f0e1370a7c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb600117a2d2a2facc1c666968320fbacf3079b496c05df42c3ed3f2a652e0f3bca05ff9412d111a14b8461c831475f5751f38e5aa7379100ba9e48b46878bb4d69000000b029942f74ba5d5c85f844f2462db5558b7b40c20a61bb7482c481f07c38c3b723c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb617c9e1c3c5b77ee8be535d3bba8a566eb7678e58cca63a9eb165527258bf82461db7fba96c9973727c4e8ee9e0ee00cda35a9f93fe57f895626edc75a36b93e50000021c000000b010e8489874b38e8337e1734845c2a6aa02d91eaeaec8fbcc44c622f57373fd9ecc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb62f82495a613f510fb64023f45418ffea6733d345936d3279758b7a7f836fc8c2050c14cd26efa56fbbeb0febf8fb51ec2af2fc384b657fdee2b30eeede1bda60000000b028a0b02f103b60aa2fce3a00df515025b2a5639b758ff3a708ec4b029e24441ad03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb616d6627e1b95830cf5dca4f66c265108eecc2fe9e07ab9c2f5cfacf8be200f3d1cc47c63c2777796b3d7d6a49289fb67dabf4125122c77b9a6d936fc08cc20dc000000b00ff4c952ca9192a76f6abb02f75ea1443a3dc03fc29d7af089307d7bd8d48a95d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb62e8eca14b71d5533edc96baf05b4fa849e9874d6a741b19db9f5d505e8d055b9041895877ccda993f37457a6aa974c8662579dc95f39ff03271d6975437c67570000021c000000b027ad30e9661964ce675781bb90ed4abfea0a052c896472cb4d56a5890384d111d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb615e2e338717387312d65ecb11dc24ba32630d17af44f38e73a3a077f23809c341bd0fd1e18557bbaeb611e5f4425f6021223e2b62600f6ddeb4391826e2cadd3000000b00f014a0d206f96cba6f402bda8fa9bde71a261d0d671fa14cd9ad8023e35178cdc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb62d9b4acf0cfb59582552b369b750f51ed5fd1667bb1630c1fe602f8c4e30e2b003251641d2abadb82afd9f615c33472099bc3f5a730e7e276b87c3fba8dcf44e000000b026b9b1a3bbf768f29ee0c9764289455a216ea6bd9d38f1ef91c1000f68e55e08e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb614ef63f2c7518b5564ef346bcf5e463d5d95730c0823b80b7ea4620588e1292b1add7dd86e337fdf22ea6619f5c1f09c4988844739d576022fadec08d38d3aca0000021c000000b00e0dcac7764d9aefde7d4a785a969678a9070361ea46793912053288a395a483e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb62ca7cb8962d95d7c5cdbfb2468ecefb90d61b7f8ceeaafe642ca8a12b3916fa7023196fc2889b1dc6286e71c0dcf41bad120e0eb86e2fd4baff21e820e3d8145000000b025c6325e11d56d16d66a1130f4253ff458d3484eb10d7113d62b5a95ce45eaffe83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb613fbe4ad1d2f8f799c787c2680fa40d794fa149d1bf8372fc30ebc8bee41b62219e9fe92c41184035a73add4a75deb3680ed25d84da9f5267418468f38edc7c1000000b00d1a4b81cc2b9f14160692330c329112e06ba4f2fe1af85d566f8d0f08f6317aec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb62bb44c43b8b761a0946542df1a88ea5344c65989e2bf2f0a8734e49918f1fc9e013e17b67e67b6009a102ed6bf6b3c550885827c9ab77c6ff45c7908739e0e3c0000021c000000b024d2b31867b3713b0df358eba5c13a8e9037e9dfc4e1f0381a95b51c33a677f6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb613086567730d939dd401c3e132963b71cc5eb62e2fccb6540779171253a2431918f67f4d19ef882791fcf58f58f9e5d0b851c769617e744ab882a1159e4e54b8000000b00c26cc3c2209a3384d8fd9edbdce8bad17d0468411ef77819ad9e7956e56be71f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb62ac0ccfe0e9565c4cbee8a99cc24e4ed7c2afb1af693ae2ecb9f3f1f7e528995004a9870d445ba24d1997691710736ef3fea240dae8bfb9438c6d38ed8fe9b33000000b023df33d2bd91755f457ca0a6575d3528c79c8b70d8b66f5c5f000fa2990704edf83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb61214e621c8eb97c20b8b0b9be432360c03c357bf43a135784be37198b902d010180300076fcd8c4bc9863d4a0a95e06aefb668fa7552f36efcecfb9c03aee1af0000021c000000b00b334cf677e7a75c851921a86f6a86474f34e81525c3f6a5df44421bd3b74b68fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb629cd4db8647369e90377d2547dc0df87b38f9cac0a682d53100999a5e3b3168c2fbb679e0b555e72c1730402a42489e69f82ade73c19eb49c11323a92e5f282b000000b023533ea2e37804772c2110f02930ea449560b0aba9928ecbd3a6cb5f73909f15003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6112166dc1ec99be64314535695ce30a63b27f9505775b49c904dcc1f1e635d07170f80c1c5ab9070010f8504bc31db05271b0a8b8927729341575622690f6ea6000000b00aa757c69dce36746bbd91f2413e3b631cf90d4ff6a0161553eafdd8ae40e590043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6294158888a59f900ea1c429e4f9494a38153c1e6db444cc284b05562be3cb0b42f2f726e313bed8aa817744c75f83f026d46d3220cf60ab935b9df6608e8c25300000fa400000168000000b0225fbf5d3956089b63aa58aadacce4deccc5523cbd670df0181125e5d8f12c0c083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6109571ac44b02afe29b8c3a067a1e5c208ec1e8b2851d40c04f487dbf8ecf72f16838b91eb921f87e7b3f54e8e059020f4df2fc65a039202b5fe11df439908ce000000b009b3d880f3ac3a98a346d9acf2da35fd545daee10a7495399855585f13a172870c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb6284dd942e037fd2521a58a5901308f3db8b86377ef18cbe6c91aafe9239d3dab2e3bf3288719f1aedfa0bc072794399ca4ab74b320ca89dd7a2439ec6e494f4a00000168000000b0216c40178f340cbf9b33a0658c68df790429f3cdd13b8d145c7b806c3e51b903103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb60fa1f2669a8e2f2261420b5b193de05c4050c01c3c265330495ee2625e4d842615900c4c417023ac1f3d3d093fa18abb2c43d1576dd81126fa686c65a8f995c5000000b008c0593b498a3ebcdad02167a47630978bc250721e49145ddcbfb2e57901ff7e143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6275a59fd36160149592ed213b2cc89d7f01d050902ed4b0b0d850a6f88fdcaa22d4873e2dcf7f5d3172a03c1d9303436dc101644349f0901be8e9472d3a9dc4100000168000000b02078c0d1e51210e3d2bce8203e04da133b8e955ee5100c38a0e5daf2a3b245fa183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb60eae7320f06c334698cb5315cad9daf677b561ad4ffad2548dc93ce8c3ae111d149c8d06974e27d056c684c3f13d855563a872e881ac904b3ed2c6ec0e5a22bc000000b007ccd9f59f6842e11259692256122b31c326f203321d9382212a0d6bde628c751c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb62666dab78bf4056d90b819ce646884722781a69a16c1ca2f51ef64f5ee5e57992c54f49d32d5f9f74eb34b7c8acc2ed11374b7d54873882602f8eef9390a693800000168000000b01f85418c3af015080a462fdaefa0d4ad72f336eff8e48b5ce55035790912d2f1203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb60dbaf3db464a376ad0549ad07c75d590af1a033e63cf5178d233976f290e9e1413a90dc0ed2c2bf48e4fcc7ea2d97fef9b0d147995810f6f833d217273baafb3000000b006d95aaff546470549e2b0dd07ae25cbfa8b939445f212a6659467f243c3196c243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb625735b71e1d20991c841618916047f0c5ee6482b2a9649539659bf7c53bee4902b61755788b3fe1b863c93373c68296b4ad959665c48074a4763497f9e6af62f00000168000000b01e91c24690ce192c41cf7795a13ccf47aa57d8810cb90a8129ba8fff6e735fe8283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb60cc774959c283b8f07dde28b2e11d02ae67ea4cf77a3d09d169df1f58e6f2b0b12b58e7b430a3018c5d9143954757a89d271b60aa9558e93c7a77bf8d91b3caa000000b005e5db6a4b244b29816bf897b94a206631f0352559c691caa9fec278a923a6632c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb6247fdc2c37b00db5ffcaa943c7a079a6964ae9bc3e6ac877dac41a02b91f71872a6df611de92023fbdc5daf1ee042405823dfaf7701c866e8bcda40603cb832600000168000000b01d9e4300e6ac1d507958bf5052d8c9e1e1bc7a12208d89a56e24ea85d3d3ecdf303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb60bd3f54ff2063fb33f672a45dfadcac51de346608b784fc15b084c7bf3cfb80211c20f3598e8343cfd625bf40611752409d6579bbd2a0db80c11d67f3e7bc9a1000000b004f25c24a1024f4db8f540526ae61b006954d6b66d9b10eeee691cff0e84335a343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6238c5ce68d8e11da3753f0fe793c7440cdaf8b4d523f479c1f2e74891e7ffe7e297a76cc34700663f54f22ac9fa01e9fb9a29c8883f10592d037fe8c692c101d00000168000000b01caac3bb3c8a2174b0e2070b0474c47c19211ba3346208c9b28f450c393479d6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb60ae0760a47e443d776f072009149c55f5547e7f19f4ccee59f72a702593044f910ce8fefeec6386134eba3aeb7ad6fbe413af92cd0fe8cdc507c3105a3dc5698000000b003fedcdef6e05371f07e880d1c82159aa0b97847816f901332d3778573e4c0513c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb62298dda0e36c15fe6edd38b92ad86edb05142cde6613c6c06398cf0f83e08b752886f7868a4e0a882cd86a67513c1939f1073e1997c584b714a25912ce8c9d1400000168000000b01bb7447592682598e86b4ec5b610bf165085bd34483687edf6f99f929e9506cd403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb609ecf6c49dc247fbae79b9bb42e5bff98cac8982b3214e09e3dd0188be90d1f00fdb10aa44a43c856c74eb6969496a58789f9abde4d30c0094e68b8c093ce38f000000b0030b5d994cbe57962807cfc7ce1e1034d81e19d895440f37773dd20bd9454d48443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb621a55e5b394a1a22a6668073dc7469753c78ce6f79e845e4a8032995e941186c27937840e02c0eac6461b22202d813d4286bdfaaab9a03db590cb39933ed2a0b00000168000000b01ac3c52fe84629bd1ff4968067acb9b087ea5ec55c0b07123b63fa1903f593c4483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb608f9777ef3a04c1fe6030175f481ba93c4112b13c6f5cd2e28475c0f23f15ee70ee791649a8240a9a3fe33241ae564f2b0043c4ef8a78b24d950e6126e9d7086000000b00217de53a29c5bba5f9117827fba0acf0f82bb69a9188e5bbba82c923ea5da3f4c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb620b1df158f281e46ddefc82e8e10640f73dd70008dbcc508ec6d841c4ea1a563269ff8fb360a12d09beaf9dcb4740e6e5fd0813bbf6e82ff9d770e1f994db70200000168000000b019d045ea3e242de1577dde3b1948b44abf4f00566fdf86367fce549f695620bb503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb60805f839497e50441d8c4930a61db52dfb75cca4daca4c526cb1b6958951ebde0df4121ef06044cddb877adecc815f8ce768dde00c7c0a491dbb4098d3fdfd7d000000b001245f0df87a5fde971a5f3d3156056946e75cfabced0d8000128718a4066736543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb61fbe5fcfe506226b15790fe93fac5ea9ab421191a191442d30d7dea2b402325a25ac79b58be816f4d374419766100908973522ccd3430223e1e168a5feae43f900000168000000b018dcc6a4940232058f0725f5cae4aee4f6b3a1e783b4055ac438af25ceb6adb2583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6071278f39f5c5468551590eb57b9afc832da6e35ee9ecb76b11c111beeb278d50d0092d9463e48f21310c2997e1d5a271ecd7f712050896d62259b1f395e8a74000000b00030dfc84e586402cea3a6f7e2f200037e4bfe8bd0c18ca4447ce19f0966f42d5c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb61ecae08a3ae4268f4d0257a3f1485943e2a6b322b565c351754239291962bf5124b8fa6fe1c61b190afd895217ac03a2ce99c45de7178148264bc32c640ed0f0380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b017e9475ee9e03629c6906db07c80a97f2e1843789788847f08a309ac34173aa9603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6061ef9adf53a588c8c9ed8a60955aa626a3f0fc702734a9af5866ba2541305cc0c0d13939c1c4d164a9a0a542fb954c15632210234250891a68ff5a59ebf176b000000b02fa1aef585680850be7d3469160f52fadde488655e4f7c59ccc931b95ec78125643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb61dd7614490c22ab3848b9f5ea2e453de1a0b54b3c93a4275b9ac93af7ec34c4823c57b2a37a41f3d4286d10cc947fe3d05fe65eefaec006c6ab61db2c96f5de7000000b016f5c8193fbe3a4dfe19b56b2e1ca419657ce509ab5d03a34d0d64329977c7a0683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6052b7a684b185cb0c4282060baf1a4fca1a3b1581647c9bf39f0c628b97392c30b19944df1fa513a8223520ee1554f5b8d96c29347f987b5eafa502c041fa4620000021c000000b02eae2fafdb460c74f6067c23c7ab4d95154929f67223fb7e11338c3fc4280e1c6c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb61ce3e1fee6a02ed7bc14e71954804e78516ff644dd0ec199fe16ee35e423d93f22d1fbe48d8223617a1018c77ae3f8d73d6307800ec07f90af2078392ecfeade000000b0160248d3959c3e7235a2fd25dfb89eb39ce1869abf3182c79177beb8fed85497703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb60437fb22a0f660d4fbb1681b6c8d9f96d90852e92a1c48e37e5b20af1ed41fba0a26150847d8555eb9ac99c992f149f5c4fb64245bce06da2f64aab269803159000000b02dbab06a312410992d8fc3de7947482f4cadcb8785f87aa2559de6c629889b13743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb61bf062b93c7e32fbf39e2ed4061c491288d497d5f0e340be428148bc4984663621de7c9ee3602785b19960822c7ff37174c7a9112294feb4f38ad2bf943077d50000021c000000b0150ec98deb7a42966d2c44e09154994dd446282bd30601ebd5e2193f6438e18e783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb603447bdcf6d464f9333aafd61e299a31106cf47a3df0c807c2c57b358434acb1093295c29db65982f135e184448d448ffc6005b56fa285fe73cf0538cee0be50000000b02cc73124870214bd65190b992ae342c984126d1899ccf9c69a08414c8ee9280a7c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb61afce373925c37202b27768eb7b843acc039396704b7bfe286eba342aee4f32d20eafd59393e2ba9e922a83cde1bee0bac2c4aa236697dd937f52d45f99104cc000000b0141b4a48415846baa4b58c9b42f093e80baac9bce6da81101a4c73c5c9996e85803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb60250fc974cb2691d6ac3f790cfc594cb47d1960b51c5472c072fd5bbe99539a8083f167cf3945da728bf293ef6293f2a33c4a74683770522b8395fbf34414b470000021c000000b02bd3b1dedce018e19ca25353dc7f3d63bb770ea9ada178eade729bd2f449b501843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb61a09642de83a3b4462b0be4969543e46f79ddaf8188c3f06cb55fdc9144580241ff77e138f1c2fce20abeff78fb7e8a5e390ec334a3dfcfd7c5f87cc5ef191c3000000b01327cb0297364adedc3ed455f48c8e82430f6b4dfaaf00345eb6ce4c2ef9fb7c883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6015d7d51a2906d41a24d3f4b81618f657f36379c6599c6504b9a30424ef5c69f074b9737497261cb604870f9a7c539c46b2948d7974b8446fca3ba4599a1d83e000000b02ae0329932be1d05d42b9b0e8e1b37fdf2dbb03ac175f80f22dcf65959aa41f88c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb61915e4e83e183f689a3a06041af038e12f027c892c60be2b0fc0584f79a60d1b1f03fecde4fa33f2583537b24153e3401af58dc45e127c21c0c9e252c4521eba0000021c000000b012344bbced144f0313c81c10a628891c7a740cdf0e837f58a32128d2945a8873903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb60069fe0bf86e7165d9d6870632fd89ffb69ad92d796e457490048ac8b4565396065817f19f5065ef97d1b8b45961345ea28dea68ab20036b410e14cbff026535000000b029ecb353889c212a0bb4e2c93fb732982a4051cbd54a7733674750dfbf0aceef943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6182265a293f6438cd1c34dbecc8c337b66671e1a40353d4f542ab2d5df069a121e107f883ad838168fbe7f6cf2efddda525a2f5571e6fb4605343cd929b2abb1000000b01140cc7742f253274b5163cb57c483b6b1d8ae702257fe7ce78b8358f9bb156a983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb62fdacd392f7e15b3c9b01477661adcf71633630706fc352a1850dae309b6e08e056498abf52e6a13cf5b006f0afd2ef8d9f28bf9bef4828f85786f526462f22c0000021c000000b028f9340dde7a254e433e2a83f1532d3261a4f35ce91ef657abb1ab66246b5be69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb6172ee65ce9d447b1094c95797e282e159dcbbfab5409bc7398950d5c446727091d1d004290b63c3ac747c727a48bd87489bed0e685bb7a6a499e975f8f1338a8000000b0104d4d3198d0574b82daab8609607e50e93d5001362c7da12bf5dddf5f1ba261a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb62ee74df3855c19d801395c3217b6d7914d9804981ad0b44e5cbb35696f176d85047119664b0c6e3806e44829bc99299311572d8ad2c901b3c9e2c9d8c9c37f23000000b02805b4c8345829727ac7723ea2ef27cc990994edfcf3757bf01c05ec89cbe8dda43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6163b67173fb24bd540d5dd342fc428afd530613c67de3b97dcff67e2a9c7b4001c2980fce694405efed10ee25627d30ec1237277998ff98e8e08f1e5f473c59f0000021c000000b00f59cdebeeae5b6fba63f340bafc78eb20a1f1924a00fcc570603865c47c2f58a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb62df3ceaddb3a1dfc38c2a3ecc952d22b84fca6292ea53372a1258fefd477fa7c037d9a20a0ea725c3e6d8fe46e35242d48bbcf1be69d80d80e4d245f2f240c1a000000b0271235828a362d96b250b9f9548b2266d06e367f10c7f4a034866072ef2c75d4ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb61547e7d195904ff9785f24eee160234a0c9502cd7bb2babc2169c2690f2840f71b3601b73c724483365a569d07c3cda8f8881408ad6478b2d2734c6c59d45296000000b00e664ea6448c5f93f1ed3afb6c987385580693235dd57be9b4ca92ec29dcbc4fb03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb62d004f6831182220704beba77aeeccc5bc6147ba4279b296e58fea7639d88773028a1adaf6c8768075f6d79f1fd11ec7802070acfa71fffc52b77ee5948499110000021c000000b0261eb63ce01431bae9da01b406271d0107d2d810249c73c478f0baf9548d02cbb43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb61454688beb6e541dafe86ca992fc1de443f9a45e8f8739e065d41cef7488cdee1a428271925048a76de39e57b95fc8432fecb599c138f7d716dda6f2bf34df8d000000b00d72cf609a6a63b8297682b61e346e1f8f6b34b471a9fb0df934ed728f3d4946b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb62c0cd02286f62644a7d533622c8ac75ff3c5e94b564e31bb29fa44fc9f39146a01969b954ca67aa4ad801f59d16d1961b785123e0e467f209721d96bf9e52608000000b0252b36f735f235df2163496eb7c3179b3f3779a13870f2e8bd5b157fb9ed8fc2bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb61360e946414c5841e771b4644498187e7b5e45efa35bb904aa3e7775d9e95ae5194f032be82e4ccba56ce6126afbc2dd6751572ad50d76fb5b48017924956c8400000fa400000168000000b00c7f501af04867dc60ffca70cfd068b9c6cfd645857e7a323d9f47f8f49dd63dc03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb62b1950dcdcd42a68df5e7b1cde26c1fa2b2a8adc6a22b0df6e649f830499a16100a31c4fa2847ec8e5096714830913fbeee9b3cf221afe44db8c33f25f45b2ff000000b02437b7b18bd03a0358ec9129695f1235769c1b324c45720d01c570061f4e1cb9c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6126d6a00972a5c661efafc1ef6341318b2c2e780b7303828eea8d1fc3f49e7dc185b83e63e0c50efdcf62dcd1c97bd779eb5f8bbe8e1f61f9fb25bff89f5f97b00000168000000b00b8bd0d546266c009889122b816c6353fe3477d69952f9568209a27f59fe6334c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb62a25d19732b22e8d16e7c2d78fc2bc94628f2c6d7df73003b2cefa0969fa2e583013eb7cd9942316d4e2f485b62666f34e823da8afa8edfa63d8840cb4a63ff7000000b02344386be1ae3e279075d8e41afb0ccfae00bcc36019f131462fca8c84aea9b0cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb61179eabaed08608a568443d9a7d00db2ea278911cb04b74d33132c82a4aa74d3176804a093ea5514147f7587ce33b811d61a9a4cfcb67543e41cb685ef56867200000168000000b00a98518f9c047024d01259e633085dee35991967ad27787ac673fd05bf5ef02bd03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb629325251889032b14e710a92415eb72e99f3cdfe91cbaf27f739548fcf5abb4f2f206c372f72273b0c6c3c4067c2618d85e6df39c37d6d1ea842de931a06ccee000000b02250b926378c424bc7ff209ecc970769e5655e5473ee70558a9a2512ea0f36a7d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb610866b7542e664ae8e0d8b94596c084d218c2aa2ded93671777d87090a0b01ca1674855ae9c859384c08bd427fcfb2ac0d7f3bde108af4682887110c54b7136900000168000000b009a4d249f1e27449079ba1a0e4a458886cfdbaf8c0fbf79f0ade578c24bf7d22d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6283ed30bde6e36d585fa524cf2fab1c8d1586f8fa5a02e4c3ba3af1634bb48462e2cecf185502b5f43f583fb195e5c27bd4b80cad751ec42ecad39197f6759e5000000b0215d39e08d6a466fff8868597e3302041cc9ffe587c2ef79cf047f994f6fc39edc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb60f92ec2f98c468d2c596d34f0b0802e758f0cc33f2adb595bbe7e18f6f6b8ec1158106153fa65d5c839204fd316bad4644e3dd6f245f738c6cf16b92ba17a06000000168000000b008b1530447c0786d3f24e95b96405322a4625c89d4d076c34f48b2128a200a19e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6274b53c6344c3af9bd839a07a496ac6308bd1120b974ad70800e099c9a1bd53d2d396dabdb2e2f837b7ecbb5cafa56c1f4b0225beb266b673117939fe4c7e6dc000000b02069ba9ae3484a943711b0142fcefc9e542ea1769b976e9e136eda1fb4d05095e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb60e9f6ce9eea26cf6fd201b09bca3fd8190556dc5068234ba00523c15d4cc1bb8148d86cf95846180bb1b4cb7e307a7e07c487f003833f2b0b15bc6191f782d5700000168000000b007bdd3be9d9e7c9176ae311647dc4dbcdbc6fe1ae8a4f5e793b30c98ef809710e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb62657d4808a2a3f1df50ce1c25632a6fd4021b2b1cd492c94c4786422ff7c62342c45ee66310c33a7b30813707c96515c2c14c3ecfefaea8b7581ee264a2873d3000000b01f763b5539264eb86e9af7cee16af7388b934307af6bedc257d934a61a30dd8cec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb60dabeda44480711b34a962c46e3ff81bc7ba0f561a56b3de44bc969c3a2ca8af139a0789eb6265a4f2a4947294a3a27ab3ad20914c0871d4f5c6209f84d8ba4e00000168000000b006ca5478f37c80b5ae3778d0f9784857132b9fabfc79750bd81d671f54e12407f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb62564553ae00843422c96297d07cea19777865442e11dabb908e2bea964dcef2b2b526f2086ea37cbea915b2b2e324bf66379657e12cf69afb9ec48acaf8900ca000000b01e82bc0f8f0452dca6243f899306f1d2c2f7e498c3406ce69c438f2c7f916a83f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb60cb86e5e9a5e753f6c32aa7f1fdbf2b5ff1eb0e72e2b33028926f1229f8d35a612a68844414069c92a2ddc2d463f9d14eb11c2225fdcf0f93a307b25ea39474500000168000000b005d6d533495a84d9e5c0c08bab1442f14a90413d104df4301c87c1a5ba41b0fef83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb62470d5f535e64766641f7137b96a9c31aeeaf5d3f4f22add4d4d192fca3d7c222a5eefdadcc83bf0221aa2e5dfce46909ade070f26a3e8d3fe56a33314e98dc1000000b01d8f3cc9e4e25700ddad874444a2ec6cfa5c8629d714ec0ae0ade9b2e4f1f77afc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb60bc4ef18f03c7963a3bbf239d177ed503683527841ffb226cd914ba904edc29d11b308fe971e6ded61b723e7f7db97af227663b373b1701d7e9ad5ac4f99d43c00000168000000b0054ae0036f4113f1cc6530d57ce7f80d18546677e12a139f912e7d6294cb4b2600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb6237d56af8bc44b8a9ba8b8f26b0696cbe64f976508c6aa0191b773b62f9e0919296b709532a6401459a3eaa0916a412ad242a8a03a7867f842c0fdb97a4a1ab8000000b01d03479a0ac8e618c451f78e1676a188c820ab64a7f10b7a5554a56fbf7b91a204400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb60b38f9e91623087b8a606283a34ba26c044777b312dbd19642380765df775cc5112713cebd04fd05485b9431c9af4ccaf03a88ee448d8f8cf34191692a236e6400000168000000b0045760bdc51f181603ee78902e83f2a74fb90808f4fe92c3d598d7e8fa2bd81d08400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb622f1617fb1aadaa2824d293c3cda4be7b413bc9fd9a2c971065e2f730a27a34128df7b65588ccf2c40485aea633df646a006cddb0b548767b767b97654d3b4e0000000b01c0fc85460a6ea3cfbdb3f48c8129c22ff854cf5bbc58a9e99befff624dc1e990c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60a457aa36c010c9fc1e9aa3e54e79d063bac194426b050ba86a261ec44d7e9bc1033948912e301297fe4dbec7b4b4765279f2a7f58620eb137abebef8f83fb5b00000168000000b00363e1781afd1c3a3b77c04ae01fed41871da99a08d311e81a03326f5f8c651410400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb621fde23a0788dec6b9d670f6ee764681eb785e30ed7748954ac889f96f88303827ebfc1fae6ad35077d1a2a514d9f0e0d76b6f6c1f29068bfbd213fcba3441d7000000b01b1c490eb684ee613364870379ae96bd36e9ee86cf9a09c2de295a7c8a3cab9014400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb60951fb5dc1df10c3f972f1f9068397a07310bad53a84cfdecb0cbc72aa3876b30f40154368c1054db76e23a72ce741ff5f03cc106c368dd57c164675f4e488523800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b00270623270db205e7301080591bbe7dbbe824b2b1ca7910c5e6d8cf5c4ecf20b18400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb6210a62f45d66e2eaf15fb8b1a012411c22dcffc2014bc7b98f32e47fd4e8bd2f26f87cda0448d774af5aea5fc675eb7b0ed010fd32fd85b0403c6e831f94cece000000b01a28c9c90c62f2856aedcebe2b4a91576e4e9017e36e88e72293b502ef9d38871c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb6085e7c1817bd14e830fc39b3b81f923aaa755c664e594f030f7716f90f9903aa0e4c95fdbe9f0971eef76b61de833c9996686da1800b0cf9c080a0fc5a451549000000b0017ce2ecc6b92482aa8a4fc04357e275f5e6ecbc307c1030a2d7e77c2a4d7f0220400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb62016e3aeb344e70f28e9006c51ae3bb65a41a153152046ddd39d3f063a494a262604fd945a26db98e6e4321a7811e6154634b28e46d204d484a6c90984f55bc50000021c000000b019354a836240f6a9a2771678dce68bf1a5b331a8f743080b66fe0f8954fdc57e24400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb6076afcd26d9b190c6885816e69bb8cd4e1d9fdf7622dce2753e1717f74f990a10d5916b8147d0d962680b31c901f3733cdcd0f3293df8c1e04eafb82bfa5a240000000b0008963a71c9728a6e213977af4f3dd102d4b8e4d44508f54e74242028fae0bf928400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb61f2364690922eb3360724827034a365091a642e428f4c6021807998c9fa9d71d25117e4eb004dfbd1e6d79d529ade0af7d99541f5aa683f8c911238fea55e8bc000000b01841cb3db81efacdda005e338e82868bdd17d33a0b17872fab686a0fba5e52752c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb606777d8cc3791d30a00ec9291b57876f193e9f8876024d4b984bcc05da5a1d980c6597726a5b11ba5e09fad741bb31ce0531b0c3a7b40b424955560925062f370000021c000000b02ffa32d453a6ccf4d1ed24ec281130078ce41826d1de7f0a6f8e921ce50e98f130400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb61e2fe5235f00ef5797fb8fe1b4e630eac90ae4753cc945265c71f413050a6414241dff0905e2e3e155f6c18fdb49db49b4fdf5b06e7b031d0d7b7e164fb675b3000000b0174e4bf80dfcfef21189a5ee401e8126147c74cb1eec0653efd2c4961fbedf6c34400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb60583fe4719572154d79810e3ccf3820950a3411989d6cc6fdcb6268c3fbaaa8f0b72182cc03915de95934291f3572c683c965254bb888a668dbfb08f8a66bc2e000000b02f06b38ea984d11909766ca6d9ad2aa1c448b9b7e5b2fe2eb3f8eca34a6f25e838400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb61d3c65ddb4def37bcf84d79c66822b85006f8606509dc44aa0dc4e996a6af10b232a7fc35bc0e8058d80094a8ce5d5e3ec629741824f824151e5d89cb51702aa0000021c000000b0165accb263db03164912eda8f1ba7bc04be1165c32c08578343d1f1c851f6c633c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb604907f016f3525790f21589e7e8f7ca38807e2aa9dab4b9421208112a51b37860a7e98e716171a02cd1c8a4ca4f3270273faf3e5cf5d098ad22a0b15efc74925000000b02e133448ff62d53d40ffb4618b49253bfbad5b48f9877d52f8634729afcfb2df40400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb61c48e6980abcf7a0070e1f57181e261f37d427976472436ee546a91fcfcb7e022237007db19eec29c50951053e81d07e23c738d296240165965033231a778fa1000000b015674d6cb9b9073a809c3563a356765a8345b7ed4695049c78a779a2ea7ff95a44400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb6039cffbbc513299d46aaa059302b773dbf6c843bb17fcab8658adb990a7bc47d098b19a16bf51e2704a5d207568f219cab5f9576e33188af1694659c5527d61c0000021c000000b02d1fb5035540d9617888fc1c3ce51fd63311fcda0d5bfc773ccda1b015303fd648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb61b556752609afbc43e976711c9ba20b96f38c9287846c29329b103a6352c0af921438138077cf04dfc9298bff01dcb185b2bda63a9f88089daba8da97fd81c98000000b01473ce270f970b5eb8257d1e54f270f4baaa597e5a6983c0bd11d4294fe086514c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb602a980761af12dc17e33e813e1c771d7f6d125ccc55449dca9f5361f6fdc517408979a5bc1d3224b3c2f19c2082b1c36e2c43707f70607d35afec022ba886313000000b02c2c35bdab1edd85b01243d6ee811a706a769e6b21307b9b8137fc367a90cccd50400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb61a61e80cb678ffe87620aecc7b561b53a69d6ab98c1b41b76e1b5e2c9a8c97f0205001f25d5af472341be07aa1b9c5b292907bf4bdccffae1f24e82fe538a98f0000021c000000b013804ee165750f82efaec4d9068e6b8ef20efb0f6e3e02e5017c2eafb541134854400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb601b6013070cf31e5b5bd2fce93636c722e35c75dd928c900ee5f90a5d53cde6b07a41b1617b1266f73b8617cb9c716d11a28d8990ada86f79f691aa91fe8f00a000000b02b38b67800fce1a9e79b8b91a01d150aa1db3ffc3504fabfc5a256bcdff159c458400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb6196e68c70c57040cada9f6872cf215edde020c4a9fefc0dbb285b8b2ffed24e71f5c82acb338f8966ba528355355c04cc9f51d85d1a17ed2638f42b64a993686000000b0128ccf9bbb5313a727380c93b82a662929739ca08212820945e689361aa1a03f5c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb600c281eac6ad3609ed46778944ff670c659a68eeecfd482532c9eb2c3a9d6b6206b09bd06d8f2a93ab41a9376b63116b518d7a2a1eaf061be3d3752f85497d010000021c000000b02a45373256dae5ce1f24d34c51b90fa4d93fe18d48d979e40a0cb1434551e6bb60400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb6187ae98162350830e5333e41de8e10881566addbb3c43ffff6f01339654db1de1e6903670916fcbaa32e6ff004f1bae70159bf16e575fdf6a7f99d3caff9c37d000000b011995056113117cb5ec1544e69c660c360d83e3195e7012d8a50e3bc80022d3664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb630335117fdbcda57dd2004fa781cba03c532f2c87a8b37dabb163b468ffdf85a05bd1c8ac36d2eb7e2caf0f21cff0c0588f21bbb32838540283dcfb5eaaa09f8000000b02951b7ecacb8e9f256ae1b0703550a3f10a4831e5cadf9084e770bc9aab273b268400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb617876a3bb8130c551cbc85fc902a0b224ccb4f6cc798bf243b5a6dbfcaae3ed51d7584215ef500dedab7b7aab68db58138be60a7f94a7d1aec63f7c3155a50740000021c000000b010a5d110670f1bef964a9c091b625b5d983cdfc2a9bb8051cebb3e42e562ba2d6c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb62f3fd1d2539ade7c14a94cb529b8b49dfc9794598e5fb6feff8095ccf55e855104c99d45194b32dc1a5438acce9b069fc056bd4c465804646ca82a3c500a96ef000000b0285e38a70296ee168e3762c1b4f104d9480924af7082782c92e16650101300a970400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb61693eaf60df110795445cdb741c605bc842ff0fddb6d3e487fc4c846300ecbcc1c8204dbb4d305031240ff656829b01b702302390d1efc3f30ce52497abadd6b000000b00fb251cabced2013cdd3e3c3ccfe55f7cfa18153bd8fff76132598c94ac3472474400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb62e4c528ca978e2a04c32946fdb54af3833fc35eaa234362343eaf0535abf124803d61dff6f29370051dd806780370139f7bb5edd5a2c8388b11284c2b56b23e600000fa400000168000000b0276ab9615874f23ac5c0aa7c668cff737f6dc6408456f750d74bc0d675738da078400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb615a06bb063cf149d8bcf1571f3620056bb94928eef41bd6cc42f22cc956f58c31b8e85960ab1092749ca472019c5aab5a787a3ca20f37b637538accfe01b6a62000000b00ebed28512cb2438055d2b7e7e9a5092070622e4d1647e9a578ff34fb023d41b7c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb62d58d346ff56e6c483bbdc2a8cf0a9d26b60d77bb608b54788554ad9c01f9f3f02e29eb9c5073b248966c82231d2fbd42f20006e6e0102acf57cdf491acbb0dd00000168000000b026773a1bae52f65efd49f2371828fa0db6d267d1982b76751bb61b5cdad41a9780400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb614acec6ab9ad18c1c3585d2ca4fdfaf0f2f9342003163c9108997d52facfe5ba1a9b0650608f0d4b81538edacb61a54fdeec455b34c7fa87b9a30756457bf759000000b00dcb533f68a9285c3ce6733930364b2c3e6ac475e538fdbe9bfa4dd61584611284400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb62c6554015534eae8bb4523e53e8ca46ca2c5790cc9dd346bccbfa56025802c3601ef1f741ae53f48c0f00fdce36ef66e6684a1ff81d581d139e739cf802c3dd400000168000000b02583bad60430fa8334d339f1c9c4f4a7ee370962abfff599602075e34034a78e88400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb613b96d250f8b1ce5fae1a4e75699f58b2a5dd5b116eabbb54d03d7d9603072b119a7870ab66d116fb8dcd6957cfd9fea1650e6ec489c79abfe0d61dcaadc8450000000b00cd7d3f9be872c80746fbaf3e1d245c675cf6606f90d7ce2e064a85c7ae4ee098c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb62b71d4bbab12ef0cf2ce6b9ff0289f06da2a1a9dddb1b3901129ffe68ae0b92d00fba02e70c3436cf8795797950af1089de9439095aa00f57e519455e58ccacb00000168000000b024903b905a0efea76c5c81ac7b60ef42259baaf3bfd474bda48ad069a595348590400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb612c5eddf6569210a326aeca20835f02561c277422abf3ad9916e325fc590ffa818b407c50c4b1593f0661e502e999a844db5887d5c70f8d04277bc63103d1147000000b00be454b4146530a4abf902ae936e4060ad3407980ce1fc0724cf02e2e0457b0094400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb62a7e557600f0f3312a57b35aa1c499a1118ebc2ef18632b455945a6cf0414624000820e8c6a1479130029f5246a6eba2d54de521a97e8019c2bbeedc4aed57c200000168000000b0239cbc4aafed02cba3e5c9672cfce9dc5d004c84d3a8f3e1e8f52af00af5c17c98400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb611d26e99bb47252e69f4345cb9d1eabf992718d33e93b9fdd5d88ce62af18c9f17c0887f622919b827ef660ae035951e851a2a0e704577f486e216e9759d9e3e000000b00af0d56e6a4334c8e3824a69450a3afae498a92920b67b2b69395d6945a607f79c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb6298ad63056cef75561e0fb155360943b48f35dc0055ab1d899feb4f355a1d31b2f78f015fdb0ebdf1fdc2cc379c43e9a34e66efb370c6fcf4b083ef6a04de4ba00000168000000b022a93d0505cb06efdb6f1121de98e4769464ee15e77d73062d5f857670564e73a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb610deef5411252952a17d7c176b6de559d08bba64526839221a42e76c9052199616cd0939b8071ddc5f78adc591d18fb8bc7ecb9f8419f718cb4c716fdafe2b35000000b009fd5628c02138ed1b0b9223f6a635951bfd4aba348afa4fada3b7efab0694eea4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6289756eaacacfb79996a42d004fc8ed58057ff51192f30fcde690f79bb0260122e8570d0538ef0035765747e2b6039346c4b108c4ae0eef38f72997d05ae71b100000168000000b021b5bdbf5ba90b1412f858dc9034df10cbc98fa6fb51f22a71c9dffcd5b6db6aa8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb60feb700e67032d76d906c3d21d09dff407f05bf5663cb8465ead41f2f5b2a68d15d989f40de522009701f580436d8a52f3e36d3097ee763d0fb6cbf6405eb82c000000b00909d6e315ff3d115294d9dea842302f5361ec4b485f7973f20e1276106721e5ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb627a3d7a5028aff9dd0f38a8ab698896fb7bca0e22d03b02122d36a002062ed092d91f18aa96cf4278eeebc38dcfc33cea3afb21d5eb56e17d3dcf4036b0efea800000168000000b020c23e79b1870f384a81a09741d0d9ab032e31380f26714eb6343a833b176861b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb60ef7f0c8bce1319b10900b8ccea5da8e3f54fd867a11376aa3179c795b13338414e60aae63c32624ce8b3d3af50984ed2b480ec1abc2f5615421267ca5bf4523000000b00816579d6bdd41358a1e219959de2ac98ac68ddc5c33f89836786cfc75c7aedcb4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb626b0585f586903c2087cd24568348409ef21427340d82f45673dc48685c37a002c9e7244ff4af84bc67803f38e982e68db1453ae7289ed3c18474e89d06f8b9f00000168000000b01fcebf340765135c820ae851f36cd4453a92d2c922faf072fa9e9509a077f558b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb60e04718312bf35bf481953478041d52876b99f178de5b68ee781f6ffc073c07b13f28b68b9a12a49061484f5a6a57f8762acb052bf977485988b81030b1fd21a000000b00722d857c1bb4559c1a769540b7a2563c22b2f6d700877bc7ae2c782db283bd3bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb625bcd919ae4707e640061a0019d07ea42685e40454acae69aba81f0ceb2406f72baaf2ff5528fc6ffe014bae403429031278f53f865e6c605cb1a91035d0189600000168000000b01edb3fee5d431780b994300ca508cedf71f7745a36cf6f973f08ef9005d8824fc0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb60d10f23d689d39e37fa29b0231ddcfc2ae1e40a8a1ba35b32bec518625d44d7212ff0c230f7f2e6d3d9dccb058417a219a1151e3d36bf3a9dcf5db8970805f11000000b0062f59121799497df930b10ebd161ffdf98fd0fe83dcf6e0bf4d22094088c8cac4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb624c959d404250c0a778f61bacb6c793e5dea859568812d8df0127993508493ee2ab773b9ab070094358a9368f1d0239d49dd96d09a32eb84a11c03969b30a58d00000168000000b01de7c0a8b3211ba4f11d77c756a4c979a95c15eb4aa3eebb83734a166b390f46c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb60c1d72f7be7b3e07b72be2bce379ca5ce582e239b58eb4d77056ac0c8b34da69120b8cdd655d32917527146b09dd74bbd175f374e74072ce2160360fd5e0ec08000000b0053bd9cc6d774da230b9f8c96eb21a9830f4728f97b1760503b77c8fa5e955c1cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb623d5da8e5a03102eaf18a9757d0873d8954f27267c55acb2347cd419b5e520e529c3f47400e504b86d13db23a36c1e3781423861ae076aa8e5865e1d00913284380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b01cf4416308ff1fc928a6bf820840c413e0c0b77c5e786ddfc7dda49cd0999c3dd0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb60b29f3b21459422beeb52a779515c4f71ce783cac96333fbb4c10692f095676011180d97bb3b36b5acb05c25bb796f5608da9505fb14f1f265ca90963b4178ff000000b004485a86c35551c668434084204e153268591420ab85f5294821d7160b49e2b8d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb622e25b48afe11452e6a1f1302ea46e72ccb3c8b7902a2bd678e72ea01b45addc28d0752e56c308dca49d22de550818d1b8a6d9f2c1dbe9cd29f0b8a365f1bf7b000000b01c00c21d5edd23ed6030073cb9dcbeae1825590d724ced040c47ff2335fa2934d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb60a36746c6a374650263e723246b1bf91544c255bdd37b31ff92b611955f5f45710248e5211193ad9e439a3e06d1569f0403f36970ee97116aa34eb1ca0a205f60000021c000000b00354db41193355ea9fcc883ed1ea0fcc9fbdb5b1bf5a744d8c8c319c70aa6fafdc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb621eedc0305bf18771e2b38eae040690d04186a48a3feaafabd51892680a63ad327dcf5e8aca10d00dc266a9906a4136bf00b7b83d5b068f16e5b1329cb524c72000000b01b0d42d7b4bb281197b94ef76b78b9484f89fa9e86216c2850b259a99b5ab62be0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb60942f526c0154a745dc7b9ecf84dba2b8bb0c6ecf10c32443d95bb9fbb56814e0f310f0c66f73efe1bc2eb9b1eb1648a77a3d82822bdf03aee9f45a3060292ed000000b002615bfb6f115a0ed755cff983860a66d7225742d32ef371d0f68c22d60afca6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb620fb5cbd5b9d1c9b55b480a591dc63a73b7d0bd9b7d32a1f01bbe3ace606c7ca26e976a3027f112513afb253b8400e0627701d14e984e815b2c56db030b2d9690000021c000000b01a19c3920a992c35cf4296b21d14b3e286ee9c2f99f5eb4c951cb43000bb4322e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6084f75e115f34e98955101a7a9e9b4c5c315687e04e0b1688200162620b70e450e3d8fc6bcd54322534c3355d04d5f24af0879b936926f5f3309a0296b631fe4000000b0016ddcb5c4ef5e330edf17b4352205010e86f8d3e70372961560e6a93b6b899dec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb62007dd77b17b20bf8d3dc86043785e4172e1ad6acba7a94346263e334b6754c125f5f75d585d15494b38fa0e69dc08a05ed4bea5fd596739f72fc83696136660000000b01926444c6077305a06cbde6cceb0ae7cbe533dc0adca6a70d9870eb6661bd019f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6075bf69b6bd152bcccda49625b85af5ffa7a0a0f18b5308cc66a70ac86179b3c0d4a108112b347468ad57b1081e959bee66d1b4a4a66ee837773faafd0c3acdb0000021c000000b0007a5d701acd625746685f6ee6bdff9b45eb9a64fad7f1ba59cb412fa0cc1694f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb61f145e32075924e3c4c7101af51458dbaa464efbdf7c28678a9098b9b0c7e1b825027817ae3b196d82c241c91b78033a96396037112de65e3b9a22bcfb73f357000000b01832c506b655347e3e552627804ca916f5b7df51c19ee9951df1693ccb7c5d10f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb606687755c1af56e10463911d0d21a9fa31deaba02c89afb10ad4cb32eb7828330c56913b68914b6ac25ec2cb338554591dd1bcdb5e3b6da7bbde5536362439d2000000b02feb2c9d51dd06a53641ece019db5292a584243e8865e16fe2179149f62ca38cfc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb61e20deec5d372907fc5057d5a6b05375e1aaf08cf350a78bcefaf34016286eaf240ef8d204191d91ba4b8983cd13fdd4cd9e01c82502658280047d4360d4804e0000021c000000b017a6cfd6dc3bc39624f9967152205e32c37c048c927b0904929824f9a605f73800410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb60574f810178d5b053becd8d7bebda49469434d31405e2ed54f3f25b950d8b52a0b6311f5be6f4f8ef9e80a85e5214ef355365e6c720feccc0048afbc9b84c6c9000000b02f5f376d77c395bd1ce65d29ebaf07ae73484979594200df56be4d06d0b63db404410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb61d94e9bc831db81fe2f4c81f78840891af6f15c7c42cc6fb43a1aefcf0b208d7238303a229ffaca9a0eff9cd9ee7b2f09b622702f5de84f1f4ab39003b5e1a76000000b016b350913219c7ba5c82de2c03bc58ccfae0a61da64f8828d7027f800b66842f08410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb604e902e03d73ea1d22914921909159b03707726c113a4e44c3e5e1762b624f520ad71cc5e455dea6e08c7acfb6f5040f22fa83a742ec0c3b74ef6b79760e60f10000021c000000b02e6bb827cda199e1546fa4e49d4b0248aaaceb0a6d1680039b28a78d3616caab0c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb61ca16a76d8fbbc441a7e0fda2a20032be6d3b758d801461f880c0983561295ce228f845c7fddb0cdd87941885083ad8ad2c6c89409b3041639159386a0bea76d000000b015bfd14b87f7cbde940c25e6b5585367324547aeba24074d1b6cda0670c7112610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb603f5839a9351ee415a1a90dc422d544a6e6c13fd250ecd6908503bfc90c2dc4909e39d803a33e2cb1815c28a6890fea95a5f253856c08b5fb959c5ffdb6eede8000000b02d7838e2237f9e058bf8ec9f4ee6fce2e2118c9b80eaff27df9302139b7757a214410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb61badeb312ed9c06852075794dbbbfdc61e3858e9ebd5c543cc766409bb7322c5219c0516d5bbb4f210028943021fa8250a2b6a251d87833a7d7fee0d061f34640000021c000000b014cc5205ddd5d002cb956da166f44e0169a9e93fcdf886715fd7348cd6279e1d18410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb603020454e92ff26591a3d896f3c94ee4a5d0b58e38e34c8d4cba9682f623694008f01e3a9011e6ef4f9f0a451a2cf94391c3c6c96a950a83fdc4208640cf7adf000000b02c84b99c795da229c382345a0082f77d19762e2c94bf7e4c23fd5c9a00d7e4991c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61aba6beb84b7c48c89909f4f8d57f860559cfa7affaa446810e0be9020d3afbc20a885d12b99b916478bd0fdb3bba2bf41900bb6315c025ec1ea48936b7fc15b000000b013d8d2c033b3d427031eb55c1890489ba10e8ad0e1cd0595a4418f133b882b1420410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb6020e850f3f0df689c92d2051a565497edd35571f4cb7cbb19124f1095b83f63707fc9ef4e5efeb13872851ffcbc8f3ddc928685a7e6989a8422e7b0ca63007d60000021c000000b02b913a56cf3ba64dfb0b7c14b21ef21750dacfbda893fd706867b7206638719024410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb619c6eca5da95c8b0c119e70a3ef3f2fa8d019c0c137ec38c554b191686343cb31fb5068b8177bd3a7f1518b865579d5978f4ad47453081830654a319d0e04e52000000b012e5537a8991d84b3aa7fd16ca2c4335d8732c61f5a184b9e8abe999a0e8b80b28410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb6011b05c994ebfaae00b6680c570144191499f8b0608c4ad5d58f4b8fc0e4832e07091faf3bcdef37beb199ba7d64ee78008d09eb923e08cc8698d5930b9094cd000000b02a9dbb112519aa723294c3cf63baecb1883f714ebc687c94acd211a6cb98fe872c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb618d36d603073ccd4f8a32ec4f08fed94c4663d9d275342b099b5739ceb94c9aa1ec18745d755c15eb69e607316f397f3b0594ed8590500a74abefda03640db4900000fa400000168000000b011f1d434df6fdc6f723144d17bc83dd00fd7cdf3097603de2d1644200649450230410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb600278683eac9fed2383fafc7089d3eb34bfe9a417460c9fa19f9a616264510250615a06991abf35bf63ae1752f00e91237f1ab7ca61287f0cb03301970f121c4000000b029aa3bcb7af7ae966a1e0b8a1556e74bbfa412dfd03cfbb8f13c6c2d30f98b7e34410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb617dfee1a8651d0f9302c767fa22be82efbcadf2e3b27c1d4de1fce2350f556a11dce08002d33c582ee27a82dc88f928de7bdf0696cd97fcb8f2958269ba1684000000168000000b010fe54ef354de093a9ba8c8c2d64386a473c6f841d4a830271809ea66ba9d1f938410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb62f9855b121d9a32028193d383bba91aaab97241b01eeb9afa245f6307ba59d1d05222123e789f7802dc4292fe09ce3ac6f564d0db9e707150f6d8a9fd651aebb000000b028b6bc85d0d5b2baa1a75344c6f2e1e5f708b470e4117add35a6c6b3965a18753c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb616ec6ed4dc2fd51d67b5be3a53c7e2c9332f80bf4efc40f9228a28a9b655e3981cda88ba8311c9a725b0efe87a2b8d281f2291fa80adfeefd393b2ad0101f53700000168000000b0100ad5a98b2be4b7e143d446df0033047ea11115311f0226b5eaf92cd10a5ef040410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb62ea4d66b77b7a7445fa284f2ed568c44e2fbc5ac15c338d3e6b050b6e1062a14042ea1de3d67fba4654d70ea9238de46a6baee9ecdbb863953d7e5263bb23bb2000000b027c33d4026b3b6ded9309aff788edc802e6d5601f7e5fa017a112139fbbaa56c44410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb615f8ef8f320dd9419f3f05f50563dd636a94225062d0c01d66f483301bb6708f1be70974d8efcdcb5d3a37a32bc787c25687338b94827e1417fe0d336662822e00000168000000b00f175663e109e8dc18cd1c01909c2d9eb605b2a644f3814afa5553b3366aebe748410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb62db15725cd95ab68972bccad9ef286df1a60673d2997b7f82b1aab3d4666b70b033b22989345ffc89cd6b8a543d4d8e0de1f902fe190055d98423faca112c8a9000000b026cfbdfa7c91bb0310b9e2ba2a2ad71a65d1f7930bba7925be7b7bc0611b32634c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb61505704987ebdd65d6c84dafb6ffd7fda1f8c3e176a53f41ab5eddb68116fd861af38a2f2ecdd1ef94c37f5ddd63825c8debd51ca856fd385c6867b9cbc30f2500000168000000b00e23d71e36e7ed00505663bc42382838ed6a543758c8006f3ebfae399bcb78de50410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb62cbdd7e02373af8cceb51468508e817951c508ce3d6c371c6f8505c3abc744020247a352e92403ecd460005ff570d37b158431c0f5648481dcac9a33067355a0000000b025dc3eb4d26fbf2748432a74dbc6d1b49d3699241f8ef84a02e5d646c67bbf5a54410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb61411f103ddc9e18a0e51956a689bd297d95d65728a79be65efc9383ce6778a7d1a000ae984abd613cc4cc7188eff7cf6c55076adbc2b7c5ca0d2c24031239c1c00000168000000b00d3057d88cc5f12487dfab76f3d422d324cef5c86c9c7f93832a08c0012c05d558410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb62bca589a7951b3b1063e5c23022a7c138929aa5f5140b640b3ef604a1127d0f90154240d3f0208110be9481aa70cce154ce8d352093903a62116f4b96bd3e297000000b024e8bf6f284dc34b7fcc722f8d62cc4ed49b3ab53363776e475030cd2bdc4c515c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb6131e71be33a7e5ae45dadd251a37cd3210c207039e4e3d8a343392c34bd81774190c8ba3da89da3803d60ed3409b7790fcb5183ecffffb80e53d1cc69684291300000168000000b00c3cd892e2a3f548bf68f331a5701d6d5c3397598070feb7c7946346668c92cc60410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb62ad6d954cf2fb7d53dc7a3ddb3c676adc08e4bf065153564f859bad076885df00060a4c794e00c3543728fd558a8c8af844d74e31d0d82ca65814f3fd1346f8e000000b023f540297e2bc76fb755b9ea3efec6e90bffdc464737f6928bba8b53913cd94864410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb6122af2788985e9d27d6424dfcbd3c7cc4826a894b222bcae789ded49b138a46b18190c5e3067de5c3b5f568df237722b3419b9cfe3d47aa529a7774cfbe4b60a00000168000000b00b49594d3881f96cf6f23aec570c1807939838ea94457ddc0bfebdcccbed1fc368410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb629e35a0f250dbbf97550eb9865627147f7f2ed8178e9b4893cc41556dbe8eae72fd173f4cbefb083334c1d468bc61ba6e3e5febcaa9b727fedcd9f5a2694fc86000000b02301c0e3d409cb93eedf01a4f09ac18343647dd75b0c75b6d024e5d9f69d663f6c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb611377332df63edf6b4ed6c9a7d6fc2667f8b4a25c5f73bd2bd0847d01699316217258d188645e28072e89e48a3d36cc56b7e5b60f7a8f9c96e11d1d36145430100000168000000b00a55da078e5ffd912e7b82a708a812a1cafcda7ba819fd0050691853314dacba70410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb628efdac97aebc01dacda335316fe6be22f578f128cbe33ad812e6fdd414977de2eddf4af21cdb4a76ad565013d6216411b4aa04dbe6ff1a43237f9e08bf5897d000000b0220e419e29e7cfb82668495fa236bc1d7ac91f686ee0f4db148f40605bfdf33674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb61043f3ed3541f21aec76b4552f0bbd00b6efebb6d9cbbaf70172a2567bf9be5916320dd2dc23e6a4aa71e603556f675fa2e2fcf20b7d78edb27c2c59c6a5cff800000168000000b009625ac1e43e01b56604ca61ba440d3c02617c0cbbee7c2494d372d996ae39b178410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb627fc5b83d0c9c441e4637b0dc89a667c66bc30a3a092b2d1c598ca63a6aa04d52dea756977abb8cba25eacbbeefe10db52af41ded24470c876a25466f1561674000000b0211ac2587fc5d3dc5df1911a53d2b6b7b22dc0f982b573ff58f99ae6c15e802d7c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb60f5074a78b1ff63f23fffc0fe0a7b79aee548d47eda03a1b45dcfcdce15a4b50153e8e8d3201eac8e1fb2dbe070b61f9da479e831f51f811f6e686e02c065cef00000168000000b0086edb7c3a1c05d99d8e121c6be007d639c61d9dcfc2fb48d93dcd5ffc0ec6a880410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb62708dc3e26a7c8661becc2c87a3661169e20d234b46731f60a0324ea0c0a91cc2cf6f623cd89bcefd9e7f476a09a0b758a13e36fe618efecbb0caeed56b6a36b000000b020274312d5a3d800957ad8d5056eb151e992628a9689f3239d63f56d26bf0d2484410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb60e5cf561e0fdfa635b8943ca9243b23525b92ed90174b93f8a47576346bad847144b0f4787dfeeed19847578b8a75c9411ac4014332677363b50e1669166e9e6", "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012", -======= - "archive": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8", - "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02383f20b0885882d6df46f443f2b5d6ea1aa62a904042346521e4092f91c18fb6af0109082922f0ba4dace31100cc8c8715f9cb1b7851a5ceacaec755aea31878b98382bc1fc1787ac9c71924adc9ddb56bcdae15a174cf9a769a8a15695441848e1cc95f17f2283bb5990913f95bef210c32e466adb9d1e1a9af8b03b9bc5f05f919a5234913be8e7c5e388e9b4f77528d77b49e05cd0258994c86c9c2831a5d355bc76fc92d173f154aef2b37d6a19000000b02cfa046af1769fe42e2b85fe8b954724ac1ff4616ecc1d1beb678d321f680800b0c0f732c2be049b0bad8a4902f4c02ce2e2f324ba6d0c6fdf944f9e1aac34cb248b43b48fa41ab96bfc91dacc88d8ed58784bac7e4cc01aaad232596c0a5b66a7d52655162873242ccfb1540c5600f307f8fd255a89502202e5380195bc70297121a978111bc1085495a53c6a870af41dea17f6f13015c23b4b2d447a1da6d0648f00bc7977d74d05a22b6c173c54fc000000b01590fdd33eb09dc901196d1b1f02ce67c30ae0f97e0511b73052160d6c95d673a6ac0c59f2c45adb770b0d817228f8aa68794aa7f806ecef4408279a28f3ba789979b0613fc0945cca0c981ddd692c437a44a1ce75c11dd5f2435a1abe5fb9874e14f61e8f56dbab8b3deb309ff679bd18b8821b1fbe8df3fb8927b0b029eea71fd6db95dc860e5a0fb35ad6f872812b0c7cc4b334d794fb94728556a04b0f513a921c5989283116e8280ba941b74ecc0000021c000000b00240be44ef7c4117ef86ba1e9edb9da00709a7f38ff63571257d3f6c895a379f114af61a81f8eb86d21392715c6faa98eea9d8eed4892912bb52539ac28a3cce9fe15cd7e4560c70b93120bd691e16b7272393dd6600dad6e881d3b7043a43d7ddffad863b580bfd0582474d81b9ca6f1f3d9980190ffa897739f8538e6382e038d7cc50f2fa489242f7b9fd7035015613c5b9b780dc07f532c9603c4cf24f9a85666783b2d8b7eda64d53eb2a59746a000000b026df7aef3e283d1f1b684bf124b3b9d2fc914f9961c225d1e1e17c1673413703ad1693b59a2b6af576337f3c20e9cca515580e7e6ea66bf20293f71a8a72b61b16ae7dc966ad09ac285477cb0204c7150ea3c179ee71c51643a7c891fac3e3f6a69d258c97a293dc3ea54665d03ef30918022983b93a81f5950b5bd7c3e4eae40174b95764fa3ac1db13eedf540bda92087bae47d09ec68b7aab8d85508a66620454d4ac318a22407c1da9226ed49f6e000000b0218d0b834ed2709efb696d9d36c23561d4780f150f2d11f5814c44997ea63eb83fe1652fc92d61f379ffb5bf79f18f686e5bcb68ae76535de351b97c300da56af092626825e57e90f8f022d7717501680ad0039a415a36f5ef0cc809d1e90f443ba21263e18b5356177d6ff4556336272000afbc19168f910c689295502f3c90d91b983959668ce1fde4c2978b05914109cf67c710b52d5beb78259e9684c45b8d56bf7fca92a52977b70a3605b08a0f0000021c000000b01e9897ad607b02ca9a4e365aeb2c347f5b4557ecb1a861e6d56e57db6258fdb09eb4c6cbc4eda99c778d86559750797af33f58a5d9f61b9af6b6e2d59a7bed6cbbb0d769024f82c70984735916bd2dc250757633e5a1d67a4d92678efe901a81b551a3d603d5f45c77deecad50e7169014ac2e7f0dbb70478a63898359e3165f1d3f1d558e9294bb9e958a5f4fa8df5e06807d986216351336cc1beba43e7a31b40c81e6c064cfa786e52ab80c2389f9000000b017d4d217fbe8cf9703b31cdc755e15fdfa5ea9f7ace3df1f203e7c348dd6700e666eac6d6cc976421f9837ab99e5ed4a4a23e0ae2c237cd2339e77ce0687d17e6b58ab4715ca8fd5c003befde89633723001fd45e343f6f753f00cd4fbae8ba4016ff9da19d2b6860a95d471ee37b5022558a5aa3a84e32f0d728e6934d3ec548eb167e76cef06dc07c735b2ce747f972897089825858e85ded7392cace2e710b0d1107d8945361519290607e04817d8000000b01d1dee1602e2811c079406ece007002c85ccfd296b384b7c1f1d26c033c2d421b6c9dbc696ede142f6f512e4173aa50361152a6f9d771860d702d3d61527c1817185fd925bc645ae7fd636224ba59bcd21f67ff6d0ff6bcebe63a1f160ea442afdaa80e29b253eb1e704678f7a47ab7d238ecddc700308b2180e431721cad090c1860a98fbbe29c368d2a4f9c1521f8a2c085799cc7c369f6b0d278b52592e2fa92269618cd5ba3667262463bfaa6c610000021c000000b016a0ad04c604758373c5603a1e7b3b8e03739babc9eb1ef7c89619e683ccb4a84bd87e3b1a803f98169bdb0cc46e5fe6503c053b9650975891f7961a6eea9491f97571a499e3081c867bb89fee306e493c5f9fb54f4d48c1bd84101e4efe6d9f2195084b193386e48948d027754a79371f3208b6b0454292e82c3323d00a23e3634f69fe258c9af683a47280b961baee09639bc660a83e4df73751957d68d4bf7026da2bad3982e8e453c9ef03a495a2000000b003532ca6ccd1465d759f65a31f135488bb83300a3e4a3a12d0d645819e1012a04fe74cbf28bf4221311d4d6c1caa4d8446de8b9770b305eacce5b12c96ca4309d87d48938c6012e590824fb717fb5ee142ba1fb64e383d8df2a39dcce4bd62701b2b5057f4e872808b52dc70f25d7a2925d90df50116b608be83b4901cf49c0c4e62be92ff617e8bc6ca83721946a28103cae3e57ad61853803074276e494d22712f3608ca9c1127ee934c558fdb1864000000b017adcd19f41e50abd73587f29d48430c4175963dbaa18e0152c0ccb2eb53c3a33ad94bc54a511888a25e13aff8cd531f3d1f7b12d0c7508bdb07f73f2be134e6a9aff9cfa3ed9e1792c1592ecb51e54a281338649e93824f337d33608c858866b7c3842229f27275a24cd98e1b3d38a5050936f9fb24443521298d805b9bb30c9aaa2d843bfae15bcdba132b6ab639740708388f682b17542563177f97c637e268743f47122919fe5d6b2b48ae8b9e460000021c000000b004bbef17024f5a28341dd33756434e42e1c63514f411c8540e2669512757cd41693736b50a1ce839b06cafe20a006b11fa1688b1424241629ca5f58119102a4c674333e591b31d7b3fd5e0cf231294babe9cc4cf94f83fc2ec623367194bee1d949d9e3676213ce479e91cab426848950c493d32cc62d4308707200b42c28279be895cec27e8983819ec7ad050ef3e160a89ed6dcc4b5c617b1fa8e49c712451250d5a2f3199abafd05af30b97ba9feb000000b02c7c7c87c0634099a4b2d68065a1785656f24692175c2a7c6a5be58d9853e2f6316c88f60d4351bba0beada94ce2c4f4e4bd51131eebd1978ac2a7faa278e52aa54ace73dfbe376c6fc6e5cd5fa1a65be5fdb394f15d103fc817e231fb2fd997cf74d5a5a7e148a0795e74bf56adc37007ad45d4afe8498a968ab0919860ee38a98ba94f97e572760ff22310a02d7dce1f25cb6c1b1393843abffbaf9ec49f6a77288b155efce7b4eb36381e33b539cf000000b0098305358e81857e018520df410869cc06ad701078628fbc7cd592feaa0b2649b86111325340f0979e61b3172fb93132a02d26dcc1888f56e84c896f95ca66ebecaff9d944ef6a8d136f8de5556451c604865297dfb9ef6f1cccb57a3267f22429c0ae057d1b83f190ea7c176f2569b925aab24342d9041e9fdbc94196bc01099920c8cfec17cce1df1a3f986288d2a72db2fff4dc95fa35dcb1381fbae87e36aca14eddd035c25b6e76c6343b014b0c0000021c000000b01e726e5a89f36e83fb825e924ce4d4e98bac232a8be09d4073eadf8938f4c75a93dade434b1aea07529207668641cf74b8c0a6415e78f79fadd27c6d23b3460e36447a367d6e1051a3be242736f987073501525cf41152b949b463f98e67f7f2d6b55877f2104da1eec4b5d41996245127dcb2f3dd887e1365ec0f0b6cea5bc681e1d570ca7f591545adc4dfec81032b0e634e9edbda486ffbac1275a27b936042ae0fc9f838ad465bb67edc913c3ec5000000b02d88fb2fc3907d273b9fe4b6b68e1b63689bf6b37aa7169a26350dcc9d5bd6e29f96e2cf2a96124b3a033482caaf3ead13dddc15dbd59cb6db66db9564068b93f0fd69b2532344701674769cc4b1948f8080f2e1c13ff702a545d73e71c43ba39f421028c4c3817752d8836c4a01a5480858e8a780d7c47a8757e585e00a2955d108bdca26914c6a88934738fb8c2daf0d547b6874af06508000c32e9d6887a499b0e98f3d47b3e881d057d905bb6a2c000000b01e2f127a97c10ca9fc665f66782495e1969360278df0fbd83c98334fa571981b47cc7dabd641438feae69856d23e9252ecd6578c0cb73e742abc560ac93069d8daf31608f9bcdc915ba79cd727a68b4f76237f3b51250bb8ab9566e757380f747c5d18d2ef774338443dded581d69fd323c010c81e137b09944347a15a6fe66a90dda9ee08c7106da6f39bde45ade503298a403f0fd254f20ec5a52dc73c0c9735013f7866b9352b895e0da21060d2160000021c000000b01f98a79a8ed058a33d583748beec181460d2e44f0d3e0e1d94a10d30fb352fccf8dd805f386c4820a6bfc534abe5cdd5524420ca355fb3c18adcfd41a1819167f01d58bb7afdf2daf44f056444851058854e03a25d9b0a0856aa6b553b57270d18e42ce662e9cf7e994d44e389df6c8512791ef8cc97a4283e0f5cb90b777a1d5a896ef48b0e67ba8a2109e7eb9cc9c814ab0a70b6bec455f5af44f46646873466726d065c559f44b51778772acc9ebb000000b021fa7bd4d7d66794a8c69e29e3fee2862bdece60564d980a22783002e637b965c329d00409bbcc0da58e3a5b5ab8763ac3cd61e2a37d37e5efe35f22c634e69cf9032f1bfd77b093e7e35236e346a34df965645d5d1949ab2c15ef4cd51c20723e9b4240409287a41d993aeb4b7918c90985fb09ade82b06bf39e01e85d7e355f2414f5214ec3b0a273e7ba6b7075c0800d1d33dc6cf69e07c8c53de427dea30df3ed8aa9f0c14874c39db27546b8182000000b0047e75a44b15628e1b358a86b294cdd77220b99dc757e4afae9b7581293cd03e1aff8b5f5b346cce6f6335c0bd4f05e3d6507b26d4bff5aeeb03968b6c4ac4d7537242a88fe2020ed9a2f1f53fd54e7d2ffd32f2b819c1c0e2ac3a13852676c416acacc03ebaf4e7d1e5b2f3d203fc910ac5092548a8eb24b6c803158ad306b4e34935ef0421bf5d0865ae0c81fdd4541c9f05c96d31d36407c8563b5b517a078fab2fbbafd1732ecfe533730f7d120f0000021c000000b018148f4a4ebe395070f1c748827dbc78192986c10090c09a6538c15fc5eaf1615ddc83a4c141ed77ca9434206eee106b1288253efa120ed3a1e23fd92d1770abc8f5915039b3821cfed3bdba87be7f5e5e1eaf3b1afe943fe66c9c8e2188d7392d18ce72730795a824c22911360304b407e4e0c945fc891f3db8b9ef19155f96a26fc1e1d57df6487cb5ac02a76dd1750dcfb07bcbe9a8263b4516bfce2b816e12a093edf9645e4abaa6cf99b840e429000000b02038223998964037e6d401c07c732cc8a21cbbdcd2a790e802a765ac897775aeace2124fb3c53f950431279f6685e5a055aaa531da6dff210e4138ee6f00f4cbaf2028d03b2f75b2766307a7bdc9d5b96783dccac5e2734880b20d32aaafcb39f367581700b6a85afd89de5a83fab12e25ab98bde2840e61e7d42b9b55af420dfb5b4a2cb66798a99362326d927b40410f378e2f6114163980dee04fb6c928acb17fd284841a9df91a809c7f2ecbea10000000b00b791466984596290fa4ab04b7e6c5e99176bceeee6d470adeef5459e88b494d9987ef8b02d7b174abd73b38086e4d1013bfe97d879b10f1d7809a40a6406122b86e380cb7242614cd031faa9a8bc2af45e52df0393091cbdea6ef3cb2580d82200361089b75a6923a577fee519fdba6027f55d1cec6968874051bc7d3c246a4f4bb10d1e07e2279e8585d6c069ef8aa168be0c8fcbfc50e76941f288e4425a5570cce46499cf1005f59ae5a81d7bbbe00000fa400000168000000b017025da384053f6097bf80d40882360394505cf2264dc0c5626000e368bf3416b9f8f8a1924c6e2592f3b272165ff1383316c8d269c5bc4504569eaa9d38df4460dbccd9df04c5e8ca04784e4f58e28b81244553b26eca6004d62b9b446bede04419490ab0cd0c880c65ae953d16ab6c16d2de22220c6ef84aa640c1f1a04cd2f7e7a51ea0a934a80b89b32edd1a547b0441ff325017a3c2408aa75f47cc8da8887e4d157631585958a9c5822a499559000000b009018b37fe1b72e0ebd34ddedd05e27ab15e56a9e348fbcc4cbe94b76412dce25189499e4859cc75921662d5fd121bddc467492e1b2c383a4a11cfc99c0288e2bf1fc2e37549ed649ba5f32a369ebdc53023a4060dafa7632acf879f87b6c8f640c61d86b2fc0b56b411099e72b5be6e2abe5229baed941f24ecb410f78560c8422eca0f0a5d9e24f220a2335a2ab6450075d63d8c5690f2d799aa8acb7df02c6a9fa019d01a3b39efd401609df5388400000168000000b018d8eee0e765f7433d884637669656eb0b83a67ef9536525fc8a4fd4927b592a1237f48d07bf0c306875b0b0b17b4d5a6abb8e7cfac796289244709c88f49e1cc4fffb6d2ad4545e5f7ba35b349cc4e1a336dc7d3da442118b812be5cc19aa9285051b883d0f13bb901bc534d3d468ef109b41f7557abf861cbe3b1102b3293d868286cf3f51af0ed6968c1e023cf387161e5281179946e54375b3072fb65f27127b5a9ea658adc179d3eefa8eab5efe000000b011ff4874646197203825a26de6e68a92c657f10ba3854634e0624e700bdcc213f557cbb61dd1f7b3fedee91281b59f00438d76cb239489f6c850ff82ffaf6e16e16ebbe86100a56e7fad76259ac90f74544fb9792eb1af3b3d1a294399d4a0f60114b922449d9ce6cb1e4b982244d41225c61ef6ea090b39c485a9437262da7aa2e53ddc0d572adc2613c3375709fa370dbdcbd077eab314c1af33b234bbe68ba9adb9000700319ef332304bb80375ee00000168000000b00260fb7d5fe641cc2ae31587757087e8782203a0d6aecd5de87aa64f19c2e29621ef72da7b5ed4aee7b5c1c4bd67bd69b53eeae51eed2756c7d4337459673dca7ccb45920e75c838043918b3353890ba02d295a1ba58ca07ae132aa2f37ca1b74d49d8d7013745fb5520dbd5c2237a771fa9f230d5b9eb1cd30c23bd1026adf99826d423493016ec7abf3df1ce90ffa6115c8b25fbe7ca0bf480f68c68bfb71760eec9886fe1a5e45228cef3a3b21903000000b01feb86eae911703d9741cadb425a0618c5ec02a1fe4bd9599cafa25e1d73a83018daf9527e7f91f00bb03fe3af90112a40e6f65389e7669904244f59c3ee8979c8bc4d4ce018dc7bcd03889a5f84c4b03307643842a9923feec20b22e084d62e822e8f0c5c9d448af7a3ba4c07cfa471151331a09b3810154fdf57712fd73e5c96c158396ba99940e9ab5b1b3e64acdd01cfc8a7436f188528f79dd332a2765b9fece5773115400934216a96746e6d2800000168000000b027c7201b8a266fb31308119aed766a0d836ff5511305f1592f5b2910421f6c37d43845cd6a1100577f04b4d3fea151b5c6ac2b42848b29a03f19385140a56391f40678f8318cf57ecf5d391aab3dfc566dd17090a32acf4930d05b153d92a27a04bda0d6f637de173515ed4d9137d5762d8a544b246cf2f9ce5fbf7691a18c4ee7597f3040b05528a7a212c4837c17ce094ceb0aec9d2454dca2d9a1eff144007545d3ac42d4afd6360927aea74d938c000000b02d19625c974e47f4619ac10605a59e9154d22565824e5f539e6b27cc2d10a288ddb0d85bfe8161a8b61e9ab8d0eda73edbc34ba9c5a64e8ed05c402b00ac5e1fb0cbe6338296d5056e6a1a7c5ea70a1dacf90e3740519c80866cce842242a336f79c2df8304faa3a036e6efee3c888be21271a290169e7377e3e768f1336a055d5756cf845eff3155192a8eca33d8514186372967736033579d1929f35f81c5de8bbc29623dfc278e1d2ce7ef51f876b00000168000000b002f09c7a9f0551128998f25e146360a8df9e3a6325ceb9e081db64f462a43ac5a30fb37bccef8e50d97027c9a956d4e7bb18123bf5d040c21e760c325c2a37abbdb0b6a68482f2abfff26450562b21af16db49e52f156c01d79520ca5f5d9012b7babc10b41203cf9ffd75299b7e25510f670956ddc7f33c99be8ce270675f3ec97e12a907c9ccdf3d7f3809d3d447cc003bf0ed0f9d7d5e5537af66e8c44fcf07b6defd4cf99fa72abcd10d337f51a2000000b01466c51d7a35d7cda757bbb9cbfa16c3a4aca5e6d9146edff331428817e73cfe34385b5e343f25be9cfd97f23091e315e247a44f45279f91da49fd39b30e802339575856bce06ce8a3da571add5cfe9012e0a24932b8c1635acbfdd1a57d7a3f3f771e74f09218461b61a6977a01e1c82166597c454677de55e3a7e03e82dce4ba687c84818ef19ffa1fcec515bd0e531fc9ce8a37af3dd36100e9bd6d612bf15d88485e763d0df257832fb952e89c2a00000168000000b0152f7009e1dbda91c2d6071e8afb4cf44cba13b034fb3685e2612c2a51eb7f2245d12318fdedb5f6afb9ba4abcd08a85325d0c273f4d8cce1f00b1c1ba31ced5c1d78e7f631be8b6d867c718e73b85e937b7e6209a56ee5312bedc7538da61a5f9dbc07d9fadfabf711fd04bc3e53102159d1cd7191f551f0d02b2531664c817b3553dfafae32b5cc6b6728752f0b4c92c1b5df7a24569552065480b85641c161c7c804388b0112b3594453bc2dd38cb000000b02caae317b0cc2d3d3ff8043f727f9b4186cd3d3d586ac544fe43a2548f5c066177c873955c77ead367afa32caa5401cc50f27288b0034601fda0fe68a47848436399d2305d84097160cb60d023e6211dbb3e5f7c424cda273bb3cde129323aae4c365975460e78d1b3bc48b20f3d5e83086a050b45d316e5cb8f4873fd8e7f466e83a413e2d67d08a0ec1875221d74df3005eac34f9ae00721101b28893760a20f80c70bb57fdfd4334ffefb6b90ebca00000168000000b000e07a9fc3bd1e8deca81ed1e56657b1a069d1aa6b0470658102f8cb71f80594a93e5b5cc7f873a2632f6584cddbce555a12a10961045b676020f1ee76f9bc4b1d46428cb221396f504db8dc31125cfaf26de0d46c848aba934afd57f06e2f2b77249f717aec7a7d7fe234413ae69656069d4dcb831382fd37c018a247b13a4838704fe248c8e77fc5d7eaafbcdc58ad2a6ce112af398a0da7d9541260165378ceeaac2909e1af194b2801effb01ca28000000b0048b2e519f5646c95a1139bc08faf0b249e8ca665efbb69f739abeaf056e37b637a31c0bd41082864252a4df0cb24bf21fd80b05ce3bbaaa4bdb35c64ab44fa790ed73a506e2daccf85b73981c467c9ea1b2d6cb2377b4b4d77bc86554ea1bfa3f6fb68e272e92821addc55abf9150f105fd9f12de80744bcd85653f82c3399c513cbbe1ab8efa83735ef5340c59fb0211b5d7b7c2c005fa7fb724b54ed65726f5d8b35ac087807f027f4f07c9ac1c6000000168000000b00cd861ee37e1acf799ed8a5ca5207731be122f29df41666b9ceba1e57f00e632c5487b6d06637a19891d4747d09b4a70e27c2ba94b5647e280fc5ddb81738727fb3a5aa84eab7423be7e5429be0088aa10a17021d143a39cabe58c39e520dd3e37c5c2bb80bef67892c807603ba0789a1b9227bb2077a5b04ffe3bd5667782d4f0951e94dffb9bb9f2349e1a33b5576d25c1b0e52bb84d79aa12d7768e675fc306d71282ba918b00697638210fb7d735000000b0087328be9f16acfd11cca4a6fa3ba85c5b8766ff4507c921187e373773d3aa36a0f04ab3f2e8f5af74369e649f49e19676640b263a8dcfc381db8e1b46e6b23261f8ed4e6f299e9c38b0c52fbec14c2c14d315ca4481018df91691013489f149eb2ca2847156d40dd1ac13d646562ff8070cd83a4efa59a209c31b36b8224ffa33259d355eef8c6414f84e2dc390ad5926d51f826387550483877e3758ec6ce4daac6e256676627bb1d5db42efbc301200000168000000b023be6de23a825417d48baaeae87aa6a81cb09146482b76fe7562f31dd55b3338b863e1f4bcb9c6cb8e988c27dc7fdd15f5561044d3ef839e3dc1bd3a02fa7980141a588955be86c8a51be52ab03fac283f49cdccffec9ee45502ddf7bc734901292305998f53a299d44950946acb2adf083763f0c66ff64036dd06ca938945df69986c87717f1557b7519e431f963f0013092d28dc7e5829185d881f6a7ab8832c910923df43d7770aafb166a24a961e000000b00915521e44e1f6083985fa646b4f7db186a8d15bce228955334c689e7a0e6df39fbc87ad886bdaccc5c1ceafe2fea40c716cfd78b69a49bff797d9d88c670160eca6529d1cec909d2ae74622b117b354bd2c855cfbf18ba659462666db08926866d0bdcac96a1ea24a3ab03574b61b791587e9f975133bde9b35b654622e68328ce0d0b13222971bae20776643b01a0114877e6ba3ff872073292423329465c2cdd6c170d1af5c97c4e2d97adf5591a300000168000000b02ef310e6791cfa12666c124479cc4f80bba3aef3e3a71e896fe4bdbe240877b238867a6d11fabab0408878d447947b6f01c7bc895a51fb7102c4b0f0e0809952e712593f321659cb1afdc7a6df0df310f146745fee6496684d2d4ca5087c3fc56af28f01db2cd12b5640eed9258708961dd8ca4bb3af4c62f3f1429f19023cfd4d282985da72507cf7c5e980977d5c5c22e7b2cbd80e9bb535bbd48b5bf672091139ad6c634a47997cd09a33c6c67a8a000000b01c4b557432b71a15da42d06a58a3533f9cdccc2301537be3bcf64460b54c7e57e32563edb2f02d9dbfb64bf7874e14639de9347fd67ec6007aec2042966148d97f9cf688c9accc328c5fccf03b7a88201fbfc3452e3f3f5dfba1caf5aea94b41e2fc369dddc9074a3cd278160ad650c92bbf5287b2a3ef9385014691c79f8a3c6427b62a1e99a70920e1c2e7a87950ee1e4174a334875846cdb4b5453981cf1e4054978b7dbaab2fc85253ff39d2c72f00000168000000b0130a625cc8946817560b2bee5fd5c5a62a1c6f0537e595d7c4bfaac085d99cf7c0da9d563f30d2a1f234d33c134255258c34155e9a6d35952e625e15b75a96ff33e56c48d29db9bd5c1a38171f14a3fec225e4ed944c284b30cc4792486b69895c43e10a25cc66cfe71e081b372a430e02c3b077caa87bcf89bb057df4f65c2ef7dc52a6952721f8e0ed58fd7479347119b7e4ef780c9f6d062a808a0cfc347848775f8e22515eca28795c7208edcd94000000b001a81bb6efb1c73125b431bb270ba9a9911e0b9a4eb3293fc4e79052b4b74bd4df3eadefa709a827cd7b5d09956c7de4ac9c97b619761f4d1e7bd30f5a5887390b5ee474249d1ee77511ce0f0dc69011ae32c18a55bfee033bc42823713486a60c955921c6edfd838c1b3d66f93f947e1656db81a731254504ae0adb945ff34642360310cb1036c64bcf32889048a38902c74096d26268fe374186e4049c30735eb9abc31cbe769c4f67395148154e5a380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b000e66890b695bd8c7207d42cd83011b75f124ff772ace1002c43678b6ac517a10f7052c03a37ae457ef74ecac0946893ff42f24bba2736400aab668215dd103b2effaefc6c0a1fe2e5e8266d254dcc9d8148a6172ac06c87ff184cdfc6bf504d296c80b5b53e60aaec53cbe56e7e1070161cd00f867b2b7e4419fe264426e7e8fe580003adb8e1291cf5649f877837961d1f1e12e8bf20f644eac71495d7c808029600a688d8cdc9f4b62f5e9e8ba740000000b022ce56e6aba92a930a550a09487be65d86a1114e60e05717670afeff7d46f17c478c7c8b19a4acc35e7276bdeeebc98a3adbd651f25ea77837e07e6f8353bf998f87b78ef561a465c251359dcff0a4d1640b76526755e7c38f975c4b72d68e4a0a623b676f307e073ba4d43bed659a5d0c21191925fef96a0ef2e0bc13911575b5c2217ac567c28cb47db819fd57d4b31e3fcb4dca69b2091a96a2ed3d11c58631e17113751c377d16428fa7d3ebe429000000b009fd2909008123c8cc68441c9295c6787c9603643e8fa7f46c36073448fb11561a64d6a67654d666b84efa368b5c73836e027639045f27798d849bd8dabc8ca0e0f7335e73a6d3690e31de030fa75d3a8c2e647b188d9758810b30606ae203af0b28ec3d304c95bb0acf6ba52b94c5d21c570f72afca79beba1c83fcddb19a27067855417d4ae41ab2c6ebd7d7dad9872c0bb6884d99ae384d2776012183e20b3ac1c90df430c2a3c6f047b562a22d020000021c000000b01e71bf4b90821ea0dd4b17638860073aea04e363c6310936f154f28fc9a9021186838b17d7a9c7b419a3b31eb2daa25e4b075812ba717cd305a3f66d750a7262ebbc9a01869785bc51cb78513362668ddebad93c69f2ca05b99d455612cde76ee5806b72c388f96e5fd015d7774608d426c24badac572423419e4043dbe9b3b74da308cd26da23e52d452e76a4d7b63302aaa07757bc8b4bd02eb213db9d9d3afe16e436a0857757dc400168a3c63d29000000b00f31bc559d7a91a60356ef1998e6e59dd5b359a3a4e74aa857ab3b822dd65d97e65a84774b243b34a0a23d1ed0da542cf889633277365d3f52ea08cde4dbd48b547ec17f17201dc011ca48ff731044a0f170cbf95935f14655a26f17fd8d2694017689a8d34091b0c181541f246f85b421e37d4150521f26c9639d3d5d78430485863984180c7f676a8c6e35f9e380001a02dd85524922b9761f1bd15a433f46b71928b869410686d36c3b1f3d21593c000000b017e22e70eafdf4d0ebc3c8b3ce72d8e91bdb872b2197d71149585ab812e66e5cac8ba16f35a7f8f992b913763fdef88912869084ace04a09fd228d1e493008acffd404b1ef71c124349913c5cde9f2546c576e96b5fde2aea01ecc39a722605300c070a0d09aa1cdabc8b8ace00289ec2cfacce2cc232f5db601544bee4d3dd6535182fb9c833cbd307108227b2c179a0ba5cf5658bb1598c8ecb742ef2f7d2439fb2f698ea04973a7bc65d359cba4c50000021c000000b012422c42b495c69d2610ff875ba4ea93c01e7eb34c86840fc2b7b5525704ab7d42575d41ddad994c7f84e130c6c26e338947627ffde0ec0b6e7dc95976e1be07acedf79b482eb04ee5349afe204a87c96944d107e30894f1492bcf4dc3dac596f7881c959d225707ba520dca2bdc8f1d015ff20e84001fbc601074c5f719eea2214b5502d41c0cd7fb7e17a9e491b46b26a105439a7f2537b13a3d3b5e34b3b1b3aec0b78a78016cf96ad28bbf549325000000b0172d2fd7c93b7465586e5c2c93e9b980d309102436453da69c0de490ac27a28f371e400ff6ad5269325eddd2a85fcabb87f368351c55dccec373d7c790bcb78af4a8ffb6465e0d08e5e78e95bd5e5206bc04829edad6c0f8d69d05283e445a50fbe762716ca75c471c6ec027575d763a2a9b32365c3e59834dea055decb20f0b38035c85455e67700a91c325a8d73c67274b663a4da28af32ac71096d8db9b7b8d43966e764563a145a6945aa177c382000000b02d286fadb73d712e2647c58383b55b86f22c38a714e18d64a4868d19291fb32b11bfc842c3d6d540a4856e5cef7e35d654f76a17434089d210e7d3478e35397138494858f8141d3e8e40ad339fdf0b034aa08971d5c6a6dad8a2f5f6529988aea252a388e31f68bb1d2538121dce0b8b24884285a3da00ea4d46b97da69edd6088935b762b90c291abe9ead298757c0903576aed92c3533e5bb3497e0ebfdb80482bc754e040137a855b5123aebbb08a0000021c000000b002bfe2619baf2deb6649976f9a1946b68c5f480f14c7e50b4acc39c29b195f1c546068386562d580e1f40de9eedf55cd1975cf44b0043fc024af0e67fd84cacaa1b0e6cf8fcac7627aa53c7af16d4f64f7682396485d6cbc39342b3bf0cc77b5142ea9c9a65850ce7fe8a035649dac6f1f72a0f9e170b1cc1c7f4fdd084a6e6cbad53b010a601f6547a9630d13e0d02917469fa7e6f8827d2bfd69fc4edf6cd4fb081c20c07cb71a9d4e14d778b2320b000000b00baad14468f7fb083731ad9cc09b03f2a73a299a2fdb8204d13c5452f7f7fdc079ad729787bc07ab3b7bd6455e11338fe5d10387b478cb95031ec7ae237a87befc9fffca604551c0704be2fba98f24fffabcaea52acc54df5e714d062abd9d1a8b61af3fd4b33ac23cbade42cb4598430283d6b3f07d567d8323be2fc4a9f1261ba031407f72a9e8a79cb3d4783059d12eb483375e938350ddf6236d727e05a09152a20c91fa09d78692e8706aa10b9e000000b00d364f4e0637f23c11d22cca56267e24672460501a77b08ff1e3e2c243d37b50f7e5f8a0cafdcd5d211121e82186b4e155eec02e5d5a37fed40efa23969e641889a6c15610eea6e986cd5767fe7a0757985a7edef2249d29824b567811aa700581832ab07b3a65c44cded2b9cdc86ad709ee61a1a3d251570e71eb7a768bff3cf8240621b2c1c991d7260054ba993bf102e01b7b1bc9374e09eb3f711d359b9cf4c65ddbf7cf481c4c9f3b0308b495ad0000021c000000b001635e58760a010d5677acef458de9f23ef508d3c7aad36f30d159020552249fca102c9dff8054244fb710ef140e7f7330bed5932081ec2938a037fe65078de4899bca0f4bc662c7911b75ea4b320c5f9858b083d3d3cb62795414cb1ad0f569f9dc88f5370fdb59c8e9dca2c68c4e912fda33a603defc2f41cc1a4548c501b90f58b3b6a0fef919815557562687b62b173eff9d21afac2e12a51cb75c2904e021a09d94b2c04d2013708fdd44ad3da8000000b017492bf54726a0f0293e25bb23d63e43ce78f8aead2f2234836ed5252e4bdde66858fdd73a907317a2ebc746db1d8431d5f467177c22cf262b51adc9d0908e2d7eed508dfeb0225a16a9248bf5d88107ded5360e275c86126c2d7a4854d3a7909796549c62f72ef19310263254c0aead2b2e2331edd533330a57166937f9a0bc02d75733ec8724c9bec7a79ec331d684171ebd1d3cf635dd3bf6567b4ed7eb739a338807357f966f7a84601a367dc9d3000000b025ae02c7731878d8e4a4d8cb6f7ddb41fd9b263a19292cdfac30322f322f6f045dd432b433c09ea43b4a8d33bafff25abb7cb8816498843e7e6df54c50a59e984c02d66278c81b7d3af4302efa642590a90c7b603d4055a4da0339307bbaffaf325b81d0030ea5b9d16978be15031cd20e1fe68690d9733d88d6f29d2ceaa7ef1b58e336e986eb7a00d9dc0204ff556d14a76a2194fd0f1800715f99b8e6d538b2af6d524bb9af4f58ae526687db56650000021c000000b02b1a7ffee473c66da75e4432cff25791fa1b9079105b819e5e44605d9eb5402c7bd2413201bfa9cf0b7d0542599ce1ac44a99c6aff63b9b2a9a6865253b7c016fd19efdea84d17abf19ccef3a34e283410ec79a483cc05e88da9aeb38c2817bc1cb8bbc2f19b17b9bf3f22bbd52954e31cae0cd0155632811efbef512df97115db0f13622c015f5ac67b2bb40c5ffbb71029eee9f056240ff59c15166a1d77526abc05975a36211f54ee988d5267598c000000b01fd44b30835d430fea38ae80768178929a32d31af051fbc89a3ee37804b1ab47a5bbb53856636050973a1d205b91d4c5c822912cc1abbb60f973f9aca046fc64667b90eb8719cf8a07292cb98478978f368d4be08d233eb69ef65e8a8b5847ada8a2dd6a28578a9b2c9abcff3646dd230be4d7351196f7a8c3bc1f5680b700a7a389cc4b355d58ab3f716fd54d070cb908281649a000c0a0c55e031c754061726f8a64141715ff5af5dd4d245e25b3f0000000b02fe73fe58f9415f27ab40372e238294f86cf16f521d9b8f0bab1fd8466bf63ac7f87e7ccccb2ded073e75e5590c2c4c508bc128282d5ed2e7ee59ccd0b8f4d8e8b17034a09e75bd161de48760bbbef2d5e0655dffb530f59f0a1c376859107f6fbf6ca2c43b087c10fe6761db9b57e1610f35913d2f4e3ec2d2345762e38c6a51dd56b1179bf6e8faecbee1d00274f281c7dd18f77199fce8cbdcdc434bfc1e5f384511a510b9a02c6cb36d13d2514320000021c000000b00427c1c3684a443e68e6476d921fe4883e8119e2e6858025686fd290cef8cae6a46db746adc5b5d88e8f46e1130a0c60134d46da969574118f132f883b7ea29582c2f088f35bd3d39261602ad22051b50928c443aa3ac2355c88a3d59dc6f2d36d8cdcdfff5c336b2d48e7c01427873b0dea40ee484ef76eabc4bf9d36519d3ddcb320afa22912c8a804bcdd451588b614cffd021ed03873bf6db8cd83696e5a489dcfdc26ba916bded25a8ad2dc9e29000000b02bbbff82c9655e50e3e098c26b659265605b84310c352d1ed5fda86bf2f9e7c04b4426ea205f2499553258bd6120dfd069f64abdb577e5a5f9ed680a4808156f4e5e6994b67f86f459020f019850b52c609025026a47c1a3f458baac42685a86a53f38f3d83e8d0f7ce4f6a5bbd291491e971f37ddf02e8275a98a0a290636eca4eb90f00a2a55ad11f6b4a14f9bfec30fe34f1e730c068a2a24396751c0e45b61a2415def7c5f026037ca3b8d06f32b000000b0182c417167468658a69df15bfc4143e08c68bd9abdebc1facdafc2bb3b77fc1ed90e56c4586b11d7f0fdca151015d9b81b74cc905dc9815f9b1e51ab5b6804811eeb472b3b91ad5de4f4c6497a7af1ad0a37572fa7c3a82b66230c61a07da7c048e314060c0d6d838ca1f3702d9f554d161ec4c20c52e98b7e71e71cd35588ee853ee12813167a75f3e5a6b1b08bbc80006a2d7f071f9c441f4f3aeb63792768e772fa03fbffd89afcff72cffb062af10000021c000000b0299fafb3dea8218a02afb47dd9a44649fad40475cfb5c83c0916b02fd115e84acb258a4669e9d6401644650f7bf3ab0eeab26e9a79142213638c298186dd18e9e94d17a16c97791d56fa57ee9402e9e9bb4d0c8021a604b04c166dd261c1573faacfd8a02a13a23edb7ba0f797ee47530fee700504ac0e0c431155d514a9f753ad2939f37899be31eb4e1ee07a19117b2c6f8bb2a1677917fb1fe30f5785795b09246c19017879b5914752ecf9d76b9b000000b0207774fbe997c24e00d4ea3816387996258e54555bf8b4fa551786d0251ebe6f7fee8a4cfcf19d8c5b1a7ec0b8ba7dbd6a3f5537612f6992ed23e62bf15e07d9acaa835557186e030e819f0dfe199ec8d4e422307d4239c4260df3d637e8b02d05ee432ba4d1f5379f6cfad33f42db8d0856f77388cbf94c16396bd590e41075a25a7b521ff48693d17fae4f96c7983415f0a6cab050a61fbb1099e1a769c45bdd0ca97bf15c6a210d757bede5536911000000b0046c6a3c38acb315b0b8561ada0229442a7095b02da8105f8b857383d56b4feb8f08320f28af4427c07715428c3e878db60061e908b9d456663dd635b0b7c4882e3d7920aca4b45c659fc1459b2e9303a26881e68f021b863b96d3a7490bca2b43d90c4d79da46fdb56e4dd4b9a933ea281aa7fba4c41cccd8b72efdddfe4f4d8e994eda5976049836550044fe801dcf1232da18511dbf89ca3bd88485102e101430a04a1a48d843621f6708d575e8f900000fa400000168000000b01eb3a56ed55e3c426d5dc75e43e36a9afd4d957bab29d113cd2fcd92e7b5abe08e0570473e009030d52cac28b6e8aed84aa2980db6c68d1f2f6115177d856b3bb89e36f9b731dc917a65d436086c42dfb637f916e7abe9ae774e86bafa7161206a20d08215cae918e95893ba291aecbb17ebb46dd28e0e5d07f78a37a864639591ce1a3453b4f8f606dc52854b39bc2f0bcfa46bd19c5d2e15709e4be0a8bba994247554c9d633023768f5d4e9d88f19000000b00d784cf8f5c6b4f0e8c5aefc89216dcc5c5f4a6e5aa57672f8d426ff77d12724dd9886d0f60db5483e3de5bfb09ab9dd8effef61b38c20e023ac8460e7fa3b5f8da858cf6139e1fa5153eabb64ee3e06a19fac281ee3ac107645dc1caf1dd4cbb9ce010d74e960cdee039a31b01b00d72dbad31b6c342987c455bc50c341fd85d1b5ec8421b7d414b9dbc5d71659bc0519a809d63b404afae12ece41ff6c3e022c7ab88557ac198e41a6e7d3e984917c00000168000000b00d2c03aba73765947b945e9dfdd2b9d205795b658b2a4b9cbae7e0500a55d56341d39449ea28eda5cec6b705ce7e7310c3033faeb1bd8d63f89ee8e05af8feac19353166e20f2e26436e1e07dd8213599a6c1756b03d52b0e8ca02a5a59482687f2b6a060f34135eda7dd0bc47f1e0dd2a8216821916fc7eceb3c83650615aeb64d46a3312258b65f5a01c40564cf315204af570a715d0e5a311c3b6388e92d885df3b85459689614c8dcc5dde09e4e1000000b002f1c3ca8a51d5829616d7f62e504873b6bbaacbf9bea425e2c777b48d74a4e6b3ffc84638da47838944bc31f6c62a81fb7c0d4f51e572b67117db5367782d906b9dff6290675bf3948bb72064bcd3e38f5903237c4ed0b1aee58535701e47da91af9df661ae660b40a35e07f281879308c4ffe4c91aac2c31fbae5c8a66beef66ea57f8ea065512e1469997bafb9be301b74be041b0f7d7d92d2edffe0560caa4bbe50ee88106e964fab543e44d822600000168000000b014bff0510b68885be5133e640c2f49be7ec7ef0cc3d22f7460f51a49b3620ab87c8cb7bb48a8d3a73d79b8a6d1adc5376a3266d4d140d3e8d1dae1a8dbc50cea39aec1aada94c9b5f33ef78ceb8b578bbc2e2643ae26b9d66e98f40068fc7e90babcc601b98396406385a582b16aa19c1532ecad65c07ba97cf3bdc671c2efa30d37c940674e5b28127c6ae09ad20b580c3e11ad1521925a3568b87b50283834e69998896fb739003aebb4ae0a16b72a000000b03008287610db0006811cacac2365b807d637d76f37cbdd9c0dd793bb0111907aaec1340eb39fd0a09323cddc369615c07195753749fbdf3ce4d58aed8f7fadc5f723d33c49fa458089247338800f969d9beb0cc102a1b77b6aa41a97d1b61b40fa4d191bf1fbc1cc38b4df07d07fc3050e96ba85fbfe89243d0641c8697140e1ac31efe15708ba71ba2df4ab4c1590ce112b4bab6030c9bd50c1a25f071e10ea14e71a6e64e9e8a0d2a30c2cd4eab70b00000168000000b02334e6ac8ee9d032d68e058c725f33e99c3629749b32117d0195dae98d38bc6036dcf66f13884bdc03d609dfb0e6ee750eff10dc3147d77a4b5009273fa76961d43fec7d6e94e51be832bc8bb65ae6193af8f07186981052c218c8053f8def412cdea0e9f063d8e8924d635b8a4b069120bfb6fe2859ac41259c78d12c69b8cfd213c8886746008aeb0b62ab380dc97905ce0c0d59137a61501f150dcdcaa35c3a7496597647f3999e05f39b0c33e300000000b012b8a09306ec59831b35dc8e3daedbc756836e3251d3fb1ac6818d5c5b558517ca7c58b6f034dd510a21028b7aa32d5e0cb6323c8efc4ed5ecaa148535b934b9dd0392305721c038bdaff25a639771dddc48fe8d2a9040c181917e5a06d1a434352ede313281b9a95b4a8ed196729f000293f9101f2f224a3ccdb63d412cf7926e9dd846cbe4d1b55c199dc51cc0c7e83055e689b2c8d9e943c4310f436c687bf1bd0ace4be8c2e97db00a60d36259ef00000168000000b0105c9e1695fe3dd0b9f1fac9e48b087773446b8561cd256b68d0fa907a96c79d340f9491373bc1cb9a22180599912766cd131f9b9b137d5af22cc3fd103904d629ba63f0d802c0ec139460524d0e8d019df4251f161c82392dffe902ca3a8df67ee97d8a8d731bb0d2c5b0f5892eeda21fa91bcc2dc6b62f0a1cf36d5f9ca80b0c816eb0d1413e5443ab59a33d7d301b27eca233ec1c5269345a50e95d02df52d1837d8fc2f9ef3a8166908167276c2a000000b00a36e6affba1df936d9f50117d5ca5a2dc7445052ced0a667215ace190ca180ee3df9acfc6e722975676fd26925fbf24a885028830dc4e0024372743e2cacbfd4c18f1b1bb5de56cfbc34c2b96a5c13b695fafc90aeef4609e179c7765d4b19be3e280023b03fd221c716edc706b4b0f28f9abe1398d0b28fb32b740fd96434fbe657ddf1552360a3fa4264509bc3a9f040f81eb6d4b42be392a9ceb81d9a2d61bf6c96499a3a4f1e0a0f9a07f04848b00000168000000b02dcbcac0e4979c73a00ad04ee60aa57a80eeb79eea3942536fb77a181caa5bb28353d7485ff80222b621e72793cc3cf35a4d48bb4e3f2c7ac65e26cff25043243c2fb4ad885fd3662304af5962ed393f8b32d9998677313a863fe8ce454d28ce71f50ca5bfa6f00453dd96c40393579615c6555a03edcba04316e07891d6434f55b98bea65c6ff9ca3026096754840c51adfd516431b4b55eee4776bd9aa3a311988ddc9feb1077b18b0bf694697d849000000b0105fb45682bdfe6a906ae908e1482a78bb50d316f39438a68fcc95cbadbff139d812384e80b2e5b7e79e85dee034a2d0a3d23f601466a73d058a35cc528e798f4724af1092c6a42f9a1820431431bd84824a365649b038aee064aec18b6e048410b91d782c2e2acad4d2876ae3d13f641e3e896ce931f609759d5b9c3c80c4438809d984a63c0cb46a4755611fca8e87257e2c1d643ab6aeac2772d21a084ddcbc4a2145a05b4d8df1a0f8cd66cdfcf800000168000000b020d20e5e514c710c28d839d924798f72a297a857aae38b3fa8fa36a5d192e2baec02a3ee7591894abe8114b1498439c9e14bc694992ffd8522dfb4512d80ce687dceb8cce4c43d71eb1ca93623d8bae56582677d41f295634777e1fcfd188600241a934b94f1c887e090101d5c66168512d5794d4f23fc2133415ea2819f9ca6c9f6afaa76cbfbb8cd3a6967dc35cd951fade5672d46434af72e69dfd36df4140f7df5e8ba6b582b02573e726719410d000000b0199c27e9ddf0bb89ddea82ac7731d46ab1eb38c07f3b58c03f2b660b1c9792107abe93f33f38bc4d0003b6918b5ab64841059a3cbc2bbd449306ed0de4d6c6d5e6ed024f3b650872ca40436e093342f34117147a55fdd70e410408125854e30daab0d4734d60f474ade4b83c72e9b76d0dba9bd3f84b222a4caa1062b51f39145587831192f16329c5d64a2d47800be01f03bf2d08597e92f97c1d4ad88386b9c7d0cfc10fb37cb4465906cd2dcd790100000168000000b0067f2050c2794a36c2db4fc1ae07cc4980ce3d27309062dc37f5db9920a05587eee538bf795d557dc1a11a48706354926c3d2083223c7b0d76a7184cab06c53d183fdecf78798f69de58da16d8727bd91db7d16cd88e78bc6fd0f48e3501b5695e374303cef9a465b788ff2692dc515e12cbe52a68f74ac3710b401cc518a6d75a1146295c62ba8da846b9007f5862cf0538154657296c18d75ec7a7d78f9e01c6fc4e98a20521e5b06003482402bb6f000000b009dec7b2cfe91942d51a7a3ababc8cd1016d08559ede78012a21b53af7851f23c9f0b498ac4fe621cd25ee139713d835b02c6ee789c43bfc5f9b117a0ee40044a11a9658ab5e70b9cb9ebc95561c83c343ea6450d5cfa77937ed213cd7bc94a2bf1ae696ea17cd40313528cfca9bc0d70da72122feae7a6dc426e033b5b85fc98ed3e8c212fda8ad4aa8989a0df60a09259d91a247347df2443f1ce6747520d1e5cd5b0f4eb07c8f101ba8d8ac7d7a3a00000168000000b00e7ef7d2a05bd4566778c06f78b6bf5e8589000a49af9bd85c80e08223cf7d2b507579d998dda692826a39cf4f3a227d6a5b37e6166cd810d01abbfbba7040013ffc3d0a7e2fa07119b03beae3e1789409d36719d27ca46fed0d8305ac635735589bb1312e821ab77ff49d532aa4e880165d62daa7dbd2b8745644b1b42df3a715c6f1c9a03abfa145a1594b65cf0bb412b5f5f2ec394c10c0c194353f292b0c7810fa95b3e94b53b9c53b042b3caad1000000b004cb7d4593911443c66e2d93fc55dd04fa195ac546ecff38eac5cb1d7fc762fedb9106234c6c65ed752b4ea448d17bcce75702fe71479369152583f318113352b5731d77d1ccd0d688c0fcbfd83f023da749149550bbd874d4d45b8b631ff74ea48240f00eb3a9073aab8b5055f562721ee13e52745ae546fc6b2519955aaf8a606203a3a2274d4ec9183909f90f6a580754c375e32b1cd27f355cbeb76952861e6c78e3731639e4b5c9b4e2fe8313f200000168000000b01c89ca665c067e8d047baaf5c7a7634e568b485b49ea5dc18152bef23258ee17234fd5a6d5aec28aae70bf2515ed3964fb86f9760f101181657438120917a6598b4252f9eaa47f00aaf6ab293748dc3152771922787758a166c3029a1468848d196ab636d8a71eec8c24e8bd5b235ffe22e4cf377c78ff53f258a99c284701f9ac52309d65f88dbc0473bf81b6a05247059b2044f9c69b43ea870408281cb2e42f52c359fd6c43d8f251fcb1d9c70b0e000000b016578247ad3e2d3c6ff6cac0118dab81bfea74760da4ded27b945614d197a146fc0d60a1bcfc13b61d2b631e5b27bc63857efb11344b7f3181c13a98b2b4bf2d8fd3ed0a8761a74955a832fa2d8f5e8bd203656bd572d45ae8c63c10794935e3321b764c0f7845560aa1d5d0a33c4a8f0cf0818f28b1ea91c6ab980d1183b97b67f7e2a76afbb85eca3745106185e7ba2dbc59a7113e4059ad9ca77185cce11100584be885395120da84cea3ff26f89600000168000000b01222a0e4cc536a808518b1d1502932b9a6d84834b1fa2423b314dacf83464fd39f69a76d5adeec01414f3888024ec43d4c00bb2a64a94b0d60f055fd5be7cfc881a32d054ca20f2835ab3054e2504520dbe99b0d3e896e11bd3bd7b52ad7b4d9b8ed094a7b01986866196042db1987f804d16d9be6686f225806edc69e2e547b8952c8d9387a113e948af7502cf80b081dff43959879b0e64cef63668f5901e14f7e99f870b1e0919679c007e54d36c6000000b00b53d12a218c602b78b18a3d4d62a01cf2586d1b23f0385ed9ea50ee6ce01c8068aedfab10fe9978069c469f6dad2eaee421c1bc2433acae4ce1346b70ca575b300fd406a8d1a129e26ddb1ff12df909ef763520c643ad76431f0a4f5cf7ee1e425176a0cb95fe229b80cb38afbdeeb3201a77e30ba447202bc4fe8ad7712cb1432d9205554c23560c6b372778e0cc4c11925ca0e5618f967b7d1bb8ff2c6a2a31978f98a625cd3030c934ab235dd2d73800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b025a158fca96e7ba81b8235f6930f11ed22d57faa7553c2f8786b981d38bae918468b126bc4ce8562351f608ac00537ea847787178c2ab5d96154a4830cd0cc19d21db94a7cdfd18d262f33396754643ee65e6ad019d5b47ac7de9ffbd289442a1bcc1089355c0bc93346df036bb29b0e1bd449e6555d84e1db822f20b579138d0af5bbe40e2ba8b4014f9c1aacd7a5e6266395ac5293b0253d57d7e9451b169a6f56a64db2e12b541c6989b921162fa9000000b01026a692e288111374ec1852c4ed641ce3b9fe9f9f848b54a9a4de271a4e4bab1265f85e48be17aad1efd142cf2f1ec13bfbdc5e73ab4dd8f89d46f50e2dcd5f6a287578e12284cc34f45c96b9266bdd67d29be683dde9ae02c118d520ba897ba1f4346383798ef74c18d417d60c85a71d4b457a446793dca49426211b18cbb0450279f0a5c5d7eb70e03aa3757caac502257886356404f0969da4d52b32c3d75a920890faf4ce99c04c779b8d9a82a1000000b018877d08de968f413c875bf7b3b581dc0b3cfc29ad8694154fcf56707af6d61e6d45be51cb9a3e2e0e58ea0238e2d6d09658269fe24fcbb2f27339a8ab3bb358796b05793f39ad302f36df8a58fb8b8af0ab10869e7e7c30aca4d53303da393786e9ef8fb735921a708fa09b22e6968812c26c66299f0e611a8b71fada082296d6d4ba287e03fbfe2e9d715ba229f85f2ad1d498fcc6bbfabf4b67911f6289963cbc644f6914555af4a28f7c3fe7a6620000021c000000b0243fbcd9e415819fdf15727379012e9a92bd31ee8513a128c0d37c82c066f14970cae3c7b4128a740c9111e845f3816892b597ee4d897aa4a56b273542ea3eb1e81fad969f72a470b93312509f74880c5c79a088b26712fc780b1bbd75c4bdf2e87c1143d5bb2e1b52c48950fb426c322902cf5846da71f0aa2a5f3ac8b586ec93384e883a0fb607132dd24fe2980df011af58cf9bf32721466ad98c653e46f8d38bdcde30c2085eef8a83b4ded3081f000000b00b12d5aa7e2d73ab532bef95afec6728e697d4a9ce4bfa322af47f90dc13001d9fd8089c73dc6af8f0ea6ce89e6ede79d19d88225366242c085114a9a45bd01c82214645ce30b3d6d539bf31061daac2d8315fcd2a63f8096f469250163babcb1076fa49c28b8c66a4f240cf2516f41c23e52a2f21fc1b501a50d172a68190ae5396fbe1260ee0f132bfd10e93176a242aed6010d5e952902058046ff76f5dbab6ae16821cf18b93ef1fbf86991ca0a5000000b02f7700890a39d7296c90ccb473c7f8d4b1f8bf94f5d6d5e5eed3ce3ea559a60cdca47fadd000d8aefb7246b9bb1460551a03c182e48ee905a1ddb8abff4a87af23fbebb3efff40cf141e5ac08ffd7228628dfc56d8ef7a39949d20dfa810957c3e5aaac4acaeb497e1d09ee1acf9ad1323d161e3c2f39994da45184202b039c57a9bb0f9a19feb7d983319f73031ac22279214569a0e15aa652c272ebd979057a40fdc48dc161bec389db93cf8a327450000021c000000b01a4a8bffc5003d27821a99df2cbfc8107a072d84cb295a42a9fce7294c91c617c548241139f532ea271419e98ccb5004a3f76000903a20ec3ed73cdd9c6fe3da7c2416750a2b06586adfd09132fe8d2f67b3a5d710fe92473e1a0e67df41dd2b20411158ea9d83b709276aab0baba88f209c9a5238568021c649d230b1ea65e16243143eff796eb6ef0a933b868e9c83192d744ffb0120af5e38731374f8029630d874b0a06ce0b4443d73c99541ef28000000b011c72d780f5fc35e86cd4020890dec7b83e5562f3a98422a38b4de03eff756521cb1b6650f77a890dcfa22a4e785a9f0e200176bde2d5f444062814c1f2c485d3423714802215b46db0caa626f2b4cb82f11abfabc82cc24c94b297b8f30b08c444cdf19d8128d2f9421132823ad05cd0af8392224fc502d91e8a80fd04b2eaf8d353820039ab00e49bfd51bd1c78b111740d547dbb53beb85ad2b8100c1eee1c795b841007f933e04c7d1b1e31492db000000b01a237a3b1dbc6b9858c7c606a6c9ef09009d2991cec1e89de11b8b26054fcbb2f2267223c830dbbeb1b2019ac2ca77b72527ddb6cbcb373e6124741fcea3df84da5cb240b1ece8e1b89e885eb8c9f6509edde2c6a690cec3d99225bd5c1d4a8b1789645c56ffa7ba4c410a57c53d66f21cde021b3a2eb476d315fb4f046802549b6038b1e2470427a0b17ede23f9a70925a04caf097c9a07fce8f329735e710333ebf03ec74a5f1d7f58c98423eab2570000021c000000b00a9b8c9324db9bc6cc706dbb4afa1cf1cc8f04bc27e4ceaf7fbe45dc7532ee4bf153a6826bf09a32fbe30cb9fc0307cc63866c3a2fa587765cea63fd00da89534d0e10d9831956dd99cd1ae9a85a5261bec1ae9051eb144e10529a926f8488b5407092f66142472bab39dcfd84bfc35d0f62052d37f2251edd0f8c08f607463633f99cb2d6f436ec120a195cdf607f9d2db12e4ca4dbdc69b48fcc7a20361cf6eaea0fb070db948acc2f56dfafbf75da000000b003d1fb797ce29d7b660b6a22cbf6272446fb982dc88b6575ac1a28a9b9a38b254ff2edf0df17d930d075789bc78b5510da3fe577993ddf2ef3f32e9969d902551ad5d8f891f18aa934cb800c64f3f18ae0718fe7ff314102bf8c550c592cdccc5b31199cf9670cc48c1a336058fec52d1c5e74ce177e08e67d53ea32982f811b8c52a373c9beca6d1c2c06fbdff170190ec20dd13d2e54d72c0f09568ea03303189f9c225ab7c9502bd304672642d04d000000b0177dafe33074fba82ea971c02337655f4f4438a9670766f2fcef01b5ff7c2d4ff0a9bc9439c2d4ee7c5e530d4149e4133fad0e3e0702032b5c3532811086d0a8c036ff01689728b5c64b8cca2f42b38dbe837b2d8ff36bf3a79b25be600a7e28b698f168ff8a760e161ccbff995744401557cacd6c9b848673be061d8fed16c431ab680e936658f009b35f96d018b9c3171428cf387b5fd44bc2665890b12996f5c3fb0ee4c10db63cbb24af9915e07f0000021c000000b00a6be6795a56289f60989a96cdbba6a7b3bac76522f7c4a819f761173aefaba8b06d9b9321a89da73ad07026d7520d0a2ad518dd112a512aa0a83424646897186765bdeba5c381ad435d80f7f27820621c2f251941c8636b101b4415cc65ef99a1dfd64f259e651d6558228ebd82d6cf1a2a221865dc0927ec2894410f4750c6258ce2a176994b785df807c3043b876a0530cc9beda728224287da22d39f7e794d56347f4c156bbaf858aa097f833008000000b00fcfb871c160f53a11d277750212a177c24a82d28b71be545ba5728d52b4de93b08a2ea8076cb18db681a84a1639b5e91c0ba9036bc0eb0e442ff472111fe9c7e71b8d0d6d737f57b92bf539cad11a71ca8d04ab466894ca7adec8580b68a0f0e789b325e729659cbd1a57b0563dca900668b97c311742ac037a4a55e560228c4d222e3235affe60c4d9815f4b92871a2a7dcb0e0fc39392e1578acdd909a9743a3c23d643ca4d5f8d05384e0f53c824000000b02431f249f075f838f94b84ebfc4aa4cfbb838b15841e1bc15f0d5f548bb467a87b23e7580c53411f87c4ac5e904c3e3d1bf29f5914aa4f86c8243ddd4f561cbff032a37c91c3a8c85fde2b6a393f7677c15dad3d32b354c83ad4dd7cd467b1074d024e0881e8913ac15bedbbc39326542d491fe4b88d83107e6d85d1397bc2386be6849d95a8511a2b53ede324128e98163188188139cc24d3a03af01d0f292050427053d064f9b9cdb251fa68f670870000021c000000b018a8cf1f9018f3f8d3938b84aa83ffa213038e015cf4ac0ec86107bf6ec6ae66dc3f54c9f3ff3622f0fdf41ee45f8e5323031bdda785466e383f1d587ac08750e44c8dd5612afc0616c320f83f248e7346eb1363973d5bc618ef4bbbe71a377fec5248556164aed165681f9a3481ddab2a6b48dd8f13c8e82a5dbae1763628ff4331d3d324b782cff1bca744b667b19a1c82ef616366fc74e05df3d125e57bc7425ca89a7a40325819e345cd8f735519000000b003974414c4767b8a8b23759289ccb718e81712bb211b48c416abcb79d07b23c26c3c0a20451310b94fa284887b835dfca1902ba5d06d057e78fcc44915aaa63a09ff96a8bc3c2a3986e6c12491dcfa47ca6d3b4514e5b7bd113b59150c08a7f1cad9e67a67d17eff569d92638db8524900fc3686a438d3e5cfba156dd988dffd81e1ae5e23231fb465e5bafdc51fd399189470a72f4c179bd15f5beb5d6426cc04770ffc32fdb1e469952a01adb09e6d000000b028f4ee06a034bdafb902d6680234c2beb1471190bc601ce5a0d9733cfd3f4e4b6c5ea477794d8388942e6cc3cca993553a601f0d191a54e25858ae97d808074ff0cb995344fca93a8e308b755888ca40f876d37770c9d3338d8f7866c984d9b2599619dbdb8799a18cb926ca70898a7927ba7db76ffcdc7abb986a864fb21824c894af4b0752a45c7fc3ecc2d72bc7dd29d24045c623a2aee7c3cd4c30341899ae0dc1990b11359d76a3704658389fe50000021c000000b00b0b8ccaff79d506787080fedf4ed55ab16aaac0f9b8634fe834b03e6ab848529baf88db712c8005a1c0623d6b75afdef13a3f4f8c2c3de1791a4fc737f8b700377cedf919f29c6f662d9704e57e2f5909447a076c07d0169aa7889fc3afefa09a9c297231d7a52cab7392038a942b34196047cd7f2d1cf649d683fff68ce7ede5a06f9af017daaf56f1d084462e517606b72aab9c74293c90ed9faec8a9339ed15b556d1dff41888a6fad2b3cb8e059000000b010f2cfab722878f03b1dec925329e370999afd35f4efe3c625cbbe827a6f9e114c26a463d65c18bedc550dfdbd7145aed7833fcc20d111179cf0c9afe8fb1cbdedc0fd857e14293d380570af21cef90b44f71bd7c8ab1e81e13ea5e8ff737e7badde999ba46c90bd0d5d7409d15c0a3411fb1de8f78fc7025f55ebc78c32950f1f26962aa0cb221701517aa62d488dea260dfbb4a0cab3ea4f0c8bf57618d2ffbb0bd24749f94de9ee37b4d955f903bc000000b016073d4891ef0583ff5d3d98c39e8338a64c4ee37fc7a7710fdd3c2e6db66396682f1072800c2d8dde7e55898fd25fe96fdc9d1b519b1a92b3d327121d53c0c39d7665e8f47165b3d6d5c702f1aeabe313007cab17eccd2e1563b3c1770bc052bc002e43bc6bb86435f90886ce2c75390c1e43f2e1d4534b59e393ee94b191d7d069d85387af80ac735db39ebc6863c012c322ade23835a3d0f563b4dac2adba59056139ffbf28815b1b90ca383cdb9a0000021c000000b02d2f4f43776edc21e17b0958a20d733ca51d14244a49b5e7381b9255c88c9b4c6a6e229d252bda06c0b75d4580a908f4246e7bbc9e73e9afa24610d2da38d33292a3185ee3866f6a0ed361ef3280eec05f6e1b47c79b09a0b360fe64e62f8b90e034398cbd53f73e6236d9afe8a4c83a28b578a9dd6aba4d89a5312351c5e54f2de2fc9a92b9efdb6be81a653108be8112d2457b2ea00155cac49e193461bd48c1afc7d2af1ae86755859997c2eaeef8000000b02a556a0d9467daa1136a77b9a715671cfa20183ce8b7821c4cec6c75e31f5dd41fa19cae10e86363136a59b5ca28874012e91a1dceeb51229d3d093cc83d9a71ec11f382589a51469e971b2957b4e5fb90a84c625d84ee383f1bdab6bd449b70d0c09505dadf3d21c1a75c05caaef2ad01c77685414fd76c40105332a52c778fb887f6af936a3b666668f4fb72c7b5662e5706a66c78de35d907e2bdfee1d13584656917bb81562300e9bfca1aefc4b9000000b014068321a7826a56876cdcf03ffbf0d1cbab4ef06a02f7f376847cfd9edf79ec123cea3f011da753e31261743f445f3a15057779386ede4126aa15789392171b27cbb44f26ddf08d3204e0c281e49232e8cab840c7f29c7e9a196ddc74d7dcec5a9bc7ec8f0fe70e0ae2de0d995b8da12a21078144b84d5c0189d548e97e11f31cd8e5fd2070943def989a9fa8b371c51bc67a6ba89fc0f1714242a87737cb1591e95e4ade10ebfc19a927b2e091335c00000fa400000168000000b02aaafbf6bc67be7777c3f052395ff059ef1d27399bbb37340d8c35a1577abd3c163c275188d3f7c9d5b798e83d7b820d11678a85846e4315989c889ef5f05ad4a83ace1e3b933985599a87508f37a46e29c1e709968f5fbba367be43cb542c888bbf983c1a843cd8acb7708f930a0d6626c545ff8fceb70270160ab1dafd38b9c51c211934bc77f99bbfe2cd63ee081819a74c96a3214a14698e9730830adc9e7080b0af374b8c6a8f1d834ee481b5dc000000b01b54450a4aedcb9ac87f49f770fdc9db1b0d99efc736c48064b3d5a3395445b3575f3624ea4fb282c258f42a3497fb9df818757c8497d71c3128e24ebe5845b73e5cb92db5851d148a08d4d6b529615ef89aa97e0f756c9541fe5f06fd020162ed0029a93e49c49d81c8ef4abacc158914ba00d3a2e9b696afb49704817e3b98c8f235b2b10edd7938aeedbbda1a9a0628ca23e21a0fd6af71f1e165390ff7e477c5eefceb351aea5a140f0f6810d81f00000168000000b01104d24450568e739e589269e0473d74c005d43d56fc597ba74af32ff951c275a42d02457c632d5709219c7e971f2fe90d2187e89f8962960e8845884f753e7c735a4b8bf26a2817f2c63a2507de01bac25997678166a5f578df7dc789a2bc08f5850255abb2a4f55fea48f8fe2a4dc11d03f838894476110c668cad3977c663f1ef67f8d35fb65a3642b50357d0cf1f0171fb5a0e02827a49df2af047a0d7c7143cdeded039ffcafbc66d4f36938d71000000b014f648f4b796f650eb89edb6618db4cdcdb32db11a82286f327f8750185257b0f91985370226550c246eb7e106ab1a12bf34cf6316e42b760cd80e32181e6ad324c15b505920151f1154e10e95c73b99cb44b64c25c276e0d4b70bc613d3f8968602682ea254e9ceb2fe2f6f3bdf1e2d1d50bd74c61ed9acc17cd43019c5dda8164744fee0df96f16982e61f929d6d9e26700accb476f9138e68c6aefa034ca27b31d74c9188df5761a6b70bb74c2a4400000168000000b0299e1d34db772ba2d516eb6773debd44aa8076633488b0adf75664fffbfe84c481230e919b6c9fa1f3825ccc953e876df9fbac67eeffea206dcb66eacb263685cb2c05cae9f7eafbc9377daf8385ad8d5af8f75602b511da8e7c4fc026ba3156b949f5782864d8801f173cc12a5556ec106dde4a439e54cad839f1575010263bcdc6f421e8ecc80659c1a142ac15ebb10128af1299dcf472a89621e7d95f40fad3e4e4800808b8a971ba94d4008cf4d4000000b020fec6e8366ae310e812c7e37d41b8a27b5fd9e2a0cd43819cf23fad2c9e1511f33f3ede9ceb549c79b09b4477c56121336f166f5ed1ba318b693b38c121eaf22dbcb33d0209d14f58f59053b4d043bfcf79bfa600e8090513f6d6c1e0ec015de9705662a10addbdcff090e3129fc585108fe756490a88fdf25070951d6cde9644694e04c3ae35814ca5db430c05fcba05ef2fed721ed906b332149936cdd8dbbf15293a1af0fdbd5f558b349e5f498b00000168000000b0267c9bec172a24da7cc5817b08c30a1878eda34fdd5626182801d09c8ec1f0a7062a4a10af9bba96fcbd142e02fa2265498dc8e14b2b188cc824e39f9ebf7224a6fe5f1cb7f172f0fbe25cb10e4936c0bef16d5e644b069248ee2a3f0b72ffae96aef06d734ef879d1674429ac96fb7a1406d2aa4cececba9042fd98dd3923831aaa17f08d4b8bdb7f310e2b4619f67e081893d11117c5390ccf3c5aa361d6c0b6fbde5a49b1eac09e3c0fa048fbd9cd000000b0147f00f0c90c7d3e36093b9195d190e45ee70e65fc893817a05d4c81158e92ff7047a06e6d93f3bf5098caa251f64c561e766bf16fc29f6b4ca21ad44039ccf8524f59162389d1c5d84ae5d7b1bfe7d28a0d0a97f552cb46a71a34f9688657f8860374f69da2cba45070ab62480f29bf280da121a059ffae059e6121b2cb3c031f225e83ce1c8ac5d4afd2d1b40738fa08da0a428362fc778e8336546146f2454675a9fc63216fb9f5e580a9f6ecb73600000168000000b00c47a6324616e6d4bb9e28b594e56574e83abf2cabb1e20349a281197bbfdc7218eed09d83a3be481c29dd0cb18dd8d3130bca11702698db74259d5b9aac1ebb57a98a6ff0713b642c7615c611c3e97f6d3921e534b1e162b702a3c51e9c95a172f179567380fc514f5119f5b760bd8f2e28e9c573837759c3f5cd77460bbbd8e80fec916cb248808781f7c2cf7e4cfa2d82608ca1faef3699d74b9c0095dd3faddaaa09de20b42348c6ca6acadffe12000000b01933ec5da273272eafe3938a3c1f69ff16a99eaa061be7a8027cfbcd0aee7b350e5f48251d8f2fb763829f925437f4ca23a002cffa08aac3e1e9ba4d0d2d4b9bbf771ffa242618c7227934413fd5ee41fd0279135ec7df3e3e60b89233553fca81dc3095d499f670daa776bac18cb36b20a532388572364981d5e633777a9f85dc783f45bbf13becbf687fd04d937ab210cf547a42aecadce21009c8e928b68e46d8f193b33108080262c99a9ea1c28000000168000000b02d0d11ed1e32ce40dc2edf200661117956c6c43312a1ff52f35c89a361471e4c06b741d6f53d7bc72a939ab70271478c349a33244fbb9750d6ab8e35eeec57a5b64d8a4b90f0c7777b7db36b0dc540b85c1cb52123e5f9a1b5378c45df34bef8bc6bb660d99dc4e7a7b93e6af7b9c07b21d9e055900d420adaf5cd2a56366a7999afa3ff778a7800e82bb646cc395e7a2f518003232d7996c6f80d86625fbd96fdc020e71744d3a776f3a6a9a6c52917000000b026a79738ae64c37b80cca10537c78fa01c8a6991271706a59837e098008f78818ba4dfd07280e6f4a922e012a86f804d1d5b997e8325c6eda9d7a643927c9783afb34c6dc541ed531be3d9c2c8c7d7d7bd475324ce8e8fbc946a42dbe3126bd1160aba1000c801bc5cf744a6b414beac181de09cb20dd39fae420041d7dc9a0f713244391f37424bec8a35d17a4deb1d1fb8825295fc69e309572d3f03c2dbfd23ea049c252c286d60f4bc4ff636c11800000168000000b02ba11561f36ce541c21e7cc15f3b03db47ce426bbec570b455f7eabf75035cab994a62b9877d7fb39a2406f61ea5d0d49071a894700452adbfa20ae1450c5b795d91ca6215cbe768165f02732235264a7ae3876685d2f50bd43c85ff347d41e2c7646103ea458fea3b7324ba70ad06681184e3f842975bc777b8ca64be7b3be9bded1b20b39261497299118649147f25196b942a6069e97828b4a1f82a8def895d127256465ca1a4edc561db0cb99acb000000b00171c81ef43bb883214306b4170760755155de70febfbc55db9a5a22025f4c047bdf3773fd5c188f9cede6f4f20265759ecb562053d4a8747a6d2cd01dae94cbf2cfac3e086206481624e6ae24c3e5c876f52373c5c532557a0cd51c6fe43dba4b1ab79d158a6f5211d386dda5740a220b3759fed54e661605a3159418198a511ef10f9f07d3313a837eafc3bc4cfcac2f3ca49d74f734ffa6c8d1837ed93ba51d9a05b1fd20db18094511489389745900000168000000b02aed68bcf95aa2bd6bedf3dbdb53c553b5ae0513b991530409db4b7bd1bd9007dac84e59f53e6eebe4fea5017aefbc59aa13ada2309b0ba2caf40e68fa903304e8d76466e2f4070bc34675d36c54932370c3df4795c9cc8edcbe03c7766abf11885ac8fe353d08c5707e0479383bf36502efd9f3a85970d3907ec02cf13a1b444a8d2a0241925aaf7cc99168ebcd6e480ce06923ce278fe1e78f63b9719eddb61e39d932c05540648c419cb14d097dcc000000b01da7e200cf4b762917b104267cf371036152133b1e6a105e48eeda97b708e636e580ffc04d9c7c81cb363a3b573df81d36af00e13c01a30c80183ece2be7f60cd4f327c561f5b4bae382338684a253c3c6f601c177c48face6898ff83d8a74387c7e4d98495cc6b5f96a3df2ce570151076af17322ecc994f547db19272e61c1756da63e34bb46d7a6365d5d1610f50709e3cc05188c5d4475e18c79e596331ceff8e13acd05a8de445d1c95c3e29cb800000168000000b0037c791711f16fa5dbb94e824d00ead88b21edc3f1f1b2ecd9fe02956d5eb9b8c7eb071a22fbd9ff789a818a0ffdaa416b5bf278c97c66516281ddfdc24d1cb9980cd1175a195ccae01da2724acaadd16b4457f29e89656deb8559a64f3b0bc5118ee43243695435a69f6520a744fd5000bccc29453c86464fe28c26577f69e0d1323b4009c00b45a85b55630a6ae7e427515dd76fccbc7bd025ef07c9c98812bb5589ab297058aecf7eeebe35d9d946000000b02526a3405decbc208d37bdacb09c666e85d3d09477bba20d6271416b9f425e85fad91bb1f58cb5395f575dd78c957f610b58d753c47b3854d2c8e9ab11183aa2fe014a0118b569d108df4e96c0b0bdd4721ec45d8e568f58beb2ac0975f3c3e85c4474378422cb32bc92ee6daca5794201f19cbf8e74411c46becb67e4cabe0a9661e199c4dfe541e14aba923ba1fbca1e0e2ba28cae8044e6f27e1dda2ce25d51caf09d90a8eb1e3e59ff490b40896000000168000000b00e0dd02b226ca34bd09c4d16361aff8d4b78208d70d099ea5f9b18a963f0f4a4f37624503e13d9e9162cc13e145d2940ce9bc289e1c16fb13e503ebcbb8bc56e85b7b43a44e37bddfdfa1619140edfa926e35e06ad74c340f95a82f2ce6ccd4d5f0f60950dc23478958c7851cdde71f916f770d7550077b9db6961da45864bc8c1d50d286972f348555205d58c2ed7371213251fdf6434cc2b9fbcce57951d72e955e980f7c4b87d2d6850adac6eb0b0000000b006ff5f91c7918b9b6889d3bcbf9053d8f2e87087f3600ca04032b7df1524e985e4028001b487f5272096a9d5913af8dacbd62e2b68d895b695c38d196e9abde5ba9e7f6a6deadb7603245c211dc2ebd3059f593a63894097a5713014e55fc7cf1da603c6e555eb5b6e1f3f1ba92952ec08ddc648b12098ad730d3e9771e858a264c9f857788a3b17ff65bb42d06612f02901bf7a84491dfd5de40e50ba2a3e1f803a0df2385e5a42324c13a37c6c8d9800000168000000b00e3bf9afd52a0258d5cc82b7e38032a92451fd3d9335b95895ccfc37cf37b394d9bdfd0976bdc66031b4452caab53cce299b2fefa5c16e7e2ba79e95f4d52a133ac233f5bdd6bd466db85dc899de2e928874f8e40c596f7ef47151bebf75a3488f602f32f469a0985b8a6a443726a031147c6e1b60954115415413fd85319dd3cb93259b4b56962e138692744821351503271d2f3ef84be5a3c80a793ad07ecacb39a0db8bde3991a9d29384805b0da0000000b01cc436643504134726e16718dde578ae1558723b6b259d909eff49ed290c16928bcecc4c0c4a470ae642d828d45ba3ed84889b3d49cf3bd181a65a8d556b086d1bfccf239887edadf153a9976317887838a000b14aa04de455243ec8788b1e261aae2a097b122e9e26ab71dc259b6d8600f39e4b0006b87892f8df4ec2eb56874fe5550d2f94064b996054de367be06012c7da8d82ffe311c8aa7f7894e7e4aecc2450caf4613ef0c5ebaed680cc4ab6380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b0071a3d1c9f90679f46eae1bb5fb2830849c3cab587df58fb012382db987d7d12dd758b0f8cadefb2f411eb1579fde9a4bcb4b91eadd60147ea5faa2f8e0979df0502b2bbadc9ac7a1a260053885874977360ea808b9f927a8ea52e7850bcf5e4adc3dfc0b71328b20e48a00e728fedbb260745723a3d523c66c0b1c4c291137777d7956d4028b8af80cfc521d4d31aff10b6f2379c85aaa41679877de5b821104924d3b9c92fb1e928c62a010b366f7f000000b0122c8fc6689c6ba358bd6df98eb8870239cd4e37e317b3462db7c789e83bd8e4c8925962decd62e8cf287c8d2133d127649c892ef846c30c52ef891cc91c4c4cefc4e3abe9adf2047e41b2e6ca89729f3964d04130c8664a0a0439266028e72d9a9900a82ca2fff8f03ceead7a4bd7a6098a65a92aaf74809bcf51ab280e095b4945ea37d08ef16e7e155768570e01652e2bb2373e3a9b04f27d7d573f19f49973f53f0c519b62a54c6fea2c6dc94f20000000b023df9a74406b73b3f96209c828b03381e3a878816c00c0e8bd5afc29c0ea5e228683497e2aa8ed39a1657106c33725c4af1213a7c1bd4cbce98ce572305944aeb9ebed306dd7a2ae96e7b2d5d5b1a5b01eef49b2089f9bf14bf2dd11782f09527aa72d6c89c743120f5fca9644f572ad2507b215aa68291811a55033c24b0688a3bc4ab65346ea1e82f1b0bfe121be66255370c82291740cb3ff21c5386cee03c39243109ed96a27a32f48079c120a0d0000021c000000b015e71d579d167a7e2c2b9b0e6679b0977e4c639ba12c7a2b6fec07265dd685383a951465bd88cffd40165a7bb7401e17b7a181db97f87f8c78f27f5a2debfda07763fccb2e308e55f5d1fd81b33676bd45047cfde53119a4925fdce054270926c28aa711b7a8ff1017b6805a30f43ddf0a0649c52814ea0e32b5be283969d2b03c8e16ad0166d225cf52276d201b45c20a460a9434b76d51d0be437359d1f2eb41da912d5879e4d37acf6bacb80c0ba3000000b01d89b4b651a6666c47d90fb23d9f1953d86f2557502a0deea078f8143154f3e7a162a3403e9446db75e0023feb161a3e91ecbb5de595757d7cdefe13cf690e7ea9490535a200b7b4b7f7722df03044d12262c230d854173a62b6e18177e5743b4d2b687719cce2b7d273b8bbf79f825e04d5fe60ca7aa49a53c8c035a80ee4a78a6250508b16af0f1f70f9cd738b0b8721c6a6cd18531c73064b8bf11f6c28dcad6c2a8a644460bec6964653bf24aef2000000b013222f440e68a6762d6ff57d21693268e7b9d2e662371f00cc06eb7bcaad67578f04ca290265eccb995cd9708db5787314ddbe5e4de33a331eca4fb4a150bd35ef436ba4be683e4f3560f02aef422ed1e306dc9f7da967819c819dcff011bce268d4d931d398f53f33f8be2d9504f2bc03f0cec2bb702ff9233abde8d23b88a7a3b5aef6b9ad28f82e78b6d23932b06b27ac180b97032f47ba3d5e1c32e0984dd4a26286ada28985a18f4ccd8a5edc8c0000021c000000b011d15ee0988ade87e635ff635f42da5015eec7f58fc6786b2088e3486924e0eac9bb11b26a95025bca6a869dd3b5b1d52cd73b28a2b9f5e7331b7d633398bfc86e56fef3a59c3888a4993827e699fcf9eda895e0bd392e2de1a3273fd5b54c397ed7608b3b391c7838d2460bdcb138610e303cc0ee0dc65896a1703f6b80aa746b52bd7bbdb46c494393af60ca017d7000b706930f24b8bfd36a2158801648c8d31f780c10e27dc4556a20e130373318000000b02c3d6008eeab8df7f02fcb7b7d519d3cf3c6ed1985474177eb4891bee7c85ce15bc0dda0379abdb93ba8c42f2fe408a92953a13a6d4e5d18122ecda5afe256e54107d92293eeec10b6e283912ac21aca1eb5edb088723c667c6e616c2b9c4682c0efd86b2660ba4b51cc91b5e82bec091831b9fb5e9aa84967a6fb35dcfd6e6d4e9dff344414072e218577eede71461924ef8785b047bd3bb83bd3bc741f8aebfb5f13338053c71e7f9b7a638696e98f000000b01821a847715df4c1e6a884b83feb37df823f53e064048970e76d5116fb4fc86d326dc252fd958b28dca4dd4e71afef150bef36afb88c2a4591a29b0c7da00119fbe0700df8ba2652a6901b5f2a37ee372e094c509cbb3877a21cace41657471e8900c852c2311eb4651f006d581b7e0b090f599af978ff09e26c76c1c9b18e67ac735e01b526a5bfae33757821b1e88722380fe9234c825072e9be79068a6488645fd367410e6b5df1960c5b81f123260000021c000000b025b1bcd8b9c98d16fa3cea7ba2a885862c2683b134e9685e7bc73b0693c4d2aacffdbebd1baa37d1c2dba034089869514a33e12799211e5e5008309670e7890226fe0215a2b9652937985d515fbc9358e5b03e0d6c00bfa297060b678cbdd56302bf7554ee067022ec2187f20702b55026f00fb881aaf2dfdf3fc28f3dd81fd99f3631f9da1ff4048eb89b293c43279116129495f7ae30b99ac6002641846c761f783c9346b685f83c2050152e738168000000b01610ef47d02df7fa7ad9fcea7d21abf412cacb7935897395a88f2b1db123bbec03711036249b1e06c91ed9887048b4fb57e533f64c367ef804d3e2c8180ad9f4354c82614f29fe8944be96678d80fcf9a51b8cc43bea910e3b78126565d1dccd59268d0ab4d47e45a52ef9c49ba97aec1b524a383e71340b2b078512cc98ef85bb98614e71f88adb1017653061c34135035b3bfa3bb9931893d62fe80948015380a35ed234187574484a89521ceb3421000000b01e2a3ebd11db6d08fc284bbd1ef54abddb5147925b8edff1c22610eb702b958363159a59b8d88c7e0bc5d2955d8f0caba2f32ebc5fa01f7805380247ffcdd9fdb1bfe6eb3d26999c9fdb7de85dde13418199c2d45ffd54e8476ffb03fe44a20628e3a6ee5275dc9ef019bd1842db1d9321a08e5badc384bd4f171c9ccd2a3d8b7def4dd39d5a0c851e8275f7dc7788110236949d875562e2ef4ef05125099571da4a9f7602d8d31b27d7e3ad189f40a70000021c000000b01cdad4219286bf6d14bcef58dfa0bc77710d329507273f8fd632efb333a843a877396212b4015ac370036644a93259caa33bdcd996107be3762d627b53a650b31587a90c6c7449cac5b3daa08f3d8b1c299627590e9bbad115ea63e9a58f1a6f695c16a5d8596ebdc71300396c9fb3d82792411f22bd90c6b048b21d22896bba6d78d629882fb33d7b981ba12756b6fe0b51a5fefc5457fb58bf8eed47e5b29c162464501dfd49979d7576d420989743000000b00923d1b56ca8ada671fbfe1e99bfbe89ee6df397fa5947352f291730f91c3c6f87ea5318b41945349a75ddb26082eb6cae71316f62b45058f05fefc8e3bcd56b1d7ecc583667102271cea3d70e0f94dfa8044b026757991b13b2fa2020b95ede095e0cf1b882185fb15d6da683507b870f28e33da1f37c8150ccbd768c3d58a69ac5559539d4d016fc1979f3f774e2c619239c77a24cce5ddfa26e79d79235003b98db0ca43d5b49d3601a7dc9eb37e5000000b01b5f893c28ad756e43b7390b78cb646703e356818ed9b8c4a04edd8bcf3af1d1b05ecbbdd5afbc0bb762d0c3cb1223060eb620ae999d9d45b84937cc586ffbb56f6460c533222077ebbaddf4fa42c690f33c5ef74f3ca47a8e390d5f839411c42abc051d27b19f40301e6cc5dfc2d6121602e6a04353aa432250b25c89ee31264f0166a98996a55cb85cb77fd22b881c231846d9acf384fe94b8f7e8b0c3cb1404e97fac120f67971bc114a6cb72a4340000021c000000b01485002bec39c4a28b9778ca2d294e59bb3aaa8cc45288ba9db77bebc8745a658071ca9c68d8e45459915269bd358211b61afb274b08a0f5121f042b4e214f2b658a41f256808085345792c721d4bd9a5a838534fc8e57bb9d84d899c3b35a944e25c4deb01b2a97583f75ad72b4561428e4505a205493e8160e0afb8afc86ecddce301b5d7b0221d1d74aecc560c0e317d83fa0f535930c01263325f76939f3b89b334bc4adb637bd968ea850835811000000b025daafd153d298a25e1db8283c6301d3904d209bbe25c84149404c2cbee180e513cff5c41d0eeaf684c941c20e9f5b4a7f23c6015a4814bb63a0465e5aa17395aa0aec8017157680fcf45b64279c114a50172df4ca75d26fa3b95efbedfa1d171e2715cf25d6113e905934a337788e8214c5235d64effd24dcb0b3a3ac7a5c4ce7436a3d67dcea13afab3176560ce93125b06683ee4eeb0ffb388d2216643ec73f63548bbb1014003c3b1b62c3fe909b000000b001d3d89392cf6fa249fb4e830d976b7891af10e634543d612a885ca6253b84bec90db97635ca79ab948ea4571e51108bd8e033fb22a028a30cf46077fb3f6147d65c1a609b4f6806ded2c695bfcc6dcabcc5e82f2ed1a7a7bbade321e5768776fe4e607b69d86770d22bf22dfd50547b0b254f4a5f83559fc869520815210d3c9455d8dca6d8d7d2965828cf240e12f72911e3d5886f2e773d9558d8c78d1a827d2944c80d384ff2282717b50ccfb3770000021c000000b023331a8c3ec6cb71a0caf58a40c61b60d32e6fca1925ba067d9d32e7154287f16360ee13bb046b90a0ee3665d59a3875838692d21264fdff809212fb9ec0771b5efd911341e397ee75dbe2f05473eeb6c12d0111e7d70a7d524480c47aaee7096290f27b9521601e4cc96a256a1a3c641b8908cfce97d1cde9e590dfb5aa5fc08af2149d55c69925885ed680609285682d5994bf9127a829db9bafa8ad44cae2b58828eac822b20938ee733483f310db000000b02672485735588322b6da237acb0377f4d60d99c673e7ac59c7dc16ad138362c438e3cac2bc10ccc4cfb588adddd7a2548da5bd04173ce53979472e115464b6898bd4f4c4eda0cfd3c3e90430f9e67425e5bdf6f49c703a00cf64fba993884c261950f275e2b4c73ca0e14dea9258c245068cd30a66670f7c2980f8f5d90a358b2fd799fc0290642ca4dc635ddeec0d740c7a71cc827b44b82f65b1bf60a27116a9f3235ed90cbffa8835da42e4ba0347000000b008a84f2bb39bd9972a050f2ed2616901b4c1b12be7d804163042d0b2701534f2b001db4b689aae28b58b2cf5203c9391c4e1e3668b8ab7411e4e3320d0049b4cb7452bdd1621fb789f5df0c04a0b2bdab1a15abefe4df1cd37cc14aa707f47b2eef7c06856e17b156a8276fee50b8fab079b3389a47b824f0bf8db580ecf99ea40fe571e258e8d4227c060b2f9ea029925550e0b04cf0741b6295436b42fa4b27b3bfcc5c5cffae839a5ccba4d249ee50000021c000000b01079ece2033defa9c796220c6ddec6583b6ceca6554ae93128136af83487539af1594e485e9d92e5cef9637873ebd1b5ae15513aa1ce098bd0d3328787ea31d404306594fce17c32f79c33f78fdb492dcf8dfbc2f17742fbb6e49955b6175c77908340f346b11026cd3f380788329e462266d5bb1e578dcc330eb43d1d670b8181da6ed54b16f6166ef921879597535706799a7d7d3113c0ef6ed0fa2ff51387ebe76374c52084effbfa3da02d970803000000b0180a3dfb47a8795c47ec95579ea33357f19495ce89be0467424851780f1ca6107059329dcadd1369ecba4c7bd4992a3647752343f8143ac8aeefd555a314fe6b46e7016ccc7e19453568f5f7f51059b07aa9a749c9f8065d962341366752253bd5bd7f67229e5eb6151188d8f554f95126a9660b070d74d2373a02f9a64b4ece755045d1efd16f3a4252978a769967932fac6b448cb4e788c7d2dfcc625b23249e5f32eccd73e38738094f1388fbbda3000000b0215d4b51ba30f20e64dc556e244cb73c381cfabffbd9e07df45e11925d2343a50d53c07aba5ed1da6d6c4718fdce4d9094891911d9dd792abf6e9385b6a2ef0ae862fcf92bf3f59cdea1e6ca6cd6cf1c4d01d7ccaa77b5eca9bd7b14a928da5cb2dfcd2d0b023e772cdebfb8ceefe2ec2d87f569a34fcd0ad5ad11d8dc7797ad9d33580c27068255d5c9f58f1f53ed032908a308d3556954fd27849f3a9db3e5fb80ca9de8600df86b430777583cc75a00000fa400000168000000b00f526d7a17706a7760c19c222d8c7d151732b9e271d28e01c6eb443fdef999d41a05529abf39f11bfe439a95b21db59cfee634c6bf669718ac9d9db06f44c0ca24445431cb776faf9ee28e4fabb25d2198b8ef4d1c208b616c67f8b32e6be420ca17423071ecbd55ac701deb4d1d620e00228b1314c5846dfe940062a6532b6550ec7801b5e279dcbba8b2ad64c502630632a9c7f5daf5c244e9b94cc7a736e6d7cc7669c9d8653dac3ff6e9e3fd4bc0000000b006385f5f0b41ad37d716a0a7dee5d1c7a36300e59f35d2384b550e2f2183f8aa0372941b8f27a7ac63af930d91b15a43a34a62d9bede601d83a7eaffc8b77f9c78bc7e8ef77135f8e2956a6230c6414257fdbfb281c529f05c8efab017d770c983236e98bdd1ca5a9dfdc0a272cd40c60ddbdca3daf2245ef5267195d926f3e36d9bb7d426869c0a71420415bef4db0828493ae3939b916f63726d5ae1955013209c7b1a9aa6fb9f5589d6417cb2f23600000168000000b025ac60252979581a2ddc52dd96ff18ed343930ac94edb53d0a6b5d68ca0cf6fbc5a3e200ca26f717fbd193dc32cc038f1dab756af115de0f2556d8493cf490aa3b461aaf3e8f6cd21e7e11ba7af16308e47ac04164c858231e2e517a2a9b527db31010a29dadffe6550c00d1c0a7ebe014c9aa2b9ac62170a2e2c38efd25c7d7d2680abdb810a4011c049d0329fa026024916582055a034a10b23c51ae4acebe4c768739a33bf057652dea4b7ca894ce000000b016e2b6ddf70eca9f1f2e3b73357ee970be7bc385d4df2c94645eb3e94ddef0be6c58ec3ad50f70189063f7f7653ffe5e9f605b9a92471777cf33396e5016ec4e9e11ddcebbc67915a72888a4514d83218f00c0a030775ed8029f5755e8cdfb702ed06ec5e03a0bf499da3af2e464523a2f39f25a515a2b063d69b872cef9ccf314814b40e200c27fee2743510079b03028147ba1df29a762a509e5879b5a44b02eda5fa809a3cb7dbcfc65f3eb12aa6900000168000000b00160cff6241dfd2e017087639bb651b6cbe2539c2aeea13085d05371815a0217f8cd27d2928198d356b9f0f0db14586e4df1595d6002299b95f2683f4be8d5ccb3c2b8b0c95fd91bf2f3fa83747399946006b1305dcca45b527de84b6a7713e8eba561813b26ad7814d83c6507ac9a37171f7526f95590754ceff017d1f6c9d56fc392a8f3844e27c631855bb75b795e0d369dcff668a0db940bb289efc020827e8c7a0d478bee881cde125f20183053000000b0066890bd4fbec8c4af2eafc07c053851f18a1c98243dc3a9e41d4343de51a2a6f4641efbbccf1f36d41196a4ccdd1ad31b052aff818ebf42e9c3fdbe7f2c155f375795bd09166d4786827129ab32467e0442ec3ba0040e3b001bc7215f582e760da3fbd3cd2dd6c5ed7ea01f6e9d97062206a2207d53149313119b4a434efce143a4160b4ab9385736836f55d1f0c9510a4aac4a562db9baea787af4f1268dc8b01fe75f1d07400c4baafcd84c0d3a2800000168000000b0295846674baafe776ad84a0626d9eb53bbd97d91d651ebf489aeabdcca3dd2266f7a01c0e9ea57d20b831ef97d231e052be9aeff9b5e830798138b2f1b576f4e5305969b47b164d4746fe32ac77c4d5a0581e11b4788eab34010416ab491acadb7d8e42358eb84027bbe2644a52dac660ef715beee8510d7af5b9bc434264c3eed8bc032af232c4ca354bc78f1b024ff1345fd53b5ab0f786f2174bec172c37f4eb2f1812cf8e7c03450e3d22461ff9b000000b02ed75856631916da4dae9a1d93377c2a1613d8f7203eac3ec7cd7a0550d185fb79f03ddd1a873e10417e84c592714e25414de737c6d2ead77f3e10e12b0cc6e204227de753a5135b34cbda2a5d1843e55b7ed5657c586965b434244bc377fb216398fd28a2026f9b2a81c30de743e6ec0a9b2a86969685536af53a816c82333d512fe1b906de551219259526ac878c9f177d878b16a7095730668aace9e6f68b10461ac3b0dc815fb7f8619bf50a373300000168000000b029aee716d78181b156c15e438ff14614f7f2bbdb29b0674db130e58ec9fa9fcd7867b9a3f2ed08c7bca9362e29c5525563383fdd926b4cbfa45c1957d0931f95051f4167875d1f4e176f52982570ddda5037327e758e1fdf97083a9549724951edd51454d91a09c952c56c2724decae42eca8f1dc6de9d4ffc524f1aaf757ad12ff501e526373a536dab0154ed134a2626ce8ec1ff9e3af433e6fcc0cb815730592f7772f6f4305e9fea9a92bc8951ea000000b020e43d5f8205c3a79acc21a852a9efdff7f5c4527b2d53f44be4dde78236ecb180270e3b952c0aae0158450aee5d61a6e6940e0fb28fa75d20178a87c1948ac14257ba77c288393d333453f00aab34fc34eb2ac5de54179d195db35d2f63134dfb703fb70f1f6e5b94438b057c0b75081c4f0927e53b920a39c2f363740c2d5b16151df1237de63b4636d6cf1a33c055240f679b9ca85bbcbb0648aeea59582b1976939c8d1bb5b32b9bdc238bff9f9900000168000000b02b4b775c38491e28d9be2e285eab9f559e7a845476846b626a8fccd7a3b4397bf3c3e1996096d02abb089b059120f7740d3c59914f983cd8616510343e0b2e2e01710e511fd06c2974380c11c14580d3b3b308a69d3f38190ed41bf0db12eca5fa028d0853e4e21e2f9adc415601fa030ed7af27aa6d7631fb193b7bd8ecda3cfd83271b429d6e1b16379f5440b03a4420c9314f7202d390f79cdaedeb813cebdd9daf80ed8fe707692e0c2042eca46d000000b0175f4c1d56ff6304488b8831c66df1f0ad95dac937af61fb17241b0a289a0ac47f9a2b7a749de246f1b0166753c23378e6746511fee2c1622bc4b9911a2558b841d680a3d7f3bf8dd2c6eee8fc6fb7291e1fe612e19188f7e35ee579ea251620f2bd9b1710cdca470bbd4aedb8ea6586283068fecedbba40e5c7b628f9fcf2bc28b26bc085a3574d658d951edee6534705fa54d907278f46755e1902a6f53969b5e97e7dc53531ccdb18e347caf23c7400000168000000b0076a0ecbce14dd33f19da695d1b372f8eff8ad0fe429f94648e3d5b7fda52ef051fc6644eebf83e508da9b67dd7a3e9fc9d3a057806cc05a46bb7b758b6863ba254b4fa43fb0810a92e6c4ce5edb3cf5871ffb5760e43733fd3701ccdbe483110192a1c25440743cf91fbbd7d154665f0a7da795896b3fdc814f785f285659e30072c998f172bee379511d28f59e846c07148564a744e0f3ca3f2744f82194937e3f9a731d0dfc5c5c33768510d7eaec000000b0155cd57c5e34247a54d321139cea1893d19031c953bba82add2e5951343d5d34f7d635c3f49ab0f7ad35735da0808ddbd64bf80abd5714787d5db76f8740735ef7f90fbf95ed38c594952da4119313d7057203ab7557ad45f3b43bd0edf60a812a4aee6acf0645c9408776f0073833a61ce6aeb465c1991a53becdc3b684b86373b4030ecedabbcfd97161e985df150716fbbb20b0e9bd3d2d512b841770387b83802cbe9986fc0516987b9d08fcdee100000168000000b02a469a11c0e9ffbf9d1d6dead5182cea1506542b2f2a737c6bb7b009fa081cfab027624726ef14381500cd25bb80a5a1aa0d04a124007695367d0f4010f8a4d10e24a81dae82d0c34471b53f05745b694ae6a1213fdf11fb12506ba23fdbea19be05591172e300def15acec6d670c25c17ce81556b521c4d59782ae4b508456f05d90a382321f34b44b88035abfaa3c51c0b49f7a11e7093d32282fcdefa25cabf4b070231eadad3161755f15ca3f744000000b00aa9de194df905840b14c9d4d8466038c429852a3176a85f454d350316cc933d3a8d5e31f21b894c65aa2e7ab63569887503afa8e2f15e9e0ced32cb111153e2a46384b6f4a6555aae75457eeddd0e261e130206640ef4004bc92d89abe920231ac6cbb8e83e0aff5451447f13c8770228eb074ac0da51eec6f4913781f069f338a476de19096aa64e5dc58a4e6c08631b22210c31989f5ce997d57e63e53639552d8d1a1150750aecacee4a3b4cbff500000168000000b009c4cf7d7f757d8357838b5ec348e93a23a4d0b85457226491f5ea6f99901c6e9e968bb6814860565747f9dff0500b5b349304bdf922be2d5273e7143c12b2f140a9d12f10ccd5c591437f809b4659f03b25ed06670b486d2d4bebdb47a77d892c162e8bf6f1a523da267fe6ffec9e9815fe8fe420df561d6f04e41811dd6127201b17afc87ceaf8162f905ec154bc72181236230766eeab8c5ec36a39a6fa7226ff2fbfd27505b31f44081c7dc16131000000b01b54545d616f6bf53bd54abaef5dde24f3c22280215b891980c64797c2fc30f2ac3306184bb5c26e27cc024468549392b550237f6c2d44075e1bd9185b13a2379dcd4d71b9b18653f33e11d6c39c3d5155786e6c1831cf6e1b305acaa66ca99aa8be4d6ce23b34ae02299939e7766e93174de54678f81f54d6fc1e468369c680b29d149039848c9537ca9f4f1fedbaa0010cfe8cdeaf265b84b360f618949c6206b9e76680f3eb4cd49a33a457f669a300000168000000b027d976a55414f20255404ccb8db7e91b1356bcae8b7ef22dad1e991b1b5ee77cc3237cf96479899ee61cdcb60d2826763fc1cac12d7932b712c0606d0b90069713a8aa0a102fbba32f3b017eb9f455e2d776e6c852215740cff14b8481ce5774a04b613c9437e4fc905d179653c34a592ace8b495d023462ec68b4c1ae02ff4725beef87b364b0518a95afdd870db7ae018b7c956201c8032c55bc3da5f208a51da4d5e7d006420ac5b5ef541fad3f41000000b01c34bb8481435244820080ee3f8f51bcbd110237b379f8f956f3bf557c4096c26a46202f7060933d9e8ba3f67497cc7f9f4b5cb30aac5680be62c9fc171edfcff6845887528e2bf94e86e9f728cce168a3befb3b18261a0321da274c332b29d7787e890a0cc1fc18d28775c5191db8750025ae013ac5bf0db0bece3472427fc1b4c45be79c308dd2ffcf3e51955202f80c28fd6ce370a8cf505c10b977ef6999b976fc8271fd00625316dc595c8ec35100000168000000b017ed8776e25b0b8ded25538333cc3a95fe23af66c29bfe8c63af26803ef864059389916181d90697e0d74dc2d998682e6ba816cf4d4f8594381ecc2bf08fb0fef27ac07cf18a2847d9b5a4a9277cac08fa486cdfb9a81f0bf03abf6228642e70053ed25768c265a51fad32189f393aec0a4e892228b6b2a1f6393f6dde8704a4025906a42a8f3f0adff4832cbb912764090e2fa98a5797bf7e05ec4baa59c6be3e572f3627f3778b2f9b7118199bd171000000b027a0c14c686caefb1d2c2d4ac11a6fdea8d1f5ffeb1eb4595d622784a63b23605410a2c544dc18c6f3ba4a382b0477f15076f855ac7a813ea0ffb2ba356cc5c344a0c573590e2d5ff7c6b005c3a82fe8da858438af5c41e0ce183de109c68165f55fb163e462df4ef0c437e4caa677a4181ef130b25740378e0f4e13f50d45398b439488016fd84da180491149936746240df1225610b36a9da48c6f0510683a7b8eba5a318bc5194f1666bca87e2b32", - "txsEffectsHash": "0x6b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f5", ->>>>>>> 8567078ca (enabling in hash check in Rollup) "decodedHeader": { "contentCommitment": { "inHash": "0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049", "outHash": "0xc2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc", "txTreeHeight": 2, -<<<<<<< HEAD "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012" -======= - "txsEffectsHash": "0x6b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f5" ->>>>>>> 8567078ca (enabling in hash check in Rollup) }, "globalVariables": { "blockNumber": 1, "chainId": 31337, "timestamp": 0, "version": 1, -<<<<<<< HEAD "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", "feeRecipient": "0x15a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb" -======= - "coinbase": "0x275dcb8d3b95fac9225dbb076df61c993df26336", - "feeRecipient": "0x1a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27" ->>>>>>> 8567078ca (enabling in hash check in Rollup) }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -110,14 +95,8 @@ } } }, -<<<<<<< HEAD - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000253472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc280940120000000000000000000000000000000000000000000000000000000000000000c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000253472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc280940128e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", - "publicInputsHash": "0x061b248db124a2a24b14c355dcfed82a9427fd0f021b4bbba4f94e1ba65b2206" -======= - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000026b6ef0c347ed0c84eef211f2deaac4ba7a5be8a657b058021c0a94dfdadc85f58e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000275dcb8d3b95fac9225dbb076df61c993df263361a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27", - "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", - "publicInputsHash": "0x152b9a08d7ff002c32dca4a51c3fef75b7e0b35d2f868a0510a3b8f28d0f4b12" ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "publicInputsHash": "0x1403e5ed6a6d76ad439c963c8bb4a21d12009a40625c2c4dd9e40ee6900ab695" } } \ No newline at end of file From 8b07c3072d798802fb3ff3e923f9aa94382a0c95 Mon Sep 17 00:00:00 2001 From: benesjan Date: Tue, 12 Mar 2024 15:21:19 +0000 Subject: [PATCH 22/39] WIP --- l1-contracts/test/fixtures/mixed_block_0.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/l1-contracts/test/fixtures/mixed_block_0.json b/l1-contracts/test/fixtures/mixed_block_0.json index 9fff8b593dd9..f3f8c3972b69 100644 --- a/l1-contracts/test/fixtures/mixed_block_0.json +++ b/l1-contracts/test/fixtures/mixed_block_0.json @@ -52,23 +52,23 @@ ] }, "block": { - "archive": "0x13f140bd7a9f10e22080224a259f8533eaadab7c7bf10c7a3175adaf82a6af92", - "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02d622c8b62e54bf51a1fd35b67456b229dae3bc6126977f1b2d88662a3418347a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb61b97deda6e3f6e57e02e3e50f41a6c05d9d508147d543e0d9fbbe858c33d4e6a2185f8c0152162e19e296fff1a7e1664c5c8194faf05fc0450c5725c0de96009000000b014b645af1d3b7df259bc545d7f52bc412546986a5f76ff3b331cb8dbddf1c9c2ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb602ebf7fe2895a0551fcabf530c27bd24616d64b8ca61c55720001ad1fded94e508da11e3cf7794deddc5f101328b67834d6075f3fc13834dd109a4d54899a684000000b02c6ead45b8c3501951a91b1618e165bcd512dd57263df715f742e0e908a2103eb03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb61aa45f94c41d727c17b7860ba5b666a01139a9a59128bd31e42642df289ddb612092797a6aff6705d5b2b7b9cc1a10fefd2cbae0c2da7b28952fcce27349ed000000021c000000b013c2c6697319821691459c1830eeb6db5cab39fb734b7e5f77871362435256b9b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb601f878b87e73a4795754070dbdc3b7be98d20649de36447b646a7558634e21dc07e6929e25559903154f38bbe427621d84c517850fe802721573ff5badfa337b000000b02b7b2e000ea1543d893262d0ca7d60570c777ee83a12763a3bad3b6f6e029d35b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb619b0e04f19fb76a04f40cdc65752613a489e4b36a4fd3c5628909d658dfe68581f9efa34c0dd6b2a0d3bff747db60b9934915c71d6aefa4cd99a2768d8aa79f7000000b012cf4723c8f7863ac8cee3d2e28ab175940fdb8c871ffd83bbf16de8a8b2e3b0bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb60104f972d451a89d8edd4ec86f5fb258d036a7daf20ac39fa8d4cfdec8aeaed306f313587b339d274cd8807695c35cb7bc29b91623bc819659de59e2135ac0720000021c000000b02a87aeba647f5861c0bbaa8b7c195af143dc20794de6f55e801795f5d3632a2cc03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb618bd61096fd97ac486ca158108ee5bd48002ecc7b8d1bb7a6cfaf7ebf35ef54f1eab7aef16bb6f4e44c5472f2f5206336bf5fe02ea8379711e0481ef3e0b06ee000000b011dbc7de1ed58a5f00582b8d9426ac0fcb747d1d9af47ca8005bc86f0e1370a7c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb600117a2d2a2facc1c666968320fbacf3079b496c05df42c3ed3f2a652e0f3bca05ff9412d111a14b8461c831475f5751f38e5aa7379100ba9e48b46878bb4d69000000b029942f74ba5d5c85f844f2462db5558b7b40c20a61bb7482c481f07c38c3b723c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb617c9e1c3c5b77ee8be535d3bba8a566eb7678e58cca63a9eb165527258bf82461db7fba96c9973727c4e8ee9e0ee00cda35a9f93fe57f895626edc75a36b93e50000021c000000b010e8489874b38e8337e1734845c2a6aa02d91eaeaec8fbcc44c622f57373fd9ecc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb62f82495a613f510fb64023f45418ffea6733d345936d3279758b7a7f836fc8c2050c14cd26efa56fbbeb0febf8fb51ec2af2fc384b657fdee2b30eeede1bda60000000b028a0b02f103b60aa2fce3a00df515025b2a5639b758ff3a708ec4b029e24441ad03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb616d6627e1b95830cf5dca4f66c265108eecc2fe9e07ab9c2f5cfacf8be200f3d1cc47c63c2777796b3d7d6a49289fb67dabf4125122c77b9a6d936fc08cc20dc000000b00ff4c952ca9192a76f6abb02f75ea1443a3dc03fc29d7af089307d7bd8d48a95d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb62e8eca14b71d5533edc96baf05b4fa849e9874d6a741b19db9f5d505e8d055b9041895877ccda993f37457a6aa974c8662579dc95f39ff03271d6975437c67570000021c000000b027ad30e9661964ce675781bb90ed4abfea0a052c896472cb4d56a5890384d111d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb615e2e338717387312d65ecb11dc24ba32630d17af44f38e73a3a077f23809c341bd0fd1e18557bbaeb611e5f4425f6021223e2b62600f6ddeb4391826e2cadd3000000b00f014a0d206f96cba6f402bda8fa9bde71a261d0d671fa14cd9ad8023e35178cdc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb62d9b4acf0cfb59582552b369b750f51ed5fd1667bb1630c1fe602f8c4e30e2b003251641d2abadb82afd9f615c33472099bc3f5a730e7e276b87c3fba8dcf44e000000b026b9b1a3bbf768f29ee0c9764289455a216ea6bd9d38f1ef91c1000f68e55e08e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb614ef63f2c7518b5564ef346bcf5e463d5d95730c0823b80b7ea4620588e1292b1add7dd86e337fdf22ea6619f5c1f09c4988844739d576022fadec08d38d3aca0000021c000000b00e0dcac7764d9aefde7d4a785a969678a9070361ea46793912053288a395a483e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb62ca7cb8962d95d7c5cdbfb2468ecefb90d61b7f8ceeaafe642ca8a12b3916fa7023196fc2889b1dc6286e71c0dcf41bad120e0eb86e2fd4baff21e820e3d8145000000b025c6325e11d56d16d66a1130f4253ff458d3484eb10d7113d62b5a95ce45eaffe83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb613fbe4ad1d2f8f799c787c2680fa40d794fa149d1bf8372fc30ebc8bee41b62219e9fe92c41184035a73add4a75deb3680ed25d84da9f5267418468f38edc7c1000000b00d1a4b81cc2b9f14160692330c329112e06ba4f2fe1af85d566f8d0f08f6317aec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb62bb44c43b8b761a0946542df1a88ea5344c65989e2bf2f0a8734e49918f1fc9e013e17b67e67b6009a102ed6bf6b3c550885827c9ab77c6ff45c7908739e0e3c0000021c000000b024d2b31867b3713b0df358eba5c13a8e9037e9dfc4e1f0381a95b51c33a677f6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb613086567730d939dd401c3e132963b71cc5eb62e2fccb6540779171253a2431918f67f4d19ef882791fcf58f58f9e5d0b851c769617e744ab882a1159e4e54b8000000b00c26cc3c2209a3384d8fd9edbdce8bad17d0468411ef77819ad9e7956e56be71f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb62ac0ccfe0e9565c4cbee8a99cc24e4ed7c2afb1af693ae2ecb9f3f1f7e528995004a9870d445ba24d1997691710736ef3fea240dae8bfb9438c6d38ed8fe9b33000000b023df33d2bd91755f457ca0a6575d3528c79c8b70d8b66f5c5f000fa2990704edf83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb61214e621c8eb97c20b8b0b9be432360c03c357bf43a135784be37198b902d010180300076fcd8c4bc9863d4a0a95e06aefb668fa7552f36efcecfb9c03aee1af0000021c000000b00b334cf677e7a75c851921a86f6a86474f34e81525c3f6a5df44421bd3b74b68fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb629cd4db8647369e90377d2547dc0df87b38f9cac0a682d53100999a5e3b3168c2fbb679e0b555e72c1730402a42489e69f82ade73c19eb49c11323a92e5f282b000000b023533ea2e37804772c2110f02930ea449560b0aba9928ecbd3a6cb5f73909f15003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6112166dc1ec99be64314535695ce30a63b27f9505775b49c904dcc1f1e635d07170f80c1c5ab9070010f8504bc31db05271b0a8b8927729341575622690f6ea6000000b00aa757c69dce36746bbd91f2413e3b631cf90d4ff6a0161553eafdd8ae40e590043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6294158888a59f900ea1c429e4f9494a38153c1e6db444cc284b05562be3cb0b42f2f726e313bed8aa817744c75f83f026d46d3220cf60ab935b9df6608e8c25300000fa400000168000000b0225fbf5d3956089b63aa58aadacce4deccc5523cbd670df0181125e5d8f12c0c083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6109571ac44b02afe29b8c3a067a1e5c208ec1e8b2851d40c04f487dbf8ecf72f16838b91eb921f87e7b3f54e8e059020f4df2fc65a039202b5fe11df439908ce000000b009b3d880f3ac3a98a346d9acf2da35fd545daee10a7495399855585f13a172870c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb6284dd942e037fd2521a58a5901308f3db8b86377ef18cbe6c91aafe9239d3dab2e3bf3288719f1aedfa0bc072794399ca4ab74b320ca89dd7a2439ec6e494f4a00000168000000b0216c40178f340cbf9b33a0658c68df790429f3cdd13b8d145c7b806c3e51b903103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb60fa1f2669a8e2f2261420b5b193de05c4050c01c3c265330495ee2625e4d842615900c4c417023ac1f3d3d093fa18abb2c43d1576dd81126fa686c65a8f995c5000000b008c0593b498a3ebcdad02167a47630978bc250721e49145ddcbfb2e57901ff7e143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6275a59fd36160149592ed213b2cc89d7f01d050902ed4b0b0d850a6f88fdcaa22d4873e2dcf7f5d3172a03c1d9303436dc101644349f0901be8e9472d3a9dc4100000168000000b02078c0d1e51210e3d2bce8203e04da133b8e955ee5100c38a0e5daf2a3b245fa183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb60eae7320f06c334698cb5315cad9daf677b561ad4ffad2548dc93ce8c3ae111d149c8d06974e27d056c684c3f13d855563a872e881ac904b3ed2c6ec0e5a22bc000000b007ccd9f59f6842e11259692256122b31c326f203321d9382212a0d6bde628c751c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb62666dab78bf4056d90b819ce646884722781a69a16c1ca2f51ef64f5ee5e57992c54f49d32d5f9f74eb34b7c8acc2ed11374b7d54873882602f8eef9390a693800000168000000b01f85418c3af015080a462fdaefa0d4ad72f336eff8e48b5ce55035790912d2f1203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb60dbaf3db464a376ad0549ad07c75d590af1a033e63cf5178d233976f290e9e1413a90dc0ed2c2bf48e4fcc7ea2d97fef9b0d147995810f6f833d217273baafb3000000b006d95aaff546470549e2b0dd07ae25cbfa8b939445f212a6659467f243c3196c243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb625735b71e1d20991c841618916047f0c5ee6482b2a9649539659bf7c53bee4902b61755788b3fe1b863c93373c68296b4ad959665c48074a4763497f9e6af62f00000168000000b01e91c24690ce192c41cf7795a13ccf47aa57d8810cb90a8129ba8fff6e735fe8283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb60cc774959c283b8f07dde28b2e11d02ae67ea4cf77a3d09d169df1f58e6f2b0b12b58e7b430a3018c5d9143954757a89d271b60aa9558e93c7a77bf8d91b3caa000000b005e5db6a4b244b29816bf897b94a206631f0352559c691caa9fec278a923a6632c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb6247fdc2c37b00db5ffcaa943c7a079a6964ae9bc3e6ac877dac41a02b91f71872a6df611de92023fbdc5daf1ee042405823dfaf7701c866e8bcda40603cb832600000168000000b01d9e4300e6ac1d507958bf5052d8c9e1e1bc7a12208d89a56e24ea85d3d3ecdf303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb60bd3f54ff2063fb33f672a45dfadcac51de346608b784fc15b084c7bf3cfb80211c20f3598e8343cfd625bf40611752409d6579bbd2a0db80c11d67f3e7bc9a1000000b004f25c24a1024f4db8f540526ae61b006954d6b66d9b10eeee691cff0e84335a343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6238c5ce68d8e11da3753f0fe793c7440cdaf8b4d523f479c1f2e74891e7ffe7e297a76cc34700663f54f22ac9fa01e9fb9a29c8883f10592d037fe8c692c101d00000168000000b01caac3bb3c8a2174b0e2070b0474c47c19211ba3346208c9b28f450c393479d6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb60ae0760a47e443d776f072009149c55f5547e7f19f4ccee59f72a702593044f910ce8fefeec6386134eba3aeb7ad6fbe413af92cd0fe8cdc507c3105a3dc5698000000b003fedcdef6e05371f07e880d1c82159aa0b97847816f901332d3778573e4c0513c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb62298dda0e36c15fe6edd38b92ad86edb05142cde6613c6c06398cf0f83e08b752886f7868a4e0a882cd86a67513c1939f1073e1997c584b714a25912ce8c9d1400000168000000b01bb7447592682598e86b4ec5b610bf165085bd34483687edf6f99f929e9506cd403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb609ecf6c49dc247fbae79b9bb42e5bff98cac8982b3214e09e3dd0188be90d1f00fdb10aa44a43c856c74eb6969496a58789f9abde4d30c0094e68b8c093ce38f000000b0030b5d994cbe57962807cfc7ce1e1034d81e19d895440f37773dd20bd9454d48443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb621a55e5b394a1a22a6668073dc7469753c78ce6f79e845e4a8032995e941186c27937840e02c0eac6461b22202d813d4286bdfaaab9a03db590cb39933ed2a0b00000168000000b01ac3c52fe84629bd1ff4968067acb9b087ea5ec55c0b07123b63fa1903f593c4483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb608f9777ef3a04c1fe6030175f481ba93c4112b13c6f5cd2e28475c0f23f15ee70ee791649a8240a9a3fe33241ae564f2b0043c4ef8a78b24d950e6126e9d7086000000b00217de53a29c5bba5f9117827fba0acf0f82bb69a9188e5bbba82c923ea5da3f4c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb620b1df158f281e46ddefc82e8e10640f73dd70008dbcc508ec6d841c4ea1a563269ff8fb360a12d09beaf9dcb4740e6e5fd0813bbf6e82ff9d770e1f994db70200000168000000b019d045ea3e242de1577dde3b1948b44abf4f00566fdf86367fce549f695620bb503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb60805f839497e50441d8c4930a61db52dfb75cca4daca4c526cb1b6958951ebde0df4121ef06044cddb877adecc815f8ce768dde00c7c0a491dbb4098d3fdfd7d000000b001245f0df87a5fde971a5f3d3156056946e75cfabced0d8000128718a4066736543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb61fbe5fcfe506226b15790fe93fac5ea9ab421191a191442d30d7dea2b402325a25ac79b58be816f4d374419766100908973522ccd3430223e1e168a5feae43f900000168000000b018dcc6a4940232058f0725f5cae4aee4f6b3a1e783b4055ac438af25ceb6adb2583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6071278f39f5c5468551590eb57b9afc832da6e35ee9ecb76b11c111beeb278d50d0092d9463e48f21310c2997e1d5a271ecd7f712050896d62259b1f395e8a74000000b00030dfc84e586402cea3a6f7e2f200037e4bfe8bd0c18ca4447ce19f0966f42d5c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb61ecae08a3ae4268f4d0257a3f1485943e2a6b322b565c351754239291962bf5124b8fa6fe1c61b190afd895217ac03a2ce99c45de7178148264bc32c640ed0f0380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b017e9475ee9e03629c6906db07c80a97f2e1843789788847f08a309ac34173aa9603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6061ef9adf53a588c8c9ed8a60955aa626a3f0fc702734a9af5866ba2541305cc0c0d13939c1c4d164a9a0a542fb954c15632210234250891a68ff5a59ebf176b000000b02fa1aef585680850be7d3469160f52fadde488655e4f7c59ccc931b95ec78125643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb61dd7614490c22ab3848b9f5ea2e453de1a0b54b3c93a4275b9ac93af7ec34c4823c57b2a37a41f3d4286d10cc947fe3d05fe65eefaec006c6ab61db2c96f5de7000000b016f5c8193fbe3a4dfe19b56b2e1ca419657ce509ab5d03a34d0d64329977c7a0683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6052b7a684b185cb0c4282060baf1a4fca1a3b1581647c9bf39f0c628b97392c30b19944df1fa513a8223520ee1554f5b8d96c29347f987b5eafa502c041fa4620000021c000000b02eae2fafdb460c74f6067c23c7ab4d95154929f67223fb7e11338c3fc4280e1c6c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb61ce3e1fee6a02ed7bc14e71954804e78516ff644dd0ec199fe16ee35e423d93f22d1fbe48d8223617a1018c77ae3f8d73d6307800ec07f90af2078392ecfeade000000b0160248d3959c3e7235a2fd25dfb89eb39ce1869abf3182c79177beb8fed85497703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb60437fb22a0f660d4fbb1681b6c8d9f96d90852e92a1c48e37e5b20af1ed41fba0a26150847d8555eb9ac99c992f149f5c4fb64245bce06da2f64aab269803159000000b02dbab06a312410992d8fc3de7947482f4cadcb8785f87aa2559de6c629889b13743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb61bf062b93c7e32fbf39e2ed4061c491288d497d5f0e340be428148bc4984663621de7c9ee3602785b19960822c7ff37174c7a9112294feb4f38ad2bf943077d50000021c000000b0150ec98deb7a42966d2c44e09154994dd446282bd30601ebd5e2193f6438e18e783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb603447bdcf6d464f9333aafd61e299a31106cf47a3df0c807c2c57b358434acb1093295c29db65982f135e184448d448ffc6005b56fa285fe73cf0538cee0be50000000b02cc73124870214bd65190b992ae342c984126d1899ccf9c69a08414c8ee9280a7c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb61afce373925c37202b27768eb7b843acc039396704b7bfe286eba342aee4f32d20eafd59393e2ba9e922a83cde1bee0bac2c4aa236697dd937f52d45f99104cc000000b0141b4a48415846baa4b58c9b42f093e80baac9bce6da81101a4c73c5c9996e85803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb60250fc974cb2691d6ac3f790cfc594cb47d1960b51c5472c072fd5bbe99539a8083f167cf3945da728bf293ef6293f2a33c4a74683770522b8395fbf34414b470000021c000000b02bd3b1dedce018e19ca25353dc7f3d63bb770ea9ada178eade729bd2f449b501843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb61a09642de83a3b4462b0be4969543e46f79ddaf8188c3f06cb55fdc9144580241ff77e138f1c2fce20abeff78fb7e8a5e390ec334a3dfcfd7c5f87cc5ef191c3000000b01327cb0297364adedc3ed455f48c8e82430f6b4dfaaf00345eb6ce4c2ef9fb7c883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6015d7d51a2906d41a24d3f4b81618f657f36379c6599c6504b9a30424ef5c69f074b9737497261cb604870f9a7c539c46b2948d7974b8446fca3ba4599a1d83e000000b02ae0329932be1d05d42b9b0e8e1b37fdf2dbb03ac175f80f22dcf65959aa41f88c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb61915e4e83e183f689a3a06041af038e12f027c892c60be2b0fc0584f79a60d1b1f03fecde4fa33f2583537b24153e3401af58dc45e127c21c0c9e252c4521eba0000021c000000b012344bbced144f0313c81c10a628891c7a740cdf0e837f58a32128d2945a8873903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb60069fe0bf86e7165d9d6870632fd89ffb69ad92d796e457490048ac8b4565396065817f19f5065ef97d1b8b45961345ea28dea68ab20036b410e14cbff026535000000b029ecb353889c212a0bb4e2c93fb732982a4051cbd54a7733674750dfbf0aceef943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6182265a293f6438cd1c34dbecc8c337b66671e1a40353d4f542ab2d5df069a121e107f883ad838168fbe7f6cf2efddda525a2f5571e6fb4605343cd929b2abb1000000b01140cc7742f253274b5163cb57c483b6b1d8ae702257fe7ce78b8358f9bb156a983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb62fdacd392f7e15b3c9b01477661adcf71633630706fc352a1850dae309b6e08e056498abf52e6a13cf5b006f0afd2ef8d9f28bf9bef4828f85786f526462f22c0000021c000000b028f9340dde7a254e433e2a83f1532d3261a4f35ce91ef657abb1ab66246b5be69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb6172ee65ce9d447b1094c95797e282e159dcbbfab5409bc7398950d5c446727091d1d004290b63c3ac747c727a48bd87489bed0e685bb7a6a499e975f8f1338a8000000b0104d4d3198d0574b82daab8609607e50e93d5001362c7da12bf5dddf5f1ba261a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb62ee74df3855c19d801395c3217b6d7914d9804981ad0b44e5cbb35696f176d85047119664b0c6e3806e44829bc99299311572d8ad2c901b3c9e2c9d8c9c37f23000000b02805b4c8345829727ac7723ea2ef27cc990994edfcf3757bf01c05ec89cbe8dda43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6163b67173fb24bd540d5dd342fc428afd530613c67de3b97dcff67e2a9c7b4001c2980fce694405efed10ee25627d30ec1237277998ff98e8e08f1e5f473c59f0000021c000000b00f59cdebeeae5b6fba63f340bafc78eb20a1f1924a00fcc570603865c47c2f58a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb62df3ceaddb3a1dfc38c2a3ecc952d22b84fca6292ea53372a1258fefd477fa7c037d9a20a0ea725c3e6d8fe46e35242d48bbcf1be69d80d80e4d245f2f240c1a000000b0271235828a362d96b250b9f9548b2266d06e367f10c7f4a034866072ef2c75d4ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb61547e7d195904ff9785f24eee160234a0c9502cd7bb2babc2169c2690f2840f71b3601b73c724483365a569d07c3cda8f8881408ad6478b2d2734c6c59d45296000000b00e664ea6448c5f93f1ed3afb6c987385580693235dd57be9b4ca92ec29dcbc4fb03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb62d004f6831182220704beba77aeeccc5bc6147ba4279b296e58fea7639d88773028a1adaf6c8768075f6d79f1fd11ec7802070acfa71fffc52b77ee5948499110000021c000000b0261eb63ce01431bae9da01b406271d0107d2d810249c73c478f0baf9548d02cbb43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb61454688beb6e541dafe86ca992fc1de443f9a45e8f8739e065d41cef7488cdee1a428271925048a76de39e57b95fc8432fecb599c138f7d716dda6f2bf34df8d000000b00d72cf609a6a63b8297682b61e346e1f8f6b34b471a9fb0df934ed728f3d4946b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb62c0cd02286f62644a7d533622c8ac75ff3c5e94b564e31bb29fa44fc9f39146a01969b954ca67aa4ad801f59d16d1961b785123e0e467f209721d96bf9e52608000000b0252b36f735f235df2163496eb7c3179b3f3779a13870f2e8bd5b157fb9ed8fc2bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb61360e946414c5841e771b4644498187e7b5e45efa35bb904aa3e7775d9e95ae5194f032be82e4ccba56ce6126afbc2dd6751572ad50d76fb5b48017924956c8400000fa400000168000000b00c7f501af04867dc60ffca70cfd068b9c6cfd645857e7a323d9f47f8f49dd63dc03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb62b1950dcdcd42a68df5e7b1cde26c1fa2b2a8adc6a22b0df6e649f830499a16100a31c4fa2847ec8e5096714830913fbeee9b3cf221afe44db8c33f25f45b2ff000000b02437b7b18bd03a0358ec9129695f1235769c1b324c45720d01c570061f4e1cb9c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6126d6a00972a5c661efafc1ef6341318b2c2e780b7303828eea8d1fc3f49e7dc185b83e63e0c50efdcf62dcd1c97bd779eb5f8bbe8e1f61f9fb25bff89f5f97b00000168000000b00b8bd0d546266c009889122b816c6353fe3477d69952f9568209a27f59fe6334c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb62a25d19732b22e8d16e7c2d78fc2bc94628f2c6d7df73003b2cefa0969fa2e583013eb7cd9942316d4e2f485b62666f34e823da8afa8edfa63d8840cb4a63ff7000000b02344386be1ae3e279075d8e41afb0ccfae00bcc36019f131462fca8c84aea9b0cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb61179eabaed08608a568443d9a7d00db2ea278911cb04b74d33132c82a4aa74d3176804a093ea5514147f7587ce33b811d61a9a4cfcb67543e41cb685ef56867200000168000000b00a98518f9c047024d01259e633085dee35991967ad27787ac673fd05bf5ef02bd03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb629325251889032b14e710a92415eb72e99f3cdfe91cbaf27f739548fcf5abb4f2f206c372f72273b0c6c3c4067c2618d85e6df39c37d6d1ea842de931a06ccee000000b02250b926378c424bc7ff209ecc970769e5655e5473ee70558a9a2512ea0f36a7d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb610866b7542e664ae8e0d8b94596c084d218c2aa2ded93671777d87090a0b01ca1674855ae9c859384c08bd427fcfb2ac0d7f3bde108af4682887110c54b7136900000168000000b009a4d249f1e27449079ba1a0e4a458886cfdbaf8c0fbf79f0ade578c24bf7d22d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6283ed30bde6e36d585fa524cf2fab1c8d1586f8fa5a02e4c3ba3af1634bb48462e2cecf185502b5f43f583fb195e5c27bd4b80cad751ec42ecad39197f6759e5000000b0215d39e08d6a466fff8868597e3302041cc9ffe587c2ef79cf047f994f6fc39edc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb60f92ec2f98c468d2c596d34f0b0802e758f0cc33f2adb595bbe7e18f6f6b8ec1158106153fa65d5c839204fd316bad4644e3dd6f245f738c6cf16b92ba17a06000000168000000b008b1530447c0786d3f24e95b96405322a4625c89d4d076c34f48b2128a200a19e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6274b53c6344c3af9bd839a07a496ac6308bd1120b974ad70800e099c9a1bd53d2d396dabdb2e2f837b7ecbb5cafa56c1f4b0225beb266b673117939fe4c7e6dc000000b02069ba9ae3484a943711b0142fcefc9e542ea1769b976e9e136eda1fb4d05095e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb60e9f6ce9eea26cf6fd201b09bca3fd8190556dc5068234ba00523c15d4cc1bb8148d86cf95846180bb1b4cb7e307a7e07c487f003833f2b0b15bc6191f782d5700000168000000b007bdd3be9d9e7c9176ae311647dc4dbcdbc6fe1ae8a4f5e793b30c98ef809710e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb62657d4808a2a3f1df50ce1c25632a6fd4021b2b1cd492c94c4786422ff7c62342c45ee66310c33a7b30813707c96515c2c14c3ecfefaea8b7581ee264a2873d3000000b01f763b5539264eb86e9af7cee16af7388b934307af6bedc257d934a61a30dd8cec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb60dabeda44480711b34a962c46e3ff81bc7ba0f561a56b3de44bc969c3a2ca8af139a0789eb6265a4f2a4947294a3a27ab3ad20914c0871d4f5c6209f84d8ba4e00000168000000b006ca5478f37c80b5ae3778d0f9784857132b9fabfc79750bd81d671f54e12407f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb62564553ae00843422c96297d07cea19777865442e11dabb908e2bea964dcef2b2b526f2086ea37cbea915b2b2e324bf66379657e12cf69afb9ec48acaf8900ca000000b01e82bc0f8f0452dca6243f899306f1d2c2f7e498c3406ce69c438f2c7f916a83f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb60cb86e5e9a5e753f6c32aa7f1fdbf2b5ff1eb0e72e2b33028926f1229f8d35a612a68844414069c92a2ddc2d463f9d14eb11c2225fdcf0f93a307b25ea39474500000168000000b005d6d533495a84d9e5c0c08bab1442f14a90413d104df4301c87c1a5ba41b0fef83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb62470d5f535e64766641f7137b96a9c31aeeaf5d3f4f22add4d4d192fca3d7c222a5eefdadcc83bf0221aa2e5dfce46909ade070f26a3e8d3fe56a33314e98dc1000000b01d8f3cc9e4e25700ddad874444a2ec6cfa5c8629d714ec0ae0ade9b2e4f1f77afc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb60bc4ef18f03c7963a3bbf239d177ed503683527841ffb226cd914ba904edc29d11b308fe971e6ded61b723e7f7db97af227663b373b1701d7e9ad5ac4f99d43c00000168000000b0054ae0036f4113f1cc6530d57ce7f80d18546677e12a139f912e7d6294cb4b2600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb6237d56af8bc44b8a9ba8b8f26b0696cbe64f976508c6aa0191b773b62f9e0919296b709532a6401459a3eaa0916a412ad242a8a03a7867f842c0fdb97a4a1ab8000000b01d03479a0ac8e618c451f78e1676a188c820ab64a7f10b7a5554a56fbf7b91a204400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb60b38f9e91623087b8a606283a34ba26c044777b312dbd19642380765df775cc5112713cebd04fd05485b9431c9af4ccaf03a88ee448d8f8cf34191692a236e6400000168000000b0045760bdc51f181603ee78902e83f2a74fb90808f4fe92c3d598d7e8fa2bd81d08400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb622f1617fb1aadaa2824d293c3cda4be7b413bc9fd9a2c971065e2f730a27a34128df7b65588ccf2c40485aea633df646a006cddb0b548767b767b97654d3b4e0000000b01c0fc85460a6ea3cfbdb3f48c8129c22ff854cf5bbc58a9e99befff624dc1e990c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60a457aa36c010c9fc1e9aa3e54e79d063bac194426b050ba86a261ec44d7e9bc1033948912e301297fe4dbec7b4b4765279f2a7f58620eb137abebef8f83fb5b00000168000000b00363e1781afd1c3a3b77c04ae01fed41871da99a08d311e81a03326f5f8c651410400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb621fde23a0788dec6b9d670f6ee764681eb785e30ed7748954ac889f96f88303827ebfc1fae6ad35077d1a2a514d9f0e0d76b6f6c1f29068bfbd213fcba3441d7000000b01b1c490eb684ee613364870379ae96bd36e9ee86cf9a09c2de295a7c8a3cab9014400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb60951fb5dc1df10c3f972f1f9068397a07310bad53a84cfdecb0cbc72aa3876b30f40154368c1054db76e23a72ce741ff5f03cc106c368dd57c164675f4e488523800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b00270623270db205e7301080591bbe7dbbe824b2b1ca7910c5e6d8cf5c4ecf20b18400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb6210a62f45d66e2eaf15fb8b1a012411c22dcffc2014bc7b98f32e47fd4e8bd2f26f87cda0448d774af5aea5fc675eb7b0ed010fd32fd85b0403c6e831f94cece000000b01a28c9c90c62f2856aedcebe2b4a91576e4e9017e36e88e72293b502ef9d38871c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb6085e7c1817bd14e830fc39b3b81f923aaa755c664e594f030f7716f90f9903aa0e4c95fdbe9f0971eef76b61de833c9996686da1800b0cf9c080a0fc5a451549000000b0017ce2ecc6b92482aa8a4fc04357e275f5e6ecbc307c1030a2d7e77c2a4d7f0220400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb62016e3aeb344e70f28e9006c51ae3bb65a41a153152046ddd39d3f063a494a262604fd945a26db98e6e4321a7811e6154634b28e46d204d484a6c90984f55bc50000021c000000b019354a836240f6a9a2771678dce68bf1a5b331a8f743080b66fe0f8954fdc57e24400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb6076afcd26d9b190c6885816e69bb8cd4e1d9fdf7622dce2753e1717f74f990a10d5916b8147d0d962680b31c901f3733cdcd0f3293df8c1e04eafb82bfa5a240000000b0008963a71c9728a6e213977af4f3dd102d4b8e4d44508f54e74242028fae0bf928400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb61f2364690922eb3360724827034a365091a642e428f4c6021807998c9fa9d71d25117e4eb004dfbd1e6d79d529ade0af7d99541f5aa683f8c911238fea55e8bc000000b01841cb3db81efacdda005e338e82868bdd17d33a0b17872fab686a0fba5e52752c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb606777d8cc3791d30a00ec9291b57876f193e9f8876024d4b984bcc05da5a1d980c6597726a5b11ba5e09fad741bb31ce0531b0c3a7b40b424955560925062f370000021c000000b02ffa32d453a6ccf4d1ed24ec281130078ce41826d1de7f0a6f8e921ce50e98f130400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb61e2fe5235f00ef5797fb8fe1b4e630eac90ae4753cc945265c71f413050a6414241dff0905e2e3e155f6c18fdb49db49b4fdf5b06e7b031d0d7b7e164fb675b3000000b0174e4bf80dfcfef21189a5ee401e8126147c74cb1eec0653efd2c4961fbedf6c34400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb60583fe4719572154d79810e3ccf3820950a3411989d6cc6fdcb6268c3fbaaa8f0b72182cc03915de95934291f3572c683c965254bb888a668dbfb08f8a66bc2e000000b02f06b38ea984d11909766ca6d9ad2aa1c448b9b7e5b2fe2eb3f8eca34a6f25e838400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb61d3c65ddb4def37bcf84d79c66822b85006f8606509dc44aa0dc4e996a6af10b232a7fc35bc0e8058d80094a8ce5d5e3ec629741824f824151e5d89cb51702aa0000021c000000b0165accb263db03164912eda8f1ba7bc04be1165c32c08578343d1f1c851f6c633c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb604907f016f3525790f21589e7e8f7ca38807e2aa9dab4b9421208112a51b37860a7e98e716171a02cd1c8a4ca4f3270273faf3e5cf5d098ad22a0b15efc74925000000b02e133448ff62d53d40ffb4618b49253bfbad5b48f9877d52f8634729afcfb2df40400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb61c48e6980abcf7a0070e1f57181e261f37d427976472436ee546a91fcfcb7e022237007db19eec29c50951053e81d07e23c738d296240165965033231a778fa1000000b015674d6cb9b9073a809c3563a356765a8345b7ed4695049c78a779a2ea7ff95a44400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb6039cffbbc513299d46aaa059302b773dbf6c843bb17fcab8658adb990a7bc47d098b19a16bf51e2704a5d207568f219cab5f9576e33188af1694659c5527d61c0000021c000000b02d1fb5035540d9617888fc1c3ce51fd63311fcda0d5bfc773ccda1b015303fd648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb61b556752609afbc43e976711c9ba20b96f38c9287846c29329b103a6352c0af921438138077cf04dfc9298bff01dcb185b2bda63a9f88089daba8da97fd81c98000000b01473ce270f970b5eb8257d1e54f270f4baaa597e5a6983c0bd11d4294fe086514c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb602a980761af12dc17e33e813e1c771d7f6d125ccc55449dca9f5361f6fdc517408979a5bc1d3224b3c2f19c2082b1c36e2c43707f70607d35afec022ba886313000000b02c2c35bdab1edd85b01243d6ee811a706a769e6b21307b9b8137fc367a90cccd50400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb61a61e80cb678ffe87620aecc7b561b53a69d6ab98c1b41b76e1b5e2c9a8c97f0205001f25d5af472341be07aa1b9c5b292907bf4bdccffae1f24e82fe538a98f0000021c000000b013804ee165750f82efaec4d9068e6b8ef20efb0f6e3e02e5017c2eafb541134854400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb601b6013070cf31e5b5bd2fce93636c722e35c75dd928c900ee5f90a5d53cde6b07a41b1617b1266f73b8617cb9c716d11a28d8990ada86f79f691aa91fe8f00a000000b02b38b67800fce1a9e79b8b91a01d150aa1db3ffc3504fabfc5a256bcdff159c458400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb6196e68c70c57040cada9f6872cf215edde020c4a9fefc0dbb285b8b2ffed24e71f5c82acb338f8966ba528355355c04cc9f51d85d1a17ed2638f42b64a993686000000b0128ccf9bbb5313a727380c93b82a662929739ca08212820945e689361aa1a03f5c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb600c281eac6ad3609ed46778944ff670c659a68eeecfd482532c9eb2c3a9d6b6206b09bd06d8f2a93ab41a9376b63116b518d7a2a1eaf061be3d3752f85497d010000021c000000b02a45373256dae5ce1f24d34c51b90fa4d93fe18d48d979e40a0cb1434551e6bb60400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb6187ae98162350830e5333e41de8e10881566addbb3c43ffff6f01339654db1de1e6903670916fcbaa32e6ff004f1bae70159bf16e575fdf6a7f99d3caff9c37d000000b011995056113117cb5ec1544e69c660c360d83e3195e7012d8a50e3bc80022d3664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb630335117fdbcda57dd2004fa781cba03c532f2c87a8b37dabb163b468ffdf85a05bd1c8ac36d2eb7e2caf0f21cff0c0588f21bbb32838540283dcfb5eaaa09f8000000b02951b7ecacb8e9f256ae1b0703550a3f10a4831e5cadf9084e770bc9aab273b268400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb617876a3bb8130c551cbc85fc902a0b224ccb4f6cc798bf243b5a6dbfcaae3ed51d7584215ef500dedab7b7aab68db58138be60a7f94a7d1aec63f7c3155a50740000021c000000b010a5d110670f1bef964a9c091b625b5d983cdfc2a9bb8051cebb3e42e562ba2d6c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb62f3fd1d2539ade7c14a94cb529b8b49dfc9794598e5fb6feff8095ccf55e855104c99d45194b32dc1a5438acce9b069fc056bd4c465804646ca82a3c500a96ef000000b0285e38a70296ee168e3762c1b4f104d9480924af7082782c92e16650101300a970400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb61693eaf60df110795445cdb741c605bc842ff0fddb6d3e487fc4c846300ecbcc1c8204dbb4d305031240ff656829b01b702302390d1efc3f30ce52497abadd6b000000b00fb251cabced2013cdd3e3c3ccfe55f7cfa18153bd8fff76132598c94ac3472474400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb62e4c528ca978e2a04c32946fdb54af3833fc35eaa234362343eaf0535abf124803d61dff6f29370051dd806780370139f7bb5edd5a2c8388b11284c2b56b23e600000fa400000168000000b0276ab9615874f23ac5c0aa7c668cff737f6dc6408456f750d74bc0d675738da078400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb615a06bb063cf149d8bcf1571f3620056bb94928eef41bd6cc42f22cc956f58c31b8e85960ab1092749ca472019c5aab5a787a3ca20f37b637538accfe01b6a62000000b00ebed28512cb2438055d2b7e7e9a5092070622e4d1647e9a578ff34fb023d41b7c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb62d58d346ff56e6c483bbdc2a8cf0a9d26b60d77bb608b54788554ad9c01f9f3f02e29eb9c5073b248966c82231d2fbd42f20006e6e0102acf57cdf491acbb0dd00000168000000b026773a1bae52f65efd49f2371828fa0db6d267d1982b76751bb61b5cdad41a9780400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb614acec6ab9ad18c1c3585d2ca4fdfaf0f2f9342003163c9108997d52facfe5ba1a9b0650608f0d4b81538edacb61a54fdeec455b34c7fa87b9a30756457bf759000000b00dcb533f68a9285c3ce6733930364b2c3e6ac475e538fdbe9bfa4dd61584611284400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb62c6554015534eae8bb4523e53e8ca46ca2c5790cc9dd346bccbfa56025802c3601ef1f741ae53f48c0f00fdce36ef66e6684a1ff81d581d139e739cf802c3dd400000168000000b02583bad60430fa8334d339f1c9c4f4a7ee370962abfff599602075e34034a78e88400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb613b96d250f8b1ce5fae1a4e75699f58b2a5dd5b116eabbb54d03d7d9603072b119a7870ab66d116fb8dcd6957cfd9fea1650e6ec489c79abfe0d61dcaadc8450000000b00cd7d3f9be872c80746fbaf3e1d245c675cf6606f90d7ce2e064a85c7ae4ee098c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb62b71d4bbab12ef0cf2ce6b9ff0289f06da2a1a9dddb1b3901129ffe68ae0b92d00fba02e70c3436cf8795797950af1089de9439095aa00f57e519455e58ccacb00000168000000b024903b905a0efea76c5c81ac7b60ef42259baaf3bfd474bda48ad069a595348590400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb612c5eddf6569210a326aeca20835f02561c277422abf3ad9916e325fc590ffa818b407c50c4b1593f0661e502e999a844db5887d5c70f8d04277bc63103d1147000000b00be454b4146530a4abf902ae936e4060ad3407980ce1fc0724cf02e2e0457b0094400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb62a7e557600f0f3312a57b35aa1c499a1118ebc2ef18632b455945a6cf0414624000820e8c6a1479130029f5246a6eba2d54de521a97e8019c2bbeedc4aed57c200000168000000b0239cbc4aafed02cba3e5c9672cfce9dc5d004c84d3a8f3e1e8f52af00af5c17c98400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb611d26e99bb47252e69f4345cb9d1eabf992718d33e93b9fdd5d88ce62af18c9f17c0887f622919b827ef660ae035951e851a2a0e704577f486e216e9759d9e3e000000b00af0d56e6a4334c8e3824a69450a3afae498a92920b67b2b69395d6945a607f79c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb6298ad63056cef75561e0fb155360943b48f35dc0055ab1d899feb4f355a1d31b2f78f015fdb0ebdf1fdc2cc379c43e9a34e66efb370c6fcf4b083ef6a04de4ba00000168000000b022a93d0505cb06efdb6f1121de98e4769464ee15e77d73062d5f857670564e73a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb610deef5411252952a17d7c176b6de559d08bba64526839221a42e76c9052199616cd0939b8071ddc5f78adc591d18fb8bc7ecb9f8419f718cb4c716fdafe2b35000000b009fd5628c02138ed1b0b9223f6a635951bfd4aba348afa4fada3b7efab0694eea4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6289756eaacacfb79996a42d004fc8ed58057ff51192f30fcde690f79bb0260122e8570d0538ef0035765747e2b6039346c4b108c4ae0eef38f72997d05ae71b100000168000000b021b5bdbf5ba90b1412f858dc9034df10cbc98fa6fb51f22a71c9dffcd5b6db6aa8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb60feb700e67032d76d906c3d21d09dff407f05bf5663cb8465ead41f2f5b2a68d15d989f40de522009701f580436d8a52f3e36d3097ee763d0fb6cbf6405eb82c000000b00909d6e315ff3d115294d9dea842302f5361ec4b485f7973f20e1276106721e5ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb627a3d7a5028aff9dd0f38a8ab698896fb7bca0e22d03b02122d36a002062ed092d91f18aa96cf4278eeebc38dcfc33cea3afb21d5eb56e17d3dcf4036b0efea800000168000000b020c23e79b1870f384a81a09741d0d9ab032e31380f26714eb6343a833b176861b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb60ef7f0c8bce1319b10900b8ccea5da8e3f54fd867a11376aa3179c795b13338414e60aae63c32624ce8b3d3af50984ed2b480ec1abc2f5615421267ca5bf4523000000b00816579d6bdd41358a1e219959de2ac98ac68ddc5c33f89836786cfc75c7aedcb4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb626b0585f586903c2087cd24568348409ef21427340d82f45673dc48685c37a002c9e7244ff4af84bc67803f38e982e68db1453ae7289ed3c18474e89d06f8b9f00000168000000b01fcebf340765135c820ae851f36cd4453a92d2c922faf072fa9e9509a077f558b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb60e04718312bf35bf481953478041d52876b99f178de5b68ee781f6ffc073c07b13f28b68b9a12a49061484f5a6a57f8762acb052bf977485988b81030b1fd21a000000b00722d857c1bb4559c1a769540b7a2563c22b2f6d700877bc7ae2c782db283bd3bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb625bcd919ae4707e640061a0019d07ea42685e40454acae69aba81f0ceb2406f72baaf2ff5528fc6ffe014bae403429031278f53f865e6c605cb1a91035d0189600000168000000b01edb3fee5d431780b994300ca508cedf71f7745a36cf6f973f08ef9005d8824fc0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb60d10f23d689d39e37fa29b0231ddcfc2ae1e40a8a1ba35b32bec518625d44d7212ff0c230f7f2e6d3d9dccb058417a219a1151e3d36bf3a9dcf5db8970805f11000000b0062f59121799497df930b10ebd161ffdf98fd0fe83dcf6e0bf4d22094088c8cac4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb624c959d404250c0a778f61bacb6c793e5dea859568812d8df0127993508493ee2ab773b9ab070094358a9368f1d0239d49dd96d09a32eb84a11c03969b30a58d00000168000000b01de7c0a8b3211ba4f11d77c756a4c979a95c15eb4aa3eebb83734a166b390f46c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb60c1d72f7be7b3e07b72be2bce379ca5ce582e239b58eb4d77056ac0c8b34da69120b8cdd655d32917527146b09dd74bbd175f374e74072ce2160360fd5e0ec08000000b0053bd9cc6d774da230b9f8c96eb21a9830f4728f97b1760503b77c8fa5e955c1cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb623d5da8e5a03102eaf18a9757d0873d8954f27267c55acb2347cd419b5e520e529c3f47400e504b86d13db23a36c1e3781423861ae076aa8e5865e1d00913284380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b01cf4416308ff1fc928a6bf820840c413e0c0b77c5e786ddfc7dda49cd0999c3dd0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb60b29f3b21459422beeb52a779515c4f71ce783cac96333fbb4c10692f095676011180d97bb3b36b5acb05c25bb796f5608da9505fb14f1f265ca90963b4178ff000000b004485a86c35551c668434084204e153268591420ab85f5294821d7160b49e2b8d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb622e25b48afe11452e6a1f1302ea46e72ccb3c8b7902a2bd678e72ea01b45addc28d0752e56c308dca49d22de550818d1b8a6d9f2c1dbe9cd29f0b8a365f1bf7b000000b01c00c21d5edd23ed6030073cb9dcbeae1825590d724ced040c47ff2335fa2934d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb60a36746c6a374650263e723246b1bf91544c255bdd37b31ff92b611955f5f45710248e5211193ad9e439a3e06d1569f0403f36970ee97116aa34eb1ca0a205f60000021c000000b00354db41193355ea9fcc883ed1ea0fcc9fbdb5b1bf5a744d8c8c319c70aa6fafdc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb621eedc0305bf18771e2b38eae040690d04186a48a3feaafabd51892680a63ad327dcf5e8aca10d00dc266a9906a4136bf00b7b83d5b068f16e5b1329cb524c72000000b01b0d42d7b4bb281197b94ef76b78b9484f89fa9e86216c2850b259a99b5ab62be0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb60942f526c0154a745dc7b9ecf84dba2b8bb0c6ecf10c32443d95bb9fbb56814e0f310f0c66f73efe1bc2eb9b1eb1648a77a3d82822bdf03aee9f45a3060292ed000000b002615bfb6f115a0ed755cff983860a66d7225742d32ef371d0f68c22d60afca6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb620fb5cbd5b9d1c9b55b480a591dc63a73b7d0bd9b7d32a1f01bbe3ace606c7ca26e976a3027f112513afb253b8400e0627701d14e984e815b2c56db030b2d9690000021c000000b01a19c3920a992c35cf4296b21d14b3e286ee9c2f99f5eb4c951cb43000bb4322e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6084f75e115f34e98955101a7a9e9b4c5c315687e04e0b1688200162620b70e450e3d8fc6bcd54322534c3355d04d5f24af0879b936926f5f3309a0296b631fe4000000b0016ddcb5c4ef5e330edf17b4352205010e86f8d3e70372961560e6a93b6b899dec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb62007dd77b17b20bf8d3dc86043785e4172e1ad6acba7a94346263e334b6754c125f5f75d585d15494b38fa0e69dc08a05ed4bea5fd596739f72fc83696136660000000b01926444c6077305a06cbde6cceb0ae7cbe533dc0adca6a70d9870eb6661bd019f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6075bf69b6bd152bcccda49625b85af5ffa7a0a0f18b5308cc66a70ac86179b3c0d4a108112b347468ad57b1081e959bee66d1b4a4a66ee837773faafd0c3acdb0000021c000000b0007a5d701acd625746685f6ee6bdff9b45eb9a64fad7f1ba59cb412fa0cc1694f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb61f145e32075924e3c4c7101af51458dbaa464efbdf7c28678a9098b9b0c7e1b825027817ae3b196d82c241c91b78033a96396037112de65e3b9a22bcfb73f357000000b01832c506b655347e3e552627804ca916f5b7df51c19ee9951df1693ccb7c5d10f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb606687755c1af56e10463911d0d21a9fa31deaba02c89afb10ad4cb32eb7828330c56913b68914b6ac25ec2cb338554591dd1bcdb5e3b6da7bbde5536362439d2000000b02feb2c9d51dd06a53641ece019db5292a584243e8865e16fe2179149f62ca38cfc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb61e20deec5d372907fc5057d5a6b05375e1aaf08cf350a78bcefaf34016286eaf240ef8d204191d91ba4b8983cd13fdd4cd9e01c82502658280047d4360d4804e0000021c000000b017a6cfd6dc3bc39624f9967152205e32c37c048c927b0904929824f9a605f73800410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb60574f810178d5b053becd8d7bebda49469434d31405e2ed54f3f25b950d8b52a0b6311f5be6f4f8ef9e80a85e5214ef355365e6c720feccc0048afbc9b84c6c9000000b02f5f376d77c395bd1ce65d29ebaf07ae73484979594200df56be4d06d0b63db404410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb61d94e9bc831db81fe2f4c81f78840891af6f15c7c42cc6fb43a1aefcf0b208d7238303a229ffaca9a0eff9cd9ee7b2f09b622702f5de84f1f4ab39003b5e1a76000000b016b350913219c7ba5c82de2c03bc58ccfae0a61da64f8828d7027f800b66842f08410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb604e902e03d73ea1d22914921909159b03707726c113a4e44c3e5e1762b624f520ad71cc5e455dea6e08c7acfb6f5040f22fa83a742ec0c3b74ef6b79760e60f10000021c000000b02e6bb827cda199e1546fa4e49d4b0248aaaceb0a6d1680039b28a78d3616caab0c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb61ca16a76d8fbbc441a7e0fda2a20032be6d3b758d801461f880c0983561295ce228f845c7fddb0cdd87941885083ad8ad2c6c89409b3041639159386a0bea76d000000b015bfd14b87f7cbde940c25e6b5585367324547aeba24074d1b6cda0670c7112610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb603f5839a9351ee415a1a90dc422d544a6e6c13fd250ecd6908503bfc90c2dc4909e39d803a33e2cb1815c28a6890fea95a5f253856c08b5fb959c5ffdb6eede8000000b02d7838e2237f9e058bf8ec9f4ee6fce2e2118c9b80eaff27df9302139b7757a214410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb61badeb312ed9c06852075794dbbbfdc61e3858e9ebd5c543cc766409bb7322c5219c0516d5bbb4f210028943021fa8250a2b6a251d87833a7d7fee0d061f34640000021c000000b014cc5205ddd5d002cb956da166f44e0169a9e93fcdf886715fd7348cd6279e1d18410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb603020454e92ff26591a3d896f3c94ee4a5d0b58e38e34c8d4cba9682f623694008f01e3a9011e6ef4f9f0a451a2cf94391c3c6c96a950a83fdc4208640cf7adf000000b02c84b99c795da229c382345a0082f77d19762e2c94bf7e4c23fd5c9a00d7e4991c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61aba6beb84b7c48c89909f4f8d57f860559cfa7affaa446810e0be9020d3afbc20a885d12b99b916478bd0fdb3bba2bf41900bb6315c025ec1ea48936b7fc15b000000b013d8d2c033b3d427031eb55c1890489ba10e8ad0e1cd0595a4418f133b882b1420410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb6020e850f3f0df689c92d2051a565497edd35571f4cb7cbb19124f1095b83f63707fc9ef4e5efeb13872851ffcbc8f3ddc928685a7e6989a8422e7b0ca63007d60000021c000000b02b913a56cf3ba64dfb0b7c14b21ef21750dacfbda893fd706867b7206638719024410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb619c6eca5da95c8b0c119e70a3ef3f2fa8d019c0c137ec38c554b191686343cb31fb5068b8177bd3a7f1518b865579d5978f4ad47453081830654a319d0e04e52000000b012e5537a8991d84b3aa7fd16ca2c4335d8732c61f5a184b9e8abe999a0e8b80b28410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb6011b05c994ebfaae00b6680c570144191499f8b0608c4ad5d58f4b8fc0e4832e07091faf3bcdef37beb199ba7d64ee78008d09eb923e08cc8698d5930b9094cd000000b02a9dbb112519aa723294c3cf63baecb1883f714ebc687c94acd211a6cb98fe872c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb618d36d603073ccd4f8a32ec4f08fed94c4663d9d275342b099b5739ceb94c9aa1ec18745d755c15eb69e607316f397f3b0594ed8590500a74abefda03640db4900000fa400000168000000b011f1d434df6fdc6f723144d17bc83dd00fd7cdf3097603de2d1644200649450230410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb600278683eac9fed2383fafc7089d3eb34bfe9a417460c9fa19f9a616264510250615a06991abf35bf63ae1752f00e91237f1ab7ca61287f0cb03301970f121c4000000b029aa3bcb7af7ae966a1e0b8a1556e74bbfa412dfd03cfbb8f13c6c2d30f98b7e34410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb617dfee1a8651d0f9302c767fa22be82efbcadf2e3b27c1d4de1fce2350f556a11dce08002d33c582ee27a82dc88f928de7bdf0696cd97fcb8f2958269ba1684000000168000000b010fe54ef354de093a9ba8c8c2d64386a473c6f841d4a830271809ea66ba9d1f938410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb62f9855b121d9a32028193d383bba91aaab97241b01eeb9afa245f6307ba59d1d05222123e789f7802dc4292fe09ce3ac6f564d0db9e707150f6d8a9fd651aebb000000b028b6bc85d0d5b2baa1a75344c6f2e1e5f708b470e4117add35a6c6b3965a18753c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb616ec6ed4dc2fd51d67b5be3a53c7e2c9332f80bf4efc40f9228a28a9b655e3981cda88ba8311c9a725b0efe87a2b8d281f2291fa80adfeefd393b2ad0101f53700000168000000b0100ad5a98b2be4b7e143d446df0033047ea11115311f0226b5eaf92cd10a5ef040410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb62ea4d66b77b7a7445fa284f2ed568c44e2fbc5ac15c338d3e6b050b6e1062a14042ea1de3d67fba4654d70ea9238de46a6baee9ecdbb863953d7e5263bb23bb2000000b027c33d4026b3b6ded9309aff788edc802e6d5601f7e5fa017a112139fbbaa56c44410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb615f8ef8f320dd9419f3f05f50563dd636a94225062d0c01d66f483301bb6708f1be70974d8efcdcb5d3a37a32bc787c25687338b94827e1417fe0d336662822e00000168000000b00f175663e109e8dc18cd1c01909c2d9eb605b2a644f3814afa5553b3366aebe748410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb62db15725cd95ab68972bccad9ef286df1a60673d2997b7f82b1aab3d4666b70b033b22989345ffc89cd6b8a543d4d8e0de1f902fe190055d98423faca112c8a9000000b026cfbdfa7c91bb0310b9e2ba2a2ad71a65d1f7930bba7925be7b7bc0611b32634c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb61505704987ebdd65d6c84dafb6ffd7fda1f8c3e176a53f41ab5eddb68116fd861af38a2f2ecdd1ef94c37f5ddd63825c8debd51ca856fd385c6867b9cbc30f2500000168000000b00e23d71e36e7ed00505663bc42382838ed6a543758c8006f3ebfae399bcb78de50410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb62cbdd7e02373af8cceb51468508e817951c508ce3d6c371c6f8505c3abc744020247a352e92403ecd460005ff570d37b158431c0f5648481dcac9a33067355a0000000b025dc3eb4d26fbf2748432a74dbc6d1b49d3699241f8ef84a02e5d646c67bbf5a54410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb61411f103ddc9e18a0e51956a689bd297d95d65728a79be65efc9383ce6778a7d1a000ae984abd613cc4cc7188eff7cf6c55076adbc2b7c5ca0d2c24031239c1c00000168000000b00d3057d88cc5f12487dfab76f3d422d324cef5c86c9c7f93832a08c0012c05d558410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb62bca589a7951b3b1063e5c23022a7c138929aa5f5140b640b3ef604a1127d0f90154240d3f0208110be9481aa70cce154ce8d352093903a62116f4b96bd3e297000000b024e8bf6f284dc34b7fcc722f8d62cc4ed49b3ab53363776e475030cd2bdc4c515c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb6131e71be33a7e5ae45dadd251a37cd3210c207039e4e3d8a343392c34bd81774190c8ba3da89da3803d60ed3409b7790fcb5183ecffffb80e53d1cc69684291300000168000000b00c3cd892e2a3f548bf68f331a5701d6d5c3397598070feb7c7946346668c92cc60410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb62ad6d954cf2fb7d53dc7a3ddb3c676adc08e4bf065153564f859bad076885df00060a4c794e00c3543728fd558a8c8af844d74e31d0d82ca65814f3fd1346f8e000000b023f540297e2bc76fb755b9ea3efec6e90bffdc464737f6928bba8b53913cd94864410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb6122af2788985e9d27d6424dfcbd3c7cc4826a894b222bcae789ded49b138a46b18190c5e3067de5c3b5f568df237722b3419b9cfe3d47aa529a7774cfbe4b60a00000168000000b00b49594d3881f96cf6f23aec570c1807939838ea94457ddc0bfebdcccbed1fc368410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb629e35a0f250dbbf97550eb9865627147f7f2ed8178e9b4893cc41556dbe8eae72fd173f4cbefb083334c1d468bc61ba6e3e5febcaa9b727fedcd9f5a2694fc86000000b02301c0e3d409cb93eedf01a4f09ac18343647dd75b0c75b6d024e5d9f69d663f6c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb611377332df63edf6b4ed6c9a7d6fc2667f8b4a25c5f73bd2bd0847d01699316217258d188645e28072e89e48a3d36cc56b7e5b60f7a8f9c96e11d1d36145430100000168000000b00a55da078e5ffd912e7b82a708a812a1cafcda7ba819fd0050691853314dacba70410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb628efdac97aebc01dacda335316fe6be22f578f128cbe33ad812e6fdd414977de2eddf4af21cdb4a76ad565013d6216411b4aa04dbe6ff1a43237f9e08bf5897d000000b0220e419e29e7cfb82668495fa236bc1d7ac91f686ee0f4db148f40605bfdf33674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb61043f3ed3541f21aec76b4552f0bbd00b6efebb6d9cbbaf70172a2567bf9be5916320dd2dc23e6a4aa71e603556f675fa2e2fcf20b7d78edb27c2c59c6a5cff800000168000000b009625ac1e43e01b56604ca61ba440d3c02617c0cbbee7c2494d372d996ae39b178410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb627fc5b83d0c9c441e4637b0dc89a667c66bc30a3a092b2d1c598ca63a6aa04d52dea756977abb8cba25eacbbeefe10db52af41ded24470c876a25466f1561674000000b0211ac2587fc5d3dc5df1911a53d2b6b7b22dc0f982b573ff58f99ae6c15e802d7c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb60f5074a78b1ff63f23fffc0fe0a7b79aee548d47eda03a1b45dcfcdce15a4b50153e8e8d3201eac8e1fb2dbe070b61f9da479e831f51f811f6e686e02c065cef00000168000000b0086edb7c3a1c05d99d8e121c6be007d639c61d9dcfc2fb48d93dcd5ffc0ec6a880410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb62708dc3e26a7c8661becc2c87a3661169e20d234b46731f60a0324ea0c0a91cc2cf6f623cd89bcefd9e7f476a09a0b758a13e36fe618efecbb0caeed56b6a36b000000b020274312d5a3d800957ad8d5056eb151e992628a9689f3239d63f56d26bf0d2484410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb60e5cf561e0fdfa635b8943ca9243b23525b92ed90174b93f8a47576346bad847144b0f4787dfeeed19847578b8a75c9411ac4014332677363b50e1669166e9e6", - "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012", + "archive": "0x0c3a5483faf6847c4bde18ad9db85187bdc3904c7e08be1db3a07ff111c6a9c2", + "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b01d3eb902599ccceb8fbaed95676b3889d5b98d6387f59d592c1c0f444438f61d2c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb60b746b5164f6ef4e55c9588af440396d11e059b1f2e0637518ff713a6434c140116285370bd8e3d813c48a391aa3e3cbfdd36aed2492216bca08fb3daee0d2df000000b00492d22613f2fee8cf576e977f7889a85d51ea07d50324a2ac6041bd7ee93c98303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6232cd2e8007ec1754db61f438dcee2e8c1ac9e9eb9a75b4fdd2599478ee507bc291aeccda760b5ff0bb150f1b4328d47ad9fafd9eb5919468e2f234ad991195b000000b01c4b39bcaf7ad10fc7443550190733240d1e2ef49bca1c7d708669caa9998314343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb60a80ec0bbad4f3728d52a045a5dc34074944fb4306b4e2995d69cbc0c9954e37106f05f161b6e7fc4b4dd1f3cc3fde6635380c7e3866a0900e7355c414415fd60000021c000000b0039f52e069d1030d06e0b6523114844294b68b98e8d7a3c6f0ca9c43e449c98f383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6223953a2565cc599853f66fe3f6add82f911402fcd7bda74218ff3cdf44594b328276d87fd3eba23433a98ac65ce87e1e504516aff2d986ad2997dd13ef1a652000000b01b57ba770558d533fecd7d0acaa32dbe4482d085af9e9ba1b4f0c4510efa100b3c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb6098d6cc610b2f796c4dbe80057782ea180a99cd41a8961bda1d426472ef5db2e0f7b86abb794ec2082d719ae7ddbd9006c9cae0f4c3b1fb452ddb04a79a1eccd000000b002abd39abfaf07313e69fe0ce2b07edccc1b2d29fcac22eb3534f6ca49aa5686403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb62145d45cac3ac9bdbcc8aeb8f106d81d3075e1c0e150599865fa4e5459a621aa2733ee42531cbe477ac3e067176a827c1c68f2fc1302178f1703d857a45233490000021c000000b01a643b315b36d9583656c4c57c3f28587be77216c3731ac5f95b1ed7745a9d02443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb60899ed806690fbbafc652fbb0914293bb80e3e652e5de0e1e63e80cd945668250e8807660d72f044ba6061692f77d39aa4014fa0600f9ed897480ad0df0279c4000000b001b85455158d0b5575f345c7944c7977037fcebb1080a20f799f5150af0ae37d483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6205255170218cde1f451f673a2a2d2b767da8351f524d8bcaa64a8dabf06aea126406efca8fac26bb24d2821c9067d1653cd948d26d696b35b6e32de09b2c040000000b01970bbebb114dd7c6de00c802ddb22f2b34c13a7d74799ea3dc5795dd9bb29f94c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb607a66e3abc6effdf33ee7775bab023d5ef72dff6423260062aa8db53f9b6f51c0d9488206350f468f1e9a923e113ce34db65f13173e41dfcdbb26557446306bb0000021c000000b000c4d50f6b6b0f79ad7c8d8245e874113ae4704c24552133be09abd7146b7074503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb61f5ed5d157f6d2062bdb3e2e543ecd519f3f24e308f957e0eecf036124673b98254cefb6fed8c68fe9d66fdc7aa277b08b32361e3aab15d79fd88d646f134d37000000b0187d3ca606f2e1a0a569543adf771d8ceab0b538eb1c190e822fd3e43f1bb6f0543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb606b2eef5124d04036b77bf306c4c1e7026d781875606df2a6f1335da5f1782130ca108dab92ef88d2972f0de92afc8cf12ca92c287b89d21201cbfdda9c393b2000000b03035a43ca27ab3c79d561af37905c7089a7cfa25b1e310e94655fbf169cbfd6c583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb61e6b568badd4d62a636485e905dac7ebd6a3c6741ccdd70533395de789c7c88f2459707154b6cab4215fb7972c3e724ac296d7af4e7f94fbe442e7ead473da2e0000021c000000b01789bd605cd0e5c4dcf29bf591131827221556c9fef09832c69a2e6aa47c43e75c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb605bf6faf682b0827a30106eb1de8190a5e3c231869db5e4eb37d9060c4780f0a0bad89950f0cfcb160fc3899444bc3694a2f34539b8d1c4564871a640f2420a9000000b02f4224f6f858b7ebd4df62ae2aa1c1a2d1e19bb6c5b7900d8ac05677cf2c8a63603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb61d77d74603b2da4e9aedcda3b776c2860e08680530a2562977a3b86def2855862365f12baa94ced858e8ff51ddda6ce4f9fb79406254142028ad427139d46725000000b016963e1ab2aee9e9147be3b042af12c15979f85b12c517570b0488f109dcd0de643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb604cbf069be090c4bda8a4ea5cf8413a495a0c4a97dafdd72f7e7eae729d89c010aba0a4f64eb00d598858053f5e7be038193d5e4af619b69a8f174ea7484ada00000021c000000b02e4ea5b14e36bc100c68aa68dc3dbc3d09463d47d98c0f31cf2ab0fe348d175a683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb61c8458005990de72d277155e6912bd20456d09964476d54dbc0e12f45488e27d227271e60072d2fc9072470c8f76677f31601ad1762893446d179cf79f34f41c000000b015a2bed5088cee0d4c052b6af44b0d5b90de99ec2699967b4f6ee3776f3d5dd56c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb603d8712413e710701213966081200e3ecd05663a91845c973c52456d8f3928f809c68b09bac904f9d00ec80ea783b89db8f87775c3361a8ded5bcf70d9e53a97000000b02d5b266ba414c03443f1f2238dd9b6d740aaded8ed608e5613950b8499eda451703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb61b90d8baaf6ee2970a005d191aaeb7ba7cd1ab27584b547200786d7ab9e96f74217ef2a05650d720c7fb8ec74112621968c4bc6289fd1268b181f77e049581130000021c000000b014af3f8f5e6af231838e7325a5e707f5c8433b7d3a6e159f93d93dfdd49deacc743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb602e4f1de69c51494499cde1b32bc08d9046a07cba558dbbb80bc9ff3f499b5ef08d30bc410a7091e07980fc9591fb337f05d1906d70a99b231c629f73f45c78e000000b02c67a725f9f2c4587b7b39de3f75b171780f806a01350d7a57ff660aff4e3148783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb61a9d5975054ce6bb4189a4d3cc4ab254b4364cb86c1fd39644e2c8011f49fc6b208b735aac2edb44ff84d681f2ae5cb3a0295df39dd1918cf5ec520469f60e0a000000b013bbc049b448f655bb17bae05783028fffa7dd0e4e4294c3d843988439fe77c37c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb601f17298bfa318b8812625d5e45803733bcea95cb92d5adfc526fa7a59fa42e607df8c7e66850d423f2157840abbadd227c1ba97eadf18d67630847da4a654850000021c000000b02b7427e04fd0c87cb3048198f111ac0baf7421fb15098c9e9c69c09164aebe3f803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb619a9da2f5b2aeadf7912ec8e7de6aceeeb9aee497ff452ba894d228784aa89621f97f415020cdf69370e1e3ca44a574dd78dff84b1a610b13a56ac8acf569b01000000b012c841040a26fa79f2a1029b091efd2a370c7e9f621713e81cadf30a9f5f04ba843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb600fdf35315811cdcb8af6d9095f3fe0d73334aedcd01da0409915500bf5acfdd06ec0d38bc63116676aa9f3ebc57a86c5f265c28feb397faba9adf040a06e17c000000b02a80a89aa5aecca0ea8dc953a2ada6a5e6d8c38c28de0bc2e0d41b17ca0f4b36883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb618b65ae9b108ef03b09c34492f82a78922ff8fda93c8d1decdb77d0dea0b16591ea474cf57eae38d6e9765f755e651e80ef2a115c57a8fd57ec1071134b727f800000fa400000168000000b011d4c1be6004fe9e2a2a4a55babaf7c46e71203075eb930c61184d9104bf91b18c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb6000a740d6b5f2100f038b54b478ff8a7aa97ec7ee0d659284dfbaf8724bb5cd405f88df31241158aae33e6f96df3a306968afdba1288171eff05398a6f676e73000000b0298d2954fb8cd0c52217110e5449a1401e3d651d3cb28ae7253e759e2f6fd82d903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb617c2dba406e6f327e8257c03e11ea2235a64316ba79d51031221d7944f6ba3501db0f589adc8e7b1a620adb207824c82465742a6d94f0ef9c32b61979a17b4ef00000168000000b010e14278b5e302c261b392106c56f25ea5d5c1c189c01230a582a8176a201ea8943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb62f7b433aa26ec54ee01242bc7aad4b9f0a3076586e6448ddd647ffa17a1be9cc05050ead681f19aee5bd2eb41f8f9da0cdef9f4b265c9643436f9410d4c7fb6a000000b02899aa0f516ad4e959a058c905e59bda55a206ae50870a0b69a8d02494d06524983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb616cf5c5e5cc4f74c1faec3be92ba9cbd91c8d2fcbb71d027568c321ab4cc30471cbd764403a6ebd5dda9f56cb91e471c7dbbe437ed238e1e0795bc1dff7841e600000168000000b00fedc3330bc106e6993cd9cb1df2ecf8dd3a63529d949154e9ed029dcf80ab9f9c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb62e87c3f4f84cc973179b8a772c494639419517e98238c8021ab25a27df7c76c304118f67bdfd1dd31d46766ed12b983b055440dc3a31156787d9ee973a288861000000b027a62ac9a748d90d9129a083b78196748d06a83f645b892fae132aaafa30f21ba03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb615dbdd18b2a2fb7057380b7944569757c92d748dcf464f4b9af68ca11a2cbd3e1bc9f6fe5984effa15333d276aba41b6b52085c900f80d424c0016a464d8cedd00000168000000b00efa43ed619f0b0ad0c62185cf8ee793149f04e3b16910792e575d2434e13896a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb62d9444af4e2acd974f24d231dde540d378f9b97a960d47265f1cb4ae44dd03ba031e102213db21f754cfbe2982c792d53cb8e26d4e05948bcc44491d9f891558000000b026b2ab83fd26dd31c8b2e83e691d910ec46b49d078300853f27d85315f917f12a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb614e85dd30880ff948ec15333f5f291f20092161ee31ace6fdf60e7277f8d4a351ad677b8af62f41e4cbc84e21c563c50ec85275a14cc8c66906a712aca395bd400000168000000b00e06c4a7b77d0f2f084f6940812ae22d4c03a674c53d8f9d72c1b7aa9a41c58dac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb62ca0c569a408d1bb86ae19ec8f813b6db05e5b0ba9e1c64aa3870f34aa3d90b1022a90dc69b9261b8c5905e434638d6f741d83fe61da13b010aea3a404e9a24f000000b025bf2c3e5304e156003c2ff91ab98ba8fbcfeb618c04877836e7dfb7c4f20c09b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb613f4de8d5e5f03b8c64a9aeea78e8c8c37f6b7aff6ef4d9423cb41ade4edd72c19e2f8730540f8428445cc9ccdf236eb23e9c8eb28a10b8ad4d4cbb12f99e8cb00000168000000b00d1345620d5b13533fd8b0fb32c6dcc783684805d9120ec1b72c1230ffa25284b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb62bad4623f9e6d5dfbe3761a7411d3607e7c2fc9cbdb6456ee7f169bb0f9e1da801371196bf972a3fc3e24d9ee5ff8809ab82258f75ae92d45518fe2a6a4a2f46000000b024cbacf8a8e2e57a37c577b3cc55864333348cf29fd9069c7b523a3e2a529900b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb613015f47b43d07dcfdd3e2a9592a87266f5b59410ac3ccb868359c344a4e642318ef792d5b1efc66bbcf14577f8e31855b4e6a7c3c758aaf193f263794fa75c200000168000000b00c1fc61c633917777761f8b5e462d761bacce996ece68de5fb966cb76502df7bbc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb62ab9c6de4fc4da03f5c0a961f2b930a21f279e2dd18ac4932c5bc44174feaa9f0043925115752e63fb6b9559979b82a3e2e6c720898311f8998358b0cfaabc3d000000b023d82db2fec0e99e6f4ebf6e7df180dd6a992e83b3ad85c0bfbc94c48fb325f7c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6120de0020a1b0c01355d2a640ac681c0a6bffad21e984bdcac9ff6baafaef11a17fbf9e7b0fd008af3585c12312a2c1f92b30c0d504a09d35da980bdfa5b02b900000168000000b00b2c46d6b9171b9baeeb407095fed1fbf2318b2800bb0d0a4000c73dca636c72c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb629c64798a5a2de282d49f11ca4552b3c568c3fbee55f43b770c61ec7da5f37962fb4617e4c84d2b1eb4522cacab8d59b427f50fa171101ae21cfa8cb250b4935000000b022e4ae6d549eedc2a6d807292f8d7b77a1fdd014c78204e50426ef4af513b2eec83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6111a60bc5ff910256ce6721ebc627c5ade249c63326ccb00f10a5141150f7e1117087aa206db04af2ae1a3cce2c626b9ca17ad9e641e88f7a213db445fbb8fb000000168000000b00a38c7910ef51fbfe674882b479acc9629962cb9148f8c2e846b21c42fc3f969cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb628d2c852fb80e24c64d338d755f125d68df0e14ff933c2dbb530794e3fbfc48d2ec0e238a262d6d622ce6a857c54d03579e3f28b2ae580d2663a03518a6bd62c000000b021f12f27aa7cf1e6de614ee3e1297611d96271a5db568409489149d15a743fe5d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb61026e176b5d71449a46fb9d96dfe76f515893df446414a253574abc77a700b081614fb5c5cb908d3626aeb8794622154017c4f2f77f3081be67e35cac51c1ca700000168000000b00945484b64d323e41dfdcfe5f936c73060face4a28640b52c8d57c4a95248660d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb627df490d515ee6709c5c8092078d2070c55582e10d0841fff99ad3d4a52051842dcd62f2f840dafa5a57b2402df0cacfb148941c3eb9fff6aaa45dd7efcc6323000000b020fdafe2005af60b15ea969e92c570ac10c71336ef2b032d8cfba457bfd4ccdcd83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb60f3362310bb5186ddbf901941f9a718f4ceddf855a15c94979df064ddfd097ff15217c16b2970cf799f4334245fe1bee38e0f0c08bc787402ae890512a7ca99e00000168000000b00851c905bab12808558717a0aad2c1ca985f6fdb3c388a770d3fd6d0fa851357dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb626ebc9c7a73cea94d3e5c84cb9291b0afcba247220dcc1243e052e5b0a80de7b2cd9e3ad4e1edf1e91e0f9fadf8cc569e8ad35ad528e7f1aef0eb85e552cf01a000000b0200a309c5638fa2f4d73de5944616b46482bb4c802ff8251d165fede253559d3e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb60e3fe2eb61931c921382494ed1366c29845281166dea486dbe4960d4453124f6142dfcd10875111bd17d7afcf79a1688704592519f9c06646f52ead78fdd3695380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b0075e49c0108f2c2c8d105f5b5c6ebc64cfc4116c500d099b51aa31575fe5a04ee43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb625f84a81fd1aeeb90b6f10076ac515a5341ec60334b14048826f88e16fe16b722be66467a3fce342c96a41b59128c0042011d73e6662fe3f337912e4ba8d7d11000000b01f16b156ac16fe5384fd2613f5fd65e07f90565916d4017615d059648a95e6cae83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb60d4c63a5b77120b64b0b910982d266c3bbb722a781bec79202b3bb5aaa91b1ed133a7d8b5e5315400906c2b7a9361122a7aa33e2b3708588b3bd455df53dc38c000000b0066aca7a666d3050c499a7160e0ab6ff0728b2fd63e188bf96148bddc5462d45ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb62504cb3c52f8f2dd42f857c21c61103f6b8367944885bf6cc6d9e367d541f8692af2e521f9dae76700f3897042c4ba9e577678cf7a377d6377e36d6b1fee0a080000021c000000b01e23321101f50277bc866dcea799607ab6f4f7ea2aa8809a5a3ab3eaeff673c1f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb60c58e4600d4f24da8294d8c4346e615df31bc438959346b6471e15e10ff23ee41246fe45b431196440900a725ad20bbcdf0ed573c74504acf8279fe45a9e5083000000b005774b34bc4b3474fc22eed0bfa6b1993e8d548e77b607e3da7ee6642aa6ba3cf43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb624114bf6a8d6f7017a819f7ccdfd0ad9a2e809255c5a3e910b443dee3aa2856029ff65dc4fb8eb8b387cd12af460b5388edb1a608e0bfc87bc4dc7f1854e96ff000000b01d2fb2cb57d3069bf40fb58959355b14ee59997b3e7cffbe9ea50e71555700b8f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb60b65651a632d28feba1e207ee60a5bf82a8065c9a967c5da8b8870677552cbdb11537f000a0f1d887819522d0c6e065716737704db1983d13c91fa6abffedd7a0000021c000000b00483cbef1229389933ac368b7142ac3375f1f61f8b8a87081ee940ea90074733fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6231dccb0feb4fb25b20ae7377f990573da4caab6702ebdb54fae9874a0031257290be696a596efaf700618e5a5fcafd2c63fbbf1a1e07bac00b82277eaaf23f6000000b01ca3bd9b7db995b3dab425d32b091030bc1dbeb60f591f2e134bca2e2fe09ae0003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb60a71e5d4b90b2d22f1a7683997a6569261e5075abd3c44fecff2caeddab358d2105fffba5fed21acafa299e7be0a00f14dd81895eeee02f580fc54f1255f6a71000000b003f7d6bf380fc7b11a50a6d54316614f43b61b5a5c66a677938ffca76a90e15b043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb62291d781249b8a3d98af5781516cba8fa810cff1410add24c45554317a8cac7f287ff166cb7d7ec756aa892f77d064ee9403e12c72bc9b1b755ede34c538be1e0000021c000000b01bb03e55d39799d8123d6d8ddca50acaf3826047232d9e5257b624b4954127d7083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb609e5f0a4def1bc3ad84bd883697a0bae2fa92c958e18646e449986aab53cf2fa0fd40a8a85d3b0c496470a318fddb60d1b9c3dd0bfca2264f5a310adffe90499000000b0030457798dedcbd551d9ee8ff4b25be97b1abceb703b259bd7fa572dcff16e520c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb6219e583b7a798e61d0389f3c0308b529df75718254df5c4908bfaeb7dfed3976278c7221215b82eb8e33d0ea296c5f88cb6882bd86911a3fb9c938bb2a994b15000000b01abcbf1029759dfc49c6b5488e4105652ae701d837021d769c207f3afaa1b4ce103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb608f2715f34cfc05f0fd5203e1b160648670dce26a1ece3928903e1311a9d7ff10ee08b44dbb1b4e8cdd051ec4179b0a75300df61d39ea1893a0d6b34654991900000021c000000b00210d833e3cbcff98963364aa64e5683b27f5e7c840fa4c01c64b1b43551fb49143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb620aad8f5d057928607c1e6f6b4a4afc416da131368b3db6d4d2a093e454dc66d2698f2db7739870fc5bd18a4db085a2302cd244e9a659963fe3393418ff9d80c000000b019c93fca7f53a220814ffd033fdcffff624ba3694ad69c9ae08ad9c1600241c5183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb607fef2198aadc483475e67f8ccb200e29e726fb7b5c162b6cd6e3bb77ffe0ce80ded0bff318fb90d055999a6f315ab418a6580f2e77320ad7e77c5bacaaa1e87000000b0011d58ee39a9d41dc0ec7e0557ea511de9e4000d97e423e460cf0c3a9ab288401c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61fb759b0263596aa3f4b2eb16640aa5e4e3eb4a47c885a91919463c4aaae536425a57395cd178b33fd46605f8ca454bd3a31c5dfae3a1888429dedc7f55a65030000021c000000b018d5c084d531a644b8d944bdf178fa9999b044fa5eab1bbf24f53447c562cebc203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6070b72d3e08bc8a77ee7afb37e4dfb7cd5d71148c995e1db11d8963de55e99df0cf98cb9876dbd313ce2e161a4b1a5dbc1ca2283fb479fd1c2e22041300aab7e000000b00029d9a88f87d841f875c5c009864bb82148a19eabb8a308a53966c100131537243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb61ec3da6a7c139ace76d4766c17dca4f885a35635905cd9b5d5febe4b100ee05b24b1f45022f58f5834cfa81a3e404f5771966770c20e97ac8708484e5abaf1fa000000b017e2413f2b0faa68f0628c78a314f533d114e68b727f9ae3695f8ece2ac35bb3283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb60617f38e3669cccbb670f76e2fe9f6170d3bb2d9dd6a60ff5642f0c44abf26d60c060d73dd4bc155746c291c564da075f92ec4150f1c1ef6074c7ac7956b38750000021c000000b02f9aa8d5c6977c8fe84f53313ca39eaf80e12b78394692be2d85b6db5573a22f2c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb61dd05b24d1f19ef2ae5dbe26c9789f92bd07f7c6a43158da1a6918d1756f6d5223be750a78d3937c6c58efd4efdc49f1a8fb0901d5e316d0cb72a2d4c01b7ef1000000b016eec1f980edae8d27ebd43354b0efce0879881c86541a07adc9e9549023e8aa303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6052474488c47d0efedfa3f28e185f0b144a0546af13ee0239aad4b4ab01fb3cd0b128e2e3329c579abf570d707e99b10309365a622f09e1a4bb6d54dfacbc56c000000b02ea729901c7580b41fd89aebee3f9949b845cd094d1b11e271f01161bad42f26343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb61cdcdbdf27cfa316e5e705e17b149a2cf46c9957b805d7fe5ed37357dacffa4922caf5c4ceb197a0a3e2378fa178448be05faa92e9b795f50fdcfd5b257c0be80000021c000000b015fb42b3d6cbb2b15f751bee064cea683fde29ad9a28992bf23443daf58475a1383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb60430f502e225d514258386e39321eb4b7c04f5fc05135f47df17a5d1158040c40a1f0ee88907c99de37eb891b98595aa67f8073736c51d3e90212fd4602c5263000000b02db3aa4a725384d85761e2a69fdb93e3efaa6e9a60ef9106b65a6be82034bc1d3c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb61be95c997dada73b1d704d9c2cb094c72bd13ae8cbda5722a33dcdde4030874021d7767f248f9bc4db6b7f4a53143f2617c44c23fd8c1519544757e18adc98df000000b01507c36e2ca9b6d596fe63a8b7e8e5027742cb3eadfd1850369e9e615ae50298403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6033d75bd3803d9385d0cce9e44bde5e5b369978d18e7de6c238200577ae0cdbb092b8fa2dee5cdc21b08004c6b2190449f5ca8c84a999c62d48b8a5ac58cdf5a00000fa400000168000000b02cc02b04c83188fc8eeb2a6151778e7e270f102b74c4102afac4c66e85954914443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb61af5dd53d38bab5f54f99556de4c8f616335dc79dfaed646e7a82864a591143720e3f7397a6d9fe912f4c70504b039c04f28edb51160943d98b1b267f03d25d6000000b0141444288287baf9ce87ab636984df9caea76ccfc1d197747b08f8e7c0458f8f483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb60249f6778de1dd5c94961658f659e07feace391e2cbc5d9067ec5adde0415ab20838105d34c3d1e6529148071cbd8aded6c14a595e6e1b8718f5e4e12aed6c5100000168000000b02bccabbf1e0f8d20c674721c031389185e73b1bc88988f4f3f2f20f4eaf5d60b4c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb61a025e0e2969af838c82dd118fe889fb9a9a7e0af383556b2c1282eb0af1a12e1ff077f3d04ba40d4a7e0ebfb64c345a868d8f4625351361dd1c0cee559db2cd000000b01320c4e2d865bf1e0610f31e1b20da36e60c0e60d5a61698bf73536e25a61c86503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb601567731e3bfe180cc1f5e13a7f5db1a2232daaf4090dcb4ac56b56445a1e7a9074491178aa1d60a8a1a8fc1ce5985790e25ebea72429aab5d603f67904df94800000168000000b02ad92c7973ed9144fdfdb9d6b4af83b295d8534d9c6d0e7383997b7b50566302543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6190edec87f47b3a7c40c24cc41848495d1ff1f9c0757d48f707cdd7170522e251efcf8ae2629a8318207567a67e82ef4bdf230d73909928621866774bafe3fc4000000b0122d459d2e43c3423d9a3ad8ccbcd4d11d70aff1e97a95bd03ddadf48b06a97d583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb60062f7ec399de5a503a8a5ce5991d5b459977c4054655bd8f0c10feaab0274a0065111d1e07fda2ec1a3d77c7ff58013458a8d7b861719cfa1ca99edf5ae863f00000168000000b029e5ad33c9cb956935870191664b7e4ccd3cf4deb0418d97c803d601b5b6eff95c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb6181b5f82d525b7cbfb956c86f3207f300963c12d1b2c53b3b4e737f7d5b2bb1c1e0979687c07ac55b9909e351984298ef556d2684cde11aa65f0c1fb205eccbb000000b01139c6578421c766752382937e58cf6b54d55182fd4f14e14848087af0673674603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb62fd3c71970ad89f2f382333f8caf28abb9300619e1f34b8e790d600500630198055d928c365dde52f92d1f3731917aad7cef2f0c99eb98f3e634f4745b0f133600000168000000b028f22dee1fa9998d6d10494c17e778e704a1966fc4160cbc0c6e30881b177cf0643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb61727e03d2b03bbf0331eb441a4bc79ca40c862be2f00d2d7f951927e3b1348131d15fa22d1e5b079f119e5efcb2024292cbb73f960b290ceaa5b1c8185bf59b2000000b010464711d9ffcb8aacacca4e2ff4ca058c39f314112394058cb2630155c7c36b683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb62ee047d3c68b8e172b0b7afa3e4b2345f094a7aaf5c7cab2bd77ba8b65c38e8f046a13468c3be27730b666f1e32d7547b453d09dadc018182a9f4efac06fa02d00000168000000b027feaea875879db1a4999106c98373813c063800d7ea8be050d88b0e807809e76c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb6163460f780e1c0146aa7fbfc56587464782d044f42d551fc3dbbed04a073d50a1c227add27c3b49e28a32daa7cbc1ec36420158a74870ff2eec57707eb1fe6a9000000b00f52c7cc2fddcfaee4361208e190c49fc39e94a524f81329d11cbd87bb285062703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb62decc88e1c69923b6294c2b4efe71de027f9493c099c49d701e21511cb241b8603769400e219e69b683faeac94c96fe1ebb8722ec194973c6f09a98125d02d2400000168000000b0270b2f62cb65a1d5dc22d8c17b1f6e1b736ad991ebbf0b049542e594e5d896de743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb61540e1b1d6bfc438a23143b707f46efeaf91a5e056a9d1208226478b05d462011b2efb977da1b8c2602c75652e58195d9b84b71b885b8f17332fd18e508073a0000000b00e5f488685bbd3d31bbf59c3932cbf39fb03363638cc924e1587180e2088dd59783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb62cf949487247965f9a1e0a6fa183187a5f5deacd1d70c8fb464c6f983084a87d028314bb37f7eabf9fc8f66746656a7c231d13bfd5691660b37404078b30ba1b00000168000000b02617b01d2143a5fa13ac207c2cbb68b5aacf7b22ff938a28d9ad401b4b3923d57c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb6144d626c2c9dc85cd9ba8b71b9906998e6f647716a7e5044c690a2116b34eef81a3b7c51d37fbce697b5bd1fdff413f7d2e958ac9c300e3b779a2c14b5e10097000000b00d6bc940db99d7f75348a17e44c8b9d43267d7c74ca1117259f1729485e96a50803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb62c05ca02c8259a83d1a7522a531f131496c28c5e3145481f8ab6ca1e95e53574018f95758dd5eee3d7523e21f80165165a81b550e93d9584f7de5e8df091471200000168000000b0252430d77721aa1e4b356836de57634fe2341cb41368094d1e179aa1b099b0cc843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb61359e326827bcc811143d32c6b2c64331e5ae9027e52cf690afafc97d0957bef1947fd0c295dc10acf3f04da91900e920a4dfa3db0048d5fbc04869b1b418d8e000000b00c7849fb3177dc1b8ad1e938f664b46e69cc7958607590969e5bcd1aeb49f747883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb62b124abd1e039ea8093099e504bb0daece272def4519c743cf2124a4fb45c26b009c162fe3b3f3080edb85dca99d5fb091e656e1fd1214a93c48b91455f1d40900000168000000b02430b191ccffae4282beaff18ff35dea1998be45273c88716281f52815fa3dc38c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb6126663e0d859d0a548cd1ae71cc85ecd55bf8a9392274e8d4f65571e35f608e618547dc67f3bc52f06c84c95432c092c41b29bcec3d90c84006ee12180a21a85000000b00b84cab58755e03fc25b30f3a800af08a1311ae9744a0fbae2c627a150aa843e903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb62a1ecb7773e1a2cc40b9e19fb6570849058bcf8058ee4668138b7f2b60a64f62300ce55d1ac39755feb5134ddcbab2a7f17ee0bb8aa0045ec495092eab52610100000168000000b0233d324c22ddb266ba47f7ac418f588450fd5fd63b110795a6ec4fae7b5acaba943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb61172e49b2e37d4c9805662a1ce6459678d242c24a5fbcdb193cfb1a49b5695dd1760fe80d519c9533e51944ff4c803c679173d5fd7ad8ba844d93ba7e602a77c000000b00a914b6fdd33e463f9e478ae599ca9a2d895bc7a881e8edf27308227b60b1135983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6292b4c31c9bfa6f07843295a67f302e33cf071116cc2c58c57f5d9b1c606dc592f19661770a19b7a363e5b088e56ad4228e3824c9e74838308ff63b510b2edf83800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b02249b30678bbb68af1d13f66f32b531e886201674ee586b9eb56aa34e0bb57b19c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb6107f65558415d8edb7dfaa5c80005401c488cdb5b9d04cd5d83a0c2b00b722d4166d7f3b2af7cd7775dadc0aa663fe60b07bdef0eb820acc8943962e4b633473000000b0099dcc2a3311e888316dc0690b38a43d0ffa5e0b9bf30e036b9adcae1b6b9e2ca03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb62837ccec1f9dab14afcc7115198efd7d745512a2809744b09c6034382b6769502e25e6d1c67f9f9e6dc7a2c33ff2a7dc604823ddb24902a74d69be3b76137aef000000b0215633c0ce99baaf295a8721a4c74db8bfc6a2f862ba05de2fc104bb461be4a8a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb60f8be60fd9f3dd11ef68f217319c4e9bfbed6f46cda4cbfa1ca466b16617afcb1579fff580d5d19bad6423c557fff8fae7e08081ff5689f0cdadf0b4b0c3c16a0000021c000000b008aa4ce488efecac68f70823bcd49ed7475eff9cafc78d27b005373480cc2b23a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb627444da6757baf38e755b8cfcb2af817abb9b433946bc3d4e0ca8ebe90c7f6472d32678c1c5da3c2a550ea7df18ea27697acc56ec61d81cb91d418c1db7407e6000000b02062b47b2477bed360e3cedc56634852f72b4489768e8502742b5f41ab7c719fac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb60e9866ca2fd1e13626f239d1e3384936335210d7e1794b1e610ec137cb783cc2148680afd6b3d5bfe4ed6b80099bf3951f452213132b091512184b3b16244e61000000b007b6cd9edecdf0d0a0804fde6e7099717ec3a12dc39c0c4bf46f91bae62cb81ab03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb62650ce60cb59b35d1edf008a7cc6f2b1e31e55c4a84042f92534e944f628833e2c3ee846723ba7e6dcda3238a32a9d10cf1166ffd9f200efd63e734840d494dd0000021c000000b01f6f35357a55c2f7986d169707ff42ed2e8fe61a8a630426b895b9c810dcfe96b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb60da4e78485afe55a5e7b818c94d443d06ab6b268f54dca42a5791bbe30d8c9b91393016a2c91d9e41c76b33abb37ee2f56a9c3a426ff88395682a5c17b84db58000000b006c34e5934abf4f4d8099799200c940bb62842bed7708b7038d9ec414b8d4511b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6255d4f1b2137b781566848452e62ed4c1a82f755bc14c21d699f43cb5b8910352b4b6900c819ac0b146379f354c697ab06760890edc680141aa8cdcea63521d4000000b01e7bb5efd033c71bcff65e51b99b3d8765f487ab9e37834afd00144e763d8b8dbc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb60cb1683edb8de97e9604c94746703e6aa21b53fa09224966e9e37644963956b0129f8224826fde0853fffaf56cd3e8c98e0e65353ad4075d9aed0047e0e5684f0000021c000000b005cfcf138a89f9190f92df53d1a88ea5ed8ce44feb450a947d4446c7b0edd208c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb62469cfd57715bba58df18fffdffee7e651e798e6cfe94141ae099e51c0e99d2c2a57e9bb1df7b02f4becc1ae066292453ddaaa22019aff385f1328550b95aecb000000b01d8836aa2611cb40077fa60c6b3738219d59293cb20c026f416a6ed4db9e1884c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb60bbde8f9316beda2cd8e1101f80c3904d97ff58b1cf6c88b2e4dd0cafb99e3a711ac02ded84de22c8b8942b01e6fe363c57306c64ea88681df575ace4645f546000000b004dc4fcde067fd3d471c270e8344894024f185e0ff1989b8c1aea14e164e5effc83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb62376508fccf3bfc9c57ad7ba919ae280894c3a77e3bdc065f273f8d8264a2a2329646a7573d5b45383760968b7fe8cdf753f4bb3156f7e5ca37d82db70f63bc20000021c000000b01c94b7647befcf643f08edc71cd332bbd4bdcacdc5e0819385d4c95b40fea57bcc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb60aca69b38749f1c7051758bca9a8339f10e4971c30cb47af72b82b5160fa709e10b883992e2be650c3128a6ad00bddfdfcd7a857627d05a623c1b554aba6823d000000b003e8d088364601617ea56ec934e083da5c56277212ee08dd0618fbd47baeebf6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb62282d14a22d1c3edfd041f754336dd1ac0b0dc08f7923f8a36de535e8baab71a2870eb2fc9b3b877baff5123699a8779aca3ed442943fd80e7e7dd61d656c8b9000000b01ba1381ed1cdd38876923581ce6f2d560c226c5ed9b500b7ca3f23e1a65f3272d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb609d6ea6ddd27f5eb3ca0a0775b442e39484938ad449fc6d3b72285d7c65afd950fc504538409ea74fa9bd22581a7d898343c49e8765184ca682c0fdb11070f340000021c000000b002f551428c240585b62eb683e67c7e7493bac90326c288014a83565ae10f78edd83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6218f520478afc812348d672ff4d2d7b4f8157d9a0b66beae7b48ade4f10b4411277d6bea1f91bc9bf28898de1b368213e4088ed53d187ca52c5237e83bb755b0000000b01aadb8d927abd7acae1b7d3c800b27f043870defed897fdc0ea97e680bbfbf69dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb608e36b283305fa0f7429e8320ce028d37fadda3e587445f7fb8ce05e2bbb8a8c0ed1850dd9e7ee99322519e03343d3326ba0eb798a2603eeac966a6176679c2b000000b00201d1fce20209a9edb7fe3e9818790ecb1f6a943a9707258eedb0e1467005e4e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6209bd2bece8dcc366c16aeeaa66ed24f2f7a1f2b1f3b3dd2bfb3086b566bd1082689eca4756fc0c02a11e098ccd27cae1b6d306650ecfbc970bc926ea117e2a70000021c000000b019ba39937d89dbd0e5a4c4f731a7228a7aebaf81015dff005313d8ee71204c60e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb607efebe288e3fe33abb32fecbe7c236db7127bcf6c48c51c3ff73ae4911c17830dde05c82fc5f2bd69ae619ae4dfcdcca3058d0a9dfa8312f100c4e7dbc82922000000b0010e52b737e00dce254145f949b473a902840c254e6b8649d3580b67abd092dbe83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb61fa85379246bd05aa39ff6a5580acce966dec0bc330fbcf7041d62f1bbcc5dff25966d5ecb4dc4e4619b28537e6e774852d1d1f764c17aedb526ecf506786f9e000000b018c6ba4dd367dff51d2e0cb1e3431d24b250511215327e24977e3374d680d957ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb606fc6c9cdec20257e33c77a770181e07ee771d60801d44408461956af67ca47a0cea868285a3f6e1a137a955967bc866da6a2e9bb1cf0237356b1f6e4128b6190000021c000000b0001ad3718dbe11f25cca8db3fb506e4339e8adb66240056e17c265ee11311fd2f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb61eb4d4337a49d47edb293e6009a6c7839e43624d46e43c1b4887bd78212ceaf624a2ee19212bc9089924700e300a71e28a3673887895fa11f991477b6bd8fc95000000b017d33b082945e41954b7546c94df17bee9b4f2a32906fd48dbe88dfb3be1664ef43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb60608ed5734a0067c1ac5bf6221b418a225dbbef193f1c364c8cbeff15bdd31710bf7073cdb81fb05d8c0f1104817c30111ced02cc5a3815b79d579f4a6894310000000b02f8ba29ec4cdb6404ca41b252e6dc13a9981378fefcdf523a00eb6086691accaf83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb61dc154edd027d8a312b2861abb42c21dd5a803de5ab8bb3f8cf217fe868d77ed23af6ed37709cd2cd0adb7c8e1a66c7cc19b15198c6a79363dfba201d139898c00000fa400000168000000b016dfbbc27f23e83d8c409c27467b1259211994343cdb7c6d2052e881a141f345fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb605156e118a7e0aa0524f071cd350133c5d406082a7c642890d364a77c13dbe680b0387f7315fff2a104a38caf9b3bd9b493371bdd978007fbe3fd47b0be9d007000000b02effad6eeab4455833488b6f0041765667455ccac0aa149314b571c5411b46f2003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb61ccdd5a82605dcc74a3bcdd56cdebcb80d0ca56f6e8d3a63d15c7284ebee04e422bbef8dcce7d1510836ff8393426716f8ffb6aaa03ef85a8265fc88369a168300000168000000b01653c692a50a775572e50c71184ec774eeddb96f0db79bdc94f9a43e7bcb8d6d043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6048978e1b06499b838f37766a523c8582b0485bd78a261f881dd06349bc758900a7792c757468e41f6eea914cb8772b716f796f8aa541fef32e69037e6736a2f000000b02e0c2e294092497c6ad1d329b1dd70f09ea9fe5bd47e93b7591fcc4ba67bd3e9083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb61c41e0784bec6bdf30e03e1f3eb271d3dad0caaa3f6959d346032e41c6779f0c222ffa5df2ce6068eedb6fcd65161c32c6c3dbe5711b17c9f70cb8451123b0ab00000168000000b01560474cfae87b79aa6e542bc9eac20f26425b00218c1b00d963fec4e12c1a640c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60395f99c06429ddc707cbf2156bfc2f26269274e8c76e11cc64760bb0127e58709841381ad2492662e77f0cf7d236d514e5c3889be289f137750eabe4bd3f726000000b02d18aee396704da0a25b1ae463796b8ad60e9fece85312db9d8a26d20bdc60e0103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb61b4e6132a1ca7003686985d9f04e6c6e12356c3b533dd8f78a6d88c82bd82c03213c7b1848ac648d2664b78816b216ccfe287d7684ef96ee3b7712cb76843da200000168000000b0146cc80750c67f9de1f79be67b86bca95da6fc9135609a251dce594b468ca75b143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb602a27a565c20a200a80606dc085bbd8c99cdc8dfa04b60410ab1bb416688727e0890943c0302968a6601388a2ebf67eb85c0da1ad1fd1e37bbbb4544b134841d000000b02c252f9dec4e51c4d9e4629f151566250d73417dfc2791ffe1f48158713cedd7183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb61a5ae1ecf7a874279ff2cd94a1ea6708499a0dcc6712581bced7e34e9138b8fa2048fbd29e8a68b15dedff42c84e1167358d1f0798c416127fe16d51dbe4ca9900000168000000b0137948c1a6a483c21980e3a12d22b743950b9e22493519496238b3d1abed34521c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb601aefb10b1fea624df8f4e96b9f7b826d1326a70b41fdf654f1c15c7cbe8ff75079d14f658e09aae9d8a8044e05b6285bd257babe5d19d5c00259fcb16951114000000b02b31b058422c55e9116daa59c6b160bf44d7e30f0ffc1124265edbded69d7ace203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6196762a74d86784bd77c154f538661a280feaf5d7ae6d74013423dd4f69945f11f557c8cf4686cd5957746fd79ea0c016cf1c098ac989536c44bc7d84145579000000168000000b01285c97bfc8287e6510a2b5bdebeb1ddcc703fb35d09986da6a30e58114dc149243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb600bb7bcb07dcaa49171896516b93b2c108970c01c7f45e899386704e31498c6c06a995b0aebe9ed2d513c7ff91f75d1ff48a1d3cf9a61c80448ffa517bf59e0b000000b02a3e3112980a5a0d48f6f214784d5b597c3c84a023d090486ac936653bfe07c5283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb61873e361a3647c700f055d0a05225c3cb86350ee8ebb566457ac985b5bf9d2e81e61fd474a4670f9cd008eb82b86069ba4566229c06d145b08b6225ea6a5e48700000168000000b011924a3652608c0a88937316905aac7803d4e14470de1791eb0d68de76ae4e402c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb6302c4af83eec4e9706f223c29eb105b8682f95db55824e3f1bd2c06886aa196405b6166b049ca2f70c9d0fba439357ba2beebece0d7a9ba488fa54d7e1562b02000000b0294ab1ccede85e31808039cf29e955f3b3a1263137a50f6caf3390eba15e94bc303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb61780641bf9428094468ea4c4b6be56d6efc7f27fa28fd5889c16f2e1c15a5fdf1d6e7e01a024751e0489d672dd220135dbbb03bad441937f4d207ce50c06717e00000168000000b0109ecaf0a83e902ec01cbad141f6a7123b3982d584b296b62f77c364dc0edb37343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb62f38cbb294ca52bb3e7b6b7d504d00529f94376c6956cd63603d1aeeec0aa65b04c297255a7aa71b44265774f52f52546353605f214f1ac8cd64af5e46b6b7f9000000b02857328743c66255b8098189db85508deb05c7c24b798e90f39deb7206bf21b3383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6168ce4d64f2084b87e17ec7f685a5171272c9410b66454ace0814d6826baecd61c7afebbf60279423c131e2d8ebdfbd0131fa54be81612a3918ad76b7166fe7500000168000000b00fab4baafe1c9452f7a6028bf392a1ac729e2466988715da73e21deb416f682e3c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb62e454c6ceaa856df7604b33801e8faecd6f8d8fd7d2b4c87a4a77575516b335203cf17dfb058ab3f7baf9f2fa6cb4cee9ab801f0352399ed11cf09e4ac1744f0000000b02763b34199a46679ef92c9448d214b28226a69535f4e0db5380845f86c1faeaa403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb615996590a4fe88dcb5a1343a19f64c0b5e9135a1ca38d3d124eba7ee8c1b79cd1b877f764be07d66739c65e84059f66a4a8446dcfbea91c7d5f531f1d6c78b6c00000168000000b00eb7cc6553fa98772f2f4a46a52e9c46aa02c5f7ac5b94feb84c7871a6cff525443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb62d51cd2740865b03ad8dfaf2b384f5870e5d7a8e90ffcbabe911cffbb6cbc04902db989a0636af63b338e6ea58674788d21ca38148f819115639646b1177d1e7000000b0267033fbef826a9e271c10ff3ebd45c259cf0ae473228cd97c72a07ed1803ba1483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb614a5e64afadc8d00ed2a7bf4cb9246a595f5d732de0d52f569560274f17c06c41a940030a1be818aab25ada2f1f5f10481e8e86e0fbf10ec1a5f8c783c28186300000168000000b00dc44d1fa9d89c9b66b8920156ca96e0e1676788c0301422fcb6d2f80c30821c4c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb62c5e4de196645f27e51742ad6520f02145c21c1fa4d44ad02d7c2a821c2c4d4001e819545c14b387eac22ea50a034223098145125ccc98359aa3bef176d85ede000000b0257cb4b645606ec25ea558b9f059405c9133ac7586f70bfdc0dcfb0536e0c898503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb613b2670550ba912524b3c3af7d2e413fcd5a78c3f1e1d219adc05cfb56dc93bb19a080eaf79c85aee2aef55da391eb9eb94d89ff239390105ec9e6fea188a55a380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b00cd0cdd9ffb6a0bf9e41d9bc0866917b18cc0919d404934741212d7e71910f13543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb62b6ace9bec42634c1ca08a6816bceabb7d26bdb0b8a8c9f471e68508818cda3700f49a0eb1f2b7ac224b765fbb9f3cbd40e5e6a370a11759df0e1977dc38ebd5000000b0248935709b3e72e6962ea074a1f53af6c8984e069acb8b220547558b9c41558f583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb612bee7bfa69895495c3d0b6a2eca3bda04bf1a5505b6513df22ab781bc3d20b218ad01a54d7a89d31a383d18552de638f0b22b9037680f34a334418506e93251000000b00bdd4e945594a4e3d5cb2176ba028c155030aaaae7d9126b858b8804d6f19c0a5c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb62a774f56422067705429d222c858e555b48b5f41cc7d4918b650df8ee6ed672e00011ac907d0bbd059d4be1a6d3b3757784a88348475967e237873fe419978cc0000021c000000b02395b62af11c770acdb7e82f53913590fffcef97aea00a4649b1b01201a1e286603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb611cb6879fc76996d93c65324e06636743c23bbe6198ad06236951208219dada917b9825fa3588df751c184d306c9e0d32816cd214b3c8e58e79e9c0b6c49bf48000000b00ae9cf4eab72a9080d5469316b9e86af87954c3bfbad918fc9f5e28b3c522901643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb62983d01097fe6b948bb319dd79f4dfefebf000d2e051c83cfabb3a154c4df4252f71e9f63ee0601e49ae4b8ba0588a4ed7e3120e12038633abc4c41896fa05c4000000b022a236e546fa7b2f05412fea052d302b37619128c274896a8e1c0a9867026f7d683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb610d7e93452549d91cb4f9adf9202310e73885d772d5f4f867aff6c8e86fe3aa016c60319f936921b894acc8db865db6d5f7b6eb25f110d7d2c08f691d1aa4c3f0000021c000000b009f650090150ad2c44ddb0ec1d3a8149bef9edcd0f8210b40e603d11a1b2b5f86c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb6289050caeddc6fb8c33c61982b90da8a2354a263f42647613f25949bb1ae811c2e7e6ab094be64428137934651f484e90f47b39f25d80557f02f1e9efc5a92bb000000b021aeb79f9cd87f533cca77a4b6c92ac56ec632b9d649088ed286651ecc62fc74703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb60fe469eea832a1b602d8e29a439e2ba8aaecff084133ceaabf69c714ec5ec79715d283d44f14963fc0d414486a01d60796e0104372e58ca170735118370ad936000000b00902d0c3572eb1507c66f8a6ced67be3f65e8f5e23568fd852ca9798071342ef743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6279cd18543ba73dcfac5a952dd2cd5245ab943f507fac685838fef22170f0e132d8aeb6aea9c6866b8c0db0103907f8346ac553039ac847c3499792561bb1fb20000021c000000b020bb3859f2b683777453bf5f6865255fa62ad44aea1d87b316f0bfa531c3896b783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb60ef0eaa8fe10a5da3a622a54f53a2642e251a09955084dcf03d4219b51bf548e14df048ea4f29a63f85d5c031b9dd0a1ce44b1d486ba0bc5b4ddab9e9c6b662d000000b0080f517dad0cb574b3f040618072767e2dc330ef372b0efc9734f21e6c73cfe67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb626a9523f99987801324ef10d8ec8cfbe921de5861bcf45a9c7fa49a87c6f9b0a2c976c25407a6c8af04a22bbb52c7a1d7e10f6c14d8103a07903d3abc71baca9000000b01fc7b9144894879babdd071a1a011ff9dd8f75dbfdf206d75b5b1a2b97241662803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb60dfd6b6353eea9fe71eb720fa6d620dd19b6422a68dcccf3483e7c21b71fe18513eb8548fad09e882fe6a3bdcd39cb3c05a953659a8e8ae9f948062501cbf3240000021c000000b0071bd23802eab998eb79881c320e71186527d2804aff8e20db9f4ca4d1d45cdd843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb625b5d2f9ef767c2569d838c84064ca58c98287172fa3c4ce0c64a42ee1d028012ba3ecdf965870af27d36a7666c874b7b5759852615582c4bd6e2e322c7c39a0000000b01ed439ce9e728bbfe3664ed4cb9d1a9414f4176d11c685fb9fc574b1fc84a359883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb60d09ec1da9ccae22a974b9ca58721b77511ae3bb7cb14c178ca8d6a81c806e7c12f8060350aea2ac676feb787ed5c5d63d0df4f6ae630a0e3db260ab672c801b000000b0062852f258c8bdbd2302cfd6e3aa6bb29c8c74115ed40d452009a72b3734e9d48c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb624c253b445548049a1618082f200c4f300e728a8437843f250cefeb54730b4f82ab06d99ec3674d35f5cb23118646f51ecda39e3752a01e901d888b891dcc6970000021c000000b01de0ba88f4508fe41aef968f7d39152e4c58b8fe259b051fe42fcf3861e53050903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb60c166cd7ffaab246e0fe01850a0e1611887f854c9085cb3bd113312e81e0fb73120486bda68ca6d09ef933333071c07074729687c2378932821cbb31cc8d0d12000000b00534d3acaea6c1e15a8c17919546664cd3f115a272a88c69647401b19c9576cb943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb623ced46e9b32846dd8eac83da39cbf8d384bca39574cc3169539593bac9141ef29bcee54421478f796e5f9ebca0069ec243edb7488fe810d4642e33ef73d538e000000b01ced3b434a2e94085278de4a2ed50fc883bd5a8f396f8444289a29bec745bd47983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb60b22ed925588b66b1887493fbbaa10abbfe426dda45a4a60157d8bb4e741886a11110777fc6aaaf4d6827aede20dbb0aabd73818d60c0856c68715b831ed9a090000021c000000b0044154670484c60592155f4c46e260e70b55b733867d0b8da8de5c3801f603c29c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb622db5528f110889210740ff85538ba276fb06bca6b21423ad9a3b3c211f1cee628c96f0e97f27d1bce6f41a67b9c64865ba37d059cd300318aad3dc55c9de085000000b01bf9bbfda00c982c8a022604e0710a62bb21fc204d4403686d0484452ca64a3ea03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb60a2f6e4cab66ba8f501090fa6d460b45f748c86eb82ec98459e7e63b4ca21561101d88325248af190e0bc2a893a9b5a4e33bd9a9e9e0877b0af1703e974e2700000000b0034dd5215a62ca29c99ea706f87e5b8142ba58c49a518ab1ed48b6be675690b9a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb621e7d5e346ee8cb647fd57b306d4b4c1a7150d5b7ef5c15f1e0e0e4877525bdd27d5efc8edd0814005f889612d385f2093081e96b0a77f55cf17984bc1fe6d7c0000021c000000b01b063cb7f5ea9c50c18b6dbf920d04fcf2869db16118828cb16edecb9206d735a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6093bef070144beb38799d8b51ee205e02ead69ffcc0348a89e5240c1b202a2580f2a08eca826b33d45950a634545b03f1aa07b3afdb5069f4f5bcac4fcaeb3f7000000b0025a55dbb040ce4e0127eec1aa1a561b7a1efa55ae2609d631b31144ccb71db0ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb620f4569d9ccc90da7f869f6db870af5bde79aeec92ca4083627868cedcb2e8d426e2708343ae85643d81d11bded459baca6cc027c47bfe7a1381f2d2275efa73000000b01a12bd724bc8a074f914b57a43a8ff9729eb3f4274ed01b0f5d93951f767642cb03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb608486fc15722c2d7bf23206fd07e007a66120b90dfd7c7cce2bc9b4817632f4f0e3689a6fe04b7617d1e521df6e1aad952051ccc118985c393c6254b620f40ee00000fa400000168000000b00166d696061ed27238b1367c5bb650b5b1839be6c1fa88fa761d6bcb3217aaa7b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb62000d757f2aa94feb70fe7286a0ca9f615de507da69ebfa7a6e2c355421375cb25eef13d998c8988750b18d69070545501d161b8d8507d9e57ec4d588cbf876a000000b0191f3e2ca1a6a499309dfd34f544fa31614fe0d388c180d53a4393d85cc7f123b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb60754f07bad00c6fbf6ac682a8219fb149d76ad21f3ac46f12726f5ce7cc3bc460d430a6153e2bb85b4a799d8a87da5738969be5d255e04e7d8307fd1c76fcde500000168000000b0007357505bfcd696703a7e370d524b4fe8e83d77d5cf081eba87c6519778379ebc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb61f0d581248889922ee992ee31ba8a4904d42f20eba733ecbeb4d1ddba77402c224fb71f7ef6a8dacac946091420c4eef39360349ec24fcc29c56a7def2201461000000b0182bbee6f784a8bd682744efa6e0f4cb98b482649c95fff97eadee5ec2287e1ac03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb60661713602decb202e35afe533b5f5aed4db4eb30780c6156b915054e224493d0c4f8b1ba9c0bfa9ec30e1935a19a00dc0ce5fee3932840c1c9ada582cd05adc00000168000000b02fe4267d930c7ae460140ba8406f9e474880c751635cf7d442d4166becd8c496c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb61e19d8cc9e669d472622769dcd449f2a84a7939fce47bdf02fb778620cd48fb92407f2b2454891d0e41da84bf3a84989709aa4dafff97be6e0c102655780a158000000b017383fa14d62ace19fb08caa587cef65d01923f5b06a7f1dc31848e527890b11c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6056df1f058bccf4465bef79fe551f0490c3ff0441b554539affbaadb4784d6340b5c0bd5ff9ec3ce23ba294e0bb59aa7f833017f4d070330610534de9230e7d300000168000000b02ef0a737e8ea7f08979d5362f20b98e17fe568e2773176f8873e70f25239518dcc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb61d265986f444a16b5dabbe587ee099c4bc0c3530e21c3d147421d2e872351cb02314736c9b2695f51ba6f006a5444423a7ff466c13cdfb0b252b5cebbce12e4f000000b01644c05ba340b105d739d4650a18ea00077dc586c43efe420782a36b8ce99808d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6047a72aaae9ad3689d483f5a96edeae343a491d52f29c45df4660561ace5632b0a688c90557cc7f25b437108bd5195422f97a31060db8254a56f8f64f79174ca00000168000000b02dfd27f23ec8832ccf269b1da3a7937bb74a0a738b05f61ccba8cb78b799de84d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb61c32da414a22a58f95350613307c945ef370d6c1f5f0bc38b88c2d6ed795a9a72220f426f1049a19533037c156e03ebddf63e7fd27a27a2f6995b7722241bb46000000b015514115f91eb52a0ec31c1fbbb4e49a3ee26717d8137d664becfdf1f24a24ffd83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb60386f3650478d78cd4d187154889e57d7b09336642fe438238d05fe81245f02209750d4aab5acc1692ccb8c36eed8fdc66fc44a174b00178e9d9e9eb5cf201c100000168000000b02d09a8ac94a6875106afe2d855438e15eeaeac049eda7541101325ff1cfa6b7bdc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb61b3f5afba000a9b3ccbe4dcde2188ef92ad5785309c53b5cfcf687f53cf6369e212d74e146e29e3d8ab97f7c087c395816c8898e3b76f953ae0011f887a2483d000000b0145dc1d04efcb94e464c63da6d50df34764708a8ebe7fc8a9057587857aab1f6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb60293741f5a56dbb10c5acecffa25e017b26dd4f756d2c2a67d3aba6e77a67d1908818e050138d03aca56007e20898a769e60e6328884809d2e444471c2528eb800000168000000b02c162966ea848b753e392a9306df88b026134d95b2aef465547d8085825af872e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb61a4bdbb5f5deadd80447958893b48993623a19e41d99ba814160e27ba256c3952039f59b9cc0a261c242c736ba1833f24e2d2b1f4f4b7877f26a6c7eed02d534000000b0136a428aa4dabd727dd5ab951eecd9ceadabaa39ffbc7baed4c1b2febd0b3eede83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6019ff4d9b034dfd543e4168aabc1dab1e9d276886aa741cac1a514f4dd070a10078e0ebf5716d45f01df4838d2258510d5c587c39c58ffc172ae9ef827b31baf00000168000000b02b22aa2140628f9975c2724db87b834a5d77ef26c683738998e7db0be7bb8569ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb619585c704bbcb1fc3bd0dd434550842d999ebb75316e39a585cb3d0207b7508c1f467655f29ea685f9cc0ef16bb42e8c8591ccb0631ff79c36d4c7055263622b000000b01276c344fab8c196b55ef34fd088d468e5104bcb1390fad3192c0d85226bcbe4f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb600ac75940612e3f97b6d5e455d5dd54c213718197e7bc0ef060f6f7b42679707069a8f79acf4d88339688ff383c17fab0d2a2954b02d7ee5b718f97e8d13a8a600000168000000b02a2f2adb964093bdad4bba086a177de494dc90b7da57f2addd5235924d1c1260f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb61864dd2aa19ab620735a24fdf6ec7ec7d1035d064542b8c9ca3597886d17dd831e52f710487caaaa315556ac1d502926bcf66e4176f476c07b3f218bb7c3ef22000000b0118343ff5096c5baece83b0a8224cf031c74ed5c276579f75d96680b87cc58dbf83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6301d44c13d2288476b46ebb6907b284380cfa1f30c09b0a48e5bbf9597c823ff05a7103402d2dca770f1d7ae355d7a45448ecae5c401fe09fb835404f274359d00000168000000b0293bab95ec1e97e1e4d501c31bb3787ecc413248ee2c71d221bc9018b27c9f57fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb617715de4f778ba44aae36cb8a88879620867fe97591737ee0e9ff20ed2786a7a1d5f77ca9e5aaece68de9e66ceec23c0f45b0fd28ac8f5e4bfa97c121d247c19000000b010f74ecf767d54d2d38cab5453f8841eea391296f8419966d23d23c86255f303003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb62f29c57b93008c6ba2d03371421722ddb83443841fde2fc8d2c61a1bfd28b0f604b390ee58b0e0cba87b1f68e6f974df7bf36c76d7d67d2e3fedae8b57d4c29400000168000000b028afb666120526f9cb79720ced872d9a9a055783bf08914196634bd58d06397f043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb616e568b51d5f495c9187dd027a5c2e7dd62c23d229f3575d8346adcbad0204a21cd3829ac4413de64f830eb0a0bfd8dcc21f350d5ba51554345037cef7ae1641000000b01003cf89cc5b58f70b15f30f05947eb9219db4280c16188b16a77e4ec7b67ffa083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb62e9dd04bb8e71b838974a3bb13ead7f985f868bef0ba4f38476cd5d8d7b24b1e04279bbe7e976fe38f1f8fb2b8cd29fb49b791b1a8b29c9db4946a48325e5cbc", + "txsEffectsHash": "0x01b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee03", "decodedHeader": { "contentCommitment": { "inHash": "0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049", "outHash": "0xc2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc", "txTreeHeight": 2, - "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012" + "txsEffectsHash": "0x01b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee03" }, "globalVariables": { "blockNumber": 1, "chainId": 31337, "timestamp": 0, "version": 1, - "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", - "feeRecipient": "0x15a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb" + "coinbase": "0x283b0eb6283b0eb6283b0eb6283b0eb6283b0eb6", + "feeRecipient": "0x0586516bbe14fac497ce26dccddc8f0e25ed4876c12ea57e67f5e7371988afa1" }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -95,8 +95,8 @@ } } }, - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000253472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc280940128e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000201b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee038e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000283b0eb6283b0eb6283b0eb6283b0eb6283b0eb60586516bbe14fac497ce26dccddc8f0e25ed4876c12ea57e67f5e7371988afa1", "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", - "publicInputsHash": "0x1403e5ed6a6d76ad439c963c8bb4a21d12009a40625c2c4dd9e40ee6900ab695" + "publicInputsHash": "0x1620ff763699048b175ceffba171146281929c54671f3c80294653a3a961856f" } } \ No newline at end of file From 0e2af3e876a8e260aadc021aa2328458cc0519ed Mon Sep 17 00:00:00 2001 From: benesjan Date: Tue, 12 Mar 2024 15:26:53 +0000 Subject: [PATCH 23/39] fix --- l1-contracts/test/Rollup.t.sol | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/l1-contracts/test/Rollup.t.sol b/l1-contracts/test/Rollup.t.sol index 93f4433a5e61..b8ed7ceaa63c 100644 --- a/l1-contracts/test/Rollup.t.sol +++ b/l1-contracts/test/Rollup.t.sol @@ -184,6 +184,11 @@ contract RollupTest is DecoderBase { inbox.sendL2Message( DataStructures.L2Actor({actor: _recipient, version: 1}), deadline, _contents[i], bytes32(0) ); + + vm.prank(_sender); + newInbox.sendL2Message( + DataStructures.L2Actor({actor: _recipient, version: 1}), _contents[i], bytes32(0) + ); } } } From a06c128ab5a3ca3203b7bd7c37ecb021a90003ad Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 08:40:58 +0000 Subject: [PATCH 24/39] root match solidity test --- l1-contracts/test/merkle/Merkle.t.sol | 51 ++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/l1-contracts/test/merkle/Merkle.t.sol b/l1-contracts/test/merkle/Merkle.t.sol index f430b72e43f9..a8609576b2a2 100644 --- a/l1-contracts/test/merkle/Merkle.t.sol +++ b/l1-contracts/test/merkle/Merkle.t.sol @@ -6,19 +6,19 @@ import {Test} from "forge-std/Test.sol"; import {NaiveMerkle} from "./Naive.sol"; import {FrontierMerkle} from "./../../src/core/messagebridge/frontier_tree/Frontier.sol"; +import {Constants} from "../../src/core/libraries/ConstantsGen.sol"; + +import "forge-std/console.sol"; contract MerkleTest is Test { - NaiveMerkle internal merkle; - FrontierMerkle internal frontier; + function setUp() public {} - uint256 public constant DEPTH = 10; + function testFrontier() public { + uint256 depth = 10; - function setUp() public { - merkle = new NaiveMerkle(DEPTH); - frontier = new FrontierMerkle(DEPTH); - } + NaiveMerkle merkle = new NaiveMerkle(depth); + FrontierMerkle frontier = new FrontierMerkle(depth); - function testFrontier() public { uint256 upper = frontier.SIZE(); for (uint256 i = 0; i < upper; i++) { bytes32 leaf = sha256(abi.encode(i + 1)); @@ -27,4 +27,39 @@ contract MerkleTest is Test { assertEq(merkle.computeRoot(), frontier.root(), "Frontier Roots should be equal"); } } + + function testRootMatchesBaseParity() public { + uint256[4] memory msgs = [ + 0x151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d78393537039, + 0x14c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e, + 0x1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a1, + 0x2806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e0 + ]; + + // We can't use Constants.NUM_MSGS_PER_BASE_PARITY directly when defining the array so we do the check here to + // ensure it does not get outdated. + assertEq( + msgs.length, + Constants.NUM_MSGS_PER_BASE_PARITY, + "NUM_MSGS_PER_BASE_PARITY changed, update msgs." + ); + + uint256 treeHeight = 2; // log_2(NUM_MSGS_PER_BASE_PARITY) + // We don't have log_2 directly accessible in solidity so I just do the following check here to ensure + // the hardcoded value is not outdated. + assertEq( + 2 ** treeHeight, + Constants.NUM_MSGS_PER_BASE_PARITY, + "Base parity circuit subtree height changed, update treeHeight." + ); + + FrontierMerkle frontier = new FrontierMerkle(treeHeight); + + for (uint256 i = 0; i < msgs.length; i++) { + frontier.insertLeaf(bytes32(msgs[i])); + } + + bytes32 expectedRoot = 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac; + assertEq(frontier.root(), expectedRoot, "Root does not match Noir's root"); + } } From b5457302f87a37c239f32c764bf15f319e02410a Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 08:50:38 +0000 Subject: [PATCH 25/39] test_sha_root_matches_frontier_tree --- .../parity-lib/src/base/base_parity_inputs.nr | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr index f3047dfd26fe..13bb7b0712cb 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/base/base_parity_inputs.nr @@ -36,4 +36,25 @@ impl BaseParityInputs { converted_root: pedersen_tree.get_root(), } } +} + +#[test] +fn test_sha_root_matches_frontier_tree() { + let msgs = [ + 0x151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d78393537039, + 0x14c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e, + 0x1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a1, + 0x2806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e0 + ]; + + let base_parity_inputs = BaseParityInputs { msgs }; + let public_inputs = base_parity_inputs.base_parity_circuit(); + + // 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac converted to 2 fields + let expected_sha_root = [ + 0x00000000000000000000000000000000b3a3fc1968999f2c2d798b900bdf0de4, + 0x000000000000000000000000000000001311be2a4d20496a7e792a521fc8abac + ]; + + assert(public_inputs.sha_root == expected_sha_root, "sha root does not match"); } \ No newline at end of file From c29d8b3e2347df4f5b29b19e9a253db9ccd25a2d Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 09:14:52 +0000 Subject: [PATCH 26/39] test_sha_root_matches_frontier_tree root parity --- .../parity-lib/src/root/root_parity_inputs.nr | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr index 4cb979748e34..7f2ebcbd628d 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -35,4 +35,44 @@ impl RootParityInputs { converted_root: pedersen_tree.get_root(), } } +} + +mod tests { + use crate::{ + parity_public_inputs::ParityPublicInputs, + root::{ + root_parity_input::RootParityInput, + root_parity_inputs::RootParityInputs, + } + }; + use dep::types::mocked::{AggregationObject, Proof}; + + #[test] + fn test_sha_root_matches_frontier_tree() { + let children_sha_roots = [ + [0x00000000000000000000000000000000151de48ca3efbae39f180fe00b8f472e, 0x00000000000000000000000000000000c9f25be10b4f283a87c6d78393537039], + [0x0000000000000000000000000000000014c2ea9dedf77698d4afe23bc663263e, 0x00000000000000000000000000000000ed0bf9aa3a8b17d9b74812f185610f9e], + [0x000000000000000000000000000000001570cc6641699e3ae87fa258d80a6d85, 0x000000000000000000000000000000003f7b8ccb211dc244d017e2ca6530f8a1], + [0x000000000000000000000000000000002806c860af67e9cd50000378411b8c4c, 0x000000000000000000000000000000004db172ceb2daa862b259b689ccbdc1e0], + ]; + + let children = [ + RootParityInput { proof: Proof {}, public_inputs: ParityPublicInputs { aggregation_object: AggregationObject {}, sha_root: children_sha_roots[0], converted_root: 0 } }, + RootParityInput { proof: Proof {}, public_inputs: ParityPublicInputs { aggregation_object: AggregationObject {}, sha_root: children_sha_roots[1], converted_root: 0 } }, + RootParityInput { proof: Proof {}, public_inputs: ParityPublicInputs { aggregation_object: AggregationObject {}, sha_root: children_sha_roots[2], converted_root: 0 } }, + RootParityInput { proof: Proof {}, public_inputs: ParityPublicInputs { aggregation_object: AggregationObject {}, sha_root: children_sha_roots[3], converted_root: 0 } }, + ]; + + let root_parity_inputs = RootParityInputs { children }; + + let public_inputs = root_parity_inputs.root_parity_circuit(); + + // 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac converted to 2 fields + let expected_sha_root = [ + 0x00000000000000000000000000000000b3a3fc1968999f2c2d798b900bdf0de4, + 0x000000000000000000000000000000001311be2a4d20496a7e792a521fc8abac + ]; + + assert(public_inputs.sha_root == expected_sha_root, "sha root does not match"); + } } \ No newline at end of file From 0be18b793ffcf192a3000bae9d93eefd27be29f4 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 09:47:59 +0000 Subject: [PATCH 27/39] better test of root parity --- l1-contracts/test/merkle/Merkle.t.sol | 48 ++++++++++++++++--- .../parity-lib/src/root/root_parity_inputs.nr | 14 +++--- 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/l1-contracts/test/merkle/Merkle.t.sol b/l1-contracts/test/merkle/Merkle.t.sol index a8609576b2a2..7e7e78583e99 100644 --- a/l1-contracts/test/merkle/Merkle.t.sol +++ b/l1-contracts/test/merkle/Merkle.t.sol @@ -29,7 +29,7 @@ contract MerkleTest is Test { } function testRootMatchesBaseParity() public { - uint256[4] memory msgs = [ + uint256[4] memory baseRoots = [ 0x151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d78393537039, 0x14c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e, 0x1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a1, @@ -39,9 +39,9 @@ contract MerkleTest is Test { // We can't use Constants.NUM_MSGS_PER_BASE_PARITY directly when defining the array so we do the check here to // ensure it does not get outdated. assertEq( - msgs.length, + baseRoots.length, Constants.NUM_MSGS_PER_BASE_PARITY, - "NUM_MSGS_PER_BASE_PARITY changed, update msgs." + "NUM_MSGS_PER_BASE_PARITY changed, update baseRoots." ); uint256 treeHeight = 2; // log_2(NUM_MSGS_PER_BASE_PARITY) @@ -55,11 +55,47 @@ contract MerkleTest is Test { FrontierMerkle frontier = new FrontierMerkle(treeHeight); - for (uint256 i = 0; i < msgs.length; i++) { - frontier.insertLeaf(bytes32(msgs[i])); + for (uint256 i = 0; i < baseRoots.length; i++) { + frontier.insertLeaf(bytes32(baseRoots[i])); } bytes32 expectedRoot = 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac; - assertEq(frontier.root(), expectedRoot, "Root does not match Noir's root"); + assertEq(frontier.root(), expectedRoot, "Root does not match base parity circuit root"); + } + + function testRootMatchesRootParity() public { + // sha256 roots coming out of base parity circuits + uint256[4] memory baseRoots = [ + 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac, + 0x43f78e0ebc9633ce336a8c086064d898c32fb5d7d6011f5427459c0b8d14e91f, + 0x024259b6404280addcc9319bc5a32c9a5d56af5c93b2f941fa326064fbe9636c, + 0x53042d820859d80c474d4694e03778f8dc0ac88fc1c3a97b4369c1096e904ae7 + ]; + + // We can't use Constants.NUM_BASE_PARITY_PER_ROOT_PARITY directly when defining the array so we do the check here + // to ensure it does not get outdated. + assertEq( + baseRoots.length, + Constants.NUM_BASE_PARITY_PER_ROOT_PARITY, + "NUM_BASE_PARITY_PER_ROOT_PARITY changed, update baseRoots." + ); + + uint256 treeHeight = 2; // log_2(NUM_BASE_PARITY_PER_ROOT_PARITY) + // We don't have log_2 directly accessible in solidity so I just do the following check here to ensure + // the hardcoded value is not outdated. + assertEq( + 2 ** treeHeight, + Constants.NUM_BASE_PARITY_PER_ROOT_PARITY, + "Root parity circuit subtree height changed, update treeHeight." + ); + + FrontierMerkle frontier = new FrontierMerkle(treeHeight); + + for (uint256 i = 0; i < baseRoots.length; i++) { + frontier.insertLeaf(bytes32(baseRoots[i])); + } + + bytes32 expectedRoot = 0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049; + assertEq(frontier.root(), expectedRoot, "Root does not match root parity circuit root"); } } diff --git a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr index 7f2ebcbd628d..7f230332d94a 100644 --- a/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr +++ b/noir-projects/noir-protocol-circuits/crates/parity-lib/src/root/root_parity_inputs.nr @@ -50,10 +50,10 @@ mod tests { #[test] fn test_sha_root_matches_frontier_tree() { let children_sha_roots = [ - [0x00000000000000000000000000000000151de48ca3efbae39f180fe00b8f472e, 0x00000000000000000000000000000000c9f25be10b4f283a87c6d78393537039], - [0x0000000000000000000000000000000014c2ea9dedf77698d4afe23bc663263e, 0x00000000000000000000000000000000ed0bf9aa3a8b17d9b74812f185610f9e], - [0x000000000000000000000000000000001570cc6641699e3ae87fa258d80a6d85, 0x000000000000000000000000000000003f7b8ccb211dc244d017e2ca6530f8a1], - [0x000000000000000000000000000000002806c860af67e9cd50000378411b8c4c, 0x000000000000000000000000000000004db172ceb2daa862b259b689ccbdc1e0], + [0x00000000000000000000000000000000b3a3fc1968999f2c2d798b900bdf0de4, 0x000000000000000000000000000000001311be2a4d20496a7e792a521fc8abac], + [0x0000000000000000000000000000000043f78e0ebc9633ce336a8c086064d898, 0x00000000000000000000000000000000c32fb5d7d6011f5427459c0b8d14e91f], + [0x00000000000000000000000000000000024259b6404280addcc9319bc5a32c9a, 0x000000000000000000000000000000005d56af5c93b2f941fa326064fbe9636c], + [0x0000000000000000000000000000000053042d820859d80c474d4694e03778f8, 0x00000000000000000000000000000000dc0ac88fc1c3a97b4369c1096e904ae7], ]; let children = [ @@ -67,10 +67,10 @@ mod tests { let public_inputs = root_parity_inputs.root_parity_circuit(); - // 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac converted to 2 fields + // 8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049 converted to 2 fields let expected_sha_root = [ - 0x00000000000000000000000000000000b3a3fc1968999f2c2d798b900bdf0de4, - 0x000000000000000000000000000000001311be2a4d20496a7e792a521fc8abac + 0x000000000000000000000000000000008e7d8bf0ef7ebd1607cc7ff9f2fbacf4, + 0x00000000000000000000000000000000574ee5b692a5a5ac1e7b1594067b9049 ]; assert(public_inputs.sha_root == expected_sha_root, "sha root does not match"); From 4675c791142812e157a9f0a673a46357134c6a0b Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:00:00 +0000 Subject: [PATCH 28/39] WIP --- l1-contracts/test/merkle/Merkle.t.sol | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/l1-contracts/test/merkle/Merkle.t.sol b/l1-contracts/test/merkle/Merkle.t.sol index 7e7e78583e99..f3ac6fa8c514 100644 --- a/l1-contracts/test/merkle/Merkle.t.sol +++ b/l1-contracts/test/merkle/Merkle.t.sol @@ -29,7 +29,7 @@ contract MerkleTest is Test { } function testRootMatchesBaseParity() public { - uint256[4] memory baseRoots = [ + uint256[4] memory msgs = [ 0x151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d78393537039, 0x14c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e, 0x1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a1, @@ -39,9 +39,9 @@ contract MerkleTest is Test { // We can't use Constants.NUM_MSGS_PER_BASE_PARITY directly when defining the array so we do the check here to // ensure it does not get outdated. assertEq( - baseRoots.length, + msgs.length, Constants.NUM_MSGS_PER_BASE_PARITY, - "NUM_MSGS_PER_BASE_PARITY changed, update baseRoots." + "NUM_MSGS_PER_BASE_PARITY changed, update msgs." ); uint256 treeHeight = 2; // log_2(NUM_MSGS_PER_BASE_PARITY) @@ -55,8 +55,8 @@ contract MerkleTest is Test { FrontierMerkle frontier = new FrontierMerkle(treeHeight); - for (uint256 i = 0; i < baseRoots.length; i++) { - frontier.insertLeaf(bytes32(baseRoots[i])); + for (uint256 i = 0; i < msgs.length; i++) { + frontier.insertLeaf(bytes32(msgs[i])); } bytes32 expectedRoot = 0xb3a3fc1968999f2c2d798b900bdf0de41311be2a4d20496a7e792a521fc8abac; From dc9b5ed0fb199d048f48ffc2dd875f80d3bef167 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:17:00 +0000 Subject: [PATCH 29/39] WIP --- l1-contracts/src/core/messagebridge/NewInbox.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l1-contracts/src/core/messagebridge/NewInbox.sol b/l1-contracts/src/core/messagebridge/NewInbox.sol index 1a0185cb30b4..ddf618a59563 100644 --- a/l1-contracts/src/core/messagebridge/NewInbox.sol +++ b/l1-contracts/src/core/messagebridge/NewInbox.sol @@ -34,7 +34,7 @@ contract NewInbox is INewInbox { // Number of a tree which is ready to be consumed uint256 public toConsume = Constants.INITIAL_L2_BLOCK_NUM; // Number of a tree which is currently being filled - uint256 public inProgress = 2; + uint256 public inProgress = Constants.INITIAL_L2_BLOCK_NUM + 1; mapping(uint256 blockNumber => IFrontier tree) internal trees; From 5668edbabc61be94f7453c53e5830b13860d2132 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:23:18 +0000 Subject: [PATCH 30/39] cleanup --- l1-contracts/test/merkle/Merkle.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/l1-contracts/test/merkle/Merkle.t.sol b/l1-contracts/test/merkle/Merkle.t.sol index f3ac6fa8c514..60721c972546 100644 --- a/l1-contracts/test/merkle/Merkle.t.sol +++ b/l1-contracts/test/merkle/Merkle.t.sol @@ -8,8 +8,6 @@ import {NaiveMerkle} from "./Naive.sol"; import {FrontierMerkle} from "./../../src/core/messagebridge/frontier_tree/Frontier.sol"; import {Constants} from "../../src/core/libraries/ConstantsGen.sol"; -import "forge-std/console.sol"; - contract MerkleTest is Test { function setUp() public {} @@ -28,6 +26,7 @@ contract MerkleTest is Test { } } + // Checks whether sha root matches output of base parity circuit function testRootMatchesBaseParity() public { uint256[4] memory msgs = [ 0x151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d78393537039, @@ -63,6 +62,7 @@ contract MerkleTest is Test { assertEq(frontier.root(), expectedRoot, "Root does not match base parity circuit root"); } + // Checks whether sha root matches output of root parity circuit function testRootMatchesRootParity() public { // sha256 roots coming out of base parity circuits uint256[4] memory baseRoots = [ From ca99932dc47e6d5675cc5eb92b29224d7178c398 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:23:49 +0000 Subject: [PATCH 31/39] fix --- .../end-to-end/src/integration_l1_publisher.test.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/yarn-project/end-to-end/src/integration_l1_publisher.test.ts b/yarn-project/end-to-end/src/integration_l1_publisher.test.ts index 8bf3471ca6ee..608dbb1da332 100644 --- a/yarn-project/end-to-end/src/integration_l1_publisher.test.ts +++ b/yarn-project/end-to-end/src/integration_l1_publisher.test.ts @@ -360,6 +360,8 @@ describe('L1Publisher integration', () => { '0x1647b194c649f5dd01d7c832f89b0f496043c9150797923ea89e93d5ac619a93', ); + let newModelL1ToL2Messages: Fr[] = []; + for (let i = 0; i < numberOfConsecutiveBlocks; i++) { const l1ToL2Content = range(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, 128 * i + 1 + 0x400).map(fr); const l1ToL2Messages: Fr[] = []; @@ -407,7 +409,7 @@ describe('L1Publisher integration', () => { coinbase, feeRecipient, ); - const [block] = await builder.buildL2Block(globalVariables, txs, l1ToL2Messages, l1ToL2Messages); + const [block] = await builder.buildL2Block(globalVariables, txs, newModelL1ToL2Messages, l1ToL2Messages); prevHeader = block.header; // check that values are in the inbox @@ -468,6 +470,9 @@ describe('L1Publisher integration', () => { for (let j = 0; j < newL2ToL1MsgsArray.length; j++) { expect(await outbox.read.contains([newL2ToL1MsgsArray[j].toString()])).toBeTruthy(); } + + // There is a 1 block lag in the new model + newModelL1ToL2Messages = l1ToL2Messages; } }, 360_000); From 8f4feb7a8bf727c32d01215a6631717c268648df Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:23:56 +0000 Subject: [PATCH 32/39] updated test data --- l1-contracts/test/fixtures/empty_block_0.json | 10 ++--- l1-contracts/test/fixtures/empty_block_1.json | 14 +++---- l1-contracts/test/fixtures/mixed_block_0.json | 18 ++++----- l1-contracts/test/fixtures/mixed_block_1.json | 39 +++---------------- 4 files changed, 27 insertions(+), 54 deletions(-) diff --git a/l1-contracts/test/fixtures/empty_block_0.json b/l1-contracts/test/fixtures/empty_block_0.json index 4c0fe6c2f710..6d0b5c1e2137 100644 --- a/l1-contracts/test/fixtures/empty_block_0.json +++ b/l1-contracts/test/fixtures/empty_block_0.json @@ -35,7 +35,7 @@ ] }, "block": { - "archive": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e", + "archive": "0x02c6f1a862fd5dbef12bdeccfcc2bcf18a5c5b26c0465ac6470bc2c84e162695", "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { @@ -50,8 +50,8 @@ "chainId": 31337, "timestamp": 0, "version": 1, - "coinbase": "0x86410eb686410eb686410eb686410eb686410eb6", - "feeRecipient": "0x2c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062" + "coinbase": "0x66440eb666440eb666440eb666440eb666440eb6", + "feeRecipient": "0x061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba" }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -78,8 +78,8 @@ } } }, - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a6900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000086410eb686410eb686410eb686410eb686410eb62c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f0000000100000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000001016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000001000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000001800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000000c00000000000000000000000000000000000000000000000000000000000007a6900000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000066440eb666440eb666440eb666440eb666440eb6061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x121c8dc29ee3833c0aff8322cb81f2585b26da5e3f9301cc878852f222ff9409" + "publicInputsHash": "0x2a2aa21195442355cb37f9b6f1f7099d2e93c465fd01ad5df56c4aee474cd768" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/empty_block_1.json b/l1-contracts/test/fixtures/empty_block_1.json index 8893c5a4e176..9f684f3ea7db 100644 --- a/l1-contracts/test/fixtures/empty_block_1.json +++ b/l1-contracts/test/fixtures/empty_block_1.json @@ -35,7 +35,7 @@ ] }, "block": { - "archive": "0x216e92622b4bac1b1cc76892c9d4b85dd97aebd46e6f06bd2a907dffebfe9571", + "archive": "0x2cff40994bd00149d898c0c92ad0c5713b04077e2f8d150f27febd4fbfeac114", "body": "0x00000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "txsEffectsHash": "0x9139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9", "decodedHeader": { @@ -48,14 +48,14 @@ "globalVariables": { "blockNumber": 2, "chainId": 31337, - "timestamp": 1710255537, + "timestamp": 1710325403, "version": 1, - "coinbase": "0x86410eb686410eb686410eb686410eb686410eb6", - "feeRecipient": "0x2c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062" + "coinbase": "0x66440eb666440eb666440eb666440eb666440eb6", + "feeRecipient": "0x061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba" }, "lastArchive": { "nextAvailableLeafIndex": 2, - "root": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e" + "root": "0x02c6f1a862fd5dbef12bdeccfcc2bcf18a5c5b26c0465ac6470bc2c84e162695" }, "stateReference": { "l1ToL2MessageTree": { @@ -78,8 +78,8 @@ } } }, - "header": "0x0bf584151f0ea24c8130f111d010273058b72feaf061937d5a73b619c57a8c4e0000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f06db186410eb686410eb686410eb686410eb686410eb62c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062", + "header": "0x02c6f1a862fd5dbef12bdeccfcc2bcf18a5c5b26c0465ac6470bc2c84e1626950000000200000000000000000000000000000000000000000000000000000000000000029139297703640b243028d35c29ae8c0667886c4edc8db5f879c260d2051bb8a9536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc78009fdf07fc56a11f122370658a353aaa542ed63e44c4bc15ff4cd105ab33c1864fcdaa80ff2719154fa7c8a9050662972707168d69eac9db6fd3110829f800000002016642d9ccd8346c403aa4c3fa451178b22534a27035cdaa6ec34ae53b29c50cb000002000bcfa3e9f1a8922ee92c6dc964d6595907c1804a86753774322b468f69d4f278000002800572c8db882674dd026b8877fbba1b700a4407da3ae9ce5fa43215a28163362b000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f17e9b66440eb666440eb666440eb666440eb666440eb6061ca689507c7f1ccc68c2ad086c9d5d94f50869cb1b718c6a46aaf77a4500ba", "l1ToL2MessagesHash": "0x076a27c79e5ace2a3d47f9dd2e83e4ff6ea8872b3c2218f66c92b89b55f36560", - "publicInputsHash": "0x11889404e0082fa45abaf2c31884446071c5eca2df4a48708f097cb317a02445" + "publicInputsHash": "0x151689d1af1478ba00ee16a4c21b6c4f61ecd7e1e71ad46870d5fd44c5759c23" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/mixed_block_0.json b/l1-contracts/test/fixtures/mixed_block_0.json index f3f8c3972b69..30ae66075ef5 100644 --- a/l1-contracts/test/fixtures/mixed_block_0.json +++ b/l1-contracts/test/fixtures/mixed_block_0.json @@ -52,23 +52,23 @@ ] }, "block": { - "archive": "0x0c3a5483faf6847c4bde18ad9db85187bdc3904c7e08be1db3a07ff111c6a9c2", - "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b01d3eb902599ccceb8fbaed95676b3889d5b98d6387f59d592c1c0f444438f61d2c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb62c3b0eb60b746b5164f6ef4e55c9588af440396d11e059b1f2e0637518ff713a6434c140116285370bd8e3d813c48a391aa3e3cbfdd36aed2492216bca08fb3daee0d2df000000b00492d22613f2fee8cf576e977f7889a85d51ea07d50324a2ac6041bd7ee93c98303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6303b0eb6232cd2e8007ec1754db61f438dcee2e8c1ac9e9eb9a75b4fdd2599478ee507bc291aeccda760b5ff0bb150f1b4328d47ad9fafd9eb5919468e2f234ad991195b000000b01c4b39bcaf7ad10fc7443550190733240d1e2ef49bca1c7d708669caa9998314343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb6343b0eb60a80ec0bbad4f3728d52a045a5dc34074944fb4306b4e2995d69cbc0c9954e37106f05f161b6e7fc4b4dd1f3cc3fde6635380c7e3866a0900e7355c414415fd60000021c000000b0039f52e069d1030d06e0b6523114844294b68b98e8d7a3c6f0ca9c43e449c98f383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6383b0eb6223953a2565cc599853f66fe3f6add82f911402fcd7bda74218ff3cdf44594b328276d87fd3eba23433a98ac65ce87e1e504516aff2d986ad2997dd13ef1a652000000b01b57ba770558d533fecd7d0acaa32dbe4482d085af9e9ba1b4f0c4510efa100b3c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb63c3b0eb6098d6cc610b2f796c4dbe80057782ea180a99cd41a8961bda1d426472ef5db2e0f7b86abb794ec2082d719ae7ddbd9006c9cae0f4c3b1fb452ddb04a79a1eccd000000b002abd39abfaf07313e69fe0ce2b07edccc1b2d29fcac22eb3534f6ca49aa5686403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb6403b0eb62145d45cac3ac9bdbcc8aeb8f106d81d3075e1c0e150599865fa4e5459a621aa2733ee42531cbe477ac3e067176a827c1c68f2fc1302178f1703d857a45233490000021c000000b01a643b315b36d9583656c4c57c3f28587be77216c3731ac5f95b1ed7745a9d02443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb6443b0eb60899ed806690fbbafc652fbb0914293bb80e3e652e5de0e1e63e80cd945668250e8807660d72f044ba6061692f77d39aa4014fa0600f9ed897480ad0df0279c4000000b001b85455158d0b5575f345c7944c7977037fcebb1080a20f799f5150af0ae37d483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6483b0eb6205255170218cde1f451f673a2a2d2b767da8351f524d8bcaa64a8dabf06aea126406efca8fac26bb24d2821c9067d1653cd948d26d696b35b6e32de09b2c040000000b01970bbebb114dd7c6de00c802ddb22f2b34c13a7d74799ea3dc5795dd9bb29f94c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb64c3b0eb607a66e3abc6effdf33ee7775bab023d5ef72dff6423260062aa8db53f9b6f51c0d9488206350f468f1e9a923e113ce34db65f13173e41dfcdbb26557446306bb0000021c000000b000c4d50f6b6b0f79ad7c8d8245e874113ae4704c24552133be09abd7146b7074503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb6503b0eb61f5ed5d157f6d2062bdb3e2e543ecd519f3f24e308f957e0eecf036124673b98254cefb6fed8c68fe9d66fdc7aa277b08b32361e3aab15d79fd88d646f134d37000000b0187d3ca606f2e1a0a569543adf771d8ceab0b538eb1c190e822fd3e43f1bb6f0543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb6543b0eb606b2eef5124d04036b77bf306c4c1e7026d781875606df2a6f1335da5f1782130ca108dab92ef88d2972f0de92afc8cf12ca92c287b89d21201cbfdda9c393b2000000b03035a43ca27ab3c79d561af37905c7089a7cfa25b1e310e94655fbf169cbfd6c583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb6583b0eb61e6b568badd4d62a636485e905dac7ebd6a3c6741ccdd70533395de789c7c88f2459707154b6cab4215fb7972c3e724ac296d7af4e7f94fbe442e7ead473da2e0000021c000000b01789bd605cd0e5c4dcf29bf591131827221556c9fef09832c69a2e6aa47c43e75c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb65c3b0eb605bf6faf682b0827a30106eb1de8190a5e3c231869db5e4eb37d9060c4780f0a0bad89950f0cfcb160fc3899444bc3694a2f34539b8d1c4564871a640f2420a9000000b02f4224f6f858b7ebd4df62ae2aa1c1a2d1e19bb6c5b7900d8ac05677cf2c8a63603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb6603b0eb61d77d74603b2da4e9aedcda3b776c2860e08680530a2562977a3b86def2855862365f12baa94ced858e8ff51ddda6ce4f9fb79406254142028ad427139d46725000000b016963e1ab2aee9e9147be3b042af12c15979f85b12c517570b0488f109dcd0de643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb6643b0eb604cbf069be090c4bda8a4ea5cf8413a495a0c4a97dafdd72f7e7eae729d89c010aba0a4f64eb00d598858053f5e7be038193d5e4af619b69a8f174ea7484ada00000021c000000b02e4ea5b14e36bc100c68aa68dc3dbc3d09463d47d98c0f31cf2ab0fe348d175a683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb6683b0eb61c8458005990de72d277155e6912bd20456d09964476d54dbc0e12f45488e27d227271e60072d2fc9072470c8f76677f31601ad1762893446d179cf79f34f41c000000b015a2bed5088cee0d4c052b6af44b0d5b90de99ec2699967b4f6ee3776f3d5dd56c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb66c3b0eb603d8712413e710701213966081200e3ecd05663a91845c973c52456d8f3928f809c68b09bac904f9d00ec80ea783b89db8f87775c3361a8ded5bcf70d9e53a97000000b02d5b266ba414c03443f1f2238dd9b6d740aaded8ed608e5613950b8499eda451703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb6703b0eb61b90d8baaf6ee2970a005d191aaeb7ba7cd1ab27584b547200786d7ab9e96f74217ef2a05650d720c7fb8ec74112621968c4bc6289fd1268b181f77e049581130000021c000000b014af3f8f5e6af231838e7325a5e707f5c8433b7d3a6e159f93d93dfdd49deacc743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb6743b0eb602e4f1de69c51494499cde1b32bc08d9046a07cba558dbbb80bc9ff3f499b5ef08d30bc410a7091e07980fc9591fb337f05d1906d70a99b231c629f73f45c78e000000b02c67a725f9f2c4587b7b39de3f75b171780f806a01350d7a57ff660aff4e3148783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb6783b0eb61a9d5975054ce6bb4189a4d3cc4ab254b4364cb86c1fd39644e2c8011f49fc6b208b735aac2edb44ff84d681f2ae5cb3a0295df39dd1918cf5ec520469f60e0a000000b013bbc049b448f655bb17bae05783028fffa7dd0e4e4294c3d843988439fe77c37c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb67c3b0eb601f17298bfa318b8812625d5e45803733bcea95cb92d5adfc526fa7a59fa42e607df8c7e66850d423f2157840abbadd227c1ba97eadf18d67630847da4a654850000021c000000b02b7427e04fd0c87cb3048198f111ac0baf7421fb15098c9e9c69c09164aebe3f803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb6803b0eb619a9da2f5b2aeadf7912ec8e7de6aceeeb9aee497ff452ba894d228784aa89621f97f415020cdf69370e1e3ca44a574dd78dff84b1a610b13a56ac8acf569b01000000b012c841040a26fa79f2a1029b091efd2a370c7e9f621713e81cadf30a9f5f04ba843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb6843b0eb600fdf35315811cdcb8af6d9095f3fe0d73334aedcd01da0409915500bf5acfdd06ec0d38bc63116676aa9f3ebc57a86c5f265c28feb397faba9adf040a06e17c000000b02a80a89aa5aecca0ea8dc953a2ada6a5e6d8c38c28de0bc2e0d41b17ca0f4b36883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb6883b0eb618b65ae9b108ef03b09c34492f82a78922ff8fda93c8d1decdb77d0dea0b16591ea474cf57eae38d6e9765f755e651e80ef2a115c57a8fd57ec1071134b727f800000fa400000168000000b011d4c1be6004fe9e2a2a4a55babaf7c46e71203075eb930c61184d9104bf91b18c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb68c3b0eb6000a740d6b5f2100f038b54b478ff8a7aa97ec7ee0d659284dfbaf8724bb5cd405f88df31241158aae33e6f96df3a306968afdba1288171eff05398a6f676e73000000b0298d2954fb8cd0c52217110e5449a1401e3d651d3cb28ae7253e759e2f6fd82d903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb6903b0eb617c2dba406e6f327e8257c03e11ea2235a64316ba79d51031221d7944f6ba3501db0f589adc8e7b1a620adb207824c82465742a6d94f0ef9c32b61979a17b4ef00000168000000b010e14278b5e302c261b392106c56f25ea5d5c1c189c01230a582a8176a201ea8943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb6943b0eb62f7b433aa26ec54ee01242bc7aad4b9f0a3076586e6448ddd647ffa17a1be9cc05050ead681f19aee5bd2eb41f8f9da0cdef9f4b265c9643436f9410d4c7fb6a000000b02899aa0f516ad4e959a058c905e59bda55a206ae50870a0b69a8d02494d06524983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb6983b0eb616cf5c5e5cc4f74c1faec3be92ba9cbd91c8d2fcbb71d027568c321ab4cc30471cbd764403a6ebd5dda9f56cb91e471c7dbbe437ed238e1e0795bc1dff7841e600000168000000b00fedc3330bc106e6993cd9cb1df2ecf8dd3a63529d949154e9ed029dcf80ab9f9c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb69c3b0eb62e87c3f4f84cc973179b8a772c494639419517e98238c8021ab25a27df7c76c304118f67bdfd1dd31d46766ed12b983b055440dc3a31156787d9ee973a288861000000b027a62ac9a748d90d9129a083b78196748d06a83f645b892fae132aaafa30f21ba03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb6a03b0eb615dbdd18b2a2fb7057380b7944569757c92d748dcf464f4b9af68ca11a2cbd3e1bc9f6fe5984effa15333d276aba41b6b52085c900f80d424c0016a464d8cedd00000168000000b00efa43ed619f0b0ad0c62185cf8ee793149f04e3b16910792e575d2434e13896a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb6a43b0eb62d9444af4e2acd974f24d231dde540d378f9b97a960d47265f1cb4ae44dd03ba031e102213db21f754cfbe2982c792d53cb8e26d4e05948bcc44491d9f891558000000b026b2ab83fd26dd31c8b2e83e691d910ec46b49d078300853f27d85315f917f12a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb6a83b0eb614e85dd30880ff948ec15333f5f291f20092161ee31ace6fdf60e7277f8d4a351ad677b8af62f41e4cbc84e21c563c50ec85275a14cc8c66906a712aca395bd400000168000000b00e06c4a7b77d0f2f084f6940812ae22d4c03a674c53d8f9d72c1b7aa9a41c58dac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb6ac3b0eb62ca0c569a408d1bb86ae19ec8f813b6db05e5b0ba9e1c64aa3870f34aa3d90b1022a90dc69b9261b8c5905e434638d6f741d83fe61da13b010aea3a404e9a24f000000b025bf2c3e5304e156003c2ff91ab98ba8fbcfeb618c04877836e7dfb7c4f20c09b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb6b03b0eb613f4de8d5e5f03b8c64a9aeea78e8c8c37f6b7aff6ef4d9423cb41ade4edd72c19e2f8730540f8428445cc9ccdf236eb23e9c8eb28a10b8ad4d4cbb12f99e8cb00000168000000b00d1345620d5b13533fd8b0fb32c6dcc783684805d9120ec1b72c1230ffa25284b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb6b43b0eb62bad4623f9e6d5dfbe3761a7411d3607e7c2fc9cbdb6456ee7f169bb0f9e1da801371196bf972a3fc3e24d9ee5ff8809ab82258f75ae92d45518fe2a6a4a2f46000000b024cbacf8a8e2e57a37c577b3cc55864333348cf29fd9069c7b523a3e2a529900b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb6b83b0eb613015f47b43d07dcfdd3e2a9592a87266f5b59410ac3ccb868359c344a4e642318ef792d5b1efc66bbcf14577f8e31855b4e6a7c3c758aaf193f263794fa75c200000168000000b00c1fc61c633917777761f8b5e462d761bacce996ece68de5fb966cb76502df7bbc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb6bc3b0eb62ab9c6de4fc4da03f5c0a961f2b930a21f279e2dd18ac4932c5bc44174feaa9f0043925115752e63fb6b9559979b82a3e2e6c720898311f8998358b0cfaabc3d000000b023d82db2fec0e99e6f4ebf6e7df180dd6a992e83b3ad85c0bfbc94c48fb325f7c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6c03b0eb6120de0020a1b0c01355d2a640ac681c0a6bffad21e984bdcac9ff6baafaef11a17fbf9e7b0fd008af3585c12312a2c1f92b30c0d504a09d35da980bdfa5b02b900000168000000b00b2c46d6b9171b9baeeb407095fed1fbf2318b2800bb0d0a4000c73dca636c72c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb6c43b0eb629c64798a5a2de282d49f11ca4552b3c568c3fbee55f43b770c61ec7da5f37962fb4617e4c84d2b1eb4522cacab8d59b427f50fa171101ae21cfa8cb250b4935000000b022e4ae6d549eedc2a6d807292f8d7b77a1fdd014c78204e50426ef4af513b2eec83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6c83b0eb6111a60bc5ff910256ce6721ebc627c5ade249c63326ccb00f10a5141150f7e1117087aa206db04af2ae1a3cce2c626b9ca17ad9e641e88f7a213db445fbb8fb000000168000000b00a38c7910ef51fbfe674882b479acc9629962cb9148f8c2e846b21c42fc3f969cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb6cc3b0eb628d2c852fb80e24c64d338d755f125d68df0e14ff933c2dbb530794e3fbfc48d2ec0e238a262d6d622ce6a857c54d03579e3f28b2ae580d2663a03518a6bd62c000000b021f12f27aa7cf1e6de614ee3e1297611d96271a5db568409489149d15a743fe5d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb6d03b0eb61026e176b5d71449a46fb9d96dfe76f515893df446414a253574abc77a700b081614fb5c5cb908d3626aeb8794622154017c4f2f77f3081be67e35cac51c1ca700000168000000b00945484b64d323e41dfdcfe5f936c73060face4a28640b52c8d57c4a95248660d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb6d43b0eb627df490d515ee6709c5c8092078d2070c55582e10d0841fff99ad3d4a52051842dcd62f2f840dafa5a57b2402df0cacfb148941c3eb9fff6aaa45dd7efcc6323000000b020fdafe2005af60b15ea969e92c570ac10c71336ef2b032d8cfba457bfd4ccdcd83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb6d83b0eb60f3362310bb5186ddbf901941f9a718f4ceddf855a15c94979df064ddfd097ff15217c16b2970cf799f4334245fe1bee38e0f0c08bc787402ae890512a7ca99e00000168000000b00851c905bab12808558717a0aad2c1ca985f6fdb3c388a770d3fd6d0fa851357dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb6dc3b0eb626ebc9c7a73cea94d3e5c84cb9291b0afcba247220dcc1243e052e5b0a80de7b2cd9e3ad4e1edf1e91e0f9fadf8cc569e8ad35ad528e7f1aef0eb85e552cf01a000000b0200a309c5638fa2f4d73de5944616b46482bb4c802ff8251d165fede253559d3e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb6e03b0eb60e3fe2eb61931c921382494ed1366c29845281166dea486dbe4960d4453124f6142dfcd10875111bd17d7afcf79a1688704592519f9c06646f52ead78fdd3695380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b0075e49c0108f2c2c8d105f5b5c6ebc64cfc4116c500d099b51aa31575fe5a04ee43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb6e43b0eb625f84a81fd1aeeb90b6f10076ac515a5341ec60334b14048826f88e16fe16b722be66467a3fce342c96a41b59128c0042011d73e6662fe3f337912e4ba8d7d11000000b01f16b156ac16fe5384fd2613f5fd65e07f90565916d4017615d059648a95e6cae83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb6e83b0eb60d4c63a5b77120b64b0b910982d266c3bbb722a781bec79202b3bb5aaa91b1ed133a7d8b5e5315400906c2b7a9361122a7aa33e2b3708588b3bd455df53dc38c000000b0066aca7a666d3050c499a7160e0ab6ff0728b2fd63e188bf96148bddc5462d45ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb6ec3b0eb62504cb3c52f8f2dd42f857c21c61103f6b8367944885bf6cc6d9e367d541f8692af2e521f9dae76700f3897042c4ba9e577678cf7a377d6377e36d6b1fee0a080000021c000000b01e23321101f50277bc866dcea799607ab6f4f7ea2aa8809a5a3ab3eaeff673c1f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb6f03b0eb60c58e4600d4f24da8294d8c4346e615df31bc438959346b6471e15e10ff23ee41246fe45b431196440900a725ad20bbcdf0ed573c74504acf8279fe45a9e5083000000b005774b34bc4b3474fc22eed0bfa6b1993e8d548e77b607e3da7ee6642aa6ba3cf43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb6f43b0eb624114bf6a8d6f7017a819f7ccdfd0ad9a2e809255c5a3e910b443dee3aa2856029ff65dc4fb8eb8b387cd12af460b5388edb1a608e0bfc87bc4dc7f1854e96ff000000b01d2fb2cb57d3069bf40fb58959355b14ee59997b3e7cffbe9ea50e71555700b8f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb6f83b0eb60b65651a632d28feba1e207ee60a5bf82a8065c9a967c5da8b8870677552cbdb11537f000a0f1d887819522d0c6e065716737704db1983d13c91fa6abffedd7a0000021c000000b00483cbef1229389933ac368b7142ac3375f1f61f8b8a87081ee940ea90074733fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6fc3b0eb6231dccb0feb4fb25b20ae7377f990573da4caab6702ebdb54fae9874a0031257290be696a596efaf700618e5a5fcafd2c63fbbf1a1e07bac00b82277eaaf23f6000000b01ca3bd9b7db995b3dab425d32b091030bc1dbeb60f591f2e134bca2e2fe09ae0003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb6003c0eb60a71e5d4b90b2d22f1a7683997a6569261e5075abd3c44fecff2caeddab358d2105fffba5fed21acafa299e7be0a00f14dd81895eeee02f580fc54f1255f6a71000000b003f7d6bf380fc7b11a50a6d54316614f43b61b5a5c66a677938ffca76a90e15b043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb6043c0eb62291d781249b8a3d98af5781516cba8fa810cff1410add24c45554317a8cac7f287ff166cb7d7ec756aa892f77d064ee9403e12c72bc9b1b755ede34c538be1e0000021c000000b01bb03e55d39799d8123d6d8ddca50acaf3826047232d9e5257b624b4954127d7083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb6083c0eb609e5f0a4def1bc3ad84bd883697a0bae2fa92c958e18646e449986aab53cf2fa0fd40a8a85d3b0c496470a318fddb60d1b9c3dd0bfca2264f5a310adffe90499000000b0030457798dedcbd551d9ee8ff4b25be97b1abceb703b259bd7fa572dcff16e520c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb60c3c0eb6219e583b7a798e61d0389f3c0308b529df75718254df5c4908bfaeb7dfed3976278c7221215b82eb8e33d0ea296c5f88cb6882bd86911a3fb9c938bb2a994b15000000b01abcbf1029759dfc49c6b5488e4105652ae701d837021d769c207f3afaa1b4ce103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb6103c0eb608f2715f34cfc05f0fd5203e1b160648670dce26a1ece3928903e1311a9d7ff10ee08b44dbb1b4e8cdd051ec4179b0a75300df61d39ea1893a0d6b34654991900000021c000000b00210d833e3cbcff98963364aa64e5683b27f5e7c840fa4c01c64b1b43551fb49143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb6143c0eb620aad8f5d057928607c1e6f6b4a4afc416da131368b3db6d4d2a093e454dc66d2698f2db7739870fc5bd18a4db085a2302cd244e9a659963fe3393418ff9d80c000000b019c93fca7f53a220814ffd033fdcffff624ba3694ad69c9ae08ad9c1600241c5183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb6183c0eb607fef2198aadc483475e67f8ccb200e29e726fb7b5c162b6cd6e3bb77ffe0ce80ded0bff318fb90d055999a6f315ab418a6580f2e77320ad7e77c5bacaaa1e87000000b0011d58ee39a9d41dc0ec7e0557ea511de9e4000d97e423e460cf0c3a9ab288401c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61c3c0eb61fb759b0263596aa3f4b2eb16640aa5e4e3eb4a47c885a91919463c4aaae536425a57395cd178b33fd46605f8ca454bd3a31c5dfae3a1888429dedc7f55a65030000021c000000b018d5c084d531a644b8d944bdf178fa9999b044fa5eab1bbf24f53447c562cebc203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6203c0eb6070b72d3e08bc8a77ee7afb37e4dfb7cd5d71148c995e1db11d8963de55e99df0cf98cb9876dbd313ce2e161a4b1a5dbc1ca2283fb479fd1c2e22041300aab7e000000b00029d9a88f87d841f875c5c009864bb82148a19eabb8a308a53966c100131537243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb6243c0eb61ec3da6a7c139ace76d4766c17dca4f885a35635905cd9b5d5febe4b100ee05b24b1f45022f58f5834cfa81a3e404f5771966770c20e97ac8708484e5abaf1fa000000b017e2413f2b0faa68f0628c78a314f533d114e68b727f9ae3695f8ece2ac35bb3283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb6283c0eb60617f38e3669cccbb670f76e2fe9f6170d3bb2d9dd6a60ff5642f0c44abf26d60c060d73dd4bc155746c291c564da075f92ec4150f1c1ef6074c7ac7956b38750000021c000000b02f9aa8d5c6977c8fe84f53313ca39eaf80e12b78394692be2d85b6db5573a22f2c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb62c3c0eb61dd05b24d1f19ef2ae5dbe26c9789f92bd07f7c6a43158da1a6918d1756f6d5223be750a78d3937c6c58efd4efdc49f1a8fb0901d5e316d0cb72a2d4c01b7ef1000000b016eec1f980edae8d27ebd43354b0efce0879881c86541a07adc9e9549023e8aa303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6303c0eb6052474488c47d0efedfa3f28e185f0b144a0546af13ee0239aad4b4ab01fb3cd0b128e2e3329c579abf570d707e99b10309365a622f09e1a4bb6d54dfacbc56c000000b02ea729901c7580b41fd89aebee3f9949b845cd094d1b11e271f01161bad42f26343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb6343c0eb61cdcdbdf27cfa316e5e705e17b149a2cf46c9957b805d7fe5ed37357dacffa4922caf5c4ceb197a0a3e2378fa178448be05faa92e9b795f50fdcfd5b257c0be80000021c000000b015fb42b3d6cbb2b15f751bee064cea683fde29ad9a28992bf23443daf58475a1383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb6383c0eb60430f502e225d514258386e39321eb4b7c04f5fc05135f47df17a5d1158040c40a1f0ee88907c99de37eb891b98595aa67f8073736c51d3e90212fd4602c5263000000b02db3aa4a725384d85761e2a69fdb93e3efaa6e9a60ef9106b65a6be82034bc1d3c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb63c3c0eb61be95c997dada73b1d704d9c2cb094c72bd13ae8cbda5722a33dcdde4030874021d7767f248f9bc4db6b7f4a53143f2617c44c23fd8c1519544757e18adc98df000000b01507c36e2ca9b6d596fe63a8b7e8e5027742cb3eadfd1850369e9e615ae50298403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6403c0eb6033d75bd3803d9385d0cce9e44bde5e5b369978d18e7de6c238200577ae0cdbb092b8fa2dee5cdc21b08004c6b2190449f5ca8c84a999c62d48b8a5ac58cdf5a00000fa400000168000000b02cc02b04c83188fc8eeb2a6151778e7e270f102b74c4102afac4c66e85954914443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb6443c0eb61af5dd53d38bab5f54f99556de4c8f616335dc79dfaed646e7a82864a591143720e3f7397a6d9fe912f4c70504b039c04f28edb51160943d98b1b267f03d25d6000000b0141444288287baf9ce87ab636984df9caea76ccfc1d197747b08f8e7c0458f8f483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb6483c0eb60249f6778de1dd5c94961658f659e07feace391e2cbc5d9067ec5adde0415ab20838105d34c3d1e6529148071cbd8aded6c14a595e6e1b8718f5e4e12aed6c5100000168000000b02bccabbf1e0f8d20c674721c031389185e73b1bc88988f4f3f2f20f4eaf5d60b4c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb64c3c0eb61a025e0e2969af838c82dd118fe889fb9a9a7e0af383556b2c1282eb0af1a12e1ff077f3d04ba40d4a7e0ebfb64c345a868d8f4625351361dd1c0cee559db2cd000000b01320c4e2d865bf1e0610f31e1b20da36e60c0e60d5a61698bf73536e25a61c86503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb6503c0eb601567731e3bfe180cc1f5e13a7f5db1a2232daaf4090dcb4ac56b56445a1e7a9074491178aa1d60a8a1a8fc1ce5985790e25ebea72429aab5d603f67904df94800000168000000b02ad92c7973ed9144fdfdb9d6b4af83b295d8534d9c6d0e7383997b7b50566302543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6543c0eb6190edec87f47b3a7c40c24cc41848495d1ff1f9c0757d48f707cdd7170522e251efcf8ae2629a8318207567a67e82ef4bdf230d73909928621866774bafe3fc4000000b0122d459d2e43c3423d9a3ad8ccbcd4d11d70aff1e97a95bd03ddadf48b06a97d583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb6583c0eb60062f7ec399de5a503a8a5ce5991d5b459977c4054655bd8f0c10feaab0274a0065111d1e07fda2ec1a3d77c7ff58013458a8d7b861719cfa1ca99edf5ae863f00000168000000b029e5ad33c9cb956935870191664b7e4ccd3cf4deb0418d97c803d601b5b6eff95c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb65c3c0eb6181b5f82d525b7cbfb956c86f3207f300963c12d1b2c53b3b4e737f7d5b2bb1c1e0979687c07ac55b9909e351984298ef556d2684cde11aa65f0c1fb205eccbb000000b01139c6578421c766752382937e58cf6b54d55182fd4f14e14848087af0673674603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb6603c0eb62fd3c71970ad89f2f382333f8caf28abb9300619e1f34b8e790d600500630198055d928c365dde52f92d1f3731917aad7cef2f0c99eb98f3e634f4745b0f133600000168000000b028f22dee1fa9998d6d10494c17e778e704a1966fc4160cbc0c6e30881b177cf0643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb6643c0eb61727e03d2b03bbf0331eb441a4bc79ca40c862be2f00d2d7f951927e3b1348131d15fa22d1e5b079f119e5efcb2024292cbb73f960b290ceaa5b1c8185bf59b2000000b010464711d9ffcb8aacacca4e2ff4ca058c39f314112394058cb2630155c7c36b683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb6683c0eb62ee047d3c68b8e172b0b7afa3e4b2345f094a7aaf5c7cab2bd77ba8b65c38e8f046a13468c3be27730b666f1e32d7547b453d09dadc018182a9f4efac06fa02d00000168000000b027feaea875879db1a4999106c98373813c063800d7ea8be050d88b0e807809e76c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb66c3c0eb6163460f780e1c0146aa7fbfc56587464782d044f42d551fc3dbbed04a073d50a1c227add27c3b49e28a32daa7cbc1ec36420158a74870ff2eec57707eb1fe6a9000000b00f52c7cc2fddcfaee4361208e190c49fc39e94a524f81329d11cbd87bb285062703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb6703c0eb62decc88e1c69923b6294c2b4efe71de027f9493c099c49d701e21511cb241b8603769400e219e69b683faeac94c96fe1ebb8722ec194973c6f09a98125d02d2400000168000000b0270b2f62cb65a1d5dc22d8c17b1f6e1b736ad991ebbf0b049542e594e5d896de743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb6743c0eb61540e1b1d6bfc438a23143b707f46efeaf91a5e056a9d1208226478b05d462011b2efb977da1b8c2602c75652e58195d9b84b71b885b8f17332fd18e508073a0000000b00e5f488685bbd3d31bbf59c3932cbf39fb03363638cc924e1587180e2088dd59783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb6783c0eb62cf949487247965f9a1e0a6fa183187a5f5deacd1d70c8fb464c6f983084a87d028314bb37f7eabf9fc8f66746656a7c231d13bfd5691660b37404078b30ba1b00000168000000b02617b01d2143a5fa13ac207c2cbb68b5aacf7b22ff938a28d9ad401b4b3923d57c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb67c3c0eb6144d626c2c9dc85cd9ba8b71b9906998e6f647716a7e5044c690a2116b34eef81a3b7c51d37fbce697b5bd1fdff413f7d2e958ac9c300e3b779a2c14b5e10097000000b00d6bc940db99d7f75348a17e44c8b9d43267d7c74ca1117259f1729485e96a50803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb6803c0eb62c05ca02c8259a83d1a7522a531f131496c28c5e3145481f8ab6ca1e95e53574018f95758dd5eee3d7523e21f80165165a81b550e93d9584f7de5e8df091471200000168000000b0252430d77721aa1e4b356836de57634fe2341cb41368094d1e179aa1b099b0cc843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb6843c0eb61359e326827bcc811143d32c6b2c64331e5ae9027e52cf690afafc97d0957bef1947fd0c295dc10acf3f04da91900e920a4dfa3db0048d5fbc04869b1b418d8e000000b00c7849fb3177dc1b8ad1e938f664b46e69cc7958607590969e5bcd1aeb49f747883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb6883c0eb62b124abd1e039ea8093099e504bb0daece272def4519c743cf2124a4fb45c26b009c162fe3b3f3080edb85dca99d5fb091e656e1fd1214a93c48b91455f1d40900000168000000b02430b191ccffae4282beaff18ff35dea1998be45273c88716281f52815fa3dc38c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb68c3c0eb6126663e0d859d0a548cd1ae71cc85ecd55bf8a9392274e8d4f65571e35f608e618547dc67f3bc52f06c84c95432c092c41b29bcec3d90c84006ee12180a21a85000000b00b84cab58755e03fc25b30f3a800af08a1311ae9744a0fbae2c627a150aa843e903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb6903c0eb62a1ecb7773e1a2cc40b9e19fb6570849058bcf8058ee4668138b7f2b60a64f62300ce55d1ac39755feb5134ddcbab2a7f17ee0bb8aa0045ec495092eab52610100000168000000b0233d324c22ddb266ba47f7ac418f588450fd5fd63b110795a6ec4fae7b5acaba943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb6943c0eb61172e49b2e37d4c9805662a1ce6459678d242c24a5fbcdb193cfb1a49b5695dd1760fe80d519c9533e51944ff4c803c679173d5fd7ad8ba844d93ba7e602a77c000000b00a914b6fdd33e463f9e478ae599ca9a2d895bc7a881e8edf27308227b60b1135983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6983c0eb6292b4c31c9bfa6f07843295a67f302e33cf071116cc2c58c57f5d9b1c606dc592f19661770a19b7a363e5b088e56ad4228e3824c9e74838308ff63b510b2edf83800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b02249b30678bbb68af1d13f66f32b531e886201674ee586b9eb56aa34e0bb57b19c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb69c3c0eb6107f65558415d8edb7dfaa5c80005401c488cdb5b9d04cd5d83a0c2b00b722d4166d7f3b2af7cd7775dadc0aa663fe60b07bdef0eb820acc8943962e4b633473000000b0099dcc2a3311e888316dc0690b38a43d0ffa5e0b9bf30e036b9adcae1b6b9e2ca03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb6a03c0eb62837ccec1f9dab14afcc7115198efd7d745512a2809744b09c6034382b6769502e25e6d1c67f9f9e6dc7a2c33ff2a7dc604823ddb24902a74d69be3b76137aef000000b0215633c0ce99baaf295a8721a4c74db8bfc6a2f862ba05de2fc104bb461be4a8a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb6a43c0eb60f8be60fd9f3dd11ef68f217319c4e9bfbed6f46cda4cbfa1ca466b16617afcb1579fff580d5d19bad6423c557fff8fae7e08081ff5689f0cdadf0b4b0c3c16a0000021c000000b008aa4ce488efecac68f70823bcd49ed7475eff9cafc78d27b005373480cc2b23a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb6a83c0eb627444da6757baf38e755b8cfcb2af817abb9b433946bc3d4e0ca8ebe90c7f6472d32678c1c5da3c2a550ea7df18ea27697acc56ec61d81cb91d418c1db7407e6000000b02062b47b2477bed360e3cedc56634852f72b4489768e8502742b5f41ab7c719fac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb6ac3c0eb60e9866ca2fd1e13626f239d1e3384936335210d7e1794b1e610ec137cb783cc2148680afd6b3d5bfe4ed6b80099bf3951f452213132b091512184b3b16244e61000000b007b6cd9edecdf0d0a0804fde6e7099717ec3a12dc39c0c4bf46f91bae62cb81ab03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb6b03c0eb62650ce60cb59b35d1edf008a7cc6f2b1e31e55c4a84042f92534e944f628833e2c3ee846723ba7e6dcda3238a32a9d10cf1166ffd9f200efd63e734840d494dd0000021c000000b01f6f35357a55c2f7986d169707ff42ed2e8fe61a8a630426b895b9c810dcfe96b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb6b43c0eb60da4e78485afe55a5e7b818c94d443d06ab6b268f54dca42a5791bbe30d8c9b91393016a2c91d9e41c76b33abb37ee2f56a9c3a426ff88395682a5c17b84db58000000b006c34e5934abf4f4d8099799200c940bb62842bed7708b7038d9ec414b8d4511b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6b83c0eb6255d4f1b2137b781566848452e62ed4c1a82f755bc14c21d699f43cb5b8910352b4b6900c819ac0b146379f354c697ab06760890edc680141aa8cdcea63521d4000000b01e7bb5efd033c71bcff65e51b99b3d8765f487ab9e37834afd00144e763d8b8dbc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb6bc3c0eb60cb1683edb8de97e9604c94746703e6aa21b53fa09224966e9e37644963956b0129f8224826fde0853fffaf56cd3e8c98e0e65353ad4075d9aed0047e0e5684f0000021c000000b005cfcf138a89f9190f92df53d1a88ea5ed8ce44feb450a947d4446c7b0edd208c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb6c03c0eb62469cfd57715bba58df18fffdffee7e651e798e6cfe94141ae099e51c0e99d2c2a57e9bb1df7b02f4becc1ae066292453ddaaa22019aff385f1328550b95aecb000000b01d8836aa2611cb40077fa60c6b3738219d59293cb20c026f416a6ed4db9e1884c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb6c43c0eb60bbde8f9316beda2cd8e1101f80c3904d97ff58b1cf6c88b2e4dd0cafb99e3a711ac02ded84de22c8b8942b01e6fe363c57306c64ea88681df575ace4645f546000000b004dc4fcde067fd3d471c270e8344894024f185e0ff1989b8c1aea14e164e5effc83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb6c83c0eb62376508fccf3bfc9c57ad7ba919ae280894c3a77e3bdc065f273f8d8264a2a2329646a7573d5b45383760968b7fe8cdf753f4bb3156f7e5ca37d82db70f63bc20000021c000000b01c94b7647befcf643f08edc71cd332bbd4bdcacdc5e0819385d4c95b40fea57bcc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb6cc3c0eb60aca69b38749f1c7051758bca9a8339f10e4971c30cb47af72b82b5160fa709e10b883992e2be650c3128a6ad00bddfdfcd7a857627d05a623c1b554aba6823d000000b003e8d088364601617ea56ec934e083da5c56277212ee08dd0618fbd47baeebf6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb6d03c0eb62282d14a22d1c3edfd041f754336dd1ac0b0dc08f7923f8a36de535e8baab71a2870eb2fc9b3b877baff5123699a8779aca3ed442943fd80e7e7dd61d656c8b9000000b01ba1381ed1cdd38876923581ce6f2d560c226c5ed9b500b7ca3f23e1a65f3272d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb6d43c0eb609d6ea6ddd27f5eb3ca0a0775b442e39484938ad449fc6d3b72285d7c65afd950fc504538409ea74fa9bd22581a7d898343c49e8765184ca682c0fdb11070f340000021c000000b002f551428c240585b62eb683e67c7e7493bac90326c288014a83565ae10f78edd83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6d83c0eb6218f520478afc812348d672ff4d2d7b4f8157d9a0b66beae7b48ade4f10b4411277d6bea1f91bc9bf28898de1b368213e4088ed53d187ca52c5237e83bb755b0000000b01aadb8d927abd7acae1b7d3c800b27f043870defed897fdc0ea97e680bbfbf69dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb6dc3c0eb608e36b283305fa0f7429e8320ce028d37fadda3e587445f7fb8ce05e2bbb8a8c0ed1850dd9e7ee99322519e03343d3326ba0eb798a2603eeac966a6176679c2b000000b00201d1fce20209a9edb7fe3e9818790ecb1f6a943a9707258eedb0e1467005e4e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6e03c0eb6209bd2bece8dcc366c16aeeaa66ed24f2f7a1f2b1f3b3dd2bfb3086b566bd1082689eca4756fc0c02a11e098ccd27cae1b6d306650ecfbc970bc926ea117e2a70000021c000000b019ba39937d89dbd0e5a4c4f731a7228a7aebaf81015dff005313d8ee71204c60e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb6e43c0eb607efebe288e3fe33abb32fecbe7c236db7127bcf6c48c51c3ff73ae4911c17830dde05c82fc5f2bd69ae619ae4dfcdcca3058d0a9dfa8312f100c4e7dbc82922000000b0010e52b737e00dce254145f949b473a902840c254e6b8649d3580b67abd092dbe83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb6e83c0eb61fa85379246bd05aa39ff6a5580acce966dec0bc330fbcf7041d62f1bbcc5dff25966d5ecb4dc4e4619b28537e6e774852d1d1f764c17aedb526ecf506786f9e000000b018c6ba4dd367dff51d2e0cb1e3431d24b250511215327e24977e3374d680d957ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb6ec3c0eb606fc6c9cdec20257e33c77a770181e07ee771d60801d44408461956af67ca47a0cea868285a3f6e1a137a955967bc866da6a2e9bb1cf0237356b1f6e4128b6190000021c000000b0001ad3718dbe11f25cca8db3fb506e4339e8adb66240056e17c265ee11311fd2f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb6f03c0eb61eb4d4337a49d47edb293e6009a6c7839e43624d46e43c1b4887bd78212ceaf624a2ee19212bc9089924700e300a71e28a3673887895fa11f991477b6bd8fc95000000b017d33b082945e41954b7546c94df17bee9b4f2a32906fd48dbe88dfb3be1664ef43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb6f43c0eb60608ed5734a0067c1ac5bf6221b418a225dbbef193f1c364c8cbeff15bdd31710bf7073cdb81fb05d8c0f1104817c30111ced02cc5a3815b79d579f4a6894310000000b02f8ba29ec4cdb6404ca41b252e6dc13a9981378fefcdf523a00eb6086691accaf83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb6f83c0eb61dc154edd027d8a312b2861abb42c21dd5a803de5ab8bb3f8cf217fe868d77ed23af6ed37709cd2cd0adb7c8e1a66c7cc19b15198c6a79363dfba201d139898c00000fa400000168000000b016dfbbc27f23e83d8c409c27467b1259211994343cdb7c6d2052e881a141f345fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb6fc3c0eb605156e118a7e0aa0524f071cd350133c5d406082a7c642890d364a77c13dbe680b0387f7315fff2a104a38caf9b3bd9b493371bdd978007fbe3fd47b0be9d007000000b02effad6eeab4455833488b6f0041765667455ccac0aa149314b571c5411b46f2003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb6003d0eb61ccdd5a82605dcc74a3bcdd56cdebcb80d0ca56f6e8d3a63d15c7284ebee04e422bbef8dcce7d1510836ff8393426716f8ffb6aaa03ef85a8265fc88369a168300000168000000b01653c692a50a775572e50c71184ec774eeddb96f0db79bdc94f9a43e7bcb8d6d043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6043d0eb6048978e1b06499b838f37766a523c8582b0485bd78a261f881dd06349bc758900a7792c757468e41f6eea914cb8772b716f796f8aa541fef32e69037e6736a2f000000b02e0c2e294092497c6ad1d329b1dd70f09ea9fe5bd47e93b7591fcc4ba67bd3e9083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb6083d0eb61c41e0784bec6bdf30e03e1f3eb271d3dad0caaa3f6959d346032e41c6779f0c222ffa5df2ce6068eedb6fcd65161c32c6c3dbe5711b17c9f70cb8451123b0ab00000168000000b01560474cfae87b79aa6e542bc9eac20f26425b00218c1b00d963fec4e12c1a640c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60c3d0eb60395f99c06429ddc707cbf2156bfc2f26269274e8c76e11cc64760bb0127e58709841381ad2492662e77f0cf7d236d514e5c3889be289f137750eabe4bd3f726000000b02d18aee396704da0a25b1ae463796b8ad60e9fece85312db9d8a26d20bdc60e0103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb6103d0eb61b4e6132a1ca7003686985d9f04e6c6e12356c3b533dd8f78a6d88c82bd82c03213c7b1848ac648d2664b78816b216ccfe287d7684ef96ee3b7712cb76843da200000168000000b0146cc80750c67f9de1f79be67b86bca95da6fc9135609a251dce594b468ca75b143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb6143d0eb602a27a565c20a200a80606dc085bbd8c99cdc8dfa04b60410ab1bb416688727e0890943c0302968a6601388a2ebf67eb85c0da1ad1fd1e37bbbb4544b134841d000000b02c252f9dec4e51c4d9e4629f151566250d73417dfc2791ffe1f48158713cedd7183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb6183d0eb61a5ae1ecf7a874279ff2cd94a1ea6708499a0dcc6712581bced7e34e9138b8fa2048fbd29e8a68b15dedff42c84e1167358d1f0798c416127fe16d51dbe4ca9900000168000000b0137948c1a6a483c21980e3a12d22b743950b9e22493519496238b3d1abed34521c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb61c3d0eb601aefb10b1fea624df8f4e96b9f7b826d1326a70b41fdf654f1c15c7cbe8ff75079d14f658e09aae9d8a8044e05b6285bd257babe5d19d5c00259fcb16951114000000b02b31b058422c55e9116daa59c6b160bf44d7e30f0ffc1124265edbded69d7ace203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6203d0eb6196762a74d86784bd77c154f538661a280feaf5d7ae6d74013423dd4f69945f11f557c8cf4686cd5957746fd79ea0c016cf1c098ac989536c44bc7d84145579000000168000000b01285c97bfc8287e6510a2b5bdebeb1ddcc703fb35d09986da6a30e58114dc149243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb6243d0eb600bb7bcb07dcaa49171896516b93b2c108970c01c7f45e899386704e31498c6c06a995b0aebe9ed2d513c7ff91f75d1ff48a1d3cf9a61c80448ffa517bf59e0b000000b02a3e3112980a5a0d48f6f214784d5b597c3c84a023d090486ac936653bfe07c5283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb6283d0eb61873e361a3647c700f055d0a05225c3cb86350ee8ebb566457ac985b5bf9d2e81e61fd474a4670f9cd008eb82b86069ba4566229c06d145b08b6225ea6a5e48700000168000000b011924a3652608c0a88937316905aac7803d4e14470de1791eb0d68de76ae4e402c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb62c3d0eb6302c4af83eec4e9706f223c29eb105b8682f95db55824e3f1bd2c06886aa196405b6166b049ca2f70c9d0fba439357ba2beebece0d7a9ba488fa54d7e1562b02000000b0294ab1ccede85e31808039cf29e955f3b3a1263137a50f6caf3390eba15e94bc303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb6303d0eb61780641bf9428094468ea4c4b6be56d6efc7f27fa28fd5889c16f2e1c15a5fdf1d6e7e01a024751e0489d672dd220135dbbb03bad441937f4d207ce50c06717e00000168000000b0109ecaf0a83e902ec01cbad141f6a7123b3982d584b296b62f77c364dc0edb37343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb6343d0eb62f38cbb294ca52bb3e7b6b7d504d00529f94376c6956cd63603d1aeeec0aa65b04c297255a7aa71b44265774f52f52546353605f214f1ac8cd64af5e46b6b7f9000000b02857328743c66255b8098189db85508deb05c7c24b798e90f39deb7206bf21b3383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6383d0eb6168ce4d64f2084b87e17ec7f685a5171272c9410b66454ace0814d6826baecd61c7afebbf60279423c131e2d8ebdfbd0131fa54be81612a3918ad76b7166fe7500000168000000b00fab4baafe1c9452f7a6028bf392a1ac729e2466988715da73e21deb416f682e3c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb63c3d0eb62e454c6ceaa856df7604b33801e8faecd6f8d8fd7d2b4c87a4a77575516b335203cf17dfb058ab3f7baf9f2fa6cb4cee9ab801f0352399ed11cf09e4ac1744f0000000b02763b34199a46679ef92c9448d214b28226a69535f4e0db5380845f86c1faeaa403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb6403d0eb615996590a4fe88dcb5a1343a19f64c0b5e9135a1ca38d3d124eba7ee8c1b79cd1b877f764be07d66739c65e84059f66a4a8446dcfbea91c7d5f531f1d6c78b6c00000168000000b00eb7cc6553fa98772f2f4a46a52e9c46aa02c5f7ac5b94feb84c7871a6cff525443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb6443d0eb62d51cd2740865b03ad8dfaf2b384f5870e5d7a8e90ffcbabe911cffbb6cbc04902db989a0636af63b338e6ea58674788d21ca38148f819115639646b1177d1e7000000b0267033fbef826a9e271c10ff3ebd45c259cf0ae473228cd97c72a07ed1803ba1483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb6483d0eb614a5e64afadc8d00ed2a7bf4cb9246a595f5d732de0d52f569560274f17c06c41a940030a1be818aab25ada2f1f5f10481e8e86e0fbf10ec1a5f8c783c28186300000168000000b00dc44d1fa9d89c9b66b8920156ca96e0e1676788c0301422fcb6d2f80c30821c4c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb64c3d0eb62c5e4de196645f27e51742ad6520f02145c21c1fa4d44ad02d7c2a821c2c4d4001e819545c14b387eac22ea50a034223098145125ccc98359aa3bef176d85ede000000b0257cb4b645606ec25ea558b9f059405c9133ac7586f70bfdc0dcfb0536e0c898503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb6503d0eb613b2670550ba912524b3c3af7d2e413fcd5a78c3f1e1d219adc05cfb56dc93bb19a080eaf79c85aee2aef55da391eb9eb94d89ff239390105ec9e6fea188a55a380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b00cd0cdd9ffb6a0bf9e41d9bc0866917b18cc0919d404934741212d7e71910f13543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb6543d0eb62b6ace9bec42634c1ca08a6816bceabb7d26bdb0b8a8c9f471e68508818cda3700f49a0eb1f2b7ac224b765fbb9f3cbd40e5e6a370a11759df0e1977dc38ebd5000000b0248935709b3e72e6962ea074a1f53af6c8984e069acb8b220547558b9c41558f583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb6583d0eb612bee7bfa69895495c3d0b6a2eca3bda04bf1a5505b6513df22ab781bc3d20b218ad01a54d7a89d31a383d18552de638f0b22b9037680f34a334418506e93251000000b00bdd4e945594a4e3d5cb2176ba028c155030aaaae7d9126b858b8804d6f19c0a5c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb65c3d0eb62a774f56422067705429d222c858e555b48b5f41cc7d4918b650df8ee6ed672e00011ac907d0bbd059d4be1a6d3b3757784a88348475967e237873fe419978cc0000021c000000b02395b62af11c770acdb7e82f53913590fffcef97aea00a4649b1b01201a1e286603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb6603d0eb611cb6879fc76996d93c65324e06636743c23bbe6198ad06236951208219dada917b9825fa3588df751c184d306c9e0d32816cd214b3c8e58e79e9c0b6c49bf48000000b00ae9cf4eab72a9080d5469316b9e86af87954c3bfbad918fc9f5e28b3c522901643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb6643d0eb62983d01097fe6b948bb319dd79f4dfefebf000d2e051c83cfabb3a154c4df4252f71e9f63ee0601e49ae4b8ba0588a4ed7e3120e12038633abc4c41896fa05c4000000b022a236e546fa7b2f05412fea052d302b37619128c274896a8e1c0a9867026f7d683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb6683d0eb610d7e93452549d91cb4f9adf9202310e73885d772d5f4f867aff6c8e86fe3aa016c60319f936921b894acc8db865db6d5f7b6eb25f110d7d2c08f691d1aa4c3f0000021c000000b009f650090150ad2c44ddb0ec1d3a8149bef9edcd0f8210b40e603d11a1b2b5f86c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb66c3d0eb6289050caeddc6fb8c33c61982b90da8a2354a263f42647613f25949bb1ae811c2e7e6ab094be64428137934651f484e90f47b39f25d80557f02f1e9efc5a92bb000000b021aeb79f9cd87f533cca77a4b6c92ac56ec632b9d649088ed286651ecc62fc74703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb6703d0eb60fe469eea832a1b602d8e29a439e2ba8aaecff084133ceaabf69c714ec5ec79715d283d44f14963fc0d414486a01d60796e0104372e58ca170735118370ad936000000b00902d0c3572eb1507c66f8a6ced67be3f65e8f5e23568fd852ca9798071342ef743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6743d0eb6279cd18543ba73dcfac5a952dd2cd5245ab943f507fac685838fef22170f0e132d8aeb6aea9c6866b8c0db0103907f8346ac553039ac847c3499792561bb1fb20000021c000000b020bb3859f2b683777453bf5f6865255fa62ad44aea1d87b316f0bfa531c3896b783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb6783d0eb60ef0eaa8fe10a5da3a622a54f53a2642e251a09955084dcf03d4219b51bf548e14df048ea4f29a63f85d5c031b9dd0a1ce44b1d486ba0bc5b4ddab9e9c6b662d000000b0080f517dad0cb574b3f040618072767e2dc330ef372b0efc9734f21e6c73cfe67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb67c3d0eb626a9523f99987801324ef10d8ec8cfbe921de5861bcf45a9c7fa49a87c6f9b0a2c976c25407a6c8af04a22bbb52c7a1d7e10f6c14d8103a07903d3abc71baca9000000b01fc7b9144894879babdd071a1a011ff9dd8f75dbfdf206d75b5b1a2b97241662803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb6803d0eb60dfd6b6353eea9fe71eb720fa6d620dd19b6422a68dcccf3483e7c21b71fe18513eb8548fad09e882fe6a3bdcd39cb3c05a953659a8e8ae9f948062501cbf3240000021c000000b0071bd23802eab998eb79881c320e71186527d2804aff8e20db9f4ca4d1d45cdd843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb6843d0eb625b5d2f9ef767c2569d838c84064ca58c98287172fa3c4ce0c64a42ee1d028012ba3ecdf965870af27d36a7666c874b7b5759852615582c4bd6e2e322c7c39a0000000b01ed439ce9e728bbfe3664ed4cb9d1a9414f4176d11c685fb9fc574b1fc84a359883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb6883d0eb60d09ec1da9ccae22a974b9ca58721b77511ae3bb7cb14c178ca8d6a81c806e7c12f8060350aea2ac676feb787ed5c5d63d0df4f6ae630a0e3db260ab672c801b000000b0062852f258c8bdbd2302cfd6e3aa6bb29c8c74115ed40d452009a72b3734e9d48c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb68c3d0eb624c253b445548049a1618082f200c4f300e728a8437843f250cefeb54730b4f82ab06d99ec3674d35f5cb23118646f51ecda39e3752a01e901d888b891dcc6970000021c000000b01de0ba88f4508fe41aef968f7d39152e4c58b8fe259b051fe42fcf3861e53050903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb6903d0eb60c166cd7ffaab246e0fe01850a0e1611887f854c9085cb3bd113312e81e0fb73120486bda68ca6d09ef933333071c07074729687c2378932821cbb31cc8d0d12000000b00534d3acaea6c1e15a8c17919546664cd3f115a272a88c69647401b19c9576cb943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb6943d0eb623ced46e9b32846dd8eac83da39cbf8d384bca39574cc3169539593bac9141ef29bcee54421478f796e5f9ebca0069ec243edb7488fe810d4642e33ef73d538e000000b01ced3b434a2e94085278de4a2ed50fc883bd5a8f396f8444289a29bec745bd47983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb6983d0eb60b22ed925588b66b1887493fbbaa10abbfe426dda45a4a60157d8bb4e741886a11110777fc6aaaf4d6827aede20dbb0aabd73818d60c0856c68715b831ed9a090000021c000000b0044154670484c60592155f4c46e260e70b55b733867d0b8da8de5c3801f603c29c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb69c3d0eb622db5528f110889210740ff85538ba276fb06bca6b21423ad9a3b3c211f1cee628c96f0e97f27d1bce6f41a67b9c64865ba37d059cd300318aad3dc55c9de085000000b01bf9bbfda00c982c8a022604e0710a62bb21fc204d4403686d0484452ca64a3ea03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb6a03d0eb60a2f6e4cab66ba8f501090fa6d460b45f748c86eb82ec98459e7e63b4ca21561101d88325248af190e0bc2a893a9b5a4e33bd9a9e9e0877b0af1703e974e2700000000b0034dd5215a62ca29c99ea706f87e5b8142ba58c49a518ab1ed48b6be675690b9a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb6a43d0eb621e7d5e346ee8cb647fd57b306d4b4c1a7150d5b7ef5c15f1e0e0e4877525bdd27d5efc8edd0814005f889612d385f2093081e96b0a77f55cf17984bc1fe6d7c0000021c000000b01b063cb7f5ea9c50c18b6dbf920d04fcf2869db16118828cb16edecb9206d735a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6a83d0eb6093bef070144beb38799d8b51ee205e02ead69ffcc0348a89e5240c1b202a2580f2a08eca826b33d45950a634545b03f1aa07b3afdb5069f4f5bcac4fcaeb3f7000000b0025a55dbb040ce4e0127eec1aa1a561b7a1efa55ae2609d631b31144ccb71db0ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb6ac3d0eb620f4569d9ccc90da7f869f6db870af5bde79aeec92ca4083627868cedcb2e8d426e2708343ae85643d81d11bded459baca6cc027c47bfe7a1381f2d2275efa73000000b01a12bd724bc8a074f914b57a43a8ff9729eb3f4274ed01b0f5d93951f767642cb03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb6b03d0eb608486fc15722c2d7bf23206fd07e007a66120b90dfd7c7cce2bc9b4817632f4f0e3689a6fe04b7617d1e521df6e1aad952051ccc118985c393c6254b620f40ee00000fa400000168000000b00166d696061ed27238b1367c5bb650b5b1839be6c1fa88fa761d6bcb3217aaa7b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb6b43d0eb62000d757f2aa94feb70fe7286a0ca9f615de507da69ebfa7a6e2c355421375cb25eef13d998c8988750b18d69070545501d161b8d8507d9e57ec4d588cbf876a000000b0191f3e2ca1a6a499309dfd34f544fa31614fe0d388c180d53a4393d85cc7f123b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb6b83d0eb60754f07bad00c6fbf6ac682a8219fb149d76ad21f3ac46f12726f5ce7cc3bc460d430a6153e2bb85b4a799d8a87da5738969be5d255e04e7d8307fd1c76fcde500000168000000b0007357505bfcd696703a7e370d524b4fe8e83d77d5cf081eba87c6519778379ebc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb6bc3d0eb61f0d581248889922ee992ee31ba8a4904d42f20eba733ecbeb4d1ddba77402c224fb71f7ef6a8dacac946091420c4eef39360349ec24fcc29c56a7def2201461000000b0182bbee6f784a8bd682744efa6e0f4cb98b482649c95fff97eadee5ec2287e1ac03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb6c03d0eb60661713602decb202e35afe533b5f5aed4db4eb30780c6156b915054e224493d0c4f8b1ba9c0bfa9ec30e1935a19a00dc0ce5fee3932840c1c9ada582cd05adc00000168000000b02fe4267d930c7ae460140ba8406f9e474880c751635cf7d442d4166becd8c496c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb6c43d0eb61e19d8cc9e669d472622769dcd449f2a84a7939fce47bdf02fb778620cd48fb92407f2b2454891d0e41da84bf3a84989709aa4dafff97be6e0c102655780a158000000b017383fa14d62ace19fb08caa587cef65d01923f5b06a7f1dc31848e527890b11c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6c83d0eb6056df1f058bccf4465bef79fe551f0490c3ff0441b554539affbaadb4784d6340b5c0bd5ff9ec3ce23ba294e0bb59aa7f833017f4d070330610534de9230e7d300000168000000b02ef0a737e8ea7f08979d5362f20b98e17fe568e2773176f8873e70f25239518dcc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb6cc3d0eb61d265986f444a16b5dabbe587ee099c4bc0c3530e21c3d147421d2e872351cb02314736c9b2695f51ba6f006a5444423a7ff466c13cdfb0b252b5cebbce12e4f000000b01644c05ba340b105d739d4650a18ea00077dc586c43efe420782a36b8ce99808d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6d03d0eb6047a72aaae9ad3689d483f5a96edeae343a491d52f29c45df4660561ace5632b0a688c90557cc7f25b437108bd5195422f97a31060db8254a56f8f64f79174ca00000168000000b02dfd27f23ec8832ccf269b1da3a7937bb74a0a738b05f61ccba8cb78b799de84d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb6d43d0eb61c32da414a22a58f95350613307c945ef370d6c1f5f0bc38b88c2d6ed795a9a72220f426f1049a19533037c156e03ebddf63e7fd27a27a2f6995b7722241bb46000000b015514115f91eb52a0ec31c1fbbb4e49a3ee26717d8137d664becfdf1f24a24ffd83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb6d83d0eb60386f3650478d78cd4d187154889e57d7b09336642fe438238d05fe81245f02209750d4aab5acc1692ccb8c36eed8fdc66fc44a174b00178e9d9e9eb5cf201c100000168000000b02d09a8ac94a6875106afe2d855438e15eeaeac049eda7541101325ff1cfa6b7bdc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb6dc3d0eb61b3f5afba000a9b3ccbe4dcde2188ef92ad5785309c53b5cfcf687f53cf6369e212d74e146e29e3d8ab97f7c087c395816c8898e3b76f953ae0011f887a2483d000000b0145dc1d04efcb94e464c63da6d50df34764708a8ebe7fc8a9057587857aab1f6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb6e03d0eb60293741f5a56dbb10c5acecffa25e017b26dd4f756d2c2a67d3aba6e77a67d1908818e050138d03aca56007e20898a769e60e6328884809d2e444471c2528eb800000168000000b02c162966ea848b753e392a9306df88b026134d95b2aef465547d8085825af872e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb6e43d0eb61a4bdbb5f5deadd80447958893b48993623a19e41d99ba814160e27ba256c3952039f59b9cc0a261c242c736ba1833f24e2d2b1f4f4b7877f26a6c7eed02d534000000b0136a428aa4dabd727dd5ab951eecd9ceadabaa39ffbc7baed4c1b2febd0b3eede83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6e83d0eb6019ff4d9b034dfd543e4168aabc1dab1e9d276886aa741cac1a514f4dd070a10078e0ebf5716d45f01df4838d2258510d5c587c39c58ffc172ae9ef827b31baf00000168000000b02b22aa2140628f9975c2724db87b834a5d77ef26c683738998e7db0be7bb8569ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb6ec3d0eb619585c704bbcb1fc3bd0dd434550842d999ebb75316e39a585cb3d0207b7508c1f467655f29ea685f9cc0ef16bb42e8c8591ccb0631ff79c36d4c7055263622b000000b01276c344fab8c196b55ef34fd088d468e5104bcb1390fad3192c0d85226bcbe4f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb6f03d0eb600ac75940612e3f97b6d5e455d5dd54c213718197e7bc0ef060f6f7b42679707069a8f79acf4d88339688ff383c17fab0d2a2954b02d7ee5b718f97e8d13a8a600000168000000b02a2f2adb964093bdad4bba086a177de494dc90b7da57f2addd5235924d1c1260f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb6f43d0eb61864dd2aa19ab620735a24fdf6ec7ec7d1035d064542b8c9ca3597886d17dd831e52f710487caaaa315556ac1d502926bcf66e4176f476c07b3f218bb7c3ef22000000b0118343ff5096c5baece83b0a8224cf031c74ed5c276579f75d96680b87cc58dbf83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6f83d0eb6301d44c13d2288476b46ebb6907b284380cfa1f30c09b0a48e5bbf9597c823ff05a7103402d2dca770f1d7ae355d7a45448ecae5c401fe09fb835404f274359d00000168000000b0293bab95ec1e97e1e4d501c31bb3787ecc413248ee2c71d221bc9018b27c9f57fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb6fc3d0eb617715de4f778ba44aae36cb8a88879620867fe97591737ee0e9ff20ed2786a7a1d5f77ca9e5aaece68de9e66ceec23c0f45b0fd28ac8f5e4bfa97c121d247c19000000b010f74ecf767d54d2d38cab5453f8841eea391296f8419966d23d23c86255f303003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb6003e0eb62f29c57b93008c6ba2d03371421722ddb83443841fde2fc8d2c61a1bfd28b0f604b390ee58b0e0cba87b1f68e6f974df7bf36c76d7d67d2e3fedae8b57d4c29400000168000000b028afb666120526f9cb79720ced872d9a9a055783bf08914196634bd58d06397f043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb6043e0eb616e568b51d5f495c9187dd027a5c2e7dd62c23d229f3575d8346adcbad0204a21cd3829ac4413de64f830eb0a0bfd8dcc21f350d5ba51554345037cef7ae1641000000b01003cf89cc5b58f70b15f30f05947eb9219db4280c16188b16a77e4ec7b67ffa083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb6083e0eb62e9dd04bb8e71b838974a3bb13ead7f985f868bef0ba4f38476cd5d8d7b24b1e04279bbe7e976fe38f1f8fb2b8cd29fb49b791b1a8b29c9db4946a48325e5cbc", - "txsEffectsHash": "0x01b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee03", + "archive": "0x002112631bea3a8334e954f4de111c9158cafeab265fc94ee695b3b4d20f0427", + "body": "0x00000010151de48ca3efbae39f180fe00b8f472ec9f25be10b4f283a87c6d7839353703914c2ea9dedf77698d4afe23bc663263eed0bf9aa3a8b17d9b74812f185610f9e1570cc6641699e3ae87fa258d80a6d853f7b8ccb211dc244d017e2ca6530f8a12806c860af67e9cd50000378411b8c4c4db172ceb2daa862b259b689ccbdc1e005f140c7c95624c8006774279a01ec1ea88617999e4fe6997b6576c4e1c7395a22048b96b586596bd740d0402e15f5577f7ceb5496b65aafc6d89d7c3b34924b0c3f2d50d16279970d682cada30bfa6b29bc0bac0ee2389f6a0444853eccaa932b2a60561da46a58569d71044a84c639e7f88429826e5622581536eb906d9cdd25a2c0a76f7da6924e10751c755227d2535f4ad258b984e78f9f452a853c52300e212d8e2069e4254d81af07744bcbb81121a38f0e2dbed69a523d3fbf85b75c287ca6f33aadbac2e4f058e05924c140d7895a6ed167caf804b710d2ae3ba62b1b51297b3ea37637af6bd56cf33425d95cc5c96e9c2ee3077322fbec86a0c7f32c15d2a888c6cc122e99478c92470a1311635142d82ad7ae67410beeef4ae31f0902ba2fb964922a4610bb18901f7b923885c1d034da5769a48203ae6f0206a92855e2c01ddb3d6553386b5580d681b8230fa4062948668f834f23e0636eaff70aaa64519aafdf4b040bd2f9836e76b9dc13cfec8065dcdf2834d786e06260d100000004380000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000014100000000000000000000000000000000000000000000000000000000000001420000000000000000000000000000000000000000000000000000000000000143000000000000000000000000000000000000000000000000000000000000014400000000000000000000000000000000000000000000000000000000000001450000000000000000000000000000000000000000000000000000000000000146000000000000000000000000000000000000000000000000000000000000014700000000000000000000000000000000000000000000000000000000000001480000000000000000000000000000000000000000000000000000000000000149000000000000000000000000000000000000000000000000000000000000014a000000000000000000000000000000000000000000000000000000000000014b000000000000000000000000000000000000000000000000000000000000014c000000000000000000000000000000000000000000000000000000000000014d000000000000000000000000000000000000000000000000000000000000014e000000000000000000000000000000000000000000000000000000000000014f0000000000000000000000000000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000015100000000000000000000000000000000000000000000000000000000000001520000000000000000000000000000000000000000000000000000000000000153000000000000000000000000000000000000000000000000000000000000015400000000000000000000000000000000000000000000000000000000000001550000000000000000000000000000000000000000000000000000000000000156000000000000000000000000000000000000000000000000000000000000015700000000000000000000000000000000000000000000000000000000000001580000000000000000000000000000000000000000000000000000000000000159000000000000000000000000000000000000000000000000000000000000015a000000000000000000000000000000000000000000000000000000000000015b000000000000000000000000000000000000000000000000000000000000015c000000000000000000000000000000000000000000000000000000000000015d000000000000000000000000000000000000000000000000000000000000015e000000000000000000000000000000000000000000000000000000000000015f0000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000016100000000000000000000000000000000000000000000000000000000000001620000000000000000000000000000000000000000000000000000000000000163000000000000000000000000000000000000000000000000000000000000016400000000000000000000000000000000000000000000000000000000000001650000000000000000000000000000000000000000000000000000000000000166000000000000000000000000000000000000000000000000000000000000016700000000000000000000000000000000000000000000000000000000000001680000000000000000000000000000000000000000000000000000000000000169000000000000000000000000000000000000000000000000000000000000016a000000000000000000000000000000000000000000000000000000000000016b000000000000000000000000000000000000000000000000000000000000016c000000000000000000000000000000000000000000000000000000000000016d000000000000000000000000000000000000000000000000000000000000016e000000000000000000000000000000000000000000000000000000000000016f00000000000000000000000000000000000000000000000000000000000001700000000000000000000000000000000000000000000000000000000000000171000000000000000000000000000000000000000000000000000000000000017200000000000000000000000000000000000000000000000000000000000001730000000000000000000000000000000000000000000000000000000000000174000000000000000000000000000000000000000000000000000000000000017500000000000000000000000000000000000000000000000000000000000001760000000000000000000000000000000000000000000000000000000000000177370000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760200000000000000000000000000000000000000000000000000000000000003400000000000000000000000000000000000000000000000000000000000000341100000000000000000000000000000000000000000000000000000000000000540000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000541000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000542000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000543000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000544000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000545000000000000000000000000000000000000000000000000000000000000054f00000000000000000000000000000000000000000000000000000000000005460000000000000000000000000000000000000000000000000000000000000550000000000000000000000000000000000000000000000000000000000000054700000000000000000000000000000000000000000000000000000000000005510000000000000000000000000000000000000000000000000000000000000548000000000000000000000000000000000000000000000000000000000000055200000000000000000000000000000000000000000000000000000000000005490000000000000000000000000000000000000000000000000000000000000553000000000000000000000000000000000000000000000000000000000000054a0000000000000000000000000000000000000000000000000000000000000554000000000000000000000000000000000000000000000000000000000000054b0000000000000000000000000000000000000000000000000000000000000555000000000000000000000000000000000000000000000000000000000000054c0000000000000000000000000000000000000000000000000000000000000556000000000000000000000000000000000000000000000000000000000000054d0000000000000000000000000000000000000000000000000000000000000557000000000000000000000000000000000000000000000000000000000000054e0000000000000000000000000000000000000000000000000000000000000558000000000000000000000000000000000000000000000000000000000000054f0000000000000000000000000000000000000000000000000000000000000559000011000000021c000000b02d622c8b62e54bf51a1fd35b67456b229dae3bc6126977f1b2d88662a3418347a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb6a83e0eb61b97deda6e3f6e57e02e3e50f41a6c05d9d508147d543e0d9fbbe858c33d4e6a2185f8c0152162e19e296fff1a7e1664c5c8194faf05fc0450c5725c0de96009000000b014b645af1d3b7df259bc545d7f52bc412546986a5f76ff3b331cb8dbddf1c9c2ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb6ac3e0eb602ebf7fe2895a0551fcabf530c27bd24616d64b8ca61c55720001ad1fded94e508da11e3cf7794deddc5f101328b67834d6075f3fc13834dd109a4d54899a684000000b02c6ead45b8c3501951a91b1618e165bcd512dd57263df715f742e0e908a2103eb03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb6b03e0eb61aa45f94c41d727c17b7860ba5b666a01139a9a59128bd31e42642df289ddb612092797a6aff6705d5b2b7b9cc1a10fefd2cbae0c2da7b28952fcce27349ed000000021c000000b013c2c6697319821691459c1830eeb6db5cab39fb734b7e5f77871362435256b9b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb6b43e0eb601f878b87e73a4795754070dbdc3b7be98d20649de36447b646a7558634e21dc07e6929e25559903154f38bbe427621d84c517850fe802721573ff5badfa337b000000b02b7b2e000ea1543d893262d0ca7d60570c777ee83a12763a3bad3b6f6e029d35b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb6b83e0eb619b0e04f19fb76a04f40cdc65752613a489e4b36a4fd3c5628909d658dfe68581f9efa34c0dd6b2a0d3bff747db60b9934915c71d6aefa4cd99a2768d8aa79f7000000b012cf4723c8f7863ac8cee3d2e28ab175940fdb8c871ffd83bbf16de8a8b2e3b0bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb6bc3e0eb60104f972d451a89d8edd4ec86f5fb258d036a7daf20ac39fa8d4cfdec8aeaed306f313587b339d274cd8807695c35cb7bc29b91623bc819659de59e2135ac0720000021c000000b02a87aeba647f5861c0bbaa8b7c195af143dc20794de6f55e801795f5d3632a2cc03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb6c03e0eb618bd61096fd97ac486ca158108ee5bd48002ecc7b8d1bb7a6cfaf7ebf35ef54f1eab7aef16bb6f4e44c5472f2f5206336bf5fe02ea8379711e0481ef3e0b06ee000000b011dbc7de1ed58a5f00582b8d9426ac0fcb747d1d9af47ca8005bc86f0e1370a7c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb6c43e0eb600117a2d2a2facc1c666968320fbacf3079b496c05df42c3ed3f2a652e0f3bca05ff9412d111a14b8461c831475f5751f38e5aa7379100ba9e48b46878bb4d69000000b029942f74ba5d5c85f844f2462db5558b7b40c20a61bb7482c481f07c38c3b723c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb6c83e0eb617c9e1c3c5b77ee8be535d3bba8a566eb7678e58cca63a9eb165527258bf82461db7fba96c9973727c4e8ee9e0ee00cda35a9f93fe57f895626edc75a36b93e50000021c000000b010e8489874b38e8337e1734845c2a6aa02d91eaeaec8fbcc44c622f57373fd9ecc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb6cc3e0eb62f82495a613f510fb64023f45418ffea6733d345936d3279758b7a7f836fc8c2050c14cd26efa56fbbeb0febf8fb51ec2af2fc384b657fdee2b30eeede1bda60000000b028a0b02f103b60aa2fce3a00df515025b2a5639b758ff3a708ec4b029e24441ad03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb6d03e0eb616d6627e1b95830cf5dca4f66c265108eecc2fe9e07ab9c2f5cfacf8be200f3d1cc47c63c2777796b3d7d6a49289fb67dabf4125122c77b9a6d936fc08cc20dc000000b00ff4c952ca9192a76f6abb02f75ea1443a3dc03fc29d7af089307d7bd8d48a95d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb6d43e0eb62e8eca14b71d5533edc96baf05b4fa849e9874d6a741b19db9f5d505e8d055b9041895877ccda993f37457a6aa974c8662579dc95f39ff03271d6975437c67570000021c000000b027ad30e9661964ce675781bb90ed4abfea0a052c896472cb4d56a5890384d111d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb6d83e0eb615e2e338717387312d65ecb11dc24ba32630d17af44f38e73a3a077f23809c341bd0fd1e18557bbaeb611e5f4425f6021223e2b62600f6ddeb4391826e2cadd3000000b00f014a0d206f96cba6f402bda8fa9bde71a261d0d671fa14cd9ad8023e35178cdc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb6dc3e0eb62d9b4acf0cfb59582552b369b750f51ed5fd1667bb1630c1fe602f8c4e30e2b003251641d2abadb82afd9f615c33472099bc3f5a730e7e276b87c3fba8dcf44e000000b026b9b1a3bbf768f29ee0c9764289455a216ea6bd9d38f1ef91c1000f68e55e08e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb6e03e0eb614ef63f2c7518b5564ef346bcf5e463d5d95730c0823b80b7ea4620588e1292b1add7dd86e337fdf22ea6619f5c1f09c4988844739d576022fadec08d38d3aca0000021c000000b00e0dcac7764d9aefde7d4a785a969678a9070361ea46793912053288a395a483e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb6e43e0eb62ca7cb8962d95d7c5cdbfb2468ecefb90d61b7f8ceeaafe642ca8a12b3916fa7023196fc2889b1dc6286e71c0dcf41bad120e0eb86e2fd4baff21e820e3d8145000000b025c6325e11d56d16d66a1130f4253ff458d3484eb10d7113d62b5a95ce45eaffe83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb6e83e0eb613fbe4ad1d2f8f799c787c2680fa40d794fa149d1bf8372fc30ebc8bee41b62219e9fe92c41184035a73add4a75deb3680ed25d84da9f5267418468f38edc7c1000000b00d1a4b81cc2b9f14160692330c329112e06ba4f2fe1af85d566f8d0f08f6317aec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb6ec3e0eb62bb44c43b8b761a0946542df1a88ea5344c65989e2bf2f0a8734e49918f1fc9e013e17b67e67b6009a102ed6bf6b3c550885827c9ab77c6ff45c7908739e0e3c0000021c000000b024d2b31867b3713b0df358eba5c13a8e9037e9dfc4e1f0381a95b51c33a677f6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb6f03e0eb613086567730d939dd401c3e132963b71cc5eb62e2fccb6540779171253a2431918f67f4d19ef882791fcf58f58f9e5d0b851c769617e744ab882a1159e4e54b8000000b00c26cc3c2209a3384d8fd9edbdce8bad17d0468411ef77819ad9e7956e56be71f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb6f43e0eb62ac0ccfe0e9565c4cbee8a99cc24e4ed7c2afb1af693ae2ecb9f3f1f7e528995004a9870d445ba24d1997691710736ef3fea240dae8bfb9438c6d38ed8fe9b33000000b023df33d2bd91755f457ca0a6575d3528c79c8b70d8b66f5c5f000fa2990704edf83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb6f83e0eb61214e621c8eb97c20b8b0b9be432360c03c357bf43a135784be37198b902d010180300076fcd8c4bc9863d4a0a95e06aefb668fa7552f36efcecfb9c03aee1af0000021c000000b00b334cf677e7a75c851921a86f6a86474f34e81525c3f6a5df44421bd3b74b68fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb6fc3e0eb629cd4db8647369e90377d2547dc0df87b38f9cac0a682d53100999a5e3b3168c2fbb679e0b555e72c1730402a42489e69f82ade73c19eb49c11323a92e5f282b000000b023533ea2e37804772c2110f02930ea449560b0aba9928ecbd3a6cb5f73909f15003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6003f0eb6112166dc1ec99be64314535695ce30a63b27f9505775b49c904dcc1f1e635d07170f80c1c5ab9070010f8504bc31db05271b0a8b8927729341575622690f6ea6000000b00aa757c69dce36746bbd91f2413e3b631cf90d4ff6a0161553eafdd8ae40e590043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6043f0eb6294158888a59f900ea1c429e4f9494a38153c1e6db444cc284b05562be3cb0b42f2f726e313bed8aa817744c75f83f026d46d3220cf60ab935b9df6608e8c25300000fa400000168000000b0225fbf5d3956089b63aa58aadacce4deccc5523cbd670df0181125e5d8f12c0c083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6083f0eb6109571ac44b02afe29b8c3a067a1e5c208ec1e8b2851d40c04f487dbf8ecf72f16838b91eb921f87e7b3f54e8e059020f4df2fc65a039202b5fe11df439908ce000000b009b3d880f3ac3a98a346d9acf2da35fd545daee10a7495399855585f13a172870c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb60c3f0eb6284dd942e037fd2521a58a5901308f3db8b86377ef18cbe6c91aafe9239d3dab2e3bf3288719f1aedfa0bc072794399ca4ab74b320ca89dd7a2439ec6e494f4a00000168000000b0216c40178f340cbf9b33a0658c68df790429f3cdd13b8d145c7b806c3e51b903103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb6103f0eb60fa1f2669a8e2f2261420b5b193de05c4050c01c3c265330495ee2625e4d842615900c4c417023ac1f3d3d093fa18abb2c43d1576dd81126fa686c65a8f995c5000000b008c0593b498a3ebcdad02167a47630978bc250721e49145ddcbfb2e57901ff7e143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6143f0eb6275a59fd36160149592ed213b2cc89d7f01d050902ed4b0b0d850a6f88fdcaa22d4873e2dcf7f5d3172a03c1d9303436dc101644349f0901be8e9472d3a9dc4100000168000000b02078c0d1e51210e3d2bce8203e04da133b8e955ee5100c38a0e5daf2a3b245fa183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb6183f0eb60eae7320f06c334698cb5315cad9daf677b561ad4ffad2548dc93ce8c3ae111d149c8d06974e27d056c684c3f13d855563a872e881ac904b3ed2c6ec0e5a22bc000000b007ccd9f59f6842e11259692256122b31c326f203321d9382212a0d6bde628c751c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb61c3f0eb62666dab78bf4056d90b819ce646884722781a69a16c1ca2f51ef64f5ee5e57992c54f49d32d5f9f74eb34b7c8acc2ed11374b7d54873882602f8eef9390a693800000168000000b01f85418c3af015080a462fdaefa0d4ad72f336eff8e48b5ce55035790912d2f1203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb6203f0eb60dbaf3db464a376ad0549ad07c75d590af1a033e63cf5178d233976f290e9e1413a90dc0ed2c2bf48e4fcc7ea2d97fef9b0d147995810f6f833d217273baafb3000000b006d95aaff546470549e2b0dd07ae25cbfa8b939445f212a6659467f243c3196c243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb6243f0eb625735b71e1d20991c841618916047f0c5ee6482b2a9649539659bf7c53bee4902b61755788b3fe1b863c93373c68296b4ad959665c48074a4763497f9e6af62f00000168000000b01e91c24690ce192c41cf7795a13ccf47aa57d8810cb90a8129ba8fff6e735fe8283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb6283f0eb60cc774959c283b8f07dde28b2e11d02ae67ea4cf77a3d09d169df1f58e6f2b0b12b58e7b430a3018c5d9143954757a89d271b60aa9558e93c7a77bf8d91b3caa000000b005e5db6a4b244b29816bf897b94a206631f0352559c691caa9fec278a923a6632c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb62c3f0eb6247fdc2c37b00db5ffcaa943c7a079a6964ae9bc3e6ac877dac41a02b91f71872a6df611de92023fbdc5daf1ee042405823dfaf7701c866e8bcda40603cb832600000168000000b01d9e4300e6ac1d507958bf5052d8c9e1e1bc7a12208d89a56e24ea85d3d3ecdf303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb6303f0eb60bd3f54ff2063fb33f672a45dfadcac51de346608b784fc15b084c7bf3cfb80211c20f3598e8343cfd625bf40611752409d6579bbd2a0db80c11d67f3e7bc9a1000000b004f25c24a1024f4db8f540526ae61b006954d6b66d9b10eeee691cff0e84335a343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6343f0eb6238c5ce68d8e11da3753f0fe793c7440cdaf8b4d523f479c1f2e74891e7ffe7e297a76cc34700663f54f22ac9fa01e9fb9a29c8883f10592d037fe8c692c101d00000168000000b01caac3bb3c8a2174b0e2070b0474c47c19211ba3346208c9b28f450c393479d6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb6383f0eb60ae0760a47e443d776f072009149c55f5547e7f19f4ccee59f72a702593044f910ce8fefeec6386134eba3aeb7ad6fbe413af92cd0fe8cdc507c3105a3dc5698000000b003fedcdef6e05371f07e880d1c82159aa0b97847816f901332d3778573e4c0513c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb63c3f0eb62298dda0e36c15fe6edd38b92ad86edb05142cde6613c6c06398cf0f83e08b752886f7868a4e0a882cd86a67513c1939f1073e1997c584b714a25912ce8c9d1400000168000000b01bb7447592682598e86b4ec5b610bf165085bd34483687edf6f99f929e9506cd403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb6403f0eb609ecf6c49dc247fbae79b9bb42e5bff98cac8982b3214e09e3dd0188be90d1f00fdb10aa44a43c856c74eb6969496a58789f9abde4d30c0094e68b8c093ce38f000000b0030b5d994cbe57962807cfc7ce1e1034d81e19d895440f37773dd20bd9454d48443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb6443f0eb621a55e5b394a1a22a6668073dc7469753c78ce6f79e845e4a8032995e941186c27937840e02c0eac6461b22202d813d4286bdfaaab9a03db590cb39933ed2a0b00000168000000b01ac3c52fe84629bd1ff4968067acb9b087ea5ec55c0b07123b63fa1903f593c4483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb6483f0eb608f9777ef3a04c1fe6030175f481ba93c4112b13c6f5cd2e28475c0f23f15ee70ee791649a8240a9a3fe33241ae564f2b0043c4ef8a78b24d950e6126e9d7086000000b00217de53a29c5bba5f9117827fba0acf0f82bb69a9188e5bbba82c923ea5da3f4c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb64c3f0eb620b1df158f281e46ddefc82e8e10640f73dd70008dbcc508ec6d841c4ea1a563269ff8fb360a12d09beaf9dcb4740e6e5fd0813bbf6e82ff9d770e1f994db70200000168000000b019d045ea3e242de1577dde3b1948b44abf4f00566fdf86367fce549f695620bb503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb6503f0eb60805f839497e50441d8c4930a61db52dfb75cca4daca4c526cb1b6958951ebde0df4121ef06044cddb877adecc815f8ce768dde00c7c0a491dbb4098d3fdfd7d000000b001245f0df87a5fde971a5f3d3156056946e75cfabced0d8000128718a4066736543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb6543f0eb61fbe5fcfe506226b15790fe93fac5ea9ab421191a191442d30d7dea2b402325a25ac79b58be816f4d374419766100908973522ccd3430223e1e168a5feae43f900000168000000b018dcc6a4940232058f0725f5cae4aee4f6b3a1e783b4055ac438af25ceb6adb2583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6583f0eb6071278f39f5c5468551590eb57b9afc832da6e35ee9ecb76b11c111beeb278d50d0092d9463e48f21310c2997e1d5a271ecd7f712050896d62259b1f395e8a74000000b00030dfc84e586402cea3a6f7e2f200037e4bfe8bd0c18ca4447ce19f0966f42d5c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb65c3f0eb61ecae08a3ae4268f4d0257a3f1485943e2a6b322b565c351754239291962bf5124b8fa6fe1c61b190afd895217ac03a2ce99c45de7178148264bc32c640ed0f0380000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000018100000000000000000000000000000000000000000000000000000000000001820000000000000000000000000000000000000000000000000000000000000183000000000000000000000000000000000000000000000000000000000000018400000000000000000000000000000000000000000000000000000000000001850000000000000000000000000000000000000000000000000000000000000186000000000000000000000000000000000000000000000000000000000000018700000000000000000000000000000000000000000000000000000000000001880000000000000000000000000000000000000000000000000000000000000189000000000000000000000000000000000000000000000000000000000000018a000000000000000000000000000000000000000000000000000000000000018b000000000000000000000000000000000000000000000000000000000000018c000000000000000000000000000000000000000000000000000000000000018d000000000000000000000000000000000000000000000000000000000000018e000000000000000000000000000000000000000000000000000000000000018f0000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000019100000000000000000000000000000000000000000000000000000000000001920000000000000000000000000000000000000000000000000000000000000193000000000000000000000000000000000000000000000000000000000000019400000000000000000000000000000000000000000000000000000000000001950000000000000000000000000000000000000000000000000000000000000196000000000000000000000000000000000000000000000000000000000000019700000000000000000000000000000000000000000000000000000000000001980000000000000000000000000000000000000000000000000000000000000199000000000000000000000000000000000000000000000000000000000000019a000000000000000000000000000000000000000000000000000000000000019b000000000000000000000000000000000000000000000000000000000000019c000000000000000000000000000000000000000000000000000000000000019d000000000000000000000000000000000000000000000000000000000000019e000000000000000000000000000000000000000000000000000000000000019f00000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001a100000000000000000000000000000000000000000000000000000000000001a200000000000000000000000000000000000000000000000000000000000001a300000000000000000000000000000000000000000000000000000000000001a400000000000000000000000000000000000000000000000000000000000001a500000000000000000000000000000000000000000000000000000000000001a600000000000000000000000000000000000000000000000000000000000001a700000000000000000000000000000000000000000000000000000000000001a800000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000001aa00000000000000000000000000000000000000000000000000000000000001ab00000000000000000000000000000000000000000000000000000000000001ac00000000000000000000000000000000000000000000000000000000000001ad00000000000000000000000000000000000000000000000000000000000001ae00000000000000000000000000000000000000000000000000000000000001af00000000000000000000000000000000000000000000000000000000000001b000000000000000000000000000000000000000000000000000000000000001b100000000000000000000000000000000000000000000000000000000000001b200000000000000000000000000000000000000000000000000000000000001b300000000000000000000000000000000000000000000000000000000000001b400000000000000000000000000000000000000000000000000000000000001b500000000000000000000000000000000000000000000000000000000000001b600000000000000000000000000000000000000000000000000000000000001b7370000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b60200000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000381100000000000000000000000000000000000000000000000000000000000000580000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000581000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000582000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000583000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000584000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000585000000000000000000000000000000000000000000000000000000000000058f00000000000000000000000000000000000000000000000000000000000005860000000000000000000000000000000000000000000000000000000000000590000000000000000000000000000000000000000000000000000000000000058700000000000000000000000000000000000000000000000000000000000005910000000000000000000000000000000000000000000000000000000000000588000000000000000000000000000000000000000000000000000000000000059200000000000000000000000000000000000000000000000000000000000005890000000000000000000000000000000000000000000000000000000000000593000000000000000000000000000000000000000000000000000000000000058a0000000000000000000000000000000000000000000000000000000000000594000000000000000000000000000000000000000000000000000000000000058b0000000000000000000000000000000000000000000000000000000000000595000000000000000000000000000000000000000000000000000000000000058c0000000000000000000000000000000000000000000000000000000000000596000000000000000000000000000000000000000000000000000000000000058d0000000000000000000000000000000000000000000000000000000000000597000000000000000000000000000000000000000000000000000000000000058e0000000000000000000000000000000000000000000000000000000000000598000000000000000000000000000000000000000000000000000000000000058f0000000000000000000000000000000000000000000000000000000000000599000011000000021c000000b017e9475ee9e03629c6906db07c80a97f2e1843789788847f08a309ac34173aa9603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6603f0eb6061ef9adf53a588c8c9ed8a60955aa626a3f0fc702734a9af5866ba2541305cc0c0d13939c1c4d164a9a0a542fb954c15632210234250891a68ff5a59ebf176b000000b02fa1aef585680850be7d3469160f52fadde488655e4f7c59ccc931b95ec78125643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb6643f0eb61dd7614490c22ab3848b9f5ea2e453de1a0b54b3c93a4275b9ac93af7ec34c4823c57b2a37a41f3d4286d10cc947fe3d05fe65eefaec006c6ab61db2c96f5de7000000b016f5c8193fbe3a4dfe19b56b2e1ca419657ce509ab5d03a34d0d64329977c7a0683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6683f0eb6052b7a684b185cb0c4282060baf1a4fca1a3b1581647c9bf39f0c628b97392c30b19944df1fa513a8223520ee1554f5b8d96c29347f987b5eafa502c041fa4620000021c000000b02eae2fafdb460c74f6067c23c7ab4d95154929f67223fb7e11338c3fc4280e1c6c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb66c3f0eb61ce3e1fee6a02ed7bc14e71954804e78516ff644dd0ec199fe16ee35e423d93f22d1fbe48d8223617a1018c77ae3f8d73d6307800ec07f90af2078392ecfeade000000b0160248d3959c3e7235a2fd25dfb89eb39ce1869abf3182c79177beb8fed85497703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb6703f0eb60437fb22a0f660d4fbb1681b6c8d9f96d90852e92a1c48e37e5b20af1ed41fba0a26150847d8555eb9ac99c992f149f5c4fb64245bce06da2f64aab269803159000000b02dbab06a312410992d8fc3de7947482f4cadcb8785f87aa2559de6c629889b13743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb6743f0eb61bf062b93c7e32fbf39e2ed4061c491288d497d5f0e340be428148bc4984663621de7c9ee3602785b19960822c7ff37174c7a9112294feb4f38ad2bf943077d50000021c000000b0150ec98deb7a42966d2c44e09154994dd446282bd30601ebd5e2193f6438e18e783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb6783f0eb603447bdcf6d464f9333aafd61e299a31106cf47a3df0c807c2c57b358434acb1093295c29db65982f135e184448d448ffc6005b56fa285fe73cf0538cee0be50000000b02cc73124870214bd65190b992ae342c984126d1899ccf9c69a08414c8ee9280a7c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb67c3f0eb61afce373925c37202b27768eb7b843acc039396704b7bfe286eba342aee4f32d20eafd59393e2ba9e922a83cde1bee0bac2c4aa236697dd937f52d45f99104cc000000b0141b4a48415846baa4b58c9b42f093e80baac9bce6da81101a4c73c5c9996e85803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb6803f0eb60250fc974cb2691d6ac3f790cfc594cb47d1960b51c5472c072fd5bbe99539a8083f167cf3945da728bf293ef6293f2a33c4a74683770522b8395fbf34414b470000021c000000b02bd3b1dedce018e19ca25353dc7f3d63bb770ea9ada178eade729bd2f449b501843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb6843f0eb61a09642de83a3b4462b0be4969543e46f79ddaf8188c3f06cb55fdc9144580241ff77e138f1c2fce20abeff78fb7e8a5e390ec334a3dfcfd7c5f87cc5ef191c3000000b01327cb0297364adedc3ed455f48c8e82430f6b4dfaaf00345eb6ce4c2ef9fb7c883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6883f0eb6015d7d51a2906d41a24d3f4b81618f657f36379c6599c6504b9a30424ef5c69f074b9737497261cb604870f9a7c539c46b2948d7974b8446fca3ba4599a1d83e000000b02ae0329932be1d05d42b9b0e8e1b37fdf2dbb03ac175f80f22dcf65959aa41f88c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb68c3f0eb61915e4e83e183f689a3a06041af038e12f027c892c60be2b0fc0584f79a60d1b1f03fecde4fa33f2583537b24153e3401af58dc45e127c21c0c9e252c4521eba0000021c000000b012344bbced144f0313c81c10a628891c7a740cdf0e837f58a32128d2945a8873903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb6903f0eb60069fe0bf86e7165d9d6870632fd89ffb69ad92d796e457490048ac8b4565396065817f19f5065ef97d1b8b45961345ea28dea68ab20036b410e14cbff026535000000b029ecb353889c212a0bb4e2c93fb732982a4051cbd54a7733674750dfbf0aceef943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6943f0eb6182265a293f6438cd1c34dbecc8c337b66671e1a40353d4f542ab2d5df069a121e107f883ad838168fbe7f6cf2efddda525a2f5571e6fb4605343cd929b2abb1000000b01140cc7742f253274b5163cb57c483b6b1d8ae702257fe7ce78b8358f9bb156a983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb6983f0eb62fdacd392f7e15b3c9b01477661adcf71633630706fc352a1850dae309b6e08e056498abf52e6a13cf5b006f0afd2ef8d9f28bf9bef4828f85786f526462f22c0000021c000000b028f9340dde7a254e433e2a83f1532d3261a4f35ce91ef657abb1ab66246b5be69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb69c3f0eb6172ee65ce9d447b1094c95797e282e159dcbbfab5409bc7398950d5c446727091d1d004290b63c3ac747c727a48bd87489bed0e685bb7a6a499e975f8f1338a8000000b0104d4d3198d0574b82daab8609607e50e93d5001362c7da12bf5dddf5f1ba261a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb6a03f0eb62ee74df3855c19d801395c3217b6d7914d9804981ad0b44e5cbb35696f176d85047119664b0c6e3806e44829bc99299311572d8ad2c901b3c9e2c9d8c9c37f23000000b02805b4c8345829727ac7723ea2ef27cc990994edfcf3757bf01c05ec89cbe8dda43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6a43f0eb6163b67173fb24bd540d5dd342fc428afd530613c67de3b97dcff67e2a9c7b4001c2980fce694405efed10ee25627d30ec1237277998ff98e8e08f1e5f473c59f0000021c000000b00f59cdebeeae5b6fba63f340bafc78eb20a1f1924a00fcc570603865c47c2f58a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb6a83f0eb62df3ceaddb3a1dfc38c2a3ecc952d22b84fca6292ea53372a1258fefd477fa7c037d9a20a0ea725c3e6d8fe46e35242d48bbcf1be69d80d80e4d245f2f240c1a000000b0271235828a362d96b250b9f9548b2266d06e367f10c7f4a034866072ef2c75d4ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb6ac3f0eb61547e7d195904ff9785f24eee160234a0c9502cd7bb2babc2169c2690f2840f71b3601b73c724483365a569d07c3cda8f8881408ad6478b2d2734c6c59d45296000000b00e664ea6448c5f93f1ed3afb6c987385580693235dd57be9b4ca92ec29dcbc4fb03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb6b03f0eb62d004f6831182220704beba77aeeccc5bc6147ba4279b296e58fea7639d88773028a1adaf6c8768075f6d79f1fd11ec7802070acfa71fffc52b77ee5948499110000021c000000b0261eb63ce01431bae9da01b406271d0107d2d810249c73c478f0baf9548d02cbb43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb6b43f0eb61454688beb6e541dafe86ca992fc1de443f9a45e8f8739e065d41cef7488cdee1a428271925048a76de39e57b95fc8432fecb599c138f7d716dda6f2bf34df8d000000b00d72cf609a6a63b8297682b61e346e1f8f6b34b471a9fb0df934ed728f3d4946b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb6b83f0eb62c0cd02286f62644a7d533622c8ac75ff3c5e94b564e31bb29fa44fc9f39146a01969b954ca67aa4ad801f59d16d1961b785123e0e467f209721d96bf9e52608000000b0252b36f735f235df2163496eb7c3179b3f3779a13870f2e8bd5b157fb9ed8fc2bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb6bc3f0eb61360e946414c5841e771b4644498187e7b5e45efa35bb904aa3e7775d9e95ae5194f032be82e4ccba56ce6126afbc2dd6751572ad50d76fb5b48017924956c8400000fa400000168000000b00c7f501af04867dc60ffca70cfd068b9c6cfd645857e7a323d9f47f8f49dd63dc03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb6c03f0eb62b1950dcdcd42a68df5e7b1cde26c1fa2b2a8adc6a22b0df6e649f830499a16100a31c4fa2847ec8e5096714830913fbeee9b3cf221afe44db8c33f25f45b2ff000000b02437b7b18bd03a0358ec9129695f1235769c1b324c45720d01c570061f4e1cb9c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6c43f0eb6126d6a00972a5c661efafc1ef6341318b2c2e780b7303828eea8d1fc3f49e7dc185b83e63e0c50efdcf62dcd1c97bd779eb5f8bbe8e1f61f9fb25bff89f5f97b00000168000000b00b8bd0d546266c009889122b816c6353fe3477d69952f9568209a27f59fe6334c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb6c83f0eb62a25d19732b22e8d16e7c2d78fc2bc94628f2c6d7df73003b2cefa0969fa2e583013eb7cd9942316d4e2f485b62666f34e823da8afa8edfa63d8840cb4a63ff7000000b02344386be1ae3e279075d8e41afb0ccfae00bcc36019f131462fca8c84aea9b0cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb6cc3f0eb61179eabaed08608a568443d9a7d00db2ea278911cb04b74d33132c82a4aa74d3176804a093ea5514147f7587ce33b811d61a9a4cfcb67543e41cb685ef56867200000168000000b00a98518f9c047024d01259e633085dee35991967ad27787ac673fd05bf5ef02bd03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb6d03f0eb629325251889032b14e710a92415eb72e99f3cdfe91cbaf27f739548fcf5abb4f2f206c372f72273b0c6c3c4067c2618d85e6df39c37d6d1ea842de931a06ccee000000b02250b926378c424bc7ff209ecc970769e5655e5473ee70558a9a2512ea0f36a7d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb6d43f0eb610866b7542e664ae8e0d8b94596c084d218c2aa2ded93671777d87090a0b01ca1674855ae9c859384c08bd427fcfb2ac0d7f3bde108af4682887110c54b7136900000168000000b009a4d249f1e27449079ba1a0e4a458886cfdbaf8c0fbf79f0ade578c24bf7d22d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6d83f0eb6283ed30bde6e36d585fa524cf2fab1c8d1586f8fa5a02e4c3ba3af1634bb48462e2cecf185502b5f43f583fb195e5c27bd4b80cad751ec42ecad39197f6759e5000000b0215d39e08d6a466fff8868597e3302041cc9ffe587c2ef79cf047f994f6fc39edc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb6dc3f0eb60f92ec2f98c468d2c596d34f0b0802e758f0cc33f2adb595bbe7e18f6f6b8ec1158106153fa65d5c839204fd316bad4644e3dd6f245f738c6cf16b92ba17a06000000168000000b008b1530447c0786d3f24e95b96405322a4625c89d4d076c34f48b2128a200a19e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6e03f0eb6274b53c6344c3af9bd839a07a496ac6308bd1120b974ad70800e099c9a1bd53d2d396dabdb2e2f837b7ecbb5cafa56c1f4b0225beb266b673117939fe4c7e6dc000000b02069ba9ae3484a943711b0142fcefc9e542ea1769b976e9e136eda1fb4d05095e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb6e43f0eb60e9f6ce9eea26cf6fd201b09bca3fd8190556dc5068234ba00523c15d4cc1bb8148d86cf95846180bb1b4cb7e307a7e07c487f003833f2b0b15bc6191f782d5700000168000000b007bdd3be9d9e7c9176ae311647dc4dbcdbc6fe1ae8a4f5e793b30c98ef809710e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb6e83f0eb62657d4808a2a3f1df50ce1c25632a6fd4021b2b1cd492c94c4786422ff7c62342c45ee66310c33a7b30813707c96515c2c14c3ecfefaea8b7581ee264a2873d3000000b01f763b5539264eb86e9af7cee16af7388b934307af6bedc257d934a61a30dd8cec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb6ec3f0eb60dabeda44480711b34a962c46e3ff81bc7ba0f561a56b3de44bc969c3a2ca8af139a0789eb6265a4f2a4947294a3a27ab3ad20914c0871d4f5c6209f84d8ba4e00000168000000b006ca5478f37c80b5ae3778d0f9784857132b9fabfc79750bd81d671f54e12407f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb6f03f0eb62564553ae00843422c96297d07cea19777865442e11dabb908e2bea964dcef2b2b526f2086ea37cbea915b2b2e324bf66379657e12cf69afb9ec48acaf8900ca000000b01e82bc0f8f0452dca6243f899306f1d2c2f7e498c3406ce69c438f2c7f916a83f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb6f43f0eb60cb86e5e9a5e753f6c32aa7f1fdbf2b5ff1eb0e72e2b33028926f1229f8d35a612a68844414069c92a2ddc2d463f9d14eb11c2225fdcf0f93a307b25ea39474500000168000000b005d6d533495a84d9e5c0c08bab1442f14a90413d104df4301c87c1a5ba41b0fef83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb6f83f0eb62470d5f535e64766641f7137b96a9c31aeeaf5d3f4f22add4d4d192fca3d7c222a5eefdadcc83bf0221aa2e5dfce46909ade070f26a3e8d3fe56a33314e98dc1000000b01d8f3cc9e4e25700ddad874444a2ec6cfa5c8629d714ec0ae0ade9b2e4f1f77afc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb6fc3f0eb60bc4ef18f03c7963a3bbf239d177ed503683527841ffb226cd914ba904edc29d11b308fe971e6ded61b723e7f7db97af227663b373b1701d7e9ad5ac4f99d43c00000168000000b0054ae0036f4113f1cc6530d57ce7f80d18546677e12a139f912e7d6294cb4b2600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb600400eb6237d56af8bc44b8a9ba8b8f26b0696cbe64f976508c6aa0191b773b62f9e0919296b709532a6401459a3eaa0916a412ad242a8a03a7867f842c0fdb97a4a1ab8000000b01d03479a0ac8e618c451f78e1676a188c820ab64a7f10b7a5554a56fbf7b91a204400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb604400eb60b38f9e91623087b8a606283a34ba26c044777b312dbd19642380765df775cc5112713cebd04fd05485b9431c9af4ccaf03a88ee448d8f8cf34191692a236e6400000168000000b0045760bdc51f181603ee78902e83f2a74fb90808f4fe92c3d598d7e8fa2bd81d08400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb608400eb622f1617fb1aadaa2824d293c3cda4be7b413bc9fd9a2c971065e2f730a27a34128df7b65588ccf2c40485aea633df646a006cddb0b548767b767b97654d3b4e0000000b01c0fc85460a6ea3cfbdb3f48c8129c22ff854cf5bbc58a9e99befff624dc1e990c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60c400eb60a457aa36c010c9fc1e9aa3e54e79d063bac194426b050ba86a261ec44d7e9bc1033948912e301297fe4dbec7b4b4765279f2a7f58620eb137abebef8f83fb5b00000168000000b00363e1781afd1c3a3b77c04ae01fed41871da99a08d311e81a03326f5f8c651410400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb610400eb621fde23a0788dec6b9d670f6ee764681eb785e30ed7748954ac889f96f88303827ebfc1fae6ad35077d1a2a514d9f0e0d76b6f6c1f29068bfbd213fcba3441d7000000b01b1c490eb684ee613364870379ae96bd36e9ee86cf9a09c2de295a7c8a3cab9014400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb614400eb60951fb5dc1df10c3f972f1f9068397a07310bad53a84cfdecb0cbc72aa3876b30f40154368c1054db76e23a72ce741ff5f03cc106c368dd57c164675f4e488523800000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000001c100000000000000000000000000000000000000000000000000000000000001c200000000000000000000000000000000000000000000000000000000000001c300000000000000000000000000000000000000000000000000000000000001c400000000000000000000000000000000000000000000000000000000000001c500000000000000000000000000000000000000000000000000000000000001c600000000000000000000000000000000000000000000000000000000000001c700000000000000000000000000000000000000000000000000000000000001c800000000000000000000000000000000000000000000000000000000000001c900000000000000000000000000000000000000000000000000000000000001ca00000000000000000000000000000000000000000000000000000000000001cb00000000000000000000000000000000000000000000000000000000000001cc00000000000000000000000000000000000000000000000000000000000001cd00000000000000000000000000000000000000000000000000000000000001ce00000000000000000000000000000000000000000000000000000000000001cf00000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000000000000000000000000000001d100000000000000000000000000000000000000000000000000000000000001d200000000000000000000000000000000000000000000000000000000000001d300000000000000000000000000000000000000000000000000000000000001d400000000000000000000000000000000000000000000000000000000000001d500000000000000000000000000000000000000000000000000000000000001d600000000000000000000000000000000000000000000000000000000000001d700000000000000000000000000000000000000000000000000000000000001d800000000000000000000000000000000000000000000000000000000000001d900000000000000000000000000000000000000000000000000000000000001da00000000000000000000000000000000000000000000000000000000000001db00000000000000000000000000000000000000000000000000000000000001dc00000000000000000000000000000000000000000000000000000000000001dd00000000000000000000000000000000000000000000000000000000000001de00000000000000000000000000000000000000000000000000000000000001df00000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000001e100000000000000000000000000000000000000000000000000000000000001e200000000000000000000000000000000000000000000000000000000000001e300000000000000000000000000000000000000000000000000000000000001e400000000000000000000000000000000000000000000000000000000000001e500000000000000000000000000000000000000000000000000000000000001e600000000000000000000000000000000000000000000000000000000000001e700000000000000000000000000000000000000000000000000000000000001e800000000000000000000000000000000000000000000000000000000000001e900000000000000000000000000000000000000000000000000000000000001ea00000000000000000000000000000000000000000000000000000000000001eb00000000000000000000000000000000000000000000000000000000000001ec00000000000000000000000000000000000000000000000000000000000001ed00000000000000000000000000000000000000000000000000000000000001ee00000000000000000000000000000000000000000000000000000000000001ef00000000000000000000000000000000000000000000000000000000000001f000000000000000000000000000000000000000000000000000000000000001f100000000000000000000000000000000000000000000000000000000000001f200000000000000000000000000000000000000000000000000000000000001f300000000000000000000000000000000000000000000000000000000000001f400000000000000000000000000000000000000000000000000000000000001f500000000000000000000000000000000000000000000000000000000000001f600000000000000000000000000000000000000000000000000000000000001f73700000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f60200000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c11000000000000000000000000000000000000000000000000000000000000005c000000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005c100000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005c200000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005c300000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005c400000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005c500000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005c600000000000000000000000000000000000000000000000000000000000005d000000000000000000000000000000000000000000000000000000000000005c700000000000000000000000000000000000000000000000000000000000005d100000000000000000000000000000000000000000000000000000000000005c800000000000000000000000000000000000000000000000000000000000005d200000000000000000000000000000000000000000000000000000000000005c900000000000000000000000000000000000000000000000000000000000005d300000000000000000000000000000000000000000000000000000000000005ca00000000000000000000000000000000000000000000000000000000000005d400000000000000000000000000000000000000000000000000000000000005cb00000000000000000000000000000000000000000000000000000000000005d500000000000000000000000000000000000000000000000000000000000005cc00000000000000000000000000000000000000000000000000000000000005d600000000000000000000000000000000000000000000000000000000000005cd00000000000000000000000000000000000000000000000000000000000005d700000000000000000000000000000000000000000000000000000000000005ce00000000000000000000000000000000000000000000000000000000000005d800000000000000000000000000000000000000000000000000000000000005cf00000000000000000000000000000000000000000000000000000000000005d9000011000000021c000000b00270623270db205e7301080591bbe7dbbe824b2b1ca7910c5e6d8cf5c4ecf20b18400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb618400eb6210a62f45d66e2eaf15fb8b1a012411c22dcffc2014bc7b98f32e47fd4e8bd2f26f87cda0448d774af5aea5fc675eb7b0ed010fd32fd85b0403c6e831f94cece000000b01a28c9c90c62f2856aedcebe2b4a91576e4e9017e36e88e72293b502ef9d38871c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb61c400eb6085e7c1817bd14e830fc39b3b81f923aaa755c664e594f030f7716f90f9903aa0e4c95fdbe9f0971eef76b61de833c9996686da1800b0cf9c080a0fc5a451549000000b0017ce2ecc6b92482aa8a4fc04357e275f5e6ecbc307c1030a2d7e77c2a4d7f0220400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb620400eb62016e3aeb344e70f28e9006c51ae3bb65a41a153152046ddd39d3f063a494a262604fd945a26db98e6e4321a7811e6154634b28e46d204d484a6c90984f55bc50000021c000000b019354a836240f6a9a2771678dce68bf1a5b331a8f743080b66fe0f8954fdc57e24400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb624400eb6076afcd26d9b190c6885816e69bb8cd4e1d9fdf7622dce2753e1717f74f990a10d5916b8147d0d962680b31c901f3733cdcd0f3293df8c1e04eafb82bfa5a240000000b0008963a71c9728a6e213977af4f3dd102d4b8e4d44508f54e74242028fae0bf928400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb628400eb61f2364690922eb3360724827034a365091a642e428f4c6021807998c9fa9d71d25117e4eb004dfbd1e6d79d529ade0af7d99541f5aa683f8c911238fea55e8bc000000b01841cb3db81efacdda005e338e82868bdd17d33a0b17872fab686a0fba5e52752c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb62c400eb606777d8cc3791d30a00ec9291b57876f193e9f8876024d4b984bcc05da5a1d980c6597726a5b11ba5e09fad741bb31ce0531b0c3a7b40b424955560925062f370000021c000000b02ffa32d453a6ccf4d1ed24ec281130078ce41826d1de7f0a6f8e921ce50e98f130400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb630400eb61e2fe5235f00ef5797fb8fe1b4e630eac90ae4753cc945265c71f413050a6414241dff0905e2e3e155f6c18fdb49db49b4fdf5b06e7b031d0d7b7e164fb675b3000000b0174e4bf80dfcfef21189a5ee401e8126147c74cb1eec0653efd2c4961fbedf6c34400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb634400eb60583fe4719572154d79810e3ccf3820950a3411989d6cc6fdcb6268c3fbaaa8f0b72182cc03915de95934291f3572c683c965254bb888a668dbfb08f8a66bc2e000000b02f06b38ea984d11909766ca6d9ad2aa1c448b9b7e5b2fe2eb3f8eca34a6f25e838400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb638400eb61d3c65ddb4def37bcf84d79c66822b85006f8606509dc44aa0dc4e996a6af10b232a7fc35bc0e8058d80094a8ce5d5e3ec629741824f824151e5d89cb51702aa0000021c000000b0165accb263db03164912eda8f1ba7bc04be1165c32c08578343d1f1c851f6c633c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb63c400eb604907f016f3525790f21589e7e8f7ca38807e2aa9dab4b9421208112a51b37860a7e98e716171a02cd1c8a4ca4f3270273faf3e5cf5d098ad22a0b15efc74925000000b02e133448ff62d53d40ffb4618b49253bfbad5b48f9877d52f8634729afcfb2df40400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb640400eb61c48e6980abcf7a0070e1f57181e261f37d427976472436ee546a91fcfcb7e022237007db19eec29c50951053e81d07e23c738d296240165965033231a778fa1000000b015674d6cb9b9073a809c3563a356765a8345b7ed4695049c78a779a2ea7ff95a44400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb644400eb6039cffbbc513299d46aaa059302b773dbf6c843bb17fcab8658adb990a7bc47d098b19a16bf51e2704a5d207568f219cab5f9576e33188af1694659c5527d61c0000021c000000b02d1fb5035540d9617888fc1c3ce51fd63311fcda0d5bfc773ccda1b015303fd648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb648400eb61b556752609afbc43e976711c9ba20b96f38c9287846c29329b103a6352c0af921438138077cf04dfc9298bff01dcb185b2bda63a9f88089daba8da97fd81c98000000b01473ce270f970b5eb8257d1e54f270f4baaa597e5a6983c0bd11d4294fe086514c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb64c400eb602a980761af12dc17e33e813e1c771d7f6d125ccc55449dca9f5361f6fdc517408979a5bc1d3224b3c2f19c2082b1c36e2c43707f70607d35afec022ba886313000000b02c2c35bdab1edd85b01243d6ee811a706a769e6b21307b9b8137fc367a90cccd50400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb650400eb61a61e80cb678ffe87620aecc7b561b53a69d6ab98c1b41b76e1b5e2c9a8c97f0205001f25d5af472341be07aa1b9c5b292907bf4bdccffae1f24e82fe538a98f0000021c000000b013804ee165750f82efaec4d9068e6b8ef20efb0f6e3e02e5017c2eafb541134854400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb654400eb601b6013070cf31e5b5bd2fce93636c722e35c75dd928c900ee5f90a5d53cde6b07a41b1617b1266f73b8617cb9c716d11a28d8990ada86f79f691aa91fe8f00a000000b02b38b67800fce1a9e79b8b91a01d150aa1db3ffc3504fabfc5a256bcdff159c458400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb658400eb6196e68c70c57040cada9f6872cf215edde020c4a9fefc0dbb285b8b2ffed24e71f5c82acb338f8966ba528355355c04cc9f51d85d1a17ed2638f42b64a993686000000b0128ccf9bbb5313a727380c93b82a662929739ca08212820945e689361aa1a03f5c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb65c400eb600c281eac6ad3609ed46778944ff670c659a68eeecfd482532c9eb2c3a9d6b6206b09bd06d8f2a93ab41a9376b63116b518d7a2a1eaf061be3d3752f85497d010000021c000000b02a45373256dae5ce1f24d34c51b90fa4d93fe18d48d979e40a0cb1434551e6bb60400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb660400eb6187ae98162350830e5333e41de8e10881566addbb3c43ffff6f01339654db1de1e6903670916fcbaa32e6ff004f1bae70159bf16e575fdf6a7f99d3caff9c37d000000b011995056113117cb5ec1544e69c660c360d83e3195e7012d8a50e3bc80022d3664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb664400eb630335117fdbcda57dd2004fa781cba03c532f2c87a8b37dabb163b468ffdf85a05bd1c8ac36d2eb7e2caf0f21cff0c0588f21bbb32838540283dcfb5eaaa09f8000000b02951b7ecacb8e9f256ae1b0703550a3f10a4831e5cadf9084e770bc9aab273b268400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb668400eb617876a3bb8130c551cbc85fc902a0b224ccb4f6cc798bf243b5a6dbfcaae3ed51d7584215ef500dedab7b7aab68db58138be60a7f94a7d1aec63f7c3155a50740000021c000000b010a5d110670f1bef964a9c091b625b5d983cdfc2a9bb8051cebb3e42e562ba2d6c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb66c400eb62f3fd1d2539ade7c14a94cb529b8b49dfc9794598e5fb6feff8095ccf55e855104c99d45194b32dc1a5438acce9b069fc056bd4c465804646ca82a3c500a96ef000000b0285e38a70296ee168e3762c1b4f104d9480924af7082782c92e16650101300a970400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb670400eb61693eaf60df110795445cdb741c605bc842ff0fddb6d3e487fc4c846300ecbcc1c8204dbb4d305031240ff656829b01b702302390d1efc3f30ce52497abadd6b000000b00fb251cabced2013cdd3e3c3ccfe55f7cfa18153bd8fff76132598c94ac3472474400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb674400eb62e4c528ca978e2a04c32946fdb54af3833fc35eaa234362343eaf0535abf124803d61dff6f29370051dd806780370139f7bb5edd5a2c8388b11284c2b56b23e600000fa400000168000000b0276ab9615874f23ac5c0aa7c668cff737f6dc6408456f750d74bc0d675738da078400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb678400eb615a06bb063cf149d8bcf1571f3620056bb94928eef41bd6cc42f22cc956f58c31b8e85960ab1092749ca472019c5aab5a787a3ca20f37b637538accfe01b6a62000000b00ebed28512cb2438055d2b7e7e9a5092070622e4d1647e9a578ff34fb023d41b7c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb67c400eb62d58d346ff56e6c483bbdc2a8cf0a9d26b60d77bb608b54788554ad9c01f9f3f02e29eb9c5073b248966c82231d2fbd42f20006e6e0102acf57cdf491acbb0dd00000168000000b026773a1bae52f65efd49f2371828fa0db6d267d1982b76751bb61b5cdad41a9780400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb680400eb614acec6ab9ad18c1c3585d2ca4fdfaf0f2f9342003163c9108997d52facfe5ba1a9b0650608f0d4b81538edacb61a54fdeec455b34c7fa87b9a30756457bf759000000b00dcb533f68a9285c3ce6733930364b2c3e6ac475e538fdbe9bfa4dd61584611284400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb684400eb62c6554015534eae8bb4523e53e8ca46ca2c5790cc9dd346bccbfa56025802c3601ef1f741ae53f48c0f00fdce36ef66e6684a1ff81d581d139e739cf802c3dd400000168000000b02583bad60430fa8334d339f1c9c4f4a7ee370962abfff599602075e34034a78e88400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb688400eb613b96d250f8b1ce5fae1a4e75699f58b2a5dd5b116eabbb54d03d7d9603072b119a7870ab66d116fb8dcd6957cfd9fea1650e6ec489c79abfe0d61dcaadc8450000000b00cd7d3f9be872c80746fbaf3e1d245c675cf6606f90d7ce2e064a85c7ae4ee098c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb68c400eb62b71d4bbab12ef0cf2ce6b9ff0289f06da2a1a9dddb1b3901129ffe68ae0b92d00fba02e70c3436cf8795797950af1089de9439095aa00f57e519455e58ccacb00000168000000b024903b905a0efea76c5c81ac7b60ef42259baaf3bfd474bda48ad069a595348590400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb690400eb612c5eddf6569210a326aeca20835f02561c277422abf3ad9916e325fc590ffa818b407c50c4b1593f0661e502e999a844db5887d5c70f8d04277bc63103d1147000000b00be454b4146530a4abf902ae936e4060ad3407980ce1fc0724cf02e2e0457b0094400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb694400eb62a7e557600f0f3312a57b35aa1c499a1118ebc2ef18632b455945a6cf0414624000820e8c6a1479130029f5246a6eba2d54de521a97e8019c2bbeedc4aed57c200000168000000b0239cbc4aafed02cba3e5c9672cfce9dc5d004c84d3a8f3e1e8f52af00af5c17c98400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb698400eb611d26e99bb47252e69f4345cb9d1eabf992718d33e93b9fdd5d88ce62af18c9f17c0887f622919b827ef660ae035951e851a2a0e704577f486e216e9759d9e3e000000b00af0d56e6a4334c8e3824a69450a3afae498a92920b67b2b69395d6945a607f79c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb69c400eb6298ad63056cef75561e0fb155360943b48f35dc0055ab1d899feb4f355a1d31b2f78f015fdb0ebdf1fdc2cc379c43e9a34e66efb370c6fcf4b083ef6a04de4ba00000168000000b022a93d0505cb06efdb6f1121de98e4769464ee15e77d73062d5f857670564e73a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb6a0400eb610deef5411252952a17d7c176b6de559d08bba64526839221a42e76c9052199616cd0939b8071ddc5f78adc591d18fb8bc7ecb9f8419f718cb4c716fdafe2b35000000b009fd5628c02138ed1b0b9223f6a635951bfd4aba348afa4fada3b7efab0694eea4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6a4400eb6289756eaacacfb79996a42d004fc8ed58057ff51192f30fcde690f79bb0260122e8570d0538ef0035765747e2b6039346c4b108c4ae0eef38f72997d05ae71b100000168000000b021b5bdbf5ba90b1412f858dc9034df10cbc98fa6fb51f22a71c9dffcd5b6db6aa8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb6a8400eb60feb700e67032d76d906c3d21d09dff407f05bf5663cb8465ead41f2f5b2a68d15d989f40de522009701f580436d8a52f3e36d3097ee763d0fb6cbf6405eb82c000000b00909d6e315ff3d115294d9dea842302f5361ec4b485f7973f20e1276106721e5ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb6ac400eb627a3d7a5028aff9dd0f38a8ab698896fb7bca0e22d03b02122d36a002062ed092d91f18aa96cf4278eeebc38dcfc33cea3afb21d5eb56e17d3dcf4036b0efea800000168000000b020c23e79b1870f384a81a09741d0d9ab032e31380f26714eb6343a833b176861b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb6b0400eb60ef7f0c8bce1319b10900b8ccea5da8e3f54fd867a11376aa3179c795b13338414e60aae63c32624ce8b3d3af50984ed2b480ec1abc2f5615421267ca5bf4523000000b00816579d6bdd41358a1e219959de2ac98ac68ddc5c33f89836786cfc75c7aedcb4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb6b4400eb626b0585f586903c2087cd24568348409ef21427340d82f45673dc48685c37a002c9e7244ff4af84bc67803f38e982e68db1453ae7289ed3c18474e89d06f8b9f00000168000000b01fcebf340765135c820ae851f36cd4453a92d2c922faf072fa9e9509a077f558b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb6b8400eb60e04718312bf35bf481953478041d52876b99f178de5b68ee781f6ffc073c07b13f28b68b9a12a49061484f5a6a57f8762acb052bf977485988b81030b1fd21a000000b00722d857c1bb4559c1a769540b7a2563c22b2f6d700877bc7ae2c782db283bd3bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb6bc400eb625bcd919ae4707e640061a0019d07ea42685e40454acae69aba81f0ceb2406f72baaf2ff5528fc6ffe014bae403429031278f53f865e6c605cb1a91035d0189600000168000000b01edb3fee5d431780b994300ca508cedf71f7745a36cf6f973f08ef9005d8824fc0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb6c0400eb60d10f23d689d39e37fa29b0231ddcfc2ae1e40a8a1ba35b32bec518625d44d7212ff0c230f7f2e6d3d9dccb058417a219a1151e3d36bf3a9dcf5db8970805f11000000b0062f59121799497df930b10ebd161ffdf98fd0fe83dcf6e0bf4d22094088c8cac4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb6c4400eb624c959d404250c0a778f61bacb6c793e5dea859568812d8df0127993508493ee2ab773b9ab070094358a9368f1d0239d49dd96d09a32eb84a11c03969b30a58d00000168000000b01de7c0a8b3211ba4f11d77c756a4c979a95c15eb4aa3eebb83734a166b390f46c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb6c8400eb60c1d72f7be7b3e07b72be2bce379ca5ce582e239b58eb4d77056ac0c8b34da69120b8cdd655d32917527146b09dd74bbd175f374e74072ce2160360fd5e0ec08000000b0053bd9cc6d774da230b9f8c96eb21a9830f4728f97b1760503b77c8fa5e955c1cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb6cc400eb623d5da8e5a03102eaf18a9757d0873d8954f27267c55acb2347cd419b5e520e529c3f47400e504b86d13db23a36c1e3781423861ae076aa8e5865e1d00913284380000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020100000000000000000000000000000000000000000000000000000000000002020000000000000000000000000000000000000000000000000000000000000203000000000000000000000000000000000000000000000000000000000000020400000000000000000000000000000000000000000000000000000000000002050000000000000000000000000000000000000000000000000000000000000206000000000000000000000000000000000000000000000000000000000000020700000000000000000000000000000000000000000000000000000000000002080000000000000000000000000000000000000000000000000000000000000209000000000000000000000000000000000000000000000000000000000000020a000000000000000000000000000000000000000000000000000000000000020b000000000000000000000000000000000000000000000000000000000000020c000000000000000000000000000000000000000000000000000000000000020d000000000000000000000000000000000000000000000000000000000000020e000000000000000000000000000000000000000000000000000000000000020f0000000000000000000000000000000000000000000000000000000000000210000000000000000000000000000000000000000000000000000000000000021100000000000000000000000000000000000000000000000000000000000002120000000000000000000000000000000000000000000000000000000000000213000000000000000000000000000000000000000000000000000000000000021400000000000000000000000000000000000000000000000000000000000002150000000000000000000000000000000000000000000000000000000000000216000000000000000000000000000000000000000000000000000000000000021700000000000000000000000000000000000000000000000000000000000002180000000000000000000000000000000000000000000000000000000000000219000000000000000000000000000000000000000000000000000000000000021a000000000000000000000000000000000000000000000000000000000000021b000000000000000000000000000000000000000000000000000000000000021c000000000000000000000000000000000000000000000000000000000000021d000000000000000000000000000000000000000000000000000000000000021e000000000000000000000000000000000000000000000000000000000000021f0000000000000000000000000000000000000000000000000000000000000220000000000000000000000000000000000000000000000000000000000000022100000000000000000000000000000000000000000000000000000000000002220000000000000000000000000000000000000000000000000000000000000223000000000000000000000000000000000000000000000000000000000000022400000000000000000000000000000000000000000000000000000000000002250000000000000000000000000000000000000000000000000000000000000226000000000000000000000000000000000000000000000000000000000000022700000000000000000000000000000000000000000000000000000000000002280000000000000000000000000000000000000000000000000000000000000229000000000000000000000000000000000000000000000000000000000000022a000000000000000000000000000000000000000000000000000000000000022b000000000000000000000000000000000000000000000000000000000000022c000000000000000000000000000000000000000000000000000000000000022d000000000000000000000000000000000000000000000000000000000000022e000000000000000000000000000000000000000000000000000000000000022f00000000000000000000000000000000000000000000000000000000000002300000000000000000000000000000000000000000000000000000000000000231000000000000000000000000000000000000000000000000000000000000023200000000000000000000000000000000000000000000000000000000000002330000000000000000000000000000000000000000000000000000000000000234000000000000000000000000000000000000000000000000000000000000023500000000000000000000000000000000000000000000000000000000000002360000000000000000000000000000000000000000000000000000000000000237370000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360200000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000401100000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000601000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000602000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000603000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000604000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000605000000000000000000000000000000000000000000000000000000000000060f00000000000000000000000000000000000000000000000000000000000006060000000000000000000000000000000000000000000000000000000000000610000000000000000000000000000000000000000000000000000000000000060700000000000000000000000000000000000000000000000000000000000006110000000000000000000000000000000000000000000000000000000000000608000000000000000000000000000000000000000000000000000000000000061200000000000000000000000000000000000000000000000000000000000006090000000000000000000000000000000000000000000000000000000000000613000000000000000000000000000000000000000000000000000000000000060a0000000000000000000000000000000000000000000000000000000000000614000000000000000000000000000000000000000000000000000000000000060b0000000000000000000000000000000000000000000000000000000000000615000000000000000000000000000000000000000000000000000000000000060c0000000000000000000000000000000000000000000000000000000000000616000000000000000000000000000000000000000000000000000000000000060d0000000000000000000000000000000000000000000000000000000000000617000000000000000000000000000000000000000000000000000000000000060e0000000000000000000000000000000000000000000000000000000000000618000000000000000000000000000000000000000000000000000000000000060f0000000000000000000000000000000000000000000000000000000000000619000011000000021c000000b01cf4416308ff1fc928a6bf820840c413e0c0b77c5e786ddfc7dda49cd0999c3dd0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb6d0400eb60b29f3b21459422beeb52a779515c4f71ce783cac96333fbb4c10692f095676011180d97bb3b36b5acb05c25bb796f5608da9505fb14f1f265ca90963b4178ff000000b004485a86c35551c668434084204e153268591420ab85f5294821d7160b49e2b8d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb6d4400eb622e25b48afe11452e6a1f1302ea46e72ccb3c8b7902a2bd678e72ea01b45addc28d0752e56c308dca49d22de550818d1b8a6d9f2c1dbe9cd29f0b8a365f1bf7b000000b01c00c21d5edd23ed6030073cb9dcbeae1825590d724ced040c47ff2335fa2934d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb6d8400eb60a36746c6a374650263e723246b1bf91544c255bdd37b31ff92b611955f5f45710248e5211193ad9e439a3e06d1569f0403f36970ee97116aa34eb1ca0a205f60000021c000000b00354db41193355ea9fcc883ed1ea0fcc9fbdb5b1bf5a744d8c8c319c70aa6fafdc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb6dc400eb621eedc0305bf18771e2b38eae040690d04186a48a3feaafabd51892680a63ad327dcf5e8aca10d00dc266a9906a4136bf00b7b83d5b068f16e5b1329cb524c72000000b01b0d42d7b4bb281197b94ef76b78b9484f89fa9e86216c2850b259a99b5ab62be0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb6e0400eb60942f526c0154a745dc7b9ecf84dba2b8bb0c6ecf10c32443d95bb9fbb56814e0f310f0c66f73efe1bc2eb9b1eb1648a77a3d82822bdf03aee9f45a3060292ed000000b002615bfb6f115a0ed755cff983860a66d7225742d32ef371d0f68c22d60afca6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb6e4400eb620fb5cbd5b9d1c9b55b480a591dc63a73b7d0bd9b7d32a1f01bbe3ace606c7ca26e976a3027f112513afb253b8400e0627701d14e984e815b2c56db030b2d9690000021c000000b01a19c3920a992c35cf4296b21d14b3e286ee9c2f99f5eb4c951cb43000bb4322e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6e8400eb6084f75e115f34e98955101a7a9e9b4c5c315687e04e0b1688200162620b70e450e3d8fc6bcd54322534c3355d04d5f24af0879b936926f5f3309a0296b631fe4000000b0016ddcb5c4ef5e330edf17b4352205010e86f8d3e70372961560e6a93b6b899dec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb6ec400eb62007dd77b17b20bf8d3dc86043785e4172e1ad6acba7a94346263e334b6754c125f5f75d585d15494b38fa0e69dc08a05ed4bea5fd596739f72fc83696136660000000b01926444c6077305a06cbde6cceb0ae7cbe533dc0adca6a70d9870eb6661bd019f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6f0400eb6075bf69b6bd152bcccda49625b85af5ffa7a0a0f18b5308cc66a70ac86179b3c0d4a108112b347468ad57b1081e959bee66d1b4a4a66ee837773faafd0c3acdb0000021c000000b0007a5d701acd625746685f6ee6bdff9b45eb9a64fad7f1ba59cb412fa0cc1694f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb6f4400eb61f145e32075924e3c4c7101af51458dbaa464efbdf7c28678a9098b9b0c7e1b825027817ae3b196d82c241c91b78033a96396037112de65e3b9a22bcfb73f357000000b01832c506b655347e3e552627804ca916f5b7df51c19ee9951df1693ccb7c5d10f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb6f8400eb606687755c1af56e10463911d0d21a9fa31deaba02c89afb10ad4cb32eb7828330c56913b68914b6ac25ec2cb338554591dd1bcdb5e3b6da7bbde5536362439d2000000b02feb2c9d51dd06a53641ece019db5292a584243e8865e16fe2179149f62ca38cfc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb6fc400eb61e20deec5d372907fc5057d5a6b05375e1aaf08cf350a78bcefaf34016286eaf240ef8d204191d91ba4b8983cd13fdd4cd9e01c82502658280047d4360d4804e0000021c000000b017a6cfd6dc3bc39624f9967152205e32c37c048c927b0904929824f9a605f73800410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb600410eb60574f810178d5b053becd8d7bebda49469434d31405e2ed54f3f25b950d8b52a0b6311f5be6f4f8ef9e80a85e5214ef355365e6c720feccc0048afbc9b84c6c9000000b02f5f376d77c395bd1ce65d29ebaf07ae73484979594200df56be4d06d0b63db404410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb604410eb61d94e9bc831db81fe2f4c81f78840891af6f15c7c42cc6fb43a1aefcf0b208d7238303a229ffaca9a0eff9cd9ee7b2f09b622702f5de84f1f4ab39003b5e1a76000000b016b350913219c7ba5c82de2c03bc58ccfae0a61da64f8828d7027f800b66842f08410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb608410eb604e902e03d73ea1d22914921909159b03707726c113a4e44c3e5e1762b624f520ad71cc5e455dea6e08c7acfb6f5040f22fa83a742ec0c3b74ef6b79760e60f10000021c000000b02e6bb827cda199e1546fa4e49d4b0248aaaceb0a6d1680039b28a78d3616caab0c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb60c410eb61ca16a76d8fbbc441a7e0fda2a20032be6d3b758d801461f880c0983561295ce228f845c7fddb0cdd87941885083ad8ad2c6c89409b3041639159386a0bea76d000000b015bfd14b87f7cbde940c25e6b5585367324547aeba24074d1b6cda0670c7112610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb610410eb603f5839a9351ee415a1a90dc422d544a6e6c13fd250ecd6908503bfc90c2dc4909e39d803a33e2cb1815c28a6890fea95a5f253856c08b5fb959c5ffdb6eede8000000b02d7838e2237f9e058bf8ec9f4ee6fce2e2118c9b80eaff27df9302139b7757a214410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb614410eb61badeb312ed9c06852075794dbbbfdc61e3858e9ebd5c543cc766409bb7322c5219c0516d5bbb4f210028943021fa8250a2b6a251d87833a7d7fee0d061f34640000021c000000b014cc5205ddd5d002cb956da166f44e0169a9e93fcdf886715fd7348cd6279e1d18410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb618410eb603020454e92ff26591a3d896f3c94ee4a5d0b58e38e34c8d4cba9682f623694008f01e3a9011e6ef4f9f0a451a2cf94391c3c6c96a950a83fdc4208640cf7adf000000b02c84b99c795da229c382345a0082f77d19762e2c94bf7e4c23fd5c9a00d7e4991c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61c410eb61aba6beb84b7c48c89909f4f8d57f860559cfa7affaa446810e0be9020d3afbc20a885d12b99b916478bd0fdb3bba2bf41900bb6315c025ec1ea48936b7fc15b000000b013d8d2c033b3d427031eb55c1890489ba10e8ad0e1cd0595a4418f133b882b1420410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb620410eb6020e850f3f0df689c92d2051a565497edd35571f4cb7cbb19124f1095b83f63707fc9ef4e5efeb13872851ffcbc8f3ddc928685a7e6989a8422e7b0ca63007d60000021c000000b02b913a56cf3ba64dfb0b7c14b21ef21750dacfbda893fd706867b7206638719024410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb624410eb619c6eca5da95c8b0c119e70a3ef3f2fa8d019c0c137ec38c554b191686343cb31fb5068b8177bd3a7f1518b865579d5978f4ad47453081830654a319d0e04e52000000b012e5537a8991d84b3aa7fd16ca2c4335d8732c61f5a184b9e8abe999a0e8b80b28410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb628410eb6011b05c994ebfaae00b6680c570144191499f8b0608c4ad5d58f4b8fc0e4832e07091faf3bcdef37beb199ba7d64ee78008d09eb923e08cc8698d5930b9094cd000000b02a9dbb112519aa723294c3cf63baecb1883f714ebc687c94acd211a6cb98fe872c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb62c410eb618d36d603073ccd4f8a32ec4f08fed94c4663d9d275342b099b5739ceb94c9aa1ec18745d755c15eb69e607316f397f3b0594ed8590500a74abefda03640db4900000fa400000168000000b011f1d434df6fdc6f723144d17bc83dd00fd7cdf3097603de2d1644200649450230410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb630410eb600278683eac9fed2383fafc7089d3eb34bfe9a417460c9fa19f9a616264510250615a06991abf35bf63ae1752f00e91237f1ab7ca61287f0cb03301970f121c4000000b029aa3bcb7af7ae966a1e0b8a1556e74bbfa412dfd03cfbb8f13c6c2d30f98b7e34410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb634410eb617dfee1a8651d0f9302c767fa22be82efbcadf2e3b27c1d4de1fce2350f556a11dce08002d33c582ee27a82dc88f928de7bdf0696cd97fcb8f2958269ba1684000000168000000b010fe54ef354de093a9ba8c8c2d64386a473c6f841d4a830271809ea66ba9d1f938410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb638410eb62f9855b121d9a32028193d383bba91aaab97241b01eeb9afa245f6307ba59d1d05222123e789f7802dc4292fe09ce3ac6f564d0db9e707150f6d8a9fd651aebb000000b028b6bc85d0d5b2baa1a75344c6f2e1e5f708b470e4117add35a6c6b3965a18753c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb63c410eb616ec6ed4dc2fd51d67b5be3a53c7e2c9332f80bf4efc40f9228a28a9b655e3981cda88ba8311c9a725b0efe87a2b8d281f2291fa80adfeefd393b2ad0101f53700000168000000b0100ad5a98b2be4b7e143d446df0033047ea11115311f0226b5eaf92cd10a5ef040410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb640410eb62ea4d66b77b7a7445fa284f2ed568c44e2fbc5ac15c338d3e6b050b6e1062a14042ea1de3d67fba4654d70ea9238de46a6baee9ecdbb863953d7e5263bb23bb2000000b027c33d4026b3b6ded9309aff788edc802e6d5601f7e5fa017a112139fbbaa56c44410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb644410eb615f8ef8f320dd9419f3f05f50563dd636a94225062d0c01d66f483301bb6708f1be70974d8efcdcb5d3a37a32bc787c25687338b94827e1417fe0d336662822e00000168000000b00f175663e109e8dc18cd1c01909c2d9eb605b2a644f3814afa5553b3366aebe748410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb648410eb62db15725cd95ab68972bccad9ef286df1a60673d2997b7f82b1aab3d4666b70b033b22989345ffc89cd6b8a543d4d8e0de1f902fe190055d98423faca112c8a9000000b026cfbdfa7c91bb0310b9e2ba2a2ad71a65d1f7930bba7925be7b7bc0611b32634c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb64c410eb61505704987ebdd65d6c84dafb6ffd7fda1f8c3e176a53f41ab5eddb68116fd861af38a2f2ecdd1ef94c37f5ddd63825c8debd51ca856fd385c6867b9cbc30f2500000168000000b00e23d71e36e7ed00505663bc42382838ed6a543758c8006f3ebfae399bcb78de50410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb650410eb62cbdd7e02373af8cceb51468508e817951c508ce3d6c371c6f8505c3abc744020247a352e92403ecd460005ff570d37b158431c0f5648481dcac9a33067355a0000000b025dc3eb4d26fbf2748432a74dbc6d1b49d3699241f8ef84a02e5d646c67bbf5a54410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb654410eb61411f103ddc9e18a0e51956a689bd297d95d65728a79be65efc9383ce6778a7d1a000ae984abd613cc4cc7188eff7cf6c55076adbc2b7c5ca0d2c24031239c1c00000168000000b00d3057d88cc5f12487dfab76f3d422d324cef5c86c9c7f93832a08c0012c05d558410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb658410eb62bca589a7951b3b1063e5c23022a7c138929aa5f5140b640b3ef604a1127d0f90154240d3f0208110be9481aa70cce154ce8d352093903a62116f4b96bd3e297000000b024e8bf6f284dc34b7fcc722f8d62cc4ed49b3ab53363776e475030cd2bdc4c515c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb65c410eb6131e71be33a7e5ae45dadd251a37cd3210c207039e4e3d8a343392c34bd81774190c8ba3da89da3803d60ed3409b7790fcb5183ecffffb80e53d1cc69684291300000168000000b00c3cd892e2a3f548bf68f331a5701d6d5c3397598070feb7c7946346668c92cc60410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb660410eb62ad6d954cf2fb7d53dc7a3ddb3c676adc08e4bf065153564f859bad076885df00060a4c794e00c3543728fd558a8c8af844d74e31d0d82ca65814f3fd1346f8e000000b023f540297e2bc76fb755b9ea3efec6e90bffdc464737f6928bba8b53913cd94864410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb664410eb6122af2788985e9d27d6424dfcbd3c7cc4826a894b222bcae789ded49b138a46b18190c5e3067de5c3b5f568df237722b3419b9cfe3d47aa529a7774cfbe4b60a00000168000000b00b49594d3881f96cf6f23aec570c1807939838ea94457ddc0bfebdcccbed1fc368410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb668410eb629e35a0f250dbbf97550eb9865627147f7f2ed8178e9b4893cc41556dbe8eae72fd173f4cbefb083334c1d468bc61ba6e3e5febcaa9b727fedcd9f5a2694fc86000000b02301c0e3d409cb93eedf01a4f09ac18343647dd75b0c75b6d024e5d9f69d663f6c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb66c410eb611377332df63edf6b4ed6c9a7d6fc2667f8b4a25c5f73bd2bd0847d01699316217258d188645e28072e89e48a3d36cc56b7e5b60f7a8f9c96e11d1d36145430100000168000000b00a55da078e5ffd912e7b82a708a812a1cafcda7ba819fd0050691853314dacba70410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb670410eb628efdac97aebc01dacda335316fe6be22f578f128cbe33ad812e6fdd414977de2eddf4af21cdb4a76ad565013d6216411b4aa04dbe6ff1a43237f9e08bf5897d000000b0220e419e29e7cfb82668495fa236bc1d7ac91f686ee0f4db148f40605bfdf33674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb674410eb61043f3ed3541f21aec76b4552f0bbd00b6efebb6d9cbbaf70172a2567bf9be5916320dd2dc23e6a4aa71e603556f675fa2e2fcf20b7d78edb27c2c59c6a5cff800000168000000b009625ac1e43e01b56604ca61ba440d3c02617c0cbbee7c2494d372d996ae39b178410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb678410eb627fc5b83d0c9c441e4637b0dc89a667c66bc30a3a092b2d1c598ca63a6aa04d52dea756977abb8cba25eacbbeefe10db52af41ded24470c876a25466f1561674000000b0211ac2587fc5d3dc5df1911a53d2b6b7b22dc0f982b573ff58f99ae6c15e802d7c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb67c410eb60f5074a78b1ff63f23fffc0fe0a7b79aee548d47eda03a1b45dcfcdce15a4b50153e8e8d3201eac8e1fb2dbe070b61f9da479e831f51f811f6e686e02c065cef00000168000000b0086edb7c3a1c05d99d8e121c6be007d639c61d9dcfc2fb48d93dcd5ffc0ec6a880410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb680410eb62708dc3e26a7c8661becc2c87a3661169e20d234b46731f60a0324ea0c0a91cc2cf6f623cd89bcefd9e7f476a09a0b758a13e36fe618efecbb0caeed56b6a36b000000b020274312d5a3d800957ad8d5056eb151e992628a9689f3239d63f56d26bf0d2484410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb684410eb60e5cf561e0fdfa635b8943ca9243b23525b92ed90174b93f8a47576346bad847144b0f4787dfeeed19847578b8a75c9411ac4014332677363b50e1669166e9e6", + "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012", "decodedHeader": { "contentCommitment": { - "inHash": "0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049", + "inHash": "0x536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123c", "outHash": "0xc2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc", "txTreeHeight": 2, - "txsEffectsHash": "0x01b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee03" + "txsEffectsHash": "0x53472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012" }, "globalVariables": { "blockNumber": 1, "chainId": 31337, "timestamp": 0, "version": 1, - "coinbase": "0x283b0eb6283b0eb6283b0eb6283b0eb6283b0eb6", - "feeRecipient": "0x0586516bbe14fac497ce26dccddc8f0e25ed4876c12ea57e67f5e7371988afa1" + "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", + "feeRecipient": "0x15a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb" }, "lastArchive": { "nextAvailableLeafIndex": 1, @@ -95,8 +95,8 @@ } } }, - "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000201b584d6c81d9ebf1591fbeb26d08d774a0a2c087c76f2d81c52163738c2ee038e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049c2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000283b0eb6283b0eb6283b0eb6283b0eb6283b0eb60586516bbe14fac497ce26dccddc8f0e25ed4876c12ea57e67f5e7371988afa1", + "header": "0x012a86560737adb075e12af8253fb09abf17aa841fb56d180bc89f0d2d473c7f00000001000000000000000000000000000000000000000000000000000000000000000253472a10e3068a8dcdc64c5d353bc5b93d293459f513c087e52471bc28094012536d98837f2dd165a55d5eeae91485954472d56f246df256bf3cae19352a123cc2db86162c987f9328539ebf11947c30e3846f8bdb7a820aed2bbabd9544b9dc0a241c83a063083fad29b6c333afcd968f71f8a875544ff1f1f08cae7f770f510000001002c672a4d7bd90c4b6ba35bbc9906598862f626554be3cba05de19265a8ece71000001000ed22b14764d5756c4e97521b31e93e21192b98b3bc2e2559e07b1263ce7b1be000001801faf8e36b0fb8fb337acc1c32316e1fcbd0465d53c47a2dd73ebb031042566cb000000c00000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", "l1ToL2MessagesHash": "0xb213c9c543fce2a66720d26a913fe0d018f72a47ccfe698baafcf4cced343cfd", - "publicInputsHash": "0x1620ff763699048b175ceffba171146281929c54671f3c80294653a3a961856f" + "publicInputsHash": "0x1b0a1c6994b2a08a07bc46473e2c220b886b9be4da98a4ee45fd37734c1c60db" } } \ No newline at end of file diff --git a/l1-contracts/test/fixtures/mixed_block_1.json b/l1-contracts/test/fixtures/mixed_block_1.json index c3f1c89c2a12..271ba99450e6 100644 --- a/l1-contracts/test/fixtures/mixed_block_1.json +++ b/l1-contracts/test/fixtures/mixed_block_1.json @@ -52,48 +52,27 @@ ] }, "block": { -<<<<<<< HEAD - "archive": "0x15e0aec496ca08dc0f0f9f4ce1aac253632930835487ddbbb18c8bec39c616ab", + "archive": "0x1c4046feb368b147423eeb63abf02b5ef4b825e5374fac801af5389bf50604b5", "body": "0x0000001012e5643e26da426570dd999e0e044e5f83d60f3cd813c55059bc0ea0f4a7c9d413b2d2cea949fa0876265cd8eee3a4dce1e243783562ea07e2de537f469f7bf627abb3d4560e786bafd52f77ac52dea36c50419f32386567bd969b0c38e1bd7405d339cecb99fa74bfd631917f965357f0341d8c4dfe6a8f4b621d8df54c82941d560ac24523012499eeca2594f20ce238b7d21b98ad5c638767d70ee05532c2183e6d64e69b005709dfc4771c7ca5981adc54f3e8bd1b00222461ae90e44eda2f1d4572fe0b0b23100a7ea6d4780b25e826e41ca9e71897e010bcb218887b3d036d44eb30a430b5cfc6660270eb5fb7f274689ac73dfa53ba9d0739fe38637f01f7130af8c5888d4c65ea68109a1d58fe8d7d1ae62098857b0a3a3dcd393ef80ed8bcba6eb5e3b4887a32c51c5853b97a5eb59c87c520f36423c6d7be06071821ca1719330de5e3c51a521778b49cbbc1d53f8ed42e0562bf21ed72e8cb9a410b0e82ef5f7276df41353faef675fb408aeb246b6e2f704cab99bf28d1427e7b0fec7b9929c6effdcd045d3fdcec1d1b73faed495444699fab936630d69b519f0bf4f1453db36439419dbfba703b849d1aa5774fe9a5325e5bf3e7cdda9d1f7f2a9c2a035c72fd4a3e383306aff03448f9accc08a2c665837560cec8675fe2512bfaef35a8fb7df08a81001a7fd4903849c0371dedd87f31295f46269c5205dd00000004380000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760000000000000000000000000000000000000000000000000000000000000277370000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000003420000000000000000000000000000000000000000000000000000000000000343000000000000000000000000000000000000000000000000000000000000034400000000000000000000000000000000000000000000000000000000000003450000000000000000000000000000000000000000000000000000000000000346000000000000000000000000000000000000000000000000000000000000034700000000000000000000000000000000000000000000000000000000000003480000000000000000000000000000000000000000000000000000000000000349000000000000000000000000000000000000000000000000000000000000034a000000000000000000000000000000000000000000000000000000000000034b000000000000000000000000000000000000000000000000000000000000034c000000000000000000000000000000000000000000000000000000000000034d000000000000000000000000000000000000000000000000000000000000034e000000000000000000000000000000000000000000000000000000000000034f0000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000035100000000000000000000000000000000000000000000000000000000000003520000000000000000000000000000000000000000000000000000000000000353000000000000000000000000000000000000000000000000000000000000035400000000000000000000000000000000000000000000000000000000000003550000000000000000000000000000000000000000000000000000000000000356000000000000000000000000000000000000000000000000000000000000035700000000000000000000000000000000000000000000000000000000000003580000000000000000000000000000000000000000000000000000000000000359000000000000000000000000000000000000000000000000000000000000035a000000000000000000000000000000000000000000000000000000000000035b000000000000000000000000000000000000000000000000000000000000035c000000000000000000000000000000000000000000000000000000000000035d000000000000000000000000000000000000000000000000000000000000035e000000000000000000000000000000000000000000000000000000000000035f0000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000036100000000000000000000000000000000000000000000000000000000000003620000000000000000000000000000000000000000000000000000000000000363000000000000000000000000000000000000000000000000000000000000036400000000000000000000000000000000000000000000000000000000000003650000000000000000000000000000000000000000000000000000000000000366000000000000000000000000000000000000000000000000000000000000036700000000000000000000000000000000000000000000000000000000000003680000000000000000000000000000000000000000000000000000000000000369000000000000000000000000000000000000000000000000000000000000036a000000000000000000000000000000000000000000000000000000000000036b000000000000000000000000000000000000000000000000000000000000036c000000000000000000000000000000000000000000000000000000000000036d000000000000000000000000000000000000000000000000000000000000036e000000000000000000000000000000000000000000000000000000000000036f00000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000371000000000000000000000000000000000000000000000000000000000000037200000000000000000000000000000000000000000000000000000000000003730000000000000000000000000000000000000000000000000000000000000374000000000000000000000000000000000000000000000000000000000000037500000000000000000000000000000000000000000000000000000000000003760200000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000441100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000641000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000642000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000643000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000644000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000645000000000000000000000000000000000000000000000000000000000000064f00000000000000000000000000000000000000000000000000000000000006460000000000000000000000000000000000000000000000000000000000000650000000000000000000000000000000000000000000000000000000000000064700000000000000000000000000000000000000000000000000000000000006510000000000000000000000000000000000000000000000000000000000000648000000000000000000000000000000000000000000000000000000000000065200000000000000000000000000000000000000000000000000000000000006490000000000000000000000000000000000000000000000000000000000000653000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000654000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000655000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000656000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000657000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000658000000000000000000000000000000000000000000000000000000000000064f0000000000000000000000000000000000000000000000000000000000000659000011000000021c000000b0077b5c368ffa09fdd51759d71d7c0270712abf2ee3977a6d1da827e6616f539f88410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb688410eb626155cf87c85cc8a53760a832bd25bb0d58573c5c83bb11a4e6d7f70716b1ec32c0376de2367c11411713c315236060fc1788500f9ed6f10ff770973bc173062000000b01f33c3cd2b81dc24cd04208fb70aabec20f7041baa5e7247e1ce4ff38c1f9a1b8c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb68c410eb60d69761c36dbfe8793128b8543dfaccf5d1dd06a15493863ceb1b1e9ac1b653e13579001ddbdf311510dbd336a43572e4910e1a546faf65a7fbb3becf6c776dd000000b00687dcf0e5d80e220ca0a191cf17fd0aa88f60bff76bf9916212826cc6cfe09690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb690410eb62521ddb2d263d0ae8aff523ddd6e564b0cea1556dc10303e92d7d9f6d6cbabba2b0ff7987945c53848fa83ec03d200a9f8dd26920dc1ee3543e163fa2177bd590000021c000000b01e404487815fe049048d684a68a6a686585ba5acbe32f16c2638aa79f180271294410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb694410eb60c75f6d68cba02abca9bd33ff57ba769948271fb291db788131c0c70117bf235126410bc339bf735889704ee1bdf51c8807583365acf757ec42596735c2803d4000000b005945dab3bb612464429e94c80b3f7a4dff402510b4078b5a67cdcf32c306d8d98410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb698410eb6242e5e6d2841d4d2c28899f88f0a50e5444eb6e7efe4af62d742347d3c2c38b12a1c7852cf23c95c8083cba6b56dfb443041c82321966d59884bbe8086d84a50000000b01d4cc541d73de46d3c16b0051a42a1208fc0473dd20770906aa3050056e0b4099c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb69c410eb60b827790e29806d002251afaa717a203cbe7138c3cf236ac578666f676dc7f2c117091768979fb59c0204ca8cd7b4c62b7da24c76ea3f4a3088ff0f9c18890cb0000021c000000b004a0de659194166a7bb33107324ff23f1758a3e21f14f7d9eae737799190fa84a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6a0410eb6233adf277e1fd8f6fa11e1b340a64b7f7bb3587903b92e871bac8f03a18cc5a82928f90d2501cd80b80d13616709f5de67a669b4356aec7dccb61906ec38d747000000b01c5945fc2d1be891739ff7bfcbde9bbac724e8cee5dbefb4af0d5f86bc414100a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb6a4410eb60a8ef84b38760af439ae62b558b39c9e034bb51d50c6b5d09bf0c17cdc3d0c23107d1230df57ff7df7a994637f1746fcef3ec658827873c74cfa4b8026e91dc2000000b003ad5f1fe7721a8eb33c78c1e3ebecd94ebd457332e976fe2f5191fff6f1877ba8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb6a8410eb622475fe1d3fddd1b319b296df2424619b317fa0a178dadab6016e98a06ed529f283579c77adfd1a4ef965b1c18a5f0789f0b0b45493f6ba21120738d5199643e0000021c000000b01b65c6b682f9ecb5ab293f7a7d7a9654fe898a5ff9b06ed8f377ba0d21a1cdf7ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6ac410eb6099b79058e540f187137aa700a4f97383ab056ae649b34f4e05b1c03419d991a0f8992eb353603a22f32dc1e30b3419726a367e9964cf2eb9164a6068c49aab9000000b002b9dfda3d501eb2eac5c07c9587e7738621e70446bdf62273bbec865c521472b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb6b0410eb62153e09c29dbe13f69247128a3de40b3ea7c9b9b2b622ccfa48144106c4ddf962741fa81d0bdd5c9271fa2d6ca41eb12d66facd65d13eac6558ace13b6f9f135000000b01a724770d8d7f0d9e2b287352f1690ef35ee2bf10d84edfd37e2149387025aeeb4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb6b4410eb608a7f9bfe432133ca8c0f22abbeb91d27214f83f786fb41924c57689a6fe26110e9613a58b1407c666bc23d8e24f3c315e08097aaa21720fd5cf008cf1aa37b00000021c000000b001c66094932e22d7224f08374723e20dbd8688955a927546b826470cc1b2a169b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6b8410eb6206061567fb9e563a0adb8e3557a3b4e21e13d2c3f36abf3e8eb9e96d1ae6c8d264e7b3c269bd9ed5ea8ea917bdde5ad0dd44e6770e869ea99f5289a1c5a7e2c000000b0197ec82b2eb5f4fe1a3bceefe0b28b896d52cd8221596d217c4c6f19ec62e7e5bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb6bc410eb607b47a7a3a101760e04a39e56d878c6ca97999d08c44333d692fd1100c5eb3080da2945fe0f20bea9e456b9393eb36cb956cab0bbdf5f1341a395b13570ac4a7000000b000d2e14ee90c26fb59d84ff1f8bfdca7f4eb2a266e66f46afc90a19327132e60c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb6c0410eb61f6ce210d597e987d837009e071635e85945debd530b2b182d55f91d370ef984255afbf67c79de119632324c2d79e0474538eff884bce90ede5f832081bb0b230000021c000000b0188b48e58493f92251c516aa924e8623a4b76f13352dec45c0b6c9a051c374dcc4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb6c4410eb606c0fb348fee1b8517d381a01f238706e0de3b61a018b261ad9a2b9671bf3fff0caf151a36d0100ed5ceb34e45873165ccd14c9cd1ca70585ea3b599bc6b519e000000b03043b07c201bcb4949b1dd632bdd2f9f5483b3fffbf4e42084dcf1ad7c73bb58c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb6c8410eb61e7962cb2b75edac0fc04858b8b2308290aa804e66dfaa3c71c053a39c6f867b24677cb0d257e235cdbb7a06df15dae17c9d91899891683322c9dda6e71b981a000000b01797c99fda71fd46894e5e6543ea80bddc1c10a449026b6a05212426b72401d3cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb6cc410eb605cd7beee5cc1fa94f5cc95ad0bf81a11842dcf2b3ed3185f204861cd71fccf60bbb95d48cae14330d57fb08f7232c000435ee2de59eef7ca30e102021cbde950000021c000000b02f50313675f9cf6d813b251ddd792a398be855910fc96344c9474c33e1d4484fd0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb6d0410eb61d85e3858153f1d0474990136a4e2b1cc80f21df7ab42960b62aae2a01d013722373fd6b2835e65a0544c1c190b1d57bb402331aac65e7576734382d4c7c2511000000b016a44a5a3050016ac0d7a61ff5867b581380b2355cd6ea8e498b7ead1c848ecad4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb6d4410eb604d9fca93baa23cd86e61115825b7c3b4fa77e83c7c1b0aa366ee0a33c8059ed0ac8168ee28c185744e142c3a8bf269a3b9a8fbef9736ea0e7786aa6872c6b8c000000b02e5cb1f0cbd7d391b8c46cd88f1524d3c34cf722239de2690db1a6ba4734d546d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb6d8410eb61c92643fd731f5f47ed2d7ce1bea25b6ff73c3708e88a884fa9508b06730a06922807e257e13ea7e3cce097c424dd015eb66d4abc03a667bab9e92b3b1dcb2080000021c000000b015b0cb14862e058ef860eddaa72275f24ae553c670ab69b28df5d93381e51bc1dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb6dc410eb603e67d63918827f1be6f58d033f776d5870c2014db962fce7ad93b29a1e0e6e409d49749386a1c7b7c6a8a7e5a5b213472ff31500d47edc52be2c52cec8cf883000000b02d6932ab21b5d7b5f04db49340b11f6dfab198b33772618d521c0140ac95623de0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb6e0410eb61b9ee4fa2d0ffa18b65c1f88cd86205136d86501a25d27a93eff6336cc912d60218cfedfd3f1eea274575136f3e9cab022cb763cd40ee59ff008ed3a173d3eff000000b014bd4bcedc0c09b32fea359558be708c8249f557847fe8d6d26033b9e745a8b8e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb6e4410eb602f2fe1de7662c15f5f8a08ae593716fbe70c1a5ef6aaef2bf4395b0074173db08e118038e48209fb3f3d2390bf71bceaa63d2e1211c6ce9704d1fb351ed857a00000fa400000168000000b02c75b3657793dbda27d6fc4df24d1a0832163a444b46e0b196865bc711f5ef34e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb6e8410eb61aab65b482edfe3cede567437f221aeb6e3d0692b631a6cd8369bdbd31f1ba5720997f9a29cff2c6abe098f1a585c54a5a3017cde7e364c4347347c07c9dcbf6000000b013c9cc8931ea0dd767737d500a5a6b26b9ae96e8985467fb16ca8e404ca635afec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb6ec410eb601ff7ed83d44303a2d81e845972f6c09f5d56337033f2e1703adf0366ca200d207ed98bde42624c3eb7d19f3bd931668e1c8747234f0ec0db4b77a39b74e127100000168000000b02b82341fcd71dffe5f604408a3e914a2697adbd55f1b5fd5daf0b64d77567c2bf0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb6f0410eb619b7e66ed8cc0261256eaefe30be1585a5a1a823ca0625f1c7d418439752474e1fa600547fadf6eae369e0ac5721bfe49194b95efbb7e3e878dda246e1fe58ed000000b012d64d4387c811fb9efcc50abbf665c0f1133879ac28e71f5b34e8c6b206c2a6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6f4410eb6010bff929322345e650b300048cb66a42d3a04c81713ad3b48184abcd2028dc906fa19783a0428e8230661ae6f2f1103192d160348c56b31f921d4c01cae9f6800000168000000b02a8eb4da234fe42296e98bc355850f3ca0df7d6672efdefa1f5b10d3dcb70922f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb6f8410eb618c467292eaa06855cf7f6b8e25a101fdd0649b4dddaa5160c3e72c9fcb2d4451eb2810ed58bfb0f1af3286708bdba7ec8f95af00f8c630cbd47fccd475ee5e4000000b011e2cdfddda6161fd6860cc56d92605b2877da0abffd66439f9f434d17674f9dfc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb6fc410eb60018804ce90038829c9477bafa67613e649ea6592ae82c5f8c82a54337631ac006069a328fe22d0c5a8fa96920cb0b9d5091b7945c99ea563d8c2f46820f2c5f00000168000000b02a02bfaa4936733a7d8dfc0d2758c4586ea3a2a143cbfe699401cc90b740a34a00420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb600420eb617d0e7e384880aa994813e7393f60aba146aeb45f1af243a50a8cd506213613c1dbf01c92b69ff33527c7021ba59b519005dfc812360e23101b25753acbf72db000000b01156d8ce038ca537bd2a7d0f3f661576f63bff4590d985b31445ff09f1f0e9c504420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb604420eb62ff0d98ff01867c43b892dbb4dbc6eb75a96b3dc757dbc60450b569401ecb4e9057aa502b5c8bc24413419b2f29ec0b91e55dccf2d7609c5b232eb035c98c68700000168000000b0290f40649f14775eb51743c7d8f4bef2a608443257a07d8dd86c27171ca1304108420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb608420eb61744f2b3aa6e99c17b25aebd65c9bfd5e22f1080c28b43a9c54f890d3c9cfb641d330c9951508e4b3920e06b8c2d6a34ce2221bbf43d01a07659131087490d03000000b010635988596aa95bf4b3c4c9f10210112da0a0d6a4ae04d758b05990575176bc0c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb60c420eb62efd5a4a45f66be873127575ff58695191fb556d89523b848975b11a674d41e0048725bd0ba6c04878bd616da43abb5355ba7e60414a88e9f69d4589c1f9537e00000168000000b0281bc11ef4f27b82eca08b828a90b98cdd6ce5c36b74fcb21cd6819d8201bd3810420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb610420eb61651736e004c9de5b2aef6781765ba701993b211d65fc2ce09b9e393a1fd885b1c3f8d53a72e926f70aa28263dc964cf0586c34d081180c4bac36d96eca999fa000000b00f6fda42af48ad802c3d0c84a29e0aab65054267b88283fb9d1ab416bcb203b314420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb614420eb62e09db049bd4700caa9bbd30b0f463ebc95ff6fe9d26baa8cde00ba0ccadced70393a6776184c46cb046a92855d6b5ed8d1f1ff1551f080e3b07a0102759e07500000168000000b0272841d94ad07fa72429d33d3c2cb42714d187547f497bd66140dc23e7624a2f18420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb618420eb6155df428562aa209ea383e32c901b50a50f853a2ea3441f24e243e1a075e15521b4c0e0dfd0c9693a8336fe0ef655f693ceb64de1be5ffe8ff2dc81d520a26f1000000b00e7c5afd0526b1a463c6543f543a05459c69e3f8cc57031fe1850e9d221290aa1c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb61c420eb62d165bbef1b27430e22504eb62905e8600c4988fb0fb39cd124a6627320e5bce02a02731b762c890e7cff0e30772b087c483c18268f387327f71fa968cba6d6c00000168000000b02634c293a0ae83cb5bb31af7edc8aec14c3628e5931dfafaa5ab36aa4cc2d72620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb620420eb6146a74e2ac08a62e21c185ed7a9dafa4885cf533fe08c116928e98a06cbea2491a588ec852ea9ab7dfbcb79ba1015a037450066f2fba7f0d439822a3b76ab3e8000000b00d88dbb75b04b5c89b4f9bfa05d5ffdfd3ce8589e02b824425ef692387731da124420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb624420eb62c22dc794790785519ae4ca6142c592038293a20c4cfb8f156b4c0ad976ee8c501aca7ec0d40ccb51f59389db90eab21fbe863137cc80656c3dc551cf21afa6300000168000000b02541434df68c87ef933c62b29f64a95b839aca76a6f27a1eea159130b223641d28420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb628420eb61376f59d01e6aa52594acda82c39aa3ebfc196c511dd403ad6f8f326d21f2f4019650f82a8c89edc1745ff56529d549dabb4a800438efe3188027d2a1ccb40df000000b00c955c71b0e2b9ecd2d8e3b4b771fa7a0b33271af40001686a59c3a9ecd3aa982c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62c420eb62b2f5d339d6e7c7951379460c5c853ba6f8ddbb1d8a438159b1f1b33fccf75bc00b928a6631ed0d956e280586aaaa5bc334d04a4909c857b0846afa3577b875a00000168000000b0244dc4084c6a8c13cac5aa6d5100a3f5baff6c07bac6f9432e7febb71783f11430420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb630420eb61283765757c4ae7690d41562ddd5a4d8f726385625b1bf5f1b634dad377fbc371871903cfea6a3004ecf471104394f37e319499157637d55cc6cd7b0822bcdd6000000b00ba1dd2c06c0be110a622b6f690df5144297c8ac07d4808caec41e305234378f34420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb634420eb62a3bddedf34c809d88c0dc1b77644e54a6f27d42ec78b739df8975ba623002b33029f7d39a2e752746bc0dc99dc7f8b392e58e7e1e2a75309092ffbdacdc145200000168000000b0235a44c2a2489038024ef228029c9e8ff2640d98ce9b786772ea463d7ce47e0b38420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb638420eb6118ff711ada2b29ac85d5d1d8f719f732e8ad9e739863e835fcda8339ce0492e177e10f75484a72486588ecbb5d549d21a7deb226b37fc7a10d73236e78c5acd000000b00aae5de65c9ec23541eb732a1aa9efae79fc6a3d1ba8ffb0f32e78b6b794c4863c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb63c420eb629485ea8492a84c1c04a23d6290048eede571ed4004d365e23f3d040c7908faa2f36788df00c794b7e4555844f63f34dca4a300f31fef454d4fd5a44123ca149380000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b600000000000000000000000000000000000000000000000000000000000002b7370000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000038100000000000000000000000000000000000000000000000000000000000003820000000000000000000000000000000000000000000000000000000000000383000000000000000000000000000000000000000000000000000000000000038400000000000000000000000000000000000000000000000000000000000003850000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000038700000000000000000000000000000000000000000000000000000000000003880000000000000000000000000000000000000000000000000000000000000389000000000000000000000000000000000000000000000000000000000000038a000000000000000000000000000000000000000000000000000000000000038b000000000000000000000000000000000000000000000000000000000000038c000000000000000000000000000000000000000000000000000000000000038d000000000000000000000000000000000000000000000000000000000000038e000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000039100000000000000000000000000000000000000000000000000000000000003920000000000000000000000000000000000000000000000000000000000000393000000000000000000000000000000000000000000000000000000000000039400000000000000000000000000000000000000000000000000000000000003950000000000000000000000000000000000000000000000000000000000000396000000000000000000000000000000000000000000000000000000000000039700000000000000000000000000000000000000000000000000000000000003980000000000000000000000000000000000000000000000000000000000000399000000000000000000000000000000000000000000000000000000000000039a000000000000000000000000000000000000000000000000000000000000039b000000000000000000000000000000000000000000000000000000000000039c000000000000000000000000000000000000000000000000000000000000039d000000000000000000000000000000000000000000000000000000000000039e000000000000000000000000000000000000000000000000000000000000039f00000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003a100000000000000000000000000000000000000000000000000000000000003a200000000000000000000000000000000000000000000000000000000000003a300000000000000000000000000000000000000000000000000000000000003a400000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000000000000000000000000000000003a600000000000000000000000000000000000000000000000000000000000003a700000000000000000000000000000000000000000000000000000000000003a800000000000000000000000000000000000000000000000000000000000003a900000000000000000000000000000000000000000000000000000000000003aa00000000000000000000000000000000000000000000000000000000000003ab00000000000000000000000000000000000000000000000000000000000003ac00000000000000000000000000000000000000000000000000000000000003ad00000000000000000000000000000000000000000000000000000000000003ae00000000000000000000000000000000000000000000000000000000000003af00000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000003b100000000000000000000000000000000000000000000000000000000000003b200000000000000000000000000000000000000000000000000000000000003b300000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003b500000000000000000000000000000000000000000000000000000000000003b60200000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000481100000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000681000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000682000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000683000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000684000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000685000000000000000000000000000000000000000000000000000000000000068f00000000000000000000000000000000000000000000000000000000000006860000000000000000000000000000000000000000000000000000000000000690000000000000000000000000000000000000000000000000000000000000068700000000000000000000000000000000000000000000000000000000000006910000000000000000000000000000000000000000000000000000000000000688000000000000000000000000000000000000000000000000000000000000069200000000000000000000000000000000000000000000000000000000000006890000000000000000000000000000000000000000000000000000000000000693000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000694000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000695000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000696000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000697000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000698000000000000000000000000000000000000000000000000000000000000068f0000000000000000000000000000000000000000000000000000000000000699000011000000021c000000b02266c57cf826945c39d839e2b438992a29c8af29e26ff78bb754a0c3e2450b0240420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb640420eb6109c77cc0380b6beffe6a4d8410d9a0d65ef7b784d5abda7a43802ba0240d625168a91b1aa62ab48bde1d6866771446c51e28cb37f0c7b9e55418cbd4cece7c4000000b009badea0b27cc6597974bae4cc45ea48b1610bce2f7d7ed53798d33d1cf5517d44420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb644420eb62854df629f0888e5f7d36b90da9c438915bbc0651421b582685e2ac72cf11ca12e42f94845ea7d6fb5ce9d3f00ffede801aed1a045d373791967b4ca779d2e40000000b0217346374e0498807161819d65d493c4612d50baf64476affbbefb4a47a597f948420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb648420eb60fa8f886595ebae3376fec92f2a994a79d541d09612f3ccbe8a25d4067a1631c1597126c0040af6cf56b1e41190d3f0689472e4492e0fac299abe743b24d74bb0000021c000000b008c75f5b085aca7db0fe029f7de1e4e2e8c5ad5f4351fdf97c032dc38255de744c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb64c420eb62761601cf4e68d0a2f5cb34b8c383e234d2061f627f634a6acc8854d9251a9982d4f7a029bc88193ed57e4f9b29be8823913733159a7f29d5dd20f50dcfdbb37000000b0207fc6f1a3e29ca4a8eac95817708e5e9891f24c0a18f5d4402955d0ad0624f050420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb650420eb60eb57940af3cbf076ef9344da4458f41d4b8be9a7503bbf02d0cb7c6cd01f01314a39326561eb3912cf465fbcaa939a0c0abcfd5a6b579e6de1641ca17ae01b2000000b007d3e0155e38cea1e8874a5a2f7ddf7d202a4ef057267d1dc06d8849e7b66b6b54420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb654420eb6266de0d74ac4912e66e5fb063dd438bd848503873bcab3caf132dfd3f7b2368f2c5bfabcf1a685b824e12cb46437e31c707814c26d7c71c1a23c69d7425e482e0000021c000000b01f8c47abf9c0a0c8e0741112c90c88f8cff693dd1ded74f88493b0571266b1e758420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb658420eb60dc1f9fb051ac32ba6827c0855e189dc0c1d602b88d83b147177124d32627d0a13b013e0abfcb7b5647dadb67c45343af8107166ba89f90b22809c507d0e8ea9000000b006e060cfb416d2c620109214e119da17578ef0816afafc4204d7e2d04d16f8625c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb65c420eb6257a6191a0a295529e6f42c0ef703357bbe9a5184f9f32ef359d3a5a5d12c3862b687b77478489dc5c6a746f15d3ddb6a7dcb6538150f0e5e6a6c45da7bed525000000b01e98c8664f9ea4ed17fd58cd7aa88393075b356e31c1f41cc8fe0add77c73ede60420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb660420eb60cce7ab55af8c74fde0bc3c3077d8476438201bc9cacba38b5e16cd397c30a0112bc949b01dabbd99c06f5712de12ed52f7512f7ce5e782f66eaf6d6e26f1ba00000021c000000b005ece18a09f4d6ea5799d9cf92b5d4b18ef392127ecf7b6649423d56b277855964420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb664420eb62486e24bf6809976d5f88a7ba10c2df1f34e46a96373b2137a0794e0c273507d2a74fc319d628e0093f3bc29c76fd850df4157e49525700a2b111ee40d1f621c000000b01da54920a57ca9114f86a0882c447e2d3ebfd6ff459673410d686563dd27cbd568420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb668420eb60bdafb6fb0d6cb7415950b7db9197f107ae6a34db081395cfa4bc759fd2396f811c9155557b8bffdd3903d2bdf7d296f66d9b488e232f753ab55515d47cfa897000000b004f962445fd2db0e8f23218a4451cf4bc65833a392a3fa8a8dac97dd17d812506c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb66c420eb6239363064c5e9d9b0d81d23652a8288c2ab2e83a77483137be71ef6727d3dd7429817cebf3409224cb7d03e4790bd2eb16a5f975a8f9ef2e6f7b796a727fef130000021c000000b01cb1c9dafb5aad35870fe842dde078c776247890596af26551d2bfea428858cc70420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb670420eb60ae77c2a06b4cf984d1e53386ab579aab24b44dec455b8813eb621e0628423ef10d5960fad96c4220b1984e6911924099e3e5619f6077677efbfabe3ad30358e000000b00405e2feb5b0df32c6ac6944f5edc9e5fdbcd534a67879aed216f2637d389f4774420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb674420eb6229fe3c0a23ca1bf450b19f104442326621789cb8b1cb05c02dc49ed8d346a6b288dfda6491e964903064b9f2aa7cd854e0a9b06bcce6e52b3e5d3f0d7e07c0a000000b01bbe4a955138b159be992ffd8f7c7361ad891a216d3f7189963d1a70a7e8e5c378420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb678420eb609f3fce45c92d3bc84a79af31c517444e9afe66fd82a37a583207c66c7e4b0e60fe216ca0374c84642a2cca142b51ea3d5a2f7ab09dbf59c342a066a1290c2850000021c000000b0031263b90b8ee356fe35b0ffa789c480352176c5ba4cf8d316814ce9e2992c3e7c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb67c420eb621ac647af81aa5e37c9461abb5e01dc0997c2b5c9ef12f804746a473f294f762279a7e609efc9a6d3a8f9359dc43c81f856f3c97d0a2ed76f8502e773d410901000000b01acacb4fa716b57df62277b841186dfbe4edbbb28113f0addaa774f70d4972ba80420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb680420eb609007d9eb270d7e0bc30e2adcded6edf21148800ebfeb6c9c78ad6ed2d453ddd0eee97845952cc6a7a2c145bf451193e0d07993c1db074c0789460f077f14f7c000000b0021ee473616ce77b35bef8ba5925bf1a6c861856ce2177f75aeba77047f9b93584420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb684420eb620b8e5354df8aa07b41da966677c185ad0e0ccedb2c5aea48bb0fefa57f5845926a6ff1af4da9e917218db148ddfc2b9bcd3de28e4776c9b3cba88fda2a195f80000021c000000b019d74c09fcf4b9a22dabbf72f2b468961c525d4394e86fd21f11cf7d72a9ffb188420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb688420eb6080cfe59084edc04f3ba2a687f89697958792991ffd335ee0bf5317392a5cad40dfb183eaf30d08eb1b55c16a5ed13d8446c3acd3184f3e4bcfebb76dd51dc73000000b0012b652db74aeb9f6d4840750ac1b9b4a3eab9e7e1f5f71b9f5601f6ad5a462c8c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb68c420eb61fc565efa3d6ae2beba6f121191812f508456e7ec69a2dc8d01b5980bd56115025b37fd54ab8a2b5a9a222cf3f7bbd53f4387fb9f84bebbf8124e384080222ef000000b018e3ccc452d2bdc66535072da450633053b6fed4a8bceef6637c2a03d80a8ca890420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb690420eb607197f135e2ce0292b437223312564138fddcb2313a7b512505f8bf9f80657cb0d0798f9050ed4b2e93ea3d157890e727bd0dc5e45597309016915fd42b2696a0000021c000000b00037e5e80d28efc3a4d1882fbc5db44edb4f5b78f5ca763fe3c05c7d12bad32394420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb694420eb61ed1e6a9f9b4b250233038dbcab40d8f3faa100fda6eaced1485b40722b69e4724c0008fa096a6d9e12b6a89f117b7ee2b9d214b0c206ae3c58f3e0a6d62afe6000000b017f04d7ea8b0c1ea9cbe4ee855ec5dca8b1ba065bc916e1aa7e6848a3d6b199f98420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb698420eb60625ffcdb40ae44d62ccb9dde2c15eadc7426cb4277c343694c9e6805d66e4c20c1419b35aecd8d720c7eb8c0925090cb3357def592df22d45d37083a812f661000000b02fa8b5154438941194ab15a0ef7b07463ae7e552835865f56c0cac97681b601b9c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb69c420eb61dde67644f92b6745ab980967c500829770eb1a0ee432c1158f00e8d88172b3e23cc8149f674aafe18b4b244a2b3b2886301c2dc1ff4ea0809f99890d2c33cdd00000fa400000168000000b016fcce38fe8ec60ed44796a307885864c28041f6d065ed3eec50df10a2cba696a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb6a0420eb60532808809e8e8719a560198945d5947fea70e453b50b35ad9344106c2c771b90b209a6db0cadcfb58513346bac103a6ea9a1f806d0271518a3dcb0a0d738358000000b02eb535cf9a169835cc345d5ba11701e0724c86e3972ce519b077071dcd7bed12a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb6a4420eb61ceae81ea570ba989242c8512dec02c3ae7353320217ab359d5a6913ed77b83522d902044c52af22503df9ff544fad229a66646d33c9692c4e63f3173823c9d400000168000000b016094ef3546cca330bd0de5db92452fef9e4e387e43a6c6330bb3997082c338da8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6a8420eb6043f01425fc6ec95d1df495345f953e2360bafd64f25327f1d9e9b8d2827feb00a2d1b2806a8e11f8fda7b016c5cfe4121fec11180d6f075cea8259072d4104f000000b02dc1b689eff49c5a03bda51652b2fc7aa9b12874ab01643df4e161a432dc7a09ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb6ac420eb61bf768d8fb4ebebcc9cc100bdf87fd5de5d7f4c315ec2a59e1c4c39a52d8452c21e582bea230b34687c741ba05eba7bcd1cb05fe479de85092ce4d9d9d8456cb00000168000000b01515cfadaa4ace57435a26186ac04d9931498518f80eeb877525941d6d8cc084b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6b0420eb6034b81fcb5a4f0ba0968910df7954e7c6d70516762f9b1a36208f6138d888ba709399be25c86e543c763c2bc1df8f8db596362a294ab6f9a13128016d8349d46000000b02cce374445d2a07e3b46ecd1044ef714e115ca05bed5e362394bbc2a983d0700b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb6b4420eb61b03e993512cc2e1015557c69123f7f81d3c965429c0a97e262f1e20b838d22320f20378f80eb76abf508974b787a257092fa78f5b726774d738a82402e4e3c200000168000000b0142250680028d27b7ae36dd31c5c483368ae26aa0be36aabb98feea3d2ed4d7bb8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6b8420eb6025802b70b82f4de40f1d8c8a9314916a4d4f2f876ce30c7a6735099f2e9189e08461c9cb264e967feed0a76cf94f37590c80433a87feebe577cda9d3d952a3d000000b02bdab7fe9bb0a4a272d0348bb5eaf1af187a6b96d2aa62867db616b0fd9d93f7bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb6bc420eb61a106a4da70ac70538de9f8142bff29254a137e53d9528a26a9978a71d995f1a1ffe84334decbb8ef6d9d12f69239cf1409449206f46e6991ba302aa684570b900000168000000b0132ed1225606d69fb26cb58dcdf842cda012c83b1fb7e9cffdfa492a384dda72c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6c0420eb6016483716160f902787b20835acd43b0dc3994898aa2afebeaddab205849a59507529d570842ed8c367652318130ee0fc82ca5c4bc546de29be73523a2f5b734000000b02ae738b8f18ea8c6aa597c466786ec494fdf0d27e67ee1aac220713762fe20eec4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6c4420eb6191ceb07fce8cb297067e73bf45bed2c8c05d9765169a7c6af03d32d82f9ec111f0b04eda3cabfb32e6318ea1abf978b77f8eab1831b65bd600d5d30cda5fdb000000168000000b0123b51dcabe4dac3e9f5fd487f943d67d77769cc338c68f44264a3b09dae6769c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb6c8420eb60071042bb73efd26b004683e0c693e4b139e361a9e772f102f4805a6bdaa328c065f1e115e20f1b06dff99ec32cce8a9ff914755d028ed06e0518faa0856442b000000b029f3b973476caceae1e2c4011922e6e38743aeb8fa5360cf068acbbdc85eade5cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb6cc420eb618296bc252c6cf4da7f12ef6a5f7e7c6c36a7b07653e26eaf36e2db3e85a79081e1785a7f9a8c3d765ec60a4cc5b9225af5d8c4296efe4e1a477b7b733068aa700000168000000b01147d29701c2dee8217f4503313038020edc0b5d4760e81886cefe37030ef460d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb6d0420eb62fe1d358ee4ea1749fddf5af3f8691427336bff42c051ec5b79455c1130abf84056b9ecbb3fef5d4a588e1a6e468e34436f5e8e6e3fd6c2b24bbea306db6d122000000b029003a2d9d4ab10f196c0bbbcabee17dbea8504a0e27dff34af526442dbf3adcd4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb6d4420eb61735ec7ca8a4d371df7a76b15793e260facf1c987912a60f37d8883a4dbb05ff1d2406624f86c7fb9d75a85f7df78cbfe6c22dd3aac46405e8e2123d9867179e00000168000000b01054535157a0e30c59088cbde2cc329c4640acee5b35673ccb3958bd686f8157d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb6d8420eb62eee5413442ca598d7673d69f1228bdcaa9b61853fd99de9fbfeb047786b4c7b04781f8609dcf9f8dd1229619604ddde6e5a8a77f7d1eb4f692644b6d3175e19000000b0280cbae7f328b53350f553767c5adc17f60cf1db21fc5f178f5f80ca931fc7d3dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb6dc420eb616426d36fe82d7961703be6c092fdcfb3233be298ce725337c42e2c0b31b92f61c30871ca564cc1fd4fef01a2f93875a1e26cf64be98e32a2d4c6cc3fdc7a49500000168000000b00f60d40bad7ee7309091d47894682d367da54e7f6f09e6610fa3b343cdd00e4ee0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb6e0420eb62dfad4cd9a0aa9bd0ef08524a2be8676e200031653ae1d0e40690acdddcbd9720384a0405fbafe1d149b711c47a0d878a5bf2c090ba66a73ad909f3d3877eb10000000b027193ba24906b957887e9b312df6d6b22d71936c35d0de3bd3c9db50f88054cae4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6e4420eb6154eedf15460dbba4e8d0626bacbd79569985fbaa0bba457c0ad3d47187c1fed1b3d07d6fb42d0440c8837d4e12f81f4558b70f5d26d624e71b6c74a6328318c00000168000000b00e6d54c6035ceb54c81b1c33460427d0b509f01082de6585540e0dca33309b45e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb6e8420eb62d075587efe8ade14679ccdf545a81111964a4a767829c3284d36554432c6669029120fab59902414c24b8d6f93cd312dd23cd9a1f7ae997f1faf9c39dd87807000000b02625bc5c9ee4bd7bc007e2ebdf92d14c64d634fd49a55d60183435d75de0e1c1ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6ec420eb6145b6eabaa3edfde86164de16c67d22fa0fd014bb490237c051797cd7ddcace41a4988915120d46844117f8f92cb7c8e8cf01286e641e172b62121d0c888be8300000168000000b00d79d580593aef78ffa463edf7a0226aec6e91a196b2e4a9987868509891283cf0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb6f0420eb62c13d64245c6b2057e03149a05f67bab50c946387b571b56c93dbfdaa88cf360019da1b50b77066583ae0091aad8cdad14886f2b334f68bc3665544a033904fe000000b025323d16f4c2c19ff7912aa6912ecbe69c3ad68e5d79dc845c9e905dc3416eb8f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb6f4420eb61367ef66001ce402bd9f959c1e03ccc9d861a2dcc864a2a04981f253e33d39db1956094ba6fed88c7b9ac74a44677728c454b417fa166096fa8b7c572de94b7a3800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f600000000000000000000000000000000000000000000000000000000000002f73700000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c100000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003c300000000000000000000000000000000000000000000000000000000000003c400000000000000000000000000000000000000000000000000000000000003c500000000000000000000000000000000000000000000000000000000000003c600000000000000000000000000000000000000000000000000000000000003c700000000000000000000000000000000000000000000000000000000000003c800000000000000000000000000000000000000000000000000000000000003c900000000000000000000000000000000000000000000000000000000000003ca00000000000000000000000000000000000000000000000000000000000003cb00000000000000000000000000000000000000000000000000000000000003cc00000000000000000000000000000000000000000000000000000000000003cd00000000000000000000000000000000000000000000000000000000000003ce00000000000000000000000000000000000000000000000000000000000003cf00000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000003d100000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003d300000000000000000000000000000000000000000000000000000000000003d400000000000000000000000000000000000000000000000000000000000003d500000000000000000000000000000000000000000000000000000000000003d600000000000000000000000000000000000000000000000000000000000003d700000000000000000000000000000000000000000000000000000000000003d800000000000000000000000000000000000000000000000000000000000003d900000000000000000000000000000000000000000000000000000000000003da00000000000000000000000000000000000000000000000000000000000003db00000000000000000000000000000000000000000000000000000000000003dc00000000000000000000000000000000000000000000000000000000000003dd00000000000000000000000000000000000000000000000000000000000003de00000000000000000000000000000000000000000000000000000000000003df00000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e100000000000000000000000000000000000000000000000000000000000003e200000000000000000000000000000000000000000000000000000000000003e300000000000000000000000000000000000000000000000000000000000003e400000000000000000000000000000000000000000000000000000000000003e500000000000000000000000000000000000000000000000000000000000003e600000000000000000000000000000000000000000000000000000000000003e700000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e900000000000000000000000000000000000000000000000000000000000003ea00000000000000000000000000000000000000000000000000000000000003eb00000000000000000000000000000000000000000000000000000000000003ec00000000000000000000000000000000000000000000000000000000000003ed00000000000000000000000000000000000000000000000000000000000003ee00000000000000000000000000000000000000000000000000000000000003ef00000000000000000000000000000000000000000000000000000000000003f000000000000000000000000000000000000000000000000000000000000003f100000000000000000000000000000000000000000000000000000000000003f200000000000000000000000000000000000000000000000000000000000003f300000000000000000000000000000000000000000000000000000000000003f400000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000003f60200000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004c11000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006c100000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006c200000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006c300000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006c500000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000006d000000000000000000000000000000000000000000000000000000000000006c700000000000000000000000000000000000000000000000000000000000006d100000000000000000000000000000000000000000000000000000000000006c800000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006c900000000000000000000000000000000000000000000000000000000000006d300000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006d400000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006d500000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006d600000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006d700000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006d800000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006d9000011000000021c000000b00c86563aaf18f39d372daba8a93c1d0523d33332aa8763cddce2c2d6fdf1b533f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb6f8420eb62b2056fc9ba4b629b58c5c54b7927645882de7c98f2b9a7b0da81a610ded805700aa226f61550a89bb37484c5c74c8474bed10bc4723e7e07acfaed0689991f5000000b0243ebdd14aa0c5c42f1a726142cac680d39f781f714e5ba8a108eae428a1fbaffc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb6fc420eb61274702055fae826f528dd56cf9fc7640fc6446ddc3921c48dec4cda489dc6d218628a05fcdcdcb0b3240f04f60371c2fbb955a90deadfbb3ef5d6dd9349d871000000b00bfa610ad4ff82b51dd21bf27b0fd220f197586d7b63833d51897e93d87b4f5b00430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb600430eb62a2cd7b6f182ba4ded15a40f692e70dfbf92895aa300199f521274e7734e0d4e301af19c9864aed7ab10d5bd8f921b3eab859a95d4b1d796031bfeeabdfa1eed0000021c000000b023b2c8a1708754dc15bee2ab149e7b9ca1639d5a422a7b1815afa6a1032b95d704430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb604430eb611e87af07be1773edbcd4da0a1737c7fdd8a69a8ad15413402930897232760fa17d694d622c36bc899c87f4ec7d726dec97d7ae3dec6ff2ab39c929a6dd37299000000b00b06e1c52add86d9555b63ad2cabccbb28fbf9fe8f38026195f3d91a3ddbdc5208430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb608430eb629a0e28717694965d3ba14593b0225fb8d56ae9573dc390ec6b930a44dd7a7762f8efc6cbe4b3def91b546076165d05a7949bfd0a58df70577c2baa79883b915000000b022bf495bc66559004d482a65c63a7636d8c83eeb55fefa3c5a1a0127688c22ce0c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb60c430eb610f4fbaad1bf7b631356955b530f771a14ef0b39c0e9c05846fd631d8887edf116e3159078a16fecd151c7097973217900e21c74f29b7e4ef806ed20d333ff900000021c000000b00a13627f80bb8afd8ce4ab67de47c75560609b8fa30c8185da5e33a0a33c694910430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb610430eb628ad63416d474d8a0b435c13ec9e2095c4bb502687b0b8330b238b2ab338346d2e9b7d2714294213c93e8dc21301caf4b0ae6161b9627629bc2d152dfde4460c000000b021cbca161c435d2484d1722077d670d1102ce07c69d379609e845badcdecafc514430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb614430eb610017c65279d7f874adfdd1604ab71b44c53accad4be3f7c8b67bda3ede87ae815ef964ace7f741108db0ec42b0f1c133846be06066ffd733c7147a738948c87000000b0091fe339d6998f21c46df3228fe3c1ef97c53d20b6e100aa1ec88e27089cf64018430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb618430eb627b9e3fbc32551ae42cca3ce9e3a1b2ffc1ff1b79b8537574f8de5b11898c1642da7fde16a07463800c7d57cc49dc58ee81302f2cd36f54e00976fb46344d3030000021c000000b020d84ad072216148bc5ab9db29726b6b4791820d7da7f884e2eeb634334d3cbc1c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb61c430eb60f0dfd1f7d7b83ab826924d0b6476c4e83b84e5be892bea0cfd2182a534907df14fc1705245d78354064567edcab16ad6fab5f971a447c9780dba22d9df5197e000000b0082c63f42c779345fbf73add417fbc89cf29deb1cab57fce6332e8ad6dfd833720430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb620430eb626c664b6190355d27a55eb894fd615ca33849348af59b67b93f840377df94e5b2cb47e9bbfe54a5c38511d377639c0291f77a483e10b74724501ca3ac8a55ffa000000b01fe4cb8ac7ff656cf3e40195db0e66057ef6239e917c77a9275910ba98adc9b324430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb624430eb60e1a7dd9d35987cfb9f26c8b67e366e8bb1cefecfc673dc5143c72b0b8a994d6140897bf7a3b7c5977ed9e398e471147a71001282e18fbbbc545fcb40355a6750000021c000000b00738e4ae8255976a33808297f31bb724068e8042de89fef2a79d4333d35e102e28430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb628430eb625d2e5706ee159f6b1df3344017210646ae934d9c32e359fd8629abde359db522bc0ff5615c34e806fda64f227d5bac356dc4614f4dff396896c24c12e05ecf1000000b01ef14c451ddd69912b6d49508caa609fb65ac52fa550f6cd6bc36b40fe0e56aa2c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb62c430eb60d26fe9429378bf3f17bb446197f6182f281917e103bbce958a6cd371e0a21cd13151879d019807daf76e5f43fe30be1de74a2b941ed7ae009b0573a68b6336c000000b006456568d8339b8e6b09ca52a4b7b1be3df321d3f25e7e16ec079dba38be9d2530430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb630430eb624df662ac4bf5e1ae9687afeb30e0afea24dd66ad702b4c41cccf54448ba68492acd80106ba152a4a763acacd971b55d8e40e7a608b472bacdd67f47936679e80000021c000000b01dfdccff73bb6db562f6910b3e465b39edbf66c0b92575f1b02dc5c7636ee3a134430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb634430eb60c337f4e7f1590182904fc00cb1b5c1d29e6330f24103c0d9d1127bd836aaec41221993425f784a1e7002daef17f067c15d9444a55c1fa044e1ab1c0ce16c063000000b00551e6232e119fb2a293120d5653ac587557c3650632fd3b3071f8409e1f2a1c38430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb638430eb623ebe6e51a9d623f20f1c2b964aa0598d9b277fbead733e861374fcaae1af54029da00cac17f56c8deecf4678b0daff7c5a589371c88f1df1240d9cdf8c706df000000b01d0a4db9c99971d99a7fd8c5efe255d425240851ccf9f515f498204dc8cf70983c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb63c430eb60b400008d4f3943c608e43bb7cb756b7614ad4a037e4bb31e17b8243e8cb3bbb112e19ee7bd588c61e897569a31b01164d3de5db6996792892850c4733774d5a0000021c000000b0045e66dd83efa3d6da1c59c807efa6f2acbc64f61a077c5f74dc52c7037fb71340430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb640430eb622f8679f707b6663587b0a74164600331117198cfeabb30ca5a1aa51137b823728e68185175d5aed16763c223ca9aa91fd0a2ac8305d710356ab34545e2793d6000000b01c16ce741f7775fdd2092080a17e506e5c88a9e2e0ce743a39027ad42e2ffd8f44430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb644430eb60a4c80c32ad1986098178b762e53515198af76314bb93a5625e5dcca4e2bc8b2103a9aa8d1b38cea5612bd2454b6fbb084a2876c7d6af84cd6ef66cd98d7da51000000b0036ae797d9cda7fb11a5a182b98ba18ce42106872ddbfb83b946ad4d68e0440a48430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb648430eb62204e859c6596a879004522ec7e1facd487bbb1e12803230ea0c04d778dc0f2e27f3023f6d3b5f114dff83dcee45a52c346ecc594431f0279b158edac38820cd0000021c000000b01b234f2e75557a220992683b531a4b0893ed4b73f4a2f35e7d6cd55a93908a864c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb64c430eb60959017d80af9c84cfa0d330dfef4bebd01417c25f8db97a6a503750b38c55a90f471b632791910e8d9c04df0652f64abc0728fd913f77711b59c153fe386748000000b0027768522fabac1f492ee93d6b279c271b85a81841b07aa7fdb107d3ce40d10150430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb650430eb6211169141c376eabc78d99e9797df5677fe05caf2654b1552e765f5dde3c9c2526ff82f9c31963358588cb979fe19fc66bd36dea58066f4bdf7fe96128e8adc4000000b01a2fcfe8cb337e46411baff604b645a2cb51ed0508777282c1d72fe0f8f1177d54430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb654430eb608658237d68da0a9072a1aeb918b46860778b9537362389eaeba91d718ece2a00e539c1d7d6f9532c5254c99b7eef0e4f36bca8ea513f6955fc41bda6398f43f00000fa400000168000000b00183e90c8589b04380b830f81cc396c152ea49a95584f9cc421b625a33a15df858430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb658430eb6201de9ce721572cfff16e1a42b19f001b744fe403a29307972e0b9e4439d291c260c03b418f76759bd121352517d9a60a3380f7b6bdaee7023ea43e78e493abb000000b0193c50a32111826a78a4f7b0b652403d02b68e961c4bf1a706418a675e51a4745c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb65c430eb6077202f22c6ba4cd3eb362a6432741203edd5ae48736b7c2f324ec5d7e4d6f970d601cd7d34d9956fcae9454698aeb7f2ad06c1fb8e875b9a42e7660c8f9813600000168000000b0009069c6db67b467b84178b2ce5f915b8a4eeb3a695978f08685bce09901eaef60430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb660430eb61f2a6a88c7f376f436a0295edcb5ea9beea99fd14dfdaf9db74b146aa8fdb6132518846e6ed56b7df49b5b0d031994fada9cb10c7faf6d9468549e6df3a9c7b2000000b01848d15d76ef868eb02e3f6b67ee3ad73a1b3027302070cb4aabe4edc3b2316b64430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb664430eb6067e83ac8249a8f1763caa60f4c33bba7641fc759b0b36e7378f46e3e3adfc8e0c6c9d92292b9d7b3437dc0f1b26e61962350db0ccbcf4dde898d0e72e5a0e2d00000168000000b0300138f4127758b5a81b0624017ce452e9e77513f6e768a60ed20cfaee6277e768430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb668430eb61e36eb431dd17b186e2971198e51e536260e416261d22ec1fbb56ef10e5e430a24250528c4b36fa22c24a2c7b4b58f951201529d9383ecb8acbef8f4590a54a9000000b017555217cccd8ab2e7b78726198a3571717fd1b843f4efef8f163f742912be626c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb66c430eb6058b0466d827ad15adc5f21ba65f3654ada69e06aedfb60b7bf9a16a490e89850b791e4c7f09a19f6bc123c9ccc2e0b39999af41e09174022d032b6d93ba9b2400000168000000b02f0db9ae68555cd9dfa44ddeb318deed214c16a50abbe7ca533c678153c304de70430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb670430eb61d436bfd73af7f3ca5b2b8d43feddfd05d72e2f375a6ade6401fc97773bed001233185e31a9173c663adea8266518a2f4965f42ea7586bdcf129537abe6ae1a0000000b01661d2d222ab8ed71f40cee0cb26300ba8e4734957c96f13d38099fa8e734b5974430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb674430eb6049785212e05b139e54f39d657fb30eee50b3f97c2b4352fc063fbf0ae6f167c0a859f06d4e7a5c3a34a6b847e5edb4dd0fe50d2f465f326716d85f3f91b281b00000168000000b02e1a3a68be3360fe172d959964b4d98758b0b8361e9066ee97a6c207b92391d578430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb678430eb61c4fecb7c98d8360dd3c008ef189da6a94d78484897b2d0a848a23fdd91f5cf8223e069d706f77ea9b37323d17ed84c980ca95bfbb2ceb013593ae0123cb6e97000000b0156e538c788992fb56ca169b7cc22aa5e04914da6b9dee3817eaf480f3d3d8507c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb67c430eb603a405db83e3b55e1cd8819109972b891c6fe128d688b45404ce567713cfa37309921fc12ac5a9e7dad3b33f2ffad5e80862f264083a724ab5d7e07a5e7bb51200000168000000b02d26bb23141165224eb6dd541650d421901559c73264e612dc111c8e1e841ecc80430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb680430eb61b5c6d721f6b878514c54849a325d504cc3c26159d4fac2ec8f47e843e7fe9ef214a8757c64d7c0ed2c079f7c9897f63b82f3750cf016a2579fe0887892bfb8e000000b0147ad446ce67971f8e535e562e5e254017adb66b7f726d5c5c554f075934654784430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb684430eb602b08695d9c1b9825461c94bbb33262353d482b9ea5d33784938b0fd7930306a089ea07b80a3ae0c125cfaf9e196d0823fc793f51c0ef16efa423b00c3dc420900000168000000b02c333bdd69ef69468640250ec7eccebbc779fb5846396537207b771483e4abc388430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb688430eb61a68ee2c75498ba94c4e900454c1cf9f03a0c7a6b1242b530d5ed90aa3e076e6205708121c2b80330a49c1b27b2579fdef93d8e1e2d5e949be68630dee8c8885000000b01387550124459b43c5dca610dffa1fda4f1257fc9346ec80a0bfa98dbe94f23e8c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb68c430eb601bd07502f9fbda68beb11066ccf20bd8b39244afe31b29c8da30b83de90bd6107ab2135d681b23049e642b49332cb1c772c35862fe370933eac9587293ccf0000000168000000b02b3fbc97bfcd6d6abdc96cc97988c955fede9ce95a0de45b64e5d19ae94538ba90430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb690430eb619756ee6cb278fcd83d7d7bf065dca393b056937c4f8aa7751c93391094103dd1f6388cc7209845741d3096d2cc1749826f87a72f6aa686e02d2bd9453ed157c000000b01293d5bb7a239f67fd65edcb91961a748676f98da71b6ba4e52a041423f57f3594430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb694430eb600c9880a857dc1cac37458c11e6b1b57c29dc5dc120631c0d20d660a43f14a5806b7a1f02c5fb654816f8a6f44cec5b6ae90d71743b7efb78316f00d8e9d5bf700000168000000b02a4c3d5215ab718ef552b4842b24c3f036433e7a6de2637fa9502c214ea5c5b198430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb698430eb61881efa1210593f1bb611f79b7f9c4d3726a0ac8d8cd299b96338e176ea190d41e700986c7e7887b795c5127de5d6f325e5d1c040a7ee792473d181ab94da273000000b011a05675d001a38c34ef35864332150ebddb9b1ebaefeac929945e9a89560c2c9c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb69c430eb6303a5737bc8d6618b34de63251886e4f22364fb59f9421765a59b6249951d75005c422aa823dba78b8f8d229f66ac050e5f578a8578c6edbc7814a93f3fde8ee00000168000000b02958be0c6b8975b32cdbfc3edcc0be8a6da7e00b81b6e2a3edba86a7b40652a8a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6a0430eb6178e705b76e39815f2ea67346995bf6da9ceac59eca1a8bfda9de89dd4021dcb1d7c8a411dc58c9fb0e598e28ff969cc95c1bd951e5366b68ba772a11eae2f6a000000b010acd73025dfa7b06c787d40f4ce0fa8f5403cafcec469ed6dfeb920eeb69923a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb6a4430eb62f46d7f2126b6a3cead72ded032468e9599af146b368a09a9ec410aafeb2644704d0a364d81bbe9cf08219e4a806baeb1d5a1a396b60ee000beba51a595e75e500000168000000b028653ec6c16779d7646543f98e5cb924a50c819c958b61c83224e12e1966df9fa8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6a8430eb6169af115ccc19c3a2a73aeef1b31ba07e1334deb007627e41f0843243962aac21c890afb73a390c3e86ee09d41956466cd265f263227e5dad011cd27840ebc61000000b00fb957ea7bbdabd4a401c4fba66a0a432ca4de40e298e911b26913a75417261aac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb6ac430eb62e5358ac68496e61226075a7b4c0638390ff92d7c73d1fbee32e6b316412f13e03dd241f2df9c2c1280b619f59a2b58554bebbca7f356d245055ffa0bebf02dc380000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360000000000000000000000000000000000000000000000000000000000000337370000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040100000000000000000000000000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000004050000000000000000000000000000000000000000000000000000000000000406000000000000000000000000000000000000000000000000000000000000040700000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000409000000000000000000000000000000000000000000000000000000000000040a000000000000000000000000000000000000000000000000000000000000040b000000000000000000000000000000000000000000000000000000000000040c000000000000000000000000000000000000000000000000000000000000040d000000000000000000000000000000000000000000000000000000000000040e000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000041100000000000000000000000000000000000000000000000000000000000004120000000000000000000000000000000000000000000000000000000000000413000000000000000000000000000000000000000000000000000000000000041400000000000000000000000000000000000000000000000000000000000004150000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000041700000000000000000000000000000000000000000000000000000000000004180000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000000000000000000000000000000000000041a000000000000000000000000000000000000000000000000000000000000041b000000000000000000000000000000000000000000000000000000000000041c000000000000000000000000000000000000000000000000000000000000041d000000000000000000000000000000000000000000000000000000000000041e000000000000000000000000000000000000000000000000000000000000041f0000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000042100000000000000000000000000000000000000000000000000000000000004220000000000000000000000000000000000000000000000000000000000000423000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004250000000000000000000000000000000000000000000000000000000000000426000000000000000000000000000000000000000000000000000000000000042700000000000000000000000000000000000000000000000000000000000004280000000000000000000000000000000000000000000000000000000000000429000000000000000000000000000000000000000000000000000000000000042a000000000000000000000000000000000000000000000000000000000000042b000000000000000000000000000000000000000000000000000000000000042c000000000000000000000000000000000000000000000000000000000000042d000000000000000000000000000000000000000000000000000000000000042e000000000000000000000000000000000000000000000000000000000000042f00000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000000000431000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004330000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000043500000000000000000000000000000000000000000000000000000000000004360200000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000501100000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000701000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000702000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000703000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000704000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000705000000000000000000000000000000000000000000000000000000000000070f00000000000000000000000000000000000000000000000000000000000007060000000000000000000000000000000000000000000000000000000000000710000000000000000000000000000000000000000000000000000000000000070700000000000000000000000000000000000000000000000000000000000007110000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000071200000000000000000000000000000000000000000000000000000000000007090000000000000000000000000000000000000000000000000000000000000713000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000714000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000715000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000716000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000717000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000718000000000000000000000000000000000000000000000000000000000000070f0000000000000000000000000000000000000000000000000000000000000719000011000000021c000000b02771bf8117457dfb9bee8bb43ff8b3bedc71232da95fe0ec768f3bb47ec76c96b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb6b0430eb615a771d0229fa05e61fcf6a9cccdb4a21897ef7c144aa70863729daa9ec337b91b958bb5c98194e81ff82857f3315f01048b00b745fc64ff147c27ade96f4958000000b00ec5d8a4d19baff8db8b0cb6580604dd64097fd1f66d6835f6d36e2db977b311b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb6b4430eb62d5fd966be27728559e9bd62665c5e1dc8643468db119ee32798c5b7c9737e3502e9a4d983d7c6e55f94a95a0b3eb01f8c235d5b9309ec4894c05a27241f8fd3000000b0267e403b6d23821fd377d36ef194ae5913d5c4bebd346010baf9963ae427f98db8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb6b8430eb614b3f28a787da48299863e647e69af3c4ffc910d281f262ca7dcf8310423c4b01aa20c701f5f990c57817012a4cd599b3befa24859d0e42358e682344ecfd64f0000021c000000b00dd2595f2779b41d1314547109a1ff779b6e21630a41e75a3b3dc8b41ed84008bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb6bc430eb62c6c5a21140576a99173051d17f858b7ffc8d5f9eee61e076c03203e2ed40b2c01f62593d9b5cb09971df114bcdaaab9c387feeca6de6b6cd92ab4ad89801cca000000b0258ac0f5c30186440b011b29a330a8f34b3a664fd108df34ff63f0c149888684c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb6c0430eb613c07344ce5ba8a6d10f861f3005a9d68761329e3bf3a550ec4752b7698451a719ae8d2a753d9d308f0ab7cd56695435735443d96da563479d50dcbab4306346000000b00cdeda197d57b8414a9d9c2bbb3dfa11d2d2c2f41e16667e7fa8233a8438ccffc4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb6c4430eb62b78dadb69e37acdc8fc4cd7c9945352372d778b02ba9d2bb06d7ac4943498230102a64e2f93cf2dcea738cf6e76a553faeca07dbab2ea911d950f33eee0a9c10000021c000000b0249741b018df8a68428a62e454cca38d829f07e0e4dd5e5943ce4b47aee9137bc8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb6c8430eb612ccf3ff2439accb0898cdd9e1a1a470bec5d42f4fc8247530b1ad3dcee4de9e18bb0de4cb1ba154c693ff8808054ecfaab8e56a8179e26be1bb37411990f03d000000b00beb5ad3d335bc658226e3e66cd9f4ac0a37648531eae5a2c4127dc0e99959f6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb6cc430eb62a855b95bfc17ef2008594927b304dec6e92191c168f1c4ff4d7d54af995251a000f27088571d3520630808a20129fee3251420ece8769b561ff69ba544136b8000000b023a3c26a6ebd8e8c7a13aa9f06689e27ba03a971f8b1dd7d8838a5ce1449a072d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb6d0430eb611d974b97a17b0ef40221594933d9f0af62a75c0639ca399751c07c434456b9517c78e9f20f9a578fe1d4742b9a14969e21d86fb954e6190262591c77ef17d340000021c000000b00af7db8e2913c089b9b02ba11e75ef46419c061645bf64c7087cd8474ef9e6edd4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb6d4430eb62991dc50159f8316380edc4d2ccc4886a5f6baad2a639b7439422fd15ef5b2112f7ff635bc81779ff60a0dfb532ff2e591e9cbe85c15596aea4bb9d4a9a1c3b0000000b022b04324c49b92b0b19cf259b80498c1f1684b030c865ca1cca3005479aa2d69d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb6d8430eb610e5f573cff5b51377ab5d4f44d999a52d8f1751777122bdb986624a99a5f88c16d40f5976d7a99d35a68efd6b3d44041982288ca922e0b46a8fec4de4520a2b000000b00a045c487ef1c4adf139735bd011e9e07900a7a75993e3eb4ce732cdb45a73e4dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6dc430eb6289e5d0a6b7d873a6f982407de684320dd5b5c3e3e381a987dac8a57c4563f082e8c76f0125f7bc42d9355b604cbed7fc94e6d796fe9d88f2eb6145b0f0250a70000021c000000b021bcc3df1a7996d4e9263a1469a0935c28ccec94205adbc6110d5adadf0aba60e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb6e0430eb60ff2762e25d3b937af34a509f675943f64f3b8e28b45a1e1fdf0bcd0ff06858315e09013ccb5adc16d2fd6b81cd93e9e50e6ca1dbcf75fd8aefa46d449b29722000000b00910dd02d4cfc8d228c2bb1681ade47ab06549386d68630f91518d5419bb00dbe4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb6e4430eb627aaddc4c15b8b5ea7216bc290043dbb14bffdcf520c99bcc216e4de29b6cbff2d98f7aa683d7fe8651c9d70b667e81a00b30f0a83be57b373206ee17462dd9e000000b020c9449970579af920af81cf1b3c8df660318e25342f5aea5577b561446b4757e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb6e8430eb60efef6e87bb1bd5be6bdecc4a8118ed99c585a739f1a2106425b17576467127a14ed10ce2293b1e5a4b91e72ce753938884b6baed0cbdefcf364a15aaf1324190000021c000000b0081d5dbd2aadccf6604c02d13349df14e7c9eac9813ce233d5bbe7da7f1b8dd2ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb6ec430eb626b75e7f17398f82deaab37d41a038554c249f6065e118e106813f648f1758f62ca57864be1b840c9ca5e52b6803e2b43817b09b9792d6d7b78ac967d9c36a95000000b01fd5c553c6359f1d5838c989ccd8889097962fb64803da0e99e20fe7a9cbd44ef0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb6f0430eb60e0b77a2d18fc1801e47347f59ad8973d3bcfc04b2eea02a86c571ddc9c79f7113f991887871b609dc42662d801133d2bfb00d3fe4a05e2137cefbe11473b110000000b00729de77808bd11a97d54a8be4e5d9af1f2e8c5a951161581a264260e47c1ac9f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb6f4430eb625c3df396d1793a71633fb37f33c32ef838940f179b598054aeb99eaf477e5ed2bb1f91f13f98830d42f2ce6199fdd4e6f7c522cab6755fbfbf523ee3f23f78c0000021c000000b01ee2460e1c13a3418fc211447e74832acefad1475bd85932de4c6a6e0f2c6145f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb6f8430eb60d17f85d276dc5a455d07c3a0b49840e0b219d95c6c31f4ecb2fcc642f282c6813061242ce4fba2e13cbade831ad2e6cf714aed0f874dd457c39566779d43e07000000b006365f31d669d53ecf5e92469681d44956932deba8e5e07c5e909ce749dca7c0fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb6fc430eb624d05ff3c2f597cb4dbd42f2a4d82d89baede2828d8a17298f55f47159d872e42abe79d969d78c550bb874a0cb3bd7e8a6e0f3bdbf3bd520405f7e74a4848483000000b01e5650de41fa32597666818e504838469cbef6822cb478a252f3262ae9b5fb6d00440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb600440eb60c2479177d4bc9c88d59c3f4bce57ea842863f26da979e730f9a26ea9488b95f121292fd242dbe524b54f5a2e34929072e7950620c495c69c0a3b0eddf34cafe0000021c000000b005aa6a01fc506456b6030290685589652457532679c1ffebd33758a4246641e804440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb604440eb624446ac3e8dc26e33461b33c76abe2a588b207bd5e66369903fcb02e34620d0c2a3284a98fbe1b6cf25ce4ea9d0f8d0474a518f89017f48fb5063a317f0e1eab000000b01d62d19897d8367dadefc94901e432e0d42398134088f7c6975d80b14f16886408440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb608440eb60b9883e7a33258e073fe343e8eb933c4104a6461ab73bde28440e2a76f12538711869dcd4a144d6a31f965ecb51cde22fc3d759cdd257bd9354a6caab9be6526000000b004b6eabc522e687aed8c4a4b19f183ff5bbbf4b78d967f1017a1b32a89c6cedf0c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb60c440eb62350eb7e3eba2b076beafaf72847dd3fc016a94e723ab5bd48670ab499c29a03293f0563e59c1f9129e62ca54eab879eac09ba89a3ec73b3f97094b7e46eaba200000fa400000168000000b01c6f5252edb63aa1e5791103b3802d7b0b8839a4545d76eadbc7db37b477155b10440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb610440eb60aa504a1f9105d04ab877bf940552e5e47af05f2bf483d06c8ab3d2dd472e07e10931e879ff2518e6982ada766b8d8bd33a2172df0f9fafd79b4c7311f1ef21d000000b003c36b76a80c6c9f25159205cb8d7e9993209648a16afe345c0c0db0ef275bd614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb614440eb6225d6c3894982f2ba37442b1d9e3d7d9f77b4adf860f34e18cd1653aff2326fa284b861e3b7a23b5616f746000478238e36e5c1ab7c0f2d83ddaef3e49cf389900000168000000b01b7bd30d43943ec61d0258be651c281542ecdb356831f60f203235be19d7a25218440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb618440eb609b1855c4eee6128e310c3b3f1f128f87f13a783d31cbc2b0d1597b439d36d750f9f9f41f5d055b2a10bf5621854d3576b06b8bf04ce7a21be1f21b7847f7f14000000b002cfec30fdea70c35c9ed9c07d297933ca8537d9b53f7d58a07668375487e8cd1c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb61c440eb62169ecf2ea76334fdafd8a6c8b7fd2742edfec7099e3b405d13bbfc16483b3f1275806d8915827d998f8bc1ab1e37cd31ad2fdabcb9571fc824549c4af2fc59000000168000000b01a8853c7997242ea548ba07916b822af7a517cc67c067533649c90447f382f4920440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb620440eb608be0616a4cc654d1a9a0b6ea38d2392b6784914e6f13b4f517ff23a9f33fa6c0eac1ffc4bae59d6d8953d1cc9f0cdf1a26b5a5018a2f94602897c3de9e00c0b000000b001dc6ceb53c874e79428217b2ec573ce01e9d96ac913fc7ce4e0c2bdb9e875c424440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb624440eb620766dad405437741286d2273d1bcd0e66448e01adb8332a15a61a47c9e440e826648792e7362bfdd08203d5637f776d52379f3cdf69f120c6afa44b1490528700000168000000b01994d481ef50470e8c14e833c8541d49b1b61e578fdaf457a906eacae498bc4028440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb628440eb607ca86d0faaa69715223532955291e2ceddceaa5fac5ba7395ea4cc1049487630db8a0b6a18c5dfb101e84d77b8cc88bd9cffbe12c77786a46f3d6c44f409902000000b000e8eda5a9a6790bcbb16935e0616e68394e7afbdce87ba1294b1d441f4902bb2c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb62c440eb61f82ee6796323b984a1019e1eeb7c7a89da92f92c18cb24e5a1074ce2f44cddf2571084d3d143022080b4b90151b7207899c40cdf33e70450b19fed179f0df7e00000168000000b018a1553c452e4b32c39e2fee79f017e3e91abfe8a3af737bed71455149f9493730440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb630440eb606d7078b50886d9589ac9ae406c518c725418c370e9a3997da54a74769f5145a0cc52170f76a621f47a7cc922d28c32611349d72404bf78e8b5e314ab4a125f9000000b03059bcd2e0b61d59bb8af6a7137ec15f98e704d56a766b56b1976d5e74a98fb334440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb634440eb61e8f6f21ec103fbc8199619ca053c242d50dd123d56131729e7acf5494a55ad6247d890792f234463f94934ac6b76ca1c100e25f0712ef694f845957df516c7500000168000000b017add5f69b0c4f56fb2777a92b8c127e207f6179b783f2a031db9fd7af59d62e38440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb638440eb605e38845a66671b9c135e29eb86113615ca62dc8226eb8bc1ebf01cdcf55a1510bd1a22b4d4866437f31144cdec4bdc048993f03542076b2cfc88bd11a01b2f0000000b02f663d8d3694217df3143e61c51abbf9d04ba6667e4aea7af601c7e4da0a1caa3c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb63c440eb61d9befdc41ee43e0b922a95751efbcdd0c7272b4e935b096e2e529dafa05e7cd238a09c1e8d0386a771ddb057853673bf86583f01ae76e8d93eeb3de44b1f96c00000168000000b016ba56b0f0ea537b32b0bf63dd280d1857e4030acb5871c47645fa5e14ba632540440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb640440eb604f008fffc4475ddf8bf2a5969fd0dfb940acf59364337e063295c5434b62e480ade22e5a3266a67b6ba5c079060b85a7ffde09467f4f5d71432e6577f623fe7000000b02e72be478c7225a22a9d861c76b6b69407b047f7921f699f3a6c226b3f6aa9a144440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb644440eb61ca8709697cc4804f0abf112038bb77743d71445fd0a2fbb274f84615f6674c422968a7c3eae3c8eaea722c029ef61d62fca25812ebbedb1d8590e64aa12866300000168000000b015c6d76b46c8579f6a3a071e8ec407b28f48a49bdf2cf0e8bab054e47a1af01c48440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb648440eb603fc89ba52227a02304872141b990895cb6f70ea4a17b704a793b6da9a16bb3f09eaa39ff9046e8bee43a3c241fcb2f4b76282257bc974fb589d40dde4c2ccde000000b02d7f3f01e25029c66226cdd72852b12e3f14e988a5f3e8c37ed67cf1a4cb36984c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb64c440eb61bb4f150edaa4c29283538ccb527b2117b3bb5d710deaedf6bb9dee7c4c701bb21a30b36948c40b2e6306a7adb8b5c70672ec71242906cd61cc368eb0f73135a00000168000000b014d358259ca65bc3a1c34ed94060024cc6ad462cf301700cff1aaf6adf7b7d1350440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb650440eb603090a74a8007e2667d1b9cecd35033002d4127b5dec3628ebfe1160ff77483608f7245a4ee272b025cceb7cf398ad8eeec723b68f9df41f9d079b644a2359d5000000b02c8bbfbc382e2dea99b01591d9eeabc876798b19b9c867e7c340d7780a2bc38f54440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb654440eb61ac1720b4388504d5fbe808766c3acabb2a0576824b32e03b024396e2a278eb220af8bf0ea6a44d71db9b2358d27570a9e9368a35664ebfa612dc37174d3a05100000168000000b013dfd8dff2845fe7d94c9693f1fbfce6fe11e7be06d5ef31438509f144dc0a0a58440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb658440eb602158b2efdde824a9f5b01897ed0fdca3a38b40c71c0b54d30686be764d7d52d0803a514a4c076d45d563337a534a829262bc547a3727343e171f5eaaf83e6cc000000b02b9840768e0c320ed1395d4c8b8aa662adde2caacd9ce70c07ab31fe6f8c50865c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb65c440eb619cdf2c5996654719747c842185fa745ea04f8f93887ad27f48e93f48f881ba91fbc0cab404848fb5542f9f03ec351a4d5f80a346a396b1ea5981df7da342d4800000168000000b012ec599a4862640c10d5de4ea397f7813576894f1aaa6e5587ef6477aa3c970160440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb660440eb601220be953bc866ed6e44944306cf864719d559d8595347174d2c66dca386224071025cefa9e7af894df7af256d0a2c35d9066d8b746f26825dc507114e473c3000000b02aa4c130e3ea363308c2a5073d26a0fce542ce3be17166304c158c84d4ecdd7d64440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb664440eb618da737fef445895ced10ffcc9fba1e021699a8a4c5c2c4c38f8ee7af4e8a8a01ec88d6596264d1f8ccc41aaf05f4c3f0d5cabc57e0dea42ea02787e3f94ba3f", "txsEffectsHash": "0x80dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b", -======= - "archive": "0x05b3a19912bbc45e6b5026b74c7993b8740b98803d5ef0624bb248048c944c6b", - "body": "0x0000001012e5643e26da426570dd999e0e044e5f83d60f3cd813c55059bc0ea0f4a7c9d413b2d2cea949fa0876265cd8eee3a4dce1e243783562ea07e2de537f469f7bf627abb3d4560e786bafd52f77ac52dea36c50419f32386567bd969b0c38e1bd7405d339cecb99fa74bfd631917f965357f0341d8c4dfe6a8f4b621d8df54c82941d560ac24523012499eeca2594f20ce238b7d21b98ad5c638767d70ee05532c2183e6d64e69b005709dfc4771c7ca5981adc54f3e8bd1b00222461ae90e44eda2f1d4572fe0b0b23100a7ea6d4780b25e826e41ca9e71897e010bcb218887b3d036d44eb30a430b5cfc6660270eb5fb7f274689ac73dfa53ba9d0739fe38637f01f7130af8c5888d4c65ea68109a1d58fe8d7d1ae62098857b0a3a3dcd393ef80ed8bcba6eb5e3b4887a32c51c5853b97a5eb59c87c520f36423c6d7be06071821ca1719330de5e3c51a521778b49cbbc1d53f8ed42e0562bf21ed72e8cb9a410b0e82ef5f7276df41353faef675fb408aeb246b6e2f704cab99bf28d1427e7b0fec7b9929c6effdcd045d3fdcec1d1b73faed495444699fab936630d69b519f0bf4f1453db36439419dbfba703b849d1aa5774fe9a5325e5bf3e7cdda9d1f7f2a9c2a035c72fd4a3e383306aff03448f9accc08a2c665837560cec8675fe2512bfaef35a8fb7df08a81001a7fd4903849c0371dedd87f31295f46269c5205dd00000004380000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000024100000000000000000000000000000000000000000000000000000000000002420000000000000000000000000000000000000000000000000000000000000243000000000000000000000000000000000000000000000000000000000000024400000000000000000000000000000000000000000000000000000000000002450000000000000000000000000000000000000000000000000000000000000246000000000000000000000000000000000000000000000000000000000000024700000000000000000000000000000000000000000000000000000000000002480000000000000000000000000000000000000000000000000000000000000249000000000000000000000000000000000000000000000000000000000000024a000000000000000000000000000000000000000000000000000000000000024b000000000000000000000000000000000000000000000000000000000000024c000000000000000000000000000000000000000000000000000000000000024d000000000000000000000000000000000000000000000000000000000000024e000000000000000000000000000000000000000000000000000000000000024f0000000000000000000000000000000000000000000000000000000000000250000000000000000000000000000000000000000000000000000000000000025100000000000000000000000000000000000000000000000000000000000002520000000000000000000000000000000000000000000000000000000000000253000000000000000000000000000000000000000000000000000000000000025400000000000000000000000000000000000000000000000000000000000002550000000000000000000000000000000000000000000000000000000000000256000000000000000000000000000000000000000000000000000000000000025700000000000000000000000000000000000000000000000000000000000002580000000000000000000000000000000000000000000000000000000000000259000000000000000000000000000000000000000000000000000000000000025a000000000000000000000000000000000000000000000000000000000000025b000000000000000000000000000000000000000000000000000000000000025c000000000000000000000000000000000000000000000000000000000000025d000000000000000000000000000000000000000000000000000000000000025e000000000000000000000000000000000000000000000000000000000000025f0000000000000000000000000000000000000000000000000000000000000260000000000000000000000000000000000000000000000000000000000000026100000000000000000000000000000000000000000000000000000000000002620000000000000000000000000000000000000000000000000000000000000263000000000000000000000000000000000000000000000000000000000000026400000000000000000000000000000000000000000000000000000000000002650000000000000000000000000000000000000000000000000000000000000266000000000000000000000000000000000000000000000000000000000000026700000000000000000000000000000000000000000000000000000000000002680000000000000000000000000000000000000000000000000000000000000269000000000000000000000000000000000000000000000000000000000000026a000000000000000000000000000000000000000000000000000000000000026b000000000000000000000000000000000000000000000000000000000000026c000000000000000000000000000000000000000000000000000000000000026d000000000000000000000000000000000000000000000000000000000000026e000000000000000000000000000000000000000000000000000000000000026f00000000000000000000000000000000000000000000000000000000000002700000000000000000000000000000000000000000000000000000000000000271000000000000000000000000000000000000000000000000000000000000027200000000000000000000000000000000000000000000000000000000000002730000000000000000000000000000000000000000000000000000000000000274000000000000000000000000000000000000000000000000000000000000027500000000000000000000000000000000000000000000000000000000000002760000000000000000000000000000000000000000000000000000000000000277370000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000003420000000000000000000000000000000000000000000000000000000000000343000000000000000000000000000000000000000000000000000000000000034400000000000000000000000000000000000000000000000000000000000003450000000000000000000000000000000000000000000000000000000000000346000000000000000000000000000000000000000000000000000000000000034700000000000000000000000000000000000000000000000000000000000003480000000000000000000000000000000000000000000000000000000000000349000000000000000000000000000000000000000000000000000000000000034a000000000000000000000000000000000000000000000000000000000000034b000000000000000000000000000000000000000000000000000000000000034c000000000000000000000000000000000000000000000000000000000000034d000000000000000000000000000000000000000000000000000000000000034e000000000000000000000000000000000000000000000000000000000000034f0000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000035100000000000000000000000000000000000000000000000000000000000003520000000000000000000000000000000000000000000000000000000000000353000000000000000000000000000000000000000000000000000000000000035400000000000000000000000000000000000000000000000000000000000003550000000000000000000000000000000000000000000000000000000000000356000000000000000000000000000000000000000000000000000000000000035700000000000000000000000000000000000000000000000000000000000003580000000000000000000000000000000000000000000000000000000000000359000000000000000000000000000000000000000000000000000000000000035a000000000000000000000000000000000000000000000000000000000000035b000000000000000000000000000000000000000000000000000000000000035c000000000000000000000000000000000000000000000000000000000000035d000000000000000000000000000000000000000000000000000000000000035e000000000000000000000000000000000000000000000000000000000000035f0000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000036100000000000000000000000000000000000000000000000000000000000003620000000000000000000000000000000000000000000000000000000000000363000000000000000000000000000000000000000000000000000000000000036400000000000000000000000000000000000000000000000000000000000003650000000000000000000000000000000000000000000000000000000000000366000000000000000000000000000000000000000000000000000000000000036700000000000000000000000000000000000000000000000000000000000003680000000000000000000000000000000000000000000000000000000000000369000000000000000000000000000000000000000000000000000000000000036a000000000000000000000000000000000000000000000000000000000000036b000000000000000000000000000000000000000000000000000000000000036c000000000000000000000000000000000000000000000000000000000000036d000000000000000000000000000000000000000000000000000000000000036e000000000000000000000000000000000000000000000000000000000000036f00000000000000000000000000000000000000000000000000000000000003700000000000000000000000000000000000000000000000000000000000000371000000000000000000000000000000000000000000000000000000000000037200000000000000000000000000000000000000000000000000000000000003730000000000000000000000000000000000000000000000000000000000000374000000000000000000000000000000000000000000000000000000000000037500000000000000000000000000000000000000000000000000000000000003760200000000000000000000000000000000000000000000000000000000000004400000000000000000000000000000000000000000000000000000000000000441100000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000641000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000642000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000643000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000644000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000645000000000000000000000000000000000000000000000000000000000000064f00000000000000000000000000000000000000000000000000000000000006460000000000000000000000000000000000000000000000000000000000000650000000000000000000000000000000000000000000000000000000000000064700000000000000000000000000000000000000000000000000000000000006510000000000000000000000000000000000000000000000000000000000000648000000000000000000000000000000000000000000000000000000000000065200000000000000000000000000000000000000000000000000000000000006490000000000000000000000000000000000000000000000000000000000000653000000000000000000000000000000000000000000000000000000000000064a0000000000000000000000000000000000000000000000000000000000000654000000000000000000000000000000000000000000000000000000000000064b0000000000000000000000000000000000000000000000000000000000000655000000000000000000000000000000000000000000000000000000000000064c0000000000000000000000000000000000000000000000000000000000000656000000000000000000000000000000000000000000000000000000000000064d0000000000000000000000000000000000000000000000000000000000000657000000000000000000000000000000000000000000000000000000000000064e0000000000000000000000000000000000000000000000000000000000000658000000000000000000000000000000000000000000000000000000000000064f0000000000000000000000000000000000000000000000000000000000000659000011000000021c000000b00e245970529ec41280d4f82cfc013bf7c5246b83867d7924c0e390eb32a10f6dfac8530feee283d8bac2a2913a9e2a415b391c5d0e914e137aea5cd28e10bde1157d36ebeb5b516e8278dde3a08161267ea96538f94d2efdfe5247fad1d74420906ef0c416d0b7c91df37914fa662082258fc4f7afed6f66570690922a5112935506374b6eac5289e60d34b8d2195e98080bf1be011d1931381f1e4c041e847c3adec8475df5a091cc0d547ca1ea452a000000b02253ac1c9678f86fd40a951c237b7f8adef8cf7cc396fcdab25595fc82485b0fa5cefb26580a089e4888e9eb4389e8dddf71c22a5906d19dbb2b67ebab078acf77bcec21367ad1886c1aa347847ce318d9f64ef57819c0871b5e3448a301152fd073cc68b85e49b728d8070b0b31c6471ddd53d5cbee9fe742be34dab84e4808ca23e3ffb1141cbe615721c457a6d0500d1cc87a3064036b3815b38a2a3e403db470c0eb0e8829b5b5e387b2135cf85a000000b0011cada16b47b3efa2cc1e46d42daac5f4a749c7b0fd0239db0b5014816942955c23c19842a02750e8e23db0418a7dabcfde05af543cbf3a841ef843df625191d4a1e517e36dfdef04cbed58b49742c74aa450eadc726f6144796cb4e454ff274456b9e6bf48def0ead673c50b86c84521558f48a566421dd9ac30c39b77d5f7c1801171a8351bbf2cc36119ab0b23f01794ab6a43b243a39a035758bfed57ec08f8b478defaea3e0f963471807b04d00000021c000000b0023c5269f4da3ee40b0282995c35b9d804b56744a375cd7a70e96bf7b1e29a39b1da31f6ad18dfe4d6b96013c4abde464c549a31ecd9b39fefdab708ebe84a96daa9e26e2557ccd24fa239f9b9ee95f599dd5f6b352d3596fbe7b06ad7054d380819e20db71ab6a63fd4d9210fe9dd44295dc2ce68bb8a45c256ef595c09c64eb29589a851115a464b63e486e11948532041164106874d632c4d0710675c25fe3488585dcf96653cb97cb5e72ba324d3000000b0223a8372bf485190b06a431e97d5fdb19e4ac0ba0688003220ecabd0d54bbb5bf8d2a09df06eb61db81ebdeb377844d613ad15fddb54fa58533adef58b5f947ab59660bcba411f3403a33038e57212abe6532a337604c783909f8b2068b9de35524696a05014e7ce6b6e161aae8aedff00caa7a68f20297f11555becd47d80cae0423f3268ecda071a226ae0478291891ca147fcc5b170daeb09e110d56d8755e301576fb7354fb2e1c291d716b85bc1000000b01472e8ac91e493a97781246d8f8612ecfc45354482681b85f47fca4ff639a6bd6ac006c17fedb417b2e45649f1c2f781ead01e31ce6a4f4fd9eee3fae20e98c8186e3f621d08a91d9f8648de99aeba221f54968e1c592f7eeb327b47957087af74d62055d8714702a690de73dc2748eb2e70e54dc5976d8681adac75cb579822840be5dae0b2851550d2fc8e1f86f77a07341942ec647fd96b0936f266be6a49682a838967242d933a5d4086eb81b5180000021c000000b02e48da9b1d7449c55d1ff3b14574ef39f07deffd8796ddcd2b2603adb90e2dcda95abd0e217b61c12a4eb661f25daad9ef4e74800662431e87bf0f86bfe0f40dc4a754ccb3c2cfbf9d48abdac413b25232ff887948f91388045112bda242ca8c9da68344040d8dd96ae481697f0422e02d00859f6c9a26228424b69c50e8d4a713034e16fddbc95383365a99e1aa3acd2003c6114c494eb7975d6ab41fd5b93c136f3c47aa9c7be4feccd3a1c26d15f1000000b000707ed69f47e2f88a9c49197b300437e454c2559c9cc9f32322e0d68ef0ed16d960f46c03f40157012cee5c98223c5532958611ab961d9d88de8737497607ada0cd25592b5fd36397bba8ccb491b92abbcae94fb1bc9e9e8d17eba060395bec80d214449ce585a62e4867bcf50fbd851aa8bdc3a68a551a476a902652d3842ccea0bb490171d6ebb6bdd14070a2d55b0605cb14907ffd85e1bb1c14fa37fd08827e283177eef01f6fa962d199909040000000b02f4aebcab1b550b6472c5c9ef6161104d871c5f63f29858c9ba1026f9578971638699bb5270d5551e9d8dfba7f54ec0a545f8618c5177546dcc7f7a6ef6b173b0beeff40c20b82c90e97a52a2e4bf5afbaaae8ab507c2abfd2b5a0cc12f91274f72c99fd555aa068216f2d00c7bbb11f25bf9a6c5055ac518d1d995754b8116d931820583ca797b74b250a0c9d4c9ca30689966d243d0b2316bd9002253f4a083f706bf01b7d2861ef7eceec8e7063a70000021c000000b027099ef5200d36ca1376fe993c300387c412f27818fe9208b1e05998f3e829b1d672f279307a25a0c7bdeb5635a4433cb5f57b3b85df579fbe84ac66fc428decd5d7bc8a5a7fc240119c78d960cccf30f0e9b7640f9b9e89c8c909c221143777ac72aef4423ab1a83945996ce76284d530394000e6f34fc077a9b37858ab5e38dce28a8f5052abe0692b8fa14f3062b11e338e2d3d4af794ebbf7a2780bae8388503823e8dda0758e54981700f2574d6000000b0160680d254fa4b8f4d195672d3a9b5fba129f56bf3dda7f8bc7fa5636a4b5655c486d51849b8be2e4e9ca1500accb1adb8bdb02cd9c1e5eedf40608e7da568dc0d69df9e18ebeed1257fb35f506805230386ecaa30316ba9f6805141f6e8ca2b52b00d64c423f9aa4536c686fcf3915504759b7e1ed4ef1fe1a8ca02f9b8ea2cad354bd23cf62c3e1da390cb2edbfcfb2e96afcceb4b181459a2dd4cba2ecef5a98650b0ef867254f6b4476e4318e3ed000000b02a057c48e0e54961b37353af2027e644bc87d6a091f5412b4b7b771bc6b58eb5c10eac21ba25e27399a7662758772e1f62dfcbcd9770343c56becd4099743f93f53aff2cddff292fb143e640f338f33cbed89f2e74efa11e61ea2ddb0f4050e6b51b69585ff70de81ed909a810e214660921241e1edf8beb1a085e5edb2989b49cda5aebf2254efb78ad6f217f2572fd1171712b9d1c6679b4f5b19358fbb68f3aba3cb52465b2977d6c35431681737e0000021c000000b02b4a619289d7d6fc7ad358164a22ba3f3792e9c2798961d58c633c369aa734e708bc86a000a95feb7607f5d7542ba6ccde6de216e52ba8415110bb158618d69d4d2cf0bed3ae5425d817d099bba3a25b6152d2da844930f1d62a14e14f0879b4f8d521c63c6c22386fd726cde253200f15dbe726bc840258bc359f2a903b07c20a77d6e8be88b6f90d5fc515e3198f0128dae4e6dd6165d8446ed874788cca64063948c2f00970cac8513ead23b03044000000b02593fe002c27ed32a67c805638e84f22a551fa2f538e39d3c69340bdc51b382447978b1bd593dcbab11c947c8cbb64dc3a0ce197e3d66aa9b60a5afc02d0b5af5db3ab65c3d89ff0f7a66a31dd9d6af0ff3dc9b9c19254aa363491b0676f25c6ba08062afb51928066f374460c925c9103051e8e02fbf61700a5fc32c3f108cf5cea134dbb419f508e66cdcab1cf3fff21d41c4ce955efb1ee31831f503ce97155afe2747903b556f17bfdf4065c7065000000b020487fb566be6c563c668403ac643fa47cd8f50452ba00cd7436efe137494c8ac1bf6f99d851cef24ad7841fea607d89139fcbf997414529c4ef851f1d5087155a8b4f6a5aa27ad37c658bafa72c845a5f44861e23c27a1f55532a92041c27482c9cd3dc1c4cfa48d3725cf715647f7308a4e3b1daf6b7418fff5c90e957c0f972d8044547bf080f70fc20c260ed07d5277a7feddb9f1f11a3d647bc2c0b68f1a6bc28dc3cf6f9018913fbbac5a04afd0000021c000000b0253caabd85ba0dce40ef7635ef32b74e21d101f6781f53598f360f0857689256567406bf88045deffa521a723ac8f76a889f50b127f3a2065282d5dfdf4a99f4bfb42456a23a989e5b92e0f21c9a6b36485159f3211ed4a34092c586c5e122a9fce4d41960db4bf9074f11e5befdd4f30e754ee276bcfbcff2810977bbba8b97a023f98fb5dc86f721cda363fa08e2952a383757c55fc150384ce2fbea9b4b84b6f5c452495a3f4606144f65f17275fb000000b017b2520815d547c80157a6805629d56f926becfcf440f22795a739e27feeaaf8be57a0e3988da7816c52d216c8af739db6d81e9ac9949e42d68f3e600ab27dee09b8a749248a74b66d153c52a6aa3ef2cf03970aa1af17d867efd4de75f22275123e8bf4f24c75f29f11234249e395c70b66509d180211a4df8b1c5886c5062bd16ab113a097ced95cb95868c2f9c5e80a3bcef2e2c772d3c27e868d994c7092946c5b003ad07657b277d44d58c7fac6000000b01e1b14b55a7516e0bdbe9ae73b356d6a8757adbf8467549fb4293b81040590b00e19e8d549704b2a99f6f7682c42ad1476de6415e707df593d0708a2a6227e44acb8fc64f68c0709600fa26a23bedc3919560b058ccea39b2a5af5b2df842736e84dde4705a5f8d8b4d3a1b1630e41df2345a05252e2c4875066b0ed95d0c423fa09a118f5a1eef3e95830e1cdcf8eed1ea4c3552907cc9d898750b664b971052fa2f7428856807a4fce59975864ea6d0000021c000000b01b8fd6e1a0d5292156f03f2c5b79b8641d14ca19a5113a509f50565d03b5d4ba18540554e9eb3d332772fab91b7ca002d81da7c16f0d555f95ea43cb9b5c959ee1410942c7b139cf7653619504e1e2db27f7dec0c85b2ebf777ea1e1ccd0a8bd7c6c144109fe231f594320dfcfc1545a2efc5aec55c82f8b0cb06051d6333ae9158dde77d7f83a924a6efd3b496cd72f1f0fc477f7e399417d247f2b1816b05f84c2d80a260606fed0b3ebf3a4c5a94b000000b00237b7a07788ce347e6618a369adfadf36c1430ab59810ae97b36f4518355e0c049e81a2bc5c9152f7145abb19ccb83c7c57e9c35ab8f8eb9e26c84c83b0bbafd721990d0c07e9868c86c977576a2c46aeb8aae956ee04bd41fb57924e0cba59fdb7ba200b5ffc0ddd5935a2f2ec754e08932c8b2f1fab8fbdd663178aca0121dae73c031cd784845b344a0be64a7a341b658d86f96409d741ccbca010b33e44a69a6adfe091da36ee4070f55b263680000000b0274e28a687985a6a79c515c8b456719006b06a90acb012331162a8c42c08dbbf78a09b6c320e02993c0e2d3a99a135f51f16d304628ba12999b26c23abd44905688a135fea846870e3c3ab2d8e3086d9ec8be79253e9892c93dc3833d828668555ada147fe05b82f65cd35820d18072d1b4c090a09dad78c7b5f25bc3ff7335c3987eb42d629bb96f7f54734024e32b6277f05369452ba09bbe71468f03e811f198b085a00eeaf0b483d1277742645dd0000021c000000b01b7a4f4b580bf268684ee0c46004e25790288eac882f634f90c74ac898d0284e9b7d9137df6ede7549ed6603510a26ad464aa29e8b0775b90b9530000124f079ba6920d6af9c8d4329d6680459e77b48e0fb4614369099ce0f84abc2679c2e40d24d9801573dc7a0ba2b13da62ce23681ec8360e2138ae9c14eeab042c7297509ac46d5d1f25b0649559e43b1b60bcf52891a59762426d126105f3cbca6cbdfe41222ff5d9981566ad8d79c81fb46054000000b00f190660105e851ad2ce6fdfc4c210120f7be48b1fe144ae0123037c065eb2a076f52b43f13a324a115a3fcdb3b3a8712b19bc512370dec88976e481a8589b33ba16ec6aa53fba13aa9b2e5373f366106ffdd2b14b0d217a4150797194b2b6f943fdeb475f63ac0652297577b38efcf118dc4073bedd61fa45e80e59c959a08d2aaf2e07a15bb222bfabf60ef5d81a572b8248b821b50611804460a34825c76abddd3154235ccb531cb0d2f9a19168d2000000b01160550c07ef47b43b927b14298c4d1b6ca56dfade71fab27f1f59ca34a16a72eaf0b44d83a4404a9a3e6304ead7e0e43b322e8499e13dab3f96045b6e2dd9ce69bf463df8cd4824e180002128c77496851da44c9bf30dd262b87c1a8ad331587d4ea36ace670dfb8cadcb479d7f8df41f80e05cd61a399690607fc0abf3bfa01fa5bd68952bafbbf9774f4ac38b30a71c3d6f95a77477e1eb21901831947c4395acf93bc800ac403b590a541e9c423600000fa400000168000000b00211fded75a36e4a0f1ad0bdaad8007195642254384dd9e1010b7886b34ffa25293a507657ef0b1d049575b0a4e9c8a7a869a0a675a6c16507fb5144fe83fee2ef422ea4983ea9e7bf0355ea0ac8dcafab15e88b76b9c8ed0048423f436dfffd7c0dfa14339fa76a8837fa9273ab082b3051b3bea89f994ef9eebba0ef2b050e65e7bed9d78b09ad16a195dd8175c3b42616ab8085fdfcb8f4848a1dad6d97e623a1654bea7b35416b5ed83e6b06dc4e000000b00eb6cc0ab0a9dcb6272bc53c5cbf33ec180a2e3e6d0ced82d8e4ab9bccafcd628387220a10d38a2ed6e4959222852f293e51c9cbd0ded9504e90923961cfd2a29109beb94957c83dc57c24e626eeabb60a5ad90a00ded313a2c155579e2bedbd80a36a085fa64080ffa6544414be56ad056082e0ff0fb4d3974c7304b41a8771c461a933b90a4bd1ae0006a22900f0ca0f44f29602785b53c5bd3576effc83f506c459ab15a7ffe7a18199854a338c2a00000168000000b005a93d46886d5823de9f713515646e5cfc1c7b578fa8fcd0f065f0553261cb5f5889e4bf448cb51134ee4ba08683fbe52393668405dd367d4e4637d1154c9faac5d3ea7d4c56289ea80a99cb01d7e11489b618b2f6a4c5ce165cb52346778252e6d0fdda30a687019955a4f0a026ebd825030e338c039a959605b6d1bc45ca2f6ccfb5363d03ca699deff7ccb07927722d238c3b3946d168d4737b245298d0fbfd5b04335d5ff7fc55679d6e6545fd5f000000b01e8bc832d545b0b38e168b19253bdb77fc085710d53017f0566a09780e9bc23d26647a9aad31f730cf89b027c60ba728fcbebbfd15237cc2e43dc12e137c3b06fb2db62289cc556abac5aeb64f79241e2684e6ae876da2bd1f31ef9b44a3c1f648b02d6acb9dcf34a3a73e4e8140ff6f03635184ba079c0a756c9848c35bf5e57729fedbd7056a79d0df1bfeb9ff8be3177911138de1993e99d29d7de84d2703bd7f3abc97c90db646c5f7b8cb20359d00000168000000b02d14fe6a75ad104964a3331c9e043945d2e307957f0f4e541f5c615896cbe62dd775e3130e6619b84e6f8d15cd0368dd07edcf005608dca2e79db63e567b2416a8902c917bffa343848dfcf930b751ce11c9f1fd58312bbc7012e7b1d230dd119f55919f7c2cc3f541717890d86aa948275adb0c0e6a66375a0f896242fccf2e12066814839c4b2db1db6fdaaa1c6591173127fdba26475b7ebbaacf395f04be2b5c2646c026ab6b24578c1c6903fcd1000000b0005306c4da3663fa68933749128535a86f9b7a183bfa5ed3d8c1a44c95e507971bb1651d96b5451bef80a436e5051cffc57e85c944dc1f47883520322780e6bc59e27305a98593a46683d2d324ca637e0bd3d59c0578f9fc485f9f74dde767f241040822ea603c3934ed23771dbe1ebc06241c59222738f0e4cf772f42badd77e141dcef57cd9868b898e5e4c5f28dfa054394a7883f5b47d2af1682123dcbdbe6a678115049c3d0968399cfb7d8673400000168000000b00f64bf664c9a9b721d5890a9c15a397d8fa70e03992f70db6e1a4ed770164e7005e84b2bda4078ac49615b4cebec1667943bbbb895cbc2331725a728a1ad7eb49bc7626ab74924e0b314e4281bbcd8c3b4293e011ffc158ef69b73f4abdd1082a6299facab760ed26afa796ef76e54dc27c0ab1ed2caf1e10bb920aecef2c66d19ca39af9db1d22fcdc0d5a20d40969819807267b08db303aee9ffd5927b2feed944ed27707537393d1d0738c9a7efad000000b013b1da6d196971f4eb8aa2f111fc0dfa1fec334b23c4aae30371a3c701738f72d373cf790cb006b237854c521eae19c147d51940742451c23ab9cfbe3a00e65716975c4fcb1c3849026ccee269a631834731ff4dbab01a8e6a1b8b7efdb74c95767b266ee9bac02c4cb8bbe2378e75e6078572e407662aab4458b6ff26ac2a6070111c635f408a9f202fbc127cedb1830502b02fd2ca11072bbd1c19e2053cf345b2a64f033baf6b3960609c2fb676f800000168000000b01aa0ffaf8adfaea68b5aafcf04db439b379ed761c25e9b87ac07942c5f59720970dc3999b9ad575c3e9ad689368b703b1055602f81b720c13fc8a8d4a11c6523d80dda06652504813db5db078bb46bb5bbe24fd2188bc7b67d583ed71af535215296c933f168e8ed1e1b1f669d6ee0d815533b83d35477410068b9a9bc87e97ee54e13e1e4eaed713592c62849fe6c871b53aa31e48ad56b5c260288d76cefa2c3736906c2b214583b783c793f963e1d000000b00374260f0d5ebb6d88086195dc6d777678acc35e6d9b6fdd819c51802e698a109523adb58a17f046bd8a629c29d12fcdd432702a556108f5e19aab3b376080195d00bb0e2c703a61fb3fddd257f8bf3670686926c6b438f08c1b2bb624f999f4d46bd6a63996b6054d8c4f3bc2cccaed03a3874840cf480ff3df48729685a72d70db877de6ef51a2d991f1532daed9781626d20d245aa251bae6b909bced25f4a03dbba337ac3bb40c56ad0fbaf053e700000168000000b0118a2e41a845b82bd5982d5707762446d89a1b74d5e0d7922f4364f7ce9fd288a86ff8fc6fd7778f0e1d892d45a7a5a29904133ce4ab963266307629c8fee3a7d8ca075f635265a84fb60bca6f6bacd685950dd9be475272d05fef69b14632ccea232deaa3cae7273e4c63612f4c39be0f88e5c1e73109d93721341b065fbda3bb18c826b71b5a11894602fbc7f498eb25de0314a0c628e627d60a597a5baef864b8e9fae85172c9837262d87d16f114000000b0110343304fbbab7108e0e1a67101f40abb4f7cf857f2049ccfc6c9e67b273b36f2cfc502df45d167e35a17a54f2893b5e0b1794f32b5ef19f26c44532b2c6d605411c9f1b1c6cd34e2c639709c8bc9b76be14f9ea5e3d59979abd6c6b94e32ae92367aafd8787f2c5c6a53f35745c60a2e041ec75754b09c6e5a613326dc0b3e935bcbc9d61456a8db48f606d0d538802c31c22c6c5b6d3e71526163bb3df2a826eaaf9b00f848f1d91f56d60024a6a800000168000000b019bcc068f1ca9cb213a300dc57cd55fc877a3f28775b8d3a015b1b064e851da0739e5ffadbffd1126f0c303233a3184c1dc59012fa135303671b0b0d9a209c34603295cf41e1a88d673e37aa93289904cb2f8a55797d9b75cbe433586849763b1bfda13c55f1e884140a42d67510ac351833d543ba6f6a613bc492a9a69b709457b902b7947e56413cb2691b7e0938d20c34fccfb2ec73db51faec9c74ec93297e747c7ca0a347d2ea2b49dd9ef46e0c000000b0089caec1c3719398cc817198d993d5e66fa673b66896638d71dbead4e645b68339ebd11868bca94f50042a4bdc66e8593aed97f675552c1c48da008f7f6ee61cb18c24aa6c4fd76253a20b3108c58376eb881323ba0c53bb092b028afa84381887f2847216e5875c8685f16a523fe3590bd07533a7f15a2c4f17e6f31cce2878cb403e94b1da556e44d5ccb4de0ff8541dd00b407c586e06ac762ccc61ec62ff92ae26cbc659587bd329b441aafb275000000168000000b026dd87847bd8f137b6e65f3940a31822c051ebf31f446a81ed28f2301e859d16f1e5b40b6ff20914b6086b478df70f24a5376b0728ee48c3e4575f70d9c97569e351d30b99bd7b7311950317f96502a545c286b647179eb31c088f397e94c406f7cbdc28b40d5021446ec255c97091a310a879b11c02088c9265e10f67060faf65b6533cbab087c2c144d5084f44bd12006d5f726973f83ba6d5e04ceff0243dbf23fe90d1320497e746808c616bc2ef000000b01b81331bf7902af3126cebac0aa26fd30064f3a766def465fbc1930d4547fab45c3c38367d93a3f5ec40c2abc585c23c58f5ee318d9fc0d0526d32cde06ca28593e48c5b5801d5515d31e58ffe8752029e00a6d5a2c30ecab34452d23421a950cf62e069932d863127e160649c565a1f2bcf3ef2588e0190655e6b20984d6ffe98e568db1884b7d1c90d15dfaf2ad3210956125a16f3df210d3fc91c0ee6b866041b781b20159508ffa2076afb9ee12400000168000000b00f5d3225d0f533dd2501adc6ade9f44c6c11c729be0f7b86a187a0a90341841a0399a86f3ebff7a84860c3e36356be9889d00bf853b99654c4ba388d61af51aa8f10bfe0d32552cd31f6d233b09250d5d723c5c0ab745a70f1433002925d4fd6178ec9e364c7a650cf01756cf62cafb72f6e9ab5404de64a8aa6b80b736f7b7b0b17b617e2e17bcfe4a8efa991edd6d81153edd275c501b8b7370688d13427522d77780f22f32bcf6f2678b4e7f46479000000b020be383982c8bc6b3e1c64801959ee0aa893f4dbc4f09da63b5c2c24ee3585f611265403de87e9d0d03262925a3b834a94bf9c862a5cc0260ff3a7ac765e5088bf58f77e0b0cd16023e9690a7bee5bd8467b6091f8968f57681bd633c6840a9b8cfa3bace8179f14fee887a2408ed373297428500647261a1f717180c083f3ab6bda224936d8137db5629dc87190d7472b3ad43a5b8fa65a05ac0237a1a3f73c3893cba8d17c30d733b28a3b30554aef00000168000000b01c737fc52e4a971336d9c953088e2c0719cade8ea56392d543e591dbd12f65515768d7280003427d14b34b22beb1c8af78f428e58f0a34786bda6fbbd632a06c876a2313692bee90791152dcacf3e52bb09fd9eabffec0a597a51f4e93e386df2c3010b392f36ad593301b36dabf753b2723a9a74d40a038c38e66dc6194981cc0c40e5a723cb3d34372d6f1bb668cde06dea5e1f042260ea4f53820166d863d31726f7d5410f2beda15643287ac6b2f000000b01798a4b6eab4f9aa6dba87b566e6531937361c540d485dc20a28d54d99c5baeb9b812a4d84d1a9720cc28fc27a032bc7312de0f7f0c299e8e3ed8b2784879f21e559af84c32926fc5686d65c16631ee31aa86085396fa8ee83e658d790d381d2440f1b6392d7d0056e4b6b5cd71096fd2b6f1d1711ee7ea3b5b118b6db21c169549ed30aeb503c71abce2c7b0b1c533b22b1c60c0f60809121e15238cb2308b93a3ddf12420e221d0fd16770b30fbe6900000168000000b002a18d52d8afa7c74145875051d0792d576917c07796bdfe20a00b74d785b83bf3270628e85307d358bc883c466708b9d8c3d90f0a80f34ba7e07cc3ac6ce3888a15ee67e53a5ddc8e94668c1920a113b030eac3eeb8c925d375fa3cc43225fe97101c1703c30189288b108564b57eb11abe534ebd484e26de91432e9d3c3c7dc436920485eda3736b4ef5462446255520834f9c6dd2f32989a0ea5bf4a23ac5366fd54c9ce67fd3b1d158aecffc7850000000b01e476fbb59627d1b09598fc2d573a3dff741c5ffd800af5d4861162efb8960d6bc56cd98dc6bbbf95c04e680b2add9af726a9af9ddfc6935368510d62302cccdb5e862e9ae49b21e407f4080c8840da559f02ecd7fbe05b983fea4181fe0ed4312876d1e01fd2fbba19dc2e8fed586b81e55f0cbb72897992b8562990c65f8c6ab65d269c74f4afcd873aee5c9413cb41b4d8942132bf3b5a0a84e72b1ba437abefe5bc69d2ec911ba926d58c9dacf7f380000000000000000000000000000000000000000000000000000000000000280000000000000000000000000000000000000000000000000000000000000028100000000000000000000000000000000000000000000000000000000000002820000000000000000000000000000000000000000000000000000000000000283000000000000000000000000000000000000000000000000000000000000028400000000000000000000000000000000000000000000000000000000000002850000000000000000000000000000000000000000000000000000000000000286000000000000000000000000000000000000000000000000000000000000028700000000000000000000000000000000000000000000000000000000000002880000000000000000000000000000000000000000000000000000000000000289000000000000000000000000000000000000000000000000000000000000028a000000000000000000000000000000000000000000000000000000000000028b000000000000000000000000000000000000000000000000000000000000028c000000000000000000000000000000000000000000000000000000000000028d000000000000000000000000000000000000000000000000000000000000028e000000000000000000000000000000000000000000000000000000000000028f0000000000000000000000000000000000000000000000000000000000000290000000000000000000000000000000000000000000000000000000000000029100000000000000000000000000000000000000000000000000000000000002920000000000000000000000000000000000000000000000000000000000000293000000000000000000000000000000000000000000000000000000000000029400000000000000000000000000000000000000000000000000000000000002950000000000000000000000000000000000000000000000000000000000000296000000000000000000000000000000000000000000000000000000000000029700000000000000000000000000000000000000000000000000000000000002980000000000000000000000000000000000000000000000000000000000000299000000000000000000000000000000000000000000000000000000000000029a000000000000000000000000000000000000000000000000000000000000029b000000000000000000000000000000000000000000000000000000000000029c000000000000000000000000000000000000000000000000000000000000029d000000000000000000000000000000000000000000000000000000000000029e000000000000000000000000000000000000000000000000000000000000029f00000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000002a100000000000000000000000000000000000000000000000000000000000002a200000000000000000000000000000000000000000000000000000000000002a300000000000000000000000000000000000000000000000000000000000002a400000000000000000000000000000000000000000000000000000000000002a500000000000000000000000000000000000000000000000000000000000002a600000000000000000000000000000000000000000000000000000000000002a700000000000000000000000000000000000000000000000000000000000002a800000000000000000000000000000000000000000000000000000000000002a900000000000000000000000000000000000000000000000000000000000002aa00000000000000000000000000000000000000000000000000000000000002ab00000000000000000000000000000000000000000000000000000000000002ac00000000000000000000000000000000000000000000000000000000000002ad00000000000000000000000000000000000000000000000000000000000002ae00000000000000000000000000000000000000000000000000000000000002af00000000000000000000000000000000000000000000000000000000000002b000000000000000000000000000000000000000000000000000000000000002b100000000000000000000000000000000000000000000000000000000000002b200000000000000000000000000000000000000000000000000000000000002b300000000000000000000000000000000000000000000000000000000000002b400000000000000000000000000000000000000000000000000000000000002b500000000000000000000000000000000000000000000000000000000000002b600000000000000000000000000000000000000000000000000000000000002b7370000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000038100000000000000000000000000000000000000000000000000000000000003820000000000000000000000000000000000000000000000000000000000000383000000000000000000000000000000000000000000000000000000000000038400000000000000000000000000000000000000000000000000000000000003850000000000000000000000000000000000000000000000000000000000000386000000000000000000000000000000000000000000000000000000000000038700000000000000000000000000000000000000000000000000000000000003880000000000000000000000000000000000000000000000000000000000000389000000000000000000000000000000000000000000000000000000000000038a000000000000000000000000000000000000000000000000000000000000038b000000000000000000000000000000000000000000000000000000000000038c000000000000000000000000000000000000000000000000000000000000038d000000000000000000000000000000000000000000000000000000000000038e000000000000000000000000000000000000000000000000000000000000038f0000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000039100000000000000000000000000000000000000000000000000000000000003920000000000000000000000000000000000000000000000000000000000000393000000000000000000000000000000000000000000000000000000000000039400000000000000000000000000000000000000000000000000000000000003950000000000000000000000000000000000000000000000000000000000000396000000000000000000000000000000000000000000000000000000000000039700000000000000000000000000000000000000000000000000000000000003980000000000000000000000000000000000000000000000000000000000000399000000000000000000000000000000000000000000000000000000000000039a000000000000000000000000000000000000000000000000000000000000039b000000000000000000000000000000000000000000000000000000000000039c000000000000000000000000000000000000000000000000000000000000039d000000000000000000000000000000000000000000000000000000000000039e000000000000000000000000000000000000000000000000000000000000039f00000000000000000000000000000000000000000000000000000000000003a000000000000000000000000000000000000000000000000000000000000003a100000000000000000000000000000000000000000000000000000000000003a200000000000000000000000000000000000000000000000000000000000003a300000000000000000000000000000000000000000000000000000000000003a400000000000000000000000000000000000000000000000000000000000003a500000000000000000000000000000000000000000000000000000000000003a600000000000000000000000000000000000000000000000000000000000003a700000000000000000000000000000000000000000000000000000000000003a800000000000000000000000000000000000000000000000000000000000003a900000000000000000000000000000000000000000000000000000000000003aa00000000000000000000000000000000000000000000000000000000000003ab00000000000000000000000000000000000000000000000000000000000003ac00000000000000000000000000000000000000000000000000000000000003ad00000000000000000000000000000000000000000000000000000000000003ae00000000000000000000000000000000000000000000000000000000000003af00000000000000000000000000000000000000000000000000000000000003b000000000000000000000000000000000000000000000000000000000000003b100000000000000000000000000000000000000000000000000000000000003b200000000000000000000000000000000000000000000000000000000000003b300000000000000000000000000000000000000000000000000000000000003b400000000000000000000000000000000000000000000000000000000000003b500000000000000000000000000000000000000000000000000000000000003b60200000000000000000000000000000000000000000000000000000000000004800000000000000000000000000000000000000000000000000000000000000481100000000000000000000000000000000000000000000000000000000000000680000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000681000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000682000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000683000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000684000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000685000000000000000000000000000000000000000000000000000000000000068f00000000000000000000000000000000000000000000000000000000000006860000000000000000000000000000000000000000000000000000000000000690000000000000000000000000000000000000000000000000000000000000068700000000000000000000000000000000000000000000000000000000000006910000000000000000000000000000000000000000000000000000000000000688000000000000000000000000000000000000000000000000000000000000069200000000000000000000000000000000000000000000000000000000000006890000000000000000000000000000000000000000000000000000000000000693000000000000000000000000000000000000000000000000000000000000068a0000000000000000000000000000000000000000000000000000000000000694000000000000000000000000000000000000000000000000000000000000068b0000000000000000000000000000000000000000000000000000000000000695000000000000000000000000000000000000000000000000000000000000068c0000000000000000000000000000000000000000000000000000000000000696000000000000000000000000000000000000000000000000000000000000068d0000000000000000000000000000000000000000000000000000000000000697000000000000000000000000000000000000000000000000000000000000068e0000000000000000000000000000000000000000000000000000000000000698000000000000000000000000000000000000000000000000000000000000068f0000000000000000000000000000000000000000000000000000000000000699000011000000021c000000b02a3730c107ecc8a2e344312f439988931b60b3f669af1180ee5bf9aab0bc9c3f1fed43c7b75a33bf9853e040271c515dc2632d9f7ba1ac959094da382187b5445f3b72820dc216b271cf0240a60c762e76942166ea98050dad70ea05728e3212171f48ef8bc2f6d541b262fe099a22272050bb162f55c8d88015eedfa9c13dd29300ce899581d7b2ac5f40e87584b0842dc713205b144b19be44a6a2ad74335f8aa51b9902266428bad28967b1836561000000b01592f451b06285fb1edde34fdd591327c0260eee89356b45424bede8ea7bdacd4296f7f139786eab3b60762db7c18a79bf6e424e73725002a9ea5cd68d0f9485d9f46f779e502392c17f0340324e149d01f611e0c9f251920d46c1bfdb96e11d81955f0fb9be7cb0fa160544f8b7561d2a63bb5850d7a8e910cf8218cbdefa4f8cefbc0e2b765176e4d1d68f9e2b458615e4e6114255308ba842c3b3f318adf2ea75df916fb2714517d25e50113bb3c2000000b03062bffa80406ec65659d0e34ee8e8b3a334f9975e308c758e4ec6d51c90eb9981f0041946e31f3ac32f345506a2c3e002b57723902e4588d9c2ddeeb0f92b806bd21015608bb58979e1747149e4a7b1a14a214a5562baf400f0ad4ff0912d5465de4497f85f43eb3181de0ebe993671050f97e1d9ebb6d98cc44199238d7826520176c4527b9fd5c147313d81445ecc1702cead77e6702b871b7c2b501021956e9de6e07c9dfa31f3144b63e6621bbe0000021c000000b002d7c6ebb0b3f0577c97a7a770bd62e284c9223c48d29eb035d22a7ccc59819edc4f6d2bc9878dc98f349b59ba0ac375052ae419c4700b2ba1cf57516d3c78c6aa5c9ecedecd08699f2d714cafa60ee2d7c04eae3358051818f8a1711d57424eac2be20f6937fd02422ae7ba4c442bfb29cdc68f9422917d2a0b7b1a4db0fe9a161856aa94a56c4578b807abd98df97527d44b20ac967a75da949afc0c71b47fc6e3e3a405bc00f6e03dbbcb6bc91094000000b0249d5603fb5be8a66ef657a4cc2ec161d5c16fae1ccd541a434a1167947a2e34b8731f914e8638480ae01644518fbe2ae139913d3c14fa2f236b8a617a4c17e65d08695544d121fc1124900a6ea2008c79564797e8a5406586ef235a801930e6e301d4f033fd8006e5104d906df8a2c51a8314c3f3e3fab856d875efb25882614fe32b0116c93ef0e47ce0aef51570400193a98a3f1dcc02697b75846e763924d7f31fc8880da82805d560107501b610000000b003d969232bc5c2dae0feba031e39b678b030f60ad08a5704ccbdf9ed0cd743c8eb11c74b3dd6ba51cd48866cf5fc813b0ec96332c937848e965a1e33e48c42d68e1b9fc861cb479d1df9f68c8e63ec2438de5cbf7aa2396c25c35be8cd1548251df9c70ffdd14b4ee900105557d0c7041458dd6bbbf1dd1b15275597fd31e1451beeadf0645cc29755f018d2abb66ce01d9d7f22d223667fa04070536a74b2f59f42765d779061674c2113b4867917a60000021c000000b02379dcb8162afa2010034b21cfcec5175a7d84758bead2ab633ac21202439d3baff2361881728e9afb79dd4d224dab6ed2409c37f89e060cf0da5cbf6335c15c75f1941b7ea26645a2c1a509d2dc81a70ab47a41ed29d2e76fbf8f7469cea51aa81d5c6102f45e59cc1743270ee9d64b2ae3ace6821980c2243480e7bbd0fe7aa036a978e4f450bea802fcb10ccd94ee25aced9a88e30e80726c26ee0b1e390dd352492e99a74b182ce9a56e95359fa0000000b01482d88cb8683364d09012f268142cc3b09efe4d65530a84be92aea21282710de751ed2adb07c95a7efa44ee1dc3a233850acae6b7cc43717f67ca4059e3648f3b720afbc87220448aebf96bccbb20604571a18f20fe986e48bdf959a534798a056156ae9c6ebfe4096f63c11033217619d7522db1df30d279b8595c1627688069b2c1c2f62eadaf15147337b690b4b2111c34488fc48bb967296ec3913a6e5c75852298d2b6f33df1ef33f9b007c7c0000000b0054d1dd67b7c7377c3f18a6b6e8ae237c6477744df7520e61248f84f0115f618e457202f0bf01a213d17f284fa265ced93b79369d7391730a6345a2b8d2e791ea4fbe17ac7deb22e2cd50fbe2f2d71f5c6839545240eda7667959fcef398c16f4dc6fb06ad6f9708f8379f4db9612ab50843276daf2a107b11d19e1ff141772e64900ba07e781ca855833b920bcf529d04c4cce561adb065197fdd13819db81b7c961868942da62bfe608583ed9104ac0000021c000000b0031cd4c2fc4aecc27d7bd15b6cc0ec984acba6414a099319076dc33cf6bc731cbdcab962fce0a3a5656f91a1334f4a5c5d492570b3710d2062d0c47792aa87fafdddb249620089b7cd3a5e8b276340d53a7ef733180bde377b42fe37660368b0116bf13ce78e92d4caa19a5020bfe8432fc312888a594e030f22b9e073ac9951bbefc1e2ded787e250d15ba2e2cdd6002cab523f60af3d11a08a5734be4a22d88532ef8cb389ff7f8233d9bd80aadc26000000b01d36fb458b9b05ab25ce8648534c552064c5da7e1d9d72a65475be3c58d79eaa691670edfba923b49241f53a866586761e95f27c7273651cf1944f4bb94fb1b22ec6ef695ed5423040c75e2564dbb41dbdd20a70bd6a159ee558f769d20bde4b5ccfbd7657f587f07936db553638f43a2d254408b00a6f9c71adea8fafb873fe2bdeaf836d0a4253635cc0cf23e679251c3b04f2fe1e24e15757090287dfd82c39cd723b9b56402b9b41bbeab4ed95c0000000b01af1e0ca4bb613dab582eea8a114dbe46facb335332766e4d34b678a0e7c1b05ed1d26c3816629d750ee55873347c9886bace758d36af7e766258742a811cc724fed57caa3ef2943788b50348360e712ef4083ed698ed24c915ae6df8d00a0b0acf58ba83390ee511002d63b0ba551d60649d643ce38d570b74f6d291eb24d956850ddf209539ff9e67e32a51374c4d7064ae2050cd77480e214face2aa545620ea951f5489ea6722ed6af14a2b2fc920000021c000000b019c78acdb55cee3f25d012f7e68cb4a5fbd58131519a74276e686a1d88bfcf6e79b15267b091ace4096679b177f9fefbe2031cf5f0761ea9d7fd0a02812f1c7c96403ebe7f21b91707647b8a8c00c4e39e2e21880165cf406b6c7ba80a4340698dfddefdd0d25df380d307c145b8896c0869b32d67d34f9cde0aea8a76d8693c0aa2e5edc0a4895800ac90935d61a0f805e24f94a7a67515ad85108fe499f87f1b8e5c293f742f845b337624924bd793000000b01a576edb0f449a36efcfadf1721393d0aad0f79b99170ad9f2e4d18bd92827c370b89de7e690928a82f4fea6c0d3fee9f0d09c72f46f5de47e738b7913bd68a0aece0ed38eac0be847004945318a857149726a3d74742c80a774675a4ddb4fcf780c33dc1b8c8777aa2499dee487e8092071e83588deb8260896a74ef6ef9067246f2c5b5d09a8704f879894e7d5bec32c63eb77cf5a2249a740207bfd3461f1df2d683976ec10ac5c381a7c4e6b3e77000000b0202723c2226beb3cc01c25b957e773beed2518b7194fb8eee91deb31e74cfb5ecf180016333c9065097b6db8418b04cf89a4bfc20ecb39ebcf6e5ba7b239b5c43afea01f88c02f0aa10b8aa6da25649e8eda396a45171cd4987fa53eb1079668ec1a32c14a6d4dd407b01bb8919da767106f8526479e1e7b9f0bfafb1d9c91a056fd348b4f06f5dff5f006210c36c97328f875536082cf42c2092e8d699c356f5c58c2d72924c3667a421ad02875975b0000021c000000b02bffda2c3d77dc069f59f177e1de27428a349a0e3b156f9a11514495325e762a0c203989770937bdfa29226c46ef7e814148022c6ef92d9fa13a0346cc709521201ec4435b5040f5f11e5e21ae50b9d205b3ffde7f7dd961cf5abff210f54cc11f8f84eced1a246bdce306df417f0fba132012eab5481d9865d6e6540df29890942039e2d7acf9e565be938f577fafa02639757075e2320b9d455b7c6075555f2ffdc8ef3bc3710cd838af8d54f7afb4000000b022307a768f8ba523a86911c167d4dfb42e1cdb775a0894ce5462b178e0c1a272258547a1b6d33f4037d32b205b4ac4d1d6f54b5630f6b8363f9676b3f406d8146b03500da93dd8a61b39daeead2532200dba710c12b14997c4fde4ab0e887c87783a5f1c1e104f13d324f5cd6e6881e01a2a17dfaa3f96f2c36d46fcbb6859b5488e77996182dfb32667fd23cd357488214b62036a61a45c680996e6370e5cb1b55b3c1a6de67b1a05ef41aa378c9ffe000000b02ef9f04539fc50032b7d2a64f884a1d1d489af2823b817c6174747e52f7cd2279dab0b32855f800f383bf775b22e15fa634a5b11d6d7ac9fc2d0bdceb30d6ad0b4c8ceddfc5119ffe6d3532217d504e91b79788535c49977c9641b00179f5a7d289ba24cc9faeb673c7c34221c9ab55905039f56e1f36863b50285911e956e093f938f243cf844d2064735636f10695b1fcddb7dfb9495edabb454900cbf64d632586c0b0736eadc899e04976d13f8480000021c000000b0227a1137eb376dae22f709f58120eea3e9825dd330f213d11998fc594bddf24b5a5f876d7e69e19683dafb2aae380a5d0c69644bb7657ec4cca86fa2c3e16e46f01d36c622f68071af593b0f67709cf4ee13024cc32382a9cee2ee7c0cfd2492f95d54dbb18edbfcae62e20da3bca0290f2e82ae452b4360fa2f87e0af54dc8cddbe01a9c220dcd0312539c75b4e59022acf3d2fd524b04f4d781ae99c8e8c8a44690e62225aafb46eaa7bcf30081151000000b01a65ededb6fe00b4c0f60bebdf4a0228c9d629e4b4e1ac0594a0a15550bd8c753d527fcc87cd431f31344927b566d3e0d37c7dc24e5b93443558eee01466cd54a51b2784132851ccd5bf79bf74305bb7c1c1f17caba6be3bc5616f1e4a648afd0ae0bc1e462dada8e0d14592423bd6c52b27edfa0d41c720a09284153e5f17717e9ad3fec4b20e6dbf109fe8da73be3221584bcf6709608d97d062b42bd82e64e939d103f74d1194ca1e800267148863000000b028970519b3b912db969eda1ff1db901156b2e16e32194e4e6a07cc8787cd42b9265bfe0f4ec1aa116dc108d8a7fef36aff4f8a293774485992ce809f56f6946de20c105f0bf703bd8634e8f148ac4d2075f4ea9e049b0cc61c4c46a86bf7ae9f422921f8cd7970df362955230b58de230f074b444cf2d051ea90563c0eb4fb47f40d89224b9c9e4416a544c048f30ed716e730a7a47f6110df11c4ba4df6ab5ba343dd9eaf32df949f6e17d31e9170080000021c000000b00ef9a5dc916630244580c28b6324f13ee2c6d71a561328b04c6cb1c180fc72f8f4166dfc84124205aefe85f7552b7232bbfa4610e40fb1627f4dc866d37a4837149d086d570d3fc48e472fa5d629b5de1f08385fbfcd98923b4d3d9103b0f6a2cac66a39e17b73a404aed3887c5289cb1021205df3e4664f326ccfa1f57e5a10abfc3e26c27f5f9df0cf54c8af8251b31bf707c1db8b3e4f8f0c9fe0bb254541bdc1036ded25de2b8f51fe94807da3f0000000b0243ad09a3dd6ecfcd82b8d553787fa3d7d0813ca47b6612defbe8ca6247b22fb9ac435bd7300aea1f10f097141d9857795927676547d2ea0aad12231d71d7cacdecef9e96f1bbd44d01af184d1042a1b9f4d985a05f28383469808d16bb55d907c83749bdb32c43495b6976f8d7b89660ff01d7d985bd369777c0c2f74d2aad5623a4d3bc7a82ea0df2b5c5e66429e522721ee7a98b9de8b8cd5476835a296059d798fecb8196cef6d63664d83765015000000b016f3493c3bdd5a1fcbd46d31c3420dd1859558b195da0d608fb5c9843e5c9da5fcdb2fe119705e6ed2f6139186a5fce0ac4b5ac5a0c3e8da1e375bac1d827b9e79edf3bec0b829b86076d9ff9036595db5781bc47156125af741e9b9160556c6213663e48a500fb37477c307e4bb773618cd3671ca53387834aa0c45549ebb5b2b80d3e611f7f0307157231f7b0ee3cf157adb394b553dca7fa2b22e435048de58f26e7978795449854f2d1a0551810d00000fa400000168000000b00be980787c75d314a3405efd407ea615b3247ae1b9a37a67bdcb374e4528be4f8e95dbbc0944c21f4d04a60969ed9a46aeea8f79c243a129ac838fed1efcb7a7035995d65f639cc69f407af413b5733ddc0e3ae6ff2a0507256c9faa6e5229bffb5bff419e3e03016fc937e88ae49a73032f8447af7b985e94f9ad457be497a68bf69b752685575014852704e15535c20ba0af9e453889140d4b5d25c59160b14e474b1fc1e6f5ab52cf6c5a1181ef4a000000b02c7ff6451f50fe7079b60327312898d98368e996aeecc52fcb4c731079189365c65e5241e7b2a833e678c7fee51f4fb6fb6edd5a6be6433b7a121bde3efb869004cbe6c9fd07a1055014fffba0752dcc9322b6fc33748c8448348d5db703aaccb7be2aa070df943fee615981293d09e52560cb2e98f4d07732a0c6155e011cb6a66982604175f0e77efcff5919d1f3bd1edbe45dd2d1cb472f8c9335e741a742ac7cb41779bc236713c618e12c49144b00000168000000b00a77585ad36899f5b92c754ad7f4905088854bb99a4939541f5f32c453587b7686e1724bb89fa7a3a5da84c62f8bf90fb9dcc4e0f8c96f5f09d9ea8e11bd25f9ce7f1a1fc0ae26d566624ffaa063bd95de851d0871695a2e6f6a48eeee211472d3e476b320cc9594f199075bf2018a9a2dab5876ac5f56603bb9a97273ce83cc3d6344e06803ecc8630b38295e04df7b0e7e346d73ec5babb58d0a7845ce0ae81d654f5430d3c5ceae90a1270d68316c000000b028ebaf035bb8fe6fee877c479caad5dd6e5e2c64d0d7e3b87bec0829a6893d9eb9a2328c9a69c36bd03776e734a7e7a7f1d573aa30bc70c2e406cb30444db5ddae6fc717656ba3286ae3feace47dbdeb1dca3d61774d2e0cc2f06aea10ad9ee5218740388e68f63c40876adb4b2ab7e8050033fc10ce8586851342b72eabf09a1c8e2dd1a06f7bc0abade166d034af6b1ad38eeef6d1fad239153920ddff846f2adec082771f8f30867bf28b5de41a7b00000168000000b025d26f990802b2e1a49d13591dcecd3af01c9e79d2ee00946bf38d80676c591fbd4000b914cffcbc15a1895501abdd28ebfbc19ca981cbea23da0bb175141e62d29ee0236f77d2f0d9c4e89ae6c9b6a4d5e5392b08579d20b29686f48607463dc3549724bbacbc481c3c619cfa4da9df0f5bc272ebca18b04807cf375fc4e327b3ac712f683a31240833aad35850fd2a18f84a2cb37fdff6dfcd3ba99bb23ddf04c2af86d2694b331d9bf9f5293a6d83000000b01f36b6bb542ce45fc2dffa127498058ebd518787e4968604093118e5b0a19ffc83e2950a32ccd08175f8e0236acbf9d80c88fb4cfaa40e2c82f1de2e04bb17f9a60faf99184715c5dfc7c1a7c54eeb5e37aa2bb47929b4c4e1a18fb0f8bd6dc612f1c9f0b359ec50e0b6a74d8f02efef0d12318598a3d5b2f2123da91e5827b7f472241483aabf06ef12dbfb16b040682c7f68fcb87476e08052631bd4c1a2a27e9c408705ceab94b4ba2ae1a1b20d6400000168000000b0221f8f6278198ba788ecceca76d7cbbd3830c7805ba4999c8fc0362a3851622be457d5a5338cabf455131227f2d1d87869f9207a9c84517e17adbdd5262e2693e882ae36dc6f1f9a7672a6a4202d57217aef79db63966ca26ab2c832e4989a1c01bcb09ecf281711a8799e33f53f65d024953861e7a401bfb968b68c2ac5b5fbd85097c80243970f276d4df1af49b6f50b5525978d8581269c9116aa63df31aa9076bae137f1a014897fd67c14e0af36000000b00aeb1a07f3d003ec8274a5dbe07210e38e81fdd579d6bbae8cd16542ed6fb4a23157a660cacde067d160659d199ff30579274f4267c77d493abbeb33328003553d908346806ac69e464ca5b7f4117f5f05b382ca4f23f5f16059196ed2f89f682bb657c3e5e600c64762d43df580e9842c9931d3d88de78a616df4660e2401a34732050fb873031f8ac6795a7f0ade501df96cd663c8127f68a512f41bee4d65e34800ecd394f24932d2492f94df946600000168000000b0053b138bcd0a0798ab1b4963647b21b83f01cd9353ef03e44a9343ec656bbc31c9300db1b3fd8b93107b37814b490cc0535053138a431b9bc8b181e20c5e03c8c5fec1dae12ef96ba59b7dc1b50bef975e01f4b0de31552d2013bda99fd5cb8fcf70066dede64b217605b749c72e8490020c3340b824627775670f37d5280a7a09c29bb1d0c49b591cc516a6138ff26d18a659fc0b1c95021883bba5bec91dadf2b7aee7aa94c4bcc3dc4c2defaec03b000000b00f7e1c11a8ab2e312fa5a22d7b2ca253989eb0ca05e16fa3f6749f2e66cab72db10c7892ba3dfa0c4477b158bbfe8cb92b54c27be1469c00cb7330dfc37a5a1821606955c6f0e136483aa4b0e13781ff1c881c22657f09429fc73e2f468ab1df18ad06ce7e1fc53f892769fce55443572a7d0d3d00739cc5a822fb7dbcf04ec1d3f07336db6c7394b92f8f56631260bd1753132afa88413b88d637e21fdbd231b8559bf564c08c96a443780001909f5700000168000000b02643904c2705d48a738d78f11c34cb102bc4b9eff2821e6d79f521a20e7a0cc7f9cccf362c1137164162516b313e09cfbcee69a332799266022a40f413e8a6803111da18a0399fef7fa602e83beb119d9942f4d98189a2c4b65f5c87f3a48d9767cd5fb34a09257e09e4ee66e11eee152a5a0fb90078c84cf00adcc3bec55c4134b70c5016b9701d590c5ae4be059eaf05f52c8d3fb58ff645f7010d5b3db461ac9412ef38777472cc6338c582e83adb000000b0201aa5bbd702e02e10b5207ca5a82556dd9291c1fa92e22904a1103302d13b8cd1b2d6577688a9555a896608945a201d9fda244982fb779d3e9b0f7739162fbfa5cd0eb15552204fbeaf27585d3a65cbcb3f303b1c19b5d51686d334aa425dc43159c2b6f7e048e5b4b5fffbab673b9b191aad5dbae297f5843dfcdfe6897cb7f779b5894fecef21506c1cc1bc73a16c20c8ec4470d5db1dba82b7d7778ce366cca8cd146b42c8aaf4c51e2c8bd64d1100000168000000b028160d4dff5c55c273a5df698d584cc320f0ad35abe060c76577ee46f816feec1f5f7520008806153400d4db4e54b7344cbd78c1a2dc68b4624873465f483dbda2b06d6638f09296f1b6caff302d104f5596ef1574faa79280816a285b2ad9d8fcc24d92ec9723f3159e74ee4abc58892cabbbd77fd621d6101a7ddd60f9f6466a8b3d187a163b644c0f092762c648322eb53c9ccd0d088065ccec9891e99204a16f5640a095b473b072935cb1275520000000b000169bf0005aee986f74fc0cbac337e63586c62da14eb340fdc30fb7120a81fb1b51c82ebe6b251ab11b4065932fbb14daf8a9677f83234bd49aa3258cfb59df3579fe1bb66172ceab6efe3bcff4fb03effac92ae289342dfbf5861c648c86f079baf5c31650b6529843d74e3790e49d1efc4137003a35bfca1e6aba0754a6d18150ab5abce249e7d70414e3fa8216392b95727fdc066bfbf1b02477471674cc5283bafb5f4a7c9fdff169c03ec7f8a500000168000000b02c00a063922b710a0a62ddc9a8fee36c9219396a10d7341de8f33fadacf2b6df2226eb9896104e07617a9c9063f3406dd3afa4cdbd779db2cd11773fb0e23c32e4ec6f22c5694cf6be420fbd7dd57458446747873c7217168b20beb660b3c2ce1ae097fc64995e23f6ce9c7ae4459730235d4d8f00103752de735676e32f7f7e87bea32c7cfd50c92345be665b2b2db41ad0cc44d2c88c825e810f75d234e13293ff939bfb9c7ce2508b4253cd6a9ff7000000b022c7b319f3f500b218537bbedd2ab8faa0c515efebebe40122283e9d58ad6ef0b4c55b3354a73eee45d5dde53860bb742cefa4c5825228dafce08079be998ffd94f166ae86da4e2838c341c83b8effeb1238eb666fb1b9cba9b2ce903293ce6b8375960f3e16d8f8cf017d41df4a541329ce6d2a707433f89749e3ab0a9c11dd76015422a7f6c292ab78066709fda4ec0546a9bcb100ed63944da306b33277f5deb37de738c928ea6c84d14984dc8fc000000168000000b004481b1254af9ea323d5ea97ec589f2fd4fc1b790e9dc4b8083000bbdd54d2f5d884124789c98eddbdebdaa2cfc8ca408fb03b2196271828745604776cbf5d665cf6dc2cdd42402e6f2f6fb9b826e39fa810067b46120b71e62c4da705def04373787e375861cde645cce389be5d223f1d4129a752a7ba18da091eec27c748e08faa4d1c37fa455d840c0242f7275d8b0f8f427788774cffa619959a61c2d8b4f284fab47cd3edc4f2674012aa496363000000b01e6b5389aea706cc1ab6b5695706e974faebadf46af91a89517a51cf178587be17cdf1905ea8cabeb0f5e3e844baebca392cdb2297a9e8fca0683a2ad97190b1c1a094d8b72bba7e1c9866a1ec6bc273e6108918c4d29822b6fa372140d266d7e44747477066e4e61b75677c63c0eac0175021d8bd834c3acc05340d76c6fc44d6c5a9791bbb2925e956348baf15ac9e199dc4801e008345a07fe6d9c3c656f1b5611198d3ef4edcbe34c84d85ff0db000000168000000b0270c11795cefd839bcf993c17598ec90c350e655b70939aab05e59012c93eb6d93a9bd9442d93a8e99a61dd09c28179f951b21621a86ae7b6432b3da8c345a145b5606427e41894d1809b9383e3b143926f512f687931b5af7b1c8395c881416fc49b933849e74eaa77739843e38978313fdc6266d92935da6ee81c82b543784304616ab4d23c9056486b026fb96b30b10cc9c7184411294302fa32c4b2e52bc1a1bcb6cb89474eed6b9b619ae13ec1b000000b006f65c44dce2ace6b078d691e314baf60025371ecf960daf671e16833cfff95390c198a3b96bd1e74a6f566a58659666f007219fdf6a73833719fe66e9e9b7a507fbf9bd41452a0c2e93a02643b72164a060e65347f0d83980ba0dbbafcf642df3232291847e25d06dbecef1c7047add11f884039164e2f465ee4c56bdc96baa1649a4183b1f5546512d3d17f450c01325d48cc4a25ee63240cfdd952002979f7c019f76a353458e25ad9fa0a1a1c11d00000168000000b00db592ea73ae9416c8e44f821297b50fdd0a6b2377865f1ac56d217a0aad7a6c11fc52929b41ddfe48c61eb34ef4b5ddd9559ebca0f9e55d29a7ac49841c98e4f63cf2a8f1d8fe804ad0af322e998375fe0a577cc3fe7b4a1070f8bf929b5783c4c3b2e01c64d4ebc75e763ea85906f809d40244b323fc6670652d529899941a1c2323ddc55d2898c66480202ff9e5a407c07f1f9f4f678965adfe70b30e7977d1fffe2fb38abe90d724294896c8a48e000000b02408f8099324a15cf6f6743740466673b5cfd19f99006391bd8007815837b1937e90b329d5c407773c1057248f2f1d0355816111e6cbc2c89d1dc291906d3617c2aa0a139ae1f0d17cab158d8e163e8932146c997015ac5a4be10fa11ba1a07a5025fb12108df96e8a7be324fb948bf703f191b81312b635dc11e8b34caf9a29a6b72f7041add32f1f427b935a26b3231d4e2adafddcb0fb515e28231a35a7adb0f969efbc2199a3080b6f0c2bd874b63800000000000000000000000000000000000000000000000000000000000002c000000000000000000000000000000000000000000000000000000000000002c100000000000000000000000000000000000000000000000000000000000002c200000000000000000000000000000000000000000000000000000000000002c300000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000002c500000000000000000000000000000000000000000000000000000000000002c600000000000000000000000000000000000000000000000000000000000002c700000000000000000000000000000000000000000000000000000000000002c800000000000000000000000000000000000000000000000000000000000002c900000000000000000000000000000000000000000000000000000000000002ca00000000000000000000000000000000000000000000000000000000000002cb00000000000000000000000000000000000000000000000000000000000002cc00000000000000000000000000000000000000000000000000000000000002cd00000000000000000000000000000000000000000000000000000000000002ce00000000000000000000000000000000000000000000000000000000000002cf00000000000000000000000000000000000000000000000000000000000002d000000000000000000000000000000000000000000000000000000000000002d100000000000000000000000000000000000000000000000000000000000002d200000000000000000000000000000000000000000000000000000000000002d300000000000000000000000000000000000000000000000000000000000002d400000000000000000000000000000000000000000000000000000000000002d500000000000000000000000000000000000000000000000000000000000002d600000000000000000000000000000000000000000000000000000000000002d700000000000000000000000000000000000000000000000000000000000002d800000000000000000000000000000000000000000000000000000000000002d900000000000000000000000000000000000000000000000000000000000002da00000000000000000000000000000000000000000000000000000000000002db00000000000000000000000000000000000000000000000000000000000002dc00000000000000000000000000000000000000000000000000000000000002dd00000000000000000000000000000000000000000000000000000000000002de00000000000000000000000000000000000000000000000000000000000002df00000000000000000000000000000000000000000000000000000000000002e000000000000000000000000000000000000000000000000000000000000002e100000000000000000000000000000000000000000000000000000000000002e200000000000000000000000000000000000000000000000000000000000002e300000000000000000000000000000000000000000000000000000000000002e400000000000000000000000000000000000000000000000000000000000002e500000000000000000000000000000000000000000000000000000000000002e600000000000000000000000000000000000000000000000000000000000002e700000000000000000000000000000000000000000000000000000000000002e800000000000000000000000000000000000000000000000000000000000002e900000000000000000000000000000000000000000000000000000000000002ea00000000000000000000000000000000000000000000000000000000000002eb00000000000000000000000000000000000000000000000000000000000002ec00000000000000000000000000000000000000000000000000000000000002ed00000000000000000000000000000000000000000000000000000000000002ee00000000000000000000000000000000000000000000000000000000000002ef00000000000000000000000000000000000000000000000000000000000002f000000000000000000000000000000000000000000000000000000000000002f100000000000000000000000000000000000000000000000000000000000002f200000000000000000000000000000000000000000000000000000000000002f300000000000000000000000000000000000000000000000000000000000002f400000000000000000000000000000000000000000000000000000000000002f500000000000000000000000000000000000000000000000000000000000002f600000000000000000000000000000000000000000000000000000000000002f73700000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000003c100000000000000000000000000000000000000000000000000000000000003c200000000000000000000000000000000000000000000000000000000000003c300000000000000000000000000000000000000000000000000000000000003c400000000000000000000000000000000000000000000000000000000000003c500000000000000000000000000000000000000000000000000000000000003c600000000000000000000000000000000000000000000000000000000000003c700000000000000000000000000000000000000000000000000000000000003c800000000000000000000000000000000000000000000000000000000000003c900000000000000000000000000000000000000000000000000000000000003ca00000000000000000000000000000000000000000000000000000000000003cb00000000000000000000000000000000000000000000000000000000000003cc00000000000000000000000000000000000000000000000000000000000003cd00000000000000000000000000000000000000000000000000000000000003ce00000000000000000000000000000000000000000000000000000000000003cf00000000000000000000000000000000000000000000000000000000000003d000000000000000000000000000000000000000000000000000000000000003d100000000000000000000000000000000000000000000000000000000000003d200000000000000000000000000000000000000000000000000000000000003d300000000000000000000000000000000000000000000000000000000000003d400000000000000000000000000000000000000000000000000000000000003d500000000000000000000000000000000000000000000000000000000000003d600000000000000000000000000000000000000000000000000000000000003d700000000000000000000000000000000000000000000000000000000000003d800000000000000000000000000000000000000000000000000000000000003d900000000000000000000000000000000000000000000000000000000000003da00000000000000000000000000000000000000000000000000000000000003db00000000000000000000000000000000000000000000000000000000000003dc00000000000000000000000000000000000000000000000000000000000003dd00000000000000000000000000000000000000000000000000000000000003de00000000000000000000000000000000000000000000000000000000000003df00000000000000000000000000000000000000000000000000000000000003e000000000000000000000000000000000000000000000000000000000000003e100000000000000000000000000000000000000000000000000000000000003e200000000000000000000000000000000000000000000000000000000000003e300000000000000000000000000000000000000000000000000000000000003e400000000000000000000000000000000000000000000000000000000000003e500000000000000000000000000000000000000000000000000000000000003e600000000000000000000000000000000000000000000000000000000000003e700000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000000000000003e900000000000000000000000000000000000000000000000000000000000003ea00000000000000000000000000000000000000000000000000000000000003eb00000000000000000000000000000000000000000000000000000000000003ec00000000000000000000000000000000000000000000000000000000000003ed00000000000000000000000000000000000000000000000000000000000003ee00000000000000000000000000000000000000000000000000000000000003ef00000000000000000000000000000000000000000000000000000000000003f000000000000000000000000000000000000000000000000000000000000003f100000000000000000000000000000000000000000000000000000000000003f200000000000000000000000000000000000000000000000000000000000003f300000000000000000000000000000000000000000000000000000000000003f400000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000003f60200000000000000000000000000000000000000000000000000000000000004c000000000000000000000000000000000000000000000000000000000000004c11000000000000000000000000000000000000000000000000000000000000006c000000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006c100000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006c200000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006c300000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006c400000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006c500000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006c600000000000000000000000000000000000000000000000000000000000006d000000000000000000000000000000000000000000000000000000000000006c700000000000000000000000000000000000000000000000000000000000006d100000000000000000000000000000000000000000000000000000000000006c800000000000000000000000000000000000000000000000000000000000006d200000000000000000000000000000000000000000000000000000000000006c900000000000000000000000000000000000000000000000000000000000006d300000000000000000000000000000000000000000000000000000000000006ca00000000000000000000000000000000000000000000000000000000000006d400000000000000000000000000000000000000000000000000000000000006cb00000000000000000000000000000000000000000000000000000000000006d500000000000000000000000000000000000000000000000000000000000006cc00000000000000000000000000000000000000000000000000000000000006d600000000000000000000000000000000000000000000000000000000000006cd00000000000000000000000000000000000000000000000000000000000006d700000000000000000000000000000000000000000000000000000000000006ce00000000000000000000000000000000000000000000000000000000000006d800000000000000000000000000000000000000000000000000000000000006cf00000000000000000000000000000000000000000000000000000000000006d9000011000000021c000000b00c77d7eb392698d9125ef123b667158f0edfad557fbb87d95b6b5f5bc12fb29cbd1bc62d5cac6e905ba060e345cecbfbcaa6a4ef4139dc5ae2bf94f91f0b87678e150bd824446273bb52cbf44fefe901840ba238b1adfe60d907e6fcb48a7045a8e24f8104535cd968877aec8b7c433d1fcbf819458a4979a076cf788266106fbf0de6f1bdc442335529fd4f1d38394a000a1a89e54b8c0dfb7165dd8c4baf82fe02d88c6c0ac7fd3845771e9d4837d5000000b0050195d85e7f189134ff9b40ac54d8c09041693812d40e0068c705fd070191825c6509667382689a8f85767848dc9f141dc123f26227663914da38b9095c452832fa74a88433ba0f4b462f0a51a92bba6f8ebcfa9de08ee95aded1be30df03128740bbc7228fadcf0bbe2747e0cafcf02979394a71496f076252cc9fbe9937498cad4a2a87b2fd2144e6e45f56c3c6562d8300e89a89f159fcd981f3cb5e91a2768befed00dc86cd9c2b6fae84c72b5d000000b0116160aa1c1f86cfc25a1225885c11aa86bc3e12e7c6a62bddf4bd8df2f0f011168ae366821d5d7b941c87234110a82cf046b9367588bc1bc3d446f79fcaf19e01ce9f5a248fd61de0660c850a5436db88167dfb19f778ef77896b9af40609ab71092841bf5ce220d390b1a339342a911c9a4c322dddad0c053628349ac7e4a050a1ad6cce3babc39a46b9a5bc96143e13a13f22b3c6d530c7fb6cd4d4b3a1fc19182fc2036b241e3b18ff5b319424050000021c000000b006e8acfcab21d279f1a0b93b7b622b639f3838413b50df0f35ad714b68f803ebccd497ebba3dffee45bd61f914c8c17fff9b606cc668eb4957f36a89a5767bfe00fdba6fb0da358d0e54bc4d82993dd9b1c559302430115eac2ea7a2f84b3b27a653c908047ec1c9267cd5074da1051f0846fd4784f203c302a5265e055b78e4e686cc808a1918d1a707cb84d93f26f10877e7bc87de08eb8f06aef47d6fc89bf889442a6e933a8fc38487a96bee5e7e000000b02d6460b979aeeef53d2f1c33b491fbfbbf866866db6702787fb1093737f69478551da33e9978790f579b966e7820ddcfe0618134028844ab3ffb8057cc8d74a44768b11964b7e6cf49ba71d1bd53e33fa133a6d495b924a41169c6a8349dbc5c9eeeeb05457f60d590a75d71e1d1dbc2186d2dc4738231b6a122eaf0f522b7dfd54af41944c256105f44a294f4b1a6b50cd749a430bc9fb152b10c5402c5f6b6d737c5c781758fe0da6a53287c8249db000000b00208d2a9fb84acc10d78e3a412784040469cbb9aff584067e9525324a8f3ee150e891e3cef52fd286ba9d0c14b3b841ff1389b8b19f32958b0cde77e8c8c8367e4a016d877151072c6b8f39805d85bb695b01ea77c1526d847d7d6709169bb9aee11e04501517c60368fe03aea1f6f7b202d06b90b5351fac4fbeb5503be18d04afe82d372a47cb5a9f60c14acdc7b2918bc7a71f8b4bc9c36034cbbd430ead15571cbf77b141e965f4f530aabbbc92f0000021c000000b00d9715788a7e3c8befba67486d2e2f66feb0bfc6920cb4dfac18b7c833c4b34038316874f0a08c38749f10c10770db93d21296c7ced29cc7c028ddcd5b769a36b1def2d5fcb9a097711b5f335e602de7defe86542b06406b6fd15564de7723083532afb89e1f422e210c85d7233d8eff261b98c0ceae82339e4ffccc29962d3213ee4f9313570c0ae2cf99348883fe56159e75f8e81add49546537afb2c9091a7655bfc2c4bcdbc8ed2599bcc32db2a8000000b01a7de2a31c14f8cf225c585db714dabdb64f4c6fdbe44511c99514ac1afa20f0b5446e5f68318386a1d8e6555b711628084895571d56bb30373280daed3e8cd2d40981614c64bd1b77ea2a1a6d33a8583413444064f83ca11f42f7bf3c10acf0288ce28cecc3b1bacd4398b01ca0cc200664aa2d09e3c8bd9dce2ae9a3f1c1b943b0ef690515b4d9670477c342a3b2da24bda3502da4c124222069d70601e79833493014bde5b12c6ea867613c3de601000000b01ef77adc51525cf3bdcd1d67fcf37dd8e9d3bcd244caf03c42c27282a251158f44c672efc3b2a4a89b5a3697de164e37a2ce0d47da073ee0dae591a57ff3b9bddf554f07590257ff6fb21870b3df46bde3e4e1cb4ecf8050221b125b7a1876375b3d4f4e05517fb70600aed3b36b753d0774d4cc5ba26c60b6246af51a716ea478e080acf9a6c979f9df1ac6d92b75cd18daf730a73191bf4e32537f48148b33cb6ea2315efba8184b79045bde2fcbae0000021c000000b0026aa26575f7bbb37c424e24767e2f5cfbc69494af03ffe85c89632a23a57c66cceca6e2787269c34f08474d231029d8bb5762ede9ab097a05569a9ae969cd77ded2f2234dafd7ab135958d8b94ae2c670d9042556e1c7ad05a6b20b17822ee291ff3bb131b5e6df6b026fdfb02b1c8a05f0648bce45bf37130b00360d4efa9a9083daab543270a25d3ea76a0f233dc4182165f84235328ced9c33474cabfa37394363dbdaa5606a148d50d8f236dbad000000b016432b54afdf6ee64311d6a70049bd01b6a5c1d4d041c14649dc0a62aedead71b183ff2c796a59ab479ce37fcf3132d724a3627e3cc72638330740bb96f934197cb0e7559c23aa5f1851896ed295798223789074c336d9a94bc90a089346df6103dfe57b30cce033da1f51e58258bca3096bc612922d1ef6dceea50af26051a876f3e68de9ef9fe8049aea41fb2947ba2a9a312b7093aed093f9299d953217df350a6ca5bfc0da80c29eba24d3cbb10e000000b0295c7158d8f114408163e4865e0d8ad3b1f93c1dbaa1aa17a67618f8e620e6bfc227abadf4abc6a562b1e2dc4914f4568d593a063ebce6202475e9540065ee609790e7c2502a396fbf491de32bebcd4da6a94e81b8844015e4548c1bb3eaf82946e5974135c2eb0fcc07ee0890b4c9690ff74e4b9fab0569a05f887fe895405f2331749a005e5742c0bfb0f1c2ceaf400d0b267b27e0c8f40d83d46a3a02e649548c21ff707449f1a3d03e35c31841010000021c000000b02bb13d208669b258d9a255457cfabfea0ebc1f6c7b966ca4485e256a789169a57d79cd5fc173311f1b538ec12b94e4f44cdae125f180cf30e5ffa627e8a76f2c51f1f55301da99dc6b3382a8d3490d4527888fa5d8986e785329eefafeb38bfc364491d678da6ec5b4e9714a0fccb1ec073cfdc40283c3bb1a03ee2b46390312b40b4d90bdab8c3047529d7c4b54b95618a0ece9192bebfa02e090b3cbe12a277f4cf8f4ed0d70709fe52e0d39cdc855000000b01030e613b354b5e42db5950b6d9d65233044e206714638258e66434913a2fa922671ac6724a588e4c4cfcef8fbe4d097c4e5cd13c46d6e2243d531d68edc5f1adbd731e3e64476dcd046c3dc168feb506946f3e69f273663d30271577d8aff780864ed2491780780e7d863e742d109960f06392068de26ecef7051186a74969301930d2bf7364681ec531c99d5b48d620f6fc38ef1b739aef88b63798d5c57869aa0410f90361c995ec33fb1ba6199c0000000b004894672d3157d6f3858cb09742e2c29729c716ae12acbeb74f9676aa0ef02ee7017b2504a5d7751d637ac4fbb6d874a91ea3c3e1a6da7d436699bf05809f9334e8ea2773723d4d5ef7a104a08781a5cfa4bfec12dd2c72041089c8fe6d29d817b0be3986610001cf8c59cce8fdd26951d56ae3d43cdc3df7940ff03f8cfbc0b951f57478b9b82e814fa2a195e75eba50a18a1cc2a9d3e99fa87f3cf8d94b7d64e0113dba9b727df975b895a88473eef0000021c000000b0234371ac5536a37017e018eb6675c7fe09d861cef2189c39f21b04674ea2366536849d845c0a23837eaa0f4b4467ef862bf2398acb1e39255084cafca2300a217f5a7ca5c192a263829b5c42d91e1eb3f203ab1c542b5c20c3d773027ddeade600f41504b007fd12e64cbd3b26dea6b2056b6e01f21f2de8c5a8f1116b1916cd76ed8823d3cbea44b1c11ab20e1b45a52186acc770be00ccd0a87e755aac4add8ec16d1f49eb98315acf43c836e8a30a000000b00c2b725aa06ac6f4211752c35d98934a85eaf65e7a7d5c2e429221026171aed79742812eab8dcb8db9f54060ec1c18588e87db112896ab74019ddf1896f38d97c9cecbec61579262cca1d2174b89ecf54efbc5846d9190e7f2145e54f384e50e5d21bba63b600db0a39d275e6b42e013053cc3ea1166abe2c7ff54d4c8cf2634f2ff6575d9d02e136777f216fdf64e942d08e2d911d2d247499a15fc4b42e71b45961c84b20052cd54a4278e516b16f3000000b00e9c4d50ba53dbee425c65d190d2395e88964cf907bad685bad3b0de7471ef1fc2c7e5c65b10a4708ce455498c0149a181044a24cf1421353215cdfeba9fa3122fb9a90a9e83307c0b597455f91be047d5f04c1cfdc03973edc067482fb3f96b3b4b66a23d6824778e523cac5b8c2eb30f095379980abb19b9e4f7376e9aea1960fcf818de81aa9d448eda1e1c85cbd825b4db14f5244f50091eaa882b8ad9128ce745c933bebd439a878d24f28023350000021c000000b017ec78a3f1071ebc4805b563427a2b6b9975029730c729fef6a3d9f8290058298f8b4b54446e7ad6722b7d9d47992c863cb71c60b9d5bd3b958ceea607300a6151752f4487bad46399d029cae5d42ff633a111b616a7a6acdf2cfd6d14a3e7ce55bafdeea049b2040dd9c8b6561f751323a2aac869e80244f1d55d01a8da15018d48d687dc2906191500efa6fd2da21b160c5c7b98f9cde7f346d3875e3c7dc7e563cd2c88657d25390892a650dba2fc000000b02f315f2a04ebe6b02157887b6e1ec2072a67364948e38f47124bb6d0bc6fa2c193dce69e529c5514c552818e74ffc870ab22a963d8bd1fdf7b4e3bc532091d37f181aa855cbbe4324e0e0b8acb2c62b1193fa8037877acf43c2dd1f22b88bc1d5236ba98a44b7a3131edd842ce4653cf0e6e637f023e8be7411015dc7869bb10f64ea970c47db0f2b6575391c32d6874301eda97b0811c91fffac746d886aa3530c57ced4ee6a9cb5efc105d2aed12ae000000b0131bdc9d374b91d8a6a8fd3b6c82db3f1b00cc08427fd518f599f1e34de9f1496e7c18a4a1dfcde8441a896d4be70ea82ff3118a73718580aa1aceb2e594ca56837545dc55023ee52602877dac66bb061d9c0c0ed1f44afc457afc6cd86cc807ca03074af0a7d8b01cfa597a89e8a3402e4ceb496fdaf8080dd3b5e2cc8bb0b372971fe16cb26978677aa502190252732b59752d829e01c5ac2b32a9b5312f4595d1eec23f757a1cd0db8d248f05bb830000021c000000b01d3e8d70e46b8a2b45b9c7609f4b046e339503b6ce8e3c4f0e4facc21c3b0a9d49c2a09c9d904c0e9f8beb4327ff8ed6e7b416d8397f7ff26942dce88308591c95b08b27a3e2c55a364efc8d74d0464fa33f02e0ad8ede159d05b86e4d86c68c1b04ff5fda9e4b55486c4b41a8b430aa2415b91e17eed2c8332bb38276802849701929f1bd172ac685b59174bcadc7be21447750ffc2607b3006d25412983cfac03447cf100609e027380ea6e7972018000000b00bad00ff7e807d2b05228b49ad36f6eb5847007a0bd26b410971f01a0b7727005ffb6b3bb19f6913e543191183a622356c80ae1656f12f6fb3753787ff334dd3f62035449c1ae9e3217dd8ce84ec350fe75a2eb55d05a9f9aed6e0c80f4d17cb06a1b587838326e5a603f70983c748500f5a09f7724fc90460715783e31f051dd27bb24bcad844c49ca12244036e2b4228e95b98a503928bc93a9b5a0ad98878d767895fb54e9974d20bfe2c31800ab9000000b01018327886a00f42fe8c79a16789ede40b6dd4b086a367d77d47b63f2d76e6fc27e22541cd75b182908573c021a1505730db9476395d3e83c3fab9eb8ffa04e75d6b9c12636655cca4ce1fe4f02efbbbf422412cc27780b0524d23105e81ed4aaf715e8d2b6c9d2f8600d59f14fead1b26dd5dd80b301d48969fcd4e64b44d16c6bc7996b4adadc462355cce7c98aece276288a28ff36160f71d7ac73007d717de3c44a8eb1994e0614b2eaefbd1201300000fa400000168000000b02e53cc2e959b5991cd8434ab398d8118753e10f68351c41ebd47b6ca3725023c6c98d541b28a93a86653aa1b3086e49fa7f1cdd1b379c6e3ea546e47cfeb26410712d1290e306a359d39927a6b47227476ab0f0c40b6434b2492c0f60b8dea60638a21389f18c24b0587c729e1e355aa2b2a62d6854c251b2c4d5e1457c40798c909bf050ff587812e851536682698472bc436942bd48ded830670ef11ffdb4a22f42082b40b125d594de0025b4ee885000000b01a523baa508bfd891d931f1c1ad4360fb3ab453ed4939a87005ae59f2147853b633210e56531ea02dcd462231b3c672209a37e288af7f704436ac6014f646b87e2baa3cc049afebd7b9d048b2158fefff9d032ebd9667250d0899fb76bbb4d0a718093c2f7de489c2e4adcc977bad02f1d2e19bbee24550095a44b16c2b3ea3f5fecccfdbc10818ce2aa1b8bea566c030ed5e4ec4d0f2f0d86c92634a3d1c081fda6626f3fdb96790afef968640eb38400000168000000b02425af46dc2acd339174ae1af2e06f211a5c45763580dca7b749711d844fb76624325218dc4c015fc1d716a6c3da4eb92aa72b0cf74fd93ac01786d940ccd7d4ef9c20009ae330a2a8480a336c3ec531f8d470d6311b8cb8c8e6a889f50438908e9d8f37fda162f865137c7beb127a6e2ff2d133314a44a1c172ce42e877dfc747e9b70c858a31376b91464b4dadc8ba01dfdfe735b0f360d836b849245cf40d270b18dfcfc55638a1b8e87bb2c5325f000000b02dbe84bb328e7ab57b714c1543bcbbf00aaffe4d36b19dd68ea286ca748808ff0fa102501dea804babc5a66f5055e6aad2026a4a5a2eb152379ebd757c8a0dd456f8ee2aeff1dccda2c178bdb14d0da2c271644779341af0c32d93e9e6ade3465f5b7ed610f05dced9d42519dcaae51d1fc59c50c661dee0a81b545bdf24c5448d582238e59021a3e80fad947c7b13321edd5daf9117dd4d0da358947edc22b28eee1137a881e0093223e59db961e43500000168000000b0186a35911b5eb53e2cb578e331d72f73ebd6f51a5c87b3c98d7e0f2e038af2111d548426dc7eaba7b7c5ac5328f6827be2fffab9119b5aec90dbe0b64586647aec546dae64cba2ece5fffd066e4d5855883f659ffcec76669d503b705146a388f2a1d10d34ddcb3c3b2b1883eb269d081a36fee1cd77b4ef5d00b4953428c8bcc7ef56ca45de980d9f817e3423622f240b8058750e2ad2ed80b7659857ba40888426252620734f1c87e25f908a359863000000b0107527a1e018eae77b3fb740a8fbdc7b32178a08542a28b276dee78d3831f2a126061ec6b80d61fd20e43f0786c64505a16f25e6d33f0b29753a8cf6bababe0eed794cc516249ec19e2cea3839c62f11d20d563a811831bcd1a888ccf731d1cc2badc307b58d793b25bc0f4805f73fde0d5ad0af48b8fa9e9515197e802e67678b0ea482ce38f9e2f22e32b2e72a92ef129ff5765d13446669260bc323aeaec3dfc478a47b7c9aec583909ed0573d40800000168000000b018e223e6337e07211c6e9890747db4b66a522bbf068afb1d9493b89e1acdfbd97e0da0f1b5bda2a97a7a5e8f52c81efd3a1ffff231c765e5cd5cbf78a9a9965e0e6d2d868d13fc35b6dc4a2c11aaca144a8c1d92287dbaec1746832dac384a2f518c6da8d26173d2fd6c0547f9602853303219ad96836b9fbf7e32f1ff75f8c20dec0f63e3811f6d5528bc6e589a945d02f957b68a49b68f009c4b6f416749c6cc1587d753f4d01b585c766bfecc34b7000000b02ac4635caf5abf91e5928e4388f0677097a98060bc7df46f924c6a6654922f0246e5bbd74ada6bcc317bba9c4d40a831f8eed2eb838ba03d4f406a40ffeee875594624889e52d49dae93d11407c754dfc872fdef69b1c033ff4a3eb8d033288f54b34917aa0ed0cd485617c4979ed71c203c7b0600ff1895c6e1e0c5828c9d67b5e784ee30d8dcd0dac8919472596291263e29fe317a946389ea707d87533fdc8e3aea1ad334e7bd0c9ecb5008928ac300000168000000b005fe40d78289f47b4d95fe5e3cf0839d301f2e9a50fa8d06dbfb5eda2475604e2494af8725ca0d81689fbec3f9f18533375194e495c04927ab274e1ddd0d2d27550e660cd9e168f336a303a423231f9139c9b05f16445c2610b939870534e3ee13d1dc2591be40027c07d4a4dc91e594151cd42f90ff96c7e6d875362a0d79e052568a9fc713a7f0b175c0a7f816b6b605f60d17d0a006b41f18e6729d6b69597c96716ce660783f9e7bd728f06e27a7000000b0300f78b2674d8c2f428fae5c36251157678821f7d6984220da470634058cb3e3579d91813af0769a9995ff01c8b490f2b0d0db3a2b8c83438a0af2f69ab30c94b3f2592220cc9e8251e532b4d4c8ae09816ecd5b7bdae6522f35ffd43ff43780459ba865fe40392c748171ea009f70a32f75d58385652ad4f7fd800dc493cc287f625ab88f72f00d60931f2cd915d6b0224b24a7ec1e0d7fd3aa874b02c72f1cf847cbaad53f0e6f310363f66f4d809400000168000000b0295036b8bd0886320bedc84f57a2d1d2d38e4d57609c0b8f4c623cdda86b808078f16bde22376da8ded68a1b8cda424871f0a6b5f5621f357d9f36ab61b02b01ae8554cc947e673265c6387ed4b80a5a743f8c556085812351cf837570db689c0c14e42168c6da7df8fff524d49917fa2fc094503e6c8fa4fe78031bcc62b05177508433300d4156d8165286c634de881f671d02e9fec98c54c2474edfe2c85626a3071d8fbe0bdec82d26f7126ab13f000000b0084d4b252ef3f85af8fb57d6c8b8338ef9b88a46882383bde7b46ee7afce9d0a65a113e31bf394473cb39a1752f7cb7e67ba7e169d49bdf3dc9f1f150148447b4f8229bedc5dbe3b6032cd5faa6564bec63a7daa8a77d0156373b79220457d2139367ad119d4c51e39fefd93832add4d2fe9a0b10f1772a48d97feb526edad61da07ca6ed06bd37908077db1edef506a0662aaba5ff4507eac520379c88c7761327f36229d8b5e731900c1876669c6da00000168000000b0247aabae040e5e90fa6c50358e1ba1647ab4086a4705024f79d2b440797df85bf477f67df0b0e67623633cef4403a1b30410cdfc5b618eb9391a75729324f61d46b4d6f28fa83c38a8f8f82803b1097ac5a660ade3b4bc979277fa55f1fe4213cca4df01ba057ddfda864ba72c63f5c511f2235f8e0a57d6f389a8cf15e97a77561694686c756a3139892a347e060d6e2d6921a50e7b3167e03f0ede61e1c37ae9e6d19980fabff538bde379aa246998000000b00c49104076f214b351d20df5cf85c25935eab0b9ff596b102681a141000f26b895af9cc408eb13496a9d9ba6d877e85b79f7927da31fbfb9fdb16967254e1470eb718dddd4c65be219184e66e00af1e171ba655980526f8cf9a87262c136da58c5b4048c984473c142df4453092c1be126cfafb9fdb0ee914cdb7fa65501dac958713c97f2b3dce5587cc0c0b905b1780a0c2b20e72c09710d64ddb8b42f2f325e09c1222d67aea56464b12af1ba807c00000168000000b01ca125a3b753a8d5e7e2744e735af335a98cf3e074af189403f2036f4e47a49a074056160249549e2d892e8e5e6e687fb89f90bee31338eeae08fdd1c167a1c9d739fec23ba485a4fef7009559ba3450e483a1e6a3c86d2ce783b517f6492ff516e479f0f387c8446524598388a026d01079280ef7a44fcfba33755709307d2ebc91f8bb26cc44321e1cf469ac27a0bb23e48a29d1a57a94c9344c6cdeb11f616a165b05fe7570eb1ca66f67ef5f5eb0000000b00caabb130a43b1d07ecb1c6228903629f18e325e24652374b9bcaf620b9589539a80f4cab47cefc984de7add4f545924c628c889ade884d9dcd1de5c9800e3ba503365dcacaa1c0581752acd60078252adf80fe90b70903cd00c6520e72c9ffbab2366d015804d72bc0180da2a10b41b1432043cdf87c290806b3862259e4ceae3cfcf7e527174fdf57c4bbbd8416ff716d5497e8faf5d77e96717c5b811921d85032d078b49fc29e8c856f32f701fe900000168000000b021b822c561a421d886806d39b974f57638e506742ce1bb8b9534153e0f6878e5a5cee96655553fbf09f62b852828f9df058644fdacfc99ad533fa7fe07bb2a1ac600d92f29709bb5040789cc71841da32290bdb08a28b95a9c1e07ba9b70df0bac5b290024648e6923a8c7773ca108200106e60657be92bee2c7946531efb81a5d05e88581fb7860c055c959050171c30c18507870fb631be41be1f0e1ce4e9d1c29bbea56431651423b84f3fcf1560c000000b00af1459ff54342b6d7d7139ef08649c60d5c764d0c72dd0b5909a83739ba7816c58ca5af09c2c4d0774becb32df8561bafd962b933442ee4729e4f9fdb72541967ea3cdc51364329c89ff7cadeb9b886a0b56fb45d267789674a062930dac2c81abeeccb2f13d7035a81c3d3f3884ff300cbc82a8b265a0419db73eb268b7ec26d913fe8abc711b3d3b769939605c5af1d93114b40ff7a66fc83b7cce2e9ed09e28d7e216767ffe9ecc84594387f896e00000168000000b027704ef17a3d75c437534b766885855cce56a51200f93adf0d4b90917e2f88c08dadb84c89a2262455cab22347272267b8885f2249010375d1c4d61ee7bdf170c2bb0697977124a09bbd651561306c09b00cc306e71ec34291d7ccc471871fda4ddc00e7c60e5e0b35cb3af8914c8b4e0421ed6cec47a290472975bcf6d85a816d1f0336760a1c4ac22570f67678fcd41554e8408ddc1c3386a11a65ff2df6a65d833d429be86405ddc5de3e4c99d264000000b02c8c4553d16ab76243cea5264ebb9951c8700878aba1d82790895be69afac3efeabf52a6ebc0793a8505e300951c77acb607cf36197c365ae256589adcffc911814307231dae7bc229dd1555ca4630dcf985029154a5aaf2fed90c526fa9a4bc3d6e427498c605f46a11aa397bc3af8511bcc6361b44809aea2136b6471fd165a411fadbac07dd53b18360f8f7f510c314498dba82a4ebc8483ce036f6664c024981303da5fbe9d5246542e275eaa6d100000168000000b0000121f56d361c96aa83886158c06a6fc4e8ba9c09d2c2c6f20d557c242a8b6131f37eaa3d38c76cec0adb3e5d3e0ee9ea1a6a3f63b9cd9c51f8d7eb6f81402faf376a9dad4f8cec5b72d479b09920dd92e9662809c44a2d6d3d988a4ff0afa6fde318b78fe0705b7202a8027078ddd5218e9ad53b1df263a0d077f0e9ff2884769672b2d5ec1e29dd76acac2244e0f51370395362fd68122ded59ed4b9b50b421ce8295ee927578c4896e05d11ef575000000b0294cba3d09cd590da6e07e156f3235d6b6a2693bcf1d2ded9f807d257906fa6aa4978d004921cff47f78381f4e972773f0a6bf68e75d842f131f1393c0a731aa43ef08c269a8ffe660aa62ad9af971015e4a1241b2e8612c8acdb9acb389083923701b9289ee3e0a6eaca3f5864585ed1468ca17d8aa32ce90ebbb7fb0699e5276220b02349ef6ecf01b3524128ea09d2ea42b12ae45abc0ca511dada67c755d32cb60671979d8a52bf1771bfde2498f380000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000030100000000000000000000000000000000000000000000000000000000000003020000000000000000000000000000000000000000000000000000000000000303000000000000000000000000000000000000000000000000000000000000030400000000000000000000000000000000000000000000000000000000000003050000000000000000000000000000000000000000000000000000000000000306000000000000000000000000000000000000000000000000000000000000030700000000000000000000000000000000000000000000000000000000000003080000000000000000000000000000000000000000000000000000000000000309000000000000000000000000000000000000000000000000000000000000030a000000000000000000000000000000000000000000000000000000000000030b000000000000000000000000000000000000000000000000000000000000030c000000000000000000000000000000000000000000000000000000000000030d000000000000000000000000000000000000000000000000000000000000030e000000000000000000000000000000000000000000000000000000000000030f0000000000000000000000000000000000000000000000000000000000000310000000000000000000000000000000000000000000000000000000000000031100000000000000000000000000000000000000000000000000000000000003120000000000000000000000000000000000000000000000000000000000000313000000000000000000000000000000000000000000000000000000000000031400000000000000000000000000000000000000000000000000000000000003150000000000000000000000000000000000000000000000000000000000000316000000000000000000000000000000000000000000000000000000000000031700000000000000000000000000000000000000000000000000000000000003180000000000000000000000000000000000000000000000000000000000000319000000000000000000000000000000000000000000000000000000000000031a000000000000000000000000000000000000000000000000000000000000031b000000000000000000000000000000000000000000000000000000000000031c000000000000000000000000000000000000000000000000000000000000031d000000000000000000000000000000000000000000000000000000000000031e000000000000000000000000000000000000000000000000000000000000031f0000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000032100000000000000000000000000000000000000000000000000000000000003220000000000000000000000000000000000000000000000000000000000000323000000000000000000000000000000000000000000000000000000000000032400000000000000000000000000000000000000000000000000000000000003250000000000000000000000000000000000000000000000000000000000000326000000000000000000000000000000000000000000000000000000000000032700000000000000000000000000000000000000000000000000000000000003280000000000000000000000000000000000000000000000000000000000000329000000000000000000000000000000000000000000000000000000000000032a000000000000000000000000000000000000000000000000000000000000032b000000000000000000000000000000000000000000000000000000000000032c000000000000000000000000000000000000000000000000000000000000032d000000000000000000000000000000000000000000000000000000000000032e000000000000000000000000000000000000000000000000000000000000032f00000000000000000000000000000000000000000000000000000000000003300000000000000000000000000000000000000000000000000000000000000331000000000000000000000000000000000000000000000000000000000000033200000000000000000000000000000000000000000000000000000000000003330000000000000000000000000000000000000000000000000000000000000334000000000000000000000000000000000000000000000000000000000000033500000000000000000000000000000000000000000000000000000000000003360000000000000000000000000000000000000000000000000000000000000337370000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040100000000000000000000000000000000000000000000000000000000000004020000000000000000000000000000000000000000000000000000000000000403000000000000000000000000000000000000000000000000000000000000040400000000000000000000000000000000000000000000000000000000000004050000000000000000000000000000000000000000000000000000000000000406000000000000000000000000000000000000000000000000000000000000040700000000000000000000000000000000000000000000000000000000000004080000000000000000000000000000000000000000000000000000000000000409000000000000000000000000000000000000000000000000000000000000040a000000000000000000000000000000000000000000000000000000000000040b000000000000000000000000000000000000000000000000000000000000040c000000000000000000000000000000000000000000000000000000000000040d000000000000000000000000000000000000000000000000000000000000040e000000000000000000000000000000000000000000000000000000000000040f0000000000000000000000000000000000000000000000000000000000000410000000000000000000000000000000000000000000000000000000000000041100000000000000000000000000000000000000000000000000000000000004120000000000000000000000000000000000000000000000000000000000000413000000000000000000000000000000000000000000000000000000000000041400000000000000000000000000000000000000000000000000000000000004150000000000000000000000000000000000000000000000000000000000000416000000000000000000000000000000000000000000000000000000000000041700000000000000000000000000000000000000000000000000000000000004180000000000000000000000000000000000000000000000000000000000000419000000000000000000000000000000000000000000000000000000000000041a000000000000000000000000000000000000000000000000000000000000041b000000000000000000000000000000000000000000000000000000000000041c000000000000000000000000000000000000000000000000000000000000041d000000000000000000000000000000000000000000000000000000000000041e000000000000000000000000000000000000000000000000000000000000041f0000000000000000000000000000000000000000000000000000000000000420000000000000000000000000000000000000000000000000000000000000042100000000000000000000000000000000000000000000000000000000000004220000000000000000000000000000000000000000000000000000000000000423000000000000000000000000000000000000000000000000000000000000042400000000000000000000000000000000000000000000000000000000000004250000000000000000000000000000000000000000000000000000000000000426000000000000000000000000000000000000000000000000000000000000042700000000000000000000000000000000000000000000000000000000000004280000000000000000000000000000000000000000000000000000000000000429000000000000000000000000000000000000000000000000000000000000042a000000000000000000000000000000000000000000000000000000000000042b000000000000000000000000000000000000000000000000000000000000042c000000000000000000000000000000000000000000000000000000000000042d000000000000000000000000000000000000000000000000000000000000042e000000000000000000000000000000000000000000000000000000000000042f00000000000000000000000000000000000000000000000000000000000004300000000000000000000000000000000000000000000000000000000000000431000000000000000000000000000000000000000000000000000000000000043200000000000000000000000000000000000000000000000000000000000004330000000000000000000000000000000000000000000000000000000000000434000000000000000000000000000000000000000000000000000000000000043500000000000000000000000000000000000000000000000000000000000004360200000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000501100000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000701000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000702000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000703000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000704000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000705000000000000000000000000000000000000000000000000000000000000070f00000000000000000000000000000000000000000000000000000000000007060000000000000000000000000000000000000000000000000000000000000710000000000000000000000000000000000000000000000000000000000000070700000000000000000000000000000000000000000000000000000000000007110000000000000000000000000000000000000000000000000000000000000708000000000000000000000000000000000000000000000000000000000000071200000000000000000000000000000000000000000000000000000000000007090000000000000000000000000000000000000000000000000000000000000713000000000000000000000000000000000000000000000000000000000000070a0000000000000000000000000000000000000000000000000000000000000714000000000000000000000000000000000000000000000000000000000000070b0000000000000000000000000000000000000000000000000000000000000715000000000000000000000000000000000000000000000000000000000000070c0000000000000000000000000000000000000000000000000000000000000716000000000000000000000000000000000000000000000000000000000000070d0000000000000000000000000000000000000000000000000000000000000717000000000000000000000000000000000000000000000000000000000000070e0000000000000000000000000000000000000000000000000000000000000718000000000000000000000000000000000000000000000000000000000000070f0000000000000000000000000000000000000000000000000000000000000719000011000000021c000000b025077967798138da6de5792c9019ccf03b5480604c11508b8656a1ac559f570b1373d2b67018eff1bbd767ef9d93612d593ced07d7e45f0d4029bb3e02a6c02f660c5f7a7680b6b9a863ba0568723ac4c575902f8ed71cb6a1057f5eebef83d3aba174748e2d32496fc0e4da0f2a042801ee7be273ad675f0ff658958a0ddcf2089aff8533cbe5d73eb10c7aa438933719493f5396bdcb35238f9355e572fe64ac133ca4eae11c313fdc1bdcbe3542fd000000b00b862a7a4281cc4fc672c2a0239ef9569a651a31a0b4eb829a741481f72d2cbf5ac0a693e98c54b5411fbbab82a06bd56e8b668b550c82b0420f96baea2fb8fa2ce99d3c41db11e5d6d2f2182db5c5e8ccc7e824fa9f33554b6cdeba706376353ae91caa570dd8980381a26288d9eef4248e67a472dae84dd773a79899024a523f036c3fc5d5f33b362ed1b1d62960f821dc59108c45bd22dd6309ff1181c43b782f545088e6aea094981454598c784e000000b029e8868ece53f4ea907a979b100221ab3163f05c21df8c11224fedb53c4074849ad4593d6219ba1862675f55f361a882735635edbd5dfa1a9b749fd02e39d0a4e3c0f0a06c3058b19960f1fead7ebcaf7ce337054e7c2a0d71743b96028326c0323eae8c14e718ba9e4a3c2714ba90662378f4553f973fa27a042a61645a76a6219ed2867fa0ec13175a8c6ef96c6a2e02060b7a51c51b9df5a7de1f1bd5d75d3e3478227eb2a64d6f6f27c658a465350000021c000000b02ccec9d66eead26c5815c02c7e5e6add99ebac628f3f9cca9e58a18beef654d16db292e89f581e16c240d2dc2153a1845e5a6e991ff3dd85fa0fad34c50aab7497bdcc897dcb7e50ea449ee385c787b2d5eb554701d797b32f87c9c6bb039318cb179736ab3b1e1b7f2d9d35361ca4be1d1041fac7a503f5433ecc8a7f8344ffd99b048e93873580edff446c3c4a933d2cb991018b8875bf502dce2bc4c7c4130e629f2571340c511007492ee43b0abc000000b02b05e0e59c4a18908c3fb56d32bad31a4dc3b43887c4d61ca3fc31996d963044fb266e3b2f1f9a80e21ebacf882bdb1dd894cf81be0037081a6a4e200ecfa77c7f8803a13b51b4db510802e4c3dc27df0f1c214796cf982f6a65998f3ee3b2609a0a8e53cac366073d7b3828c493e04409bc25b5fc4e33097a4c621cd08b7ccdd79fde617c6adb471f6aa83998cc38911e7d90702193bc51f556faef1f4805ccfa7a17c6b4a0881c67a47ba40556d81c000000b021cf700d28dcf8ef2c88129f70f0c662c9aa8e1e8748b38caacd11a64bd682bb5d87c848619b50d051727b0348f010f91727666facca374380f2875c208b8b128431134b2248195aea14ed690fa5acc5b46f25ba66963d181dbb01a71f14d0252c022defc3d68b069a6bf0d1228bf98a3027cd57a6905ce199067f9bf31655bd901194030f43890d5024d772b6f7e9051db35305832c894c9344d3d9a951a829d54a7e19f2abde01eca890dea6b63a9d0000021c000000b01a85c5801793206ac796a254ed3ac652f48fdcda68628b805d671212de3ff5d15a6502e9891f7a67b7825de121308f9ce195fd0b62c47aa9f925a373eef0f7b51622550cce082a31b6637dead29ce78b3113b7bb2bb74a502d34cb97314a1e63b15a1f5cffa015371e156eea888b27062b2da0b1750ce4ed65d9df658c89582c4505184a6ee4d1deca3d863c21ac4bb6248b49c0ab56c43390606dce6b4cf7654f13ba72b8ac3134afe0879902b52afc000000b026824d1fbd544d2b10fc4907eb868da19e501519773c36213e02467a413acc0b7762c1710e1a7a31169fd4ec63d36190008c508e96bf9652c2dd3f478d6d40d4880478bdffd357d042ce2d3200d0942489ec1d1b9af0a13477749a497f9db6f8b9b80d0dc8cd3cabe4bbb86230c297fd29e554ee7deed4948eac6a0b54844320f9fcbba625eae271fcd059e6647024f90d49d400e4081dd6ca92dae52e41f5fa4543774e245af59dc86e1dd0b50b9ec5000000b009f29277aea740c50489e282b6a236758842cd57ee24ec6c9f4ccbe219518bea2e57e14b3f9ec5262c001aa40f760429b6739d22b45992db38fd249afc338f9824d37cb5db4921342f08fd60dc99a7404cc7cd2d54397186f7f7f38b14bd38be2e3bb58997208132bc747700be157f7101ffec90706ca1b110d99b8ee31c0c7c08d7fc62985677435ceadc3e89dc80561f76a430105259b2752a47a4cc32d9f095e50b11bd3682e88c2f988855b0b96e0000021c000000b01570449858a96f120f1516f64d40686cf0a02bb9ab88f8b70d2904effda2eb259fcd34d3ce6d9aec60719ebec8e6366c4890247e74dea4ebd9cb4404c265c8a50070ef3ad3e015b94f9c7c54607cb743d10d8602801bed9360148b3776b0fc5d6e1f7751daf50550d6c3929de2364f7307c1d2afcc080e6ad124675604e6f2025303cf73e67598ceb92ebc62356f30e10353cc42df576b00a14f2139fa598046ab63897d845b272792cac64c6dbeb3d2000000b02cb2ecfd69835f84650ab83c49f8513f3d0ab13115f9b3d20b740b27e92f5c6220ba0b95512616ea880d4bf1b380d1baa6698a7103975b6de9b4993b59b6786ea0911a9300a41470b1b8dc57562bfb6725ded8881f1abdb735a65706c5a37f733880f9837e2508752e35feed294afa9b1b5a36a258b3f78550bffe2370a05f47cfa550395022dded16b2a79ac79b855623d4415470d38382493fb99cfe54c4078db14c4a6819b008c802d7915d1a0a9d000000b00af131fe2500d33b8e89344573cd84c4262ee00fc930e174022f42f2ec916263a46c551d2c40c410a985143a6890ca2fefb884e2e0d39f435c5a81b8b0be399b1ed3c2cbb591c5e4f21602f072a45684e1334d971ae6dde392ebb7a7532479ac632afa3f10760236e5bc5de5d05216be29fbe794bd4cb41b44e75fc7a6380340c322acdf8a2eff0b6d62baf777662e2c19cf4017b3be2b0503a007b8f059d85f508d48393eda1c749162f0b14fb40e510000021c000000b0127b005c569e1adf5d2a9dfab9ab6f974564f4e242a596b5b8e35b715e57a0e95388abc093c5a81c4a99d70450354254ab75874d1b78984197d5907b59e0440f29814fd0f264ed671224cec2a8bc9caff935153ea51a9efecbdd7ab5bbf5f8cd123b3c33749b59b007b9369c0be9b2211961a66c9b64bf360b7fc0128885319ca0e8cd2645768dba3fa6bf2b152d97d207cfae215c83c2831464bd79c5c08ceb1d5d0ca93b2a4e1f73478fc6657f57c2000000b013a5da138675a3a026c4be0d7776410be9bbbc2adfa2889bf787dd7c9f4b10abe086e18e12d89a27898ff857e03974eed5a1c034080b2a7b49d1e7898e34183ea848da7bf2f8ff457768d0a97259cb5cf0f72914a9df0a84bba77c35add7a584183c5d38fb71e512a9748acdcddb8c0b22254c3bd72faa3748b673e7673b1de7fe30e73644012a49ca88a22b71b0401a21b162c552bcd2b1616a7289482e8894497fed051b72a7a0258c70148ff45233000000b01fb8cc5361f2983b79be496b4066904948e00d3a912f9b7f92680df5e9188664f9699a36182db70404f6c2d535d520e84d4c3b4ed0d35341b4d364d0bd3f9b133cff3d93d82681abcc26c1246d40f648041b6bf2c2dad716b57ee28bb7f67069a13bad454d8b0618f671e9205a7b94fe1d55f820004485914b67a8675b142236f404adae7398f720e898218ca3ac36fa2717a9229a3b31fe6a76a0707d26f90e7837440be9c40e2eb7c4680dbdb9f92e0000021c000000b02525a5b818611f9d5a9edea11ea3541dded6ba8c43bf845135c0093bbe773db93fc3018c02fa0d0ab149a764a76936f405ce2b5ba609c8c814e34309fcf120fb6c37fa43cfe0567a5b1d93ab3fa2e42742c6b3896989fb441b7ca625095094e7f4706a2111740bdca93f3d580182d13e10bd957ffbbd7e7267c694c68686e3c1201e2ba8a3816566bfee11ae13e1702f2ef0d002aec6b37dc9a3a63f254781bde3ecd6d5a9106ac95395e39cf1ed9e3b000000b014e009e912406deaec34219387cc732751c50179281faf1cdd8d64e899f637a76220812f8f8eb470311691440e72d1fd86e4e8391341a3dc7a2e6355b11f817aff051b3bf38a4347084d6a0570ae4e7573feac700db352eb6ef204c0ef53b652307042d715482419b2c887a80a8a6f3f1ffddefbb746a5c8d54361a832988a6a892bfecc6a8187b67ca7844e3932227206d224b38f7a05afacfb69a3e7be5821a502ad5564873b974ecd704ce72598e9000000b02449ff77714993ce2280d5b7fd195515c6011ecf98b3617b3da8de0a2a383c241b450737db734a96daa1e3b866ddbf838c77abb05b8b842a14445ef5534868d32c37c40a7bb76870a7cf6767fb2ff57882af339817bd17351427f985da72a25307f2336dc9155591a8ca723664d0eb1d0b372a89b76a39839e3819039da104430b5d94b597ae27bfc25a423a029145ed1db4a4d7726ab0d746fa963904a720b8aa3780193738a851d383d464f4e25de80000021c000000b0161d7390c97159883096cc01c7d4d74e1098343bb671cc46a2653510da847f7b5efd8097c83ba7ab65037a5d97bf48adcc587c1fbca2939360bdcb957ea861e1d4619ff35cfc8e4dafd7d58d67b568dbd017f57eb8ba4f3ce3889c1d798daf7fdba6508afa3d8035a3660b9cbd4793330615b65c4babe3b5a1a7a3958f3ac7fabebd8555a9a449bde9aebdf72395b2860fdf894e9157f2e681380d523518ad750fcf4280b0c11d5545deb8fef8bae4bf000000b0081d1444425bce241605d9ca100faa738e60158c1714413db028e8b37b3d856ca6df8afe1e02e84e01ee31f54534221ae373b812854641f754dba91ecbf655f93b13db35f30b20c7cb7d0e112bb272b18ecce06bfc7b500ca371c3d14b3d81b2e213897fd11fb6b5ea2319a9009f0bac0a8be1a53a07a770cf2e3425001ad5dbc3812602652ddabcb35e10d40995dfb90ba767dc4f2019cc67552f218de477716ba11d2d98dd37dc751ceb3f7cd1cae8000000b000ba2d49742982c327c7d0fa18d2238bea06ad7c28d93c77b3f672278137476842eaf42b3d8fc3fdc4b82090988b6deea881bc825b5656b791870ac41dd4a301d2faa37ab5eafc375e93379684ebed387859ce9b42426dabc8d2bb901f4795fdde343e2f9c7acdab5de697883afcc52a1dcf20a48a604150e723f4b3a78eb82b21b7048d8f3b082923e2f5025e75b0a109521a0943968a1e22fb9a8531f02a801f98913ba4a5fc5d2303201f9f90f6e90000021c000000b017d50174e350df23065b68c6cf85d789bc6ec662b6d159b296b63eaec4563c789222783f969a42a81ede4afe8963a59b0de29f9c1b10fcd3c4f603fc0d97c851aeb6611510d008781614e3903222d3a4fe9fb877a446880b0cbfd5537ac7c20d3ed263a33d3b8f1f32d223bf712b42c120787936e6c2c89d988d1f78fe35f16c0a8b36d0bac9f3e82b81cdb68cc8bd12142ea9517d1d606aa3cf2fbf23e45564fd642ff7e7e2cdae5a00a91a1d8430bd000000b022b131f1dabe46f40a673ed3f435bcf88880f2cd53ab632fdd556e67e228840551296afbb2ae2de996586a738ca805a09c13aa0aae9e9655a1cee2e91c62aa0e91e7b8a9b1215b12b045623b47897b9076bee31d5efa8ae57d145c47cbd682deb6c572beb846c41a1e90552b5d8ac90816a7bfacd4893642add66efa5620bbdf69d2f5595985a2366c4e8f41a3a2928f13f489742c4c4c8ba5ff781e175a098e7e45de5cbd05e081118dcb0e54ec7d04000000b02eb1f27f429dc39f4ef1431a426f99ac5aaf0bdbb1b8ce909180094744a7528968e5ae0397a4d30b86424856bf7eab6f62e5fe36db26d64095d7deff5f913f788f62cf5c8cf58f4bdde5e6ca9eb7ed3d460976fc612161b36e47bd8a2af1eb0268749a633527716bca6584362a1b67fd0a50d93c52f72a1feb33f77c94c66c9588c1f7da3ae5a25894bd394e2b2eb29f25a38361ae29beb96195b5a729ce7558580e35a22f7342c61509255981e0a5c800000fa400000168000000b004e81c9521cb3a5bafd6c0345eb9d4008d359f64730174038a20cabfbe7a7d6b5d4e613f4a0332eced12c4e7e2bf10b28ccfb93dbcc08fb4ba6c600c3e3ddfdf67c92df7c56ac7f41a8fc303551073c4d861b875c5899ef38279540c9f061cbb7cf7b46838d695a2e469cf4bbcc8770623e8357837cd6033a2c450e530f1c8aa0951a28048e46c8e64f966278a4f56882db3652c70c211fdcf9c88448a284efdcaa3c8a0e0d29a5b64efc59efefba141000000b02cec80e09ca510bfea65afa6aebf0b0e1909a033c6d08d3288a03da901f742b789b98bd77db0d138e58511ee89f29bf2da161acf8c25aefb02e155ec1f117aa89d8ce213c461a0079b3749495a7a872a1a1310ff2e36c523e9d5f07138cd071c962cfba2d7af16390f80bf090416da7308560af9a0a5594f4ebad901619c46ad94a232f0aa2cb628040f49ae123ae9011cd60913a84d40f2defb3ee3b298e4536406e89e46c31e39001d8d2f2d9853a100000168000000b0253f23fc0c002215c10ce5f2f1ddfea3ad0aecea2ab03c6b7ca2c0b3ab3e549dba91a783db2406ddddbc9909554fdc648d79cea000fae491cdc5268b4e3f66a28f3d54f64a0dfe3c40f5efb69902cb68a094ba5e7f6dd9833cc1646bbfab2855909e3ef60eb943a82081ec981e59a02d0c6f0c14b5ba458cc371df67c2ad0bd7b6c020c951242934228d638957e1772f0b9a3ae78d91052b2f3b0e62b9c733add755530086a0319b6502c8e1f5f47ef3000000b00f631a16a37e1b1cfeb0f28da056dbe8ab2c642eb271f1bfb8798b352eafac8898231e447fe3e03a2fbbe638cef19b587161339a2da35bf52411fd10e89c174a756736cf31f7a5ca524340f48f830c11a361e8bca5714eaeca1e75e486926a2dcad63fb5215d58bd2ef7ea933c8829d40eac8c5cd5f4a36591f98350d6dbe8a9b39b2451b86fd2d5983a86b435e9d10e2fa4e9a5705e31d5f1b29ec203dc730f23fd38ca39001f07571539a416d5b7c900000168000000b020f01a804f4e9dfdaf18f8dd4dd08a9e32010bcfc2651ebc3c101978d1e1329680619ddb9a79efb82f83604f6a97ed145033f29a3d6de11d5d74e3f78f5a25515353f25f58d1f8e7e04f319f1c04682f77ef5c4e3ac078463fd0b18badac11060cc05c499c2e69fcff40db494f6a14bb054ee7a1aa56b806639c8ed4968c4b8f3851af0a81e3735801a0611c5e90795819c6c372a407a4a00e8ab03181dd693c60320bc3f38abfaf2251fbd90c81fe7f000000b012d987b06c6f6fbd63906ffca52ba7eddde23c5f335dbe0e01575d765e51cb9ef5da7ac7ef0ed74fce83d9180e967ace736794857c64a8f473612e804713fbeb1992189de90b902a075130d7a64d8534670ec93f759b4738d1eb0b74262f286bb36b11f54142fe4f8a337f66a998634001e8ddbe638b3acabaebcea87352201df8ec0906e507033b23bc8f9c0c34278a0f3f85ce152e564d1703130eebae9a590c112d03186c9724c314a3a68d60f42e00000168000000b01401a7be5a4a19c14efb404441be20869d3464c4b3d25acabb46e54a69fd1d3a1935c540da787dc7668524f5aa99e372adfc6ea4bcc0ff8ed692224067ec493bfa5335ee9f296d5749662077be7f5bb0b878501c7d8796788e5d4ba98874d48a68ce52dca1f1d1815a3163b3eda1b3f22f116bbe85bcf19e6eedc842b978cf8b9d5584a26411aa3716bfbdd586d7482214584e761188ded81e77b1d14607f8c422023f3ea89236e6209bfde3ee0a1ec2000000b0099f8e4316bca4c9b1c5b2e3f7cb36e6f520cedb415880a4ca4cc9fe0db3fe204154f358ada50515ae1ad01b9ec47a9e44f24259c772c586e2eafb3b062ad997963ba9c0ecbee77f0706d634992271253dd5d7f207157debb1b09d19c5f26f43333461b26aa3470f762298e0d78009d21d8fcb3680831e06b406fa6354dfff9d3551408b538770b1a1a13b2db8a9b51a298aafd955206077f0dbb02c595195523b2f018a146bbfd8aa5033c186a1b2b500000168000000b013ad259afe21e58a40e6c10e1ebea02e6f47c5e0992c21f632e72eccdc8e5efa362349bd4a6191902f19fe1a4e04115a3de1ec18c96ac26ea2d2c4adbe2e5325020be37fc7a2fff2e8aa920481846b0a480530c12b1a53d0274304e87620ed91649fcb76825eda009df8680424cf4f5a0025363eb601138d803967b683324dad4e2396a79a6da05026abf7436a35737826e616e17ac46f865b3d673d4d16e45ce0295538cdc9d82c39fecb7d30c6ed43000000b02cd3e5cc8448c47f0483947d67fc98d5b170d00f4645bd20558fafaa53efbe90124f1036a3fc97c5b495a1d7bb59ebfb25ebf2a014fa79f8c962372e01cce5bba988fe23f896f905373f0c15f87d5444e62ee642f6bc5aab6827a1927a02dde9e17402d6d61b291fb656a207f0cd00f91dcf38f39cd9d4d02d55f361022ece978646fd530d0bd8f6abf37b76b5b80f910c093a18185e13b0d86005f99c0f92fccf0b5795d28b8248ea9381babe0bf7cc00000168000000b02ce43bd19ad1249edc9d1e32196c3dae72168617b14c5ef0234c4393c460924faf31d9c5285e1148c2de0391e60c7683c15fab54f75529d55ff0292c266b09988d853104603fe59737ac8d688bbc951ac4f27ab759c3969dca5d58cff318ec83124455d243dfdf753cdec33ef01603b22b0ad459bb47bbd2c0f8337b32543dfa2a47f479bff3b68fa1815eb93f92d9312e96122cda651262b60be4a3471d03ee134a163bf5cafa662362932c22522d1f000000b026128fcb3c3b5dd1675a6e95006bd8cc689bf6562c65b97f8bcb80638cb28571b4bc752e0d1a9effc7a600e95ca6a3d6189f7bc4b9ea70b99c1e8d1af46f57690b34ed1aa60042c4761e2db6934bf8586d7f033eea674d329644a8f7b308133a601ad4611563300faa7853adf432aeab2dced4fce9529e102e6a32784c05802efe0ce17c158b5596904ac1a6def6b200230b71fc53303d3524d0043a8fa18f7a321e9e64f4a173133f60ab3ca7b475e400000168000000b00a2e875052c951800268e930066a018bc5463127d5e9058099291b45b30eece786cca005f78ba1a06a52e72b87d7df8d5f998c0df3d7a6a0e6b601608cff65432b37c01cf4caae00875583b33a9c5f05b4da81f25d790b3b88813f17ad0adf30531bb9af5ba5b97962f0a5ab77013bef2fee41c7a8c40261c693f9615ee348f09948836a3fe8ec417bbd4037425492e119a2f39556380e8e59bc86193e02baa82d21fd8d2fa9e8d8ca8e69407c7c5376000000b00695490eb1a79999a58fd2b3b98a9a5f386fc1c01c2b0c50272e27889efd377cf42ad735afd2d0b56b4fb964e9900c2328872e1930ac1e82d4b217aaa32d2c079a58fbdc15b5f492966d8c0f805557a5ed1462368e87f796d54a5bcb50ab672594107cd445237b7e85aee0cee4170d9307c76a4c4f8c9642e37fab9c8a7b1c46441aa635058b677928247c6092a4b110268b212d1f1697dc7d333215f0da64b35e7bea9a39593babb4f8ecc52dbdfe9900000168000000b002bb68f5550be0e7ffcd2a43dcf0d266b00b076afd7856d2e286a49b5beb80841230f6ba2f4a213262939f521c1f747a9846957fec086f95f6680c8d9f7c9c5a123597367d052feb9c36f70eec31d05feb0d141224a95aa237b13fe4700fb8aea763e09749588beb6f8aee7f99f66102086582f0b3fb621aa4af32995a96daa9c55aca376720f36819a1d2a36bcdbc25210ac83ed5a20dd69d170a0010a506f6dee00d75046816aeac48c7a2d4335b3f000000b009aea66b22d90adb6431eb0677ac36e685f7a2202ed2eaff09fe81edc678e8165dd42adbd0472e4009585b1b1f3360ef32e9399fd150a4f9c5058b195a12444884ddf0f11a0af641e9300fc49523aa226d588a2f8334c2496f6d23a1247d94c0d5b23b40ac8020ac0ef07f932f67f8f1125d7f68a91dcf5a1c45c8a7a5eeacd480b6f7bf37c3bfb212bd3b5486a2f18208784c7a3c8a9137b1ba5a3fe6098a12b81d40e945b3a319c659d040fab1f8e300000168000000b015b2b402c1cc1ccbe4dd860781b5bcd0a8bfc95e8bcac7ae8655ffdfb874d911750b62b347ec3ac47fafbf19b96461674e9e7a12095998664f7285ed48da6f1c805328fdc236e2efa7e844434e0b6904b43c8ea5ca6db80bb1086c4c8916dda75fa92cbf760efe9cba3b8a0ff4c86d332b2ff91a2cb265555cc7909d1503c65faaeabf1ddd1595f274a9d0cad9344ad5031e42f43714ee1c5afbcfa69238c073d07231d7747a8717213cc5023c5552dc000000b0267e3c8243d43a9c7be186f0228bfd3520f8a312e724fc1629990cf5d11336af11c13578147332e1857e7c56bd2398ea0adcc64dc8082a71ccc04faf0f54ea1a38b30fd9aad52c058795d6913fe36bcdb8d2b44345240aa310ee0b35f7e99f5389433bd43794a19c13942a7047f1baae0417576a9c8aa0cdf84345c8b566ac7314545f0fd9a0298d74370961b27e50a32737603aad4254b1ce13d9a7f4c944f7898701c2a6670422b5834aaa5d523b7400000168000000b028eab05cc7a9ab6bbfa1aaaa57b5706b6c02e6dcb9a3cc520d47796a28c5a4a97d466b0e778091138f978f694405d2b4a82e3282990409daa353503a481ecebd364363974e82c1bab36b6d6637d78efbe50ef393168c6f3572889abd8cbd1ee440cc1fb136e87d1945771b91ed68374f247bbb0e5f0b5d78e00fd5cb3f243a3fbf612653c534dffbcec70d310e8f13a90210f6d2c6f3066fcdd12f53eaf1853ac4708ecafd182ab856314b940c804392000000b022622475377043c57c983d696698537cea86a76317bfbcb7b373be37ce8204bfad6fc9f36f3ca762981df01f2cebe133a617dadc09840d8f43967ff195285ebb0ad643e8ab1722669748bfff113b26d6cb23ec39985618e38e92b1b7a7dd77f49f43e85d99dafc49d37ce00bffd5c8b4135470463b51317ed877176361fad71569048a55e24124014ea30378ab0cb77d2bea46406100696008cc4857faf4a242bfe8bcdfe00803d38e2643b41492c7c100000168000000b02fabb5f4b85cca0af0f6bacd019062a0c06b0e13894a7b1fc0f560ccdfc379bed83d8aee9d171472f051da79a061b81ea4be0e39099c0eec2045ab09e6ad750f33eaf67981d4e90a7c3df52e91c927cdce1e19b0b3d6be84446f5f2236c1ac5dc4edcfcc9b79d272329ff05698716b9408df92f555fcb39424a40da6eaee924df4247e223a0631c51e89f275d02210ec2ab338bae7756575210b6d9bebc630bff5715516087d5c0e58f1a8a8a295a050000000b0112bb40c3b6570ba72939669445de332a18f2014ab4e0c574d7d1747a84f7502d6cffb7017e587d93f103237ada33af7b1209a5a104e3cbfe84cc3d7d38262c9e189da148fe8b0aa70a765284032525d7d3a0f51cc86e8b0c93797f9c465f078aae4e524252c27748379297abe97ed4103e6b94fa6e7c7a41ab0d30ef6a1ad9c5bea35d0ab105d22e5c0841ac1138fac18a9e9e0b1a910e595b3f14c928ee8ad710dd727567f137d4ffe701f36e12916", - "txsEffectsHash": "0x598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a", ->>>>>>> 8567078ca (enabling in hash check in Rollup) "decodedHeader": { "contentCommitment": { - "inHash": "0x12d1f5d62da951978ebb2403a72404552c0095d3ca881525873f8da95b998c66", + "inHash": "0x8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b9049", "outHash": "0x3c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d", "txTreeHeight": 2, -<<<<<<< HEAD "txsEffectsHash": "0x80dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b" -======= - "txsEffectsHash": "0x598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a" ->>>>>>> 8567078ca (enabling in hash check in Rollup) }, "globalVariables": { "blockNumber": 2, "chainId": 31337, -<<<<<<< HEAD - "timestamp": 1710254426, + "timestamp": 1710325361, "version": 1, "coinbase": "0xa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb6", "feeRecipient": "0x15a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb" }, "lastArchive": { "nextAvailableLeafIndex": 2, - "root": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f51410" -======= - "timestamp": 1710844952, - "version": 1, - "coinbase": "0x275dcb8d3b95fac9225dbb076df61c993df26336", - "feeRecipient": "0x1a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27" - }, - "lastArchive": { - "nextAvailableLeafIndex": 2, - "root": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8" ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "root": "0x002112631bea3a8334e954f4de111c9158cafeab265fc94ee695b3b4d20f0427" }, "stateReference": { "l1ToL2MessageTree": { @@ -116,14 +95,8 @@ } } }, -<<<<<<< HEAD - "header": "0x1ba503ae8f13b59815a58d204ca967063570ef165cb4d87b7609bce726f5141000000002000000000000000000000000000000000000000000000000000000000000000280dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b00000000000000000000000000000000000000000000000000000000000000003c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d06c76caee115a61eeb6788977c68a3bea359061b678a1a4f5ffde13e0451717b00000020023ef973dbaa366409f7a01a4ced696227685ce75e57b510d0e7015ebfa72c5000000200231b77b7e0311a71fae5cec0f0281816950f94a24bfc2e67c5ae8619c6ed4c88000002802ae3a1bf2752c8c8bd6741bb3fd0d9e3811dbf7681454436125ccb7afeca31c9000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f0695aa43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", - "l1ToL2MessagesHash": "0xa10cc8559615be5a44cfb608374b1f84fd11cdb5844ebffafd92a77c068350f1", - "publicInputsHash": "0x2fc68717ed22432d1f847c66d73d0bad1bff27fac3e2007a5848fecf97001c99" -======= - "header": "0x11e7d365cc2de848b34f2c761ba0693d51339f8d20a3b7e15506bbce56b08ae8000000020000000000000000000000000000000000000000000000000000000000000002598fc9b9871d37f15d05481ecf87ae1407d326312a67cbdcbc56f36efb666f3a12d1f5d62da951978ebb2403a72404552c0095d3ca881525873f8da95b998c663c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d06c76caee115a61eeb6788977c68a3bea359061b678a1a4f5ffde13e0451717b00000020023ef973dbaa366409f7a01a4ced696227685ce75e57b510d0e7015ebfa72c5000000200231b77b7e0311a71fae5cec0f0281816950f94a24bfc2e67c5ae8619c6ed4c88000002802ae3a1bf2752c8c8bd6741bb3fd0d9e3811dbf7681454436125ccb7afeca31c9000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f96c18275dcb8d3b95fac9225dbb076df61c993df263361a24d8265c991887a0c426fd5087f409a014a446f7233f463211bc7fabe3ff27", + "header": "0x002112631bea3a8334e954f4de111c9158cafeab265fc94ee695b3b4d20f042700000002000000000000000000000000000000000000000000000000000000000000000280dc9d246537063813894f7edb41c694fbd803946807e6e3e875a6bbd91b531b8e7d8bf0ef7ebd1607cc7ff9f2fbacf4574ee5b692a5a5ac1e7b1594067b90493c00faec8dc481e71433eb21f1dd016134bf403950c146783ba1928cddcb315d06c76caee115a61eeb6788977c68a3bea359061b678a1a4f5ffde13e0451717b00000020023ef973dbaa366409f7a01a4ced696227685ce75e57b510d0e7015ebfa72c5000000200231b77b7e0311a71fae5cec0f0281816950f94a24bfc2e67c5ae8619c6ed4c88000002802ae3a1bf2752c8c8bd6741bb3fd0d9e3811dbf7681454436125ccb7afeca31c9000001400000000000000000000000000000000000000000000000000000000000007a69000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000065f17e71a43e0eb6a43e0eb6a43e0eb6a43e0eb6a43e0eb615a9c4f4c75d79ce22330ca2cdb6c1a6ede1f6d94ba28016eeb25e5578913ccb", "l1ToL2MessagesHash": "0xa10cc8559615be5a44cfb608374b1f84fd11cdb5844ebffafd92a77c068350f1", - "publicInputsHash": "0x10740dc03cd59c9c18d6131a243be05271bcaab6df1e15c798c6c2f14d12d811" ->>>>>>> 8567078ca (enabling in hash check in Rollup) + "publicInputsHash": "0x1cf2b46b77f14cccda98bf1892afb0c0dbd3bfb60aefab5c167a0dc479348993" } } \ No newline at end of file From fa70be1bc4ac2f7da8f96a20041e3a6dad398c90 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:26:47 +0000 Subject: [PATCH 33/39] slither --- l1-contracts/slither_output.md | 108 ++++++++++++++++----------------- 1 file changed, 51 insertions(+), 57 deletions(-) diff --git a/l1-contracts/slither_output.md b/l1-contracts/slither_output.md index 3fb86f9058fa..8ff58c771917 100644 --- a/l1-contracts/slither_output.md +++ b/l1-contracts/slither_output.md @@ -1,7 +1,7 @@ Summary - [pess-unprotected-setter](#pess-unprotected-setter) (1 results) (High) - [uninitialized-local](#uninitialized-local) (2 results) (Medium) - - [unused-return](#unused-return) (2 results) (Medium) + - [unused-return](#unused-return) (1 results) (Medium) - [pess-dubious-typecast](#pess-dubious-typecast) (8 results) (Medium) - [missing-zero-check](#missing-zero-check) (1 results) (Low) - [reentrancy-events](#reentrancy-events) (2 results) (Low) @@ -18,9 +18,9 @@ Summary Impact: High Confidence: Medium - [ ] ID-0 -Function [Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L103) is a non-protected setter archive is written +Function [Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L101) is a non-protected setter archive is written -src/core/Rollup.sol#L58-L103 +src/core/Rollup.sol#L58-L101 ## uninitialized-local @@ -42,35 +42,29 @@ src/core/libraries/decoders/TxsDecoder.sol#L79 Impact: Medium Confidence: Medium - [ ] ID-3 -[Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L103) ignores return value by [NEW_INBOX.consume()](src/core/Rollup.sol#L93) +[Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L101) ignores return value by [(l1ToL2Msgs,l2ToL1Msgs) = MessagesDecoder.decode(_body)](src/core/Rollup.sol#L74) -src/core/Rollup.sol#L58-L103 - - - - [ ] ID-4 -[Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L103) ignores return value by [(l1ToL2Msgs,l2ToL1Msgs) = MessagesDecoder.decode(_body)](src/core/Rollup.sol#L74) - -src/core/Rollup.sol#L58-L103 +src/core/Rollup.sol#L58-L101 ## pess-dubious-typecast Impact: Medium Confidence: High - - [ ] ID-5 + - [ ] ID-4 Dubious typecast in [TxsDecoder.read1(bytes,uint256)](src/core/libraries/decoders/TxsDecoder.sol#L314-L316): bytes => bytes1 casting occurs in [uint256(uint8(bytes1(slice(_data,_offset,1))))](src/core/libraries/decoders/TxsDecoder.sol#L315) src/core/libraries/decoders/TxsDecoder.sol#L314-L316 - - [ ] ID-6 + - [ ] ID-5 Dubious typecast in [Outbox.sendL1Messages(bytes32[])](src/core/messagebridge/Outbox.sol#L38-L46): uint256 => uint32 casting occurs in [version = uint32(REGISTRY.getVersionFor(msg.sender))](src/core/messagebridge/Outbox.sol#L40) src/core/messagebridge/Outbox.sol#L38-L46 - - [ ] ID-7 + - [ ] ID-6 Dubious typecast in [Inbox.sendL2Message(DataStructures.L2Actor,uint32,bytes32,bytes32)](src/core/messagebridge/Inbox.sol#L45-L91): uint256 => uint64 casting occurs in [fee = uint64(msg.value)](src/core/messagebridge/Inbox.sol#L64) uint256 => uint32 casting occurs in [entries.insert(key,fee,uint32(_recipient.version),_deadline,_errIncompatibleEntryArguments)](src/core/messagebridge/Inbox.sol#L76) @@ -78,28 +72,28 @@ Dubious typecast in [Inbox.sendL2Message(DataStructures.L2Actor,uint32,bytes32,b src/core/messagebridge/Inbox.sol#L45-L91 - - [ ] ID-8 + - [ ] ID-7 Dubious typecast in [TxsDecoder.read4(bytes,uint256)](src/core/libraries/decoders/TxsDecoder.sol#L324-L326): bytes => bytes4 casting occurs in [uint256(uint32(bytes4(slice(_data,_offset,4))))](src/core/libraries/decoders/TxsDecoder.sol#L325) src/core/libraries/decoders/TxsDecoder.sol#L324-L326 - - [ ] ID-9 + - [ ] ID-8 Dubious typecast in [MessagesDecoder.read4(bytes,uint256)](src/core/libraries/decoders/MessagesDecoder.sol#L160-L162): bytes => bytes4 casting occurs in [uint256(uint32(bytes4(_data)))](src/core/libraries/decoders/MessagesDecoder.sol#L161) src/core/libraries/decoders/MessagesDecoder.sol#L160-L162 - - [ ] ID-10 + - [ ] ID-9 Dubious typecast in [Inbox.batchConsume(bytes32[],address)](src/core/messagebridge/Inbox.sol#L122-L143): uint256 => uint32 casting occurs in [expectedVersion = uint32(REGISTRY.getVersionFor(msg.sender))](src/core/messagebridge/Inbox.sol#L128) src/core/messagebridge/Inbox.sol#L122-L143 - - [ ] ID-11 + - [ ] ID-10 Dubious typecast in [HeaderLib.decode(bytes)](src/core/libraries/HeaderLib.sol#L143-L184): bytes => bytes32 casting occurs in [header.lastArchive = AppendOnlyTreeSnapshot(bytes32(_header),uint32(bytes4(_header)))](src/core/libraries/HeaderLib.sol#L151-L153) bytes => bytes4 casting occurs in [header.lastArchive = AppendOnlyTreeSnapshot(bytes32(_header),uint32(bytes4(_header)))](src/core/libraries/HeaderLib.sol#L151-L153) @@ -125,7 +119,7 @@ Dubious typecast in [HeaderLib.decode(bytes)](src/core/libraries/HeaderLib.sol#L src/core/libraries/HeaderLib.sol#L143-L184 - - [ ] ID-12 + - [ ] ID-11 Dubious typecast in [MessagesDecoder.read1(bytes,uint256)](src/core/libraries/decoders/MessagesDecoder.sol#L150-L152): bytes => bytes1 casting occurs in [uint256(uint8(bytes1(_data)))](src/core/libraries/decoders/MessagesDecoder.sol#L151) @@ -135,7 +129,7 @@ src/core/libraries/decoders/MessagesDecoder.sol#L150-L152 ## missing-zero-check Impact: Low Confidence: Medium - - [ ] ID-13 + - [ ] ID-12 [NewInbox.constructor(address,uint256)._rollup](src/core/messagebridge/NewInbox.sol#L41) lacks a zero-check on : - [ROLLUP = _rollup](src/core/messagebridge/NewInbox.sol#L42) @@ -145,7 +139,7 @@ src/core/messagebridge/NewInbox.sol#L41 ## reentrancy-events Impact: Low Confidence: Medium - - [ ] ID-14 + - [ ] ID-13 Reentrancy in [NewInbox.sendL2Message(DataStructures.L2Actor,bytes32,bytes32)](src/core/messagebridge/NewInbox.sol#L62-L99): External calls: - [index = currentTree.insertLeaf(leaf)](src/core/messagebridge/NewInbox.sol#L95) @@ -155,22 +149,22 @@ Reentrancy in [NewInbox.sendL2Message(DataStructures.L2Actor,bytes32,bytes32)](s src/core/messagebridge/NewInbox.sol#L62-L99 - - [ ] ID-15 -Reentrancy in [Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L103): + - [ ] ID-14 +Reentrancy in [Rollup.process(bytes,bytes32,bytes,bytes)](src/core/Rollup.sol#L58-L101): External calls: - [inbox.batchConsume(l1ToL2Msgs,msg.sender)](src/core/Rollup.sol#L90) - - [NEW_INBOX.consume()](src/core/Rollup.sol#L93) - - [outbox.sendL1Messages(l2ToL1Msgs)](src/core/Rollup.sol#L100) + - [inHash = NEW_INBOX.consume()](src/core/Rollup.sol#L92) + - [outbox.sendL1Messages(l2ToL1Msgs)](src/core/Rollup.sol#L98) Event emitted after the call(s): - - [L2BlockProcessed(header.globalVariables.blockNumber)](src/core/Rollup.sol#L102) + - [L2BlockProcessed(header.globalVariables.blockNumber)](src/core/Rollup.sol#L100) -src/core/Rollup.sol#L58-L103 +src/core/Rollup.sol#L58-L101 ## timestamp Impact: Low Confidence: Medium - - [ ] ID-16 + - [ ] ID-15 [Inbox.batchConsume(bytes32[],address)](src/core/messagebridge/Inbox.sol#L122-L143) uses timestamp for comparisons Dangerous comparisons: - [block.timestamp > entry.deadline](src/core/messagebridge/Inbox.sol#L136) @@ -178,7 +172,7 @@ Confidence: Medium src/core/messagebridge/Inbox.sol#L122-L143 - - [ ] ID-17 + - [ ] ID-16 [HeaderLib.validate(HeaderLib.Header,uint256,uint256,bytes32)](src/core/libraries/HeaderLib.sol#L106-L136) uses timestamp for comparisons Dangerous comparisons: - [_header.globalVariables.timestamp > block.timestamp](src/core/libraries/HeaderLib.sol#L120) @@ -186,7 +180,7 @@ src/core/messagebridge/Inbox.sol#L122-L143 src/core/libraries/HeaderLib.sol#L106-L136 - - [ ] ID-18 + - [ ] ID-17 [Inbox.sendL2Message(DataStructures.L2Actor,uint32,bytes32,bytes32)](src/core/messagebridge/Inbox.sol#L45-L91) uses timestamp for comparisons Dangerous comparisons: - [_deadline <= block.timestamp](src/core/messagebridge/Inbox.sol#L54) @@ -194,7 +188,7 @@ src/core/libraries/HeaderLib.sol#L106-L136 src/core/messagebridge/Inbox.sol#L45-L91 - - [ ] ID-19 + - [ ] ID-18 [Inbox.cancelL2Message(DataStructures.L1ToL2Msg,address)](src/core/messagebridge/Inbox.sol#L102-L113) uses timestamp for comparisons Dangerous comparisons: - [block.timestamp <= _message.deadline](src/core/messagebridge/Inbox.sol#L108) @@ -205,28 +199,28 @@ src/core/messagebridge/Inbox.sol#L102-L113 ## pess-public-vs-external Impact: Low Confidence: Medium - - [ ] ID-20 + - [ ] ID-19 The following public functions could be turned into external in [FrontierMerkle](src/core/messagebridge/frontier_tree/Frontier.sol#L7-L93) contract: [FrontierMerkle.constructor(uint256)](src/core/messagebridge/frontier_tree/Frontier.sol#L19-L27) src/core/messagebridge/frontier_tree/Frontier.sol#L7-L93 - - [ ] ID-21 + - [ ] ID-20 The following public functions could be turned into external in [Registry](src/core/messagebridge/Registry.sol#L22-L129) contract: [Registry.constructor()](src/core/messagebridge/Registry.sol#L29-L33) src/core/messagebridge/Registry.sol#L22-L129 - - [ ] ID-22 -The following public functions could be turned into external in [Rollup](src/core/Rollup.sol#L30-L112) contract: + - [ ] ID-21 +The following public functions could be turned into external in [Rollup](src/core/Rollup.sol#L30-L110) contract: [Rollup.constructor(IRegistry,IAvailabilityOracle)](src/core/Rollup.sol#L43-L49) -src/core/Rollup.sol#L30-L112 +src/core/Rollup.sol#L30-L110 - - [ ] ID-23 + - [ ] ID-22 The following public functions could be turned into external in [Outbox](src/core/messagebridge/Outbox.sol#L21-L148) contract: [Outbox.constructor(address)](src/core/messagebridge/Outbox.sol#L29-L31) [Outbox.get(bytes32)](src/core/messagebridge/Outbox.sol#L77-L84) @@ -235,7 +229,7 @@ The following public functions could be turned into external in [Outbox](src/cor src/core/messagebridge/Outbox.sol#L21-L148 - - [ ] ID-24 + - [ ] ID-23 The following public functions could be turned into external in [Inbox](src/core/messagebridge/Inbox.sol#L21-L231) contract: [Inbox.constructor(address)](src/core/messagebridge/Inbox.sol#L30-L32) [Inbox.contains(bytes32)](src/core/messagebridge/Inbox.sol#L174-L176) @@ -243,7 +237,7 @@ The following public functions could be turned into external in [Inbox](src/core src/core/messagebridge/Inbox.sol#L21-L231 - - [ ] ID-25 + - [ ] ID-24 The following public functions could be turned into external in [NewInbox](src/core/messagebridge/NewInbox.sol#L25-L128) contract: [NewInbox.constructor(address,uint256)](src/core/messagebridge/NewInbox.sol#L41-L52) @@ -253,7 +247,7 @@ src/core/messagebridge/NewInbox.sol#L25-L128 ## assembly Impact: Informational Confidence: High - - [ ] ID-26 + - [ ] ID-25 [MessagesDecoder.decode(bytes)](src/core/libraries/decoders/MessagesDecoder.sol#L60-L142) uses assembly - [INLINE ASM](src/core/libraries/decoders/MessagesDecoder.sol#L79-L81) - [INLINE ASM](src/core/libraries/decoders/MessagesDecoder.sol#L112-L118) @@ -261,7 +255,7 @@ Confidence: High src/core/libraries/decoders/MessagesDecoder.sol#L60-L142 - - [ ] ID-27 + - [ ] ID-26 [TxsDecoder.computeRoot(bytes32[])](src/core/libraries/decoders/TxsDecoder.sol#L256-L275) uses assembly - [INLINE ASM](src/core/libraries/decoders/TxsDecoder.sol#L263-L265) @@ -271,31 +265,31 @@ src/core/libraries/decoders/TxsDecoder.sol#L256-L275 ## dead-code Impact: Informational Confidence: Medium - - [ ] ID-28 + - [ ] ID-27 [Inbox._errIncompatibleEntryArguments(bytes32,uint64,uint64,uint32,uint32,uint32,uint32)](src/core/messagebridge/Inbox.sol#L212-L230) is never used and should be removed src/core/messagebridge/Inbox.sol#L212-L230 - - [ ] ID-29 + - [ ] ID-28 [Outbox._errNothingToConsume(bytes32)](src/core/messagebridge/Outbox.sol#L114-L116) is never used and should be removed src/core/messagebridge/Outbox.sol#L114-L116 - - [ ] ID-30 + - [ ] ID-29 [Hash.sha256ToField(bytes32)](src/core/libraries/Hash.sol#L59-L61) is never used and should be removed src/core/libraries/Hash.sol#L59-L61 - - [ ] ID-31 + - [ ] ID-30 [Inbox._errNothingToConsume(bytes32)](src/core/messagebridge/Inbox.sol#L197-L199) is never used and should be removed src/core/messagebridge/Inbox.sol#L197-L199 - - [ ] ID-32 + - [ ] ID-31 [Outbox._errIncompatibleEntryArguments(bytes32,uint64,uint64,uint32,uint32,uint32,uint32)](src/core/messagebridge/Outbox.sol#L129-L147) is never used and should be removed src/core/messagebridge/Outbox.sol#L129-L147 @@ -304,13 +298,13 @@ src/core/messagebridge/Outbox.sol#L129-L147 ## solc-version Impact: Informational Confidence: High - - [ ] ID-33 + - [ ] ID-32 solc-0.8.21 is not recommended for deployment ## low-level-calls Impact: Informational Confidence: High - - [ ] ID-34 + - [ ] ID-33 Low level call in [Inbox.withdrawFees()](src/core/messagebridge/Inbox.sol#L148-L153): - [(success) = msg.sender.call{value: balance}()](src/core/messagebridge/Inbox.sol#L151) @@ -320,19 +314,19 @@ src/core/messagebridge/Inbox.sol#L148-L153 ## similar-names Impact: Informational Confidence: Medium - - [ ] ID-35 + - [ ] ID-34 Variable [Constants.LOGS_HASHES_NUM_BYTES_PER_BASE_ROLLUP](src/core/libraries/ConstantsGen.sol#L132) is too similar to [Constants.NOTE_HASHES_NUM_BYTES_PER_BASE_ROLLUP](src/core/libraries/ConstantsGen.sol#L125) src/core/libraries/ConstantsGen.sol#L132 - - [ ] ID-36 + - [ ] ID-35 Variable [Constants.L1_TO_L2_MESSAGE_LENGTH](src/core/libraries/ConstantsGen.sol#L112) is too similar to [Constants.L2_TO_L1_MESSAGE_LENGTH](src/core/libraries/ConstantsGen.sol#L113) src/core/libraries/ConstantsGen.sol#L112 - - [ ] ID-37 + - [ ] ID-36 Variable [Rollup.AVAILABILITY_ORACLE](src/core/Rollup.sol#L33) is too similar to [Rollup.constructor(IRegistry,IAvailabilityOracle)._availabilityOracle](src/core/Rollup.sol#L43) src/core/Rollup.sol#L33 @@ -341,7 +335,7 @@ src/core/Rollup.sol#L33 ## constable-states Impact: Optimization Confidence: High - - [ ] ID-38 + - [ ] ID-37 [Rollup.lastWarpedBlockTs](src/core/Rollup.sol#L41) should be constant src/core/Rollup.sol#L41 @@ -350,31 +344,31 @@ src/core/Rollup.sol#L41 ## pess-multiple-storage-read Impact: Optimization Confidence: High - - [ ] ID-39 + - [ ] ID-38 In a function [NewInbox.sendL2Message(DataStructures.L2Actor,bytes32,bytes32)](src/core/messagebridge/NewInbox.sol#L62-L99) variable [NewInbox.inProgress](src/core/messagebridge/NewInbox.sol#L37) is read multiple times src/core/messagebridge/NewInbox.sol#L62-L99 - - [ ] ID-40 + - [ ] ID-39 In a function [FrontierMerkle.root()](src/core/messagebridge/frontier_tree/Frontier.sol#L43-L76) variable [FrontierMerkle.HEIGHT](src/core/messagebridge/frontier_tree/Frontier.sol#L8) is read multiple times src/core/messagebridge/frontier_tree/Frontier.sol#L43-L76 - - [ ] ID-41 + - [ ] ID-40 In a function [NewInbox.consume()](src/core/messagebridge/NewInbox.sol#L108-L127) variable [NewInbox.inProgress](src/core/messagebridge/NewInbox.sol#L37) is read multiple times src/core/messagebridge/NewInbox.sol#L108-L127 - - [ ] ID-42 + - [ ] ID-41 In a function [NewInbox.consume()](src/core/messagebridge/NewInbox.sol#L108-L127) variable [NewInbox.toConsume](src/core/messagebridge/NewInbox.sol#L35) is read multiple times src/core/messagebridge/NewInbox.sol#L108-L127 - - [ ] ID-43 + - [ ] ID-42 In a function [FrontierMerkle.root()](src/core/messagebridge/frontier_tree/Frontier.sol#L43-L76) variable [FrontierMerkle.frontier](src/core/messagebridge/frontier_tree/Frontier.sol#L13) is read multiple times src/core/messagebridge/frontier_tree/Frontier.sol#L43-L76 From c14601b2ebb2e618b7e13a5bfb7d6f066f274154 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 10:48:39 +0000 Subject: [PATCH 34/39] fixed comments --- .../src/structs/parity/root_parity_inputs.ts | 2 +- .../src/structs/rollup/root_rollup.ts | 2 +- .../noir-protocol-circuits-types/src/index.ts | 36 +++++++++---------- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts index 97e895c858e6..04c0a09a66dc 100644 --- a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts @@ -5,7 +5,7 @@ import { RootParityInput } from './root_parity_input.js'; export class RootParityInputs { constructor( - /** The public inputs of the parity circuit. */ + /** Public inputs of children and their proofs. */ public readonly children: Tuple, ) {} } diff --git a/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts b/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts index d906f5d8def8..c2a88501eb7f 100644 --- a/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts +++ b/yarn-project/circuits.js/src/structs/rollup/root_rollup.ts @@ -26,7 +26,7 @@ export class RootRollupInputs { */ public previousRollupData: [PreviousRollupData, PreviousRollupData], /** - * The original and converted roots of the L1 to L2 messages. + * The original and converted roots of the L1 to L2 messages subtrees. */ public l1ToL2Roots: RootParityInput, /** diff --git a/yarn-project/noir-protocol-circuits-types/src/index.ts b/yarn-project/noir-protocol-circuits-types/src/index.ts index ad5ddc87be83..b26ca96c5874 100644 --- a/yarn-project/noir-protocol-circuits-types/src/index.ts +++ b/yarn-project/noir-protocol-circuits-types/src/index.ts @@ -165,7 +165,7 @@ export async function executeTail( } /** - * Converts the inputs to the base parity circuit into a witness map. + * Converts the inputs of the base parity circuit into a witness map. * @param inputs - The base parity inputs. * @returns The witness map */ @@ -176,7 +176,7 @@ export function convertBaseParityInputsToWitnessMap(inputs: BaseParityInputs): W } /** - * Converts the inputs to the root parity circuit into a witness map. + * Converts the inputs of the root parity circuit into a witness map. * @param inputs - The root parity inputs. * @returns The witness map */ @@ -187,7 +187,7 @@ export function convertRootParityInputsToWitnessMap(inputs: RootParityInputs): W } /** - * Converts the inputs to the base rollup circuit into a witness map. + * Converts the inputs of the base rollup circuit into a witness map. * @param inputs - The base rollup inputs. * @returns The witness map */ @@ -198,7 +198,7 @@ export function convertBaseRollupInputsToWitnessMap(inputs: BaseRollupInputs): W } /** - * Converts the inputs to the merge rollup circuit into a witness map. + * Converts the inputs of the merge rollup circuit into a witness map. * @param inputs - The merge rollup inputs. * @returns The witness map */ @@ -209,7 +209,7 @@ export function convertMergeRollupInputsToWitnessMap(inputs: MergeRollupInputs): } /** - * Converts the inputs to the root rollup circuit into a witness map. + * Converts the inputs of the root rollup circuit into a witness map. * @param inputs - The root rollup inputs. * @returns The witness map */ @@ -219,7 +219,7 @@ export function convertRootRollupInputsToWitnessMap(inputs: RootRollupInputs): W return initialWitnessMap; } /** - * Converts the inputs to the public setup circuit into a witness map + * Converts the inputs of the public setup circuit into a witness map * @param inputs - The public kernel inputs. * @returns The witness map */ @@ -230,7 +230,7 @@ export function convertPublicSetupRollupInputsToWitnessMap(inputs: PublicKernelC } /** - * Converts the inputs to the public setup circuit into a witness map + * Converts the inputs of the public setup circuit into a witness map * @param inputs - The public kernel inputs. * @returns The witness map */ @@ -241,7 +241,7 @@ export function convertPublicInnerRollupInputsToWitnessMap(inputs: PublicKernelC } /** - * Converts the inputs to the public teardown circuit into a witness map + * Converts the inputs of the public teardown circuit into a witness map * @param inputs - The public kernel inputs. * @returns The witness map */ @@ -252,7 +252,7 @@ export function convertPublicTeardownRollupInputsToWitnessMap(inputs: PublicKern } /** - * Converts the inputs to the public tail circuit into a witness map + * Converts the inputs of the public tail circuit into a witness map * @param inputs - The public kernel inputs. * @returns The witness map */ @@ -263,7 +263,7 @@ export function convertPublicTailInputsToWitnessMap(inputs: PublicKernelTailCirc } /** - * Converts the outputs to the base rollup circuit. + * Converts the outputs of the base rollup circuit from witness map. * @param outputs - The base rollup outputs as a witness map. * @returns The public inputs. */ @@ -278,7 +278,7 @@ export function convertBaseRollupOutputsFromWitnessMap(outputs: WitnessMap): Bas } /** - * Converts the outputs to the merge rollup circuit. + * Converts the outputs of the merge rollup circuit from witness map. * @param outputs - The merge rollup outputs as a witness map. * @returns The public inputs. */ @@ -293,7 +293,7 @@ export function convertMergeRollupOutputsFromWitnessMap(outputs: WitnessMap): Ba } /** - * Converts the outputs to the root rollup circuit. + * Converts the outputs of the root rollup circuit from witness map. * @param outputs - The root rollup outputs as a witness map. * @returns The public inputs. */ @@ -308,7 +308,7 @@ export function convertRootRollupOutputsFromWitnessMap(outputs: WitnessMap): Roo } /** - * Converts the outputs to the base parity circuit. + * Converts the outputs of the base parity circuit from witness map. * @param outputs - The base parity outputs as a witness map. * @returns The public inputs. */ @@ -323,7 +323,7 @@ export function convertBaseParityOutputsFromWitnessMap(outputs: WitnessMap): Par } /** - * Converts the outputs to the root parity circuit. + * Converts the outputs of the root parity circuit from witness map. * @param outputs - The root parity outputs as a witness map. * @returns The public inputs. */ @@ -338,7 +338,7 @@ export function convertRootParityOutputsFromWitnessMap(outputs: WitnessMap): Par } /** - * Converts the outputs to the public setup circuit. + * Converts the outputs of the public setup circuit from witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ @@ -353,7 +353,7 @@ export function convertPublicSetupRollupOutputFromWitnessMap(outputs: WitnessMap } /** - * Converts the outputs to the public inner circuit. + * Converts the outputs of the public inner circuit from witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ @@ -368,7 +368,7 @@ export function convertPublicInnerRollupOutputFromWitnessMap(outputs: WitnessMap } /** - * Converts the outputs to the public tail circuit. + * Converts the outputs of the public tail circuit from witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ @@ -383,7 +383,7 @@ export function convertPublicTeardownRollupOutputFromWitnessMap(outputs: Witness } /** - * Converts the outputs to the public tail circuit. + * Converts the outputs of the public tail circuit from witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ From c163c63b7a33d89e570d6d26972dd6e9d12b4988 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 13:29:25 +0000 Subject: [PATCH 35/39] improved readability --- .../src/block_builder/solo_block_builder.ts | 119 ++++++++++-------- 1 file changed, 65 insertions(+), 54 deletions(-) diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index 1defe1440768..25de3212c558 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -169,7 +169,7 @@ export class SoloBlockBuilder implements BlockBuilder { throw new Error(`Length of txs for the block should be a power of two and at least two (got ${txs.length})`); } - // Run the base parity circuits in parallel + // BASE PARITY CIRCUIT (run in parallel) const baseParityOutputs: Promise[] = []; { const newModelL1ToL2MessagesTuple = padArrayEnd( @@ -189,30 +189,36 @@ export class SoloBlockBuilder implements BlockBuilder { // padArrayEnd throws if the array is already full. Otherwise it pads till we reach the required size const newL1ToL2MessagesTuple = padArrayEnd(newL1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP); - // Perform all tree insertions and retrieve snapshots for all base rollups + // BASE ROLLUP CIRCUIT (run in parallel) + let elapsedBaseRollupOutputsPromise: Promise<[number, [BaseOrMergeRollupPublicInputs, Proof][]]>; const baseRollupInputs: BaseRollupInputs[] = []; - const treeSnapshots: Map[] = []; - for (const tx of txs) { - const input = await this.buildBaseRollupInput(tx, globalVariables); - baseRollupInputs.push(input); - const promises = [MerkleTreeId.NOTE_HASH_TREE, MerkleTreeId.NULLIFIER_TREE, MerkleTreeId.PUBLIC_DATA_TREE].map( - async (id: MerkleTreeId) => { - return { key: id, value: await this.getTreeSnapshot(id) }; - }, - ); - const snapshots: Map = new Map( - (await Promise.all(promises)).map(obj => [obj.key, obj.value]), - ); - treeSnapshots.push(snapshots); - } + { + // Perform all tree insertions and retrieve snapshots for all base rollups + const treeSnapshots: Map[] = []; + for (const tx of txs) { + const input = await this.buildBaseRollupInput(tx, globalVariables); + baseRollupInputs.push(input); + const promises = [MerkleTreeId.NOTE_HASH_TREE, MerkleTreeId.NULLIFIER_TREE, MerkleTreeId.PUBLIC_DATA_TREE].map( + async (id: MerkleTreeId) => { + return { key: id, value: await this.getTreeSnapshot(id) }; + }, + ); + const snapshots: Map = new Map( + (await Promise.all(promises)).map(obj => [obj.key, obj.value]), + ); + treeSnapshots.push(snapshots); + } + + // Run the base rollup circuits for the txs in parallel + const baseRollupOutputs: Promise<[BaseOrMergeRollupPublicInputs, Proof]>[] = []; + for (let i = 0; i < txs.length; i++) { + baseRollupOutputs.push(this.baseRollupCircuit(txs[i], baseRollupInputs[i], treeSnapshots[i])); + } - // Run the base rollup circuits for the txs in parallel - const baseRollupOutputs: Promise<[BaseOrMergeRollupPublicInputs, Proof]>[] = []; - for (let i = 0; i < txs.length; i++) { - baseRollupOutputs.push(this.baseRollupCircuit(txs[i], baseRollupInputs[i], treeSnapshots[i])); + elapsedBaseRollupOutputsPromise = elapsed(() => Promise.all(baseRollupOutputs)); } - // Run the root parity circuit + // ROOT PARITY CIRCUIT let rootParityOutput: Promise; { // First we await the base parity outputs @@ -223,44 +229,49 @@ export class SoloBlockBuilder implements BlockBuilder { rootParityOutput = this.rootParityCircuit(rootParityInputs); } - // Run merge rollups in layers until we have only two outputs - // All merge circuits for each layer are simulated in parallel - const [duration, mergeInputs] = await elapsed(() => Promise.all(baseRollupOutputs)); - for (let i = 0; i < mergeInputs.length; i++) { - this.debug(`Simulated base rollup circuit`, { - eventName: 'circuit-simulation', - circuitName: 'base-rollup', - duration: duration / mergeInputs.length, - inputSize: baseRollupInputs[i].toBuffer().length, - outputSize: mergeInputs[i][0].toBuffer().length, - } satisfies CircuitSimulationStats); - } - let mergeRollupInputs: [BaseOrMergeRollupPublicInputs, Proof][] = mergeInputs; - while (mergeRollupInputs.length > 2) { - const mergeInputStructs: MergeRollupInputs[] = []; - for (const pair of chunk(mergeRollupInputs, 2)) { - const [r1, r2] = pair; - mergeInputStructs.push(this.createMergeRollupInputs(r1, r2)); - } - - const [duration, mergeOutputs] = await elapsed(() => - Promise.all(mergeInputStructs.map(async input => await this.mergeRollupCircuit(input))), - ); - - for (let i = 0; i < mergeOutputs.length; i++) { - this.debug(`Simulated merge rollup circuit`, { + // MERGE ROLLUP CIRCUIT (each layer run in parallel) + let mergeOutputLeft: [BaseOrMergeRollupPublicInputs, Proof]; + let mergeOutputRight: [BaseOrMergeRollupPublicInputs, Proof]; + { + // Run merge rollups in layers until we have only two outputs + const [duration, mergeInputs] = await elapsedBaseRollupOutputsPromise; + for (let i = 0; i < mergeInputs.length; i++) { + this.debug(`Simulated base rollup circuit`, { eventName: 'circuit-simulation', - circuitName: 'merge-rollup', - duration: duration / mergeOutputs.length, - inputSize: mergeInputStructs[i].toBuffer().length, - outputSize: mergeOutputs[i][0].toBuffer().length, + circuitName: 'base-rollup', + duration: duration / mergeInputs.length, + inputSize: baseRollupInputs[i].toBuffer().length, + outputSize: mergeInputs[i][0].toBuffer().length, } satisfies CircuitSimulationStats); } - mergeRollupInputs = mergeOutputs; + let mergeRollupInputs: [BaseOrMergeRollupPublicInputs, Proof][] = mergeInputs; + while (mergeRollupInputs.length > 2) { + const mergeInputStructs: MergeRollupInputs[] = []; + for (const pair of chunk(mergeRollupInputs, 2)) { + const [r1, r2] = pair; + mergeInputStructs.push(this.createMergeRollupInputs(r1, r2)); + } + + const [duration, mergeOutputs] = await elapsed(() => + Promise.all(mergeInputStructs.map(async input => await this.mergeRollupCircuit(input))), + ); + + for (let i = 0; i < mergeOutputs.length; i++) { + this.debug(`Simulated merge rollup circuit`, { + eventName: 'circuit-simulation', + circuitName: 'merge-rollup', + duration: duration / mergeOutputs.length, + inputSize: mergeInputStructs[i].toBuffer().length, + outputSize: mergeOutputs[i][0].toBuffer().length, + } satisfies CircuitSimulationStats); + } + mergeRollupInputs = mergeOutputs; + } + + // Run the root rollup with the last two merge rollups (or base, if no merge layers) + [mergeOutputLeft, mergeOutputRight] = mergeRollupInputs; } - // Run the root rollup with the last two merge rollups (or base, if no merge layers) - const [mergeOutputLeft, mergeOutputRight] = mergeRollupInputs; return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, await rootParityOutput, newL1ToL2MessagesTuple); } From b8f2ae072a36befbbab691756a14658224c05559 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 14:47:04 +0000 Subject: [PATCH 36/39] serialization tests --- .../src/structs/parity/base_parity_inputs.test.ts | 11 +++++++++++ .../src/structs/parity/base_parity_inputs.ts | 11 ++++++++++- .../src/structs/parity/parity_public_inputs.test.ts | 11 +++++++++++ .../src/structs/parity/parity_public_inputs.ts | 7 ++++++- .../src/structs/parity/root_parity_input.test.ts | 11 +++++++++++ .../src/structs/parity/root_parity_input.ts | 7 ++++++- .../src/structs/parity/root_parity_inputs.test.ts | 11 +++++++++++ .../src/structs/parity/root_parity_inputs.ts | 11 ++++++++++- yarn-project/circuits.js/src/tests/factories.ts | 12 ++++++++++++ 9 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 yarn-project/circuits.js/src/structs/parity/base_parity_inputs.test.ts create mode 100644 yarn-project/circuits.js/src/structs/parity/parity_public_inputs.test.ts create mode 100644 yarn-project/circuits.js/src/structs/parity/root_parity_input.test.ts create mode 100644 yarn-project/circuits.js/src/structs/parity/root_parity_inputs.test.ts diff --git a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.test.ts b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.test.ts new file mode 100644 index 000000000000..8631ac2b2b0e --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.test.ts @@ -0,0 +1,11 @@ +import { makeBaseParityInputs } from '../../tests/factories.js'; +import { BaseParityInputs } from './base_parity_inputs.js'; + +describe('BaseParityInputs', () => { + it(`serializes a BaseParityInputs to buffer and deserializes it back`, () => { + const expected = makeBaseParityInputs(); + const buffer = expected.toBuffer(); + const res = BaseParityInputs.fromBuffer(buffer); + expect(res).toEqual(expected); + }); +}); diff --git a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts index cdb97c2de466..c369424cdc08 100644 --- a/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/base_parity_inputs.ts @@ -1,5 +1,5 @@ import { Fr } from '@aztec/foundation/fields'; -import { Tuple } from '@aztec/foundation/serialize'; +import { BufferReader, Tuple, serializeToBuffer } from '@aztec/foundation/serialize'; import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_MSGS_PER_BASE_PARITY } from '../../constants.gen.js'; @@ -18,4 +18,13 @@ export class BaseParityInputs { const msgs = array.slice(start, end); return new BaseParityInputs(msgs as Tuple); } + + toBuffer() { + return serializeToBuffer(this.msgs); + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new BaseParityInputs(reader.readArray(NUM_MSGS_PER_BASE_PARITY, Fr)); + } } diff --git a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.test.ts b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.test.ts new file mode 100644 index 000000000000..f4ea958145ff --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.test.ts @@ -0,0 +1,11 @@ +import { makeParityPublicInputs } from '../../tests/factories.js'; +import { ParityPublicInputs } from './parity_public_inputs.js'; + +describe('ParityPublicInputs', () => { + it(`serializes a ParityPublicInputs to buffer and deserializes it back`, () => { + const expected = makeParityPublicInputs(); + const buffer = expected.toBuffer(); + const res = ParityPublicInputs.fromBuffer(buffer); + expect(res).toEqual(expected); + }); +}); diff --git a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts index 7a19c37566a1..7f70c6239efe 100644 --- a/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/parity_public_inputs.ts @@ -1,5 +1,5 @@ import { Fr } from '@aztec/foundation/fields'; -import { serializeToBuffer } from '@aztec/foundation/serialize'; +import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { FieldsOf } from '@aztec/foundation/types'; import { AggregationObject } from '../aggregation_object.js'; @@ -29,4 +29,9 @@ export class ParityPublicInputs { static getFields(fields: FieldsOf) { return [fields.aggregationObject, fields.shaRoot, fields.convertedRoot] as const; } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new ParityPublicInputs(reader.readObject(AggregationObject), reader.readBytes(32), reader.readObject(Fr)); + } } diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_input.test.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_input.test.ts new file mode 100644 index 000000000000..1dd76321e0cd --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_input.test.ts @@ -0,0 +1,11 @@ +import { makeRootParityInput } from '../../tests/factories.js'; +import { RootParityInput } from './root_parity_input.js'; + +describe('RootParityInput', () => { + it(`serializes a RootParityInput to buffer and deserializes it back`, () => { + const expected = makeRootParityInput(); + const buffer = expected.toBuffer(); + const res = RootParityInput.fromBuffer(buffer); + expect(res).toEqual(expected); + }); +}); diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts index d38a6f4b1c7f..1c55e5c83bb4 100644 --- a/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_input.ts @@ -1,4 +1,4 @@ -import { serializeToBuffer } from '@aztec/foundation/serialize'; +import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize'; import { FieldsOf } from '@aztec/foundation/types'; import { Proof } from '../proof.js'; @@ -23,4 +23,9 @@ export class RootParityInput { static getFields(fields: FieldsOf) { return [fields.proof, fields.publicInputs] as const; } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new RootParityInput(reader.readObject(Proof), reader.readObject(ParityPublicInputs)); + } } diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.test.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.test.ts new file mode 100644 index 000000000000..97c28baa9fc1 --- /dev/null +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.test.ts @@ -0,0 +1,11 @@ +import { makeRootParityInputs } from '../../tests/factories.js'; +import { RootParityInputs } from './root_parity_inputs.js'; + +describe('RootParityInputs', () => { + it(`serializes a RootParityInputs to buffer and deserializes it back`, () => { + const expected = makeRootParityInputs(); + const buffer = expected.toBuffer(); + const res = RootParityInputs.fromBuffer(buffer); + expect(res).toEqual(expected); + }); +}); diff --git a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts index 04c0a09a66dc..4a73162a6af3 100644 --- a/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts +++ b/yarn-project/circuits.js/src/structs/parity/root_parity_inputs.ts @@ -1,4 +1,4 @@ -import { Tuple } from '@aztec/foundation/serialize'; +import { BufferReader, Tuple, serializeToBuffer } from '@aztec/foundation/serialize'; import { NUM_BASE_PARITY_PER_ROOT_PARITY } from '../../constants.gen.js'; import { RootParityInput } from './root_parity_input.js'; @@ -8,4 +8,13 @@ export class RootParityInputs { /** Public inputs of children and their proofs. */ public readonly children: Tuple, ) {} + + toBuffer() { + return serializeToBuffer(this.children); + } + + static fromBuffer(buffer: Buffer | BufferReader) { + const reader = BufferReader.asReader(buffer); + return new RootParityInputs(reader.readArray(NUM_BASE_PARITY_PER_ROOT_PARITY, RootParityInput)); + } } diff --git a/yarn-project/circuits.js/src/tests/factories.ts b/yarn-project/circuits.js/src/tests/factories.ts index fc4db48d91d3..7f8f327a87c5 100644 --- a/yarn-project/circuits.js/src/tests/factories.ts +++ b/yarn-project/circuits.js/src/tests/factories.ts @@ -12,6 +12,7 @@ import { AggregationObject, AppendOnlyTreeSnapshot, BaseOrMergeRollupPublicInputs, + BaseParityInputs, BaseRollupInputs, CallContext, CallRequest, @@ -71,7 +72,9 @@ import { NULLIFIER_SUBTREE_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, + NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_FIELDS_PER_SHA256, + NUM_MSGS_PER_BASE_PARITY, NoteHashReadRequestMembershipWitness, NullifierKeyValidationRequest, NullifierKeyValidationRequestContext, @@ -110,6 +113,7 @@ import { ReadRequestContext, RollupTypes, RootParityInput, + RootParityInputs, RootRollupInputs, RootRollupPublicInputs, SideEffect, @@ -1046,6 +1050,14 @@ export function makeParityPublicInputs(seed = 0): ParityPublicInputs { ); } +export function makeBaseParityInputs(seed = 0): BaseParityInputs { + return new BaseParityInputs(makeTuple(NUM_MSGS_PER_BASE_PARITY, fr, seed + 0x3000)); +} + +export function makeRootParityInputs(seed = 0): RootParityInputs { + return new RootParityInputs(makeTuple(NUM_BASE_PARITY_PER_ROOT_PARITY, makeRootParityInput, seed + 0x4000)); +} + /** * Makes root rollup public inputs. * @param seed - The seed to use for generating the root rollup public inputs. From 9f4c3ab7aa4893895cbc5e75508177a635fe30a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Bene=C5=A1?= Date: Wed, 13 Mar 2024 15:59:44 +0100 Subject: [PATCH 37/39] Apply suggestions from code review Co-authored-by: esau <152162806+sklppy88@users.noreply.github.com> --- .../noir-protocol-circuits-types/src/index.ts | 12 ++++++------ yarn-project/sequencer-client/src/prover/empty.ts | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/yarn-project/noir-protocol-circuits-types/src/index.ts b/yarn-project/noir-protocol-circuits-types/src/index.ts index b26ca96c5874..d3a28f5de756 100644 --- a/yarn-project/noir-protocol-circuits-types/src/index.ts +++ b/yarn-project/noir-protocol-circuits-types/src/index.ts @@ -263,7 +263,7 @@ export function convertPublicTailInputsToWitnessMap(inputs: PublicKernelTailCirc } /** - * Converts the outputs of the base rollup circuit from witness map. + * Converts the outputs of the base rollup circuit from a witness map. * @param outputs - The base rollup outputs as a witness map. * @returns The public inputs. */ @@ -278,7 +278,7 @@ export function convertBaseRollupOutputsFromWitnessMap(outputs: WitnessMap): Bas } /** - * Converts the outputs of the merge rollup circuit from witness map. + * Converts the outputs of the merge rollup circuit from a witness map. * @param outputs - The merge rollup outputs as a witness map. * @returns The public inputs. */ @@ -293,7 +293,7 @@ export function convertMergeRollupOutputsFromWitnessMap(outputs: WitnessMap): Ba } /** - * Converts the outputs of the root rollup circuit from witness map. + * Converts the outputs of the root rollup circuit from a witness map. * @param outputs - The root rollup outputs as a witness map. * @returns The public inputs. */ @@ -308,7 +308,7 @@ export function convertRootRollupOutputsFromWitnessMap(outputs: WitnessMap): Roo } /** - * Converts the outputs of the base parity circuit from witness map. + * Converts the outputs of the base parity circuit from a witness map. * @param outputs - The base parity outputs as a witness map. * @returns The public inputs. */ @@ -323,7 +323,7 @@ export function convertBaseParityOutputsFromWitnessMap(outputs: WitnessMap): Par } /** - * Converts the outputs of the root parity circuit from witness map. + * Converts the outputs of the root parity circuit from a witness map. * @param outputs - The root parity outputs as a witness map. * @returns The public inputs. */ @@ -353,7 +353,7 @@ export function convertPublicSetupRollupOutputFromWitnessMap(outputs: WitnessMap } /** - * Converts the outputs of the public inner circuit from witness map. + * Converts the outputs of the public inner circuit from a witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ diff --git a/yarn-project/sequencer-client/src/prover/empty.ts b/yarn-project/sequencer-client/src/prover/empty.ts index ea529c3addeb..7ca043c8f8fd 100644 --- a/yarn-project/sequencer-client/src/prover/empty.ts +++ b/yarn-project/sequencer-client/src/prover/empty.ts @@ -27,7 +27,7 @@ const EMPTY_PROOF_SIZE = 42; export class EmptyRollupProver implements RollupProver { /** * Creates an empty proof for the given input. - * @param _inputs - Inputs to the circuit. + * @param inputs - Inputs to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ async getBaseParityProof(inputs: BaseParityInputs, publicInputs: ParityPublicInputs): Promise { @@ -37,7 +37,7 @@ export class EmptyRollupProver implements RollupProver { /** * Creates an empty proof for the given input. - * @param _inputs - Inputs to the circuit. + * @param inputs - Inputs to the circuit. * @param publicInputs - Public inputs of the circuit obtained via simulation, modified by this call. */ async getRootParityProof(inputs: RootParityInputs, publicInputs: ParityPublicInputs): Promise { From 3fd442c14c745d648f07a02e45abd10ffd283251 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 15:01:23 +0000 Subject: [PATCH 38/39] fix comments --- yarn-project/noir-protocol-circuits-types/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn-project/noir-protocol-circuits-types/src/index.ts b/yarn-project/noir-protocol-circuits-types/src/index.ts index d3a28f5de756..cf56cc0b7c1d 100644 --- a/yarn-project/noir-protocol-circuits-types/src/index.ts +++ b/yarn-project/noir-protocol-circuits-types/src/index.ts @@ -338,7 +338,7 @@ export function convertRootParityOutputsFromWitnessMap(outputs: WitnessMap): Par } /** - * Converts the outputs of the public setup circuit from witness map. + * Converts the outputs of the public setup circuit from a witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ @@ -368,7 +368,7 @@ export function convertPublicInnerRollupOutputFromWitnessMap(outputs: WitnessMap } /** - * Converts the outputs of the public tail circuit from witness map. + * Converts the outputs of the public tail circuit from a witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ @@ -383,7 +383,7 @@ export function convertPublicTeardownRollupOutputFromWitnessMap(outputs: Witness } /** - * Converts the outputs of the public tail circuit from witness map. + * Converts the outputs of the public tail circuit from a witness map. * @param outputs - The public kernel outputs as a witness map. * @returns The public inputs. */ From 50a6a487655322c5da2a4ab93b7e5778341e6746 Mon Sep 17 00:00:00 2001 From: benesjan Date: Wed, 13 Mar 2024 15:52:07 +0000 Subject: [PATCH 39/39] Adding base parity and root parity to circuit stats --- yarn-project/circuit-types/src/stats/stats.ts | 2 + .../block_builder/solo_block_builder.test.ts | 9 ++++ .../src/block_builder/solo_block_builder.ts | 46 +++++++++++++++---- 3 files changed, 49 insertions(+), 8 deletions(-) diff --git a/yarn-project/circuit-types/src/stats/stats.ts b/yarn-project/circuit-types/src/stats/stats.ts index 102fb6c6a787..b08b7b50ae1c 100644 --- a/yarn-project/circuit-types/src/stats/stats.ts +++ b/yarn-project/circuit-types/src/stats/stats.ts @@ -54,6 +54,8 @@ export type CircuitSimulationStats = { eventName: 'circuit-simulation'; /** Name of the circuit. */ circuitName: + | 'base-parity' + | 'root-parity' | 'base-rollup' | 'private-kernel-init' | 'private-kernel-ordering' diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts index cd535102d0bc..f6be4cc53d6d 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.test.ts @@ -33,6 +33,7 @@ import { makeBaseOrMergeRollupPublicInputs, makeNewSideEffect, makeNewSideEffectLinkedToNoteHash, + makeParityPublicInputs, makePrivateKernelTailCircuitPublicInputs, makeProof, makePublicCallRequest, @@ -112,8 +113,16 @@ describe('sequencer/solo_block_builder', () => { rootRollupOutput.header.globalVariables = globalVariables; // Set up mocks + prover.getBaseParityProof.mockResolvedValue(emptyProof); + prover.getRootParityProof.mockResolvedValue(emptyProof); prover.getBaseRollupProof.mockResolvedValue(emptyProof); prover.getRootRollupProof.mockResolvedValue(emptyProof); + simulator.baseParityCircuit + .mockResolvedValueOnce(makeParityPublicInputs(1)) + .mockResolvedValue(makeParityPublicInputs(2)) + .mockResolvedValue(makeParityPublicInputs(3)) + .mockResolvedValueOnce(makeParityPublicInputs(4)); + simulator.rootParityCircuit.mockResolvedValueOnce(makeParityPublicInputs(5)); simulator.baseRollupCircuit .mockResolvedValueOnce(baseRollupOutputLeft) .mockResolvedValueOnce(baseRollupOutputRight); diff --git a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts index 25de3212c558..8332b16db23e 100644 --- a/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts +++ b/yarn-project/sequencer-client/src/block_builder/solo_block_builder.ts @@ -170,20 +170,23 @@ export class SoloBlockBuilder implements BlockBuilder { } // BASE PARITY CIRCUIT (run in parallel) - const baseParityOutputs: Promise[] = []; + let baseParityInputs: BaseParityInputs[] = []; + let elapsedBaseParityOutputsPromise: Promise<[number, RootParityInput[]]>; { const newModelL1ToL2MessagesTuple = padArrayEnd( newModelL1ToL2Messages, Fr.ZERO, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, ); - const baseParityInputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }, (_, i) => + baseParityInputs = Array.from({ length: NUM_BASE_PARITY_PER_ROOT_PARITY }, (_, i) => BaseParityInputs.fromSlice(newModelL1ToL2MessagesTuple, i), ); + const baseParityOutputs: Promise[] = []; for (const inputs of baseParityInputs) { baseParityOutputs.push(this.baseParityCircuit(inputs)); } + elapsedBaseParityOutputsPromise = elapsed(() => Promise.all(baseParityOutputs)); } // padArrayEnd throws if the array is already full. Otherwise it pads till we reach the required size @@ -219,14 +222,27 @@ export class SoloBlockBuilder implements BlockBuilder { } // ROOT PARITY CIRCUIT - let rootParityOutput: Promise; + let elapsedRootParityOutputPromise: Promise<[number, RootParityInput]>; + let rootParityInputs: RootParityInputs; { // First we await the base parity outputs - const baseParityInputs = await Promise.all(baseParityOutputs); - const rootParityInputs = new RootParityInputs( - baseParityInputs as Tuple, + const [duration, baseParityOutputs] = await elapsedBaseParityOutputsPromise; + + // We emit stats for base parity circuits + for (let i = 0; i < baseParityOutputs.length; i++) { + this.debug(`Simulated base parity circuit`, { + eventName: 'circuit-simulation', + circuitName: 'base-parity', + duration: duration / baseParityOutputs.length, + inputSize: baseParityInputs[i].toBuffer().length, + outputSize: baseParityOutputs[i].toBuffer().length, + } satisfies CircuitSimulationStats); + } + + rootParityInputs = new RootParityInputs( + baseParityOutputs as Tuple, ); - rootParityOutput = this.rootParityCircuit(rootParityInputs); + elapsedRootParityOutputPromise = elapsed(() => this.rootParityCircuit(rootParityInputs)); } // MERGE ROLLUP CIRCUIT (each layer run in parallel) @@ -235,6 +251,8 @@ export class SoloBlockBuilder implements BlockBuilder { { // Run merge rollups in layers until we have only two outputs const [duration, mergeInputs] = await elapsedBaseRollupOutputsPromise; + + // We emit stats for base rollup circuits for (let i = 0; i < mergeInputs.length; i++) { this.debug(`Simulated base rollup circuit`, { eventName: 'circuit-simulation', @@ -244,6 +262,7 @@ export class SoloBlockBuilder implements BlockBuilder { outputSize: mergeInputs[i][0].toBuffer().length, } satisfies CircuitSimulationStats); } + let mergeRollupInputs: [BaseOrMergeRollupPublicInputs, Proof][] = mergeInputs; while (mergeRollupInputs.length > 2) { const mergeInputStructs: MergeRollupInputs[] = []; @@ -256,6 +275,7 @@ export class SoloBlockBuilder implements BlockBuilder { Promise.all(mergeInputStructs.map(async input => await this.mergeRollupCircuit(input))), ); + // We emit stats for merge rollup circuits for (let i = 0; i < mergeOutputs.length; i++) { this.debug(`Simulated merge rollup circuit`, { eventName: 'circuit-simulation', @@ -272,7 +292,17 @@ export class SoloBlockBuilder implements BlockBuilder { [mergeOutputLeft, mergeOutputRight] = mergeRollupInputs; } - return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, await rootParityOutput, newL1ToL2MessagesTuple); + // Finally, we emit stats for root parity circuit + const [duration, rootParityOutput] = await elapsedRootParityOutputPromise; + this.debug(`Simulated root parity circuit`, { + eventName: 'circuit-simulation', + circuitName: 'root-parity', + duration: duration, + inputSize: rootParityInputs.toBuffer().length, + outputSize: rootParityOutput.toBuffer().length, + } satisfies CircuitSimulationStats); + + return this.rootRollupCircuit(mergeOutputLeft, mergeOutputRight, rootParityOutput, newL1ToL2MessagesTuple); } protected async baseParityCircuit(inputs: BaseParityInputs): Promise {